Web Inspector: Command-/ (slash) now auto-comments code via CodeMirror 4. Should...
[WebKit-https.git] / Source / WebInspectorUI / ChangeLog
1 2014-06-26  Jono Wells  <jonowells@apple.com>
2
3         Web Inspector: Command-/ (slash) now auto-comments code via CodeMirror 4. Should remove as command to pause
4         https://bugs.webkit.org/show_bug.cgi?id=134313
5
6         Reviewed by Timothy Hatcher.
7
8         Changed alternate command to pause/resume from command-slash to command-backslash.
9         Command-slash sets/unsets comments in all code editors.
10
11         * UserInterface/Models/KeyboardShortcut.js: Added Backslash.
12         * UserInterface/Views/DebuggerSidebarPanel.js: Changed pauseOrResumeAlternateKeyboardShortcut to use Backslash instead of Slash.
13
14 2014-06-25  Jono Wells  <jonowells@apple.com>
15
16         Web Inspector: Rules panel's strikethrough gets confused at -webkit-align-items: flex-start;
17         https://bugs.webkit.org/show_bug.cgi?id=133515
18
19         Reviewed by Timothy Hatcher.
20
21         The CSS style declaration text editor uses the author's shortest instance of prefix whitespace
22         to create an indentation baseline for the style editor. This needs to consider the possibility
23         that there is no whitespace prefixing one of the rules. Also clarified a FIXME line.
24
25         * UserInterface/Views/CSSStyleDeclarationTextEditor.js: Account for zero-length whitespace.
26
27 2014-06-25  Dana Burkart  <dburkart@apple.com>
28
29         Add support for 5-tuple versioning.
30
31         Reviewed by David Farler.
32
33         * Configurations/Version.xcconfig:
34
35 2014-06-24  Jono Wells  <jonowells@apple.com>
36
37         Web Inspector: clicking "Show All Nodes" button throws TypeError
38         https://bugs.webkit.org/show_bug.cgi?id=133701
39
40         Reviewed by Timothy Hatcher.
41
42         The method used for isEventWithinDisclosureTriangle needs to consider the possibility that the 
43         targeted TreeElement isn't contained within the visible DOM, for instance in the case of the
44         "Show All Nodes" button immediately after it is pressed.
45
46         * UserInterface/Views/TreeOutline.js:
47         (TreeElement.prototype.isEventWithinDisclosureTriangle): Check to make sure TreeElement node is in the visible DOM.
48
49 2014-06-24  Jono Wells  <jonowells@apple.com>
50
51         Web Inspector: TypeError when hovering over "Show All Nodes" button in the Dom Tree inspector
52         https://bugs.webkit.org/show_bug.cgi?id=133699
53
54         Reviewed by Geoffrey Garen.
55
56         The call to element._createTooltipForNode() was failing because element was sometimes not a 
57         DOMTreeOutline but rather only a TreeElement (in the case of the "Show All Nodes" button specifically).
58         A check for type fixes this issue.
59
60         * UserInterface/Views/DOMTreeOutline.js:
61         (WebInspector.DOMTreeOutline.prototype._onmousemove): Check for presence of _createTooltipForNode.
62
63 2014-06-21  Jono Wells  <jonowells@apple.com>
64
65         Web Inspector: UI fonts should pull from system fonts automatically to whatever degree possible
66         https://bugs.webkit.org/show_bug.cgi?id=133966
67
68         Reviewed by Timothy Hatcher.
69
70         Updated font families to use -webkit-system-font, and set this on the body to be
71         inherited. Also made sure that popovers use Menlo as the default. Updated 
72         autocompletions with system font names.
73
74         * UserInterface/Models/CSSKeywordCompletions.js: Updated completions with available system fonts.
75
76         * UserInterface/Controllers/CodeMirrorGradientEditingController.css:
77         * UserInterface/Views/Breakpoint.css:
78         * UserInterface/Views/ButtonNavigationItem.css:
79         * UserInterface/Views/ButtonToolbarItem.css:
80         * UserInterface/Views/CSSStyleDeclarationSection.css:
81         * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
82         * UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
83         * UserInterface/Views/CodeMirrorOverrides.css:
84         * UserInterface/Views/DataGrid.css:
85         * UserInterface/Views/DebuggerDashboardView.css:
86         * UserInterface/Views/DetailsSection.css:
87         * UserInterface/Views/FindBanner.css:
88         * UserInterface/Views/GoToLineDialog.css:
89         * UserInterface/Views/HierarchicalPathComponent.css:
90         * UserInterface/Views/Main.css:
91         * UserInterface/Views/NavigationSidebarPanel.css:
92         * UserInterface/Views/ProbeSetDataGrid.css:
93         * UserInterface/Views/RulesStyleDetailsPanel.css:
94         * UserInterface/Views/ScopeBar.css:
95         * UserInterface/Views/SourceCodeTextEditor.css:
96         * UserInterface/Views/TimelineDataGrid.css:
97         * UserInterface/Views/TimelineRuler.css:
98         * UserInterface/Views/TimelineSidebarPanel.css:
99         Changes to fonts. Set default font stack to -webkit-system-font, sans-serif. Default size is
100         11px. Only changes to this default size or changes to the font (to Menlo, monospace usually) remain.
101
102 2014-06-21  Joseph Pecoraro  <pecoraro@apple.com>
103
104         Web Inspector: Esc in quick console no longer toggles console drawer
105         https://bugs.webkit.org/show_bug.cgi?id=134068
106
107         Reviewed by Timothy Hatcher.
108
109         For Escape to toggle console behavior we were relying on the Escape
110         keyboard event to propagate up to the window and be handled by
111         QuickConsole's global keyboard shortcut. With CodeMirror 4, all
112         editors have a default "Esc" key handler to reduce multiple selections
113         to a single selection. Unfortunately this always prevents default,
114         which our keyboard shortcut respects and doesn't toggle the console.
115
116         Workaround this by putting a specific handler for when a Console
117         Prompt is empty and the Escape key is triggered. This does not go
118         through the normal ConsolePrompt delegate because the delegate
119         is never the QuickConsole, it is actually the JavaScript log.
120
121         * UserInterface/Views/ConsolePrompt.js:
122         (WebInspector.ConsolePrompt):
123         (WebInspector.ConsolePrompt.prototype.set escapeKeyHandlerWhenEmpty):
124         (WebInspector.ConsolePrompt.prototype._handleEscapeKey):
125         * UserInterface/Views/QuickConsole.js:
126         (WebInspector.QuickConsole.this.prompt.escapeKeyHandlerWhenEmpty):
127         (WebInspector.QuickConsole):
128
129 2014-06-18  James Craig  <jcraig@apple.com>
130
131         Web Inspector: AXI: expose aria-relevant
132         https://bugs.webkit.org/show_bug.cgi?id=130913
133
134         Reviewed by Joseph Pecoraro.
135
136         Expose ARIA live region relevance in Web Inspector.
137         E.g. "Live: Assertive (Additions, Text)"
138
139         * Localizations/en.lproj/localizedStrings.js: New strings.
140         * UserInterface/Models/DOMNode.js: One additional property passed.
141         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js: UI updates to support new property.
142
143 2014-06-18  Simon Fraser  <simon.fraser@apple.com>
144
145         Add rebeccapurple to CSS named color list
146         https://bugs.webkit.org/show_bug.cgi?id=133804
147
148         Reviewed by Jer Noble.
149         
150         Add the named color "rebeccapurple" (#639).
151
152         * UserInterface/External/CodeMirror/css.js:
153         * UserInterface/Models/CSSKeywordCompletions.js:
154         * UserInterface/Models/Color.js:
155
156 2014-06-18  Jono Wells  <jonowells@apple.com>
157
158         Web Inspector: REGRESSION: Style declaration editor: placeholder misaligned
159         https://bugs.webkit.org/show_bug.cgi?id=134012
160
161         Reviewed by Timothy Hatcher.
162
163         Removed a rule needed to align the placeholder for selectors in 
164         the style declation text editors with no rules declared in
165         http://trac.webkit.org/changeset/170077. The necessary
166         rule has been added back to fix the issue.
167
168         * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
169         (.css-style-text-editor > .CodeMirror .CodeMirror-placeholder):
170
171 2014-06-17  Joseph Pecoraro  <pecoraro@apple.com>
172
173         Web Inspector: PrettyPrinting regression on "var a=1"
174         https://bugs.webkit.org/show_bug.cgi?id=134001
175
176         Reviewed by Timothy Hatcher.
177
178         Previously operators did not get a token type. After a CodeMirror
179         update they now have a token type of "operator".
180
181         * Tools/PrettyPrinting/CodeMirrorFormatters.js:
182         * UserInterface/Views/CodeMirrorFormatters.js:
183
184 2014-06-17  Jono Wells  <jonowells@apple.com>
185
186         Web Inspector: Two lines in CSS rule are hidden until resize or click
187         https://bugs.webkit.org/show_bug.cgi?id=133951
188
189         Reviewed by Joseph Pecoraro.
190
191         Update to CodeMirror 4.2 fixed the issue.
192
193         * Tools/PrettyPrinting/codemirror.js:
194         * Tools/PrettyPrinting/css.js:
195         * Tools/PrettyPrinting/javascript.js:
196         * UserInterface/External/CodeMirror/clojure.js:
197         * UserInterface/External/CodeMirror/closebrackets.js:
198         * UserInterface/External/CodeMirror/codemirror.js:
199         * UserInterface/External/CodeMirror/coffeescript.js:
200         * UserInterface/External/CodeMirror/comment.js:
201         * UserInterface/External/CodeMirror/css.js:
202         * UserInterface/External/CodeMirror/htmlmixed.js:
203         * UserInterface/External/CodeMirror/javascript.js:
204         * UserInterface/External/CodeMirror/livescript.js:
205         * UserInterface/External/CodeMirror/matchbrackets.js:
206         * UserInterface/External/CodeMirror/overlay.js:
207         * UserInterface/External/CodeMirror/placeholder.js:
208         * UserInterface/External/CodeMirror/runmode.js:
209         * UserInterface/External/CodeMirror/sass.js:
210         * UserInterface/External/CodeMirror/searchcursor.js:
211         * UserInterface/External/CodeMirror/sql.js:
212         * UserInterface/External/CodeMirror/xml.js:
213         Update CodeMirror 4.1 to CodeMirror 4.2.0.
214
215 2014-06-17  Jono Wells  <jonowells@apple.com>
216
217         Web Inspector: style declaration editor: visual highlight doesn't match actual selected text
218         https://bugs.webkit.org/show_bug.cgi?id=133965
219
220         Reviewed by Joseph Pecoraro.
221
222         Update styles for css style editor to fix highlighting visual mismatch glitch.
223
224         * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
225         (.css-style-text-editor > .CodeMirror .CodeMirror-placeholder):
226         (.css-style-text-editor > .CodeMirror pre):
227         (.css-style-text-editor.read-only > .CodeMirror pre):
228         Updated styles to eliminate highlight mismatch by adjusting the padding and
229         text-indent values.
230
231 2014-06-10  Brian J. Burg  <burg@cs.washington.edu>
232
233         Web Inspector: recording is overused as both noun and verb in TimelineManager
234         https://bugs.webkit.org/show_bug.cgi?id=132878
235
236         Reviewed by Joseph Pecoraro.
237
238         Rename most uses of the verb 'recording' to the verb 'capturing' for timelines.
239         Rename getter for the recording to activeRecording, and recordingEnabled to isCapturing().
240
241         When the timeline manager can handle multiple timeline data sets (i.e., 'recordings'),
242         it will be very confusing to have 'recording' as a plural noun and verb in the model.
243
244         * UserInterface/Controllers/TimelineManager.js:
245         (WebInspector.TimelineManager):
246         (WebInspector.TimelineManager.prototype.get activeRecording):
247         (WebInspector.TimelineManager.prototype.isCapturing):
248         (WebInspector.TimelineManager.prototype.startCapturing):
249         (WebInspector.TimelineManager.prototype.stopCapturing):
250         (WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
251         (WebInspector.TimelineManager.prototype.eventRecorded):
252         (WebInspector.TimelineManager.prototype._addRecord):
253         (WebInspector.TimelineManager.prototype._startAutoCapturing):
254         (WebInspector.TimelineManager.prototype._stopAutoRecordingSoon):
255         (WebInspector.TimelineManager.prototype._resetAutoRecordingDeadTimeTimeout):
256         (WebInspector.TimelineManager.prototype._mainResourceDidChange):
257         (WebInspector.TimelineManager.prototype._resourceWasAdded):
258         (WebInspector.TimelineManager.prototype.get recording): Deleted.
259         (WebInspector.TimelineManager.prototype.get recordingEnabled): Deleted.
260         (WebInspector.TimelineManager.prototype.startRecording): Deleted.
261         (WebInspector.TimelineManager.prototype.stopRecording): Deleted.
262         (WebInspector.TimelineManager.prototype._startAutoRecording): Deleted.
263         * UserInterface/Models/DefaultDashboard.js:
264         (WebInspector.DefaultDashboard):
265         (WebInspector.DefaultDashboard.prototype._mainResourceDidChange):
266         (WebInspector.DefaultDashboard.prototype._capturingStopped):
267         (WebInspector.DefaultDashboard.prototype._recordingStopped): Deleted.
268         * UserInterface/Protocol/InspectorFrontendAPI.js:
269         (InspectorFrontendAPI.isTimelineProfilingEnabled):
270         (InspectorFrontendAPI.setTimelineProfilingEnabled):
271         * UserInterface/Views/TimelineContentView.js:
272         (WebInspector.TimelineContentView.prototype._capturingStarted):
273         (WebInspector.TimelineContentView.prototype._capturingStopped):
274         (WebInspector.TimelineContentView.prototype._recordingStarted): Deleted.
275         (WebInspector.TimelineContentView.prototype._recordingStopped): Deleted.
276         * UserInterface/Views/TimelineSidebarPanel.js:
277         (WebInspector.TimelineSidebarPanel.prototype.initialize):
278         (WebInspector.TimelineSidebarPanel.prototype._capturingStarted):
279         (WebInspector.TimelineSidebarPanel.prototype._capturingStopped):
280         (WebInspector.TimelineSidebarPanel.prototype._recordGlyphMousedOver):
281         (WebInspector.TimelineSidebarPanel.prototype._recordGlyphMousedOut):
282         (WebInspector.TimelineSidebarPanel.prototype._recordGlyphClicked):
283         (WebInspector.TimelineSidebarPanel.prototype._replayCaptureButtonClicked):
284         (WebInspector.TimelineSidebarPanel.prototype._recordingStarted): Deleted.
285         (WebInspector.TimelineSidebarPanel.prototype._recordingStopped): Deleted.
286
287 2014-06-09  Jono Wells  <jonowells@apple.com>
288
289         REGRESSION: Web Inspector: Exception showing the DOM tree for a node with too many children
290         https://bugs.webkit.org/show_bug.cgi?id=129696
291
292         Fix issue where sometimes inspecting an element will try to attach the "show all nodes" button
293         before the expand function is called in TreeElement before _childrenListNode has been set.
294
295         Reviewed by Joseph Pecoraro.
296
297         * UserInterface/Views/TreeOutline.js:
298         (TreeOutline.prototype.appendChild):
299         (TreeOutline.prototype.insertChild):
300         Added check for existance of this._childrenListNode.
301
302 2014-05-29  Timothy Hatcher  <timothy@apple.com>
303
304         Fix an exception in InspectorBackend.Command.prototype.supports.
305
306         https://bugs.webkit.org/show_bug.cgi?id=133384
307
308         Reviewed by Joseph Pecoraro.
309
310         * UserInterface/Protocol/InspectorBackend.js:
311         (InspectorBackend.Command.prototype.supports): Use some not any.
312
313 2014-05-19  Jono Wells  <jonowells@apple.com>
314
315         Web Inspector: Inspect Element sometimes does not select the right DOM Node
316         https://bugs.webkit.org/show_bug.cgi?id=127938
317
318         Reviewed by Joseph Pecoraro.
319
320         Inspecting an element when the inspector is in a closed state was selecting the node but then 
321         overriding the selection when DOMTreeContentView#_restoreSelectedNodeAfterUpdate was called.
322         Now when an element is inspected a flag prevents the restore from taking place.
323
324         * UserInterface/Controllers/DOMTreeManager.js:
325         (WebInspector.DOMTreeManager):
326         (WebInspector.DOMTreeManager.prototype.inspectElement):
327         (WebInspector.DOMTreeManager.prototype.inspectNodeObject):
328         Add WebInspector.DOMTreeManager#_restoreSelectedNodeIsAllowed.
329
330         (WebInspector.DOMTreeManager.prototype.get restoreSelectedNodeIsAllowed):
331         Added.
332
333         * UserInterface/Views/FrameDOMTreeContentView.js:
334         (WebInspector.FrameDOMTreeContentView.prototype._rootDOMNodeAvailable):
335         Add check for WebInspector.domTreeManager.restoreSelectedNodeIsAllowed.
336
337 2014-05-15  Jono Wells  <jonowells@apple.com>
338
339         Web Inspector: Should remove JSDoc comment blocks.
340         https://bugs.webkit.org/show_bug.cgi?id=132984
341
342         Reviewed by Timothy Hatcher.
343
344         Remove JSDoc comment blocks. These are no longer necessary.
345
346         * UserInterface/Base/Main.js:
347         * UserInterface/Base/Object.js:
348         * UserInterface/Controllers/DOMTreeManager.js:
349         * UserInterface/Models/CSSCompletions.js:
350         * UserInterface/Models/DOMNode.js:
351         * UserInterface/Models/SourceMap.js:
352         * UserInterface/Protocol/InspectorBackend.js:
353         * UserInterface/Protocol/RemoteObject.js:
354         * UserInterface/Views/ApplicationCacheFrameContentView.js:
355         * UserInterface/Views/ConsoleMessage.js:
356         * UserInterface/Views/ConsoleMessageImpl.js:
357         * UserInterface/Views/ContextMenu.js:
358         * UserInterface/Views/DOMTreeElement.js:
359         * UserInterface/Views/DOMTreeOutline.js:
360         * UserInterface/Views/DOMTreeUpdater.js:
361         * UserInterface/Views/DataGrid.js:
362         * UserInterface/Views/DatabaseContentView.js:
363         * UserInterface/Views/EditingSupport.js:
364         * UserInterface/Views/ObjectPropertiesSection.js:
365         * UserInterface/Views/Popover.js:
366         * UserInterface/Views/TreeOutline.js:
367         JSDoc style comment blocks removed.
368
369 2014-05-13  Radu Stavila  <stavila@adobe.com>
370
371         Web Inspector: Restore regionLayoutUpdated event in iOS7 inspector and remove regionOversetChanged
372         https://bugs.webkit.org/show_bug.cgi?id=132731
373
374         Reviewed by Joseph Pecoraro.
375
376         Added the regionLayoutUpdated event back into the inspector for compatibility with iOS 7
377         and removed regionOversetChanged from the iOS7 inspector as iOS 7 does not implement that event.
378
379         * UserInterface/Models/ScriptTimelineRecord.js:
380         * UserInterface/Protocol/CSSObserver.js:
381         (WebInspector.CSSObserver.prototype.regionLayoutUpdated):
382         * UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js:
383         * Versions/Inspector-iOS-7.0.json:
384
385 2014-05-12  Brent Fulgham  <bfulgham@apple.com>
386
387         [Win] Correct Cygwin Path Confusion in WebInspectorUI Build
388         https://bugs.webkit.org/show_bug.cgi?id=132826
389
390         Reviewed by Joseph Pecoraro.
391
392         * Scripts/copy-user-interface-resources.pl: If the build is running
393         under Cygwin, be sure to use '/usr/bin/python', instead of just
394         'python' to avoid build errors.
395
396 2014-05-09  Alberto Garcia  <berto@igalia.com>
397
398         jsmin.py license header confusing, mentions non-free license
399         https://bugs.webkit.org/show_bug.cgi?id=123665
400
401         Reviewed by Darin Adler.
402
403         Pull the most recent version from upstream, which has a clear
404         license.
405
406         * Scripts/jsmin.py:
407
408 2014-05-08  Jono Wells  <jonowells@apple.com>
409
410         Web Inspector: Console error when launching Web Inspector "Mode htmlmixed failed to advance stream"
411         https://bugs.webkit.org/show_bug.cgi?id=132703
412
413         Reviewed by Timothy Hatcher.
414
415         The CodeMirror 4 update brought with it a change in the XML mode that 
416         causes our XML mode extension to fail to consume empty paired quotes
417         correctly.
418
419         * UserInterface/Views/CodeMirrorAdditions.js:
420         Updated extendedXMLToken() to properly handle empty paired quotes.
421
422 2014-05-08  Jono Wells  <jonowells@apple.com>
423
424         Web Inspector: Selecting frame in debugger sidebar doesn't reveal code
425         https://bugs.webkit.org/show_bug.cgi?id=132112
426
427         Reviewed by Joseph Pecoraro.
428
429         WebInspector._revealAndSelectRepresentedObjectInNavigationSidebar was checking
430         only one of the two content trees in the DebuggerSidebarPanel instance. Added
431         base getter elementIsSelected to NavigationSidebarPanel and extended it in 
432         DebuggerSidebarPanel.
433
434         * UserInterface/Base/Main.js:
435         (WebInspector._revealAndSelectRepresentedObjectInNavigationSidebar): modified logic to check `selectedSidebarPanel.elementIsSelected`.
436         * UserInterface/Views/DebuggerSidebarPanel.js:
437         (WebInspector.DebuggerSidebarPanel.prototype.get elementIsSelected): Checks breakpoint and call stack trees.
438         * UserInterface/Views/NavigationSidebarPanel.js:
439         (WebInspector.NavigationSidebarPanel.prototype.get elementIsSelected): Base implementation.
440
441 2014-05-06  Radu Stavila  <stavila@adobe.com>
442
443         Web Inspector: [CSS Regions] Add the regionOversetChange event to the iOS 7.0 WebInspector UI
444         https://bugs.webkit.org/show_bug.cgi?id=132566
445
446         Reviewed by Antti Koivisto.
447
448         The regionOversetChange event was missing from the iOS7 WebInspector.
449
450         * UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js:
451         * Versions/Inspector-iOS-7.0.json:
452
453 2014-05-05  Radu Stavila  <stavila@adobe.com>
454
455         [CSS Regions] Remove regionLayoutUpdate event
456         https://bugs.webkit.org/show_bug.cgi?id=132564
457
458         Reviewed by Simon Fraser.
459
460         The regionLayoutUpdate event was removed from the regions spec and was replaced by two other events: 
461         regionOversetChange and regionFragmentChange.
462
463         * UserInterface/Controllers/DOMTreeManager.js:
464         (WebInspector.DOMTreeManager.prototype.get regionLayoutUpdated): Deleted.
465         * UserInterface/Models/ScriptTimelineRecord.js:
466         * UserInterface/Protocol/CSSObserver.js:
467         (WebInspector.CSSObserver.prototype.regionLayoutUpdated): Deleted.
468         * UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js:
469         * Versions/Inspector-iOS-7.0.json:
470
471 2014-05-02  Jono Wells  <jonowells@apple.com>
472
473         Web Inspector: CodeMirror 4 CSS mode new state data structure breaks helpers.
474         https://bugs.webkit.org/show_bug.cgi?id=132149
475
476         Reviewed by Joseph Pecoraro.
477
478         The update to CodeMirror 4 included dramatic changes to the CSS mode,
479         particularly the way it handles tokens. `state.stack` is gone, replaced
480         by `state.context`.
481
482         * Tools/PrettyPrinting/CodeMirrorFormatters.js:
483         * Tools/PrettyPrinting/codemirror.js:
484         * UserInterface/External/CodeMirror/codemirror.js:
485         * UserInterface/External/CodeMirror/livescript.js:
486         * UserInterface/External/CodeMirror/runmode.js:
487         Updates from ToT CodeMirror.
488
489         * UserInterface/Controllers/CodeMirrorCompletionController.js:
490         (WebInspector.CodeMirrorCompletionController.prototype._generateCSSCompletions):
491         * UserInterface/Views/CodeMirrorAdditions.js:
492         * UserInterface/Views/CodeMirrorFormatters.js: `lastToken` is null now for ":" characters.
493         Changes to match structural changes to the state object and changes to expected values of `lastToken`.
494
495 2014-04-30  Brian J. Burg  <burg@cs.washington.edu>
496
497         Web Inspector: clean up and decompose InspectorBackend functionality
498         https://bugs.webkit.org/show_bug.cgi?id=132387
499
500         Reviewed by Joseph Pecoraro.
501
502         Aside from renaming variables and other minor cleanup, this patch
503         changes the following:
504
505         When calling a command, only store callback data when a callback is passed.
506         Use explicit model objects for the agent, event, enum, and commands.
507         Separate the agent models from encoding and decoding of JSON messages.
508
509         * UserInterface/Protocol/InspectorBackend.js:
510         (InspectorBackendClass):
511         (InspectorBackendClass.prototype.registerCommand):
512         (InspectorBackendClass.prototype.registerEnum):
513         (InspectorBackendClass.prototype.registerEvent):
514         (InspectorBackendClass.prototype.registerDomainDispatcher):
515         (InspectorBackendClass.prototype.dispatch):
516         (InspectorBackendClass.prototype.runAfterPendingDispatches):
517         (InspectorBackendClass.prototype._agentForDomain):
518         (InspectorBackendClass.prototype._registerSentCommand):
519         (InspectorBackendClass.prototype._dispatchCallback):
520         (InspectorBackendClass.prototype._dispatchEvent):
521         (InspectorBackendClass.prototype._invokeCommand):
522         (InspectorBackendClass.prototype._reportProtocolError):
523         (InspectorBackend.Agent):
524         (InspectorBackend.Agent.prototype.get domainName):
525         (InspectorBackend.Agent.prototype.set dispatcher):
526         (InspectorBackend.Agent.prototype.addEnum):
527         (InspectorBackend.Agent.prototype.addCommand):
528         (InspectorBackend.Agent.prototype.addEvent):
529         (InspectorBackend.Agent.prototype.getEvent):
530         (InspectorBackend.Agent.prototype.dispatchEvent):
531         (InspectorBackend.Command):
532         (InspectorBackend.Command.create):
533         (InspectorBackend.Command.prototype.get qualifiedName):
534         (InspectorBackend.Command.prototype.get commandName):
535         (InspectorBackend.Command.prototype.get callSignature):
536         (InspectorBackend.Command.prototype.get replySignature):
537         (InspectorBackend.Command.prototype.invoke):
538         (InspectorBackend.Command.prototype.supports):
539         (InspectorBackend.Command.prototype._invokeWithArguments):
540         (InspectorBackend.Event):
541         (InspectorBackend.Enum):
542         (InspectorBackendClass.prototype.callback): Deleted.
543         (InspectorBackendClass.prototype._registerPendingResponse): Deleted.
544         (InspectorBackendClass.prototype._invokeMethod): Deleted.
545         (InspectorBackendClass.prototype._getAgent): Deleted.
546         (InspectorBackendClass.prototype.reportProtocolError): Deleted.
547         (InspectorBackendCommand): Deleted.
548         (InspectorBackendCommand.create): Deleted.
549         (InspectorBackendCommand.prototype.invoke): Deleted.
550         (InspectorBackendCommand.prototype.supports): Deleted.
551         (InspectorBackendCommand.prototype._invokeWithArguments): Deleted.
552
553 2014-04-29  Brian J. Burg  <burg@cs.washington.edu>
554
555         Web Inspector: reduce per-protocol method function creation in InspectorBackend
556         https://bugs.webkit.org/show_bug.cgi?id=130701
557
558         Reviewed by Timothy Hatcher.
559
560         Instead of creating 4 bound functions for every backend method on startup, we
561         can share common functionality on the InspectorBackendCommand prototype. This
562         also splits the various client-facing protocol introspection mechanisms from
563         the message encoding/decoding code.
564
565         We use a workaround to make the command instances themselves callable as well
566         as having .invoke, .promise, and .supports. InspectorAgent.methodName returns a
567         trampoline function that performs the default method invocation. The trampoline's
568         __proto__ is patched to point to InspectorBackendClass.prototype, and the command
569         instance is saved in the closure and on the trampoline function itself.
570
571         * UserInterface/Protocol/InspectorBackend.js:
572         (InspectorBackendClass.prototype._registerPendingResponse):
573         (InspectorBackendClass.prototype._invokeMethod):
574         (InspectorBackendClass.prototype.registerCommand):
575         (InspectorBackendClass.prototype.registerEvent):
576         (InspectorBackendCommand):
577         (.callable):
578         (InspectorBackendCommand.create):
579         (InspectorBackendCommand.prototype.invoke):
580         (InspectorBackendCommand.prototype.promise):
581         (InspectorBackendCommand.prototype.supports):
582         (InspectorBackendCommand.prototype._invokeWithArguments):
583         (InspectorBackendClass.prototype._wrap): Deleted.
584         (InspectorBackendClass.prototype._invoke): Deleted.
585         (InspectorBackendClass.prototype._promise): Deleted.
586         (InspectorBackendClass.prototype._supports): Deleted.
587         (InspectorBackendClass.prototype._sendMessageToBackend): Deleted.
588         (InspectorBackendClass.prototype._wrapCallbackAndSendMessageObject): Deleted.
589         (InspectorBackendClass.prototype.sendMessageObjectToBackend): Deleted.
590
591 2014-04-29  Brian J. Burg  <burg@cs.washington.edu>
592
593         Web Inspector: DataGrid columns should be objects not Maps
594         https://bugs.webkit.org/show_bug.cgi?id=129383
595
596         Reviewed by Timothy Hatcher.
597
598         This reverts an earlier conversion to maps, so that column properties
599         (which rarely change) can be optimized.
600
601         String literals for column properties have been preserved so columns
602         can be easily converted into objects with methods.
603
604         * UserInterface/Views/DataGrid.js:
605         (WebInspector.DataGrid.prototype.autoSizeColumns):
606         (WebInspector.DataGrid.prototype.set var):
607         (WebInspector.DataGrid.prototype.set if):
608         (WebInspector.DataGrid.prototype.insertColumn):
609         (WebInspector.DataGrid.prototype.removeColumn.get this):
610         (WebInspector.DataGrid.prototype.removeColumn):
611         (WebInspector.DataGrid.prototype.columnWidthsMap):
612         (WebInspector.DataGrid.prototype.applyColumnWidthsMap):
613         (WebInspector.DataGrid.prototype._collapseColumnGroupWithCell):
614         (WebInspector.DataGridNode.prototype.createCell.get if):
615         (WebInspector.DataGridNode.prototype.createCell):
616         (WebInspector.DataGrid.prototype.get length): Deleted.
617         * UserInterface/Views/ProbeSetDataGrid.js:
618         (WebInspector.ProbeSetDataGrid.prototype._probeExpressionChanged.get this):
619         (WebInspector.ProbeSetDataGrid.prototype._probeExpressionChanged):
620         * UserInterface/Views/TimelineDataGrid.js:
621         (WebInspector.TimelineDataGrid.prototype.treeElementMatchesActiveScopeFilters.scopeBar.this.columns.get string_appeared_here):
622         (WebInspector.TimelineDataGrid.prototype.treeElementMatchesActiveScopeFilters):
623
624 2014-04-25  Jonathan Wells  <jonowells@apple.com>
625
626         Web Inspector: DOM Tree debugger popover obscures dashboard
627         https://bugs.webkit.org/show_bug.cgi?id=132205
628
629         Reviewed by Timothy Hatcher.
630
631         * UserInterface/Views/DashboardContainerView.css:
632         (.toolbar .dashboard.visible): Change z-index to 1. Force stacking context.
633         * UserInterface/Views/Popover.css:
634         (.popover): Add z-index: 100.
635
636 2014-04-24  Timothy Hatcher  <timothy@apple.com>
637
638         Web Inspector: Dashboard when paused in debugger shows some missing glyph boxes
639         https://bugs.webkit.org/show_bug.cgi?id=132113
640
641         Reviewed by Joseph Pecoraro.
642
643         * UserInterface/Views/DebuggerDashboardView.css:
644         (.dashboard.debugger > .location .function-name::after): Fix the codepoint for nbsp.
645
646 2014-04-24  Jonathan Wells  <jonowells@apple.com>
647
648         Web Inspector: Should update to CodeMirror 4.1
649         https://bugs.webkit.org/show_bug.cgi?id=132140
650
651         Reviewed by Timothy Hatcher.
652
653         Updated to CodeMirror 4.1, which contains several bugfixes.
654         Release notes: http://codemirror.net/doc/releases.html#v4
655
656         * Tools/PrettyPrinting/codemirror.js:
657         * Tools/PrettyPrinting/css.js:
658         * Tools/PrettyPrinting/javascript.js:
659         * UserInterface/External/CodeMirror/codemirror.js:
660         * UserInterface/External/CodeMirror/css.js:
661         * UserInterface/External/CodeMirror/javascript.js:
662         * UserInterface/External/CodeMirror/livescript.js:
663         * UserInterface/External/CodeMirror/runmode.js:
664         * UserInterface/External/CodeMirror/xml.js:
665         Updated to CodeMirror 4.1.
666
667 2014-04-24  Jonathan Wells  <jonowells@apple.com>
668
669         Web Inspector: CSS autofill suggests properties instead of values when values are needed
670         https://bugs.webkit.org/show_bug.cgi?id=132090
671
672         Reviewed by Joseph Pecoraro.
673
674         Updates are required to the CodeMirror helpers to be compatible with
675         CodeMirror 4. Some of those changes have been made to fix an issue
676         with CSS autofill, CSS code coloring, and also
677         https://bugs.webkit.org/show_bug.cgi?id=131859. The main issue is that
678         CodeMirror 4's CSS mode (css.js) stores its parsing modes in a different
679         data structure. All references to state.stack are obsolete. Many
680         are fixed here and more will be in an upcoming patch.
681
682         * Tools/PrettyPrinting/CodeMirrorFormatters.js: Removed exception for checking state.stack properties.
683         * UserInterface/Controllers/CodeMirrorCompletionController.js:
684         (WebInspector.CodeMirrorCompletionController.prototype._generateCSSCompletions): Corrected "block" state detection.
685         * UserInterface/External/CodeMirror/less.js: Removed.
686         * UserInterface/Views/CodeMirrorAdditions.js: Sets default state of "block" correctly.
687         * UserInterface/Views/CodeMirrorFormatters.js: Removed exception for checking state.stack properties.
688         * UserInterface/Views/SyntaxHighlightingDefaultTheme.css: Fix styles to match CSS mode changes.
689
690 2014-04-24  Antoine Quint  <graouts@webkit.org>
691
692         Web Inspector: gradient editor does not appear for linear-gradient with no specified angle
693         https://bugs.webkit.org/show_bug.cgi?id=132083
694
695         Reviewed by Timothy Hatcher.
696
697         Only assume we're parsing a legacy-formatted gradient if the first parameter is not a color.
698
699         * UserInterface/Models/Gradient.js:
700         (WebInspector.LinearGradient.linearGradientWithComponents):
701
702 2014-04-22  Brent Fulgham  <bfulgham@apple.com>
703
704         [Win] Support Python 2.7 in Cygwin
705         https://bugs.webkit.org/show_bug.cgi?id=132023
706
707         Reviewed by Michael Saboff.
708
709         * WebInspectorUI.vcxproj/build-webinspectorui.sh: use
710         proper path to Python under Cygwin.
711
712 2014-04-18  Katie Madonna  <madonnk@gmail.com>
713
714         Web Inspector: add entries for probe samples in the JS/Events timeline UI
715         https://bugs.webkit.org/show_bug.cgi?id=131173
716
717         Reviewed by Timothy Hatcher.
718
719         Create probe sample fired entries for the JS/Events timeline UI.
720
721         * Localizations/en.lproj/localizedStrings.js:
722         * UserInterface/Controllers/ProbeManager.js:
723         (WebInspector.ProbeManager.prototype.probeForIdentifier): Added.
724         * UserInterface/Controllers/TimelineManager.js: Added cases for probe sample recorded.
725         (WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
726         (WebInspector.TimelineManager.prototype.eventRecorded):
727         * UserInterface/Images/TimelineRecordProbeSampled.svg: Added.
728         * UserInterface/Models/ScriptTimelineRecord.js: Create ProbeSampleRecorded record for ProbeSample case.
729         * UserInterface/Views/TimelineIcons.css:
730         (.probe-record .icon): Added.
731         * UserInterface/Views/TimelineRecordTreeElement.js:
732         (WebInspector.TimelineRecordTreeElement): Added case for probe sample recorded.
733
734 2014-04-15  Timothy Hatcher  <timothy@apple.com>
735
736         Web Inspector: CodeMirror LICENSE is not properly added to combined files
737         https://bugs.webkit.org/show_bug.cgi?id=131674
738
739         Reviewed by Darin Adler.
740
741         * Scripts/copy-user-interface-resources.pl: Use $CODE_MIRROR_LICENSE instead
742         for CodeMirror.css and CodeMirror.js.
743
744 2014-04-14  Jono Wells  <jonowells@apple.com>
745
746         Update to CodeMirror 4.0.
747         https://bugs.webkit.org/show_bug.cgi?id=130019
748
749         The CodeMirror 4.0 library adds multiple selections and the ability to
750         undo/redo selections. Selections are made by holding the Command (Cmd) key
751         and clicking into an editor, or by holding Option (Alt) and making a block
752         selection followed by entering a character or moving the cursor.
753
754         Reviewed by Timothy Hatcher.
755
756         * Scripts/update-codemirror-resources.rb:
757         * Scripts/update-pretty-printer.rb:
758         Update scripts to reflect updated locations for CodeMirror files.
759         No longer copies LESS mode file as this has been integrated into CSS mode
760         in CodeMirror 4.0.
761
762         * Tools/PrettyPrinting/codemirror.css:
763         * Tools/PrettyPrinting/codemirror.js:
764         * Tools/PrettyPrinting/css.js:
765         * Tools/PrettyPrinting/javascript.js:
766         * UserInterface/External/CodeMirror/clojure.js:
767         * UserInterface/External/CodeMirror/closebrackets.js:
768         * UserInterface/External/CodeMirror/codemirror.css:
769         * UserInterface/External/CodeMirror/codemirror.js:
770         * UserInterface/External/CodeMirror/coffeescript.js:
771         * UserInterface/External/CodeMirror/comment.js:
772         * UserInterface/External/CodeMirror/css.js:
773         * UserInterface/External/CodeMirror/htmlmixed.js:
774         * UserInterface/External/CodeMirror/javascript.js:
775         * UserInterface/External/CodeMirror/livescript.js:
776         * UserInterface/External/CodeMirror/matchbrackets.js:
777         * UserInterface/External/CodeMirror/overlay.js:
778         * UserInterface/External/CodeMirror/placeholder.js:
779         * UserInterface/External/CodeMirror/runmode.js:
780         * UserInterface/External/CodeMirror/sass.js:
781         * UserInterface/External/CodeMirror/searchcursor.js:
782         * UserInterface/External/CodeMirror/sql.js:
783         * UserInterface/External/CodeMirror/xml.js:
784         Update to CodeMirror 4.0.
785
786         * UserInterface/Main.html: Remove less.js which is now part of css.js.
787
788         * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
789         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
790         (WebInspector.CSSStyleDeclarationTextEditor.prototype.):
791         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches):
792         (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateJumpToSymbolTrackingMode):
793         * UserInterface/Views/SyntaxHighlightingDefaultTheme.css:
794         Update styles to match CodeMirror changes. Update CSSStyleDeclarationTextEditor.js
795         to match CodeMirror API updates (doc.removeLine() has been removed, so
796         replaceRange() is used instead). Also the tokenTrackingController is now enabled in the
797         CSSStyleDeclarationTextEditor and SourceCodeTextEditor when the Option (Alt) key
798         is pressed instead of the Command (Cmd) key so as not to conflict with multiple
799         cursor placement in the CodeMirror update.
800
801 2014-04-08  Brent Fulgham  <bfulgham@apple.com>
802
803         [Windows] Generate Optimized WebInspectorUI in Release Build
804         https://bugs.webkit.org/show_bug.cgi?id=120120
805
806         Reviewed by Timothy Hatcher.
807
808         * Scripts/copy-user-interface-resources.pl: Copied from Scripts/copy-user-interface-resources.sh.
809         * Scripts/copy-user-interface-resources.sh: Removed.
810         * Scripts/remove-console-asserts.pl:
811         * WebInspectorUI.vcxproj/WebInspectorUI.make: Added.
812         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj: Switch to Makefile style.
813         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters: Ditto.
814         * WebInspectorUI.vcxproj/WebInspectorUIPostBuild.cmd: More work should
815         be done in the new build-webinspectorui.sh file.
816         * WebInspectorUI.vcxproj/build-webinspectorui.sh: Added.
817         * WebInspectorUI.xcodeproj/project.pbxproj:
818
819 2014-04-08  Timothy Hatcher  <timothy@apple.com>
820
821         Fix corrupt APPLE_IMAGES_LICENSE.rtf after r165676.
822         https://bugs.webkit.org/show_bug.cgi?id=131384
823
824         Reviewed by Joseph Pecoraro.
825
826         * APPLE_IMAGES_LICENSE.rtf:
827
828 2014-04-08  Timothy Hatcher  <timothy@apple.com>
829
830         Clean up old protocol JSON files to better match the latest
831         https://bugs.webkit.org/show_bug.cgi?id=131308
832
833         Reviewed by Joseph Pecoraro.
834
835         * Versions/Inspector-iOS-6.0.json:
836         * Versions/Inspector-iOS-7.0.json:
837
838 2014-04-05  Brian J. Burg  <burg@cs.washington.edu>
839
840         Enable WEB_REPLAY for PLATFORM(MAC)
841         https://bugs.webkit.org/show_bug.cgi?id=130700
842
843         Reviewed by Timothy Hatcher.
844
845         If the ReplayAgent is available, then add an option to toggle between the
846         replay interface and normal Timeline interface from the timeline
847         sidebar panel. The option is available through a context menu item on the
848         sidebar panel's top navigation bar.
849
850         If web replay not available, just show the non-replay interface.
851
852         * Localizations/en.lproj/localizedStrings.js:
853         * UserInterface/Base/Main.js: Add WebInspector.showReplayInterfaceSetting.
854         (WebInspector.loaded):
855
856         * UserInterface/Views/TimelineSidebarPanel.js: Unconditionally create the replay
857         interface elements, but only show them if showReplayInterfaceSetting is enabled.
858         (WebInspector.TimelineSidebarPanel.prototype._updateReplayInterfaceVisibility): Added
859         (WebInspector.TimelineSidebarPanel.prototype._contextMenuNavigationBarOrStatusBar.toggleReplayInterface): Added.
860         (WebInspector.TimelineSidebarPanel.prototype._contextMenuNavigationBarOrStatusBar): Added.
861
862 2014-04-05  Brian J. Burg  <burg@cs.washington.edu>
863
864         Web Inspector: remove unused metrics and commands from the Timeline agent
865         https://bugs.webkit.org/show_bug.cgi?id=131184
866
867         Reviewed by Timothy Hatcher.
868
869         Remove the Memory domain from old protocol versions. Remove enum values
870         BeginFrame and CompositeLayers. Remove arguments to Timeline.start.
871         Remove miscellaneous Timeline commands that no longer exist and were never used.
872
873         * UserInterface/Protocol/Legacy/6.0/InspectorWebBackendCommands.js:
874         * UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js:
875         * Versions/Inspector-iOS-6.0.json:
876         * Versions/Inspector-iOS-7.0.json:
877
878 2014-04-03  Brian J. Burg  <burg@cs.washington.edu>
879
880         Web Inspector: hook up probe samples to TimelineAgent's records
881         https://bugs.webkit.org/show_bug.cgi?id=131127
882
883         Reviewed by Timothy Hatcher.
884
885         * UserInterface/Controllers/TimelineManager.js: Stub out a case for the ProbeSample record type.
886         (WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
887         (WebInspector.TimelineManager.prototype.eventRecorded):
888
889 2014-04-04  Joseph Pecoraro  <pecoraro@apple.com>
890
891         Web Inspector: JSContext inspection Resource search throws exception
892         https://bugs.webkit.org/show_bug.cgi?id=131253
893
894         Reviewed by Timothy Hatcher.
895
896         Fail gracefully when none of the supported search backends are available.
897         In JSContext inspection the DOM and Page agents are unavailable.
898
899         * UserInterface/Views/ResourceSidebarPanel.js:
900         (WebInspector.ResourceSidebarPanel.prototype.performSearch):
901
902 2014-04-04  Joseph Pecoraro  <pecoraro@apple.com>
903
904         Web Inspector: JSContext inspection - TypeError: null is not an object (evaluating 'contentView.showSourceCode')
905         https://bugs.webkit.org/show_bug.cgi?id=129857
906
907         Reviewed by Timothy Hatcher.
908
909         When inspecting a JSContext, there is no main frame resource, so
910         attempting to show it was resulting in a runtime error.
911         Instead, check to see if there is a main frame resource, fallback
912         to selecting the first tree element.
913
914         * UserInterface/Base/Main.js:
915         (WebInspector.toggleConsoleView):
916         * UserInterface/Views/DebuggerSidebarPanel.js:
917         (WebInspector.DebuggerSidebarPanel.prototype.showDefaultContentView):
918         * UserInterface/Views/ResourceSidebarPanel.js:
919         (WebInspector.ResourceSidebarPanel.prototype.showDefaultContentView):
920
921 2014-04-04  Ion Rosca  <rosca@adobe.com>
922
923         [CSS Blending] Add compositing reason for isolation.
924         https://bugs.webkit.org/show_bug.cgi?id=131153
925
926         Reviewed by Joseph Pecoraro.
927
928         * Localizations/en.lproj/localizedStrings.js:
929         * UserInterface/Views/LayerTreeSidebarPanel.js:
930         (WebInspector.LayerTreeSidebarPanel.prototype._populateListOfCompositingReasons):
931
932 2014-04-02  Timothy Hatcher  <timothy@apple.com>
933
934         Remove Input domain from the Web Inspector protocol.
935
936         https://bugs.webkit.org/show_bug.cgi?id=131073
937
938         Reviewed by Joseph Pecoraro.
939
940         * UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js: Updated.
941         * Versions/Inspector-iOS-7.0.json: Removed Input domain.
942
943 2014-04-01  Timothy Hatcher  <timothy@apple.com>
944
945         Remove HeapProfiler from the Web Inspector protocol.
946
947         https://bugs.webkit.org/show_bug.cgi?id=131070
948
949         Reviewed by Joseph Pecoraro.
950
951         * UserInterface/Protocol/Legacy/6.0/InspectorWebBackendCommands.js: Updated.
952         * UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js: Ditto.
953         * Versions/Inspector-iOS-6.0.json: Removed heap related stuff.
954         * Versions/Inspector-iOS-7.0.json: Ditto.
955
956 2014-04-01  Joseph Pecoraro  <pecoraro@apple.com>
957
958         Web Inspector: Remove stale localStorage deletion transition code
959         https://bugs.webkit.org/show_bug.cgi?id=131061
960
961         Reviewed by Timothy Hatcher.
962
963         * UserInterface/Base/ImageUtilities.js:
964         This code has been in for a while. We have transitioned to Web SQL.
965
966 2014-04-01  Zoltan Horvath  <zoltan@webkit.org>
967
968         [CSS Exclusions] Remove exclusions parsing support
969         https://bugs.webkit.org/show_bug.cgi?id=131046
970
971         Reviewed by David Hyatt.
972
973         * UserInterface/Models/CSSKeywordCompletions.js:
974
975 2014-04-01  Timothy Hatcher  <timothy@apple.com>
976
977         Remove the rest of the old Canvas inspection support.
978
979         https://bugs.webkit.org/show_bug.cgi?id=131066
980
981         Reviewed by Joseph Pecoraro.
982
983         * UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js: Updated.
984         * Versions/Inspector-iOS-7.0.json: Removed Canvas domain.
985
986 2014-03-28  James Craig  <jcraig@apple.com>
987
988         Web Inspector: AXI: support for live regions
989         https://bugs.webkit.org/show_bug.cgi?id=130725
990
991         Reviewed by Timothy Hatcher.
992
993         Initial support for @aria-live, @aria-atomic, and @aria-busy.
994
995         * Localizations/en.lproj/localizedStrings.js:
996         * UserInterface/Models/DOMNode.js:
997         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
998         * UserInterface/Views/Main.css:
999
1000 2014-03-28  Joseph Pecoraro  <pecoraro@apple.com>
1001
1002         Web Inspector: console.warn is showing as error instead of warning
1003         https://bugs.webkit.org/show_bug.cgi?id=130921
1004
1005         Reviewed by Timothy Hatcher.
1006
1007         * UserInterface/Models/DefaultDashboard.js:
1008         (WebInspector.DefaultDashboard.prototype._incrementConsoleMessageType):
1009         Use our enums instead of hardcoded strings.
1010
1011 2014-03-28  James Craig  <jcraig@apple.com>
1012
1013         Web Inspector: AXI: expose what elements get generic "clickable" status
1014         https://bugs.webkit.org/show_bug.cgi?id=130721
1015
1016         Reviewed by Timothy Hatcher.
1017
1018         Expose ancestor element link to "Click Listener" or generic "Clickable: Yes" if current node has mouse handler.
1019
1020         * Localizations/en.lproj/localizedStrings.js: New "Mouse Event" string.
1021         * UserInterface/Models/DOMNode.js: Added nodeId and mouseEventNodeId.
1022         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js: UI for new detail row.
1023
1024 2014-03-27  James Craig  <jcraig@apple.com>
1025
1026         Web Inspector: AXI: expose selectedChildNodeIds of list boxes, tree controls, etc., and reconcile UI with childNodeIds
1027         https://bugs.webkit.org/show_bug.cgi?id=130827
1028
1029         Reviewed by Timothy Hatcher.
1030
1031         UI updates for "Selected Item(s)" and "Child(ren)" rows in accessibility node inspector.
1032
1033         * Localizations/en.lproj/localizedStrings.js:
1034         * UserInterface/Models/DOMNode.js:
1035         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
1036
1037 2014-03-27  Antoine Quint  <graouts@webkit.org>
1038
1039         Web Inspector: clearing the console log doesn't update the activity viewer
1040         https://bugs.webkit.org/show_bug.cgi?id=130774
1041
1042         Reviewed by Joseph Pecoraro.
1043
1044         Ensure we take the changes made to the ivars into account on the view.
1045
1046         * UserInterface/Models/DefaultDashboard.js:
1047         (WebInspector.DefaultDashboard.prototype._consoleWasCleared):
1048
1049 2014-03-27  Brent Fulgham  <bfulgham@apple.com>
1050
1051         [Win] Correct handling of autogenerated WebInspectorUI files
1052         https://bugs.webkit.org/show_bug.cgi?id=130846
1053
1054         Reviewed by Joseph Pecoraro.
1055
1056         * WebInspectorUI.vcxproj/WebInspectorUIPostBuild.cmd: Files need to be placed in the
1057         'Protocol' subdirectory of the WebInspectorUI directory.
1058
1059 2014-03-25  James Craig  <jcraig@apple.com>
1060
1061         Web Inspector: AXI: add support for aria-activedescendant and reconcile UI/testing with parentNode
1062         https://bugs.webkit.org/show_bug.cgi?id=130712
1063
1064         Reviewed by Timothy Hatcher.
1065
1066         Support for @aria-activedescendant; code reuse changes w/ parentNode and activeDescendantNode.
1067
1068         * Localizations/en.lproj/localizedStrings.js:
1069         * UserInterface/Models/DOMNode.js:
1070         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
1071
1072 2014-03-25  Martin Robinson  <mrobinson@igalia.com>
1073
1074         [GTK] Remove the autotools build
1075         https://bugs.webkit.org/show_bug.cgi?id=130717
1076
1077         Reviewed by Anders Carlsson.
1078
1079         * GNUmakefile.am: Removed.
1080
1081 2014-03-24  Timothy Hatcher  <timothy@apple.com>
1082
1083         Lazy load source code referred to from the source map, instead of when
1084         the source code is revealed in the Resources sidebar.
1085
1086         https://bugs.webkit.org/show_bug.cgi?id=130625
1087
1088         Reviewed by Joseph Pecoraro.
1089
1090         * UserInterface/Models/SourceMapResource.js:
1091         (WebInspector.SourceMapResource): Set up the type info here so it can be used to
1092         dispaly the right icon in the sidebar.
1093         (WebInspector.SourceMapResource.prototype.canRequestContentFromBackend): Use _contentRequested.
1094         (WebInspector.SourceMapResource.prototype.requestContentFromBackend.sourceMapResourceLoaded):
1095         Reset finished and remove the type change dance we had before.
1096         * UserInterface/Views/SourceMapResourceTreeElement.js:
1097         (WebInspector.SourceMapResourceTreeElement.prototype.onattach): Removed. Don't request content here.
1098
1099 2014-03-23  James Craig  <jcraig@apple.com>
1100
1101         Web Inspector: AXI: add other ARIA one-to-many relationships: owns, flowto, controls.
1102         https://bugs.webkit.org/show_bug.cgi?id=130635
1103
1104         Reviewed by Timothy Hatcher.
1105
1106         Support for @aria-owns, @aria-controls, and @aria-flowto.
1107
1108         * Localizations/en.lproj/localizedStrings.js:
1109         * UserInterface/Models/DOMNode.js:
1110         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
1111
1112 2014-03-21  James Craig  <jcraig@apple.com>
1113
1114         Web Inspector: AXI: Expose Accessibility Tree children of the selected node
1115         https://bugs.webkit.org/show_bug.cgi?id=130264
1116
1117         Reviewed by Timothy Hatcher.
1118
1119         Expose the accessibility tree children (different from DOM children) of the
1120         current node in the accessibility node inspector.
1121
1122         * Localizations/en.lproj/localizedStrings.js: New "Children" string.
1123         * UserInterface/Base/DOMUtilities.js: Added linkifyAccessibilityNodeReference.
1124         * UserInterface/Models/DOMNode.js: Support for accessibility children.
1125         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js: Support for accessibility children.
1126         * UserInterface/Views/Main.css: New styles for .node-link-list.
1127
1128 2014-03-20  Brian Burg  <bburg@apple.com>
1129
1130         Web Inspector: add temporary buttons to capture/play/pause replay recordings
1131         https://bugs.webkit.org/show_bug.cgi?id=129692
1132
1133         Reviewed by Timothy Hatcher.
1134
1135         If the Replay agent is available, replace the existing ad-hoc navigation bar
1136         in the Timelines sidebar panel with a record and pause/play button. This UI
1137         is temporary.
1138
1139         * Localizations/en.lproj/localizedStrings.js:
1140         * UserInterface/Controllers/ReplayManager.js: Turn two segment state assertions into
1141         FIXMEs because the assertions are too strong until the public API uses async chains.
1142         (WebInspector.ReplayManager.prototype.replayToMarkIndex):
1143         (WebInspector.ReplayManager.prototype.replayToCompletion):
1144         * UserInterface/Images/Circle.svg: Added.
1145         * UserInterface/Views/ActivateButtonNavigationItem.js:
1146         (WebInspector.ActivateButtonNavigationItem.prototype.generateStyleText):
1147         * UserInterface/Views/ButtonNavigationItem.css: Adjust styles so the default style
1148         has opacity:1 and the glyph color is darker.
1149         (.navigation-bar .item.button.suppress-emboss > .glyph):
1150         (.navigation-bar .item.button.suppress-emboss.disabled > .glyph):
1151         * UserInterface/Views/ButtonNavigationItem.js:
1152         (WebInspector.ButtonNavigationItem.prototype.generateStyleText): Explicitly
1153         generate the width and height properties so that separate button instances do
1154         not influence the size of each other.
1155
1156         * UserInterface/Views/TimelineSidebarPanel.js:
1157         (WebInspector.TimelineSidebarPanel.prototype._recordGlyphClicked):
1158         (WebInspector.TimelineSidebarPanel.prototype._replayCaptureButtonClicked):
1159         (WebInspector.TimelineSidebarPanel.prototype._replayPauseResumeButtonClicked):
1160         (WebInspector.TimelineSidebarPanel.prototype._captureStarted):
1161         (WebInspector.TimelineSidebarPanel.prototype._captureStopped):
1162         (WebInspector.TimelineSidebarPanel.prototype._playbackStarted):
1163         (WebInspector.TimelineSidebarPanel.prototype._playbackPaused):
1164
1165 2014-03-20  Brian Burg  <bburg@apple.com>
1166
1167         Web Inspector: add frontend controller and models for replay sessions
1168         https://bugs.webkit.org/show_bug.cgi?id=130145
1169
1170         Reviewed by Joseph Pecoraro.
1171
1172         Upstream the frontend models and controller for web replay. The replay manager
1173         syncs with the backend controller's replay state and replay sessions by using
1174         the same state machines and transitions.
1175
1176         Session and segment models update their data asynchronously using promises.
1177
1178         * UserInterface/Base/Main.js:
1179         (WebInspector.loaded): Add the replay manager.
1180         * UserInterface/Base/Test.js:
1181         (WebInspector.loaded): Add the replay manager.
1182         (InspectorTest.debugLog): Fix a bug in the unescape/escape trick.
1183         (InspectorTest.addResult): Don't try to add results until the test page has loaded.
1184         (InspectorTest.testPageDidLoad): Clear the isReloading flag.
1185         (InspectorTest.reloadPage): Reimplement using promises. Return a promise.
1186         * UserInterface/Base/Utilities.js: Implement Map.take in the obvious way.
1187         * UserInterface/Controllers/ReplayManager.js: Added.
1188         (WebInspector.ReplayManager):
1189         (WebInspector):
1190         (WebInspector.ReplayManager.prototype.get sessionState):
1191         (WebInspector.ReplayManager.prototype.get segmentState):
1192         (WebInspector.ReplayManager.prototype.get activeSessionIdentifier):
1193         (WebInspector.ReplayManager.prototype.get activeSegmentIdentifier):
1194         (WebInspector.ReplayManager.prototype.get playbackSpeed):
1195         (WebInspector.ReplayManager.prototype.set playbackSpeed):
1196         (WebInspector.ReplayManager.prototype.get currentPosition):
1197         (WebInspector.ReplayManager.prototype.getSession.get var):
1198         (WebInspector.ReplayManager.prototype.getSegment.get var):
1199         (WebInspector.ReplayManager.prototype.captureStarted):
1200         (WebInspector.ReplayManager.prototype.captureStopped):
1201         (WebInspector.ReplayManager.prototype.playbackStarted):
1202         (WebInspector.ReplayManager.prototype.playbackHitPosition):
1203         (WebInspector.ReplayManager.prototype.playbackPaused):
1204         (WebInspector.ReplayManager.prototype.playbackFinished):
1205         (WebInspector.ReplayManager.prototype.sessionCreated.set catch):
1206         (WebInspector.ReplayManager.prototype.sessionCreated.this):
1207         (WebInspector.ReplayManager.prototype.sessionCreated):
1208         (WebInspector.ReplayManager.prototype.sessionModified):
1209         (WebInspector.ReplayManager.prototype.sessionRemoved.then):
1210         (WebInspector.ReplayManager.prototype.sessionRemoved):
1211         (WebInspector.ReplayManager.prototype.segmentCreated.set this):
1212         (WebInspector.ReplayManager.prototype.segmentCompleted.set catch):
1213         (WebInspector.ReplayManager.prototype.segmentCompleted):
1214         (WebInspector.ReplayManager.prototype.segmentRemoved.then):
1215         (WebInspector.ReplayManager.prototype.segmentRemoved):
1216         (WebInspector.ReplayManager.prototype.segmentLoaded):
1217         (WebInspector.ReplayManager.prototype.segmentUnloaded):
1218         (WebInspector.ReplayManager.prototype.startCapturing):
1219         (WebInspector.ReplayManager.prototype.stopCapturing):
1220         (WebInspector.ReplayManager.prototype.replayToMarkIndex):
1221         (WebInspector.ReplayManager.prototype.replayToCompletion):
1222         (WebInspector.ReplayManager.prototype.pausePlayback):
1223         (WebInspector.ReplayManager.prototype.stopPlayback):
1224         (WebInspector.ReplayManager.prototype._changeSessionState):
1225         (WebInspector.ReplayManager.prototype._changeSegmentState):
1226         * UserInterface/Main.html:
1227         * UserInterface/Models/ReplaySession.js: Added.
1228         (WebInspector.ReplaySession):
1229         (WebInspector.ReplaySession.fromPayload):
1230         (WebInspector.ReplaySession.prototype.get segments):
1231         (WebInspector.ReplaySession.prototype.segmentsChanged):
1232         (WebInspector.ReplaySession.prototype._updateFromPayload):
1233         * UserInterface/Models/ReplaySessionSegment.js: Added.
1234         (WebInspector.IncompleteSessionSegment):
1235         (WebInspector.IncompleteSessionSegment.prototype.get isComplete):
1236         (WebInspector.ReplaySessionSegment):
1237         (WebInspector.ReplaySessionSegment.prototype.get isComplete):
1238         * UserInterface/Protocol/InspectorBackend.js:
1239         (InspectorBackendClass.prototype.registerCommand):
1240         (InspectorBackendClass.prototype._promise): Add a promise-returning method for
1241         invoking backend commands that return a result asynchronously.
1242         * UserInterface/Protocol/ReplayObserver.js: Added.
1243         (WebInspector.ReplayPosition):
1244         (WebInspector.ReplayPosition.fromProtocol):
1245         (WebInspector.ReplayObserver):
1246         (WebInspector.ReplayObserver.prototype.captureStarted):
1247         (WebInspector.ReplayObserver.prototype.captureStopped):
1248         (WebInspector.ReplayObserver.prototype.playbackStarted):
1249         (WebInspector.ReplayObserver.prototype.playbackHitPosition):
1250         (WebInspector.ReplayObserver.prototype.playbackPaused):
1251         (WebInspector.ReplayObserver.prototype.playbackFinished):
1252         (WebInspector.ReplayObserver.prototype.inputSuppressionChanged):
1253         (WebInspector.ReplayObserver.prototype.sessionCreated):
1254         (WebInspector.ReplayObserver.prototype.sessionModified):
1255         (WebInspector.ReplayObserver.prototype.sessionRemoved):
1256         (WebInspector.ReplayObserver.prototype.sessionLoaded):
1257         (WebInspector.ReplayObserver.prototype.segmentCreated):
1258         (WebInspector.ReplayObserver.prototype.segmentRemoved):
1259         (WebInspector.ReplayObserver.prototype.segmentCompleted):
1260         (WebInspector.ReplayObserver.prototype.segmentLoaded):
1261         (WebInspector.ReplayObserver.prototype.segmentUnloaded):
1262         * UserInterface/Test.html:
1263
1264 2014-03-20  Joseph Pecoraro  <pecoraro@apple.com>
1265
1266         Web Inspector: DebuggerDashboardView looks scrunched debugging JSContext
1267         https://bugs.webkit.org/show_bug.cgi?id=130527
1268
1269         Reviewed by Timothy Hatcher.
1270
1271         Instead of using body.javascript to force a collapsed style,
1272         actually use the toolbar's collapsed class.
1273
1274         * UserInterface/Views/DashboardContainerView.css:
1275         (.toolbar.collapsed .dashboard-container):
1276         * UserInterface/Views/Toolbar.js:
1277
1278 2014-03-20  Katie Madonna  <madonnk@gmail.com>
1279
1280         Web Inspector: probe sidebar should use overflow:scroll and split space evenly
1281         https://bugs.webkit.org/show_bug.cgi?id=129627
1282
1283         Reviewed by Timothy Hatcher.
1284
1285         Use flexbox to split space evenly in the probe sidebar, which required changes to collapse
1286         format, remove scrollbar styles from old timelapse branch.
1287
1288         * UserInterface/Views/ProbeDetailsSidebarPanel.css: Space elements evenly with flexbox
1289         and make collapse correctly, remove scrollbar style.
1290         * UserInterface/Views/ProbeSetDetailsSection.js: Removed inline style.
1291
1292 2014-03-18  Joseph Pecoraro  <pecoraro@apple.com>
1293
1294         Web Inspector: Make update-InspectorBackendCommands.rb only update legacy protocol versions
1295         https://bugs.webkit.org/show_bug.cgi?id=130412
1296
1297         Reviewed by Timothy Hatcher.
1298
1299         Rename the script and simplify to only update Legacy protocol versions.
1300
1301         * Scripts/update-LegacyInspectorBackendCommands.rb: Renamed from Source/WebInspectorUI/Scripts/update-InspectorBackendCommands.rb.
1302
1303 2014-03-18  Joseph Pecoraro  <pecoraro@apple.com>
1304
1305         Web Inspector: sourceMapResourceLoaded expects statusCode parameter
1306         https://bugs.webkit.org/show_bug.cgi?id=130377
1307
1308         Reviewed by Timothy Hatcher.
1309
1310         * UserInterface/Models/SourceMapResource.js:
1311
1312 2014-03-17  Joseph Pecoraro  <pecoraro@apple.com>
1313
1314         Web Inspector: Uncaught Exception in JSContext Inspector
1315         https://bugs.webkit.org/show_bug.cgi?id=130368
1316
1317         Reviewed by Timothy Hatcher.
1318
1319         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
1320         (WebInspector.DOMNodeDetailsSidebarPanel.prototype._accessibilitySupported):
1321         Feature check DOMAgent as well as the function.
1322
1323 2014-03-16  Brian Burg  <bburg@apple.com>
1324
1325         Web Inspector: vended backend commands file should be generated as part of the build
1326         https://bugs.webkit.org/show_bug.cgi?id=130110
1327
1328         Reviewed by Timothy Hatcher.
1329
1330         Copy the backend commands generated in other frameworks into our built products directory.
1331
1332         * Configurations/WebInspectorUIFramework.xcconfig: Set up variables so we can pull backend
1333         commands files from the private headers directory of other frameworks.
1334         * Scripts/copy-user-interface-resources.sh: Always ditto inspector backend commands.
1335         * UserInterface/Protocol/InspectorJSBackendCommands.js: Removed.
1336         * UserInterface/Protocol/InspectorWebBackendCommands.js: Removed.
1337         * WebInspectorUI.vcxproj/WebInspectorUIPostBuild.cmd: Copy over the generated
1338         backend commands files from the other frameworks.
1339         * WebInspectorUI.xcodeproj/project.pbxproj: Add JavaScriptCore and WebCore as
1340         framework dependencies so Xcode builds them first.
1341
1342 2014-03-15  David Kilzer  <ddkilzer@apple.com>
1343
1344         [iOS] Define SYSTEM_VERSION_PREFIX consistently
1345         <http://webkit.org/b/130293>
1346         <rdar://problem/15926359>
1347
1348         Reviewed by Dan Bernstein.
1349
1350         * Configurations/Version.xcconfig:
1351         (SYSTEM_VERSION_PREFIX): Sync with
1352         Source/WebKit/mac/Version.xcconfig.
1353
1354 2014-03-14  Maciej Stachowiak  <mjs@apple.com>
1355
1356         Replace "Apple Computer, Inc." with "Apple Inc." in copyright headers
1357         https://bugs.webkit.org/show_bug.cgi?id=130276
1358         <rdar://problem/16266927>
1359
1360         Reviewed by Simon Fraser.
1361
1362         * APPLE_IMAGES_LICENSE.rtf:
1363         * UserInterface/Base/DOMUtilities.js:
1364         * UserInterface/Models/Color.js:
1365         * UserInterface/Views/ConsoleCommand.js:
1366         * UserInterface/Views/ConsoleCommandResult.js:
1367         * UserInterface/Views/ConsoleGroup.js:
1368         * UserInterface/Views/ConsoleMessage.js:
1369         * UserInterface/Views/ConsoleMessageImpl.js:
1370         * UserInterface/Views/DOMTreeElement.js:
1371         * UserInterface/Views/DOMTreeOutline.js:
1372         * UserInterface/Views/DOMTreeUpdater.js:
1373         * UserInterface/Views/GradientSlider.css:
1374         * UserInterface/Views/GradientSlider.js:
1375         * UserInterface/Views/TreeOutline.js:
1376
1377 2014-03-14  Bem Jones-Bey  <bjonesbe@adobe.com>
1378
1379         [CSS Shapes] Add autocomplete for -webkit-shape-outside
1380         https://bugs.webkit.org/show_bug.cgi?id=130268
1381
1382         Reviewed by Joseph Pecoraro.
1383
1384         Add completions for -webkit-shape-outside. Also add the box shapes to
1385         the possible completions for clip-path.
1386
1387         * UserInterface/Models/CSSKeywordCompletions.js:
1388
1389 2014-03-14  Joseph Pecoraro  <pecoraro@apple.com>
1390
1391         Web Inspector: Update shapes autocompletion suggestions
1392         https://bugs.webkit.org/show_bug.cgi?id=130255
1393
1394         Reviewed by Bem Jones-Bey.
1395
1396         * UserInterface/Models/CSSKeywordCompletions.js:
1397
1398 2014-03-14  James Craig  <jcraig@apple.com>
1399
1400         Web Inspector: AXI: Expose Accessibility Tree parent of the selected node
1401         https://bugs.webkit.org/show_bug.cgi?id=129943
1402
1403         Reviewed by Timothy Hatcher.
1404
1405         Tests: inspector-protocol/dom/getAccessibilityPropertiesForNode.html
1406
1407         Web Accessibility Node Inspector now displays a link to the AX parent node,
1408         because it's not a 1:1 match with the DOMNode parent.
1409
1410         * Localizations/en.lproj/localizedStrings.js: new "Parent" string.
1411         * UserInterface/Base/DOMUtilities.js: Updating linkifyNodeReference to include role; adding new roleSelectorForNode method.
1412         * UserInterface/Models/DOMNode.js: AX Parent support and adding role to DOMNode (will be exposed as AX Parent link and in overlays).
1413         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js: Accessibility parent node.
1414
1415 2014-03-14  Diego Pino Garcia  <dpino@igalia.com>
1416
1417         Web Inspector: Resource and Frame saveIdentityToCookie should store URL hashes not URLs
1418         https://bugs.webkit.org/show_bug.cgi?id=126833
1419
1420         Reviewed by Timothy Hatcher.
1421
1422         * UserInterface/Models/Frame.js:
1423         (WebInspector.Frame.prototype.saveIdentityToCookie):
1424         * UserInterface/Models/Resource.js:
1425         (WebInspector.Resource.prototype.saveIdentityToCookie):
1426
1427 2014-03-13  James Craig  <jcraig@apple.com>
1428
1429         Web Inspector: AXI: Use loc strings for known aria-invalid types
1430         https://bugs.webkit.org/show_bug.cgi?id=129952
1431
1432         Reviewed by Joseph Pecoraro.
1433
1434         Updating inspector-protocol and UI display values for @aria-invalid.
1435
1436         Test: inspector-protocol/dom/getAccessibilityPropertiesForNode.html
1437
1438         * Localizations/en.lproj/localizedStrings.js: "Grammar" and "Spelling" value strings.
1439         * UserInterface/Protocol/InspectorWebBackendCommands.js: New enum for DOM.AccessibilityPropertiesInvalid
1440         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js: Use enum instead of passing value through directly.
1441
1442 2014-03-13  Diego Pino Garcia  <dpino@igalia.com>
1443
1444         Web Inspector: AXI: Expose focused/focusable state in the Accessibility Node Inspector
1445         https://bugs.webkit.org/show_bug.cgi?id=129779
1446
1447         Reviewed by Timothy Hatcher.
1448
1449         * Localizations/en.lproj/localizedStrings.js: Add label "Focused".
1450         * UserInterface/Models/DOMNode.js: Set property "focused" in
1451         accessibilityProperties.
1452         (WebInspector.DOMNode.prototype.accessibilityProperties): Add row for
1453         property "focused".
1454         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
1455         (WebInspector.DOMNodeDetailsSidebarPanel):
1456         (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshAccessibility):
1457         Refresh value of property "focused" in UI.
1458
1459 2014-03-13  Joseph Pecoraro  <pecoraro@apple.com>
1460
1461         Web Inspector: Remove InspectorFrontendHost.loadResourceSynchronously
1462         https://bugs.webkit.org/show_bug.cgi?id=130217
1463
1464         Reviewed by Timothy Hatcher.
1465
1466         * UserInterface/Protocol/InspectorFrontendHostStub.js:
1467
1468 2014-03-13  Joseph Pecoraro  <pecoraro@apple.com>
1469
1470         Web Inspector: Network.loadResource should include the response status code
1471         https://bugs.webkit.org/show_bug.cgi?id=130216
1472
1473         Reviewed by Timothy Hatcher.
1474
1475         * UserInterface/Controllers/SourceMapManager.js:
1476         (WebInspector.SourceMapManager.prototype.sourceMapLoaded):
1477         (WebInspector.SourceMapManager.prototype._loadAndParseSourceMap):
1478         * UserInterface/Models/SourceMapResource.js:
1479         (WebInspector.SourceMapResource.prototype.requestContentFromBackend.sourceMapResourceLoaded):
1480         If the response is 400 or larger, treat it as an error / failed load.
1481
1482         * UserInterface/Protocol/InspectorWebBackendCommands.js:
1483         Update protocol to provide status code parameter.
1484
1485 2014-03-12  Brian Burg  <bburg@apple.com>
1486
1487         Web Inspector: Remove unused callId parameter from evaluateInWebInspector
1488         https://bugs.webkit.org/show_bug.cgi?id=129744
1489
1490         Reviewed by Timothy Hatcher.
1491
1492         * UserInterface/Protocol/InspectorJSBackendCommands.js:
1493         * UserInterface/Protocol/InspectorObserver.js:
1494         (WebInspector.InspectorObserver.prototype.evaluateForTestInFrontend):
1495
1496 2014-03-12  Joseph Pecoraro  <pecoraro@apple.com>
1497
1498         Web Inspector: [iOS 6] uncaught exception attempting to use CSSAgent.getNamedFlowCollection
1499         https://bugs.webkit.org/show_bug.cgi?id=130167
1500
1501         Reviewed by Timothy Hatcher.
1502
1503         Feature check the protocol method before using it. It is
1504         fine to do nothing if the feature is not supported.
1505
1506         * UserInterface/Controllers/DOMTreeManager.js:
1507
1508 2014-03-12  Joseph Pecoraro  <pecoraro@apple.com>
1509
1510         Web Inspector: Feature check for accessibility support before using it (DOMAgent.getAccessibilityPropertiesForNode)
1511         https://bugs.webkit.org/show_bug.cgi?id=130037
1512
1513         Reviewed by Timothy Hatcher.
1514
1515         Feature detect if accessibility information is supported before
1516         creating or attempting to update the accessibility section.
1517
1518         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
1519         (WebInspector.DOMNodeDetailsSidebarPanel):
1520         (WebInspector.DOMNodeDetailsSidebarPanel.prototype._accessibilitySupported):
1521         (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshAccessibility):
1522
1523 2014-03-12  Joseph Pecoraro  <pecoraro@apple.com>
1524
1525         Web Inspector: Fix multiple console.assert stripping issues
1526         https://bugs.webkit.org/show_bug.cgi?id=130166
1527
1528         Reviewed by Timothy Hatcher.
1529
1530         There were a couple console.assert stripping issues in production.
1531         One line required a semicolon so was avoiding getting stripped.
1532         One resulted in a logic change, when stripping the only statement
1533         of a control flow block. Add a warning for such cases.
1534
1535         * Scripts/remove-console-asserts.pl:
1536         Add warning for a console.assert being the only statement in a control flow block
1537         without braces. When it is stripped it may change the flow of the function.
1538
1539         * Scripts/remove-console-asserts-dryrun.rb: Added.
1540         Add a script to quickly test running remove console asserts on our files, to
1541         help catch errors not in a production build and in the original non-combined
1542         files, so you can more easily fix issues.
1543
1544         * UserInterface/Controllers/DOMTreeManager.js:
1545         (WebInspector.DOMTreeManager.prototype._updateContentFlowFromPayload):
1546         Convert the for loop into a single console.assert statement.
1547
1548         * UserInterface/Views/DataGrid.js:
1549         (WebInspector.DataGrid.prototype.removeChild):
1550         Add missing semicolon.
1551
1552 2014-03-12  Brian Burg  <bburg@apple.com>
1553
1554         Web Inspector: convert model tests and inspector-test.js to use Test.html
1555         https://bugs.webkit.org/show_bug.cgi?id=129217
1556
1557         Reviewed by Timothy Hatcher.
1558
1559         Miscellaneous changes to make the inspector model test harness work well in
1560         scenarios where the test page must navigate or reload. Also improve reporting
1561         test failures so that messages will be dumped correctly even when an exception
1562         is thrown in the Inspector or the test times out.
1563
1564         * UserInterface/Base/Test.js:
1565         (WebInspector.loaded): register new managers and observers.
1566         (InspectorTest.log): Stringify the argument if it's an object.
1567         (InspectorTest.assert): Stringify the argument if it's an object. Don't log
1568         unless the condition is false.
1569
1570         (InspectorTest.expectThat): Added. Like assert(), but always logs.
1571         (InspectorTest.debugLog): Escape and unescape the string properly.
1572         (InspectorTest.completeTest): Fix teardown so messages are not lost.
1573         (InspectorTest.evaluateInPage): Accept a callback argument.
1574         (InspectorTest.addResult): Don't rebuild results when adding a new result.
1575         (InspectorTest._resendResults.decrementPendingResponseCount): Added.
1576
1577         (InspectorTest._resendResults): Added. Track the number of pending
1578         responses and invoke a given callback when everything has been resent.
1579
1580         (InspectorTest.testPageDidLoad): Renamed from `pageLoaded`.
1581         (InspectorTest.reloadPage): Added.
1582         (InspectorTest.reportUncaughtException): Prevent the default handler from running.
1583         * UserInterface/Protocol/InspectorBackend.js:
1584         (InspectorBackendClass.prototype.dispatch): Report uncaught exceptions when dispatching
1585         messages on the inspector page without blowing away the entire call stack.
1586
1587         * UserInterface/Test.html: Add files used by Network and Timeline domains.
1588
1589 2014-03-11  Brian Burg  <bburg@apple.com>
1590
1591         Web Inspector: DataGrid should have an API to set sort column and direction
1592         https://bugs.webkit.org/show_bug.cgi?id=128783
1593
1594         Reviewed by Timothy Hatcher.
1595
1596         Previously there was no way for DataGrid clients to programmatically change
1597         the sort order or sort column identifier after the data grid was constructed.
1598         This patch modernizes DataGrid sorting by exposing getters and setters for
1599         sortOrder and sortColumnIdentifier, which trigger the SortChanged event if
1600         the sort settings have changed.
1601
1602         This patch also modernizes sorting functionality in DataGrid clients, and in
1603         a few clients it moves column identifiers from numbers to string identifiers.
1604
1605         * UserInterface/Main.html:
1606         * UserInterface/Views/ApplicationCacheFrameContentView.js: Use string column identifiers
1607         instead of numbers. Don't repopulate the entire table when the sort changes, instead
1608         call DataGrid.sortNodes from the sorting callback. Explicitly set the sort order.
1609
1610         (WebInspector.ApplicationCacheFrameContentView.prototype._createDataGrid):
1611         (WebInspector.ApplicationCacheFrameContentView.prototype._sortDataGrid):
1612         (WebInspector.ApplicationCacheFrameContentView.prototype._sortDataGrid.localeCompare):
1613         (WebInspector.ApplicationCacheFrameContentView.prototype._populateDataGrid):
1614
1615         * UserInterface/Views/CookieStorageContentView.js: Use string column identifiers instead
1616         of numbers. Don't sort the cookies themselves, just the data grid nodes representing
1617         each cookie. Use DataGrid.sortNodes as the sorting implementation, and provide a
1618         comparator. Don't rebuild the entire table when the sort changes.
1619
1620         (WebInspector.CookieStorageContentView.prototype._rebuildTable):
1621         (WebInspector.CookieStorageContentView.prototype._sortDataGrid):
1622         (WebInspector.CookieStorageContentView.prototype._sortDataGrid.numberCompare):
1623         (WebInspector.CookieStorageContentView.prototype._sortDataGrid.expiresCompare):
1624
1625         * UserInterface/Views/DataGrid.js: Add the DataGrid.SortOrder enum. Put sortOrder
1626         and sortColumnIdentifier behind getters and setters. Pull some hardcoded style
1627         class names into constants. Remove the "sort" field on column config objects; instead
1628         should use the DataGrid.sortColumnIdentifier setter after construction.
1629
1630         (WebInspector.DataGrid): Keep sort settings in private variables.
1631         (WebInspector.DataGrid.prototype.get sortOrder): Reimplemented.
1632         (WebInspector.DataGrid.prototype.get sortColumnIdentifier): Reimplemented.
1633         (WebInspector.DataGrid.prototype.moveToNextCell):
1634         (WebInspector.DataGrid.prototype._editingCommitted):
1635         (WebInspector.DataGrid.prototype.sortNodes): Use requestAnimationFrame to
1636         coalesce multiple sort requests within the same draw frame.
1637         (WebInspector.DataGrid.prototype._sortNodesCallback):
1638         (WebInspector.DataGrid.prototype._headerCellClicked): Use the new sort API.
1639         * UserInterface/Views/LayerTreeDataGrid.js: Removed. Unnecessary for performance
1640         now that sort requests are coalesced by requestAnimationFrame.
1641
1642         * UserInterface/Views/LayerTreeSidebarPanel.js: Use DataGrid instead of LayerTreeDataGrid.
1643         Hook up the _sortDataGrid method to the built-in DataGrid.sortNodes API.
1644
1645         (WebInspector.LayerTreeSidebarPanel.prototype._buildDataGridSection):
1646         (WebInspector.LayerTreeSidebarPanel.prototype._sortDataGrid.comparator):
1647         (WebInspector.LayerTreeSidebarPanel.prototype._sortDataGrid):
1648         * UserInterface/Views/LayoutTimelineView.js:
1649         * UserInterface/Views/LegacyJavaScriptProfileView.js:
1650         (WebInspector.LegacyJavaScriptProfileView.prototype._sortProfile):
1651         * UserInterface/Views/NetworkTimelineView.js:
1652         * UserInterface/Views/ResourceDetailsSidebarPanel.js: Use the DataGrid.sortNodes API.
1653         (WebInspector.ResourceDetailsSidebarPanel.prototype._createNameValueDataGrid.sortDataGrid.comparator):
1654         (WebInspector.ResourceDetailsSidebarPanel.prototype._createNameValueDataGrid.sortDataGrid):
1655         (WebInspector.ResourceDetailsSidebarPanel.prototype._createNameValueDataGrid):
1656         * UserInterface/Views/ScriptTimelineView.js:
1657         * UserInterface/Views/TimelineDataGrid.js:
1658         (WebInspector.TimelineDataGrid.prototype._sortComparator):
1659
1660 2014-03-10  James Craig  <jcraig@apple.com>
1661
1662         Web Inspector: AXI: Expose checked/disabled/expanded/pressed/readonly/selected
1663         https://bugs.webkit.org/show_bug.cgi?id=129781
1664
1665         Reviewed by Joseph Pecoraro.
1666
1667         Enabling several more properties to be exposed in the Accessibility Node Inspector.
1668
1669         Updated Tests: inspector-protocol/dom/getAccessibilityPropertiesForNode.html
1670
1671         * Localizations/en.lproj/localizedStrings.js:
1672         * UserInterface/Models/DOMNode.js:
1673         * UserInterface/Protocol/InspectorWebBackendCommands.js:
1674         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
1675
1676 2014-03-10  Brian Burg  <bburg@apple.com>
1677
1678         Web Inspector: show a debugging-oriented dashboard when scripts pause
1679         https://bugs.webkit.org/show_bug.cgi?id=129913
1680
1681         Reviewed by Timothy Hatcher.
1682
1683         Using the dashboard swapping functionality just added, show a debugger dashboard
1684         whenever the debugger pauses, and hide it when it resumes. The debugger manager
1685         already coalesces pause/resume events across stepping commands.
1686
1687         The dashboard itself is straightforward, with the exception of how it uses the
1688         navigation bar buttons. Since buttons from the same URL can't be reused if they
1689         are bezeled, we don't bezel our button, and set the button image as the glyph mask
1690         instead of the background image. This lets us easily animate the glyph shape.
1691
1692         We also have to more forcefully declare a bunch of icon rules that would otherwise
1693         be messed up by the toolbar's icon rules (whereas we want to mostly emulate navigation
1694         bar icon styles).
1695
1696         * Localizations/en.lproj/localizedStrings.js:
1697         * UserInterface/Base/Main.js:
1698         (WebInspector.loaded):
1699         (WebInspector.contentLoaded):
1700         (WebInspector._debuggerDidPause):
1701         (WebInspector._debuggerDidResume):
1702         * UserInterface/Controllers/DashboardManager.js:
1703         (WebInspector.DashboardManager):
1704         * UserInterface/Main.html:
1705         * UserInterface/Models/DebuggerDashboard.js: Added.
1706         (WebInspector.DebuggerDashboard):
1707         * UserInterface/Views/ButtonNavigationItem.css:
1708         (.navigation-bar .item.button.suppress-emboss > .glyph):
1709         * UserInterface/Views/ButtonNavigationItem.js:
1710         (WebInspector.ButtonNavigationItem.prototype._updateImage):
1711         * UserInterface/Views/DashboardView.js:
1712         (WebInspector.DashboardView):
1713         * UserInterface/Views/DebuggerDashboardView.css: Added.
1714         (.toolbar .dashboard.debugger):
1715         (.dashboard.debugger > .message):
1716         (.dashboard.debugger .navigation-bar):
1717         (.toolbar:not(.small-size) .dashboard.debugger .navigation-bar):
1718         (.dashboard.debugger .navigation-bar .item.button):
1719         (.dashboard.debugger .navigation-bar .item.button > .glyph):
1720         (@-webkit-keyframes pulse-pause-button):
1721         (to):
1722         (.dashboard.debugger > .divider):
1723         (.dashboard.debugger > div):
1724         (.dashboard.debugger > .location > :first-child):
1725         (.toolbar:not(.small-size) .dashboard.debugger > .location :not(:first-child)):
1726         (.dashboard.debugger > .location img.icon):
1727         (.dashboard.debugger > .location .function-name):
1728         (.dashboard.debugger > .location .function-name::after):
1729         (.dashboard.debugger > .location .go-to-link):
1730         (.toolbar.collapsed .dashboard.debugger > :not(.message):not(.navigation-bar )):
1731         (.toolbar.small-size .dashboard.debugger > .message):
1732         (.toolbar.small-size .dashboard.debugger > .location > :first-child):
1733         * UserInterface/Views/DebuggerDashboardView.js: Added.
1734         (WebInspector.DebuggerDashboardView):
1735         (WebInspector.DebuggerDashboardView.prototype._rebuildLocation):
1736         (WebInspector.DebuggerDashboardView.prototype._resumeButtonClicked):
1737         * UserInterface/Views/DebuggerSidebarPanel.js:
1738         (WebInspector.DebuggerSidebarPanel):
1739
1740 2014-03-10  Brian Burg  <bburg@apple.com>
1741
1742         Web Inspector: convert the dashboard toolbar item to support multiple dashboards
1743         https://bugs.webkit.org/show_bug.cgi?id=129898
1744
1745         Reviewed by Timothy Hatcher.
1746
1747         We want to ability to swap in and out different dashboard contents depending on
1748         circumstances such as debugger activity and page loading. This patch converts the
1749         existing hard-coded dashboard implementation to follow the container-based approach
1750         used by WebInspector.ContentViewContainer.
1751
1752         As part of the refactoring, we introduce dashboard model objects to store persistent
1753         dashboard data. Some CSS has also been split between the container and specific dashboard.
1754
1755         * UserInterface/Controllers/DashboardManager.js:
1756         (WebInspector.DashboardManager):
1757         (WebInspector.DashboardManager.prototype.get toolbarItem):
1758         * UserInterface/Main.html:
1759         * UserInterface/Models/DefaultDashboard.js: Copied from Source/WebInspectorUI/UserInterface/Controllers/DashboardManager.js.
1760         (WebInspector.DefaultDashboard):
1761         (WebInspector.DefaultDashboard.prototype.get resourcesCount):
1762         (WebInspector.DefaultDashboard.prototype.set resourcesCount):
1763         (WebInspector.DefaultDashboard.prototype.get resourcesSize):
1764         (WebInspector.DefaultDashboard.prototype.set resourcesSize):
1765         (WebInspector.DefaultDashboard.prototype.get time):
1766         (WebInspector.DefaultDashboard.prototype.set time):
1767         (WebInspector.DefaultDashboard.prototype.get logs):
1768         (WebInspector.DefaultDashboard.prototype.set logs):
1769         (WebInspector.DefaultDashboard.prototype.get errors):
1770         (WebInspector.DefaultDashboard.prototype.set errors):
1771         (WebInspector.DefaultDashboard.prototype.get issues):
1772         (WebInspector.DefaultDashboard.prototype.set issues):
1773         (WebInspector.DefaultDashboard.prototype._dataDidChange):
1774         (WebInspector.DefaultDashboard.prototype._mainResourceDidChange):
1775         (WebInspector.DefaultDashboard.prototype._recordingStopped):
1776         (WebInspector.DefaultDashboard.prototype._resourceWasAdded):
1777         (WebInspector.DefaultDashboard.prototype._frameWasAdded):
1778         (WebInspector.DefaultDashboard.prototype._resourceSizeDidChange):
1779         (WebInspector.DefaultDashboard.prototype._startUpdatingTime):
1780         (WebInspector.DefaultDashboard.prototype._stopUpdatingTime):
1781         (WebInspector.DefaultDashboard.prototype._updateTime):
1782         (WebInspector.DefaultDashboard.prototype._consoleMessageAdded):
1783         (WebInspector.DefaultDashboard.prototype._consoleMessageWasRepeated):
1784         (WebInspector.DefaultDashboard.prototype._incrementConsoleMessageType):
1785         (WebInspector.DefaultDashboard.prototype._consoleWasCleared):
1786         * UserInterface/Views/DashboardContainerView.css: Added.
1787         (.toolbar .dashboard-container):
1788         (body.window-inactive .toolbar .dashboard-container):
1789         (body.javascript .toolbar .dashboard-container):
1790         (.toolbar.normal-size.icon-and-label-vertical .dashboard-container):
1791         (.toolbar.small-size.icon-and-label-horizontal .dashboard-container):
1792         (.toolbar.normal-size.icon-and-label-horizontal .dashboard-container):
1793         (.toolbar .dashboard-container):
1794         (.toolbar .dashboard):
1795         (.toolbar .dashboard.visible):
1796         (.toolbar .dashboard.slide-out-up):
1797         (.toolbar .dashboard.slide-out-down):
1798         (.toolbar .dashboard.slide-in-up):
1799         (.toolbar .dashboard.slide-in-down):
1800         (@-webkit-keyframes slide-top-edge):
1801         (to):
1802         (@-webkit-keyframes slide-bottom-edge):
1803         * UserInterface/Views/DashboardContainerView.js: Added.
1804         (WebInspector.DashboardContainerView):
1805         (WebInspector.DashboardContainerView.prototype.get toolbarItem):
1806         (WebInspector.DashboardContainerView.prototype.get currentDashboardView):
1807         (WebInspector.DashboardContainerView.prototype.showDashboardViewForRepresentedObject):
1808         (WebInspector.DashboardContainerView.prototype._dashboardViewForRepresentedObject):
1809         (WebInspector.DashboardContainerView.prototype._showDashboardView):
1810         * UserInterface/Views/DashboardView.css: Removed.
1811         * UserInterface/Views/DashboardView.js:
1812         (WebInspector.DashboardView):
1813         (WebInspector.DashboardView.prototype.get element):
1814         (WebInspector.DashboardView.prototype.get parentContainer):
1815         (WebInspector.DashboardView.prototype.get representedObject):
1816         (WebInspector.DashboardView.prototype.shown):
1817         (WebInspector.DashboardView.prototype.hidden):
1818         * UserInterface/Views/DefaultDashboardView.css: Added.
1819         (body.web .toolbar.collapsed .dashboard.default > .logs):
1820         (body.javascript .toolbar .dashboard.default > .resourcesCount):
1821         (.toolbar .dashboard.default):
1822         (.toolbar .dashboard.default > .item):
1823         (.toolbar .dashboard.default > .resourcesSize):
1824         (.toolbar .dashboard.default > .item.enabled:hover):
1825         (.toolbar .dashboard.default > .item.enabled:active):
1826         (.toolbar .dashboard.default > .item > *):
1827         (.toolbar .dashboard.default > .item > img):
1828         (.toolbar .dashboard.default > .item.enabled > img):
1829         (.toolbar .dashboard.default > .item.enabled:hover > img):
1830         (.toolbar .dashboard.default > .item > div):
1831         (.toolbar .dashboard.default > .item.enabled > div):
1832         (.toolbar .dashboard.default > .item.enabled:hover > div):
1833         (.toolbar .dashboard.default > .resourcesCount > img):
1834         (.toolbar .dashboard.default > .time > img):
1835         (.toolbar .dashboard.default > .logs > img):
1836         (.toolbar .dashboard.default > .resourcesSize > img):
1837         (.toolbar .dashboard.default > .errors > img):
1838         (.toolbar .dashboard.default > .errors.enabled > img):
1839         (.toolbar .dashboard.default > .errors.enabled:hover > img):
1840         (.toolbar .dashboard.default > .errors.enabled > div):
1841         (.toolbar .dashboard.default > .errors.enabled:hover > div):
1842         (.toolbar .dashboard.default > .issues > img):
1843         (.toolbar .dashboard.default > .issues.enabled > img):
1844         (.toolbar .dashboard.default > .issues.enabled:hover > img):
1845         (.toolbar .dashboard.default > .issues.enabled > div):
1846         (.toolbar .dashboard.default > .issues.enabled:hover > div):
1847         (.toolbar .dashboard.default > .item.pulsing):
1848         (@-webkit-keyframes console-item-pulse):
1849         (.toolbar.small-size.icon-and-label-horizontal .dashboard.default > .item):
1850         (.toolbar.normal-size.icon-and-label-horizontal .dashboard.default > .item):
1851         * UserInterface/Views/DefaultDashboardView.js: Copied from Source/WebInspectorUI/UserInterface/Views/DashboardView.js.
1852         (WebInspector.DefaultDashboardView):
1853         (WebInspector.DefaultDashboardView.prototype._updateDisplay):
1854         (WebInspector.DefaultDashboardView.prototype._formatPossibleLargeNumber):
1855         (WebInspector.DefaultDashboardView.prototype._appendElementForNamedItem.):
1856         (WebInspector.DefaultDashboardView.prototype._appendElementForNamedItem.set item):
1857         (WebInspector.DefaultDashboardView.prototype._appendElementForNamedItem):
1858         (WebInspector.DefaultDashboardView.prototype._itemWasClicked):
1859         (WebInspector.DefaultDashboardView.prototype._resourcesWasClicked):
1860         (WebInspector.DefaultDashboardView.prototype._networkItemWasClicked):
1861         (WebInspector.DefaultDashboardView.prototype._consoleItemWasClicked):
1862         (WebInspector.DefaultDashboardView.prototype.animationEnded):
1863         (WebInspector.DefaultDashboardView.prototype._setConsoleItemValue):
1864         (WebInspector.DefaultDashboardView.prototype._setItemEnabled):
1865
1866 2014-03-08  Joseph Pecoraro  <pecoraro@apple.com>
1867
1868         Web Inspector: update-InspectorBackendCommands.rb is putting legacy protocol files in the wrong place
1869         https://bugs.webkit.org/show_bug.cgi?id=129959
1870
1871         Reviewed by Timothy Hatcher.
1872
1873         The script was putting legacy generated files into UserInterface
1874         instead of UserInterface/Protocol.
1875
1876         * Scripts/update-InspectorBackendCommands.rb:
1877
1878 2014-03-07  Timothy Hatcher  <timothy@apple.com>
1879
1880         Load source maps and their resources asynchronously.
1881
1882         https://bugs.webkit.org/show_bug.cgi?id=112071
1883
1884         Reviewed by Joseph Pecoraro.
1885
1886         * UserInterface/Controllers/SourceMapManager.js:
1887         (WebInspector.SourceMapManager.prototype.loadAndParseSourceMap):
1888         (WebInspector.SourceMapManager.prototype.downloadSourceMap):
1889         (WebInspector.SourceMapManager.prototype.sourceMapLoaded):
1890         (WebInspector.SourceMapManager.prototype._loadAndParseSourceMap):
1891         Use NetworkAgent.loadResource.
1892
1893         * UserInterface/Models/SourceMapResource.js:
1894         (WebInspector.SourceMapResource.prototype.requestContentFromBackend.sourceMapResourceLoaded):
1895         (WebInspector.SourceMapResource.prototype.createSourceCodeTextRange):
1896         Use NetworkAgent.loadResource.
1897
1898         * UserInterface/Protocol/InspectorWebBackendCommands.js: Updated.
1899
1900 2014-03-04  Brian Burg  <bburg@apple.com>
1901
1902         Inspector does not restore breakpoints after a page reload
1903         https://bugs.webkit.org/show_bug.cgi?id=129655
1904
1905         Reviewed by Joseph Pecoraro.
1906
1907         Fix some console asserts that fire when breakpoints resolve.
1908
1909         * UserInterface/Controllers/DebuggerManager.js:
1910         (WebInspector.DebuggerManager.prototype.breakpointResolved):
1911         This had a typo, it should be `breakpoint.identifier`.
1912         (WebInspector.DebuggerManager.prototype.scriptDidParse):
1913         Sometimes the `url` parameter is empty instead of null.
1914
1915 2014-03-04  Diego Pino Garcia  <dpino@igalia.com>
1916
1917         Web Inspector: Remove WebInspector.EventHandler in favor of WebInspector.EventListenerSet
1918         https://bugs.webkit.org/show_bug.cgi?id=129185
1919
1920         Reviewed by Timothy Hatcher.
1921
1922         * UserInterface/Base/EventHandler.js: Removed.
1923         * UserInterface/Main.html: Don't include EventHandler.js.
1924         * UserInterface/Views/SourceCodeTextEditor.js:
1925         (WebInspector.SourceCodeTextEditor.prototype._dismissPopover):
1926         (WebInspector.SourceCodeTextEditor.prototype._trackPopoverEvents):
1927         Use EventListenerSet instead of EventHandler.
1928
1929 2014-03-03  Jonathan Wells  <jonowells@apple.com>
1930
1931         Web Inspector: Match color of regex in source view with a popover
1932         https://bugs.webkit.org/show_bug.cgi?id=129645
1933
1934         Reviewed by Timothy Hatcher.
1935
1936         * UserInterface/Views/LogContentView.css:
1937         (.console-formatted-string):
1938         (.console-formatted-regexp):
1939
1940 2014-03-03  Jonathan Wells  <jonowells@apple.com>
1941
1942         Web Inspector: Better Debugger popovers for RegExp values
1943         https://bugs.webkit.org/show_bug.cgi?id=129633
1944
1945         Reviewed by Timothy Hatcher.
1946
1947         * UserInterface/Views/SourceCodeTextEditor.js:
1948         (WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedJavaScriptExpression.populate):
1949         (WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedJavaScriptExpression):
1950         (WebInspector.SourceCodeTextEditor.prototype._showPopoverForRegExp):
1951
1952 2014-03-03  Timothy Hatcher  <timothy@apple.com>
1953
1954         Don't try to parse legacy CSS gradients -- we don't support them.
1955
1956         https://bugs.webkit.org/show_bug.cgi?id=129623
1957
1958         Reviewed by Joseph Pecoraro.
1959
1960         * UserInterface/Models/Gradient.js:
1961         (WebInspector.Gradient.stopsWithComponents): Fix a possible exception on malformed stops.
1962         (WebInspector.LinearGradient.linearGradientWithComponents): Return early for legacy gradients.
1963
1964 2014-03-03  Timothy Hatcher  <timothy@apple.com>
1965
1966         Remove an innocuous error message and support default views for Resource and Debugger sidebars.
1967
1968         https://bugs.webkit.org/show_bug.cgi?id=129622
1969
1970         Reviewed by Joseph Pecoraro.
1971
1972         * UserInterface/Views/DebuggerSidebarPanel.js:
1973         (WebInspector.DebuggerSidebarPanel.prototype.showDefaultContentView): Added.
1974         * UserInterface/Views/ResourceSidebarPanel.js:
1975         (WebInspector.ResourceSidebarPanel.prototype.showDefaultContentView): Added.
1976         (WebInspector.ResourceSidebarPanel.prototype.treeElementForRepresentedObject): Don't log an error
1977         if the tree element isn't a Script. We try to find any represented object, and it can fail.
1978
1979 2014-03-03  Timothy Hatcher  <timothy@apple.com>
1980
1981         Fix an exception caused by trying to access the DOM before it is loaded.
1982
1983         https://bugs.webkit.org/show_bug.cgi?id=129617
1984
1985         Reviewed by Andreas Kling.
1986
1987         * UserInterface/Base/Main.js:
1988         (WebInspector.loaded): Move global event listeners from here...
1989         (WebInspector.contentLoaded): ... to here.
1990
1991 2014-03-01  Timothy Hatcher  <timothy@apple.com>
1992
1993         Make Start Timeline Recording in the Develop menu show the Timeline view again.
1994
1995         This also fixes a noticeable delay between showing the sidebar and the default Timeline
1996         view when initially opening the Web Inspector to the Timeline.
1997
1998         https://bugs.webkit.org/show_bug.cgi?id=129545
1999
2000         Reviewed by Joseph Pecoraro.
2001
2002         * UserInterface/Base/Main.js:
2003         (WebInspector.contentLoaded): Call TimelineSidebarPanel.initialize to prime the content view.
2004         This is needed so the view is ready in this run loop cycle, where it was delayed before.
2005         * UserInterface/Protocol/InspectorFrontendAPI.js:
2006         (InspectorFrontendAPI.setTimelineProfilingEnabled): Call TimelineSidebarPanel.showTimelineOverview.
2007         * UserInterface/Views/TimelineSidebarPanel.js:
2008         (WebInspector.TimelineSidebarPanel.prototype.initialize): Added.
2009
2010 2014-03-01  Timothy Hatcher  <timothy@apple.com>
2011
2012         Select the Resource navigation sidebar by default when there is no cookie.
2013
2014         https://bugs.webkit.org/show_bug.cgi?id=129544
2015
2016         Reviewed by Joseph Pecoraro.
2017
2018         * UserInterface/Base/Main.js:
2019         (WebInspector._restoreInspectorViewStateFromCookie):
2020
2021 2014-03-01  Timothy Hatcher  <timothy@apple.com>
2022
2023         Label JavaScript forced layouts as such in the Timeline.
2024
2025         https://bugs.webkit.org/show_bug.cgi?id=129546
2026
2027         Reviewed by David Kilzer.
2028
2029         * Localizations/en.lproj/localizedStrings.js: Updated.
2030         * UserInterface/Controllers/TimelineManager.js:
2031         (WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
2032         (WebInspector.TimelineManager.prototype.eventRecorded):
2033         * UserInterface/Models/LayoutTimelineRecord.js:
2034         (WebInspector.LayoutTimelineRecord.EventType.displayName):
2035         * UserInterface/Views/TimelineRecordTreeElement.js:
2036         (WebInspector.TimelineRecordTreeElement):
2037
2038 2014-02-28  Timothy Hatcher  <timothy@apple.com>
2039
2040         Enable breakpoints when adding a new breakpoint or enabling an existing breakpoint.
2041
2042         This eliminates a multi-step process for the user that can be confusing.
2043
2044         https://bugs.webkit.org/show_bug.cgi?id=129426
2045
2046         Reviewed by Joseph Pecoraro.
2047
2048         * UserInterface/Controllers/DebuggerManager.js:
2049         (WebInspector.DebuggerManager.prototype.set breakpointsEnabled):
2050         (WebInspector.DebuggerManager.prototype._breakpointDisabledStateDidChange):
2051         * UserInterface/Views/DebuggerSidebarPanel.js:
2052         (WebInspector.DebuggerSidebarPanel):
2053         (WebInspector.DebuggerSidebarPanel.prototype._breakpointsEnabledDidChange):
2054         (WebInspector.DebuggerSidebarPanel.prototype._breakpointsToggleButtonClicked):
2055
2056 2014-02-27  Timothy Hatcher  <timothy@apple.com>
2057
2058         Use a RegExp when when using CodeMirror's SearchCursor.
2059
2060         This avoids doing toLowerCase() on every line of the TextEditor.
2061
2062         https://bugs.webkit.org/show_bug.cgi?id=129463
2063
2064         Reviewed by Joseph Pecoraro.
2065
2066         * UserInterface/Views/TextEditor.js:
2067         (TextEditor.prototype.performSearch): Use a RegExp for query. Pass false for the caseFold
2068         argument, but it is ignored for RegExp searches anyway.
2069
2070 2014-02-27  Brian Burg  <bburg@apple.com>
2071
2072         Web Inspector: model tests should use a special Test.html inspector page
2073         https://bugs.webkit.org/show_bug.cgi?id=129190
2074
2075         Reviewed by Timothy Hatcher.
2076
2077         * UserInterface/Base/Test.js: Added.
2078         (WebInspector.loaded):
2079         (WebInspector.contentLoaded):
2080         (WebInspector.updateDockedState):
2081         (InspectorTest.log):
2082         (InspectorTest.assert):
2083         (InspectorTest.debugLog):
2084         (InspectorTest.completeTest):
2085         (InspectorTest.evaluateInPage):
2086         (InspectorTest.addResult):
2087         (InspectorTest.clearResults):
2088         (InspectorTest.pageLoaded):
2089         (InspectorTest.reportUncaughtException):
2090         (.console.logType):
2091         * UserInterface/Protocol/InspectorBackend.js:
2092         (InspectorBackendClass):
2093         (InspectorBackendClass.prototype.dispatch):
2094         (InspectorBackendClass.prototype.runAfterPendingDispatches):
2095         (InspectorBackendClass.prototype._flushPendingScripts):
2096         * UserInterface/Protocol/InspectorObserver.js:
2097         (WebInspector.InspectorObserver.prototype.evaluateForTestInFrontend):
2098         * UserInterface/Test.html: Added.
2099
2100 2014-02-27  Joseph Pecoraro  <pecoraro@apple.com>
2101
2102         Web Inspector: JSContext inspection should report exceptions in the console
2103         https://bugs.webkit.org/show_bug.cgi?id=128776
2104
2105         Reviewed by Timothy Hatcher.
2106
2107         * UserInterface/ConsoleMessageImpl.js:
2108         (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
2109         (WebInspector.ConsoleMessageImpl.prototype._shouldHideURL):
2110         (WebInspector.ConsoleMessageImpl.prototype._firstNonNativeCallFrame):
2111         (WebInspector.ConsoleMessageImpl.prototype._populateStackTraceTreeElement):
2112         Provide better handling for "[native code]" and legacy "undefined"
2113         call frame URLs. Never linkify these. Also, when showing a link
2114         for an exception, always use the first non-native call frame as
2115         the link location.
2116
2117 2014-02-26  Timothy Hatcher  <timothy@apple.com>
2118
2119         Fix an issue where the Timeline filter scope bars were not applying.
2120
2121         Reviewed by Joseph Pecoraro.
2122
2123         * UserInterface/Views/TimelineDataGrid.js:
2124         (TimelineDataGrid.prototype.treeElementMatchesActiveScopeFilters): Use .get() to access the ScopeBar.
2125
2126 2014-02-25  Andreas Kling  <akling@apple.com>
2127
2128         Prune dead code for Web Inspector memory instrumentation.
2129         <https://webkit.org/b/129286>
2130
2131         Reviewed by Sam Weinig.
2132
2133         * UserInterface/Protocol/InspectorWebBackendCommands.js:
2134
2135 2014-02-24  Timothy Hatcher  <timothy@apple.com>
2136
2137         Switch from prefixed CSS gradient to unprefixed.
2138
2139         https://bugs.webkit.org/show_bug.cgi?id=129279
2140
2141         Reviewed by Andreas Kling.
2142
2143         * UserInterface/Views/BreakpointActionView.css:
2144         (.breakpoint-action-append-button):
2145         (.breakpoint-action-remove-button):
2146         * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
2147         (.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch):
2148         * UserInterface/Views/CompletionSuggestionsView.css:
2149         (.completion-suggestions-container > .item:active):
2150         * UserInterface/Views/DashboardView.css:
2151         (.toolbar .dashboard):
2152         * UserInterface/Views/DataGrid.css:
2153         (.data-grid th):
2154         (.data-grid table.data):
2155         (.data-grid th.sortable:not(.mouse-over-collapser):active):
2156         (.data-grid th.sort-ascending, .data-grid th.sort-descending):
2157         (.data-grid th.sortable.sort-ascending:not(.mouse-over-collapser):active, .data-grid th.sortable.sort-descending:not(.mouse-over-collapser):active):
2158         (body.window-inactive .data-grid th.sort-descending):
2159         * UserInterface/Views/DetailsSection.css:
2160         (.details-section > .header):
2161         (.details-section .details-section > .header):
2162         * UserInterface/Views/DividerNavigationItem.css:
2163         (.navigation-bar .item.divider):
2164         * UserInterface/Views/FindBanner.css:
2165         (.find-banner > button:active:not(:disabled)):
2166         * UserInterface/Views/Main.css:
2167         (#split-content-browser > .navigation-bar):
2168         * UserInterface/Views/NavigationSidebarPanel.css:
2169         (.sidebar > .panel.navigation > .overflow-shadow):
2170         (.navigation-sidebar-panel-content-tree-outline .item.selected):
2171         (.navigation-sidebar-panel-content-tree-outline:focus .item.selected):
2172         (body.window-inactive .navigation-sidebar-panel-content-tree-outline .item.selected):
2173         * UserInterface/Views/ProbeSetDataGrid.css:
2174         (.details-section.probe-set .data-grid > .data-container td.unknown-value):
2175         (.details-section.probe-set .data-grid th):
2176         * UserInterface/Views/RadioButtonNavigationItem.css:
2177         (.navigation-bar .item.radio.button.text-only.selected):
2178         * UserInterface/Views/TextEditor.css:
2179         (.text-editor .bouncy-highlight):
2180         * UserInterface/Views/TimelineContentView.css:
2181         (.content-view.timeline > .view-container > .timeline-view > .data-grid table.data):
2182         * UserInterface/Views/TimelineDataGrid.css:
2183         (.timeline-data-grid-tree-outline .item:hover):
2184         * UserInterface/Views/TimelineRuler.css:
2185         (.timeline-ruler > .header > .divider):
2186         * UserInterface/Views/TimelineSidebarPanel.css:
2187         (.sidebar > .panel.timeline > .title-bar):
2188         (.sidebar > .panel.timeline > .content > .stripe-background):
2189         * UserInterface/Views/Toolbar.css:
2190         (body:not(.mac-platform) .toolbar):
2191         (body.docked.mac-platform.mavericks .toolbar):
2192
2193 2014-02-24  Timothy Hatcher  <timothy@apple.com>
2194
2195         Fix the missing navigation bar in the Debugger sidebar panel.
2196
2197         Sorting the CSS resources caused specificity issue.
2198
2199         https://bugs.webkit.org/show_bug.cgi?id=129251
2200
2201         Reviewed by Joseph Pecoraro.
2202
2203         * UserInterface/Views/DebuggerSidebarPanel.css:
2204         (.sidebar > .panel.navigation.debugger > .content):
2205         (.sidebar > .panel.navigation.debugger > .navigation-bar):
2206         * UserInterface/Views/LayoutTimelineView.css:
2207         (.sidebar > .panel.navigation.timeline.timeline-content-view-showing .navigation-sidebar-panel-content-tree-outline.layout .item .subtitle):
2208         * UserInterface/Views/NetworkTimelineView.css:
2209         (.sidebar > .panel.navigation.timeline.timeline-content-view-showing .navigation-sidebar-panel-content-tree-outline.network .item .subtitle):
2210         * UserInterface/Views/ResourceSidebarPanel.css:
2211         (.sidebar > .panel.navigation.resource > .empty-content-placeholder):
2212         (.sidebar > .panel.navigation.resource > .search-bar):
2213         (.sidebar > .panel.navigation.resource > .search-bar > input[type="search"]):
2214         * UserInterface/Views/ScriptTimelineView.css:
2215         (.sidebar > .panel.navigation.timeline.timeline-content-view-showing .navigation-sidebar-panel-content-tree-outline.script .item .subtitle):
2216         * UserInterface/Views/TimelineSidebarPanel.css:
2217         (.sidebar > .panel.navigation.timeline > .status-bar):
2218         (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph):
2219         (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.recording):
2220         (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph:hover):
2221         (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.recording:hover):
2222         (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.forced):
2223         (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.recording.forced):
2224         (.sidebar > .panel.navigation.timeline > .status-bar > .record-status):
2225         (.sidebar > .panel.navigation.timeline > .title-bar):
2226         (.sidebar > .panel.navigation.timeline > .title-bar.timelines):
2227         (.sidebar > .panel.navigation.timeline > .title-bar.timeline-events):
2228         (.sidebar > .panel.navigation.timeline > .timelines-content):
2229         (.sidebar > .panel.navigation.timeline > .timelines-content .close-button):
2230         (.sidebar > .panel.navigation.timeline > .timelines-content li.item .icon):
2231         (.sidebar > .panel.navigation.timeline > .timelines-content li.item.selected .close-button):
2232         (.sidebar > .panel.navigation.timeline > .timelines-content li.item:not(.selected):nth-child(even)):
2233         (.sidebar > .panel.navigation.timeline > .timelines-content li.item:not(.selected):not(:first-child)):
2234         (.sidebar > .panel.navigation.timeline > .timelines-content li.item.selected + li.item):
2235         (.sidebar > .panel.navigation.timeline > .timelines-content :focus li.item.selected + li.item):
2236         (.sidebar > .panel.navigation.timeline > .timelines-content .close-button:active):
2237         (.sidebar > .panel.navigation.timeline > .empty-content-placeholder):
2238         (.sidebar > .panel.navigation.timeline.timeline-content-view-showing > .content):
2239         (.sidebar > .panel.navigation.timeline > .content > .stripe-background):
2240         (.sidebar > .panel.navigation.timeline.timeline-content-view-showing > .content > .stripe-background):
2241
2242 2014-02-24  Timothy Hatcher  <timothy@apple.com>
2243
2244         Give non-Mac platforms a default toolbar background so it isn't just white.
2245
2246         https://bugs.webkit.org/show_bug.cgi?id=129260
2247
2248         Reviewed by Joseph Pecoraro.
2249
2250         * UserInterface/Base/Main.js:
2251         (WebInspector.contentLoaded): Style the boby with platform classes.
2252         * UserInterface/Base/Utilities.js:
2253         (String.prototype.contains): Added.
2254         * UserInterface/Views/Toolbar.css:
2255         (body.docked .toolbar, body:not(.mac-platform) .toolbar): Added. Default toolbar background.
2256         (body.docked.mac-platform.mavericks .toolbar, body.docked.mac-platform.mountain-lion): Added.
2257         (body.mac-platform:not(.docked) .toolbar .item.button > .label): Only apply to Mac.
2258
2259 2014-02-24  Diego Pino Garcia  <dpino@igalia.com>
2260
2261         Web Inspector: Remove single quote characters from Web Inspector JavaScript files
2262         https://bugs.webkit.org/show_bug.cgi?id=129253
2263
2264         Reviewed by Timothy Hatcher.
2265
2266         * UserInterface/Base/Main.js:
2267         (WebInspector.openURL):
2268         * UserInterface/Views/CookieStorageContentView.js:
2269         (WebInspector.cookieDomainMatchesResourceDomain):
2270         * UserInterface/Views/DOMTreeElement.js:
2271         (WebInspector.DOMTreeElement.prototype._insertInLastAttributePosition):
2272         (WebInspector.DOMTreeElement.prototype._startEditingTagName.editingComitted):
2273         (WebInspector.DOMTreeElement.prototype._startEditingTagName.editingCancelled):
2274         (WebInspector.DOMTreeElement.prototype._startEditingTagName):
2275         * UserInterface/Views/DOMTreeOutline.js:
2276         (WebInspector.DOMTreeOutline.prototype._ondragover):
2277         * UserInterface/Views/DataGrid.js:
2278         (WebInspector.DataGrid.prototype.addPlaceholderNode):
2279
2280 2014-02-23  Dan Bernstein  <mitz@apple.com>
2281
2282         Removed -Wno-format-y2k from WARNING_CFLAGS
2283
2284         Rubber-stamped by Sam Weinig.
2285
2286         * Configurations/Base.xcconfig:
2287
2288 2014-02-23  Diego Pino García  <dpino@igalia.com>
2289
2290         [GTK] Fix build after Web Inspector code reorganization (r164543)
2291         https://bugs.webkit.org/show_bug.cgi?id=129231
2292
2293         Reviewed by Dean Jackson.
2294
2295         * GNUmakefile.am:
2296         Modify paths to Web Inspector code.
2297
2298 2014-02-23  Antoine Quint  <graouts@webkit.org>
2299
2300         Web Inspector: color picker sliders aren't laid out correctly
2301         https://bugs.webkit.org/show_bug.cgi?id=129234
2302
2303         Reviewed by Joseph Pecoraro.
2304
2305         While it's unclear to me what happened, the "position" property for the color picker sliders
2306         wasn't being computed as expected and used relative positioning. I assume this is related to
2307         r164543 when the order of CSS files changed.
2308
2309         * UserInterface/Views/Slider.css:
2310         (.slider):
2311
2312 2014-02-22  Dan Bernstein  <mitz@apple.com>
2313
2314         REGRESSION (r164507): Crash beneath JSGlobalObjectInspectorController::reportAPIException at facebook.com, twitter.com, youtube.com
2315         https://bugs.webkit.org/show_bug.cgi?id=129227
2316
2317         Reviewed by Eric Carlson.
2318
2319         Reverted r164507.
2320
2321         * UserInterface/Views/ConsoleMessageImpl.js:
2322         (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
2323         (WebInspector.ConsoleMessageImpl.prototype._populateStackTraceTreeElement):
2324
2325 2014-02-21  Timothy Hatcher  <timothy@apple.com>
2326
2327         Organize WebInspectorUI/UserInterface into sub-directories.
2328
2329         https://bugs.webkit.org/show_bug.cgi?id=129194
2330
2331         Rubber-stamped by Joseph Pecoraro.
2332
2333         * Scripts/copy-user-interface-resources.sh: Fix Image URLs and Protocol paths.
2334         * UserInterface/Base: Added.
2335         * UserInterface/Controllers: Added.
2336         * UserInterface/Images: Added.
2337         * UserInterface/Main.html: Updated.
2338         * UserInterface/Models Added.
2339         * UserInterface/Protocol Added.
2340         * UserInterface/Views: Added.
2341
2342 2014-02-21  Timothy Hatcher  <timothy@apple.com>
2343
2344         Add inspection user interface for IndexedDB.
2345
2346         https://bugs.webkit.org/show_bug.cgi?id=129162
2347
2348         Reviewed by Joseph Pecoraro.
2349
2350         * Localizations/en.lproj/localizedStrings.js: Updated.
2351         * UserInterface/ContentView.js:
2352         (WebInspector.ContentView):
2353         (WebInspector.ContentView.isViewable):
2354         * UserInterface/IndexedDatabase.js: Added.
2355         (WebInspector.IndexedDatabase):
2356         (WebInspector.IndexedDatabase.prototype.get name):
2357         (WebInspector.IndexedDatabase.prototype.get securityOrigin):
2358         (WebInspector.IndexedDatabase.prototype.get host):
2359         (WebInspector.IndexedDatabase.prototype.get version):
2360         (WebInspector.IndexedDatabase.prototype.get objectStores):
2361         (WebInspector.IndexedDatabase.prototype.saveIdentityToCookie):
2362         * UserInterface/IndexedDatabaseEntryDataGridNode.js: Added.
2363         (WebInspector.IndexedDatabaseEntryDataGridNode):
2364         (WebInspector.IndexedDatabaseEntryDataGridNode.prototype.get entry):
2365         (WebInspector.IndexedDatabaseEntryDataGridNode.prototype.createCellContent):
2366         * UserInterface/IndexedDatabaseHostTreeElement.js: Added.
2367         (WebInspector.IndexedDatabaseHostTreeElement):
2368         (WebInspector.IndexedDatabaseHostTreeElement.prototype.get name):
2369         (WebInspector.IndexedDatabaseHostTreeElement.prototype.get categoryName):
2370         * UserInterface/IndexedDatabaseObjectStore.js: Added.
2371         (WebInspector.IndexedDatabaseObjectStore):
2372         (WebInspector.IndexedDatabaseObjectStore.prototype.get name):
2373         (WebInspector.IndexedDatabaseObjectStore.prototype.get keyPath):
2374         (WebInspector.IndexedDatabaseObjectStore.prototype.get autoIncrement):
2375         (WebInspector.IndexedDatabaseObjectStore.prototype.get parentDatabase):
2376         (WebInspector.IndexedDatabaseObjectStore.prototype.get indexes):
2377         (WebInspector.IndexedDatabaseObjectStore.prototype.saveIdentityToCookie):
2378         (WebInspector.IndexedDatabaseObjectStore.prototype.establishRelationship):
2379         * UserInterface/IndexedDatabaseObjectStoreContentView.css: Added.
2380         (.content-view.indexed-database-object-store > .data-grid):
2381         (.content-view.indexed-database-object-store > .data-grid td .section .header):
2382         (.content-view.indexed-database-object-store > .data-grid td .section .header::before):
2383         (.content-view.indexed-database-object-store > .data-grid td .section .header .title):
2384         (.content-view.indexed-database-object-store > .data-grid table.data):
2385         (.content-view.indexed-database-object-store > .data-grid table.data tr:nth-child(even)):
2386         (.content-view.indexed-database-object-store > .data-grid table.data tr:nth-child(odd)):
2387         (.content-view.indexed-database-object-store > .data-grid table.data tr.filler):
2388         (.content-view.indexed-database-object-store > .data-grid :focus tr.selected td .section .header::before):
2389         (.content-view.indexed-database-object-store > .data-grid :focus tr.selected td .section.expanded .header::before):
2390         (.content-view.indexed-database-object-store > .data-grid :focus tr.selected td .properties-tree li.parent::before):
2391         (.content-view.indexed-database-object-store > .data-grid :focus tr.selected td .properties-tree li.parent.expanded::before):
2392         (.content-view.indexed-database-object-store > .data-grid :focus tr.selected td .properties-tree li *):
2393         * UserInterface/IndexedDatabaseObjectStoreContentView.js: Added.
2394         (WebInspector.IndexedDatabaseObjectStoreContentView.displayKeyPath):
2395         (WebInspector.IndexedDatabaseObjectStoreContentView):
2396         (WebInspector.IndexedDatabaseObjectStoreContentView.prototype.closed):
2397         (WebInspector.IndexedDatabaseObjectStoreContentView.prototype.saveToCookie):
2398         (WebInspector.IndexedDatabaseObjectStoreContentView.prototype.updateLayout):
2399         (WebInspector.IndexedDatabaseObjectStoreContentView.prototype._reset):
2400         (WebInspector.IndexedDatabaseObjectStoreContentView.prototype._dataGridScrolled):
2401         (WebInspector.IndexedDatabaseObjectStoreContentView.prototype._fetchMoreData.processEntries):
2402         (WebInspector.IndexedDatabaseObjectStoreContentView.prototype._fetchMoreData):
2403         * UserInterface/IndexedDatabaseObjectStoreIndex.js: Added.
2404         (WebInspector.IndexedDatabaseObjectStoreIndex):
2405         (WebInspector.IndexedDatabaseObjectStoreIndex.prototype.get name):
2406         (WebInspector.IndexedDatabaseObjectStoreIndex.prototype.get keyPath):
2407         (WebInspector.IndexedDatabaseObjectStoreIndex.prototype.get unique):
2408         (WebInspector.IndexedDatabaseObjectStoreIndex.prototype.get multiEntry):
2409         (WebInspector.IndexedDatabaseObjectStoreIndex.prototype.get parentObjectStore):
2410         (WebInspector.IndexedDatabaseObjectStoreIndex.prototype.saveIdentityToCookie):
2411         (WebInspector.IndexedDatabaseObjectStoreIndex.prototype.establishRelationship):
2412         * UserInterface/IndexedDatabaseObjectStoreIndexTreeElement.js: Added.
2413         (WebInspector.IndexedDatabaseObjectStoreIndexTreeElement):
2414         (WebInspector.IndexedDatabaseObjectStoreIndexTreeElement.prototype.get objectStoreIndex):
2415         * UserInterface/IndexedDatabaseObjectStoreTreeElement.js: Added.
2416         (WebInspector.IndexedDatabaseObjectStoreTreeElement):
2417         (WebInspector.IndexedDatabaseObjectStoreTreeElement.prototype.get objectStore):
2418         (WebInspector.IndexedDatabaseObjectStoreTreeElement.prototype.oncollapse):
2419         (WebInspector.IndexedDatabaseObjectStoreTreeElement.prototype.onpopulate):
2420         * UserInterface/IndexedDatabaseTreeElement.js: Added.
2421         (WebInspector.IndexedDatabaseTreeElement):
2422         (WebInspector.IndexedDatabaseTreeElement.prototype.get indexedDatabase):
2423         (WebInspector.IndexedDatabaseTreeElement.prototype.oncollapse):
2424         (WebInspector.IndexedDatabaseTreeElement.prototype.onpopulate):
2425         * UserInterface/Main.html:
2426         * UserInterface/Main.js:
2427         (WebInspector.sidebarPanelForRepresentedObject):
2428         * UserInterface/ResourceSidebarPanel.js:
2429         (WebInspector.ResourceSidebarPanel):
2430         (WebInspector.ResourceSidebarPanel.prototype._treeElementSelected):
2431         (WebInspector.ResourceSidebarPanel.prototype._indexedDatabaseWasAdded):
2432         (WebInspector.ResourceSidebarPanel.prototype._storageCleared):
2433         * UserInterface/StorageManager.js:
2434         (WebInspector.StorageManager):
2435         (WebInspector.StorageManager.prototype.initialize):
2436         (WebInspector.StorageManager.prototype.processData):
2437         (WebInspector.StorageManager.prototype.requestIndexedDatabaseData):
2438         (WebInspector.StorageManager.prototype._mainResourceDidChange):
2439         (WebInspector.StorageManager.prototype._addIndexedDBDatabasesIfNeeded.processDatabaseNames):
2440         (WebInspector.StorageManager.prototype._addIndexedDBDatabasesIfNeeded.processDatabase):
2441         (WebInspector.StorageManager.prototype._addIndexedDBDatabasesIfNeeded):
2442         (WebInspector.StorageManager.prototype._addIndexedDBDatabasesIfNeeded.processObjectStore):
2443         (WebInspector.StorageManager.prototype._addIndexedDBDatabasesIfNeeded.processObjectStoreIndex):
2444         (WebInspector.StorageManager.prototype._securityOriginDidChange):
2445         * UserInterface/URLUtilities.js:
2446         (parseSecurityOrigin):
2447
2448 2014-02-22  Antoine Quint  <graouts@webkit.org>
2449
2450         Web Inspector: allow drag-to-adjust on angle input of gradients editor
2451         https://bugs.webkit.org/show_bug.cgi?id=129095
2452
2453         Reviewed by Timothy Hatcher.
2454
2455         Rename CodeMirrorDragToAlterNumberController to CodeMirrorDragToAdjustNumberController and move
2456         the core logic of a drag-to-adjust behavior out of it to a new generic class DragToAdjustController.
2457         We use this new class from CodeMirrorGradientEditingController to provide drag-to-adjust behavior
2458         in the angle input field of the gradient editor and also as a supporting object for the CodeMirror-
2459         specific class.
2460
2461         * UserInterface/CodeMirrorDragToAdjustNumberController.css: Renamed from Source/WebInspectorUI/UserInterface/CodeMirrorDragToAlterNumberController.css.
2462         (.CodeMirror.drag-to-adjust .CodeMirror-lines):
2463
2464         * UserInterface/CodeMirrorDragToAdjustNumberController.js: Added.
2465         Removed the UI logic and use the new DragToAdjustController as a supporting object instead. We implement
2466         the various DragToAdjustController delegate methods in order to customize its behavior to work within the
2467         context of a CodeMirror editor, specifically to prevent activation when the editor is read-only and to
2468         prevent adjustment when the hovered token isn't a number.
2469
2470         (WebInspector.CodeMirrorDragToAdjustNumberController):
2471         (WebInspector.CodeMirrorDragToAdjustNumberController.prototype.get enabled):
2472         (WebInspector.CodeMirrorDragToAdjustNumberController.prototype.set enabled):
2473         (WebInspector.CodeMirrorDragToAdjustNumberController.prototype.dragToAdjustControllerActiveStateChanged):
2474         (WebInspector.CodeMirrorDragToAdjustNumberController.prototype.dragToAdjustControllerCanBeActivated):
2475         (WebInspector.CodeMirrorDragToAdjustNumberController.prototype.dragToAdjustControllerCanBeAdjusted):
2476         (WebInspector.CodeMirrorDragToAdjustNumberController.prototype.dragToAdjustControllerWasAdjustedByAmount):
2477         (WebInspector.CodeMirrorDragToAdjustNumberController.prototype.dragToAdjustControllerDidReset):
2478         (WebInspector.CodeMirrorDragToAdjustNumberController.prototype.dragToAdjustControllerCanAdjustObjectAtPoint):
2479
2480         * UserInterface/CodeMirrorGradientEditingController.css:
2481         (.gradient-editing-controller > label.drag-to-adjust > input):
2482
2483         * UserInterface/CodeMirrorGradientEditingController.js:
2484         Adopt the new DragToAdjustController to make the angle input field value adjustable by dragging.
2485
2486         (WebInspector.CodeMirrorGradientEditingController.prototype.popoverWillPresent):
2487         (WebInspector.CodeMirrorGradientEditingController.prototype.dragToAdjustControllerWasAdjustedByAmount):
2488         (WebInspector.CodeMirrorGradientEditingController.prototype._handleInputEvent):
2489         (WebInspector.CodeMirrorGradientEditingController.prototype._angleInputValueDidChange):
2490
2491         * UserInterface/DragToAdjustController.js: Renamed from Source/WebInspectorUI/UserInterface/CodeMirrorDragToAlterNumberController.js.
2492         New DragToAdjustController class exposing only the core UI logic of a drag-to-adjust behavior in the context
2493         of a DOM element, exposing a few delegation methods to customize the controller's behavior:
2494
2495         - dragToAdjustControllerActiveStateChanged() notifies that the .active property has changed, allowing bringup
2496         and cleanup work to be performed.
2497
2498         - dragToAdjustControllerDidReset() notifies that the various tracking states of the controller have been reset
2499         allowing other state objects used by clients to be cleared.
2500
2501         - dragToAdjustControllerCanBeActivated() is used to check whether the controller may enter the active state upon
2502         first hovering the target element.
2503
2504         - dragToAdjustControllerCanBeAdjusted() is used to check whether adjustment can be performed at the moment when
2505         the user actually is about to engage in a drag-to-adjust interaction.
2506
2507         - dragToAdjustControllerCanAdjustObjectAtPoint() is used to check whether the object at the provided point (mouse
2508         location) is an adjustable value.
2509
2510         - dragToAdjustControllerWasAdjustedByAmount() notifies that there is a new amount to add to the current value
2511         following a drag-to-adjust interaction.
2512
2513         (WebInspector.DragToAdjustController):
2514         (WebInspector.DragToAdjustController.prototype.get element):
2515         (WebInspector.DragToAdjustController.prototype.set element):
2516         (WebInspector.DragToAdjustController.prototype.set enabled):
2517         (WebInspector.DragToAdjustController.prototype.get active):
2518         (WebInspector.DragToAdjustController.prototype.set active):
2519         (WebInspector.DragToAdjustController.prototype.reset):
2520         (WebInspector.DragToAdjustController.prototype.handleEvent):
2521         (WebInspector.DragToAdjustController.prototype._setDragging):
2522         (WebInspector.DragToAdjustController.prototype._setTracksMouseClickAndDrag):
2523         (WebInspector.DragToAdjustController.prototype._modifiersDidChange):
2524         (WebInspector.DragToAdjustController.prototype._mouseMoved):
2525         (WebInspector.DragToAdjustController.prototype._mouseWasPressed):
2526         (WebInspector.DragToAdjustController.prototype._mouseWasDragged):
2527         (WebInspector.DragToAdjustController.prototype._mouseWasReleased):
2528
2529         * UserInterface/Main.html:
2530         Link in new source files.
2531
2532 2014-02-21  Chi Wai Lau  <clau@apple.com>
2533
2534         Web Inspector: Replace binarySearch with lowerBound and upperBound functions
2535         https://bugs.webkit.org/show_bug.cgi?id=118609
2536
2537         Reviewed by Timothy Hatcher.
2538
2539         This makes insertionIndexForObjectInListSortedByFunction work in O(log(n)) time instead of O(n).
2540
2541         * UserInterface/BinarySearch.js: Removed.
2542         * UserInterface/Main.html:
2543         * UserInterface/Utilities.js:
2544         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
2545         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
2546
2547 2014-02-21  Brian Burg  <bburg@apple.com>
2548
2549         Web Inspector: animate breakpoint tree elements when probe samples are received
2550         https://bugs.webkit.org/show_bug.cgi?id=128334
2551
2552         Reviewed by Timothy Hatcher.
2553
2554         * UserInterface/BreakpointIcons.css: Removed, rules migrated to the following file.
2555
2556         * UserInterface/BreakpointTreeElement.css: When we want to animateon top of the
2557         static icon, we set the icon image as the icon element's background, and animate
2558         a span on top of the icon element.
2559
2560         (.breakpoint-exception-icon .icon): Moved.
2561         (.breakpoint-generic-line-icon .icon):
2562         (.breakpoint-generic-line-icon .icon > span): Added.
2563         (.data-updated.breakpoint-generic-line-icon .icon > span): Added.
2564
2565         * UserInterface/BreakpointTreeElement.js:
2566         (WebInspector.BreakpointTreeElement): Rewrite event listener add/remove to use EventListenerSet.
2567         (WebInspector.BreakpointTreeElement.prototype.ondetach): Override to unregister the instance's listeners.
2568         (WebInspector.BreakpointTreeElement.prototype._addProbeSet): Added.
2569         (WebInspector.BreakpointTreeElement.prototype._removeProbeSet): Added.
2570         (WebInspector.BreakpointTreeElement.prototype._probeSetAdded): Added.
2571         (WebInspector.BreakpointTreeElement.prototype._probeSetRemoved): Added.
2572         Add/remove listeners when probe sets change.
2573
2574         (WebInspector.BreakpointTreeElement.prototype._samplesCleared): Listeners should follow
2575         the active data table.
2576
2577         (WebInspector.BreakpointTreeElement.prototype._dataUpdated): Run the animation when probe data changes.
2578         (WebInspector.BreakpointTreeElement.prototype._breakpointLocationDidChange): Fix a listener leak.
2579         * UserInterface/Main.html: Remove BreakpointIcons.css.
2580         * UserInterface/NavigationSidebarPanel.css:
2581         (.navigation-sidebar-panel-content-tree-outline .item .icon): give icons
2582         'position: relative' so child spans can be absolutely positioned.
2583         * UserInterface/ProbeDetailsSidebarPanel.js: Get probeSet out of the event data
2584         container. The probe set used to be passed as the data container itself.
2585         (WebInspector.ProbeDetailsSidebarPanel.prototype._probeSetAdded):
2586         * UserInterface/ProbeManager.js:
2587         (WebInspector.ProbeManager.prototype._breakpointActionsChanged.set get knownProbeIdentifiers):
2588         (WebInspector.ProbeManager.prototype._breakpointActionsChanged):
2589         (WebInspector.ProbeManager.prototype.get _probeSetForBreakpoint.set this):
2590         * UserInterface/ProbeSet.js:
2591         (WebInspector.ProbeSet.prototype.clearSamples): include the old data table as the SamplesCleared event data.
2592         * UserInterface/TextResourceContentView.js:
2593         (WebInspector.TextResourceContentView.prototype._probeSetsChanged):
2594
2595 2014-02-21  Joseph Pecoraro  <pecoraro@apple.com>
2596
2597         Web Inspector: JSContext inspection should report exceptions in the console
2598         https://bugs.webkit.org/show_bug.cgi?id=128776
2599
2600         Reviewed by Timothy Hatcher.
2601
2602         * UserInterface/ConsoleMessageImpl.js:
2603         (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
2604         (WebInspector.ConsoleMessageImpl.prototype._shouldHideURL):
2605         (WebInspector.ConsoleMessageImpl.prototype._firstNonNativeCallFrame):
2606         (WebInspector.ConsoleMessageImpl.prototype._populateStackTraceTreeElement):
2607         Provide better handling for "[native code]" and legacy "undefined"
2608         call frame URLs. Never linkify these. Also, when showing a link
2609         for an exception, always use the first non-native call frame as
2610         the link location.
2611
2612 2014-02-21  Joseph Pecoraro  <pecoraro@apple.com>
2613
2614         Revert r164486, causing a number of test failures.
2615
2616         Unreviewed rollout.
2617
2618 2014-02-21  Joseph Pecoraro  <pecoraro@apple.com>
2619
2620         Web Inspector: JSContext inspection should report exceptions in the console
2621         https://bugs.webkit.org/show_bug.cgi?id=128776
2622
2623         Reviewed by Timothy Hatcher.
2624
2625         * UserInterface/ConsoleMessageImpl.js:
2626         (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
2627         (WebInspector.ConsoleMessageImpl.prototype._shouldHideURL):
2628         (WebInspector.ConsoleMessageImpl.prototype._firstNonNativeCallFrame):
2629         (WebInspector.ConsoleMessageImpl.prototype._populateStackTraceTreeElement):
2630         Provide better handling for "[native code]" and legacy "undefined"
2631         call frame URLs. Never linkify these. Also, when showing a link
2632         for an exception, always use the first non-native call frame as
2633         the link location.
2634
2635 2014-02-21  Antoine Quint  <graouts@webkit.org>
2636
2637         Web Inspector: scrollbar may appear when selecting a stop in gradient editor
2638         https://bugs.webkit.org/show_bug.cgi?id=129149
2639
2640         Reviewed by Timothy Hatcher.
2641
2642         Ensure the angle input is not focused as we update the size of the gradient editor's
2643         popover content since, if it were, it'd make a scrollbar appear as we animate the
2644         popover's frame to fit its new content.
2645
2646         * UserInterface/CodeMirrorGradientEditingController.js:
2647         (WebInspector.CodeMirrorGradientEditingController.prototype.gradientSliderStopWasSelected):
2648
2649 2014-02-20  Antoine Quint  <graouts@webkit.org>
2650
2651         Web Inspector: rich editing of CSS gradients
2652         https://bugs.webkit.org/show_bug.cgi?id=119686
2653
2654         Reviewed by Timothy Hatcher.
2655
2656         Look for gradient definitions in CSS resources and implement a gradient-specific CodeMirrorEditingController
2657         to edit those CSS gradients. The CodeMirrorGradientEditingController consists of a GradientSlider, a new widget
2658         allowing the editing of gradient stops, a <select> to pick between various gradient types, a text input to edit
2659         the gradient angle (for linear gradients) and finally a ColorPicker when a gradient stop is picked for editing.
2660
2661         * Localizations/en.lproj/localizedStrings.js:
2662         New localized strings for the content of the gradient editing controller popover.
2663
2664         * UserInterface/CodeMirrorAdditions.js:
2665         New .createGradientMarkers() method which, similar to .createColorMarkers(), takes in an optional TextRange, and
2666         looks for all gradients specified in CSS to create TextMarkers with new type WebInspector.TextMarker.Type.Gradient.
2667         In order to fully identify these CSS gradient strings, we implement a tokenizer to look for the final closing
2668         parenthesis since there can be nested opening and closing parentheses as colors are specified for stops.
2669
2670         * UserInterface/CodeMirrorGradientEditingController.css: Added.
2671         (.gradient-editing-controller):
2672         (.gradient-editing-controller.edits-color):
2673         (.gradient-editing-controller.radial-gradient):
2674         (.gradient-editing-controller.edits-color.radial-gradient):
2675         (.gradient-editing-controller select):
2676         (.gradient-editing-controller .gradient-slider):
2677         (.gradient-editing-controller .color-picker):
2678         (.gradient-editing-controller > .color-picker > .slider):
2679         (.gradient-editing-controller > .color-picker > .brightness):
2680         (.gradient-editing-controller > .color-picker > .opacity):
2681         (.gradient-editing-controller > label):
2682         (.gradient-editing-controller.radial-gradient > label):
2683         (.gradient-editing-controller.edits-color > label):
2684         (.gradient-editing-controller > label > input):
2685
2686         * UserInterface/CodeMirrorGradientEditingController.js: Added.
2687         (WebInspector.CodeMirrorGradientEditingController):
2688         (WebInspector.CodeMirrorGradientEditingController.prototype.get initialValue):
2689         (WebInspector.CodeMirrorGradientEditingController.prototype.get cssClassName):
2690         (WebInspector.CodeMirrorGradientEditingController.prototype.get popoverPreferredEdges):
2691         (WebInspector.CodeMirrorGradientEditingController.prototype.popoverTargetFrameWithRects):
2692         (WebInspector.CodeMirrorGradientEditingController.prototype.popoverWillPresent):
2693         (WebInspector.CodeMirrorGradientEditingController.prototype.popoverDidPresent):
2694         Implementation of CodeMirrorEditingController methods meant to be overridden. This allows us
2695         to customize the popover's appearance, mostly to control how it attaches to the gradient
2696         strings in the editor.
2697
2698         (WebInspector.CodeMirrorGradientEditingController.prototype.handleEvent):
2699         Event handler for changes in the <select> governing gradient type and <input> for the angle.
2700
2701         (WebInspector.CodeMirrorGradientEditingController.prototype.gradientSliderStopsDidChange):
2702         Implementation of a GradientSlider delegation method, we use this to update the .text property
2703         in order to propagate the stops change to the editor.
2704
2705         (WebInspector.CodeMirrorGradientEditingController.prototype.gradientSliderStopWasSelected):
2706         Implementation of a GradientSlider delegation method, we use this to control the display of the
2707         ColorPicker used to edit the color of a selected stop.
2708
2709         (WebInspector.CodeMirrorGradientEditingController.prototype._handleInputEvent):
2710         Deal with changes in the <input> for the angle, ensuring we have a "º" string added to the value.
2711
2712         (WebInspector.CodeMirrorGradientEditingController.prototype._handleChangeEvent):
2713         Deal with changes in the <select> for the type, preserving the stops list from one gradient type
2714         to the other. Gradient type-specific information (angle for linear gradients, sizing for radial
2715         gradients) is lost as we toggle between gradient types.
2716
2717         (WebInspector.CodeMirrorGradientEditingController.prototype._colorPickerColorChanged):
2718         Propagate a color change in the ColorPicker to the stop being edited in the GradientSlider and
2719         and update the .text property in order to propagate the stops change to the editor.
2720
2721         (WebInspector.CodeMirrorGradientEditingController.prototype._updateCSSClassForGradientType):
2722         As we toggle the gradient type in ._handleChangeEvent(), update the CSS class used to hide or show
2723         the angle <input> which is only relevant for linear gradients.
2724
2725         * UserInterface/ColorPicker.js:
2726         (WebInspector.ColorPicker):
2727         Adopt the new Checkers.svg file to display the checkers pattern in the background of the opacity slider.
2728
2729         (WebInspector.ColorPicker.prototype.get colorWheel):
2730         Expose the ColorWheel such that it can be sized by ColorPicker clients.
2731
2732         (WebInspector.ColorPicker.prototype._updateColor):
2733         Drive-by fix for a bug where we'd attempt to use the RGB components of a color to get the alpha-aware version
2734         of the color even though the base format was HSL.
2735
2736         * UserInterface/Gradient.js: Added.
2737         Parser for gradient strings as passed from the CodeMirror .createGradientMarkers() extension method. In the case
2738         of linear gradients, we parse all values, save for lengths, and in the case of radial gradients, we preserve the
2739         sizing information as a string and parse only the gradient stops as the sizing information is only useful to show
2740         in an editor if attached to an element with metrics.
2741
2742         Since instances of Gradient are used as the .value property of CodeMirrorGradientEditingController, we implement
2743         the required .copy() and .toString() methods. The .toString() implementations are aware of default values for angles
2744         and color stop offsets and only print those as necessary and use shorthands when possible.
2745
2746         (WebInspector.Gradient.fromString):
2747         (WebInspector.Gradient.stopsWithComponents):
2748         (WebInspector.Gradient.stringFromStops):
2749         (WebInspector.LinearGradient):
2750         (WebInspector.LinearGradient.linearGradientWithComponents):
2751         (WebInspector.LinearGradient.prototype.copy):
2752         (WebInspector.LinearGradient.prototype.toString):
2753         (WebInspector.RadialGradient):
2754         (WebInspector.RadialGradient.radialGradientWithComponents):
2755         (WebInspector.RadialGradient.prototype.copy):
2756         (WebInspector.RadialGradient.prototype.toString):
2757
2758         * UserInterface/GradientSlider.css: Added.
2759         (.gradient-slider):
2760         (.gradient-slider > canvas):
2761         (.gradient-slider > .add-area):
2762         (.gradient-slider-knob):
2763         (.gradient-slider-knob.shadow):
2764         (.gradient-slider-knob.selected):
2765         (.gradient-slider-knob.detaching):
2766         (.gradient-slider-knob.fade-out):
2767         (.gradient-slider-knob > div):
2768         (.gradient-slider-knob > img):
2769
2770         * UserInterface/GradientSlider.js: Added.
2771         Widget used to edit a list of stops for a gradient, linear or radial. The widget features a <canvas> element
2772         that draws the gradient as a linear gradient from left to right with checkers in the background to correctly
2773         display transparent colors. Attached to this background, individual knobs are shown for each stop in the provided
2774         stops array. These knobs can be dragged from left to right to change the matching stop offset, but also down to
2775         detach the knob and remove this stop. Additionally, knobs can be clicked to toggle their selected state, where only
2776         one knob can be selected at a time. The Esc. key is used to remove selection of the currently selected knob.
2777
2778         (WebInspector.GradientSlider):
2779         (WebInspector.GradientSlider.prototype.get element):
2780         (WebInspector.GradientSlider.prototype.get stops):
2781         (WebInspector.GradientSlider.prototype.set stops):
2782         (WebInspector.GradientSlider.prototype.get selectedStop):
2783         (WebInspector.GradientSlider.prototype.handleEvent):
2784         (WebInspector.GradientSlider.prototype.handleKeydownEvent):
2785         (WebInspector.GradientSlider.prototype.knobXDidChange):
2786         (WebInspector.GradientSlider.prototype.knobCanDetach):
2787         (WebInspector.GradientSlider.prototype.knobWillDetach):
2788         (WebInspector.GradientSlider.prototype.knobSelectionChanged):
2789         (WebInspector.GradientSlider.prototype._handleMouseover):
2790         (WebInspector.GradientSlider.prototype._handleMousemove):
2791         (WebInspector.GradientSlider.prototype._handleMouseout):
2792         (WebInspector.GradientSlider.prototype._handleClick):
2793         (WebInspector.GradientSlider.prototype._updateShadowKnob):
2794         (WebInspector.GradientSlider.prototype._sortStops):
2795         (WebInspector.GradientSlider.prototype._updateStops):
2796         (WebInspector.GradientSlider.prototype._updateCanvas):
2797         (WebInspector.GradientSlider.prototype._updateKnobs):
2798         (WebInspector.GradientSliderKnob):
2799         (WebInspector.GradientSliderKnob.prototype.get element):
2800         (WebInspector.GradientSliderKnob.prototype.get stop):
2801         (WebInspector.GradientSliderKnob.prototype.set stop):
2802         (WebInspector.GradientSliderKnob.prototype.get x):
2803         (WebInspector.GradientSliderKnob.prototype.set x):
2804         (WebInspector.GradientSliderKnob.prototype.get y):
2805         (WebInspector.GradientSliderKnob.prototype.set y):
2806         (WebInspector.GradientSliderKnob.prototype.get wellColor):
2807         (WebInspector.GradientSliderKnob.prototype.set wellColor):
2808         (WebInspector.GradientSliderKnob.prototype.get selected):
2809         (WebInspector.GradientSliderKnob.prototype.set selected):
2810         (WebInspector.GradientSliderKnob.prototype.handleEvent):
2811         (WebInspector.GradientSliderKnob.prototype._handleMousedown):
2812         (WebInspector.GradientSliderKnob.prototype._handleMousemove):
2813         (WebInspector.GradientSliderKnob.prototype._handleMouseup):
2814         (WebInspector.GradientSliderKnob.prototype._handleTransitionEnd):
2815         (WebInspector.GradientSliderKnob.prototype._updateTransform):
2816
2817         * UserInterface/Images/Checkers.svg: Added.
2818         New asset to draw checkers for color wells.
2819
2820         * UserInterface/Images/GradientStop.png: Added.
2821         * UserInterface/Images/GradientStop@2x.png: Added.
2822         * UserInterface/Images/GradientStopSelected.png: Added.
2823         * UserInterface/Images/GradientStopSelected@2x.png: Added.
2824         New assets used by the gradient slider.
2825
2826         * UserInterface/Main.html:
2827         Link to the new source files.
2828
2829         * UserInterface/SourceCodeTextEditor.js:
2830         (WebInspector.SourceCodeTextEditor.prototype._updateEditableMarkers):
2831         Add a call to .createGradientMarkers() such that we support editing of CSS gradients in such editors.
2832
2833         (WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedMarkedExpression):
2834         Also recognize gradient markers as valid editable markers.
2835
2836         * UserInterface/TextEditor.js:
2837         (WebInspector.TextEditor.prototype.createGradientMarkers):
2838         Wrapper for the CodeMirror extension method .createGradientMarkers() such that it may be used by subclasses
2839         that have no knowledge of CodeMirror.
2840
2841         (WebInspector.TextEditor.prototype.editingControllerForMarker):
2842         Return a CodeMirrorGradientEditingController for TextMarkers with WebInspector.TextMarker.Type.Gradient type.
2843
2844         * UserInterface/TextMarker.js:
2845         Add the WebInspector.TextMarker.Type.Gradient type.
2846
2847 2014-02-20  Antoine Quint  <graouts@webkit.org>
2848
2849         Web Inspector: create a CodeMirrorEditingController superclass
2850         https://bugs.webkit.org/show_bug.cgi?id=129094
2851
2852         Reviewed by Timothy Hatcher.
2853
2854         Take code that is generic to editing of any text marker out of CodeMirrorColorEditingController to
2855         create a new CodeMirrorEditingController superclass that'll be fit to use for future editing controllers.
2856         Additioanlly, we fix existing issues with such editing by supporting text markers spread across several
2857         lines and more robustly handling the Esc. key being pressed to dismiss a controller's popover.
2858
2859         * UserInterface/CSSStyleDeclarationTextEditor.js:
2860         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches):
2861         Adopt the new .createColorMarkers() method signature to provide a TextRange parameter rather than a single
2862         line number.
2863
2864         * UserInterface/CodeMirrorAdditions.js:
2865         Remove the .boundsForRange() method in favor of a .rectsForRange() method which will allow us to draw better
2866         menus when hovering over a text range by providing tight bounds rather than a large box. We also handle any
2867         line wrapping produced by CodeMirror and remove any leading white-space so that the rects are tight to the
2868         actual characters in the text marker.
2869
2870         We also change .createColorMarkers() to take in a TextRange parameter rather than a line number in order to
2871         better deal with text markers spread across multiple lines.
2872
2873         * UserInterface/CodeMirrorColorEditingController.js:
2874         Remove any code that is adequate for any editing controller (which is moving to CodeMirrorEditingController).
2875         We also adopt new interfaces exposed by CodeMirrorEditingController.
2876
2877         (WebInspector.CodeMirrorColorEditingController):
2878         (WebInspector.CodeMirrorColorEditingController.prototype.get initialValue):
2879         (WebInspector.CodeMirrorColorEditingController.prototype.get cssClassName):
2880         (WebInspector.CodeMirrorColorEditingController.prototype.popoverWillPresent):
2881         (WebInspector.CodeMirrorColorEditingController.prototype.popoverDidPresent):
2882         (WebInspector.CodeMirrorColorEditingController.prototype._colorPickerColorChanged):
2883
2884         * UserInterface/CodeMirrorEditingController.js: Copied from Source/WebInspectorUI/UserInterface/CodeMirrorColorEditingController.js.
2885         New class meant to be subclassed by any future editing controller, and already subclassed by
2886         CodeMirrorColorEditingController. This class exposes several hooks for subclasses to customize its behavior:
2887
2888         .initialValue: a value we can revert to if the editing is canceled
2889         .cssClassName: a CSS class name that can be added to the editing controller's container
2890         .popoverPreferredEdges: a list of preferredEdges as passed to Popover.prototype.present() with a sensible default
2891         .popoverTargetFrameWithRects: a targetFrame passed to Popover.prototype.present(), defaults to a union of provided rects
2892         .popoverWillPresent: called as the popover is about to be presented, typically overridden to set the popover's content
2893         .popoverDidPresent: called as the popover just was presented, typically overridden when content needs to tuned only after
2894         being added to the DOM and setting of the necessary machinery to update the serialized value in the editor based on interaction
2895         within the popover without changing the serialized value upon showing the popover the very first time.
2896
2897         Additionally, the .value property must be an object supporting .toString() and .copy() method.
2898
2899         Finally, the .editingControllerDidStartEditing() and .editingControllerDidFinishEditing() delegate methods are fired
2900         as editing begins and finishes.
2901
2902         (WebInspector.CodeMirrorEditingController):
2903         (WebInspector.CodeMirrorEditingController.prototype.get marker):
2904         (WebInspector.CodeMirrorEditingController.prototype.get range):
2905         (WebInspector.CodeMirrorEditingController.prototype.get value):
2906         (WebInspector.CodeMirrorEditingController.prototype.set value):
2907         (WebInspector.CodeMirrorEditingController.prototype.get delegate):
2908         (WebInspector.CodeMirrorEditingController.prototype.set delegate):
2909         (WebInspector.CodeMirrorEditingController.prototype.get text):
2910         (WebInspector.CodeMirrorEditingController.prototype.set text):
2911         (WebInspector.CodeMirrorEditingController.prototype.get initialValue):
2912         (WebInspector.CodeMirrorEditingController.prototype.get cssClassName):
2913         (WebInspector.CodeMirrorEditingController.prototype.get popover):
2914         (WebInspector.CodeMirrorEditingController.prototype.get popoverPreferredEdges):
2915         (WebInspector.CodeMirrorEditingController.prototype.popoverTargetFrameWithRects):
2916         (WebInspector.CodeMirrorEditingController.prototype.presentHoverMenu):
2917         (WebInspector.CodeMirrorEditingController.prototype.dismissHoverMenu):
2918         (WebInspector.CodeMirrorEditingController.prototype.popoverWillPresent):
2919         (WebInspector.CodeMirrorEditingController.prototype.popoverDidPresent):
2920
2921         (WebInspector.CodeMirrorEditingController.prototype.handleKeydownEvent):
2922         Event handler for keydown events as registered via the new WebInspector.addWindowKeydownListener() method.
2923
2924         (WebInspector.CodeMirrorEditingController.prototype.hoverMenuButtonWasPressed):
2925         (WebInspector.CodeMirrorEditingController.prototype.didDismissPopover):
2926
2927         * UserInterface/Geometry.js:
2928         (WebInspector.Rect.unionOfRects):
2929         (WebInspector.Rect.prototype.unionWithRect):
2930         New utilities to get a Rect that is the union of the provided Rect or array of Rects.
2931
2932         (WebInspector.Polygon):
2933         (WebInspector.Polygon.prototype.bounds):
2934         New class used to store a list of points for a polygon and get its bounds, used by the HoverMenu class.
2935
2936         * UserInterface/HoverMenu.css:
2937         (.hover-menu):
2938         (.hover-menu > svg):
2939         (.hover-menu > svg > rect):
2940         (.hover-menu > img):
2941
2942         * UserInterface/HoverMenu.js:
2943         We remove the assumption that a HoverMenu is only used to draw a single rounded rect based on a simple
2944         Rect and instead support presentation based on an array of Rects where we either:
2945
2946         - draw a single rounded rectangle if there is only a single Rect provided
2947         - draw two disconnected open-ended rects if we're provided with two non-overlapping Rects
2948         - draw a polygon surrounding all provided Rects in all other cases
2949
2950         No matter how the HoverMenu is drawn, the drawing is performed in SVG with either <rect> or a <path> elements.
2951
2952         (WebInspector.HoverMenu):
2953         (WebInspector.HoverMenu.prototype.present):
2954         (WebInspector.HoverMenu.prototype.dismiss):
2955         (WebInspector.HoverMenu.prototype.handleEvent):
2956         (WebInspector.HoverMenu.prototype._handleClickEvent):
2957         (WebInspector.HoverMenu.prototype._drawOutline):
2958         (WebInspector.HoverMenu.prototype._addRect):
2959         (WebInspector.HoverMenu.prototype._addPath):
2960         (WebInspector.HoverMenu.prototype._drawSingleLine):
2961         (WebInspector.HoverMenu.prototype._drawTwoNonOverlappingLines):
2962         (WebInspector.HoverMenu.prototype._drawOverlappingLines):
2963
2964         * UserInterface/Main.html:
2965         Link to the new CodeMirrorEditingController class.
2966
2967         * UserInterface/Main.js:
2968         Expose a new mechanism to deal with window-level handling of keydown events in order to allow
2969         a list of handlers to accept or reject dealing with the provided keydown event based on the order
2970         they were registered, in most recent to oldest registered handler. This allows, for instance, for
2971         a more graceful handling of the Esc. key being pressed in the CodeMirrorEditingController and
2972         bypasses the DOM structure allowing for objects managing elements in different DOM hierarchies
2973         to compete with handling of keydown events.
2974
2975         (WebInspector.loaded):
2976         (WebInspector.addWindowKeydownListener):
2977         (WebInspector.removeWindowKeydownListener):
2978         (WebInspector._updateWindowKeydownListener):
2979         (WebInspector._sharedWindowKeydownListener):
2980
2981         * UserInterface/SourceCodeTextEditor.css:
2982         (.hover-menu.color > img):
2983         Update the offset applied to a HoverMenu button based on the change of layout for such buttons which
2984         are now absolutely positioned in code by HoverMenu rather than being laid out using the flex-box model.
2985
2986         * UserInterface/SourceCodeTextEditor.js:
2987         Abstrct away the assumption that only a color editing controller may be used to edit text markers in
2988         a source code text editor.
2989
2990         (WebInspector.SourceCodeTextEditor.prototype.hidden):
2991         Ensure we remove any currently-displayed hover menu for an editing controller when the editor is hidden.
2992         This would happen in the situation where a keyboard shortcut was used to jump to another part of the
2993         Web Inspector UI without using the mouse.
2994
2995         (WebInspector.SourceCodeTextEditor.prototype.contentDidChange):
2996         Since we're now working with text ranges rather than lines, remove the code where we'd work out a set of
2997         changed lines and call ._updateEditableMarkers() with the changed range directly instead.
2998
2999         (WebInspector.SourceCodeTextEditor.prototype._contentDidPopulate):
3000         (WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerNewHighlightCandidate):
3001         (WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerMouseOutOfHoveredMarker):
3002         Adopt the more generic method names rather than color-specific ones.
3003
3004         (WebInspector.SourceCodeTextEditor.prototype._showPopover):
3005         When showing the popover outside of the use of a CodeMirrorEditingController, such as a JavaScript expression
3006         when debugging, also deal with the possibility of the highlighted range containing multiple lines rather
3007         than assume a single line.
3008
3009         (WebInspector.SourceCodeTextEditor.prototype._updateEditableMarkers):
3010         More generic method name to support future, non-color editing controllers.
3011
3012         (WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedMarkedExpression):
3013         Find the outermost marker in the list of markers provided such that a marker containing other markers
3014         shows the UI for the containing marker. For instance, a gradient marker would contain several color
3015         markers and it's preferable to show the editing UI for the whole gradient rather than a specific color.
3016
3017         Additionally, adopt more generic ivars and method names to support future, non-color editing controllers.
3018
3019         (WebInspector.SourceCodeTextEditor.prototype._dismissEditingController):
3020         Support for new parameter instructing that the editing controller dismissal should be instant rather than
3021         animated, which is the default. This is useful when, for instance, the text editor is cleared.
3022
3023         (WebInspector.SourceCodeTextEditor.prototype.editingControllerDidStartEditing):
3024         (WebInspector.SourceCodeTextEditor.prototype.editingControllerDidFinishEditing):
3025         Adopt the more generic method names rather than color-specific ones.
3026
3027         * UserInterface/TextEditor.js:
3028         (WebInspector.TextEditor.prototype.rectsForRange):
3029         Remove .boundsForRange() in favor of this new method where we return a series of rects so that we may
3030         draw a more pleasing HoverMenu.
3031
3032         (WebInspector.TextEditor.prototype.createColorMarkers):
3033         Use a TextRanger rather than a single line number to match the underlying CodeMirror extension method.
3034
3035         (WebInspector.TextEditor.prototype.editingControllerForMarker):
3036         Use the provided TextMarker's type to provide the most adequate CodeMirrorEditingController class.
3037
3038         * UserInterface/TextMarker.js:
3039         (WebInspector.TextMarker.prototype.get rects):
3040         Remove the .bounds property in favor of .rects to match the underlying CodeMirror extension method.
3041
3042 2014-02-20  Antoine Quint  <graouts@webkit.org>
3043
3044         Web Inspector: Popover should animate its frame to display its refreshed content
3045         https://bugs.webkit.org/show_bug.cgi?id=129088
3046
3047         Reviewed by Timothy Hatcher.
3048
3049         When calling .update(), we now check whether we can animate the change of frame provided the
3050         new computed frame to best fit the current content still matches the edge the popover uses
3051         to attach to the target frame. If we find that we can do so, we animate the background frame
3052         of the popover while ensuring the anchor point remains stable during the animation such that
3053         only the popover's frame seems to animate.
3054
3055         * UserInterface/Geometry.js:
3056         (WebInspector.Rect.prototype.round):
3057         Returns a new Rect with rounded values, using a floor for the position and a ceil for the size.
3058
3059         * UserInterface/Main.html:
3060         Link to the new UnitBezier.js source file.
3061
3062         * UserInterface/Popover.js:
3063         (WebInspector.Popover):
3064         Make ._anchorPoint an ivar such that we don't need to pass a reference to the anchorPoint into
3065         the various calls leading to an update of the popover's background drawing.
3066
3067         (WebInspector.Popover.prototype.set frame):
3068         We no longer round the values of the frame here, instead calling the new .round() method on Rect
3069         in places where we compute a new frame.
3070
3071         (WebInspector.Popover.prototype.set content):
3072         (WebInspector.Popover.prototype.update):
3073         Update the calls to ._update() to set the new shouldAnimate flag to true in situations where the
3074         popover is already visible.
3075
3076         (WebInspector.Popover.prototype._update):
3077         In the situation where there is a preference to animate the frame, as set by the new shouldAnimate
3078         parameter, check that we can indeed animate by ensuring that the edge the popover uses to attach to
3079         the target frame remains the same upon computing the new best metrics for the new content size. If
3080         we can indeed animate, call _animateFrame(), otherwise set the new frame, anchor point and frame
3081         drawing discretely like we used to.
3082
3083         (WebInspector.Popover.prototype._setAnchorPoint):
3084         New method to ensure we floor the position of the anchor point to ensure, when animating, that the
3085         anchor point remains stationary.
3086
3087         (WebInspector.Popover.prototype._animateFrame):
3088         Using the new UnitBezier class, animate the popover frame from its previous value to its newly computed
3089         value while ensuring the anchor point remains, at all times, the same absolute position such that it
3090         remains stationary during the animation. The spline used to animate the frame is the same that a CSS
3091         transition set with an "ease" timing-function (default value) would use.
3092
3093         (WebInspector.Popover.prototype._drawBackground):
3094         (WebInspector.Popover.prototype._drawFrame):
3095         Adopt new ._edge and ._anchorPoint ivars.
3096
3097         * UserInterface/UnitBezier.js: Added.
3098         New class used to perform animations using a timing function specified with a cubic Bézier curve. The code
3099         is directly adapted from the Source/WebCore/platform/graphics/UnitBezier.h file.
3100
3101         (WebInspector.UnitBezier):
3102         (WebInspector.UnitBezier.prototype.solve):
3103         (WebInspector.UnitBezier.prototype._sampleCurveX):
3104         (WebInspector.UnitBezier.prototype._sampleCurveY):
3105         (WebInspector.UnitBezier.prototype._sampleCurveDerivativeX):
3106         (WebInspector.UnitBezier.prototype._solveCurveX):
3107
3108 2014-02-20  Antoine Quint  <graouts@webkit.org>
3109
3110         Web Inspector: content using a CSS transition within a popover causes the popover to disappear
3111         https://bugs.webkit.org/show_bug.cgi?id=129089
3112
3113         Reviewed by Timothy Hatcher.
3114
3115         Simply check that the element being transitioned is indeed the popover's container before assuming
3116         that the "transitonend" received was for a fade-out transition.
3117
3118         * UserInterface/Popover.js:
3119         (WebInspector.Popover.prototype.handleEvent):
3120
3121 2014-02-20  Antoine Quint  <graouts@webkit.org>
3122
3123         Web Inspector: clicking on a color swatch in the Computed styles tab shouldn't show the color editing popover
3124         https://bugs.webkit.org/show_bug.cgi?id=129093
3125
3126         Reviewed by Timothy Hatcher.
3127
3128         If the current editor is read-only, only allow cycling between color types since it wouldn't make sense to edit
3129         such colors.
3130
3131         * UserInterface/CSSStyleDeclarationTextEditor.js:
3132
3133 2014-02-19  Joseph Pecoraro  <pecoraro@apple.com>
3134
3135         Web Inspector: Remove unused InspectorBackend member variable
3136         https://bugs.webkit.org/show_bug.cgi?id=129053
3137
3138         Reviewed by Timothy Hatcher.
3139
3140         * UserInterface/InspectorBackend.js:
3141         (InspectorBackendClass):
3142         (InspectorBackendClass.prototype.registerCommand):
3143         (InspectorBackendClass.prototype.registerEnum):
3144         (InspectorBackendClass.prototype.registerEvent):
3145
3146 2014-02-19  James Craig  <jcraig@apple.com>
3147
3148         Web Inspector: AX: clarify reason for ignored state where possible (hidden, default for tag, etc)
3149         https://bugs.webkit.org/show_bug.cgi?id=129037
3150
3151         Reviewed by Timothy Hatcher.
3152
3153         Passing back hidden and ignoredByDefault attrs to clarify some reasons for "ignored" status.
3154
3155         * Localizations/en.lproj/localizedStrings.js:
3156         * UserInterface/DOMNode.js:
3157         * UserInterface/DOMNodeDetailsSidebarPanel.js:
3158
3159 2014-02-18  James Craig  <jcraig@apple.com>
3160
3161         Web Inspector: AX: more properties: exists, required, and invalid (exists was previously combined with ignored)
3162         https://bugs.webkit.org/show_bug.cgi?id=128504
3163
3164         Reviewed by Timothy Hatcher.
3165
3166         Additions to the accessibility node inspector: exists, required, invalid.
3167
3168         * Localizations/en.lproj/localizedStrings.js:
3169         * UserInterface/DOMNode.js:
3170         * UserInterface/DOMNodeDetailsSidebarPanel.js:
3171
3172 2014-02-18  Antoine Quint  <graouts@webkit.org>
3173
3174         Web Inspector: editing a color in the Styles sidebar using the color picker only works once for a given color
3175         https://bugs.webkit.org/show_bug.cgi?id=128965
3176
3177         Reviewed by Timothy Hatcher.
3178
3179         Use the WebInspector.TextMarker backing the CodeMirror TextMarker object to inspect its type in
3180         order to identify color markers that were created for a color. This fixes a regression introduced
3181         in http://webkit.org/b/125695 when we abstracted CodeMirror TextMarker objects.
3182
3183         * UserInterface/CSSStyleDeclarationTextEditor.js:
3184         (WebInspector.CSSStyleDeclarationTextEditor.prototype._colorSwatchClicked.updateCodeMirror.update):
3185         (WebInspector.CSSStyleDeclarationTextEditor.prototype._colorSwatchClicked.updateCodeMirror):
3186
3187 2014-02-18  Antoine Quint  <graouts@webkit.org>
3188
3189         Web Inspector: Editing transparent color shows incorrect opacity slider
3190         https://bugs.webkit.org/show_bug.cgi?id=128975
3191
3192         Reviewed by Joseph Pecoraro.
3193
3194         The opacity slider should show a range of colors from transparent to the full opacity of the tinted color.
3195
3196         * UserInterface/ColorPicker.js:
3197         (WebInspector.ColorPicker.prototype._updateSliders):
3198
3199 2014-02-18  Joseph Pecoraro  <pecoraro@apple.com>
3200
3201         Web Inspector: shift-clicking #fff swatch results in bad rgb value
3202         https://bugs.webkit.org/show_bug.cgi?id=128954
3203
3204         Reviewed by Daniel Bates.
3205
3206         parseInt("FF", 16) is already 255. Do not multiply the result by 255.
3207
3208         * UserInterface/Color.js:
3209         (WebInspector.Color.fromString):
3210
3211 2014-02-18  Antoine Quint  <graouts@webkit.org>
3212
3213         Web Inspector: color picker sliders sometime look wrong on Retina display
3214         https://bugs.webkit.org/show_bug.cgi?id=128963
3215
3216         Reviewed by Timothy Hatcher.
3217
3218         Round the values used to position and size popovers in order to ensure that their content don't suffer
3219         from poor pixel alignment on Retina displays.
3220
3221         * UserInterface/Popover.js:
3222         (WebInspector.Popover.prototype.set frame):
3223
3224 2014-02-17  Antoine Quint  <graouts@webkit.org>
3225
3226         Web Inspector: CSS selectors containing a color name shouldn't be considered for color editing
3227         https://bugs.webkit.org/show_bug.cgi?id=128909
3228
3229         Reviewed by Joseph Pecoraro.
3230
3231         Disregard any text that might be contained within a CSS selector.
3232
3233         * UserInterface/CodeMirrorAdditions.js:
3234
3235 2014-02-15  Chris J. Shull  <chrisjshull@gmail.com>
3236
3237         Web Inspector: scope chain details sidebar doesn't update values modified via console
3238         https://bugs.webkit.org/show_bug.cgi?id=126855
3239
3240         Reviewed by Timothy Hatcher.
3241
3242         Add a RuntimeManager event that the scope chain details sidebar can
3243         listen to to trigger refresh.
3244
3245         Testing on this is blocked by http://webkit.org/b/128724
3246         (Web Inspector: Issue testing breakpoints).
3247
3248         * UserInterface/RuntimeManager.js:
3249         (WebInspector.RuntimeManager.prototype.evalCallback):
3250         (WebInspector.RuntimeManager.prototype.evaluateInInspectedWindow):
3251         * UserInterface/ScopeChainDetailsSidebarPanel.js:
3252         (WebInspector.ScopeChainDetailsSidebarPanel):
3253
3254 2014-02-14  Antoine Quint  <graouts@webkit.org>
3255
3256         Web Inspector: color wheel should support Retina displays
3257         https://bugs.webkit.org/show_bug.cgi?id=124355
3258
3259         Reviewed by Timothy Hatcher.
3260
3261         Take into account the devicePixelRatio in order to draw the color wheel
3262         with as many colors as we can draw with the current DPI and to correctly
3263         convert from page coordinates to canvas coordinates when dealing with
3264         mouse events.
3265
3266         * UserInterface/ColorWheel.js:
3267         (WebInspector.ColorWheel.prototype.set dimension):
3268         (WebInspector.ColorWheel.prototype.get tintedColor):
3269         (WebInspector.ColorWheel.prototype.get rawColor):
3270         (WebInspector.ColorWheel.prototype._drawRawCanvas):
3271         (WebInspector.ColorWheel.prototype._colorAtPointWithBrightness):
3272         (WebInspector.ColorWheel.prototype._drawTintedCanvas):
3273         (WebInspector.ColorWheel.prototype._draw):
3274
3275 2014-02-13  Brian Burg  <bburg@apple.com>
3276
3277         Web Inspector: DataGrid should support editing tables with arbitrary columns
3278         https://bugs.webkit.org/show_bug.cgi?id=128619
3279
3280         Reviewed by Timothy Hatcher.
3281
3282         The data grid editing code should work with any columns, but was previously
3283         hardcoded with the column identifiers used by DOMStorageView. This patch
3284         makes the editing code work with any column identifiers. It also fixes some
3285         bugs in previous/next navigation during data entry.
3286
3287         * UserInterface/DOMStorageContentView.css: Highlight missing keys and values.
3288         (.content-view.dom-storage > .data-grid tr.missing-value td.value-column):
3289         (.content-view.dom-storage > .data-grid:focus tr.selected.missing-value td.value-column):
3290
3291         * UserInterface/DOMStorageContentView.js: Don't blow away the entire table
3292         whenever the backend notifies us of an update to the storage object. This
3293         caused the editing state to be destroyed when values were entered interactively.
3294
3295         (WebInspector.DOMStorageContentView.prototype.reset): Inline the callback
3296         passed to DOMStorageObject.getEntries().
3297         (WebInspector.DOMStorageContentView.prototype.itemsCleared):
3298         (WebInspector.DOMStorageContentView.prototype.itemAdded): Request a sort
3299         of the table rows after backend tells us about item additions or updates.
3300
3301         (WebInspector.DOMStorageContentView.prototype.itemUpdated): Request a sort
3302         of the table rows after backend tells us about item additions or updates.
3303
3304         (WebInspector.DOMStorageContentView.prototype._sortDataGrid): Use DataGrid's
3305         built-in sorting function.
3306
3307         (WebInspector.DOMStorageContentView.prototype._deleteCallback):