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