1 2014-04-08 Brent Fulgham <bfulgham@apple.com>
3 [Windows] Generate Optimized WebInspectorUI in Release Build
4 https://bugs.webkit.org/show_bug.cgi?id=120120
6 Reviewed by Timothy Hatcher.
8 * Scripts/copy-user-interface-resources.pl: Copied from Scripts/copy-user-interface-resources.sh.
9 * Scripts/copy-user-interface-resources.sh: Removed.
10 * Scripts/remove-console-asserts.pl:
11 * WebInspectorUI.vcxproj/WebInspectorUI.make: Added.
12 * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj: Switch to Makefile style.
13 * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters: Ditto.
14 * WebInspectorUI.vcxproj/WebInspectorUIPostBuild.cmd: More work should
15 be done in the new build-webinspectorui.sh file.
16 * WebInspectorUI.vcxproj/build-webinspectorui.sh: Added.
17 * WebInspectorUI.xcodeproj/project.pbxproj:
19 2014-04-08 Timothy Hatcher <timothy@apple.com>
21 Fix corrupt APPLE_IMAGES_LICENSE.rtf after r165676.
22 https://bugs.webkit.org/show_bug.cgi?id=131384
24 Reviewed by Joseph Pecoraro.
26 * APPLE_IMAGES_LICENSE.rtf:
28 2014-04-08 Timothy Hatcher <timothy@apple.com>
30 Clean up old protocol JSON files to better match the latest
31 https://bugs.webkit.org/show_bug.cgi?id=131308
33 Reviewed by Joseph Pecoraro.
35 * Versions/Inspector-iOS-6.0.json:
36 * Versions/Inspector-iOS-7.0.json:
38 2014-04-05 Brian J. Burg <burg@cs.washington.edu>
40 Enable WEB_REPLAY for PLATFORM(MAC)
41 https://bugs.webkit.org/show_bug.cgi?id=130700
43 Reviewed by Timothy Hatcher.
45 If the ReplayAgent is available, then add an option to toggle between the
46 replay interface and normal Timeline interface from the timeline
47 sidebar panel. The option is available through a context menu item on the
48 sidebar panel's top navigation bar.
50 If web replay not available, just show the non-replay interface.
52 * Localizations/en.lproj/localizedStrings.js:
53 * UserInterface/Base/Main.js: Add WebInspector.showReplayInterfaceSetting.
54 (WebInspector.loaded):
56 * UserInterface/Views/TimelineSidebarPanel.js: Unconditionally create the replay
57 interface elements, but only show them if showReplayInterfaceSetting is enabled.
58 (WebInspector.TimelineSidebarPanel.prototype._updateReplayInterfaceVisibility): Added
59 (WebInspector.TimelineSidebarPanel.prototype._contextMenuNavigationBarOrStatusBar.toggleReplayInterface): Added.
60 (WebInspector.TimelineSidebarPanel.prototype._contextMenuNavigationBarOrStatusBar): Added.
62 2014-04-05 Brian J. Burg <burg@cs.washington.edu>
64 Web Inspector: remove unused metrics and commands from the Timeline agent
65 https://bugs.webkit.org/show_bug.cgi?id=131184
67 Reviewed by Timothy Hatcher.
69 Remove the Memory domain from old protocol versions. Remove enum values
70 BeginFrame and CompositeLayers. Remove arguments to Timeline.start.
71 Remove miscellaneous Timeline commands that no longer exist and were never used.
73 * UserInterface/Protocol/Legacy/6.0/InspectorWebBackendCommands.js:
74 * UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js:
75 * Versions/Inspector-iOS-6.0.json:
76 * Versions/Inspector-iOS-7.0.json:
78 2014-04-03 Brian J. Burg <burg@cs.washington.edu>
80 Web Inspector: hook up probe samples to TimelineAgent's records
81 https://bugs.webkit.org/show_bug.cgi?id=131127
83 Reviewed by Timothy Hatcher.
85 * UserInterface/Controllers/TimelineManager.js: Stub out a case for the ProbeSample record type.
86 (WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
87 (WebInspector.TimelineManager.prototype.eventRecorded):
89 2014-04-04 Joseph Pecoraro <pecoraro@apple.com>
91 Web Inspector: JSContext inspection Resource search throws exception
92 https://bugs.webkit.org/show_bug.cgi?id=131253
94 Reviewed by Timothy Hatcher.
96 Fail gracefully when none of the supported search backends are available.
97 In JSContext inspection the DOM and Page agents are unavailable.
99 * UserInterface/Views/ResourceSidebarPanel.js:
100 (WebInspector.ResourceSidebarPanel.prototype.performSearch):
102 2014-04-04 Joseph Pecoraro <pecoraro@apple.com>
104 Web Inspector: JSContext inspection - TypeError: null is not an object (evaluating 'contentView.showSourceCode')
105 https://bugs.webkit.org/show_bug.cgi?id=129857
107 Reviewed by Timothy Hatcher.
109 When inspecting a JSContext, there is no main frame resource, so
110 attempting to show it was resulting in a runtime error.
111 Instead, check to see if there is a main frame resource, fallback
112 to selecting the first tree element.
114 * UserInterface/Base/Main.js:
115 (WebInspector.toggleConsoleView):
116 * UserInterface/Views/DebuggerSidebarPanel.js:
117 (WebInspector.DebuggerSidebarPanel.prototype.showDefaultContentView):
118 * UserInterface/Views/ResourceSidebarPanel.js:
119 (WebInspector.ResourceSidebarPanel.prototype.showDefaultContentView):
121 2014-04-04 Ion Rosca <rosca@adobe.com>
123 [CSS Blending] Add compositing reason for isolation.
124 https://bugs.webkit.org/show_bug.cgi?id=131153
126 Reviewed by Joseph Pecoraro.
128 * Localizations/en.lproj/localizedStrings.js:
129 * UserInterface/Views/LayerTreeSidebarPanel.js:
130 (WebInspector.LayerTreeSidebarPanel.prototype._populateListOfCompositingReasons):
132 2014-04-02 Timothy Hatcher <timothy@apple.com>
134 Remove Input domain from the Web Inspector protocol.
136 https://bugs.webkit.org/show_bug.cgi?id=131073
138 Reviewed by Joseph Pecoraro.
140 * UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js: Updated.
141 * Versions/Inspector-iOS-7.0.json: Removed Input domain.
143 2014-04-01 Timothy Hatcher <timothy@apple.com>
145 Remove HeapProfiler from the Web Inspector protocol.
147 https://bugs.webkit.org/show_bug.cgi?id=131070
149 Reviewed by Joseph Pecoraro.
151 * UserInterface/Protocol/Legacy/6.0/InspectorWebBackendCommands.js: Updated.
152 * UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js: Ditto.
153 * Versions/Inspector-iOS-6.0.json: Removed heap related stuff.
154 * Versions/Inspector-iOS-7.0.json: Ditto.
156 2014-04-01 Joseph Pecoraro <pecoraro@apple.com>
158 Web Inspector: Remove stale localStorage deletion transition code
159 https://bugs.webkit.org/show_bug.cgi?id=131061
161 Reviewed by Timothy Hatcher.
163 * UserInterface/Base/ImageUtilities.js:
164 This code has been in for a while. We have transitioned to Web SQL.
166 2014-04-01 Zoltan Horvath <zoltan@webkit.org>
168 [CSS Exclusions] Remove exclusions parsing support
169 https://bugs.webkit.org/show_bug.cgi?id=131046
171 Reviewed by David Hyatt.
173 * UserInterface/Models/CSSKeywordCompletions.js:
175 2014-04-01 Timothy Hatcher <timothy@apple.com>
177 Remove the rest of the old Canvas inspection support.
179 https://bugs.webkit.org/show_bug.cgi?id=131066
181 Reviewed by Joseph Pecoraro.
183 * UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js: Updated.
184 * Versions/Inspector-iOS-7.0.json: Removed Canvas domain.
186 2014-03-28 James Craig <jcraig@apple.com>
188 Web Inspector: AXI: support for live regions
189 https://bugs.webkit.org/show_bug.cgi?id=130725
191 Reviewed by Timothy Hatcher.
193 Initial support for @aria-live, @aria-atomic, and @aria-busy.
195 * Localizations/en.lproj/localizedStrings.js:
196 * UserInterface/Models/DOMNode.js:
197 * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
198 * UserInterface/Views/Main.css:
200 2014-03-28 Joseph Pecoraro <pecoraro@apple.com>
202 Web Inspector: console.warn is showing as error instead of warning
203 https://bugs.webkit.org/show_bug.cgi?id=130921
205 Reviewed by Timothy Hatcher.
207 * UserInterface/Models/DefaultDashboard.js:
208 (WebInspector.DefaultDashboard.prototype._incrementConsoleMessageType):
209 Use our enums instead of hardcoded strings.
211 2014-03-28 James Craig <jcraig@apple.com>
213 Web Inspector: AXI: expose what elements get generic "clickable" status
214 https://bugs.webkit.org/show_bug.cgi?id=130721
216 Reviewed by Timothy Hatcher.
218 Expose ancestor element link to "Click Listener" or generic "Clickable: Yes" if current node has mouse handler.
220 * Localizations/en.lproj/localizedStrings.js: New "Mouse Event" string.
221 * UserInterface/Models/DOMNode.js: Added nodeId and mouseEventNodeId.
222 * UserInterface/Views/DOMNodeDetailsSidebarPanel.js: UI for new detail row.
224 2014-03-27 James Craig <jcraig@apple.com>
226 Web Inspector: AXI: expose selectedChildNodeIds of list boxes, tree controls, etc., and reconcile UI with childNodeIds
227 https://bugs.webkit.org/show_bug.cgi?id=130827
229 Reviewed by Timothy Hatcher.
231 UI updates for "Selected Item(s)" and "Child(ren)" rows in accessibility node inspector.
233 * Localizations/en.lproj/localizedStrings.js:
234 * UserInterface/Models/DOMNode.js:
235 * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
237 2014-03-27 Antoine Quint <graouts@webkit.org>
239 Web Inspector: clearing the console log doesn't update the activity viewer
240 https://bugs.webkit.org/show_bug.cgi?id=130774
242 Reviewed by Joseph Pecoraro.
244 Ensure we take the changes made to the ivars into account on the view.
246 * UserInterface/Models/DefaultDashboard.js:
247 (WebInspector.DefaultDashboard.prototype._consoleWasCleared):
249 2014-03-27 Brent Fulgham <bfulgham@apple.com>
251 [Win] Correct handling of autogenerated WebInspectorUI files
252 https://bugs.webkit.org/show_bug.cgi?id=130846
254 Reviewed by Joseph Pecoraro.
256 * WebInspectorUI.vcxproj/WebInspectorUIPostBuild.cmd: Files need to be placed in the
257 'Protocol' subdirectory of the WebInspectorUI directory.
259 2014-03-25 James Craig <jcraig@apple.com>
261 Web Inspector: AXI: add support for aria-activedescendant and reconcile UI/testing with parentNode
262 https://bugs.webkit.org/show_bug.cgi?id=130712
264 Reviewed by Timothy Hatcher.
266 Support for @aria-activedescendant; code reuse changes w/ parentNode and activeDescendantNode.
268 * Localizations/en.lproj/localizedStrings.js:
269 * UserInterface/Models/DOMNode.js:
270 * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
272 2014-03-25 Martin Robinson <mrobinson@igalia.com>
274 [GTK] Remove the autotools build
275 https://bugs.webkit.org/show_bug.cgi?id=130717
277 Reviewed by Anders Carlsson.
279 * GNUmakefile.am: Removed.
281 2014-03-24 Timothy Hatcher <timothy@apple.com>
283 Lazy load source code referred to from the source map, instead of when
284 the source code is revealed in the Resources sidebar.
286 https://bugs.webkit.org/show_bug.cgi?id=130625
288 Reviewed by Joseph Pecoraro.
290 * UserInterface/Models/SourceMapResource.js:
291 (WebInspector.SourceMapResource): Set up the type info here so it can be used to
292 dispaly the right icon in the sidebar.
293 (WebInspector.SourceMapResource.prototype.canRequestContentFromBackend): Use _contentRequested.
294 (WebInspector.SourceMapResource.prototype.requestContentFromBackend.sourceMapResourceLoaded):
295 Reset finished and remove the type change dance we had before.
296 * UserInterface/Views/SourceMapResourceTreeElement.js:
297 (WebInspector.SourceMapResourceTreeElement.prototype.onattach): Removed. Don't request content here.
299 2014-03-23 James Craig <jcraig@apple.com>
301 Web Inspector: AXI: add other ARIA one-to-many relationships: owns, flowto, controls.
302 https://bugs.webkit.org/show_bug.cgi?id=130635
304 Reviewed by Timothy Hatcher.
306 Support for @aria-owns, @aria-controls, and @aria-flowto.
308 * Localizations/en.lproj/localizedStrings.js:
309 * UserInterface/Models/DOMNode.js:
310 * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
312 2014-03-21 James Craig <jcraig@apple.com>
314 Web Inspector: AXI: Expose Accessibility Tree children of the selected node
315 https://bugs.webkit.org/show_bug.cgi?id=130264
317 Reviewed by Timothy Hatcher.
319 Expose the accessibility tree children (different from DOM children) of the
320 current node in the accessibility node inspector.
322 * Localizations/en.lproj/localizedStrings.js: New "Children" string.
323 * UserInterface/Base/DOMUtilities.js: Added linkifyAccessibilityNodeReference.
324 * UserInterface/Models/DOMNode.js: Support for accessibility children.
325 * UserInterface/Views/DOMNodeDetailsSidebarPanel.js: Support for accessibility children.
326 * UserInterface/Views/Main.css: New styles for .node-link-list.
328 2014-03-20 Brian Burg <bburg@apple.com>
330 Web Inspector: add temporary buttons to capture/play/pause replay recordings
331 https://bugs.webkit.org/show_bug.cgi?id=129692
333 Reviewed by Timothy Hatcher.
335 If the Replay agent is available, replace the existing ad-hoc navigation bar
336 in the Timelines sidebar panel with a record and pause/play button. This UI
339 * Localizations/en.lproj/localizedStrings.js:
340 * UserInterface/Controllers/ReplayManager.js: Turn two segment state assertions into
341 FIXMEs because the assertions are too strong until the public API uses async chains.
342 (WebInspector.ReplayManager.prototype.replayToMarkIndex):
343 (WebInspector.ReplayManager.prototype.replayToCompletion):
344 * UserInterface/Images/Circle.svg: Added.
345 * UserInterface/Views/ActivateButtonNavigationItem.js:
346 (WebInspector.ActivateButtonNavigationItem.prototype.generateStyleText):
347 * UserInterface/Views/ButtonNavigationItem.css: Adjust styles so the default style
348 has opacity:1 and the glyph color is darker.
349 (.navigation-bar .item.button.suppress-emboss > .glyph):
350 (.navigation-bar .item.button.suppress-emboss.disabled > .glyph):
351 * UserInterface/Views/ButtonNavigationItem.js:
352 (WebInspector.ButtonNavigationItem.prototype.generateStyleText): Explicitly
353 generate the width and height properties so that separate button instances do
354 not influence the size of each other.
356 * UserInterface/Views/TimelineSidebarPanel.js:
357 (WebInspector.TimelineSidebarPanel.prototype._recordGlyphClicked):
358 (WebInspector.TimelineSidebarPanel.prototype._replayCaptureButtonClicked):
359 (WebInspector.TimelineSidebarPanel.prototype._replayPauseResumeButtonClicked):
360 (WebInspector.TimelineSidebarPanel.prototype._captureStarted):
361 (WebInspector.TimelineSidebarPanel.prototype._captureStopped):
362 (WebInspector.TimelineSidebarPanel.prototype._playbackStarted):
363 (WebInspector.TimelineSidebarPanel.prototype._playbackPaused):
365 2014-03-20 Brian Burg <bburg@apple.com>
367 Web Inspector: add frontend controller and models for replay sessions
368 https://bugs.webkit.org/show_bug.cgi?id=130145
370 Reviewed by Joseph Pecoraro.
372 Upstream the frontend models and controller for web replay. The replay manager
373 syncs with the backend controller's replay state and replay sessions by using
374 the same state machines and transitions.
376 Session and segment models update their data asynchronously using promises.
378 * UserInterface/Base/Main.js:
379 (WebInspector.loaded): Add the replay manager.
380 * UserInterface/Base/Test.js:
381 (WebInspector.loaded): Add the replay manager.
382 (InspectorTest.debugLog): Fix a bug in the unescape/escape trick.
383 (InspectorTest.addResult): Don't try to add results until the test page has loaded.
384 (InspectorTest.testPageDidLoad): Clear the isReloading flag.
385 (InspectorTest.reloadPage): Reimplement using promises. Return a promise.
386 * UserInterface/Base/Utilities.js: Implement Map.take in the obvious way.
387 * UserInterface/Controllers/ReplayManager.js: Added.
388 (WebInspector.ReplayManager):
390 (WebInspector.ReplayManager.prototype.get sessionState):
391 (WebInspector.ReplayManager.prototype.get segmentState):
392 (WebInspector.ReplayManager.prototype.get activeSessionIdentifier):
393 (WebInspector.ReplayManager.prototype.get activeSegmentIdentifier):
394 (WebInspector.ReplayManager.prototype.get playbackSpeed):
395 (WebInspector.ReplayManager.prototype.set playbackSpeed):
396 (WebInspector.ReplayManager.prototype.get currentPosition):
397 (WebInspector.ReplayManager.prototype.getSession.get var):
398 (WebInspector.ReplayManager.prototype.getSegment.get var):
399 (WebInspector.ReplayManager.prototype.captureStarted):
400 (WebInspector.ReplayManager.prototype.captureStopped):
401 (WebInspector.ReplayManager.prototype.playbackStarted):
402 (WebInspector.ReplayManager.prototype.playbackHitPosition):
403 (WebInspector.ReplayManager.prototype.playbackPaused):
404 (WebInspector.ReplayManager.prototype.playbackFinished):
405 (WebInspector.ReplayManager.prototype.sessionCreated.set catch):
406 (WebInspector.ReplayManager.prototype.sessionCreated.this):
407 (WebInspector.ReplayManager.prototype.sessionCreated):
408 (WebInspector.ReplayManager.prototype.sessionModified):
409 (WebInspector.ReplayManager.prototype.sessionRemoved.then):
410 (WebInspector.ReplayManager.prototype.sessionRemoved):
411 (WebInspector.ReplayManager.prototype.segmentCreated.set this):
412 (WebInspector.ReplayManager.prototype.segmentCompleted.set catch):
413 (WebInspector.ReplayManager.prototype.segmentCompleted):
414 (WebInspector.ReplayManager.prototype.segmentRemoved.then):
415 (WebInspector.ReplayManager.prototype.segmentRemoved):
416 (WebInspector.ReplayManager.prototype.segmentLoaded):
417 (WebInspector.ReplayManager.prototype.segmentUnloaded):
418 (WebInspector.ReplayManager.prototype.startCapturing):
419 (WebInspector.ReplayManager.prototype.stopCapturing):
420 (WebInspector.ReplayManager.prototype.replayToMarkIndex):
421 (WebInspector.ReplayManager.prototype.replayToCompletion):
422 (WebInspector.ReplayManager.prototype.pausePlayback):
423 (WebInspector.ReplayManager.prototype.stopPlayback):
424 (WebInspector.ReplayManager.prototype._changeSessionState):
425 (WebInspector.ReplayManager.prototype._changeSegmentState):
426 * UserInterface/Main.html:
427 * UserInterface/Models/ReplaySession.js: Added.
428 (WebInspector.ReplaySession):
429 (WebInspector.ReplaySession.fromPayload):
430 (WebInspector.ReplaySession.prototype.get segments):
431 (WebInspector.ReplaySession.prototype.segmentsChanged):
432 (WebInspector.ReplaySession.prototype._updateFromPayload):
433 * UserInterface/Models/ReplaySessionSegment.js: Added.
434 (WebInspector.IncompleteSessionSegment):
435 (WebInspector.IncompleteSessionSegment.prototype.get isComplete):
436 (WebInspector.ReplaySessionSegment):
437 (WebInspector.ReplaySessionSegment.prototype.get isComplete):
438 * UserInterface/Protocol/InspectorBackend.js:
439 (InspectorBackendClass.prototype.registerCommand):
440 (InspectorBackendClass.prototype._promise): Add a promise-returning method for
441 invoking backend commands that return a result asynchronously.
442 * UserInterface/Protocol/ReplayObserver.js: Added.
443 (WebInspector.ReplayPosition):
444 (WebInspector.ReplayPosition.fromProtocol):
445 (WebInspector.ReplayObserver):
446 (WebInspector.ReplayObserver.prototype.captureStarted):
447 (WebInspector.ReplayObserver.prototype.captureStopped):
448 (WebInspector.ReplayObserver.prototype.playbackStarted):
449 (WebInspector.ReplayObserver.prototype.playbackHitPosition):
450 (WebInspector.ReplayObserver.prototype.playbackPaused):
451 (WebInspector.ReplayObserver.prototype.playbackFinished):
452 (WebInspector.ReplayObserver.prototype.inputSuppressionChanged):
453 (WebInspector.ReplayObserver.prototype.sessionCreated):
454 (WebInspector.ReplayObserver.prototype.sessionModified):
455 (WebInspector.ReplayObserver.prototype.sessionRemoved):
456 (WebInspector.ReplayObserver.prototype.sessionLoaded):
457 (WebInspector.ReplayObserver.prototype.segmentCreated):
458 (WebInspector.ReplayObserver.prototype.segmentRemoved):
459 (WebInspector.ReplayObserver.prototype.segmentCompleted):
460 (WebInspector.ReplayObserver.prototype.segmentLoaded):
461 (WebInspector.ReplayObserver.prototype.segmentUnloaded):
462 * UserInterface/Test.html:
464 2014-03-20 Joseph Pecoraro <pecoraro@apple.com>
466 Web Inspector: DebuggerDashboardView looks scrunched debugging JSContext
467 https://bugs.webkit.org/show_bug.cgi?id=130527
469 Reviewed by Timothy Hatcher.
471 Instead of using body.javascript to force a collapsed style,
472 actually use the toolbar's collapsed class.
474 * UserInterface/Views/DashboardContainerView.css:
475 (.toolbar.collapsed .dashboard-container):
476 * UserInterface/Views/Toolbar.js:
478 2014-03-20 Katie Madonna <madonnk@gmail.com>
480 Web Inspector: probe sidebar should use overflow:scroll and split space evenly
481 https://bugs.webkit.org/show_bug.cgi?id=129627
483 Reviewed by Timothy Hatcher.
485 Use flexbox to split space evenly in the probe sidebar, which required changes to collapse
486 format, remove scrollbar styles from old timelapse branch.
488 * UserInterface/Views/ProbeDetailsSidebarPanel.css: Space elements evenly with flexbox
489 and make collapse correctly, remove scrollbar style.
490 * UserInterface/Views/ProbeSetDetailsSection.js: Removed inline style.
492 2014-03-18 Joseph Pecoraro <pecoraro@apple.com>
494 Web Inspector: Make update-InspectorBackendCommands.rb only update legacy protocol versions
495 https://bugs.webkit.org/show_bug.cgi?id=130412
497 Reviewed by Timothy Hatcher.
499 Rename the script and simplify to only update Legacy protocol versions.
501 * Scripts/update-LegacyInspectorBackendCommands.rb: Renamed from Source/WebInspectorUI/Scripts/update-InspectorBackendCommands.rb.
503 2014-03-18 Joseph Pecoraro <pecoraro@apple.com>
505 Web Inspector: sourceMapResourceLoaded expects statusCode parameter
506 https://bugs.webkit.org/show_bug.cgi?id=130377
508 Reviewed by Timothy Hatcher.
510 * UserInterface/Models/SourceMapResource.js:
512 2014-03-17 Joseph Pecoraro <pecoraro@apple.com>
514 Web Inspector: Uncaught Exception in JSContext Inspector
515 https://bugs.webkit.org/show_bug.cgi?id=130368
517 Reviewed by Timothy Hatcher.
519 * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
520 (WebInspector.DOMNodeDetailsSidebarPanel.prototype._accessibilitySupported):
521 Feature check DOMAgent as well as the function.
523 2014-03-16 Brian Burg <bburg@apple.com>
525 Web Inspector: vended backend commands file should be generated as part of the build
526 https://bugs.webkit.org/show_bug.cgi?id=130110
528 Reviewed by Timothy Hatcher.
530 Copy the backend commands generated in other frameworks into our built products directory.
532 * Configurations/WebInspectorUIFramework.xcconfig: Set up variables so we can pull backend
533 commands files from the private headers directory of other frameworks.
534 * Scripts/copy-user-interface-resources.sh: Always ditto inspector backend commands.
535 * UserInterface/Protocol/InspectorJSBackendCommands.js: Removed.
536 * UserInterface/Protocol/InspectorWebBackendCommands.js: Removed.
537 * WebInspectorUI.vcxproj/WebInspectorUIPostBuild.cmd: Copy over the generated
538 backend commands files from the other frameworks.
539 * WebInspectorUI.xcodeproj/project.pbxproj: Add JavaScriptCore and WebCore as
540 framework dependencies so Xcode builds them first.
542 2014-03-15 David Kilzer <ddkilzer@apple.com>
544 [iOS] Define SYSTEM_VERSION_PREFIX consistently
545 <http://webkit.org/b/130293>
546 <rdar://problem/15926359>
548 Reviewed by Dan Bernstein.
550 * Configurations/Version.xcconfig:
551 (SYSTEM_VERSION_PREFIX): Sync with
552 Source/WebKit/mac/Version.xcconfig.
554 2014-03-14 Maciej Stachowiak <mjs@apple.com>
556 Replace "Apple Computer, Inc." with "Apple Inc." in copyright headers
557 https://bugs.webkit.org/show_bug.cgi?id=130276
558 <rdar://problem/16266927>
560 Reviewed by Simon Fraser.
562 * APPLE_IMAGES_LICENSE.rtf:
563 * UserInterface/Base/DOMUtilities.js:
564 * UserInterface/Models/Color.js:
565 * UserInterface/Views/ConsoleCommand.js:
566 * UserInterface/Views/ConsoleCommandResult.js:
567 * UserInterface/Views/ConsoleGroup.js:
568 * UserInterface/Views/ConsoleMessage.js:
569 * UserInterface/Views/ConsoleMessageImpl.js:
570 * UserInterface/Views/DOMTreeElement.js:
571 * UserInterface/Views/DOMTreeOutline.js:
572 * UserInterface/Views/DOMTreeUpdater.js:
573 * UserInterface/Views/GradientSlider.css:
574 * UserInterface/Views/GradientSlider.js:
575 * UserInterface/Views/TreeOutline.js:
577 2014-03-14 Bem Jones-Bey <bjonesbe@adobe.com>
579 [CSS Shapes] Add autocomplete for -webkit-shape-outside
580 https://bugs.webkit.org/show_bug.cgi?id=130268
582 Reviewed by Joseph Pecoraro.
584 Add completions for -webkit-shape-outside. Also add the box shapes to
585 the possible completions for clip-path.
587 * UserInterface/Models/CSSKeywordCompletions.js:
589 2014-03-14 Joseph Pecoraro <pecoraro@apple.com>
591 Web Inspector: Update shapes autocompletion suggestions
592 https://bugs.webkit.org/show_bug.cgi?id=130255
594 Reviewed by Bem Jones-Bey.
596 * UserInterface/Models/CSSKeywordCompletions.js:
598 2014-03-14 James Craig <jcraig@apple.com>
600 Web Inspector: AXI: Expose Accessibility Tree parent of the selected node
601 https://bugs.webkit.org/show_bug.cgi?id=129943
603 Reviewed by Timothy Hatcher.
605 Tests: inspector-protocol/dom/getAccessibilityPropertiesForNode.html
607 Web Accessibility Node Inspector now displays a link to the AX parent node,
608 because it's not a 1:1 match with the DOMNode parent.
610 * Localizations/en.lproj/localizedStrings.js: new "Parent" string.
611 * UserInterface/Base/DOMUtilities.js: Updating linkifyNodeReference to include role; adding new roleSelectorForNode method.
612 * UserInterface/Models/DOMNode.js: AX Parent support and adding role to DOMNode (will be exposed as AX Parent link and in overlays).
613 * UserInterface/Views/DOMNodeDetailsSidebarPanel.js: Accessibility parent node.
615 2014-03-14 Diego Pino Garcia <dpino@igalia.com>
617 Web Inspector: Resource and Frame saveIdentityToCookie should store URL hashes not URLs
618 https://bugs.webkit.org/show_bug.cgi?id=126833
620 Reviewed by Timothy Hatcher.
622 * UserInterface/Models/Frame.js:
623 (WebInspector.Frame.prototype.saveIdentityToCookie):
624 * UserInterface/Models/Resource.js:
625 (WebInspector.Resource.prototype.saveIdentityToCookie):
627 2014-03-13 James Craig <jcraig@apple.com>
629 Web Inspector: AXI: Use loc strings for known aria-invalid types
630 https://bugs.webkit.org/show_bug.cgi?id=129952
632 Reviewed by Joseph Pecoraro.
634 Updating inspector-protocol and UI display values for @aria-invalid.
636 Test: inspector-protocol/dom/getAccessibilityPropertiesForNode.html
638 * Localizations/en.lproj/localizedStrings.js: "Grammar" and "Spelling" value strings.
639 * UserInterface/Protocol/InspectorWebBackendCommands.js: New enum for DOM.AccessibilityPropertiesInvalid
640 * UserInterface/Views/DOMNodeDetailsSidebarPanel.js: Use enum instead of passing value through directly.
642 2014-03-13 Diego Pino Garcia <dpino@igalia.com>
644 Web Inspector: AXI: Expose focused/focusable state in the Accessibility Node Inspector
645 https://bugs.webkit.org/show_bug.cgi?id=129779
647 Reviewed by Timothy Hatcher.
649 * Localizations/en.lproj/localizedStrings.js: Add label "Focused".
650 * UserInterface/Models/DOMNode.js: Set property "focused" in
651 accessibilityProperties.
652 (WebInspector.DOMNode.prototype.accessibilityProperties): Add row for
654 * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
655 (WebInspector.DOMNodeDetailsSidebarPanel):
656 (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshAccessibility):
657 Refresh value of property "focused" in UI.
659 2014-03-13 Joseph Pecoraro <pecoraro@apple.com>
661 Web Inspector: Remove InspectorFrontendHost.loadResourceSynchronously
662 https://bugs.webkit.org/show_bug.cgi?id=130217
664 Reviewed by Timothy Hatcher.
666 * UserInterface/Protocol/InspectorFrontendHostStub.js:
668 2014-03-13 Joseph Pecoraro <pecoraro@apple.com>
670 Web Inspector: Network.loadResource should include the response status code
671 https://bugs.webkit.org/show_bug.cgi?id=130216
673 Reviewed by Timothy Hatcher.
675 * UserInterface/Controllers/SourceMapManager.js:
676 (WebInspector.SourceMapManager.prototype.sourceMapLoaded):
677 (WebInspector.SourceMapManager.prototype._loadAndParseSourceMap):
678 * UserInterface/Models/SourceMapResource.js:
679 (WebInspector.SourceMapResource.prototype.requestContentFromBackend.sourceMapResourceLoaded):
680 If the response is 400 or larger, treat it as an error / failed load.
682 * UserInterface/Protocol/InspectorWebBackendCommands.js:
683 Update protocol to provide status code parameter.
685 2014-03-12 Brian Burg <bburg@apple.com>
687 Web Inspector: Remove unused callId parameter from evaluateInWebInspector
688 https://bugs.webkit.org/show_bug.cgi?id=129744
690 Reviewed by Timothy Hatcher.
692 * UserInterface/Protocol/InspectorJSBackendCommands.js:
693 * UserInterface/Protocol/InspectorObserver.js:
694 (WebInspector.InspectorObserver.prototype.evaluateForTestInFrontend):
696 2014-03-12 Joseph Pecoraro <pecoraro@apple.com>
698 Web Inspector: [iOS 6] uncaught exception attempting to use CSSAgent.getNamedFlowCollection
699 https://bugs.webkit.org/show_bug.cgi?id=130167
701 Reviewed by Timothy Hatcher.
703 Feature check the protocol method before using it. It is
704 fine to do nothing if the feature is not supported.
706 * UserInterface/Controllers/DOMTreeManager.js:
708 2014-03-12 Joseph Pecoraro <pecoraro@apple.com>
710 Web Inspector: Feature check for accessibility support before using it (DOMAgent.getAccessibilityPropertiesForNode)
711 https://bugs.webkit.org/show_bug.cgi?id=130037
713 Reviewed by Timothy Hatcher.
715 Feature detect if accessibility information is supported before
716 creating or attempting to update the accessibility section.
718 * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
719 (WebInspector.DOMNodeDetailsSidebarPanel):
720 (WebInspector.DOMNodeDetailsSidebarPanel.prototype._accessibilitySupported):
721 (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshAccessibility):
723 2014-03-12 Joseph Pecoraro <pecoraro@apple.com>
725 Web Inspector: Fix multiple console.assert stripping issues
726 https://bugs.webkit.org/show_bug.cgi?id=130166
728 Reviewed by Timothy Hatcher.
730 There were a couple console.assert stripping issues in production.
731 One line required a semicolon so was avoiding getting stripped.
732 One resulted in a logic change, when stripping the only statement
733 of a control flow block. Add a warning for such cases.
735 * Scripts/remove-console-asserts.pl:
736 Add warning for a console.assert being the only statement in a control flow block
737 without braces. When it is stripped it may change the flow of the function.
739 * Scripts/remove-console-asserts-dryrun.rb: Added.
740 Add a script to quickly test running remove console asserts on our files, to
741 help catch errors not in a production build and in the original non-combined
742 files, so you can more easily fix issues.
744 * UserInterface/Controllers/DOMTreeManager.js:
745 (WebInspector.DOMTreeManager.prototype._updateContentFlowFromPayload):
746 Convert the for loop into a single console.assert statement.
748 * UserInterface/Views/DataGrid.js:
749 (WebInspector.DataGrid.prototype.removeChild):
750 Add missing semicolon.
752 2014-03-12 Brian Burg <bburg@apple.com>
754 Web Inspector: convert model tests and inspector-test.js to use Test.html
755 https://bugs.webkit.org/show_bug.cgi?id=129217
757 Reviewed by Timothy Hatcher.
759 Miscellaneous changes to make the inspector model test harness work well in
760 scenarios where the test page must navigate or reload. Also improve reporting
761 test failures so that messages will be dumped correctly even when an exception
762 is thrown in the Inspector or the test times out.
764 * UserInterface/Base/Test.js:
765 (WebInspector.loaded): register new managers and observers.
766 (InspectorTest.log): Stringify the argument if it's an object.
767 (InspectorTest.assert): Stringify the argument if it's an object. Don't log
768 unless the condition is false.
770 (InspectorTest.expectThat): Added. Like assert(), but always logs.
771 (InspectorTest.debugLog): Escape and unescape the string properly.
772 (InspectorTest.completeTest): Fix teardown so messages are not lost.
773 (InspectorTest.evaluateInPage): Accept a callback argument.
774 (InspectorTest.addResult): Don't rebuild results when adding a new result.
775 (InspectorTest._resendResults.decrementPendingResponseCount): Added.
777 (InspectorTest._resendResults): Added. Track the number of pending
778 responses and invoke a given callback when everything has been resent.
780 (InspectorTest.testPageDidLoad): Renamed from `pageLoaded`.
781 (InspectorTest.reloadPage): Added.
782 (InspectorTest.reportUncaughtException): Prevent the default handler from running.
783 * UserInterface/Protocol/InspectorBackend.js:
784 (InspectorBackendClass.prototype.dispatch): Report uncaught exceptions when dispatching
785 messages on the inspector page without blowing away the entire call stack.
787 * UserInterface/Test.html: Add files used by Network and Timeline domains.
789 2014-03-11 Brian Burg <bburg@apple.com>
791 Web Inspector: DataGrid should have an API to set sort column and direction
792 https://bugs.webkit.org/show_bug.cgi?id=128783
794 Reviewed by Timothy Hatcher.
796 Previously there was no way for DataGrid clients to programmatically change
797 the sort order or sort column identifier after the data grid was constructed.
798 This patch modernizes DataGrid sorting by exposing getters and setters for
799 sortOrder and sortColumnIdentifier, which trigger the SortChanged event if
800 the sort settings have changed.
802 This patch also modernizes sorting functionality in DataGrid clients, and in
803 a few clients it moves column identifiers from numbers to string identifiers.
805 * UserInterface/Main.html:
806 * UserInterface/Views/ApplicationCacheFrameContentView.js: Use string column identifiers
807 instead of numbers. Don't repopulate the entire table when the sort changes, instead
808 call DataGrid.sortNodes from the sorting callback. Explicitly set the sort order.
810 (WebInspector.ApplicationCacheFrameContentView.prototype._createDataGrid):
811 (WebInspector.ApplicationCacheFrameContentView.prototype._sortDataGrid):
812 (WebInspector.ApplicationCacheFrameContentView.prototype._sortDataGrid.localeCompare):
813 (WebInspector.ApplicationCacheFrameContentView.prototype._populateDataGrid):
815 * UserInterface/Views/CookieStorageContentView.js: Use string column identifiers instead
816 of numbers. Don't sort the cookies themselves, just the data grid nodes representing
817 each cookie. Use DataGrid.sortNodes as the sorting implementation, and provide a
818 comparator. Don't rebuild the entire table when the sort changes.
820 (WebInspector.CookieStorageContentView.prototype._rebuildTable):
821 (WebInspector.CookieStorageContentView.prototype._sortDataGrid):
822 (WebInspector.CookieStorageContentView.prototype._sortDataGrid.numberCompare):
823 (WebInspector.CookieStorageContentView.prototype._sortDataGrid.expiresCompare):
825 * UserInterface/Views/DataGrid.js: Add the DataGrid.SortOrder enum. Put sortOrder
826 and sortColumnIdentifier behind getters and setters. Pull some hardcoded style
827 class names into constants. Remove the "sort" field on column config objects; instead
828 should use the DataGrid.sortColumnIdentifier setter after construction.
830 (WebInspector.DataGrid): Keep sort settings in private variables.
831 (WebInspector.DataGrid.prototype.get sortOrder): Reimplemented.
832 (WebInspector.DataGrid.prototype.get sortColumnIdentifier): Reimplemented.
833 (WebInspector.DataGrid.prototype.moveToNextCell):
834 (WebInspector.DataGrid.prototype._editingCommitted):
835 (WebInspector.DataGrid.prototype.sortNodes): Use requestAnimationFrame to
836 coalesce multiple sort requests within the same draw frame.
837 (WebInspector.DataGrid.prototype._sortNodesCallback):
838 (WebInspector.DataGrid.prototype._headerCellClicked): Use the new sort API.
839 * UserInterface/Views/LayerTreeDataGrid.js: Removed. Unnecessary for performance
840 now that sort requests are coalesced by requestAnimationFrame.
842 * UserInterface/Views/LayerTreeSidebarPanel.js: Use DataGrid instead of LayerTreeDataGrid.
843 Hook up the _sortDataGrid method to the built-in DataGrid.sortNodes API.
845 (WebInspector.LayerTreeSidebarPanel.prototype._buildDataGridSection):
846 (WebInspector.LayerTreeSidebarPanel.prototype._sortDataGrid.comparator):
847 (WebInspector.LayerTreeSidebarPanel.prototype._sortDataGrid):
848 * UserInterface/Views/LayoutTimelineView.js:
849 * UserInterface/Views/LegacyJavaScriptProfileView.js:
850 (WebInspector.LegacyJavaScriptProfileView.prototype._sortProfile):
851 * UserInterface/Views/NetworkTimelineView.js:
852 * UserInterface/Views/ResourceDetailsSidebarPanel.js: Use the DataGrid.sortNodes API.
853 (WebInspector.ResourceDetailsSidebarPanel.prototype._createNameValueDataGrid.sortDataGrid.comparator):
854 (WebInspector.ResourceDetailsSidebarPanel.prototype._createNameValueDataGrid.sortDataGrid):
855 (WebInspector.ResourceDetailsSidebarPanel.prototype._createNameValueDataGrid):
856 * UserInterface/Views/ScriptTimelineView.js:
857 * UserInterface/Views/TimelineDataGrid.js:
858 (WebInspector.TimelineDataGrid.prototype._sortComparator):
860 2014-03-10 James Craig <jcraig@apple.com>
862 Web Inspector: AXI: Expose checked/disabled/expanded/pressed/readonly/selected
863 https://bugs.webkit.org/show_bug.cgi?id=129781
865 Reviewed by Joseph Pecoraro.
867 Enabling several more properties to be exposed in the Accessibility Node Inspector.
869 Updated Tests: inspector-protocol/dom/getAccessibilityPropertiesForNode.html
871 * Localizations/en.lproj/localizedStrings.js:
872 * UserInterface/Models/DOMNode.js:
873 * UserInterface/Protocol/InspectorWebBackendCommands.js:
874 * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
876 2014-03-10 Brian Burg <bburg@apple.com>
878 Web Inspector: show a debugging-oriented dashboard when scripts pause
879 https://bugs.webkit.org/show_bug.cgi?id=129913
881 Reviewed by Timothy Hatcher.
883 Using the dashboard swapping functionality just added, show a debugger dashboard
884 whenever the debugger pauses, and hide it when it resumes. The debugger manager
885 already coalesces pause/resume events across stepping commands.
887 The dashboard itself is straightforward, with the exception of how it uses the
888 navigation bar buttons. Since buttons from the same URL can't be reused if they
889 are bezeled, we don't bezel our button, and set the button image as the glyph mask
890 instead of the background image. This lets us easily animate the glyph shape.
892 We also have to more forcefully declare a bunch of icon rules that would otherwise
893 be messed up by the toolbar's icon rules (whereas we want to mostly emulate navigation
896 * Localizations/en.lproj/localizedStrings.js:
897 * UserInterface/Base/Main.js:
898 (WebInspector.loaded):
899 (WebInspector.contentLoaded):
900 (WebInspector._debuggerDidPause):
901 (WebInspector._debuggerDidResume):
902 * UserInterface/Controllers/DashboardManager.js:
903 (WebInspector.DashboardManager):
904 * UserInterface/Main.html:
905 * UserInterface/Models/DebuggerDashboard.js: Added.
906 (WebInspector.DebuggerDashboard):
907 * UserInterface/Views/ButtonNavigationItem.css:
908 (.navigation-bar .item.button.suppress-emboss > .glyph):
909 * UserInterface/Views/ButtonNavigationItem.js:
910 (WebInspector.ButtonNavigationItem.prototype._updateImage):
911 * UserInterface/Views/DashboardView.js:
912 (WebInspector.DashboardView):
913 * UserInterface/Views/DebuggerDashboardView.css: Added.
914 (.toolbar .dashboard.debugger):
915 (.dashboard.debugger > .message):
916 (.dashboard.debugger .navigation-bar):
917 (.toolbar:not(.small-size) .dashboard.debugger .navigation-bar):
918 (.dashboard.debugger .navigation-bar .item.button):
919 (.dashboard.debugger .navigation-bar .item.button > .glyph):
920 (@-webkit-keyframes pulse-pause-button):
922 (.dashboard.debugger > .divider):
923 (.dashboard.debugger > div):
924 (.dashboard.debugger > .location > :first-child):
925 (.toolbar:not(.small-size) .dashboard.debugger > .location :not(:first-child)):
926 (.dashboard.debugger > .location img.icon):
927 (.dashboard.debugger > .location .function-name):
928 (.dashboard.debugger > .location .function-name::after):
929 (.dashboard.debugger > .location .go-to-link):
930 (.toolbar.collapsed .dashboard.debugger > :not(.message):not(.navigation-bar )):
931 (.toolbar.small-size .dashboard.debugger > .message):
932 (.toolbar.small-size .dashboard.debugger > .location > :first-child):
933 * UserInterface/Views/DebuggerDashboardView.js: Added.
934 (WebInspector.DebuggerDashboardView):
935 (WebInspector.DebuggerDashboardView.prototype._rebuildLocation):
936 (WebInspector.DebuggerDashboardView.prototype._resumeButtonClicked):
937 * UserInterface/Views/DebuggerSidebarPanel.js:
938 (WebInspector.DebuggerSidebarPanel):
940 2014-03-10 Brian Burg <bburg@apple.com>
942 Web Inspector: convert the dashboard toolbar item to support multiple dashboards
943 https://bugs.webkit.org/show_bug.cgi?id=129898
945 Reviewed by Timothy Hatcher.
947 We want to ability to swap in and out different dashboard contents depending on
948 circumstances such as debugger activity and page loading. This patch converts the
949 existing hard-coded dashboard implementation to follow the container-based approach
950 used by WebInspector.ContentViewContainer.
952 As part of the refactoring, we introduce dashboard model objects to store persistent
953 dashboard data. Some CSS has also been split between the container and specific dashboard.
955 * UserInterface/Controllers/DashboardManager.js:
956 (WebInspector.DashboardManager):
957 (WebInspector.DashboardManager.prototype.get toolbarItem):
958 * UserInterface/Main.html:
959 * UserInterface/Models/DefaultDashboard.js: Copied from Source/WebInspectorUI/UserInterface/Controllers/DashboardManager.js.
960 (WebInspector.DefaultDashboard):
961 (WebInspector.DefaultDashboard.prototype.get resourcesCount):
962 (WebInspector.DefaultDashboard.prototype.set resourcesCount):
963 (WebInspector.DefaultDashboard.prototype.get resourcesSize):
964 (WebInspector.DefaultDashboard.prototype.set resourcesSize):
965 (WebInspector.DefaultDashboard.prototype.get time):
966 (WebInspector.DefaultDashboard.prototype.set time):
967 (WebInspector.DefaultDashboard.prototype.get logs):
968 (WebInspector.DefaultDashboard.prototype.set logs):
969 (WebInspector.DefaultDashboard.prototype.get errors):
970 (WebInspector.DefaultDashboard.prototype.set errors):
971 (WebInspector.DefaultDashboard.prototype.get issues):
972 (WebInspector.DefaultDashboard.prototype.set issues):
973 (WebInspector.DefaultDashboard.prototype._dataDidChange):
974 (WebInspector.DefaultDashboard.prototype._mainResourceDidChange):
975 (WebInspector.DefaultDashboard.prototype._recordingStopped):
976 (WebInspector.DefaultDashboard.prototype._resourceWasAdded):
977 (WebInspector.DefaultDashboard.prototype._frameWasAdded):
978 (WebInspector.DefaultDashboard.prototype._resourceSizeDidChange):
979 (WebInspector.DefaultDashboard.prototype._startUpdatingTime):
980 (WebInspector.DefaultDashboard.prototype._stopUpdatingTime):
981 (WebInspector.DefaultDashboard.prototype._updateTime):
982 (WebInspector.DefaultDashboard.prototype._consoleMessageAdded):
983 (WebInspector.DefaultDashboard.prototype._consoleMessageWasRepeated):
984 (WebInspector.DefaultDashboard.prototype._incrementConsoleMessageType):
985 (WebInspector.DefaultDashboard.prototype._consoleWasCleared):
986 * UserInterface/Views/DashboardContainerView.css: Added.
987 (.toolbar .dashboard-container):
988 (body.window-inactive .toolbar .dashboard-container):
989 (body.javascript .toolbar .dashboard-container):
990 (.toolbar.normal-size.icon-and-label-vertical .dashboard-container):
991 (.toolbar.small-size.icon-and-label-horizontal .dashboard-container):
992 (.toolbar.normal-size.icon-and-label-horizontal .dashboard-container):
993 (.toolbar .dashboard-container):
994 (.toolbar .dashboard):
995 (.toolbar .dashboard.visible):
996 (.toolbar .dashboard.slide-out-up):
997 (.toolbar .dashboard.slide-out-down):
998 (.toolbar .dashboard.slide-in-up):
999 (.toolbar .dashboard.slide-in-down):
1000 (@-webkit-keyframes slide-top-edge):
1002 (@-webkit-keyframes slide-bottom-edge):
1003 * UserInterface/Views/DashboardContainerView.js: Added.
1004 (WebInspector.DashboardContainerView):
1005 (WebInspector.DashboardContainerView.prototype.get toolbarItem):
1006 (WebInspector.DashboardContainerView.prototype.get currentDashboardView):
1007 (WebInspector.DashboardContainerView.prototype.showDashboardViewForRepresentedObject):
1008 (WebInspector.DashboardContainerView.prototype._dashboardViewForRepresentedObject):
1009 (WebInspector.DashboardContainerView.prototype._showDashboardView):
1010 * UserInterface/Views/DashboardView.css: Removed.
1011 * UserInterface/Views/DashboardView.js:
1012 (WebInspector.DashboardView):
1013 (WebInspector.DashboardView.prototype.get element):
1014 (WebInspector.DashboardView.prototype.get parentContainer):
1015 (WebInspector.DashboardView.prototype.get representedObject):
1016 (WebInspector.DashboardView.prototype.shown):
1017 (WebInspector.DashboardView.prototype.hidden):
1018 * UserInterface/Views/DefaultDashboardView.css: Added.
1019 (body.web .toolbar.collapsed .dashboard.default > .logs):
1020 (body.javascript .toolbar .dashboard.default > .resourcesCount):
1021 (.toolbar .dashboard.default):
1022 (.toolbar .dashboard.default > .item):
1023 (.toolbar .dashboard.default > .resourcesSize):
1024 (.toolbar .dashboard.default > .item.enabled:hover):
1025 (.toolbar .dashboard.default > .item.enabled:active):
1026 (.toolbar .dashboard.default > .item > *):
1027 (.toolbar .dashboard.default > .item > img):
1028 (.toolbar .dashboard.default > .item.enabled > img):
1029 (.toolbar .dashboard.default > .item.enabled:hover > img):
1030 (.toolbar .dashboard.default > .item > div):
1031 (.toolbar .dashboard.default > .item.enabled > div):
1032 (.toolbar .dashboard.default > .item.enabled:hover > div):
1033 (.toolbar .dashboard.default > .resourcesCount > img):
1034 (.toolbar .dashboard.default > .time > img):
1035 (.toolbar .dashboard.default > .logs > img):
1036 (.toolbar .dashboard.default > .resourcesSize > img):
1037 (.toolbar .dashboard.default > .errors > img):
1038 (.toolbar .dashboard.default > .errors.enabled > img):
1039 (.toolbar .dashboard.default > .errors.enabled:hover > img):
1040 (.toolbar .dashboard.default > .errors.enabled > div):
1041 (.toolbar .dashboard.default > .errors.enabled:hover > div):
1042 (.toolbar .dashboard.default > .issues > img):
1043 (.toolbar .dashboard.default > .issues.enabled > img):
1044 (.toolbar .dashboard.default > .issues.enabled:hover > img):
1045 (.toolbar .dashboard.default > .issues.enabled > div):
1046 (.toolbar .dashboard.default > .issues.enabled:hover > div):
1047 (.toolbar .dashboard.default > .item.pulsing):
1048 (@-webkit-keyframes console-item-pulse):
1049 (.toolbar.small-size.icon-and-label-horizontal .dashboard.default > .item):
1050 (.toolbar.normal-size.icon-and-label-horizontal .dashboard.default > .item):
1051 * UserInterface/Views/DefaultDashboardView.js: Copied from Source/WebInspectorUI/UserInterface/Views/DashboardView.js.
1052 (WebInspector.DefaultDashboardView):
1053 (WebInspector.DefaultDashboardView.prototype._updateDisplay):
1054 (WebInspector.DefaultDashboardView.prototype._formatPossibleLargeNumber):
1055 (WebInspector.DefaultDashboardView.prototype._appendElementForNamedItem.):
1056 (WebInspector.DefaultDashboardView.prototype._appendElementForNamedItem.set item):
1057 (WebInspector.DefaultDashboardView.prototype._appendElementForNamedItem):
1058 (WebInspector.DefaultDashboardView.prototype._itemWasClicked):
1059 (WebInspector.DefaultDashboardView.prototype._resourcesWasClicked):
1060 (WebInspector.DefaultDashboardView.prototype._networkItemWasClicked):
1061 (WebInspector.DefaultDashboardView.prototype._consoleItemWasClicked):
1062 (WebInspector.DefaultDashboardView.prototype.animationEnded):
1063 (WebInspector.DefaultDashboardView.prototype._setConsoleItemValue):
1064 (WebInspector.DefaultDashboardView.prototype._setItemEnabled):
1066 2014-03-08 Joseph Pecoraro <pecoraro@apple.com>
1068 Web Inspector: update-InspectorBackendCommands.rb is putting legacy protocol files in the wrong place
1069 https://bugs.webkit.org/show_bug.cgi?id=129959
1071 Reviewed by Timothy Hatcher.
1073 The script was putting legacy generated files into UserInterface
1074 instead of UserInterface/Protocol.
1076 * Scripts/update-InspectorBackendCommands.rb:
1078 2014-03-07 Timothy Hatcher <timothy@apple.com>
1080 Load source maps and their resources asynchronously.
1082 https://bugs.webkit.org/show_bug.cgi?id=112071
1084 Reviewed by Joseph Pecoraro.
1086 * UserInterface/Controllers/SourceMapManager.js:
1087 (WebInspector.SourceMapManager.prototype.loadAndParseSourceMap):
1088 (WebInspector.SourceMapManager.prototype.downloadSourceMap):
1089 (WebInspector.SourceMapManager.prototype.sourceMapLoaded):
1090 (WebInspector.SourceMapManager.prototype._loadAndParseSourceMap):
1091 Use NetworkAgent.loadResource.
1093 * UserInterface/Models/SourceMapResource.js:
1094 (WebInspector.SourceMapResource.prototype.requestContentFromBackend.sourceMapResourceLoaded):
1095 (WebInspector.SourceMapResource.prototype.createSourceCodeTextRange):
1096 Use NetworkAgent.loadResource.
1098 * UserInterface/Protocol/InspectorWebBackendCommands.js: Updated.
1100 2014-03-04 Brian Burg <bburg@apple.com>
1102 Inspector does not restore breakpoints after a page reload
1103 https://bugs.webkit.org/show_bug.cgi?id=129655
1105 Reviewed by Joseph Pecoraro.
1107 Fix some console asserts that fire when breakpoints resolve.
1109 * UserInterface/Controllers/DebuggerManager.js:
1110 (WebInspector.DebuggerManager.prototype.breakpointResolved):
1111 This had a typo, it should be `breakpoint.identifier`.
1112 (WebInspector.DebuggerManager.prototype.scriptDidParse):
1113 Sometimes the `url` parameter is empty instead of null.
1115 2014-03-04 Diego Pino Garcia <dpino@igalia.com>
1117 Web Inspector: Remove WebInspector.EventHandler in favor of WebInspector.EventListenerSet
1118 https://bugs.webkit.org/show_bug.cgi?id=129185
1120 Reviewed by Timothy Hatcher.
1122 * UserInterface/Base/EventHandler.js: Removed.
1123 * UserInterface/Main.html: Don't include EventHandler.js.
1124 * UserInterface/Views/SourceCodeTextEditor.js:
1125 (WebInspector.SourceCodeTextEditor.prototype._dismissPopover):
1126 (WebInspector.SourceCodeTextEditor.prototype._trackPopoverEvents):
1127 Use EventListenerSet instead of EventHandler.
1129 2014-03-03 Jonathan Wells <jonowells@apple.com>
1131 Web Inspector: Match color of regex in source view with a popover
1132 https://bugs.webkit.org/show_bug.cgi?id=129645
1134 Reviewed by Timothy Hatcher.
1136 * UserInterface/Views/LogContentView.css:
1137 (.console-formatted-string):
1138 (.console-formatted-regexp):
1140 2014-03-03 Jonathan Wells <jonowells@apple.com>
1142 Web Inspector: Better Debugger popovers for RegExp values
1143 https://bugs.webkit.org/show_bug.cgi?id=129633
1145 Reviewed by Timothy Hatcher.
1147 * UserInterface/Views/SourceCodeTextEditor.js:
1148 (WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedJavaScriptExpression.populate):
1149 (WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedJavaScriptExpression):
1150 (WebInspector.SourceCodeTextEditor.prototype._showPopoverForRegExp):
1152 2014-03-03 Timothy Hatcher <timothy@apple.com>
1154 Don't try to parse legacy CSS gradients -- we don't support them.
1156 https://bugs.webkit.org/show_bug.cgi?id=129623
1158 Reviewed by Joseph Pecoraro.
1160 * UserInterface/Models/Gradient.js:
1161 (WebInspector.Gradient.stopsWithComponents): Fix a possible exception on malformed stops.
1162 (WebInspector.LinearGradient.linearGradientWithComponents): Return early for legacy gradients.
1164 2014-03-03 Timothy Hatcher <timothy@apple.com>
1166 Remove an innocuous error message and support default views for Resource and Debugger sidebars.
1168 https://bugs.webkit.org/show_bug.cgi?id=129622
1170 Reviewed by Joseph Pecoraro.
1172 * UserInterface/Views/DebuggerSidebarPanel.js:
1173 (WebInspector.DebuggerSidebarPanel.prototype.showDefaultContentView): Added.
1174 * UserInterface/Views/ResourceSidebarPanel.js:
1175 (WebInspector.ResourceSidebarPanel.prototype.showDefaultContentView): Added.
1176 (WebInspector.ResourceSidebarPanel.prototype.treeElementForRepresentedObject): Don't log an error
1177 if the tree element isn't a Script. We try to find any represented object, and it can fail.
1179 2014-03-03 Timothy Hatcher <timothy@apple.com>
1181 Fix an exception caused by trying to access the DOM before it is loaded.
1183 https://bugs.webkit.org/show_bug.cgi?id=129617
1185 Reviewed by Andreas Kling.
1187 * UserInterface/Base/Main.js:
1188 (WebInspector.loaded): Move global event listeners from here...
1189 (WebInspector.contentLoaded): ... to here.
1191 2014-03-01 Timothy Hatcher <timothy@apple.com>
1193 Make Start Timeline Recording in the Develop menu show the Timeline view again.
1195 This also fixes a noticeable delay between showing the sidebar and the default Timeline
1196 view when initially opening the Web Inspector to the Timeline.
1198 https://bugs.webkit.org/show_bug.cgi?id=129545
1200 Reviewed by Joseph Pecoraro.
1202 * UserInterface/Base/Main.js:
1203 (WebInspector.contentLoaded): Call TimelineSidebarPanel.initialize to prime the content view.
1204 This is needed so the view is ready in this run loop cycle, where it was delayed before.
1205 * UserInterface/Protocol/InspectorFrontendAPI.js:
1206 (InspectorFrontendAPI.setTimelineProfilingEnabled): Call TimelineSidebarPanel.showTimelineOverview.
1207 * UserInterface/Views/TimelineSidebarPanel.js:
1208 (WebInspector.TimelineSidebarPanel.prototype.initialize): Added.
1210 2014-03-01 Timothy Hatcher <timothy@apple.com>
1212 Select the Resource navigation sidebar by default when there is no cookie.
1214 https://bugs.webkit.org/show_bug.cgi?id=129544
1216 Reviewed by Joseph Pecoraro.
1218 * UserInterface/Base/Main.js:
1219 (WebInspector._restoreInspectorViewStateFromCookie):
1221 2014-03-01 Timothy Hatcher <timothy@apple.com>
1223 Label JavaScript forced layouts as such in the Timeline.
1225 https://bugs.webkit.org/show_bug.cgi?id=129546
1227 Reviewed by David Kilzer.
1229 * Localizations/en.lproj/localizedStrings.js: Updated.
1230 * UserInterface/Controllers/TimelineManager.js:
1231 (WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
1232 (WebInspector.TimelineManager.prototype.eventRecorded):
1233 * UserInterface/Models/LayoutTimelineRecord.js:
1234 (WebInspector.LayoutTimelineRecord.EventType.displayName):
1235 * UserInterface/Views/TimelineRecordTreeElement.js:
1236 (WebInspector.TimelineRecordTreeElement):
1238 2014-02-28 Timothy Hatcher <timothy@apple.com>
1240 Enable breakpoints when adding a new breakpoint or enabling an existing breakpoint.
1242 This eliminates a multi-step process for the user that can be confusing.
1244 https://bugs.webkit.org/show_bug.cgi?id=129426
1246 Reviewed by Joseph Pecoraro.
1248 * UserInterface/Controllers/DebuggerManager.js:
1249 (WebInspector.DebuggerManager.prototype.set breakpointsEnabled):
1250 (WebInspector.DebuggerManager.prototype._breakpointDisabledStateDidChange):
1251 * UserInterface/Views/DebuggerSidebarPanel.js:
1252 (WebInspector.DebuggerSidebarPanel):
1253 (WebInspector.DebuggerSidebarPanel.prototype._breakpointsEnabledDidChange):
1254 (WebInspector.DebuggerSidebarPanel.prototype._breakpointsToggleButtonClicked):
1256 2014-02-27 Timothy Hatcher <timothy@apple.com>
1258 Use a RegExp when when using CodeMirror's SearchCursor.
1260 This avoids doing toLowerCase() on every line of the TextEditor.
1262 https://bugs.webkit.org/show_bug.cgi?id=129463
1264 Reviewed by Joseph Pecoraro.
1266 * UserInterface/Views/TextEditor.js:
1267 (TextEditor.prototype.performSearch): Use a RegExp for query. Pass false for the caseFold
1268 argument, but it is ignored for RegExp searches anyway.
1270 2014-02-27 Brian Burg <bburg@apple.com>
1272 Web Inspector: model tests should use a special Test.html inspector page
1273 https://bugs.webkit.org/show_bug.cgi?id=129190
1275 Reviewed by Timothy Hatcher.
1277 * UserInterface/Base/Test.js: Added.
1278 (WebInspector.loaded):
1279 (WebInspector.contentLoaded):
1280 (WebInspector.updateDockedState):
1281 (InspectorTest.log):
1282 (InspectorTest.assert):
1283 (InspectorTest.debugLog):
1284 (InspectorTest.completeTest):
1285 (InspectorTest.evaluateInPage):
1286 (InspectorTest.addResult):
1287 (InspectorTest.clearResults):
1288 (InspectorTest.pageLoaded):
1289 (InspectorTest.reportUncaughtException):
1291 * UserInterface/Protocol/InspectorBackend.js:
1292 (InspectorBackendClass):
1293 (InspectorBackendClass.prototype.dispatch):
1294 (InspectorBackendClass.prototype.runAfterPendingDispatches):
1295 (InspectorBackendClass.prototype._flushPendingScripts):
1296 * UserInterface/Protocol/InspectorObserver.js:
1297 (WebInspector.InspectorObserver.prototype.evaluateForTestInFrontend):
1298 * UserInterface/Test.html: Added.
1300 2014-02-27 Joseph Pecoraro <pecoraro@apple.com>
1302 Web Inspector: JSContext inspection should report exceptions in the console
1303 https://bugs.webkit.org/show_bug.cgi?id=128776
1305 Reviewed by Timothy Hatcher.
1307 * UserInterface/ConsoleMessageImpl.js:
1308 (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
1309 (WebInspector.ConsoleMessageImpl.prototype._shouldHideURL):
1310 (WebInspector.ConsoleMessageImpl.prototype._firstNonNativeCallFrame):
1311 (WebInspector.ConsoleMessageImpl.prototype._populateStackTraceTreeElement):
1312 Provide better handling for "[native code]" and legacy "undefined"
1313 call frame URLs. Never linkify these. Also, when showing a link
1314 for an exception, always use the first non-native call frame as
1317 2014-02-26 Timothy Hatcher <timothy@apple.com>
1319 Fix an issue where the Timeline filter scope bars were not applying.
1321 Reviewed by Joseph Pecoraro.
1323 * UserInterface/Views/TimelineDataGrid.js:
1324 (TimelineDataGrid.prototype.treeElementMatchesActiveScopeFilters): Use .get() to access the ScopeBar.
1326 2014-02-25 Andreas Kling <akling@apple.com>
1328 Prune dead code for Web Inspector memory instrumentation.
1329 <https://webkit.org/b/129286>
1331 Reviewed by Sam Weinig.
1333 * UserInterface/Protocol/InspectorWebBackendCommands.js:
1335 2014-02-24 Timothy Hatcher <timothy@apple.com>
1337 Switch from prefixed CSS gradient to unprefixed.
1339 https://bugs.webkit.org/show_bug.cgi?id=129279
1341 Reviewed by Andreas Kling.
1343 * UserInterface/Views/BreakpointActionView.css:
1344 (.breakpoint-action-append-button):
1345 (.breakpoint-action-remove-button):
1346 * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
1347 (.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch):
1348 * UserInterface/Views/CompletionSuggestionsView.css:
1349 (.completion-suggestions-container > .item:active):
1350 * UserInterface/Views/DashboardView.css:
1351 (.toolbar .dashboard):
1352 * UserInterface/Views/DataGrid.css:
1354 (.data-grid table.data):
1355 (.data-grid th.sortable:not(.mouse-over-collapser):active):
1356 (.data-grid th.sort-ascending, .data-grid th.sort-descending):
1357 (.data-grid th.sortable.sort-ascending:not(.mouse-over-collapser):active, .data-grid th.sortable.sort-descending:not(.mouse-over-collapser):active):
1358 (body.window-inactive .data-grid th.sort-descending):
1359 * UserInterface/Views/DetailsSection.css:
1360 (.details-section > .header):
1361 (.details-section .details-section > .header):
1362 * UserInterface/Views/DividerNavigationItem.css:
1363 (.navigation-bar .item.divider):
1364 * UserInterface/Views/FindBanner.css:
1365 (.find-banner > button:active:not(:disabled)):
1366 * UserInterface/Views/Main.css:
1367 (#split-content-browser > .navigation-bar):
1368 * UserInterface/Views/NavigationSidebarPanel.css:
1369 (.sidebar > .panel.navigation > .overflow-shadow):
1370 (.navigation-sidebar-panel-content-tree-outline .item.selected):
1371 (.navigation-sidebar-panel-content-tree-outline:focus .item.selected):
1372 (body.window-inactive .navigation-sidebar-panel-content-tree-outline .item.selected):
1373 * UserInterface/Views/ProbeSetDataGrid.css:
1374 (.details-section.probe-set .data-grid > .data-container td.unknown-value):
1375 (.details-section.probe-set .data-grid th):
1376 * UserInterface/Views/RadioButtonNavigationItem.css:
1377 (.navigation-bar .item.radio.button.text-only.selected):
1378 * UserInterface/Views/TextEditor.css:
1379 (.text-editor .bouncy-highlight):
1380 * UserInterface/Views/TimelineContentView.css:
1381 (.content-view.timeline > .view-container > .timeline-view > .data-grid table.data):
1382 * UserInterface/Views/TimelineDataGrid.css:
1383 (.timeline-data-grid-tree-outline .item:hover):
1384 * UserInterface/Views/TimelineRuler.css:
1385 (.timeline-ruler > .header > .divider):
1386 * UserInterface/Views/TimelineSidebarPanel.css:
1387 (.sidebar > .panel.timeline > .title-bar):
1388 (.sidebar > .panel.timeline > .content > .stripe-background):
1389 * UserInterface/Views/Toolbar.css:
1390 (body:not(.mac-platform) .toolbar):
1391 (body.docked.mac-platform.mavericks .toolbar):
1393 2014-02-24 Timothy Hatcher <timothy@apple.com>
1395 Fix the missing navigation bar in the Debugger sidebar panel.
1397 Sorting the CSS resources caused specificity issue.
1399 https://bugs.webkit.org/show_bug.cgi?id=129251
1401 Reviewed by Joseph Pecoraro.
1403 * UserInterface/Views/DebuggerSidebarPanel.css:
1404 (.sidebar > .panel.navigation.debugger > .content):
1405 (.sidebar > .panel.navigation.debugger > .navigation-bar):
1406 * UserInterface/Views/LayoutTimelineView.css:
1407 (.sidebar > .panel.navigation.timeline.timeline-content-view-showing .navigation-sidebar-panel-content-tree-outline.layout .item .subtitle):
1408 * UserInterface/Views/NetworkTimelineView.css:
1409 (.sidebar > .panel.navigation.timeline.timeline-content-view-showing .navigation-sidebar-panel-content-tree-outline.network .item .subtitle):
1410 * UserInterface/Views/ResourceSidebarPanel.css:
1411 (.sidebar > .panel.navigation.resource > .empty-content-placeholder):
1412 (.sidebar > .panel.navigation.resource > .search-bar):
1413 (.sidebar > .panel.navigation.resource > .search-bar > input[type="search"]):
1414 * UserInterface/Views/ScriptTimelineView.css:
1415 (.sidebar > .panel.navigation.timeline.timeline-content-view-showing .navigation-sidebar-panel-content-tree-outline.script .item .subtitle):
1416 * UserInterface/Views/TimelineSidebarPanel.css:
1417 (.sidebar > .panel.navigation.timeline > .status-bar):
1418 (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph):
1419 (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.recording):
1420 (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph:hover):
1421 (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.recording:hover):
1422 (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.forced):
1423 (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.recording.forced):
1424 (.sidebar > .panel.navigation.timeline > .status-bar > .record-status):
1425 (.sidebar > .panel.navigation.timeline > .title-bar):
1426 (.sidebar > .panel.navigation.timeline > .title-bar.timelines):
1427 (.sidebar > .panel.navigation.timeline > .title-bar.timeline-events):
1428 (.sidebar > .panel.navigation.timeline > .timelines-content):
1429 (.sidebar > .panel.navigation.timeline > .timelines-content .close-button):
1430 (.sidebar > .panel.navigation.timeline > .timelines-content li.item .icon):
1431 (.sidebar > .panel.navigation.timeline > .timelines-content li.item.selected .close-button):
1432 (.sidebar > .panel.navigation.timeline > .timelines-content li.item:not(.selected):nth-child(even)):
1433 (.sidebar > .panel.navigation.timeline > .timelines-content li.item:not(.selected):not(:first-child)):
1434 (.sidebar > .panel.navigation.timeline > .timelines-content li.item.selected + li.item):
1435 (.sidebar > .panel.navigation.timeline > .timelines-content :focus li.item.selected + li.item):
1436 (.sidebar > .panel.navigation.timeline > .timelines-content .close-button:active):
1437 (.sidebar > .panel.navigation.timeline > .empty-content-placeholder):
1438 (.sidebar > .panel.navigation.timeline.timeline-content-view-showing > .content):
1439 (.sidebar > .panel.navigation.timeline > .content > .stripe-background):
1440 (.sidebar > .panel.navigation.timeline.timeline-content-view-showing > .content > .stripe-background):
1442 2014-02-24 Timothy Hatcher <timothy@apple.com>
1444 Give non-Mac platforms a default toolbar background so it isn't just white.
1446 https://bugs.webkit.org/show_bug.cgi?id=129260
1448 Reviewed by Joseph Pecoraro.
1450 * UserInterface/Base/Main.js:
1451 (WebInspector.contentLoaded): Style the boby with platform classes.
1452 * UserInterface/Base/Utilities.js:
1453 (String.prototype.contains): Added.
1454 * UserInterface/Views/Toolbar.css:
1455 (body.docked .toolbar, body:not(.mac-platform) .toolbar): Added. Default toolbar background.
1456 (body.docked.mac-platform.mavericks .toolbar, body.docked.mac-platform.mountain-lion): Added.
1457 (body.mac-platform:not(.docked) .toolbar .item.button > .label): Only apply to Mac.
1459 2014-02-24 Diego Pino Garcia <dpino@igalia.com>
1461 Web Inspector: Remove single quote characters from Web Inspector JavaScript files
1462 https://bugs.webkit.org/show_bug.cgi?id=129253
1464 Reviewed by Timothy Hatcher.
1466 * UserInterface/Base/Main.js:
1467 (WebInspector.openURL):
1468 * UserInterface/Views/CookieStorageContentView.js:
1469 (WebInspector.cookieDomainMatchesResourceDomain):
1470 * UserInterface/Views/DOMTreeElement.js:
1471 (WebInspector.DOMTreeElement.prototype._insertInLastAttributePosition):
1472 (WebInspector.DOMTreeElement.prototype._startEditingTagName.editingComitted):
1473 (WebInspector.DOMTreeElement.prototype._startEditingTagName.editingCancelled):
1474 (WebInspector.DOMTreeElement.prototype._startEditingTagName):
1475 * UserInterface/Views/DOMTreeOutline.js:
1476 (WebInspector.DOMTreeOutline.prototype._ondragover):
1477 * UserInterface/Views/DataGrid.js:
1478 (WebInspector.DataGrid.prototype.addPlaceholderNode):
1480 2014-02-23 Dan Bernstein <mitz@apple.com>
1482 Removed -Wno-format-y2k from WARNING_CFLAGS
1484 Rubber-stamped by Sam Weinig.
1486 * Configurations/Base.xcconfig:
1488 2014-02-23 Diego Pino GarcÃa <dpino@igalia.com>
1490 [GTK] Fix build after Web Inspector code reorganization (r164543)
1491 https://bugs.webkit.org/show_bug.cgi?id=129231
1493 Reviewed by Dean Jackson.
1496 Modify paths to Web Inspector code.
1498 2014-02-23 Antoine Quint <graouts@webkit.org>
1500 Web Inspector: color picker sliders aren't laid out correctly
1501 https://bugs.webkit.org/show_bug.cgi?id=129234
1503 Reviewed by Joseph Pecoraro.
1505 While it's unclear to me what happened, the "position" property for the color picker sliders
1506 wasn't being computed as expected and used relative positioning. I assume this is related to
1507 r164543 when the order of CSS files changed.
1509 * UserInterface/Views/Slider.css:
1512 2014-02-22 Dan Bernstein <mitz@apple.com>
1514 REGRESSION (r164507): Crash beneath JSGlobalObjectInspectorController::reportAPIException at facebook.com, twitter.com, youtube.com
1515 https://bugs.webkit.org/show_bug.cgi?id=129227
1517 Reviewed by Eric Carlson.
1521 * UserInterface/Views/ConsoleMessageImpl.js:
1522 (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
1523 (WebInspector.ConsoleMessageImpl.prototype._populateStackTraceTreeElement):
1525 2014-02-21 Timothy Hatcher <timothy@apple.com>
1527 Organize WebInspectorUI/UserInterface into sub-directories.
1529 https://bugs.webkit.org/show_bug.cgi?id=129194
1531 Rubber-stamped by Joseph Pecoraro.
1533 * Scripts/copy-user-interface-resources.sh: Fix Image URLs and Protocol paths.
1534 * UserInterface/Base: Added.
1535 * UserInterface/Controllers: Added.
1536 * UserInterface/Images: Added.
1537 * UserInterface/Main.html: Updated.
1538 * UserInterface/Models Added.
1539 * UserInterface/Protocol Added.
1540 * UserInterface/Views: Added.
1542 2014-02-21 Timothy Hatcher <timothy@apple.com>
1544 Add inspection user interface for IndexedDB.
1546 https://bugs.webkit.org/show_bug.cgi?id=129162
1548 Reviewed by Joseph Pecoraro.
1550 * Localizations/en.lproj/localizedStrings.js: Updated.
1551 * UserInterface/ContentView.js:
1552 (WebInspector.ContentView):
1553 (WebInspector.ContentView.isViewable):
1554 * UserInterface/IndexedDatabase.js: Added.
1555 (WebInspector.IndexedDatabase):
1556 (WebInspector.IndexedDatabase.prototype.get name):
1557 (WebInspector.IndexedDatabase.prototype.get securityOrigin):
1558 (WebInspector.IndexedDatabase.prototype.get host):
1559 (WebInspector.IndexedDatabase.prototype.get version):
1560 (WebInspector.IndexedDatabase.prototype.get objectStores):
1561 (WebInspector.IndexedDatabase.prototype.saveIdentityToCookie):
1562 * UserInterface/IndexedDatabaseEntryDataGridNode.js: Added.
1563 (WebInspector.IndexedDatabaseEntryDataGridNode):
1564 (WebInspector.IndexedDatabaseEntryDataGridNode.prototype.get entry):
1565 (WebInspector.IndexedDatabaseEntryDataGridNode.prototype.createCellContent):
1566 * UserInterface/IndexedDatabaseHostTreeElement.js: Added.
1567 (WebInspector.IndexedDatabaseHostTreeElement):
1568 (WebInspector.IndexedDatabaseHostTreeElement.prototype.get name):
1569 (WebInspector.IndexedDatabaseHostTreeElement.prototype.get categoryName):
1570 * UserInterface/IndexedDatabaseObjectStore.js: Added.
1571 (WebInspector.IndexedDatabaseObjectStore):
1572 (WebInspector.IndexedDatabaseObjectStore.prototype.get name):
1573 (WebInspector.IndexedDatabaseObjectStore.prototype.get keyPath):
1574 (WebInspector.IndexedDatabaseObjectStore.prototype.get autoIncrement):
1575 (WebInspector.IndexedDatabaseObjectStore.prototype.get parentDatabase):
1576 (WebInspector.IndexedDatabaseObjectStore.prototype.get indexes):
1577 (WebInspector.IndexedDatabaseObjectStore.prototype.saveIdentityToCookie):
1578 (WebInspector.IndexedDatabaseObjectStore.prototype.establishRelationship):
1579 * UserInterface/IndexedDatabaseObjectStoreContentView.css: Added.
1580 (.content-view.indexed-database-object-store > .data-grid):
1581 (.content-view.indexed-database-object-store > .data-grid td .section .header):
1582 (.content-view.indexed-database-object-store > .data-grid td .section .header::before):
1583 (.content-view.indexed-database-object-store > .data-grid td .section .header .title):
1584 (.content-view.indexed-database-object-store > .data-grid table.data):
1585 (.content-view.indexed-database-object-store > .data-grid table.data tr:nth-child(even)):
1586 (.content-view.indexed-database-object-store > .data-grid table.data tr:nth-child(odd)):
1587 (.content-view.indexed-database-object-store > .data-grid table.data tr.filler):
1588 (.content-view.indexed-database-object-store > .data-grid :focus tr.selected td .section .header::before):
1589 (.content-view.indexed-database-object-store > .data-grid :focus tr.selected td .section.expanded .header::before):
1590 (.content-view.indexed-database-object-store > .data-grid :focus tr.selected td .properties-tree li.parent::before):
1591 (.content-view.indexed-database-object-store > .data-grid :focus tr.selected td .properties-tree li.parent.expanded::before):
1592 (.content-view.indexed-database-object-store > .data-grid :focus tr.selected td .properties-tree li *):
1593 * UserInterface/IndexedDatabaseObjectStoreContentView.js: Added.
1594 (WebInspector.IndexedDatabaseObjectStoreContentView.displayKeyPath):
1595 (WebInspector.IndexedDatabaseObjectStoreContentView):
1596 (WebInspector.IndexedDatabaseObjectStoreContentView.prototype.closed):
1597 (WebInspector.IndexedDatabaseObjectStoreContentView.prototype.saveToCookie):
1598 (WebInspector.IndexedDatabaseObjectStoreContentView.prototype.updateLayout):
1599 (WebInspector.IndexedDatabaseObjectStoreContentView.prototype._reset):
1600 (WebInspector.IndexedDatabaseObjectStoreContentView.prototype._dataGridScrolled):
1601 (WebInspector.IndexedDatabaseObjectStoreContentView.prototype._fetchMoreData.processEntries):
1602 (WebInspector.IndexedDatabaseObjectStoreContentView.prototype._fetchMoreData):
1603 * UserInterface/IndexedDatabaseObjectStoreIndex.js: Added.
1604 (WebInspector.IndexedDatabaseObjectStoreIndex):
1605 (WebInspector.IndexedDatabaseObjectStoreIndex.prototype.get name):
1606 (WebInspector.IndexedDatabaseObjectStoreIndex.prototype.get keyPath):
1607 (WebInspector.IndexedDatabaseObjectStoreIndex.prototype.get unique):
1608 (WebInspector.IndexedDatabaseObjectStoreIndex.prototype.get multiEntry):
1609 (WebInspector.IndexedDatabaseObjectStoreIndex.prototype.get parentObjectStore):
1610 (WebInspector.IndexedDatabaseObjectStoreIndex.prototype.saveIdentityToCookie):
1611 (WebInspector.IndexedDatabaseObjectStoreIndex.prototype.establishRelationship):
1612 * UserInterface/IndexedDatabaseObjectStoreIndexTreeElement.js: Added.
1613 (WebInspector.IndexedDatabaseObjectStoreIndexTreeElement):
1614 (WebInspector.IndexedDatabaseObjectStoreIndexTreeElement.prototype.get objectStoreIndex):
1615 * UserInterface/IndexedDatabaseObjectStoreTreeElement.js: Added.
1616 (WebInspector.IndexedDatabaseObjectStoreTreeElement):
1617 (WebInspector.IndexedDatabaseObjectStoreTreeElement.prototype.get objectStore):
1618 (WebInspector.IndexedDatabaseObjectStoreTreeElement.prototype.oncollapse):
1619 (WebInspector.IndexedDatabaseObjectStoreTreeElement.prototype.onpopulate):
1620 * UserInterface/IndexedDatabaseTreeElement.js: Added.
1621 (WebInspector.IndexedDatabaseTreeElement):
1622 (WebInspector.IndexedDatabaseTreeElement.prototype.get indexedDatabase):
1623 (WebInspector.IndexedDatabaseTreeElement.prototype.oncollapse):
1624 (WebInspector.IndexedDatabaseTreeElement.prototype.onpopulate):
1625 * UserInterface/Main.html:
1626 * UserInterface/Main.js:
1627 (WebInspector.sidebarPanelForRepresentedObject):
1628 * UserInterface/ResourceSidebarPanel.js:
1629 (WebInspector.ResourceSidebarPanel):
1630 (WebInspector.ResourceSidebarPanel.prototype._treeElementSelected):
1631 (WebInspector.ResourceSidebarPanel.prototype._indexedDatabaseWasAdded):
1632 (WebInspector.ResourceSidebarPanel.prototype._storageCleared):
1633 * UserInterface/StorageManager.js:
1634 (WebInspector.StorageManager):
1635 (WebInspector.StorageManager.prototype.initialize):
1636 (WebInspector.StorageManager.prototype.processData):
1637 (WebInspector.StorageManager.prototype.requestIndexedDatabaseData):
1638 (WebInspector.StorageManager.prototype._mainResourceDidChange):
1639 (WebInspector.StorageManager.prototype._addIndexedDBDatabasesIfNeeded.processDatabaseNames):
1640 (WebInspector.StorageManager.prototype._addIndexedDBDatabasesIfNeeded.processDatabase):
1641 (WebInspector.StorageManager.prototype._addIndexedDBDatabasesIfNeeded):
1642 (WebInspector.StorageManager.prototype._addIndexedDBDatabasesIfNeeded.processObjectStore):
1643 (WebInspector.StorageManager.prototype._addIndexedDBDatabasesIfNeeded.processObjectStoreIndex):
1644 (WebInspector.StorageManager.prototype._securityOriginDidChange):
1645 * UserInterface/URLUtilities.js:
1646 (parseSecurityOrigin):
1648 2014-02-22 Antoine Quint <graouts@webkit.org>
1650 Web Inspector: allow drag-to-adjust on angle input of gradients editor
1651 https://bugs.webkit.org/show_bug.cgi?id=129095
1653 Reviewed by Timothy Hatcher.
1655 Rename CodeMirrorDragToAlterNumberController to CodeMirrorDragToAdjustNumberController and move
1656 the core logic of a drag-to-adjust behavior out of it to a new generic class DragToAdjustController.
1657 We use this new class from CodeMirrorGradientEditingController to provide drag-to-adjust behavior
1658 in the angle input field of the gradient editor and also as a supporting object for the CodeMirror-
1661 * UserInterface/CodeMirrorDragToAdjustNumberController.css: Renamed from Source/WebInspectorUI/UserInterface/CodeMirrorDragToAlterNumberController.css.
1662 (.CodeMirror.drag-to-adjust .CodeMirror-lines):
1664 * UserInterface/CodeMirrorDragToAdjustNumberController.js: Added.
1665 Removed the UI logic and use the new DragToAdjustController as a supporting object instead. We implement
1666 the various DragToAdjustController delegate methods in order to customize its behavior to work within the
1667 context of a CodeMirror editor, specifically to prevent activation when the editor is read-only and to
1668 prevent adjustment when the hovered token isn't a number.
1670 (WebInspector.CodeMirrorDragToAdjustNumberController):
1671 (WebInspector.CodeMirrorDragToAdjustNumberController.prototype.get enabled):
1672 (WebInspector.CodeMirrorDragToAdjustNumberController.prototype.set enabled):
1673 (WebInspector.CodeMirrorDragToAdjustNumberController.prototype.dragToAdjustControllerActiveStateChanged):
1674 (WebInspector.CodeMirrorDragToAdjustNumberController.prototype.dragToAdjustControllerCanBeActivated):
1675 (WebInspector.CodeMirrorDragToAdjustNumberController.prototype.dragToAdjustControllerCanBeAdjusted):
1676 (WebInspector.CodeMirrorDragToAdjustNumberController.prototype.dragToAdjustControllerWasAdjustedByAmount):
1677 (WebInspector.CodeMirrorDragToAdjustNumberController.prototype.dragToAdjustControllerDidReset):
1678 (WebInspector.CodeMirrorDragToAdjustNumberController.prototype.dragToAdjustControllerCanAdjustObjectAtPoint):
1680 * UserInterface/CodeMirrorGradientEditingController.css:
1681 (.gradient-editing-controller > label.drag-to-adjust > input):
1683 * UserInterface/CodeMirrorGradientEditingController.js:
1684 Adopt the new DragToAdjustController to make the angle input field value adjustable by dragging.
1686 (WebInspector.CodeMirrorGradientEditingController.prototype.popoverWillPresent):
1687 (WebInspector.CodeMirrorGradientEditingController.prototype.dragToAdjustControllerWasAdjustedByAmount):
1688 (WebInspector.CodeMirrorGradientEditingController.prototype._handleInputEvent):
1689 (WebInspector.CodeMirrorGradientEditingController.prototype._angleInputValueDidChange):
1691 * UserInterface/DragToAdjustController.js: Renamed from Source/WebInspectorUI/UserInterface/CodeMirrorDragToAlterNumberController.js.
1692 New DragToAdjustController class exposing only the core UI logic of a drag-to-adjust behavior in the context
1693 of a DOM element, exposing a few delegation methods to customize the controller's behavior:
1695 - dragToAdjustControllerActiveStateChanged() notifies that the .active property has changed, allowing bringup
1696 and cleanup work to be performed.
1698 - dragToAdjustControllerDidReset() notifies that the various tracking states of the controller have been reset
1699 allowing other state objects used by clients to be cleared.
1701 - dragToAdjustControllerCanBeActivated() is used to check whether the controller may enter the active state upon
1702 first hovering the target element.
1704 - dragToAdjustControllerCanBeAdjusted() is used to check whether adjustment can be performed at the moment when
1705 the user actually is about to engage in a drag-to-adjust interaction.
1707 - dragToAdjustControllerCanAdjustObjectAtPoint() is used to check whether the object at the provided point (mouse
1708 location) is an adjustable value.
1710 - dragToAdjustControllerWasAdjustedByAmount() notifies that there is a new amount to add to the current value
1711 following a drag-to-adjust interaction.
1713 (WebInspector.DragToAdjustController):
1714 (WebInspector.DragToAdjustController.prototype.get element):
1715 (WebInspector.DragToAdjustController.prototype.set element):
1716 (WebInspector.DragToAdjustController.prototype.set enabled):
1717 (WebInspector.DragToAdjustController.prototype.get active):
1718 (WebInspector.DragToAdjustController.prototype.set active):
1719 (WebInspector.DragToAdjustController.prototype.reset):
1720 (WebInspector.DragToAdjustController.prototype.handleEvent):
1721 (WebInspector.DragToAdjustController.prototype._setDragging):
1722 (WebInspector.DragToAdjustController.prototype._setTracksMouseClickAndDrag):
1723 (WebInspector.DragToAdjustController.prototype._modifiersDidChange):
1724 (WebInspector.DragToAdjustController.prototype._mouseMoved):
1725 (WebInspector.DragToAdjustController.prototype._mouseWasPressed):
1726 (WebInspector.DragToAdjustController.prototype._mouseWasDragged):
1727 (WebInspector.DragToAdjustController.prototype._mouseWasReleased):
1729 * UserInterface/Main.html:
1730 Link in new source files.
1732 2014-02-21 Chi Wai Lau <clau@apple.com>
1734 Web Inspector: Replace binarySearch with lowerBound and upperBound functions
1735 https://bugs.webkit.org/show_bug.cgi?id=118609
1737 Reviewed by Timothy Hatcher.
1739 This makes insertionIndexForObjectInListSortedByFunction work in O(log(n)) time instead of O(n).
1741 * UserInterface/BinarySearch.js: Removed.
1742 * UserInterface/Main.html:
1743 * UserInterface/Utilities.js:
1744 * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
1745 * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
1747 2014-02-21 Brian Burg <bburg@apple.com>
1749 Web Inspector: animate breakpoint tree elements when probe samples are received
1750 https://bugs.webkit.org/show_bug.cgi?id=128334
1752 Reviewed by Timothy Hatcher.
1754 * UserInterface/BreakpointIcons.css: Removed, rules migrated to the following file.
1756 * UserInterface/BreakpointTreeElement.css: When we want to animateon top of the
1757 static icon, we set the icon image as the icon element's background, and animate
1758 a span on top of the icon element.
1760 (.breakpoint-exception-icon .icon): Moved.
1761 (.breakpoint-generic-line-icon .icon):
1762 (.breakpoint-generic-line-icon .icon > span): Added.
1763 (.data-updated.breakpoint-generic-line-icon .icon > span): Added.
1765 * UserInterface/BreakpointTreeElement.js:
1766 (WebInspector.BreakpointTreeElement): Rewrite event listener add/remove to use EventListenerSet.
1767 (WebInspector.BreakpointTreeElement.prototype.ondetach): Override to unregister the instance's listeners.
1768 (WebInspector.BreakpointTreeElement.prototype._addProbeSet): Added.
1769 (WebInspector.BreakpointTreeElement.prototype._removeProbeSet): Added.
1770 (WebInspector.BreakpointTreeElement.prototype._probeSetAdded): Added.
1771 (WebInspector.BreakpointTreeElement.prototype._probeSetRemoved): Added.
1772 Add/remove listeners when probe sets change.
1774 (WebInspector.BreakpointTreeElement.prototype._samplesCleared): Listeners should follow
1775 the active data table.
1777 (WebInspector.BreakpointTreeElement.prototype._dataUpdated): Run the animation when probe data changes.
1778 (WebInspector.BreakpointTreeElement.prototype._breakpointLocationDidChange): Fix a listener leak.
1779 * UserInterface/Main.html: Remove BreakpointIcons.css.
1780 * UserInterface/NavigationSidebarPanel.css:
1781 (.navigation-sidebar-panel-content-tree-outline .item .icon): give icons
1782 'position: relative' so child spans can be absolutely positioned.
1783 * UserInterface/ProbeDetailsSidebarPanel.js: Get probeSet out of the event data
1784 container. The probe set used to be passed as the data container itself.
1785 (WebInspector.ProbeDetailsSidebarPanel.prototype._probeSetAdded):
1786 * UserInterface/ProbeManager.js:
1787 (WebInspector.ProbeManager.prototype._breakpointActionsChanged.set get knownProbeIdentifiers):
1788 (WebInspector.ProbeManager.prototype._breakpointActionsChanged):
1789 (WebInspector.ProbeManager.prototype.get _probeSetForBreakpoint.set this):
1790 * UserInterface/ProbeSet.js:
1791 (WebInspector.ProbeSet.prototype.clearSamples): include the old data table as the SamplesCleared event data.
1792 * UserInterface/TextResourceContentView.js:
1793 (WebInspector.TextResourceContentView.prototype._probeSetsChanged):
1795 2014-02-21 Joseph Pecoraro <pecoraro@apple.com>
1797 Web Inspector: JSContext inspection should report exceptions in the console
1798 https://bugs.webkit.org/show_bug.cgi?id=128776
1800 Reviewed by Timothy Hatcher.
1802 * UserInterface/ConsoleMessageImpl.js:
1803 (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
1804 (WebInspector.ConsoleMessageImpl.prototype._shouldHideURL):
1805 (WebInspector.ConsoleMessageImpl.prototype._firstNonNativeCallFrame):
1806 (WebInspector.ConsoleMessageImpl.prototype._populateStackTraceTreeElement):
1807 Provide better handling for "[native code]" and legacy "undefined"
1808 call frame URLs. Never linkify these. Also, when showing a link
1809 for an exception, always use the first non-native call frame as
1812 2014-02-21 Joseph Pecoraro <pecoraro@apple.com>
1814 Revert r164486, causing a number of test failures.
1818 2014-02-21 Joseph Pecoraro <pecoraro@apple.com>
1820 Web Inspector: JSContext inspection should report exceptions in the console
1821 https://bugs.webkit.org/show_bug.cgi?id=128776
1823 Reviewed by Timothy Hatcher.
1825 * UserInterface/ConsoleMessageImpl.js:
1826 (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
1827 (WebInspector.ConsoleMessageImpl.prototype._shouldHideURL):
1828 (WebInspector.ConsoleMessageImpl.prototype._firstNonNativeCallFrame):
1829 (WebInspector.ConsoleMessageImpl.prototype._populateStackTraceTreeElement):
1830 Provide better handling for "[native code]" and legacy "undefined"
1831 call frame URLs. Never linkify these. Also, when showing a link
1832 for an exception, always use the first non-native call frame as
1835 2014-02-21 Antoine Quint <graouts@webkit.org>
1837 Web Inspector: scrollbar may appear when selecting a stop in gradient editor
1838 https://bugs.webkit.org/show_bug.cgi?id=129149
1840 Reviewed by Timothy Hatcher.
1842 Ensure the angle input is not focused as we update the size of the gradient editor's
1843 popover content since, if it were, it'd make a scrollbar appear as we animate the
1844 popover's frame to fit its new content.
1846 * UserInterface/CodeMirrorGradientEditingController.js:
1847 (WebInspector.CodeMirrorGradientEditingController.prototype.gradientSliderStopWasSelected):
1849 2014-02-20 Antoine Quint <graouts@webkit.org>
1851 Web Inspector: rich editing of CSS gradients
1852 https://bugs.webkit.org/show_bug.cgi?id=119686
1854 Reviewed by Timothy Hatcher.
1856 Look for gradient definitions in CSS resources and implement a gradient-specific CodeMirrorEditingController
1857 to edit those CSS gradients. The CodeMirrorGradientEditingController consists of a GradientSlider, a new widget
1858 allowing the editing of gradient stops, a <select> to pick between various gradient types, a text input to edit
1859 the gradient angle (for linear gradients) and finally a ColorPicker when a gradient stop is picked for editing.
1861 * Localizations/en.lproj/localizedStrings.js:
1862 New localized strings for the content of the gradient editing controller popover.
1864 * UserInterface/CodeMirrorAdditions.js:
1865 New .createGradientMarkers() method which, similar to .createColorMarkers(), takes in an optional TextRange, and
1866 looks for all gradients specified in CSS to create TextMarkers with new type WebInspector.TextMarker.Type.Gradient.
1867 In order to fully identify these CSS gradient strings, we implement a tokenizer to look for the final closing
1868 parenthesis since there can be nested opening and closing parentheses as colors are specified for stops.
1870 * UserInterface/CodeMirrorGradientEditingController.css: Added.
1871 (.gradient-editing-controller):
1872 (.gradient-editing-controller.edits-color):
1873 (.gradient-editing-controller.radial-gradient):
1874 (.gradient-editing-controller.edits-color.radial-gradient):
1875 (.gradient-editing-controller select):
1876 (.gradient-editing-controller .gradient-slider):
1877 (.gradient-editing-controller .color-picker):
1878 (.gradient-editing-controller > .color-picker > .slider):
1879 (.gradient-editing-controller > .color-picker > .brightness):
1880 (.gradient-editing-controller > .color-picker > .opacity):
1881 (.gradient-editing-controller > label):
1882 (.gradient-editing-controller.radial-gradient > label):
1883 (.gradient-editing-controller.edits-color > label):
1884 (.gradient-editing-controller > label > input):
1886 * UserInterface/CodeMirrorGradientEditingController.js: Added.
1887 (WebInspector.CodeMirrorGradientEditingController):
1888 (WebInspector.CodeMirrorGradientEditingController.prototype.get initialValue):
1889 (WebInspector.CodeMirrorGradientEditingController.prototype.get cssClassName):
1890 (WebInspector.CodeMirrorGradientEditingController.prototype.get popoverPreferredEdges):
1891 (WebInspector.CodeMirrorGradientEditingController.prototype.popoverTargetFrameWithRects):
1892 (WebInspector.CodeMirrorGradientEditingController.prototype.popoverWillPresent):
1893 (WebInspector.CodeMirrorGradientEditingController.prototype.popoverDidPresent):
1894 Implementation of CodeMirrorEditingController methods meant to be overridden. This allows us
1895 to customize the popover's appearance, mostly to control how it attaches to the gradient
1896 strings in the editor.
1898 (WebInspector.CodeMirrorGradientEditingController.prototype.handleEvent):
1899 Event handler for changes in the <select> governing gradient type and <input> for the angle.
1901 (WebInspector.CodeMirrorGradientEditingController.prototype.gradientSliderStopsDidChange):
1902 Implementation of a GradientSlider delegation method, we use this to update the .text property
1903 in order to propagate the stops change to the editor.
1905 (WebInspector.CodeMirrorGradientEditingController.prototype.gradientSliderStopWasSelected):
1906 Implementation of a GradientSlider delegation method, we use this to control the display of the
1907 ColorPicker used to edit the color of a selected stop.
1909 (WebInspector.CodeMirrorGradientEditingController.prototype._handleInputEvent):
1910 Deal with changes in the <input> for the angle, ensuring we have a "º" string added to the value.
1912 (WebInspector.CodeMirrorGradientEditingController.prototype._handleChangeEvent):
1913 Deal with changes in the <select> for the type, preserving the stops list from one gradient type
1914 to the other. Gradient type-specific information (angle for linear gradients, sizing for radial
1915 gradients) is lost as we toggle between gradient types.
1917 (WebInspector.CodeMirrorGradientEditingController.prototype._colorPickerColorChanged):
1918 Propagate a color change in the ColorPicker to the stop being edited in the GradientSlider and
1919 and update the .text property in order to propagate the stops change to the editor.
1921 (WebInspector.CodeMirrorGradientEditingController.prototype._updateCSSClassForGradientType):
1922 As we toggle the gradient type in ._handleChangeEvent(), update the CSS class used to hide or show
1923 the angle <input> which is only relevant for linear gradients.
1925 * UserInterface/ColorPicker.js:
1926 (WebInspector.ColorPicker):
1927 Adopt the new Checkers.svg file to display the checkers pattern in the background of the opacity slider.
1929 (WebInspector.ColorPicker.prototype.get colorWheel):
1930 Expose the ColorWheel such that it can be sized by ColorPicker clients.
1932 (WebInspector.ColorPicker.prototype._updateColor):
1933 Drive-by fix for a bug where we'd attempt to use the RGB components of a color to get the alpha-aware version
1934 of the color even though the base format was HSL.
1936 * UserInterface/Gradient.js: Added.
1937 Parser for gradient strings as passed from the CodeMirror .createGradientMarkers() extension method. In the case
1938 of linear gradients, we parse all values, save for lengths, and in the case of radial gradients, we preserve the
1939 sizing information as a string and parse only the gradient stops as the sizing information is only useful to show
1940 in an editor if attached to an element with metrics.
1942 Since instances of Gradient are used as the .value property of CodeMirrorGradientEditingController, we implement
1943 the required .copy() and .toString() methods. The .toString() implementations are aware of default values for angles
1944 and color stop offsets and only print those as necessary and use shorthands when possible.
1946 (WebInspector.Gradient.fromString):
1947 (WebInspector.Gradient.stopsWithComponents):
1948 (WebInspector.Gradient.stringFromStops):
1949 (WebInspector.LinearGradient):
1950 (WebInspector.LinearGradient.linearGradientWithComponents):
1951 (WebInspector.LinearGradient.prototype.copy):
1952 (WebInspector.LinearGradient.prototype.toString):
1953 (WebInspector.RadialGradient):
1954 (WebInspector.RadialGradient.radialGradientWithComponents):
1955 (WebInspector.RadialGradient.prototype.copy):
1956 (WebInspector.RadialGradient.prototype.toString):
1958 * UserInterface/GradientSlider.css: Added.
1960 (.gradient-slider > canvas):
1961 (.gradient-slider > .add-area):
1962 (.gradient-slider-knob):
1963 (.gradient-slider-knob.shadow):
1964 (.gradient-slider-knob.selected):
1965 (.gradient-slider-knob.detaching):
1966 (.gradient-slider-knob.fade-out):
1967 (.gradient-slider-knob > div):
1968 (.gradient-slider-knob > img):
1970 * UserInterface/GradientSlider.js: Added.
1971 Widget used to edit a list of stops for a gradient, linear or radial. The widget features a <canvas> element
1972 that draws the gradient as a linear gradient from left to right with checkers in the background to correctly
1973 display transparent colors. Attached to this background, individual knobs are shown for each stop in the provided
1974 stops array. These knobs can be dragged from left to right to change the matching stop offset, but also down to
1975 detach the knob and remove this stop. Additionally, knobs can be clicked to toggle their selected state, where only
1976 one knob can be selected at a time. The Esc. key is used to remove selection of the currently selected knob.
1978 (WebInspector.GradientSlider):
1979 (WebInspector.GradientSlider.prototype.get element):
1980 (WebInspector.GradientSlider.prototype.get stops):
1981 (WebInspector.GradientSlider.prototype.set stops):
1982 (WebInspector.GradientSlider.prototype.get selectedStop):
1983 (WebInspector.GradientSlider.prototype.handleEvent):
1984 (WebInspector.GradientSlider.prototype.handleKeydownEvent):
1985 (WebInspector.GradientSlider.prototype.knobXDidChange):
1986 (WebInspector.GradientSlider.prototype.knobCanDetach):
1987 (WebInspector.GradientSlider.prototype.knobWillDetach):
1988 (WebInspector.GradientSlider.prototype.knobSelectionChanged):
1989 (WebInspector.GradientSlider.prototype._handleMouseover):
1990 (WebInspector.GradientSlider.prototype._handleMousemove):
1991 (WebInspector.GradientSlider.prototype._handleMouseout):
1992 (WebInspector.GradientSlider.prototype._handleClick):
1993 (WebInspector.GradientSlider.prototype._updateShadowKnob):
1994 (WebInspector.GradientSlider.prototype._sortStops):
1995 (WebInspector.GradientSlider.prototype._updateStops):
1996 (WebInspector.GradientSlider.prototype._updateCanvas):
1997 (WebInspector.GradientSlider.prototype._updateKnobs):
1998 (WebInspector.GradientSliderKnob):
1999 (WebInspector.GradientSliderKnob.prototype.get element):
2000 (WebInspector.GradientSliderKnob.prototype.get stop):
2001 (WebInspector.GradientSliderKnob.prototype.set stop):
2002 (WebInspector.GradientSliderKnob.prototype.get x):
2003 (WebInspector.GradientSliderKnob.prototype.set x):
2004 (WebInspector.GradientSliderKnob.prototype.get y):
2005 (WebInspector.GradientSliderKnob.prototype.set y):
2006 (WebInspector.GradientSliderKnob.prototype.get wellColor):
2007 (WebInspector.GradientSliderKnob.prototype.set wellColor):
2008 (WebInspector.GradientSliderKnob.prototype.get selected):
2009 (WebInspector.GradientSliderKnob.prototype.set selected):
2010 (WebInspector.GradientSliderKnob.prototype.handleEvent):
2011 (WebInspector.GradientSliderKnob.prototype._handleMousedown):
2012 (WebInspector.GradientSliderKnob.prototype._handleMousemove):
2013 (WebInspector.GradientSliderKnob.prototype._handleMouseup):
2014 (WebInspector.GradientSliderKnob.prototype._handleTransitionEnd):
2015 (WebInspector.GradientSliderKnob.prototype._updateTransform):
2017 * UserInterface/Images/Checkers.svg: Added.
2018 New asset to draw checkers for color wells.
2020 * UserInterface/Images/GradientStop.png: Added.
2021 * UserInterface/Images/GradientStop@2x.png: Added.
2022 * UserInterface/Images/GradientStopSelected.png: Added.
2023 * UserInterface/Images/GradientStopSelected@2x.png: Added.
2024 New assets used by the gradient slider.
2026 * UserInterface/Main.html:
2027 Link to the new source files.
2029 * UserInterface/SourceCodeTextEditor.js:
2030 (WebInspector.SourceCodeTextEditor.prototype._updateEditableMarkers):
2031 Add a call to .createGradientMarkers() such that we support editing of CSS gradients in such editors.
2033 (WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedMarkedExpression):
2034 Also recognize gradient markers as valid editable markers.
2036 * UserInterface/TextEditor.js:
2037 (WebInspector.TextEditor.prototype.createGradientMarkers):
2038 Wrapper for the CodeMirror extension method .createGradientMarkers() such that it may be used by subclasses
2039 that have no knowledge of CodeMirror.
2041 (WebInspector.TextEditor.prototype.editingControllerForMarker):
2042 Return a CodeMirrorGradientEditingController for TextMarkers with WebInspector.TextMarker.Type.Gradient type.
2044 * UserInterface/TextMarker.js:
2045 Add the WebInspector.TextMarker.Type.Gradient type.
2047 2014-02-20 Antoine Quint <graouts@webkit.org>
2049 Web Inspector: create a CodeMirrorEditingController superclass
2050 https://bugs.webkit.org/show_bug.cgi?id=129094
2052 Reviewed by Timothy Hatcher.
2054 Take code that is generic to editing of any text marker out of CodeMirrorColorEditingController to
2055 create a new CodeMirrorEditingController superclass that'll be fit to use for future editing controllers.
2056 Additioanlly, we fix existing issues with such editing by supporting text markers spread across several
2057 lines and more robustly handling the Esc. key being pressed to dismiss a controller's popover.
2059 * UserInterface/CSSStyleDeclarationTextEditor.js:
2060 (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches):
2061 Adopt the new .createColorMarkers() method signature to provide a TextRange parameter rather than a single
2064 * UserInterface/CodeMirrorAdditions.js:
2065 Remove the .boundsForRange() method in favor of a .rectsForRange() method which will allow us to draw better
2066 menus when hovering over a text range by providing tight bounds rather than a large box. We also handle any
2067 line wrapping produced by CodeMirror and remove any leading white-space so that the rects are tight to the
2068 actual characters in the text marker.
2070 We also change .createColorMarkers() to take in a TextRange parameter rather than a line number in order to
2071 better deal with text markers spread across multiple lines.
2073 * UserInterface/CodeMirrorColorEditingController.js:
2074 Remove any code that is adequate for any editing controller (which is moving to CodeMirrorEditingController).
2075 We also adopt new interfaces exposed by CodeMirrorEditingController.
2077 (WebInspector.CodeMirrorColorEditingController):
2078 (WebInspector.CodeMirrorColorEditingController.prototype.get initialValue):
2079 (WebInspector.CodeMirrorColorEditingController.prototype.get cssClassName):
2080 (WebInspector.CodeMirrorColorEditingController.prototype.popoverWillPresent):
2081 (WebInspector.CodeMirrorColorEditingController.prototype.popoverDidPresent):
2082 (WebInspector.CodeMirrorColorEditingController.prototype._colorPickerColorChanged):
2084 * UserInterface/CodeMirrorEditingController.js: Copied from Source/WebInspectorUI/UserInterface/CodeMirrorColorEditingController.js.
2085 New class meant to be subclassed by any future editing controller, and already subclassed by
2086 CodeMirrorColorEditingController. This class exposes several hooks for subclasses to customize its behavior:
2088 .initialValue: a value we can revert to if the editing is canceled
2089 .cssClassName: a CSS class name that can be added to the editing controller's container
2090 .popoverPreferredEdges: a list of preferredEdges as passed to Popover.prototype.present() with a sensible default
2091 .popoverTargetFrameWithRects: a targetFrame passed to Popover.prototype.present(), defaults to a union of provided rects
2092 .popoverWillPresent: called as the popover is about to be presented, typically overridden to set the popover's content
2093 .popoverDidPresent: called as the popover just was presented, typically overridden when content needs to tuned only after
2094 being added to the DOM and setting of the necessary machinery to update the serialized value in the editor based on interaction
2095 within the popover without changing the serialized value upon showing the popover the very first time.
2097 Additionally, the .value property must be an object supporting .toString() and .copy() method.
2099 Finally, the .editingControllerDidStartEditing() and .editingControllerDidFinishEditing() delegate methods are fired
2100 as editing begins and finishes.
2102 (WebInspector.CodeMirrorEditingController):
2103 (WebInspector.CodeMirrorEditingController.prototype.get marker):
2104 (WebInspector.CodeMirrorEditingController.prototype.get range):
2105 (WebInspector.CodeMirrorEditingController.prototype.get value):
2106 (WebInspector.CodeMirrorEditingController.prototype.set value):
2107 (WebInspector.CodeMirrorEditingController.prototype.get delegate):
2108 (WebInspector.CodeMirrorEditingController.prototype.set delegate):
2109 (WebInspector.CodeMirrorEditingController.prototype.get text):
2110 (WebInspector.CodeMirrorEditingController.prototype.set text):
2111 (WebInspector.CodeMirrorEditingController.prototype.get initialValue):
2112 (WebInspector.CodeMirrorEditingController.prototype.get cssClassName):
2113 (WebInspector.CodeMirrorEditingController.prototype.get popover):
2114 (WebInspector.CodeMirrorEditingController.prototype.get popoverPreferredEdges):
2115 (WebInspector.CodeMirrorEditingController.prototype.popoverTargetFrameWithRects):
2116 (WebInspector.CodeMirrorEditingController.prototype.presentHoverMenu):
2117 (WebInspector.CodeMirrorEditingController.prototype.dismissHoverMenu):
2118 (WebInspector.CodeMirrorEditingController.prototype.popoverWillPresent):
2119 (WebInspector.CodeMirrorEditingController.prototype.popoverDidPresent):
2121 (WebInspector.CodeMirrorEditingController.prototype.handleKeydownEvent):
2122 Event handler for keydown events as registered via the new WebInspector.addWindowKeydownListener() method.
2124 (WebInspector.CodeMirrorEditingController.prototype.hoverMenuButtonWasPressed):
2125 (WebInspector.CodeMirrorEditingController.prototype.didDismissPopover):
2127 * UserInterface/Geometry.js:
2128 (WebInspector.Rect.unionOfRects):
2129 (WebInspector.Rect.prototype.unionWithRect):
2130 New utilities to get a Rect that is the union of the provided Rect or array of Rects.
2132 (WebInspector.Polygon):
2133 (WebInspector.Polygon.prototype.bounds):
2134 New class used to store a list of points for a polygon and get its bounds, used by the HoverMenu class.
2136 * UserInterface/HoverMenu.css:
2138 (.hover-menu > svg):
2139 (.hover-menu > svg > rect):
2140 (.hover-menu > img):
2142 * UserInterface/HoverMenu.js:
2143 We remove the assumption that a HoverMenu is only used to draw a single rounded rect based on a simple
2144 Rect and instead support presentation based on an array of Rects where we either:
2146 - draw a single rounded rectangle if there is only a single Rect provided
2147 - draw two disconnected open-ended rects if we're provided with two non-overlapping Rects
2148 - draw a polygon surrounding all provided Rects in all other cases
2150 No matter how the HoverMenu is drawn, the drawing is performed in SVG with either <rect> or a <path> elements.
2152 (WebInspector.HoverMenu):
2153 (WebInspector.HoverMenu.prototype.present):
2154 (WebInspector.HoverMenu.prototype.dismiss):
2155 (WebInspector.HoverMenu.prototype.handleEvent):
2156 (WebInspector.HoverMenu.prototype._handleClickEvent):
2157 (WebInspector.HoverMenu.prototype._drawOutline):
2158 (WebInspector.HoverMenu.prototype._addRect):
2159 (WebInspector.HoverMenu.prototype._addPath):
2160 (WebInspector.HoverMenu.prototype._drawSingleLine):
2161 (WebInspector.HoverMenu.prototype._drawTwoNonOverlappingLines):
2162 (WebInspector.HoverMenu.prototype._drawOverlappingLines):
2164 * UserInterface/Main.html:
2165 Link to the new CodeMirrorEditingController class.
2167 * UserInterface/Main.js:
2168 Expose a new mechanism to deal with window-level handling of keydown events in order to allow
2169 a list of handlers to accept or reject dealing with the provided keydown event based on the order
2170 they were registered, in most recent to oldest registered handler. This allows, for instance, for
2171 a more graceful handling of the Esc. key being pressed in the CodeMirrorEditingController and
2172 bypasses the DOM structure allowing for objects managing elements in different DOM hierarchies
2173 to compete with handling of keydown events.
2175 (WebInspector.loaded):
2176 (WebInspector.addWindowKeydownListener):
2177 (WebInspector.removeWindowKeydownListener):
2178 (WebInspector._updateWindowKeydownListener):
2179 (WebInspector._sharedWindowKeydownListener):
2181 * UserInterface/SourceCodeTextEditor.css:
2182 (.hover-menu.color > img):
2183 Update the offset applied to a HoverMenu button based on the change of layout for such buttons which
2184 are now absolutely positioned in code by HoverMenu rather than being laid out using the flex-box model.
2186 * UserInterface/SourceCodeTextEditor.js:
2187 Abstrct away the assumption that only a color editing controller may be used to edit text markers in
2188 a source code text editor.
2190 (WebInspector.SourceCodeTextEditor.prototype.hidden):
2191 Ensure we remove any currently-displayed hover menu for an editing controller when the editor is hidden.
2192 This would happen in the situation where a keyboard shortcut was used to jump to another part of the
2193 Web Inspector UI without using the mouse.
2195 (WebInspector.SourceCodeTextEditor.prototype.contentDidChange):
2196 Since we're now working with text ranges rather than lines, remove the code where we'd work out a set of
2197 changed lines and call ._updateEditableMarkers() with the changed range directly instead.
2199 (WebInspector.SourceCodeTextEditor.prototype._contentDidPopulate):
2200 (WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerNewHighlightCandidate):
2201 (WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerMouseOutOfHoveredMarker):
2202 Adopt the more generic method names rather than color-specific ones.
2204 (WebInspector.SourceCodeTextEditor.prototype._showPopover):
2205 When showing the popover outside of the use of a CodeMirrorEditingController, such as a JavaScript expression
2206 when debugging, also deal with the possibility of the highlighted range containing multiple lines rather
2207 than assume a single line.
2209 (WebInspector.SourceCodeTextEditor.prototype._updateEditableMarkers):
2210 More generic method name to support future, non-color editing controllers.
2212 (WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedMarkedExpression):
2213 Find the outermost marker in the list of markers provided such that a marker containing other markers
2214 shows the UI for the containing marker. For instance, a gradient marker would contain several color
2215 markers and it's preferable to show the editing UI for the whole gradient rather than a specific color.
2217 Additionally, adopt more generic ivars and method names to support future, non-color editing controllers.
2219 (WebInspector.SourceCodeTextEditor.prototype._dismissEditingController):
2220 Support for new parameter instructing that the editing controller dismissal should be instant rather than
2221 animated, which is the default. This is useful when, for instance, the text editor is cleared.
2223 (WebInspector.SourceCodeTextEditor.prototype.editingControllerDidStartEditing):
2224 (WebInspector.SourceCodeTextEditor.prototype.editingControllerDidFinishEditing):
2225 Adopt the more generic method names rather than color-specific ones.
2227 * UserInterface/TextEditor.js:
2228 (WebInspector.TextEditor.prototype.rectsForRange):
2229 Remove .boundsForRange() in favor of this new method where we return a series of rects so that we may
2230 draw a more pleasing HoverMenu.
2232 (WebInspector.TextEditor.prototype.createColorMarkers):
2233 Use a TextRanger rather than a single line number to match the underlying CodeMirror extension method.
2235 (WebInspector.TextEditor.prototype.editingControllerForMarker):
2236 Use the provided TextMarker's type to provide the most adequate CodeMirrorEditingController class.
2238 * UserInterface/TextMarker.js:
2239 (WebInspector.TextMarker.prototype.get rects):
2240 Remove the .bounds property in favor of .rects to match the underlying CodeMirror extension method.
2242 2014-02-20 Antoine Quint <graouts@webkit.org>
2244 Web Inspector: Popover should animate its frame to display its refreshed content
2245 https://bugs.webkit.org/show_bug.cgi?id=129088
2247 Reviewed by Timothy Hatcher.
2249 When calling .update(), we now check whether we can animate the change of frame provided the
2250 new computed frame to best fit the current content still matches the edge the popover uses
2251 to attach to the target frame. If we find that we can do so, we animate the background frame
2252 of the popover while ensuring the anchor point remains stable during the animation such that
2253 only the popover's frame seems to animate.
2255 * UserInterface/Geometry.js:
2256 (WebInspector.Rect.prototype.round):
2257 Returns a new Rect with rounded values, using a floor for the position and a ceil for the size.
2259 * UserInterface/Main.html:
2260 Link to the new UnitBezier.js source file.
2262 * UserInterface/Popover.js:
2263 (WebInspector.Popover):
2264 Make ._anchorPoint an ivar such that we don't need to pass a reference to the anchorPoint into
2265 the various calls leading to an update of the popover's background drawing.
2267 (WebInspector.Popover.prototype.set frame):
2268 We no longer round the values of the frame here, instead calling the new .round() method on Rect
2269 in places where we compute a new frame.
2271 (WebInspector.Popover.prototype.set content):
2272 (WebInspector.Popover.prototype.update):
2273 Update the calls to ._update() to set the new shouldAnimate flag to true in situations where the
2274 popover is already visible.
2276 (WebInspector.Popover.prototype._update):
2277 In the situation where there is a preference to animate the frame, as set by the new shouldAnimate
2278 parameter, check that we can indeed animate by ensuring that the edge the popover uses to attach to
2279 the target frame remains the same upon computing the new best metrics for the new content size. If
2280 we can indeed animate, call _animateFrame(), otherwise set the new frame, anchor point and frame
2281 drawing discretely like we used to.
2283 (WebInspector.Popover.prototype._setAnchorPoint):
2284 New method to ensure we floor the position of the anchor point to ensure, when animating, that the
2285 anchor point remains stationary.
2287 (WebInspector.Popover.prototype._animateFrame):
2288 Using the new UnitBezier class, animate the popover frame from its previous value to its newly computed
2289 value while ensuring the anchor point remains, at all times, the same absolute position such that it
2290 remains stationary during the animation. The spline used to animate the frame is the same that a CSS
2291 transition set with an "ease" timing-function (default value) would use.
2293 (WebInspector.Popover.prototype._drawBackground):
2294 (WebInspector.Popover.prototype._drawFrame):
2295 Adopt new ._edge and ._anchorPoint ivars.
2297 * UserInterface/UnitBezier.js: Added.
2298 New class used to perform animations using a timing function specified with a cubic Bézier curve. The code
2299 is directly adapted from the Source/WebCore/platform/graphics/UnitBezier.h file.
2301 (WebInspector.UnitBezier):
2302 (WebInspector.UnitBezier.prototype.solve):
2303 (WebInspector.UnitBezier.prototype._sampleCurveX):
2304 (WebInspector.UnitBezier.prototype._sampleCurveY):
2305 (WebInspector.UnitBezier.prototype._sampleCurveDerivativeX):
2306 (WebInspector.UnitBezier.prototype._solveCurveX):
2308 2014-02-20 Antoine Quint <graouts@webkit.org>
2310 Web Inspector: content using a CSS transition within a popover causes the popover to disappear
2311 https://bugs.webkit.org/show_bug.cgi?id=129089
2313 Reviewed by Timothy Hatcher.
2315 Simply check that the element being transitioned is indeed the popover's container before assuming
2316 that the "transitonend" received was for a fade-out transition.
2318 * UserInterface/Popover.js:
2319 (WebInspector.Popover.prototype.handleEvent):
2321 2014-02-20 Antoine Quint <graouts@webkit.org>
2323 Web Inspector: clicking on a color swatch in the Computed styles tab shouldn't show the color editing popover
2324 https://bugs.webkit.org/show_bug.cgi?id=129093
2326 Reviewed by Timothy Hatcher.
2328 If the current editor is read-only, only allow cycling between color types since it wouldn't make sense to edit
2331 * UserInterface/CSSStyleDeclarationTextEditor.js:
2333 2014-02-19 Joseph Pecoraro <pecoraro@apple.com>
2335 Web Inspector: Remove unused InspectorBackend member variable
2336 https://bugs.webkit.org/show_bug.cgi?id=129053
2338 Reviewed by Timothy Hatcher.
2340 * UserInterface/InspectorBackend.js:
2341 (InspectorBackendClass):
2342 (InspectorBackendClass.prototype.registerCommand):
2343 (InspectorBackendClass.prototype.registerEnum):
2344 (InspectorBackendClass.prototype.registerEvent):
2346 2014-02-19 James Craig <jcraig@apple.com>
2348 Web Inspector: AX: clarify reason for ignored state where possible (hidden, default for tag, etc)
2349 https://bugs.webkit.org/show_bug.cgi?id=129037
2351 Reviewed by Timothy Hatcher.
2353 Passing back hidden and ignoredByDefault attrs to clarify some reasons for "ignored" status.
2355 * Localizations/en.lproj/localizedStrings.js:
2356 * UserInterface/DOMNode.js:
2357 * UserInterface/DOMNodeDetailsSidebarPanel.js:
2359 2014-02-18 James Craig <jcraig@apple.com>
2361 Web Inspector: AX: more properties: exists, required, and invalid (exists was previously combined with ignored)
2362 https://bugs.webkit.org/show_bug.cgi?id=128504
2364 Reviewed by Timothy Hatcher.
2366 Additions to the accessibility node inspector: exists, required, invalid.
2368 * Localizations/en.lproj/localizedStrings.js:
2369 * UserInterface/DOMNode.js:
2370 * UserInterface/DOMNodeDetailsSidebarPanel.js:
2372 2014-02-18 Antoine Quint <graouts@webkit.org>
2374 Web Inspector: editing a color in the Styles sidebar using the color picker only works once for a given color
2375 https://bugs.webkit.org/show_bug.cgi?id=128965
2377 Reviewed by Timothy Hatcher.
2379 Use the WebInspector.TextMarker backing the CodeMirror TextMarker object to inspect its type in
2380 order to identify color markers that were created for a color. This fixes a regression introduced
2381 in http://webkit.org/b/125695 when we abstracted CodeMirror TextMarker objects.
2383 * UserInterface/CSSStyleDeclarationTextEditor.js:
2384 (WebInspector.CSSStyleDeclarationTextEditor.prototype._colorSwatchClicked.updateCodeMirror.update):
2385 (WebInspector.CSSStyleDeclarationTextEditor.prototype._colorSwatchClicked.updateCodeMirror):
2387 2014-02-18 Antoine Quint <graouts@webkit.org>
2389 Web Inspector: Editing transparent color shows incorrect opacity slider
2390 https://bugs.webkit.org/show_bug.cgi?id=128975
2392 Reviewed by Joseph Pecoraro.
2394 The opacity slider should show a range of colors from transparent to the full opacity of the tinted color.
2396 * UserInterface/ColorPicker.js:
2397 (WebInspector.ColorPicker.prototype._updateSliders):
2399 2014-02-18 Joseph Pecoraro <pecoraro@apple.com>
2401 Web Inspector: shift-clicking #fff swatch results in bad rgb value
2402 https://bugs.webkit.org/show_bug.cgi?id=128954
2404 Reviewed by Daniel Bates.
2406 parseInt("FF", 16) is already 255. Do not multiply the result by 255.
2408 * UserInterface/Color.js:
2409 (WebInspector.Color.fromString):
2411 2014-02-18 Antoine Quint <graouts@webkit.org>
2413 Web Inspector: color picker sliders sometime look wrong on Retina display
2414 https://bugs.webkit.org/show_bug.cgi?id=128963
2416 Reviewed by Timothy Hatcher.
2418 Round the values used to position and size popovers in order to ensure that their content don't suffer
2419 from poor pixel alignment on Retina displays.
2421 * UserInterface/Popover.js:
2422 (WebInspector.Popover.prototype.set frame):
2424 2014-02-17 Antoine Quint <graouts@webkit.org>
2426 Web Inspector: CSS selectors containing a color name shouldn't be considered for color editing
2427 https://bugs.webkit.org/show_bug.cgi?id=128909
2429 Reviewed by Joseph Pecoraro.
2431 Disregard any text that might be contained within a CSS selector.
2433 * UserInterface/CodeMirrorAdditions.js:
2435 2014-02-15 Chris J. Shull <chrisjshull@gmail.com>
2437 Web Inspector: scope chain details sidebar doesn't update values modified via console
2438 https://bugs.webkit.org/show_bug.cgi?id=126855
2440 Reviewed by Timothy Hatcher.
2442 Add a RuntimeManager event that the scope chain details sidebar can
2443 listen to to trigger refresh.
2445 Testing on this is blocked by http://webkit.org/b/128724
2446 (Web Inspector: Issue testing breakpoints).
2448 * UserInterface/RuntimeManager.js:
2449 (WebInspector.RuntimeManager.prototype.evalCallback):
2450 (WebInspector.RuntimeManager.prototype.evaluateInInspectedWindow):
2451 * UserInterface/ScopeChainDetailsSidebarPanel.js:
2452 (WebInspector.ScopeChainDetailsSidebarPanel):
2454 2014-02-14 Antoine Quint <graouts@webkit.org>
2456 Web Inspector: color wheel should support Retina displays
2457 https://bugs.webkit.org/show_bug.cgi?id=124355
2459 Reviewed by Timothy Hatcher.
2461 Take into account the devicePixelRatio in order to draw the color wheel
2462 with as many colors as we can draw with the current DPI and to correctly
2463 convert from page coordinates to canvas coordinates when dealing with
2466 * UserInterface/ColorWheel.js:
2467 (WebInspector.ColorWheel.prototype.set dimension):
2468 (WebInspector.ColorWheel.prototype.get tintedColor):
2469 (WebInspector.ColorWheel.prototype.get rawColor):
2470 (WebInspector.ColorWheel.prototype._drawRawCanvas):
2471 (WebInspector.ColorWheel.prototype._colorAtPointWithBrightness):
2472 (WebInspector.ColorWheel.prototype._drawTintedCanvas):
2473 (WebInspector.ColorWheel.prototype._draw):
2475 2014-02-13 Brian Burg <bburg@apple.com>
2477 Web Inspector: DataGrid should support editing tables with arbitrary columns
2478 https://bugs.webkit.org/show_bug.cgi?id=128619
2480 Reviewed by Timothy Hatcher.
2482 The data grid editing code should work with any columns, but was previously
2483 hardcoded with the column identifiers used by DOMStorageView. This patch
2484 makes the editing code work with any column identifiers. It also fixes some
2485 bugs in previous/next navigation during data entry.
2487 * UserInterface/DOMStorageContentView.css: Highlight missing keys and values.
2488 (.content-view.dom-storage > .data-grid tr.missing-value td.value-column):
2489 (.content-view.dom-storage > .data-grid:focus tr.selected.missing-value td.value-column):
2491 * UserInterface/DOMStorageContentView.js: Don't blow away the entire table
2492 whenever the backend notifies us of an update to the storage object. This
2493 caused the editing state to be destroyed when values were entered interactively.
2495 (WebInspector.DOMStorageContentView.prototype.reset): Inline the callback
2496 passed to DOMStorageObject.getEntries().
2497 (WebInspector.DOMStorageContentView.prototype.itemsCleared):
2498 (WebInspector.DOMStorageContentView.prototype.itemAdded): Request a sort
2499 of the table rows after backend tells us about item additions or updates.
2501 (WebInspector.DOMStorageContentView.prototype.itemUpdated): Request a sort
2502 of the table rows after backend tells us about item additions or updates.
2504 (WebInspector.DOMStorageContentView.prototype._sortDataGrid): Use DataGrid's
2505 built-in sorting function.
2507 (WebInspector.DOMStorageContentView.prototype._deleteCallback):
2508 (WebInspector.DOMStorageContentView.prototype._editingCallback): Don't force
2509 recreation of the entire table whenever editing finishes. Perform most
2510 of the error checking and editing logic here, including when to insert a
2511 new placeholder row, and when to commit the entered values to DOM storage.
2513 * UserInterface/DOMStorageObject.js: Keep track of the DOM storage entries
2514 in the model so we can detect duplicate entries. Remove unused `id` arguments.
2516 (WebInspector.DOMStorageObject):
2517 (WebInspector.DOMStorageObject.prototype.get entries):
2518 (WebInspector.DOMStorageObject.prototype.itemsCleared):
2519 (WebInspector.DOMStorageObject.prototype.itemRemoved):
2520 (WebInspector.DOMStorageObject.prototype.set this):
2521 (WebInspector.DOMStorageObject.prototype.itemAdded):
2522 (WebInspector.DOMStorageObject.prototype.set var):
2523 (WebInspector.DOMStorageObject.prototype.itemUpdated):
2525 * UserInterface/DataGrid.js:
2527 (WebInspector.DataGrid.createSortableDataGrid): Use the built-in DataGrid
2528 sortNodes() implementation.
2529 (WebInspector.DataGrid.prototype._startEditingNodeAtColumnIndex): Renamed
2530 from _startEditingColumnOfDataGridNode. It's easier to understand the navigation
2531 code when presented in terms of adjusting column indexes rather than identifiers.
2533 (WebInspector.DataGrid.prototype._startEditing):
2534 (WebInspector.DataGrid.prototype.determineNextCell): Added. Decides which
2535 column and row to edit next and whether the table can be sorted before the
2536 next cell edit begins.
2538 (WebInspector.DataGrid.prototype.moveToNextCell): Added. Wrapper method for
2539 the above which handles sorting and beginning the next cell edit.
2541 (WebInspector.DataGrid.prototype._editingCommitted): Use better helper methods.
2542 (WebInspector.DataGrid.prototype._editingCancelled): Add an assert.
2543 (WebInspector.DataGrid.prototype.get sortColumnIdentifier): Shorten.
2544 (WebInspector.DataGrid.prototype.addPlaceholderNode):
2545 (WebInspector.DataGrid.prototype.removeChild):
2546 (WebInspector.DataGrid.prototype.):
2547 (WebInspector.DataGrid.prototype.sortNodes): Remove unecessary copying
2548 of all nodes into a separate array. Defer sorting if the user is in the
2549 middle of editing a cell. Make placeholder nodes always sort to the bottom
2550 regardless of the sort column identifier and sort direction.
2552 (WebInspector.DataGridNode.prototype._attach):
2553 (WebInspector.PlaceholderDataGridNode): Renamed from CreationDataGridNode.
2554 (WebInspector.PlaceholderDataGridNode.prototype.makeNormal):
2556 * UserInterface/StorageManager.js: Don't pass unused id argument.
2557 (WebInspector.StorageManager.prototype.itemRemoved):
2558 (WebInspector.StorageManager.prototype.itemAdded):
2559 (WebInspector.StorageManager.prototype.itemUpdated):
2561 2014-02-13 Brian Burg <bburg@apple.com>
2563 Web Inspector: long script names should be have text-overflow:ellipsis in probe details sidebar
2564 https://bugs.webkit.org/show_bug.cgi?id=128550
2566 Reviewed by Timothy Hatcher.
2568 Make the link element 'display: block', place it after the floated icons,
2569 and set the appropriate CSS overflow properties.
2571 * UserInterface/ProbeDetailsSidebarPanel.css:
2572 (.details-section.probe-set .options > a.go-to-link):
2573 * UserInterface/ProbeSetDetailsSection.js:
2574 (WebInspector.ProbeSetDetailsSection):
2576 2014-02-13 Javier Fernandez <jfernandez@igalia.com>
2578 [CSS Grid Layout] Rename named areas property
2579 https://bugs.webkit.org/show_bug.cgi?id=127990
2581 Reviewed by Sergio Villar Senin.
2583 From Blink r165891 by <rego@igalia.com>
2585 The property 'grid-template' has been renamed to 'grid-template-areas'
2586 in the last two versions of the spec.
2588 * Tools/PrettyPrinting/css.js:
2589 * UserInterface/External/CodeMirror/css.js:
2591 2014-02-11 Brian Burg <bburg@apple.com>
2593 Web Inspector: DOMStorageView should listen for events from DOMStorageObject
2594 https://bugs.webkit.org/show_bug.cgi?id=128620
2596 Reviewed by Timothy Hatcher.
2598 The storage manager used to have a map of DOMStorageViews and delivered events
2599 directly to them. Instead, the DOMStorageObserver should use the manager to
2600 find the appropriate DOMStorageObject and deliver events to it. DOMStorageView
2601 learns about storage updates from DOMStorageObject events.
2603 * UserInterface/DOMStorageContentView.js:
2604 (WebInspector.DOMStorageContentView): Add event listeners.
2605 (WebInspector.DOMStorageContentView.prototype.reset): Renamed from update().
2606 (WebInspector.DOMStorageContentView.prototype.itemsCleared): Take an event argument.
2607 (WebInspector.DOMStorageContentView.prototype.itemRemoved): Take an event argument.
2608 Use for..of when iterating over nodes.
2609 (WebInspector.DOMStorageContentView.prototype.itemAdded): Take an event argument.
2610 Use for..of when iterating over nodes.
2611 (WebInspector.DOMStorageContentView.prototype.itemUpdated): Take an event argument.
2612 Use for..of when iterating over nodes.
2613 * UserInterface/DOMStorageObject.js:
2614 (WebInspector.DOMStorageObject.prototype.removeItem): Moved.
2615 (WebInspector.DOMStorageObject.prototype.setItem): Moved.
2616 (WebInspector.DOMStorageObject.prototype.itemsCleared): Added.
2617 (WebInspector.DOMStorageObject.prototype.itemRemoved): Added.
2618 (WebInspector.DOMStorageObject.prototype.itemAdded): Added.
2619 (WebInspector.DOMStorageObject.prototype.itemUpdated): Added.
2620 * UserInterface/DOMStorageObserver.js: Look up and notify the associated model.
2621 (WebInspector.DOMStorageObserver.prototype.domStorageItemsCleared):
2622 (WebInspector.DOMStorageObserver.prototype.domStorageItemRemoved):
2623 (WebInspector.DOMStorageObserver.prototype.domStorageItemAdded):
2624 (WebInspector.DOMStorageObserver.prototype.domStorageItemUpdated):
2625 * UserInterface/StorageManager.js: Remove view lookup code. Remove
2626 direct calls to DOMStorageViews.
2627 (WebInspector.StorageManager.prototype.itemsCleared):
2628 (WebInspector.StorageManager.prototype.itemRemoved):
2629 (WebInspector.StorageManager.prototype.itemAdded):
2630 (WebInspector.StorageManager.prototype.itemUpdated):
2631 (WebInspector.StorageManager.prototype.domStorageWasUpdated):
2632 (WebInspector.StorageManager.prototype.inspectDOMStorage):
2633 (WebInspector.StorageManager.prototype._domStorageForIdentifier):
2634 (WebInspector.StorageManager.prototype._addDOMStorageIfNeeded):
2635 (WebInspector.StorageManager.prototype._databaseForIdentifier):
2637 2014-02-11 James Craig <jcraig@apple.com>
2639 Web Inspector: AX: Accessibility Node Inspection
2640 https://bugs.webkit.org/show_bug.cgi?id=127447
2642 Reviewed by Timothy Hatcher.
2644 New Accessibility section in WebInspector Node Inspector.
2645 Version 1.0 only shows computed role. Computed label should come soon.
2647 Removed CSS fixed table layout b/c CSS bug: http://webkit.org/b/128294
2649 * Localizations/en.lproj/localizedStrings.js:
2650 * UserInterface/DOMNode.js:
2651 * UserInterface/DOMNodeDetailsSidebarPanel.js:
2652 * UserInterface/DetailsSection.css:
2653 * UserInterface/InspectorWebBackendCommands.js:
2655 2014-02-10 Joseph Pecoraro <pecoraro@apple.com>
2657 Web Inspector: Update License copyrights in minified JavaScript
2658 https://bugs.webkit.org/show_bug.cgi?id=128547
2660 Reviewed by Timothy Hatcher.
2662 * Scripts/copy-user-interface-resources.sh:
2664 2014-02-07 Brian Burg <bburg@apple.com>
2666 Web Inspector: show probe sets for script content views in the details sidebar
2667 https://bugs.webkit.org/show_bug.cgi?id=128333
2669 Reviewed by Timothy Hatcher.
2671 This patch adds a new details sidebar for showing the probes associated with any
2672 breakpoint in the currently visible source file. Each probe set (corresponding to
2673 multiple actions of single breakpoint) gets its own ProbeSetDetailsSection. The
2674 section contains a custom DataGrid subclass to display probe data, and some icons
2675 for clearing samples, deleting the probe, and adding a new probe expression.
2677 The table containing probe data keeps its columns in sync with the probe set's
2678 probe expressions. To support this, DataGrid has been further refactored to support
2679 removing columns, and inserting columns (rather than only appending). With this
2680 capability, probe columns are removed and re-inserted when the expression changes.
2682 The availability of the probe details sidebar is controlled by providing the
2683 probe sets matching the script content view's resource URL as supplemental
2684 represented objects.
2686 Lastly, added the utility EventListenerSet class. This holds a set of event listeners
2687 that should be added and removed together, and takes care of binding `thisObject`
2688 according to whether the event emitter is a `Node` or `WebInspector.Object`.
2690 * Localizations/en.lproj/localizedStrings.js:
2691 * UserInterface/BreakpointActionView.js:
2692 (WebInspector.BreakpointActionView):
2693 (WebInspector.BreakpointActionView.prototype._removeAction): Renamed from removeButtonClicked.
2694 (WebInspector.BreakpointActionView.prototype._codeMirrorBlurred): Change the behavior
2695 of CodeMirror-backed editors for probe and evaluate expression actions. If the expression
2696 consists entirely of trimmable whitespace, then delete the action rather than saving it.
2698 * UserInterface/DataGrid.js:
2699 (WebInspector.DataGrid): Copy over the column data into a map inside insertColumn() instead.
2700 (WebInspector.DataGrid.prototype.insertColumn): Renamed from addColumn. It now takes an
2701 optional `insertionIndex` argument and splices the column before the element at that index.
2702 Also, convert code to use EventListenerSet for adding/removing per-column event listeners.
2704 (WebInspector.DataGrid.prototype.removeColumn): Added. It splices the column out.
2705 (WebInspector.DataGridNode.prototype.isEventWithinDisclosureTriangle): Whitespace.
2706 * UserInterface/EventListenerSet.js: Added.
2707 (WebInspector.EventListenerSet):
2708 (WebInspector.EventListenerSet.prototype.register):
2709 (WebInspector.EventListenerSet.prototype.unregister):
2710 (WebInspector.EventListenerSet.prototype.install):
2711 (WebInspector.EventListenerSet.prototype.uninstall):
2712 * UserInterface/Images/NavigationItemProbes.pdf: Added.
2713 * UserInterface/LayerTreeDataGrid.js:
2714 (WebInspector.LayerTreeDataGrid.prototype._updateChildren): Fix a missing column.get().
2715 * UserInterface/Main.html: Add new JavaScript and CSS files.
2716 * UserInterface/Main.js:
2717 (WebInspector.contentLoaded): Add the probe details sidebar.
2718 * UserInterface/ProbeDetailsSidebarPanel.css: Added.
2719 (.sidebar > .panel.probes > .navigation-bar):
2720 (.sidebar > .panel.probes > .content):
2721 (.details-section.probe-set .options > .probe-add):
2722 (.details-section.probe-set .options > .probe-clear-samples):
2723 (.details-section.probe-set .options > .probe-remove):
2724 (.details-section.probe-set .options > input):
2725 (.panel.probes ::-webkit-scrollbar):
2726 (.panel.probes ::-webkit-scrollbar-track):
2727 (.panel.probes ::-webkit-scrollbar-thumb):
2728 (.panel.probes ::-webkit-scrollbar-corner):
2729 (.popover .probe-popover):
2730 (.popover .probe-popover input):
2731 * UserInterface/ProbeDetailsSidebarPanel.js: Added.
2732 (WebInspector.ProbeDetailsSidebarPanel):
2733 (WebInspector.ProbeDetailsSidebarPanel.prototype.get inspectedProbeSets):
2734 (WebInspector.ProbeDetailsSidebarPanel.prototype._probeSetAdded):
2735 * UserInterface/ProbeManager.js: Remove unused `probeSetForBreakpoint` function.
2736 * UserInterface/ProbeSet.js: Fix erroneous uses of `probe.identifier` instead of `probe.id`.
2737 (WebInspector.ProbeSet.prototype.removeProbe):
2738 (WebInspector.ProbeSet.prototype._sampleCollected):
2739 * UserInterface/ProbeSetDataGrid.css: Added.
2740 (.details-section.probe-set .data-grid .data-container tr.past-value td):
2741 (.details-section.probe-set .data-grid > .data-container td.unknown-value):
2742 (.details-section.probe-set .data-grid .data-container tr.revealed.highlighted):
2743 (@-webkit-keyframes blink-frame-highlight):
2745 (.details-section.probe-set .data-grid .data-container tr.separator):
2746 (.details-section.probe-set .data-grid > .data-container tr.data-updated):
2747 (@-webkit-keyframes blink-probe-frame):
2748 (.details-section.probe-set .data-grid .data-container .selected .section *):
2749 (.details-section.probe-set .data-grid .data-container .selected td.unknown-value):
2750 (.details-section.probe-set .data-grid .data-container .section):
2751 (.details-section.probe-set .data-grid th):
2752 (.details-section.probe-set .data-grid th:not(:last-child)):
2753 (.details-section.probe-set .data-grid td):
2754 * UserInterface/ProbeSetDataGrid.js: Added.
2755 (WebInspector.ProbeSetDataGrid):
2756 (WebInspector.ProbeSetDataGrid.prototype.closed):
2757 (WebInspector.ProbeSetDataGrid.prototype._setupProbe):
2758 (WebInspector.ProbeSetDataGrid.prototype._teardownProbe):
2759 (WebInspector.ProbeSetDataGrid.prototype._setupData):
2760 (WebInspector.ProbeSetDataGrid.prototype._teardownData):
2761 (WebInspector.ProbeSetDataGrid.prototype._updateNodeForFrame.else.sortFunction):
2762 (WebInspector.ProbeSetDataGrid.prototype._updateNodeForFrame.else.set node):
2763 (WebInspector.ProbeSetDataGrid.prototype._dataFrameInserted):
2764 (WebInspector.ProbeSetDataGrid.prototype._dataSeparatorInserted):
2765 (WebInspector.ProbeSetDataGrid.prototype._probeExpressionChanged.get var):
2766 * UserInterface/ProbeSetDataGridNode.js: Added.
2767 (WebInspector.ProbeSetDataGridNode):
2768 (WebInspector.ProbeSetDataGridNode.prototype.get element):
2769 (WebInspector.ProbeSetDataGridNode.prototype.get data):
2770 (WebInspector.ProbeSetDataGridNode.prototype.set frame):
2771 (WebInspector.ProbeSetDataGridNode.prototype.get frame):
2772 (WebInspector.ProbeSetDataGridNode.prototype.createCellContent):
2773 (WebInspector.ProbeSetDataGridNode.prototype.updateCellsFromFrame):
2774 (WebInspector.ProbeSetDataGridNode.prototype.updateCellsForSeparator):
2775 * UserInterface/ProbeSetDataTable.js:
2776 (WebInspector.ProbeSetDataTable.prototype.removeProbe): Fix a typo in for..of loop refactor.
2777 * UserInterface/ProbeSetDetailsSection.js: Added.
2778 (WebInspector.ProbeSetDetailsSection):
2779 (WebInspector.ProbeSetDetailsSection.prototype.closed):
2780 (WebInspector.ProbeSetDetailsSection.prototype._probeSetPositionTextOrLink):
2781 (WebInspector.ProbeSetDetailsSection.prototype._addProbeButtonClicked):
2782 (WebInspector.ProbeSetDetailsSection.prototype._removeButtonClicked):
2783 (WebInspector.ProbeSetDetailsSection.prototype._clearSamplesButtonClicked):
2784 * UserInterface/TextResourceContentView.js:
2785 (WebInspector.TextResourceContentView):
2786 (WebInspector.TextResourceContentView.prototype.get supplementalRepresentedObjects):
2787 Add probe sets whose breakpoint matches the represented object's URL.
2788 (WebInspector.TextResourceContentView.prototype._probeSetsChanged): Tell listeners
2789 to re-fetch `supplementalRepresentedObjects` when probe sets are added or removed.
2791 2014-02-08 Dan Bernstein <mitz@apple.com>
2793 Remove client-drawn highlights (-webkit-highlight, WebHTMLHighlighter)
2794 https://bugs.webkit.org/show_bug.cgi?id=128456
2796 Reviewed by Anders Carlsson.
2798 * UserInterface/CSSKeywordCompletions.js: Removed -webkit-highlight.
2800 2014-02-07 Brian Burg <bburg@apple.com>
2802 Web Inspector: Clean up DataGrid and add table columns incrementally
2803 https://bugs.webkit.org/show_bug.cgi?id=128332
2805 Reviewed by Timothy Hatcher.
2807 Miscellaneous improvements to DataGrid to make it more maintainable.
2808 In particular, it now uses a `Map` to store column settings, and the
2809 construction sequence has been simplified so that it is safe to add
2810 columns at the end of the constructor (or any later time).
2812 DataGrid stores a bunch of settings per-column, but before this was done
2813 by both storing properties on the provided `column` objects as well as
2814 keeping several `columnIdentifier`-keyed maps for properties like `group`
2817 Improve code readability by using for..of loops, destructuring assignment,
2818 `Node.createElement`, and updating variable names. All variables that refer
2819 to DOM nodes now have a `Element` suffix to distinguish them from model objects.
2821 * UserInterface/DataGrid.js:
2823 (WebInpector.DataGrid): Create all DOM elements before populating columns.
2824 Remove redundant objects for storing per-column values. Copy column settings
2825 into a map rather than mutating the passed-in JSON-like settings data structure.
2827 (WebInspector.DataGrid.createSortableDataGrid):
2828 (WebInspector.DataGrid.prototype.get length):
2829 (WebInspector.DataGrid.prototype.updateLayout):
2830 (WebInspector.DataGrid.prototype.get scrollContainer):
2831 (WebInspector.DataGrid.prototype.isScrolledToLastRow):
2832 (WebInspector.DataGrid.prototype.scrollToLastRow):
2833 (WebInspector.DataGrid.prototype._positionResizerElements):
2834 (WebInspector.DataGrid.prototype.addCreationNode):
2835 (WebInspector.DataGrid.prototype.):
2836 (WebInspector.DataGrid.prototype.sortNodes):
2837 (WebInspector.DataGrid.prototype.dataGridNodeFromPoint):
2838 (WebInspector.DataGrid.prototype._clickInHeaderCell):
2839 (WebInspector.DataGrid.prototype.isColumnSortColumn):
2840 (WebInspector.DataGrid.prototype.headerTableHeader):
2841 (WebInspector.DataGrid.prototype._copyTextForDataGridNode):
2842 (WebInspector.DataGrid.prototype._resizerDragging):
2843 (WebInspector.DataGridNode.prototype.createCells):
2844 (WebInspector.DataGridNode.prototype.createCell.get var):
2845 (WebInspector.DataGridNode.prototype.elementWithColumnIdentifier):
2846 (WebInspector.DataGridNode.prototype._attach):
2847 * UserInterface/TimelineDataGrid.js:
2848 (WebInspector.TimelineDataGrid.prototype.treeElementMatchesActiveScopeFilters.scopeBar.this.columns.get scopeBar):
2849 (WebInspector.TimelineDataGrid.prototype.treeElementMatchesActiveScopeFilters):
2851 2014-02-07 Mihai Tica <mitica@adobe.com>
2853 [CSS Background Blending] Unprefix the -webkit-background-blend-mode property
2855 https://bugs.webkit.org/show_bug.cgi?id=128270
2857 Reviewed by Dean Jackson.
2859 * UserInterface/CSSKeywordCompletions.js: Refactor -webkit-background-blend-mode to background-blend-mode.
2861 2014-02-06 Joseph Pecoraro <pecoraro@apple.com>
2863 Web Inspector: Add Console support to JSContext Inspection
2864 https://bugs.webkit.org/show_bug.cgi?id=127941
2866 Reviewed by Geoffrey Garen.
2868 * UserInterface/InspectorJSBackendCommands.js:
2869 * UserInterface/InspectorWebBackendCommands.js:
2870 ConsoleAgent moved to JavaScript section.
2872 2014-02-06 Andreas Kling <akling@apple.com>
2874 Remove display:run-in support.
2875 <https://webkit.org/b/127874>
2876 <rdar://problem/15926949>
2878 Rubber-stamped by Anders Carlsson.
2880 * UserInterface/CSSKeywordCompletions.js:
2881 * UserInterface/External/CodeMirror/css.js:
2883 2014-02-05 Brian Burg <bburg@apple.com>
2885 Web Inspector: add probe manager and model objects to the frontend
2886 https://bugs.webkit.org/show_bug.cgi?id=127117
2888 Reviewed by Timothy Hatcher.
2890 Add the probe manager, and the following model objects:
2892 - ProbeObject corresponds to a single probe breakpoint action.
2893 - ProbeSetObject contains all ProbeObjects for one Breakpoint.
2894 - ProbeSetDataFrame holds probe samples from multiple
2895 probes fired from the same breakpoint hit/debugger pause.
2896 - ProbeSetDataTable keeps track of multiple such data frames
2897 and manages probe sample lifetimes across page navigations.
2899 The probe manager updates probe model objects whenever breakpoints
2900 are added, removed, or modified.
2902 The inspector frontend now assigns breakpoint action identifiers,
2903 rather than the backend. This lets ProbeObjects keep stable
2904 identifiers that match the probe's samples, even when the underlying
2905 breakpoint is re-added with a different identifier (such as when
2906 editing probe expressions).
2908 * UserInterface/Breakpoint.js:
2909 (WebInspector.Breakpoint.prototype.get probeActions): Added.
2910 (WebInspector.Breakpoint.prototype.createAction):
2911 (WebInspector.Breakpoint.prototype.removeAction):
2912 (WebInspector.Breakpoint.prototype.clearActions): Added.
2913 * UserInterface/BreakpointAction.js:
2914 (WebInspector.BreakpointAction):
2915 (WebInspector.BreakpointAction.prototype.get id):
2916 (WebInspector.BreakpointAction.prototype.get info):
2917 * UserInterface/DebuggerManager.js:
2918 (WebInspector.DebuggerManager.restoreBreakpointsSoon):
2919 (WebInspector.DebuggerManager): Restore saved breakpoints
2920 from cookies on the second run loop, so that all managers will
2921 be able to received breakpoint added events.
2922 (WebInspector.DebuggerManager.prototype.addBreakpoint):
2923 (WebInspector.DebuggerManager.prototype.removeBreakpoint):
2924 (WebInspector.DebuggerManager.prototype.get nextBreakpointActionIdentifier):
2925 The debugger manager assigns unique breakpoint action identifiers with this getter.
2927 (WebInspector.DebuggerManager.prototype._debuggerBreakpointActionType):
2928 (WebInspector.DebuggerManager.prototype.didSetBreakpoint):
2929 (WebInspector.DebuggerManager.prototype._setBreakpoint):
2930 (WebInspector.DebuggerManager.prototype.didRemoveBreakpoint):
2931 (WebInspector.DebuggerManager.prototype._removeBreakpoint):
2932 * UserInterface/DebuggerObserver.js:
2933 (WebInspector.DebuggerObserver.prototype.didSampleProbe):
2934 * UserInterface/InspectorJSBackendCommands.js:
2935 * UserInterface/Main.html:
2936 * UserInterface/Main.js:
2937 (WebInspector.loaded):
2938 * UserInterface/Probe.js: Added.
2939 (WebInspector.ProbeSample):
2940 (WebInspector.Probe):
2941 (WebInspector.Probe.prototype.get id):
2942 (WebInspector.Probe.prototype.get breakpoint):
2943 (WebInspector.Probe.prototype.get expression):
2944 (WebInspector.Probe.prototype.set expression):
2945 (WebInspector.Probe.prototype.get samples):
2946 (WebInspector.Probe.prototype.clearSamples):
2947 (WebInspector.Probe.prototype.addSample):
2948 * UserInterface/ProbeManager.js: Added.
2949 (WebInspector.ProbeManager):
2950 (WebInspector.ProbeManager.prototype.probeSetForBreakpoint):
2951 (WebInspector.ProbeManager.prototype._breakpointRemoved):
2952 (WebInspector.ProbeManager.prototype._breakpointActionsChanged.get var):
2953 (WebInspector.ProbeManager.prototype._breakpointActionsChanged.set get knownProbeIdentifiers):
2954 (WebInspector.ProbeManager.prototype._breakpointActionsChanged):
2955 * UserInterface/ProbeSet.js: Added.
2956 (WebInspector.ProbeSet):
2957 (WebInspector.ProbeSet.prototype.get breakpoint):
2958 (WebInspector.ProbeSet.prototype.get probes):
2959 (WebInspector.ProbeSet.prototype.get dataTable):
2960 (WebInspector.ProbeSet.prototype.clear):
2961 (WebInspector.ProbeSet.prototype.clearSamples):
2962 (WebInspector.ProbeSet.prototype.createProbe):
2963 (WebInspector.ProbeSet.prototype.removeProbe):
2964 (WebInspector.ProbeSet.prototype.willRemove):
2965 (WebInspector.ProbeSet.prototype._mainResourceChanged):
2966 (WebInspector.ProbeSet.prototype._createDataTable):
2967 (WebInspector.ProbeSet.prototype._sampleCollected):
2968 (WebInspector.ProbeSet.prototype._breakpointResolvedStateDidChange):
2969 * UserInterface/ProbeSetDataFrame.js: Added.
2970 (WebInspector.ProbeSetDataFrame):
2971 (WebInspector.ProbeSetDataFrame.compare):
2972 (WebInspector.ProbeSetDataFrame.prototype.get key):
2973 (WebInspector.ProbeSetDataFrame.prototype.get count):
2974 (WebInspector.ProbeSetDataFrame.prototype.get index):
2975 (WebInspector.ProbeSetDataFrame.prototype.get isSeparator):
2976 (WebInspector.ProbeSetDataFrame.prototype.set isSeparator):
2977 (WebInspector.ProbeSetDataFrame.prototype.addSampleForProbe):
2978 (WebInspector.ProbeSetDataFrame.prototype.missingKeys):
2979 (WebInspector.ProbeSetDataFrame.prototype.isComplete):
2980 (WebInspector.ProbeSetDataFrame.prototype.fillMissingValues):
2981 * UserInterface/ProbeSetDataTable.js: Added.
2982 (WebInspector.ProbeSetDataTable):
2983 (WebInspector.ProbeSetDataTable.prototype.get frames):
2984 (WebInspector.ProbeSetDataTable.prototype.get separators):
2985 (WebInspector.ProbeSetDataTable.prototype.willRemove):
2986 (WebInspector.ProbeSetDataTable.prototype.mainResourceChanged):
2987 (WebInspector.ProbeSetDataTable.prototype.addSampleForProbe):
2988 (WebInspector.ProbeSetDataTable.prototype.addProbe):
2989 (WebInspector.ProbeSetDataTable.prototype.removeProbe):
2990 (WebInspector.ProbeSetDataTable.prototype.createFrame):
2991 (WebInspector.ProbeSetDataTable.prototype.addFrame):
2992 (WebInspector.ProbeSetDataTable.prototype.addSeparator):
2994 2014-02-05 Zan Dobersek <zdobersek@igalia.com>
2996 [GTK] Avoid no-op regenerations of GResourceBundle.xml, GResourceBundle.c
2997 https://bugs.webkit.org/show_bug.cgi?id=128192
2999 Reviewed by Carlos Garcia Campos.
3001 When doing incremental builds, GResourceBundle.xml and GResourceBundle.c can be
3002 generated when the dependencies are newer than the products, but the generation
3003 doesn't necessarily produce a new or different product. This results in constant
3004 regenerations for these two build targets. Touch the products at the end of
3005 generation to avoid this looping.
3009 2014-01-30 Timothy Hatcher <timothy@apple.com>
3011 Show profile data in the discrete Scripts timeline view.
3013 https://bugs.webkit.org/show_bug.cgi?id=127900
3015 Reviewed by Joseph Pecoraro.
3017 * Localizations/en.lproj/localizedStrings.js:
3018 * UserInterface/DataGrid.js:
3019 (WebInspector.DataGridNode.prototype.refreshIfNeeded):
3020 (WebInspector.DataGridNode.prototype.needsRefresh):
3021 (WebInspector.DataGridNode.prototype.set data):
3022 (WebInspector.DataGridNode.prototype.set revealed):
3023 (WebInspector.DataGridNode.prototype.refresh):
3024 * UserInterface/LayoutTimelineDataGrid.js:
3025 (WebInspector.LayoutTimelineDataGrid):
3026 * UserInterface/LayoutTimelineDataGridNode.js:
3027 (WebInspector.LayoutTimelineDataGridNode.prototype.createCellContent):
3028 * UserInterface/Main.html:
3029 * UserInterface/NavigationSidebarPanel.js:
3030 (WebInspector.NavigationSidebarPanel.prototype._updateFilter):
3031 (WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged):
3032 (WebInspector.NavigationSidebarPanel.prototype._generateStyleRulesIfNeeded):
3033 * UserInterface/ProfileNodeDataGridNode.js: Added.
3034 (WebInspector.ProfileNodeDataGridNode):
3035 (WebInspector.ProfileNodeDataGridNode.prototype.get profileNode):
3036 (WebInspector.ProfileNodeDataGridNode.prototype.get records):
3037 (WebInspector.ProfileNodeDataGridNode.prototype.get baseStartTime):
3038 (WebInspector.ProfileNodeDataGridNode.prototype.get rangeStartTime):
3039 (WebInspector.ProfileNodeDataGridNode.prototype.set rangeStartTime):
3040 (WebInspector.ProfileNodeDataGridNode.prototype.get rangeEndTime):
3041 (WebInspector.ProfileNodeDataGridNode.prototype.set rangeEndTime):
3042 (WebInspector.ProfileNodeDataGridNode.prototype.get data):
3043 (WebInspector.ProfileNodeDataGridNode.prototype.refresh):
3044 (WebInspector.ProfileNodeDataGridNode.prototype.createCellContent):
3045 * UserInterface/ProfileNodeTreeElement.js: Added.
3046 (WebInspector.ProfileNodeTreeElement):
3047 (WebInspector.ProfileNodeTreeElement.prototype.get profileNode):
3048 (WebInspector.ProfileNodeTreeElement.prototype.get filterableData):
3049 (WebInspector.ProfileNodeTreeElement.prototype.onattach):
3050 (WebInspector.ProfileNodeTreeElement.prototype.onpopulate):
3051 * UserInterface/ResourceTimelineDataGridNode.js:
3052 (WebInspector.ResourceTimelineDataGridNode.prototype.createCellContent):
3053 * UserInterface/ScriptTimelineDataGrid.js:
3054 (WebInspector.ScriptTimelineDataGrid):
3055 * UserInterface/ScriptTimelineDataGridNode.js:
3056 (WebInspector.ScriptTimelineDataGridNode):
3057 (WebInspector.ScriptTimelineDataGridNode.prototype.get baseStartTime):
3058 (WebInspector.ScriptTimelineDataGridNode.prototype.get rangeStartTime):
3059 (WebInspector.ScriptTimelineDataGridNode.prototype.set rangeStartTime):
3060 (WebInspector.ScriptTimelineDataGridNode.prototype.get rangeEndTime):
3061 (WebInspector.ScriptTimelineDataGridNode.prototype.set rangeEndTime):
3062 (WebInspector.ScriptTimelineDataGridNode.prototype.get data):
3063 (WebInspector.ScriptTimelineDataGridNode.prototype.createCellContent):
3064 * UserInterface/ScriptTimelineRecord.js:
3065 (WebInspector.ScriptTimelineRecord):
3066 (WebInspector.ScriptTimelineRecord.prototype.get profile):
3067 * UserInterface/ScriptTimelineView.js:
3068 (WebInspector.ScriptTimelineView.prototype.updateLayout):
3069 (WebInspector.ScriptTimelineView.prototype.get selectionPathComponents):
3070 (WebInspector.ScriptTimelineView.prototype.dataGridNodeForTreeElement):
3071 (WebInspector.ScriptTimelineView.prototype.populateProfileNodeTreeElement):
3072 (WebInspector.ScriptTimelineView.prototype._processPendingRecords):
3073 (WebInspector.ScriptTimelineView.prototype._treeElementSelected):
3074 * UserInterface/TimelineContentView.js:
3075 (WebInspector.TimelineContentView.prototype.matchTreeElementAgainstCustomFilters):
3076 * UserInterface/TimelineDataGrid.js:
3077 (WebInspector.TimelineDataGrid):
3078 (WebInspector.TimelineDataGrid.prototype.addRowInSortOrder):
3079 (WebInspector.TimelineDataGrid.prototype._sort):
3080 * UserInterface/TimelineDataGridNode.js:
3081 (WebInspector.TimelineDataGridNode):
3082 (WebInspector.TimelineDataGridNode.prototype.collapse):
3083 (WebInspector.TimelineDataGridNode.prototype.expand):
3084 * UserInterface/TimelineRecord.js:
3085 * UserInterface/TreeOutlineDataGridSynchronizer.js:
3086 (WebInspector.TreeOutlineDataGridSynchronizer.prototype.get delegate):
3087 (WebInspector.TreeOutlineDataGridSynchronizer.prototype.dataGridNodeForTreeElement):
3088 (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementAdded):
3090 2014-01-30 Timothy Hatcher <timothy@apple.com>
3092 Add the model objects for the new Web Inspector profile data.
3094 https://bugs.webkit.org/show_bug.cgi?id=127899
3096 Reviewed by Joseph Pecoraro.
3098 * UserInterface/Main.html:
3099 * UserInterface/Profile.js: Added.
3100 (WebInspector.Profile):
3101 (WebInspector.Profile.prototype.get idleTime):
3102 (WebInspector.Profile.prototype.get topDownRootNodes):
3103 (WebInspector.Profile.prototype.get bottomUpRootNodes):
3104 * UserInterface/ProfileNode.js: Added.
3105 (WebInspector.ProfileNode):
3106 (WebInspector.ProfileNode.prototype.get id):
3107 (WebInspector.ProfileNode.prototype.get type):
3108 (WebInspector.ProfileNode.prototype.get functionName):
3109 (WebInspector.ProfileNode.prototype.get sourceCodeLocation):
3110 (WebInspector.ProfileNode.prototype.get startTime):
3111 (WebInspector.ProfileNode.prototype.get endTime):
3112 (WebInspector.ProfileNode.prototype.get selfTime):
3113 (WebInspector.ProfileNode.prototype.get totalTime):
3114 (WebInspector.ProfileNode.prototype.get calls):
3115 (WebInspector.ProfileNode.prototype.get previousSibling):
3116 (WebInspector.ProfileNode.prototype.get nextSibling):
3117 (WebInspector.ProfileNode.prototype.get parentNode):
3118 (WebInspector.ProfileNode.prototype.get childNodes):
3119 (WebInspector.ProfileNode.prototype.totalTimeInRange):
3120 (WebInspector.ProfileNode.prototype.computeCallInfoForTimeRange):
3121 (WebInspector.ProfileNode.prototype.traverseNextProfileNode):
3122 (WebInspector.ProfileNode.prototype.saveIdentityToCookie):
3123 (WebInspector.ProfileNode.prototype.establishRelationships):
3124 * UserInterface/ProfileNodeCall.js: Added.
3125 (WebInspector.ProfileNodeCall):
3126 (WebInspector.ProfileNodeCall.prototype.get startTime):
3127 (WebInspector.ProfileNodeCall.prototype.get totalTime):
3128 (WebInspector.ProfileNodeCall.prototype.get endTime):
3129 (WebInspector.ProfileNodeCall.prototype.establishRelationships):
3130 * UserInterface/TimelineManager.js:
3131 (WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
3132 (WebInspector.TimelineManager.prototype.eventRecorded):
3133 (WebInspector.TimelineManager.prototype._profileFromPayload.profileNodeFromPayload):
3134 (WebInspector.TimelineManager.prototype._profileFromPayload.profileNodeCallFromPayload):
3135 (WebInspector.TimelineManager.prototype._profileFromPayload):
3137 2014-01-26 Timothy Hatcher <timothy@apple.com>
3139 Prefix existing Web Inspector profiler classes with "Legacy".
3141 Remove a dependency on ProfileView for showTimeAsPercent and selection as a drive-by.
3142 Also remove the unfinished Canvas profiler classes, they will need redone for the Timeline view.
3144 https://bugs.webkit.org/show_bug.cgi?id=127655
3146 Reviewed by Joseph Pecoraro.
3148 * UserInterface/CanvasDataGridNode.js: Removed.
3149 * UserInterface/CanvasObserver.js: Removed.
3150 * UserInterface/CanvasProfileObject.js: Removed.
3151 * UserInterface/CanvasProfileType.js: Removed.
3152 * UserInterface/CanvasProfileView.js: Removed.
3153 * UserInterface/ConsoleObserver.js:
3154 (WebInspector.ConsoleObserver.prototype.messageAdded):
3155 * UserInterface/ContentView.js:
3156 (WebInspector.ContentView):
3157 (WebInspector.ContentView.isViewable):
3158 * UserInterface/InspectorFrontendAPI.js:
3159 (InspectorFrontendAPI.isProfilingJavaScript):
3160 (InspectorFrontendAPI.startProfilingJavaScript):
3161 (InspectorFrontendAPI.stopProfilingJavaScript):
3162 * UserInterface/LegacyBottomUpProfileDataGridTree.js: Renamed from Source/WebInspectorUI/UserInterface/BottomUpProfileDataGridTree.js.
3163 * UserInterface/LegacyJavaScriptProfileObject.js: Renamed from Source/WebInspectorUI/UserInterface/JavaScriptProfileObject.js.
3164 * UserInterface/LegacyJavaScriptProfileType.js: Renamed from Source/WebInspectorUI/UserInterface/JavaScriptProfileType.js.
3165 * UserInterface/LegacyJavaScriptProfileView.css: Renamed from Source/WebInspectorUI/UserInterface/JavaScriptProfileView.css.
3166 * UserInterface/LegacyJavaScriptProfileView.js: Renamed from Source/WebInspectorUI/UserInterface/JavaScriptProfileView.js.
3167 * UserInterface/LegacyProfileDataGridTree.js: Renamed from Source/WebInspectorUI/UserInterface/ProfileDataGridTree.js.
3168 * UserInterface/LegacyProfileManager.js: Renamed from Source/WebInspectorUI/UserInterface/ProfileManager.js.
3169 * UserInterface/LegacyProfileObject.js: Renamed from Source/WebInspectorUI/UserInterface/ProfileObject.js.
3170 * UserInterface/LegacyProfileType.js: Renamed from Source/WebInspectorUI/UserInterface/ProfileType.js.
3171 * UserInterface/LegacyProfileView.css: Renamed from Source/WebInspectorUI/UserInterface/ProfileView.css.
3172 * UserInterface/LegacyProfileView.js: Renamed from Source/WebInspectorUI/UserInterface/ProfileView.js.
3173 * UserInterface/LegacyProfilerObserver.js: Renamed from Source/WebInspectorUI/UserInterface/ProfilerObserver.js.
3174 * UserInterface/LegacyTopDownProfileDataGridTree.js: Renamed from Source/WebInspectorUI/UserInterface/TopDownProfileDataGridTree.js.
3175 * UserInterface/Main.html:
3176 * UserInterface/Main.js:
3177 (WebInspector.loaded):
3178 (WebInspector.openURL):
3180 2014-01-30 Diego Pino Garcia <dpino@igalia.com>
3182 Web Inspector: [REGRESSION(r163086)] Missing localized string 'Hide console (%s)'
3183 https://bugs.webkit.org/show_bug.cgi?id=127951
3185 Reviewed by Timothy Hatcher.
3187 * Localizations/en.lproj/localizedStrings.js:
3188 Add 'Hide console (%s)'.
3190 2014-01-30 Diego Pino Garcia <dpino@igalia.com>
3192 Web Inspector: Implement open/close Console window shortcut
3193 https://bugs.webkit.org/show_bug.cgi?id=127896
3195 Reviewed by Timothy Hatcher.
3197 * UserInterface/KeyboardShortcut.js:
3198 (WebInspector.KeyboardShortcut.prototype.get displayName):
3199 Bug: Option symbol should be displayed as Alternative symbol (\u2387)
3200 in non Mac platforms.
3201 * UserInterface/Main.js:
3202 (WebInspector.contentLoaded):
3203 Create keyboard shortcut for toggling console window.
3205 2014-01-29 Joseph Pecoraro <pecoraro@apple.com>
3207 Web Inspector: Play Breakpoint Sound in Frontend
3208 https://bugs.webkit.org/show_bug.cgi?id=127885
3210 Reviewed by Timothy Hatcher.
3212 Beep in the frontend when a "sound" breakpoint action is triggered.
3214 * UserInterface/DebuggerManager.js:
3215 (WebInspector.DebuggerManager.prototype.playBreakpointActionSound):
3216 * UserInterface/DebuggerObserver.js:
3217 (WebInspector.DebuggerObserver.prototype.resumed):
3218 (WebInspector.DebuggerObserver.prototype.playBreakpointActionSound):
3219 * UserInterface/InspectorJSBackendCommands.js:
3221 2014-01-29 Diego Pino Garcia <dpino@igalia.com>
3223 Web Inspector: [REGRESSION(r162931)] Tab navigation broken in DataGrid
3224 https://bugs.webkit.org/show_bug.cgi?id=127816
3226 Reviewed by Timothy Hatcher.
3228 * UserInterface/DataGrid.js:
3229 (WebInspector.DataGrid.prototype.moveToNextIfNeeded):
3230 (WebInspector.DataGrid.prototype._editingCommitted):
3231 Change columnIdentifier values 0 and 1 to strings "0" and "1".
3233 2014-01-28 Joseph Pecoraro <pecoraro@apple.com>
3235 Unreviewed follow-up to r162965. Better coding style.
3237 Timothy Hatcher pointed out a clearer style for classes
3238 on the <body> is to specify body.class. I agree.
3240 * UserInterface/DashboardView.css:
3241 (body.javascript .toolbar .dashboard):
3242 (body.web .toolbar.collapsed .dashboard > .logs):
3243 (body.javascript .toolbar .dashboard > .resourcesCount):
3245 2014-01-28 Joseph Pecoraro <pecoraro@apple.com>
3247 Web Inspector: Tweak UI when debugging a JSContext
3248 https://bugs.webkit.org/show_bug.cgi?id=127799
3250 Reviewed by Timothy Hatcher.
3252 * UserInterface/DashboardView.css:
3253 (.toolbar.javascript .dashboard):
3254 (.toolbar.web.collapsed .dashboard > .logs):
3255 (.toolbar.javascript .dashboard > .resourcesCount):
3256 Adjust collapsed dashboard in web and javascript debugging modes.
3257 JavaScript debugging mode is always treated as collapsed.
3259 * UserInterface/Main.js:
3260 (WebInspector.contentLoaded):
3261 Adjust what is created and shown when in javascript debugging mode.
3263 * UserInterface/NavigationSidebarPanel.css:
3264 (.navigation-sidebar-panel-content-tree-outline.hide-disclosure-buttons .item.small):
3265 * UserInterface/ResourceSidebarPanel.js:
3266 (WebInspector.ResourceSidebarPanel):
3267 (WebInspector.ResourceSidebarPanel.prototype._scriptWasAdded):
3268 * UserInterface/TimelineSidebarPanel.css:
3269 (.sidebar > .panel.timeline > .status-bar):
3270 (.sidebar > .panel.timeline > .title-bar):
3271 When javascript debugging expect to put things at the root level, so hide
3272 disclosure buttons and adjust the style so resources look nice here.
3274 2014-01-28 Diego Pino Garcia <dpino@igalia.com>
3276 Web Inspector: In a DataGrid, store value of columnIdentifier to DOM node representing a cell
3277 https://bugs.webkit.org/show_bug.cgi?id=127613
3279 Reviewed by Timothy Hatcher.
3281 * UserInterface/DOMStorageContentView.js:
3282 (WebInspector.DOMStorageContentView.prototype._editingCallback):
3283 * UserInterface/DataGrid.js:
3284 (WebInspector.DataGrid):
3285 (WebInspector.DataGrid.prototype._keyDown):
3286 (WebInspector.DataGrid.prototype._contextMenuInDataTable):
3287 (WebInspector.DataGridNode.prototype.createCell):