Fixed Win64 build on VS2013.
[WebKit-https.git] / Source / WebInspectorUI / ChangeLog
1 2013-12-16  Alex Christensen  <achristensen@webkit.org>
2
3         Fixed Win64 build on VS2013.
4         https://bugs.webkit.org/show_bug.cgi?id=125753
5
6         Reviewed by Brent Fulgham.
7
8         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
9         Added 64-bit configuration.
10
11 2013-12-13  Joseph Pecoraro  <pecoraro@apple.com>
12
13         Web Inspector: Move Inspector and Debugger protocol domains into JavaScriptCore
14         https://bugs.webkit.org/show_bug.cgi?id=125707
15
16         Reviewed by Timothy Hatcher.
17
18         * UserInterface/InspectorJSBackendCommands.js:
19         * UserInterface/InspectorWebBackendCommands.js:
20         Regenerate now that domains have moved around.
21
22 2013-12-13  Joseph Pecoraro  <pecoraro@apple.com>
23
24         Web Inspector: Exception: TypeError: undefined is not a function (evaluating 'marker.find()')
25         https://bugs.webkit.org/show_bug.cgi?id=125724
26
27         Reviewed by Darin Adler.
28
29         * UserInterface/CSSStyleDeclarationTextEditor.js:
30         (WebInspector.CSSStyleDeclarationTextEditor.prototype.):
31         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches):
32         The callback changed to returning WebInspector.TextMarkers, however
33         this class expected a raw CodeMirror marker. Since this class knows
34         about CodeMirror and expects to access these markers later go
35         directly to the CodeMirror marker.
36
37 2013-12-13  Joseph Pecoraro  <pecoraro@apple.com>
38
39         Web Inspector: Add Inspector Code Generation to JavaScriptCore for Runtime Domain
40         https://bugs.webkit.org/show_bug.cgi?id=125595
41
42         Reviewed by Timothy Hatcher.
43
44         * Scripts/copy-user-interface-resources.sh:
45         Copy all the different backend commands files.
46
47         * Scripts/update-InspectorBackendCommands.rb:
48         Update with respect to new script location and new file names.
49
50         * WebInspectorUI.xcodeproj/project.pbxproj:
51         Remove Inputs and Outputs of build phase, which were wrong.
52         Now this build phase always runs, and not by accident.
53
54         * UserInterface/InspectorJSBackendCommands.js: Added.
55         * UserInterface/InspectorWebBackendCommands.js: Renamed from Source/WebInspectorUI/UserInterface/InspectorBackendCommands.js.
56         * UserInterface/Legacy/6.0/InspectorWebBackendCommands.js: Renamed from Source/WebInspectorUI/UserInterface/Legacy/6.0/InspectorBackendCommands.js.
57         * UserInterface/Legacy/7.0/InspectorWebBackendCommands.js: Renamed from Source/WebInspectorUI/UserInterface/Legacy/7.0/InspectorBackendCommands.js.
58         * UserInterface/LoadInspectorBackendCommands.js:
59         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
60         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
61
62 2013-12-13  Antoine Quint  <graouts@apple.com>
63
64         Web Inspector: provide an abstraction for CodeMirror's TextMarker
65         https://bugs.webkit.org/show_bug.cgi?id=125695
66
67         Reviewed by Timothy Hatcher.
68
69         Introduce a new WebInspector.TextMarker class which is used by code with CodeMirror knowledge
70         to return information related to text markers to objects that should have no direct knowledge
71         of CodeMirror. Start using this class in TextEditor and SourceCodeTextEditor to remove the
72         last remaining pieces of CodeMirror knowledge added to SourceCodeTextEditor to fix
73         https://webkit.org/b/124364.
74
75         * UserInterface/CodeMirrorAdditions.js:
76         Stop using __markedColor to identify a color marker and instead use the type on the matching
77         WebInspector.TextMarker. Additionally, create a WebInspector.TextMarker with type
78         WebInspector.TextMarker.Type.Color in createColorMarkers().
79         
80         * UserInterface/CodeMirrorColorEditingController.js:
81         (WebInspector.CodeMirrorColorEditingController):
82         Use a WebInspector.TextRange to track the edited range and obtain it directly from the
83         WebInspector.TextMaker used to instantiate the object. We also use the new "text" public
84         property to create the color.
85
86         (WebInspector.CodeMirrorColorEditingController.prototype.set color):
87         Simply assing the serialized color to the new "text" public property.
88
89         (WebInspector.CodeMirrorColorEditingController.prototype.get text):
90         (WebInspector.CodeMirrorColorEditingController.prototype.set text):
91         New public property to set get and set the text for the edited range, automatically updating
92         the range upon setting to a new text.
93
94         (WebInspector.CodeMirrorColorEditingController.prototype.presentHoverMenu):
95         Obtain the bounds directly from the WebInspector.TextMarker object.
96
97         * UserInterface/CodeMirrorTokenTrackingController.js:
98         (WebInspector.CodeMirrorTokenTrackingController.prototype._updateHoveredTokenInfo):
99         Since we're now tracking the hoveredMarker as a WebInspector.TextMarker, get the CodeMirror
100         TextMarker from that object to check if it's contained within the text markers at the
101         hovered position.
102
103         * UserInterface/Main.html:
104         Add the new TextMarker class source.
105
106         * UserInterface/SourceCodeTextEditor.js:
107         (WebInspector.SourceCodeTextEditor.prototype._hasColorMarkers):
108         Use the WebInspector.TextMarker type to identify a given text marker is marking a color.
109
110         (WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerNewHighlightCandidate):
111         Use the renamed markersAtPosition() method from TextEditor.
112
113         (WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedMarkedExpression):
114         Use the WebInspector.TextMarker type to identify a given text marker is marking a color.
115
116         (WebInspector.SourceCodeTextEditor.prototype.colorEditingControllerDidFinishEditing):
117         Since the CodeMirrorColorEditingController is now using a WebInspector.TextRange for its range,
118         update to use a WebInspector.TextRange API to get the range's start line.
119
120         * UserInterface/TextEditor.js:
121         (WebInspector.TextEditor.prototype.get markers):
122         Return WebInspector.TextMarker objects instead of CodeMirror TextRange objects.
123
124         (WebInspector.TextEditor.prototype.markersAtPosition):
125         Rename method to a better name instead of using the CodeMirror-influenced name. Also, return
126         WebInspector.TextMarker objects instead of CodeMirror TextRange objects.
127
128         * UserInterface/TextMarker.js: Added.
129         (WebInspector.TextMarker):
130         Create a WebInspector.TextMarker with a CodeMirror TextMarker and an optional type.
131
132         (WebInspector.TextMarker.textMarkerForCodeMirrorTextMarker):
133         Static method to either obtain the existing WebInspector.TextMarker for a given CodeMirror
134         TextMarker, or create a new WebInspector.TextMarker.
135
136         (WebInspector.TextMarker.prototype.get codeMirrorTextMarker):
137         Public property to access the CodeMirror TextMarker objects for classes that have direct
138         knowledge of CodeMirror.
139
140         (WebInspector.TextMarker.prototype.get type):
141         Public property to access the type used to create this text marker.
142
143         (WebInspector.TextMarker.prototype.get range):
144         (WebInspector.TextMarker.prototype.get bounds):
145         Public properties allowing easy access to generally useful information related to marked text.
146
147         (WebInspector.TextMarker.prototype.clear):
148         Wrapper for the CodeMirror TextMarker clear() method.
149
150 2013-12-13  Brent Fulgham  <bfulgham@apple.com>
151
152         [Win] Switch WebKit solution to Visual Studio 2013
153         https://bugs.webkit.org/show_bug.cgi?id=125192
154
155         Reviewed by Anders Carlsson.
156
157         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj: Update for VS2013
158
159 2013-12-12  Laszlo Vidacs  <lac@inf.u-szeged.hu>
160
161         Web Inspector: ES6: JavaScript syntax highlighting and recognition of for..of
162         https://bugs.webkit.org/show_bug.cgi?id=122868
163
164         Reviewed by Timothy Hatcher.
165
166         Update to CodeMirror 3.20 including javascript ES6 updates.
167
168         * Tools/PrettyPrinting/codemirror.css:
169         * Tools/PrettyPrinting/codemirror.js: Minor local change due to error from jsmin.py
170         * Tools/PrettyPrinting/css.js:
171         * Tools/PrettyPrinting/javascript.js:
172         * UserInterface/External/CodeMirror/codemirror.css:
173         * UserInterface/External/CodeMirror/codemirror.js: Minor local change due to error from jsmin.py
174         * UserInterface/External/CodeMirror/coffeescript.js:
175         * UserInterface/External/CodeMirror/css.js:
176         * UserInterface/External/CodeMirror/htmlmixed.js:
177         * UserInterface/External/CodeMirror/javascript.js:
178         * UserInterface/External/CodeMirror/less.js:
179         * UserInterface/External/CodeMirror/matchbrackets.js:
180         * UserInterface/External/CodeMirror/placeholder.js:
181         * UserInterface/External/CodeMirror/runmode.js:
182         * UserInterface/External/CodeMirror/searchcursor.js:
183         * UserInterface/External/CodeMirror/sql.js:
184         * UserInterface/External/CodeMirror/xml.js:
185
186 2013-12-12  Antoine Quint  <graouts@apple.com>
187
188         Web Inspector: allow editing of colors in CSS resources
189         https://bugs.webkit.org/show_bug.cgi?id=124364
190
191         Reviewed by Timothy Hatcher.
192
193         Identify colors in CSS and HTML resources so that hovering these colors shows a HoverMenu
194         allowing a ColorPicker hosted in a Popover to be shown to edit the hovered color.
195
196         * UserInterface/CSSStyleDeclarationTextEditor.js:
197         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches):
198         Remove the code that goes through the lines of the CodeMirror editor to look for
199         color strings and replace it with a call to the .createColorMarkers() CodeMirror
200         extension in which the code was refactored. The callback passed to
201         .createColorMarkers() handles the CSSStyleDeclarationTextEditor-specific creation
202         of color swatches to show the popover, keeping the existing behavior of the Styles
203         sidebar panel.
204
205         * UserInterface/CodeMirrorAdditions.js:
206         Refactor existing code into two new CodeMirror extensions: .boundsForRange(), which
207         was previously defined on the CodeMirrorTokenTrackingController but was also needed
208         in the new CodeMirrorColorEditingController, and .createColorMarkers(), discussed above.
209
210         * UserInterface/CodeMirrorColorEditingController.js: Added.
211         (WebInspector.CodeMirrorColorEditingController):
212         New class used by SourceCodeTextEditor to coordinate the editing of a color in a CodeMirror
213         TextMarker by a ColorPicker hosted in a Popover shown by the activation of a HoverMenu. This
214         controller automatically gets the color set by the user using the ColorPicker and updates
215         the CodeMirror text editor with the new value. When the user presses the Esc. key while the
216         popover is shown, it's automatically dismissed and the original color is reset in the editor.
217
218         (WebInspector.CodeMirrorColorEditingController.prototype.get marker):
219         (WebInspector.CodeMirrorColorEditingController.prototype.get range):
220         (WebInspector.CodeMirrorColorEditingController.prototype.get delegate):
221         (WebInspector.CodeMirrorColorEditingController.prototype.set delegate):
222         Getters and setters for public properties.
223
224         (WebInspector.CodeMirrorColorEditingController.prototype.get color):
225         (WebInspector.CodeMirrorColorEditingController.prototype.set color):
226         Get and set the color for the edited color marker, replacing the text in the marker's range
227         upon setting.
228
229         (WebInspector.CodeMirrorColorEditingController.prototype.presentHoverMenu):
230         Public API allowing for a HoverMenu to be shown around the bounds of the TextMarker passed
231         in the constructor. This method is called from SourceCodeTextEditor when the
232         CodeMirrorTokenTrackingController identifies that a token that is part of a TextMarker is
233         hovered and that token is a color.
234
235         (WebInspector.CodeMirrorColorEditingController.prototype.dismissHoverMenu):
236         Public API allowing for the HoverMenu to be dismissed. This method is called when the
237         CodeMirrorTokenTrackingController identifies that its "hoveredMarker" is no longer being
238         hovered as well as when we identify that editing of the color has completed.
239
240         (WebInspector.CodeMirrorColorEditingController.prototype.handleEvent):
241         Event handler for the "keydown" event that are being listened to when the HoverMenu
242         is activated such that the Esc. key can be used to dimiss the popover and reset the
243         original color before any edits.
244
245         (WebInspector.CodeMirrorColorEditingController.prototype.hoverMenuButtonWasPressed):
246         Implementation of the HoverMenu delegation method used to show a Popover containing a
247         ColorPicker upon clicking on the color wheel attached to the HoverMenu. We also remember
248         the color set on the marker so that it may be restored when Esc. is pressed and used to
249         set the original state of the ColorPicker. The delegation method
250         colorEditingControllerDidStartEditing() is also called at this point, which the
251         SourceCodeTextEditor implements.
252
253         (WebInspector.CodeMirrorColorEditingController.prototype.didDismissPopover):
254         Implementation of the Popover delegation method used to identify that color editing has
255         completed. The delegation method colorEditingControllerDidFinishEditing() is called
256         at this point, which the SourceCodeTextEditor implements.
257
258         (WebInspector.CodeMirrorColorEditingController.prototype._colorPickerColorChanged):
259         Apply the color set in the color picker to the CodeMirror text editor.
260
261         * UserInterface/CodeMirrorTokenTrackingController.js:
262         Add two new modes to CodeMirrorTokenTrackingController. The first mode is "None" and is
263         the default, incurring no specific token handling behavior. The second mode is "MarkedTokens"
264         which identifies hover of a token contained in a CodeMirror TextMarker range. The new
265         "MarkedTokens" mode is used by SourceCodeTextEditor to identify when a marked color is being
266         hovered to display a HoverMenu.
267
268         (WebInspector.CodeMirrorTokenTrackingController):
269         (WebInspector.CodeMirrorTokenTrackingController.prototype.set mode):
270         Make "None" the new default mode for CodeMirrorTokenTrackingController.
271
272         (WebInspector.CodeMirrorTokenTrackingController.prototype.get hoveredMarker):
273         (WebInspector.CodeMirrorTokenTrackingController.prototype.set hoveredMarker):
274         (WebInspector.CodeMirrorTokenTrackingController.prototype._updateHoveredTokenInfo):
275         Check, when we have a "hoveredMarker" set on the CodeMirrorTokenTrackingController,
276         whether the "hoveredMarker" is still being hovered when there is no token at the current
277         mouse position. We can then determine when we're mousing out of the "hoveredMarker" and
278         notify the delegate via the new tokenTrackingControllerMouseOutOfHoveredMarker delegate
279         method. The SourceCodeTextEditor uses this method to dismiss its CodeMirrorColorEditingController.
280
281         (WebInspector.CodeMirrorTokenTrackingController.prototype._processNewHoveredToken):
282         Add support for the new "MarkedTokens" mode.
283
284         (WebInspector.CodeMirrorTokenTrackingController.prototype._processMarkedToken):
285         For the moment, use the same behavior as the existing "MarkedTokens" mode.
286
287         * UserInterface/Color.js:
288         (WebInspector.Color):
289         Add a new "valid" property to identify whether a color has any invalid (NaN) component. This property
290         is used by SourceCodeTextEditor to establish whether a hovered color marker is indeed set to a
291         valid color still.
292
293         (WebInspector.Color.prototype.copy):
294         New method to create an exact copy of a Color instance, used by CodeMirrorColorEditingController
295         to duplicate the edited color in case we need to revert it.
296
297         * UserInterface/HoverMenu.js:
298         (WebInspector.HoverMenu.prototype._handleClickEvent):
299         Rename hoverMenuWasActivated to hoverMenuButtonWasPressed per review feedback.
300
301         * UserInterface/Images/ColorIcon.png: Added.
302         * UserInterface/Images/ColorIcon@2x.png: Added.
303         New color wheel icon used to customize the HoverMenu shown by a CodeMirrorColorEditingController.
304
305         * UserInterface/Main.html:
306         Link to the new CodeMirrorColorEditingController.js file.
307
308         * UserInterface/SourceCodeTextEditor.css:
309         (.hover-menu.color):
310         (.hover-menu.color > img):
311         Customize the HoverMenu shown by a CodeMirrorColorEditingController to use the new ColorIcon asset.
312
313         * UserInterface/SourceCodeTextEditor.js:
314         (WebInspector.SourceCodeTextEditor):
315         Add a new "_ignoreContentDidChange" ivar that increments and decrements to track when handling
316         of CodeMirror content changes should be disabled.
317
318         (WebInspector.SourceCodeTextEditor.prototype.close):
319         Adopt the new ._updateTokenTrackingControllerState() method to update the state of the
320         CodeMirrorTokenTrackingController.
321
322         (WebInspector.SourceCodeTextEditor.prototype.contentDidChange):
323         Override the new TextEditor public API called when content in the CodeMirror text editor is changed.
324         We use this method to process any newly added line to create any newly added color marker.
325
326         (WebInspector.SourceCodeTextEditor.prototype._contentDidPopulate):
327         (WebInspector.SourceCodeTextEditor.prototype._debuggerDidPause):
328         (WebInspector.SourceCodeTextEditor.prototype._debuggerDidResume):
329         (WebInspector.SourceCodeTextEditor.prototype._sourceCodeSourceMapAdded):
330         Adopt the new ._updateTokenTrackingControllerState() method to update the state of the
331         CodeMirrorTokenTrackingController.
332
333         (WebInspector.SourceCodeTextEditor.prototype._updateTokenTrackingControllerState):
334         New method acting as the only point where we check the state of the text editor and set the right
335         mode and settings on the CodeMirrorTokenTrackingController, including setting the new "MarkedTokens"
336         mode when we have color markers, as determined by ._hasColorMarkers().
337
338         (WebInspector.SourceCodeTextEditor.prototype._hasColorMarkers):
339         Check whether any of the TextMarkers set on the CodeMirror text editor were created for a color.
340
341         (WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerHighlightedRangeWasClicked):
342         Check the CodeMirrorTokenTrackingController mode rather than the removed "_jumpToSymbolTrackingModeEnabled"
343         ivar to identify we're in the "NonSymbolTokens" mode.
344
345         (WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerNewHighlightCandidate):
346         Refactor method to use the CodeMirrorTokenTrackingController mode to branch into mode-specific code
347         and add a new branch for the new "MarkedTokens" mode where we check if the newly hovered token
348         is part of a color TextMarker range.
349
350         (WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerMouseOutOfHoveredMarker):
351         Implement this new CodeMirrorTokenTrackingController delegation method to dismiss the
352         CodeMirrorColorEditingController as we identify we're no longer hovering over the TextMarker
353         for which the CodeMirrorColorEditingController was created.
354
355         (WebInspector.SourceCodeTextEditor.prototype._showPopover):
356         Adopt the new TextEditor boundsForRange() method.
357
358         (WebInspector.SourceCodeTextEditor.prototype._updateColorMarkers):
359         Harness the new TextEditor createColorMarkers() method to create new TextMarkers for the provided
360         line, or the entire text editor content if none provided. We then immediately call _updateTokenTrackingControllerState()
361         so that the new "MarkedTokens" mode is entered in case color TextMarkers were created for the first
362         time for this text editor.
363
364         (WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedMarkedExpression):
365         Called when we've identified the CodeMirrorTokenTrackingController highlighted a TextMarker. We check
366         if any of the hovered TextMarkers are for a color, and in this case create a CodeMirrorColorEditingController
367         to coordinate the display of a ColorPicker in a Popover to edit the hovered color token. We also check
368         whether the hovered marker still contains a valid color, clearing the marker in case it was edited to
369         no longer contain a color.
370
371         (WebInspector.SourceCodeTextEditor.prototype._dismissCodeMirrorColorEditingController):
372         Used to dismiss the CodeMirrorColorEditingController, if previously presented, and reset some internal state.
373
374         (WebInspector.SourceCodeTextEditor.prototype.colorEditingControllerDidStartEditing):
375         Implement this CodeMirrorColorEditingController delegation method to temporarily disable the
376         CodeMirrorTokenTrackingController while we edit the color with the ColorPicker, remove
377         the TextMarker for the edited color and instruct that content changes should be ignored
378         such that we act on the complete set of color edits upon completion.
379
380         (WebInspector.SourceCodeTextEditor.prototype.colorEditingControllerDidFinishEditing):
381         Update color markers for the edited line such that any color edits are correctly updated for
382         the future and so that, as a side-effect, the CodeMirrorColorEditingController is reset to the
383         appropriate mode depending on whether color TextMarkers are indeed available, resetting states
384         that may have been altered by colorEditingControllerDidStartEditing().
385
386         * UserInterface/TextEditor.js:
387         (WebInspector.TextEditor.prototype.contentDidChange):
388         New public method meant to be overriden by subclasses, added for the use of SourceCodeTextEditor, exposing
389         the list of TextRanges affected by the content change, both in the context of the old content and new content.
390
391         (WebInspector.TextEditor.prototype.boundsForRange):
392         (WebInspector.TextEditor.prototype.get markers):
393         (WebInspector.TextEditor.prototype.findMarkersAtPosition):
394         (WebInspector.TextEditor.prototype.createColorMarkers):
395         (WebInspector.TextEditor.prototype.colorEditingControllerForMarker):
396         New public methods calling into the CodeMirror private ivar for the benefit of SourceCodeTextEditor.
397
398         (WebInspector.TextEditor.prototype._contentChanged):
399         Call the new contentDidChange() method.
400
401 2013-12-05  Seokju Kwon  <seokju@webkit.org>
402
403         Web Inspector: Remove 'cookiesString' output from Page.getCookies
404         https://bugs.webkit.org/show_bug.cgi?id=125268
405
406         Reviewed by Timothy Hatcher.
407
408         Remove 'cookiesString' output from Page.getCookies protocol.
409         It is no longer meaningful because it is an unused parameter.
410
411         * UserInterface/CookieStorageContentView.js:
412         (WebInspector.CookieStorageContentView.prototype.update):
413         * UserInterface/InspectorBackendCommands.js:
414
415 2013-12-05  Brian J. Burg  <burg@cs.washington.edu>
416
417         Web Inspector: expose node and frame snapshot capabilities.
418         https://bugs.webkit.org/show_bug.cgi?id=124326
419
420         Reviewed by Joseph Pecoraro.
421
422         Add method signatures for snapshotNode() and snapshotRect().
423         Remove method signature for unimplemented Page.captureScreenshot.
424
425         * UserInterface/InspectorBackendCommands.js:
426
427 2013-12-05  Alexandru Chiculita  <achicu@adobe.com>
428
429         Web Inspector: [CSS Regions] Show a list of containing regions when clicking a node that is part of a flow
430         https://bugs.webkit.org/show_bug.cgi?id=124614
431
432         Reviewed by Timothy Hatcher.
433
434         Added a new function in DOMTreeManager called getNodeContentFlowInfo that can be used
435         to retrieve an object with the following structure:
436         {
437              "regionFlow": <Reference to the ContentFlow object referenced by the -webkit-flow-from property of the node>,
438              "contentFlow": <Reference to the ContentFlow object referenced by the -webkit-flow-into property of 
439                              the node or a parent of the node>,
440              "regions": [ list of DOMNodes representing the regions containers of the node. The node is split across all these regions. ]
441         }
442
443         Also, used this method to display a two new sections in the Computed Styles panel.
444         1. Section "Flows": can have up to two Simple Rows: "Region Flow" and "Content Flow".
445         2. Section "Container Regions" contains a DOMTreeDataGrid with the list of regions.
446
447         The sections are only visible when there's content to display.
448
449         Next to the "Region Flow" simple row I've added an arrow that will take the user to the "ContentFlowDOMTreeContentView" of the
450         ContentFlow. The same happens for the "Content Flow", but in this case the element will also be highlighted.
451
452         Part of the patch I've added the DOMTreeDataGridNode. LayerTreeDataGrid has a lot of CSS in common with it, so I
453         will make another patch to refactor LayerTreeDataGrid to use DOMTreeDataGridNode as a base class.
454
455         * Localizations/en.lproj/localizedStrings.js:
456         * UserInterface/ComputedStyleDetailsPanel.css: Added.
457         (.details-section > .content > .group > .row.simple.content-flow-link > .label):
458         (.details-section > .content > .group > .row.simple.content-flow-link > .value):
459         (.details-section > .content > .group > .row.simple.content-flow-link > .value > div):
460         (.details-section > .content > .group > .row.simple.content-flow-link > .value > div > .icon):
461         (.details-section > .content > .group > .row.simple.content-flow-link > .value > div > span):
462         (.details-section > .content > .group > .row.simple.content-flow-link > .value > div > .go-to-arrow):
463         (.details-section > .content > .group > .row.simple.content-flow-link:hover > .value > div > .go-to-arrow):
464         * UserInterface/ComputedStyleDetailsPanel.js:
465         (WebInspector.ComputedStyleDetailsPanel):
466         (WebInspector.ComputedStyleDetailsPanel.prototype.get regionFlow):
467         (WebInspector.ComputedStyleDetailsPanel.prototype.set regionFlow):
468         (WebInspector.ComputedStyleDetailsPanel.prototype.get contentFlow):
469         (WebInspector.ComputedStyleDetailsPanel.prototype.set contentFlow):
470         (WebInspector.ComputedStyleDetailsPanel.prototype.get containerRegions):
471         (WebInspector.ComputedStyleDetailsPanel.prototype.set containerRegions):
472         (WebInspector.ComputedStyleDetailsPanel.prototype.refresh):
473         (WebInspector.ComputedStyleDetailsPanel.prototype._computedStyleShowAllCheckboxValueChanged):
474         (WebInspector.ComputedStyleDetailsPanel.prototype._resetFlowDetails):
475         (WebInspector.ComputedStyleDetailsPanel.prototype._refreshFlowDetails.contentFlowInfoReady):
476         (WebInspector.ComputedStyleDetailsPanel.prototype._refreshFlowDetails):
477         (WebInspector.ComputedStyleDetailsPanel.prototype._goToRegionFlowArrowWasClicked):
478         (WebInspector.ComputedStyleDetailsPanel.prototype._goToContentFlowArrowWasClicked):
479         * UserInterface/DOMTreeDataGrid.css: Added.
480         (.dom-tree-data-grid .data-grid):
481         (.dom-tree-data-grid .data-grid table.data):
482         (.dom-tree-data-grid .data-container):
483         (.dom-tree-data-grid .data-container tr):
484         (.dom-tree-data-grid .data-container td > div):
485         (.dom-tree-data-grid .data-container .name-column):
486         (.dom-tree-data-grid .data-container .name-column .icon):
487         (.dom-tree-data-grid .data-container .name-column .label):
488         (.dom-tree-data-grid .data-container tr:hover .name-column .label):
489         (.dom-tree-data-grid .data-container .go-to-arrow):
490         (.dom-tree-data-grid .data-container tr:hover .go-to-arrow):
491         (.dom-tree-data-grid .data-container tbody > tr:nth-child(2n)):
492         (.dom-tree-data-grid .data-container tbody > tr:nth-child(2n+1)):
493         * UserInterface/DOMTreeDataGrid.js: Added.
494         (WebInspector.DOMTreeDataGrid):
495         (WebInspector.DOMTreeDataGrid.prototype._onmousemove):
496         (WebInspector.DOMTreeDataGrid.prototype._onmouseout):
497         * UserInterface/DOMTreeDataGridNode.js: Added.
498         (WebInspector.DOMTreeDataGridNode):
499         (WebInspector.DOMTreeDataGridNode.prototype.get domNode):
500         (WebInspector.DOMTreeDataGridNode.prototype.createCellContent):
501         (WebInspector.DOMTreeDataGridNode.prototype._updateNodeName):
502         (WebInspector.DOMTreeDataGridNode.prototype._makeNameCell):
503         (WebInspector.DOMTreeDataGridNode.prototype._updateNameCellData):
504         (WebInspector.DOMTreeDataGridNode.prototype._goToArrowWasClicked):
505         * UserInterface/DOMTreeManager.js:
506         (WebInspector.DOMTreeManager.prototype.unregisteredNamedFlowContentElement):
507         (WebInspector.DOMTreeManager.prototype.nodeRequested):
508         (WebInspector.DOMTreeManager.prototype._coerceRemoteArrayOfDOMNodes):
509         (WebInspector.DOMTreeManager.prototype.domNodeResolved):
510         (WebInspector.DOMTreeManager.prototype.regionNodesAvailable):
511         (WebInspector.DOMTreeManager.prototype.get if):
512         (WebInspector.DOMTreeManager.prototype.get var):
513         (WebInspector.DOMTreeManager.prototype.backendFunction.getComputedProperty):
514         (WebInspector.DOMTreeManager.prototype.backendFunction.getContentFlowName):
515         (WebInspector.DOMTreeManager.prototype.):
516         * UserInterface/DataGrid.css:
517         (.data-grid.no-header > table.header):
518         (.data-grid.no-header .data-container):
519         * UserInterface/DetailsSection.js:
520         (WebInspector.DetailsSection):
521         * UserInterface/InspectorBackend.js:
522         (InspectorBackendClass.prototype._wrap):
523         * UserInterface/Main.html:
524         * UserInterface/ResourceSidebarPanel.js:
525         (WebInspector.ResourceSidebarPanel.prototype.showContentFlowDOMTree):
526         * UserInterface/RuntimeManager.js:
527         (WebInspector.RuntimeManager.prototype.evaluateInInspectedWindow):
528         (WebInspector.RuntimeManager.prototype.getPropertiesForRemoteObject):
529
530 2013-12-04  Antoine Quint  <graouts@apple.com>
531
532         Web Inspector: ColorWheel uses old Color constructor
533         https://bugs.webkit.org/show_bug.cgi?id=125260
534
535         Reviewed by Joseph Pecoraro.
536
537         Update to new WebInspector.Color constructor signature and use a clear color.
538
539         * UserInterface/ColorWheel.js:
540         (WebInspector.ColorWheel.prototype.get tintedColor):
541         (WebInspector.ColorWheel.prototype.get rawColor):
542
543 2013-12-04  Antoine Quint  <graouts@apple.com>
544
545         Web Inspector: color picker doesn't work with "blue"
546         https://bugs.webkit.org/show_bug.cgi?id=125262
547
548         Reviewed by Joseph Pecoraro.
549
550         Under certain circumstances rounding issues would have us compare
551         two equal numbers that differ by 0.00000001 and sometime trip this
552         if statement and yield a null color. We now add a little fudge to
553         the test and also return a clear color rather than null to match what
554         we do in the getters for "tintedColor" and "rawColor".
555
556         * UserInterface/ColorWheel.js:
557         (WebInspector.ColorWheel.prototype._colorAtPointWithBrightness):
558
559 2013-12-04  Antoine Quint  <graouts@apple.com>
560
561         Web Inspector: use only two decimals for opacity in rgba/hsla colors
562         https://bugs.webkit.org/show_bug.cgi?id=125261
563
564         Reviewed by Joseph Pecoraro.
565
566         * UserInterface/ColorPicker.js:
567         (WebInspector.ColorPicker.prototype._updateColor):
568
569 2013-12-04  Antoine Quint  <graouts@apple.com>
570
571         Web Inspector: "data detectors" menu on hover for actionable tokens
572         https://bugs.webkit.org/show_bug.cgi?id=124363
573
574         Reviewed by Timothy Hatcher.
575
576         Add a new WebInspector.HoverMenu class to display an overlay menu that is presented
577         with respect to a target frame that it draws itself around adding a customizable
578         action button to its right. The menu uses fade animations as it's presented and
579         dismissed and a single delegation method is fired when the button is pressed. Finally,
580         just like a popover, it automatically dismisses itself upon scrolling anywhere
581         outside of its bounds.
582
583         * UserInterface/HoverMenu.css: Added.
584         * UserInterface/HoverMenu.js: Added.
585         (WebInspector.HoverMenu):
586         (WebInspector.HoverMenu.prototype.get element):
587         (WebInspector.HoverMenu.prototype.dismiss):
588         (WebInspector.HoverMenu.prototype.handleEvent):
589         (WebInspector.HoverMenu.prototype._handleClickEvent):
590         * UserInterface/Images/HoverMenuButton.png: Added.
591         * UserInterface/Images/HoverMenuButton@2x.png: Added.
592         * UserInterface/Main.html:
593
594 2013-12-04  Antoine Quint  <graouts@apple.com>
595
596         Web Inspector: edited color should serialize back to original format when possible
597         https://bugs.webkit.org/show_bug.cgi?id=125244
598
599         Reviewed by Joseph Pecoraro.
600
601         Profoundly reworked WebInspector.Color to be more efficient and more flexible when
602         serializing the color to the various supported formats.
603
604         * UserInterface/CSSStyleDeclarationTextEditor.js:
605         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches):
606         Use new WebInspector.Color.fromString() factory and check for a null return value
607         rather than an exception to identify invalid color tokens.
608
609         * UserInterface/Color.js:
610         (WebInspector.Color):
611         Rewrote WebInspector.Color such that it would have, at all times, a canonical
612         representation in terms of either RGBA or HSLA depending on the format used to
613         create the color. The new constructor parameters lets the user pass a format
614         and the RGBA or HSLA components, allowing to bypass the string-only creation
615         system which was sub-optimal for the new color picker. Additionally, the toString()
616         method now can provide the most accurate serialization of the color based on the
617         provided format with a fallback mechanism to RGB/RGBA in cases where the desired
618         format would incur a loss of fidelity. Finally, simplified the API to only feature
619         essential features.
620
621         (WebInspector.Color.fromString):
622         New factory method used to create a color from a string.
623
624         * UserInterface/ColorPicker.js:
625         (WebInspector.ColorPicker.prototype.set color):
626         Keep track of the original color format so that we can use it as the preferred format
627         when serializing the updated color in _updateColor().
628
629         (WebInspector.ColorPicker.prototype._updateColor):
630         Use the original color format as the prefered formation for color serialization. Also,
631         use the new WebInspector.Color constructor in lieu of the removed .fromRGBA factory.
632
633         (WebInspector.ColorPicker.prototype._updateSliders):
634         Use the new WebInspector.Color constructor in lieu of the removed .fromRGBA factory.
635
636         * UserInterface/ColorWheel.js:
637         (WebInspector.ColorWheel.prototype._colorAtPointWithBrightness):
638         Use the new WebInspector.Color constructor in lieu of the removed .fromRGB factory.
639
640 2013-12-03  Seokju Kwon  <seokju@webkit.org>
641
642         Web Inspector: Remove '_attachedWindowHeight' property in InspectorFrontendHostStub.js
643         https://bugs.webkit.org/show_bug.cgi?id=125204
644
645         Reviewed by Timothy Hatcher.
646
647         '_attachedWindowHeight' property is not used anywhere, so remove it.
648
649         * UserInterface/InspectorFrontendHostStub.js:
650         (.WebInspector.InspectorFrontendHostStub):
651
652 2013-12-03  Brian J. Burg  <burg@cs.washington.edu>
653
654         Web Inspector: restore navigation panel state across reloads and reopens
655         https://bugs.webkit.org/show_bug.cgi?id=122125
656
657         Reviewed by Timothy Hatcher.
658
659         The previous strategy for restoring content views after inspector
660         re-open did not consider the active sidebar and its selection, and
661         tried to recreate the appropriate selection from the saved content
662         view. However, doesn't work for tree elements in the sidebar panel
663         that don't change views when selected, such as script breakpoints,
664         special breakpoints, call stack, timeline sections, etc.
665
666         This patch implements a new strategy that saves the navigation
667         sidebar panel's view state by serializing the identity of the
668         selected element's represented object. Relevant represented
669         object classes implement the saveIdentityToCookie() method. Each
670         represented object class also adds a TypeIdentifier property to
671         its constructor, to aid inexact matching based on represented
672         object type, rather than its complete identity.
673
674         When restoring, the navigation sidebar attempts to match added
675         tree elements against the pending cookie, and selects the element
676         if it matches. A represented object matches if its serialized
677         identity matches the previously saved serialized identity.
678
679         The inspector view state is now only saved on the page hide event
680         (for saving across reopen) and when the main frame commits its
681         provisional load (for saving across same-page reloads). It
682         consolidates similar view state settings into a single setting.
683
684         * UserInterface/ApplicationCacheFrame.js:
685         (WebInspector.ApplicationCacheFrame): Add cookie keys and type identifier.
686         (WebInspector.ApplicationCacheFrame.prototype.saveIdentityToCookie): Added.
687         * UserInterface/ApplicationCacheManager.js: remove objectForCookie().
688         * UserInterface/Breakpoint.js:
689         (WebInspector.Breakpoint): Add cookie keys and type identifier.
690         (WebInspector.Breakpoint.prototype.saveIdentityToCookie):
691         * UserInterface/CookieStorageObject.js:
692         (WebInspector.CookieStorageObject.prototype.saveIdentityToCookie): Added.
693         * UserInterface/DOMStorageObject.js:
694         (WebInspector.DOMStorageObject): Add cookie keys and type identifier.
695         (WebInspector.DOMStorageObject.prototype.saveIdentityToCookie): Added.
696         * UserInterface/DatabaseObject.js:
697         (WebInspector.DatabaseObject): Add cookie keys and type identifier.
698         (WebInspector.DatabaseObject.prototype.saveIdentityToCookie): Added.
699         * UserInterface/DatabaseTableObject.js:
700         (WebInspector.DatabaseTableObject): Add cookie keys and type identifier.
701         (WebInspector.DatabaseTableObject.prototype.saveIdentityToCookie): Added.
702         * UserInterface/DebuggerSidebarPanel.js:
703         (WebInspector.DebuggerSidebarPanel.prototype.saveStateToCookie): Added.
704         (WebInspector.DebuggerSidebarPanel.prototype.restoreStateFromCookie): Added.
705         * UserInterface/Frame.js:
706         (WebInspector.Frame): Add cookie keys and type identifier.
707         (WebInspector.Frame.prototype.saveIdentityToCookie): Added.
708         * UserInterface/FrameResourceManager.js: remove objectForCookie().
709         * UserInterface/InstrumentSidebarPanel.js:
710         (WebInspector.InstrumentSidebarPanel.prototype.showTimelineForRecordType):
711         Return the shown timeline, if any.
712
713         (WebInspector.InstrumentSidebarPanel.prototype.saveStateToCookie): Added.
714         (WebInspector.InstrumentSidebarPanel.prototype.restoreStateFromCookie): Added.
715         (WebInspector.InstrumentSidebarPanel.prototype.showProfile):
716         Return the shown profile, if any.
717
718         * UserInterface/Main.js:
719         (WebInspector): Added cookie keys for the selected sidebar and
720         typeidentifier of the sidebar's selected tree element.
721
722         (WebInspector.contentLoaded): Remove callbacks for
723         resolveAndShowPendingContentViewCookie(). Consolidate all saved
724         inspector view state into one Setting. Move special-cased
725         restoring of the console to the restoration method. Move saving
726         of last opened navigation panel to the saving method.
727
728         (WebInspector._mainResourceDidChange): Try to restore saved view
729         state when the main resource changes.
730
731         (WebInspector._provisionalLoadCommitted): Update the saved view
732         state when the navigation commits. This is the last chance to save
733         it before the main resource changes and the navigation panel view
734         state is discarded and rebuilt.
735
736         (WebInspector._pageHidden): Update the saved view state when the
737         inspector page is hidden, but before state is discarded.
738
739         (WebInspector._navigationSidebarPanelSelected): Don't save last
740         navigation sidebar panel.
741         (WebInspector._updateCookieForInspectorViewState): Renamed from
742         _updateCurrentContentViewCookie. It delegates view state
743         serialization to the currently open navigation sidebar, rather
744         than the current content view.
745
746         (WebInspector._contentBrowserRepresentedObjectsDidChange): Don't
747         spuriously serialize the current view state cookie on every
748         ContentView change.
749
750         (WebInspector._restoreInspectorViewStateFromCookie): Renamed from
751         _showContentViewForCookie. It now restores a specific navigation
752         panel and delegates remaining view state restoration to the panel
753         itself. Last-resort selection of any tree element with the same
754         type identifier was moved to the navigation panel's restore method.
755
756         * UserInterface/NavigationSidebarPanel.js:
757         (WebInspector.NavigationSidebarPanel):
758         (WebInspector.NavigationSidebarPanel.prototype.set contentTreeOutline):
759         (WebInspector.NavigationSidebarPanel.prototype.createContentTreeOutline):
760         Save references to all created TreeOutlines in a Set, so we can
761         restore any tree's selection.
762
763         (WebInspector.NavigationSidebarPanel.prototype.saveStateToCookie):
764         Added. Find the selected tree element from all tree outlines and
765         ask it to serialize its identity.
766
767         (WebInspector.NavigationSidebarPanel.prototype.restoreStateFromCookie):
768         Added. Eagerly search existing tree elements for a matching
769         representedObject. If none exists, save the pending cookie and
770         schedule last-resort matching using the provided timeout interval.
771
772         (WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged):
773         Check if the added tree element matches a pending view state
774         cookie, if one exists.
775
776         (WebInspector.NavigationSidebarPanel.prototype.treeElementMatchesCookie):
777         Added. Check if the tree element's representedObject matches the
778         pending view state cookie.
779
780         (WebInspector.NavigationSidebarPanel.prototype._checkElementsForPendingViewStateCookie):
781         Added. For each provided tree element, check if the tree
782         element's represented object produces the same serialized identity
783         as the pending view state cookie that we are trying to resolve.
784         If a match is found (possibly by relaxing to matching anything
785         with the same type), select the tree element and clear both the
786         pending view state cookie and last-resort selection timer.
787
788         * UserInterface/Resource.js:
789         (WebInspector.Resource): Add cookie keys and type identifier.
790         (WebInspector.Resource.prototype.saveIdentityToCookie): Added.
791
792         * UserInterface/ResourceClusterContentView.js:
793         (WebInspector.ResourceClusterContentView.prototype.saveToCookie):
794         (WebInspector.ResourceClusterContentView.prototype.restoreFromCookie):
795         Since identity state is serialized by the representedObject, these
796         methods only need to save view-specific state, such as the visible
797         subview. Remove extraneous state.
798
799         * UserInterface/Script.js:
800         (WebInspector.Script): Add cookie keys and type identifier.
801         (WebInspector.Script.prototype.saveIdentityToCookie): Added.
802         * UserInterface/StorageManager.js: remove objectForCookie().
803         * UserInterface/TimelineManager.js: remove objectForCookie().
804         * UserInterface/TimelinesContentView.js:
805         (WebInspector.TimelinesContentView.prototype.saveToCookie):
806         (WebInspector.TimelinesContentView.prototype.restoreFromCookie):
807         Since identity state is serialized by the representedObject, these
808         methods only need to save view-specific state, such as the visible
809         subview. Remove extraneous state.
810
811         * UserInterface/TreeOutline.js: Add TreeOutline.prototype.constructor
812         so other code can assume the constructor property exists.
813
814 2013-12-02  Antoine Quint  <graouts@apple.com>
815
816         Web Inspector: popover can overlap target frame
817         https://bugs.webkit.org/show_bug.cgi?id=125069
818
819         Reviewed by Joseph Pecoraro.
820
821         Fix a regression introduced in http://trac.webkit.org/changeset/159286. We should only
822         offset the frame of the popover in the y-axis if the target edge is on the x-axis, and
823         vice versa. We also remove the needsToDrawBackground check since it incorrectly disregarded
824         the anchor point. We now always draw the background which is a lot safer and guarantees
825         we'll always draw an adequate frame and anchor point.
826
827         * UserInterface/Popover.js:
828         (WebInspector.Popover.prototype._update):
829         (WebInspector.Popover.prototype._bestMetricsForEdge):
830
831 2013-12-02  Antoine Quint  <graouts@apple.com>
832
833         Web Inspector: add a method to add padding around a WebInspector.Rect
834         https://bugs.webkit.org/show_bug.cgi?id=125072
835
836         Reviewed by Joseph Pecoraro.
837
838         Add a new WebInspector.Rect.prototype.pad() method which does not alter
839         the rectangle it's called and returns a new rect much like .inset(). I've
840         checked all call sites and there was no reuse of the rectangle that was
841         padded so this patch won't have any side effects.
842
843         * UserInterface/Breakpoint.js:
844         (WebInspector.Breakpoint.prototype._showEditBreakpointPopover):
845         * UserInterface/CSSStyleDeclarationTextEditor.js:
846         * UserInterface/Geometry.js:
847         (WebInspector.Rect.prototype.pad):
848         * UserInterface/LayerTreeSidebarPanel.js:
849         (WebInspector.LayerTreeSidebarPanel.prototype._updatePopoverForSelectedNode):
850         * UserInterface/SourceCodeTextEditor.js:
851         (WebInspector.SourceCodeTextEditor.prototype._showPopover):
852         * UserInterface/TimelineDataGrid.js:
853         (WebInspector.TimelineDataGrid.prototype._updatePopoverForSelectedNode):
854
855 2013-11-26  Antoine Quint  <graouts@apple.com>
856
857         Web Inspector: Allow showing a context menu on all mouse events.
858         https://bugs.webkit.org/show_bug.cgi?id=124747
859
860         Reviewed by Joseph Pecoraro.
861
862         Automatically dispatch a contextmenu event in case WebInspector.ContextMenu.prototype.show()
863         is called outside of a contextmenu event handler and would therefore not show the expected
864         context menu (except in the Remote Web Inspector where this already works). 
865
866         * UserInterface/ContextMenu.js:
867         (WebInspector.ContextMenu.prototype.show):
868         Check whether the event is a contextmenu event, and if not, add an event listener for a manually
869         dispatched contextmenu event such that we may then call InspectorFrontendHost.showContextMenu()
870         in a contextmenu event handler.
871
872         (WebInspector.ContextMenu.prototype.handleEvent):
873         Call InspectorFrontendHost.showContextMenu() now that we received the manually dispatched
874         contextmenu event.
875
876 2013-11-25  Alexandru Chiculita  <achicu@adobe.com>
877
878         Web Inspector: [CSS Regions] A page with many flows should collapse the resources tree
879         https://bugs.webkit.org/show_bug.cgi?id=122926
880
881         Reviewed by Timothy Hatcher.
882
883         Refactored the code in FrameTreeElement._shouldGroupIntoFolders to make it easy to track
884         more types of resources. Added the content flows as another type of resource that would trigger the
885         collapsing.
886
887         * UserInterface/DOMTreeManager.js:
888         (WebInspector.DOMTreeManager.prototype.namedFlowRemoved): Added code to remove the content nodes from
889         a flow that has been removed.
890         * UserInterface/FrameTreeElement.js:
891         (WebInspector.FrameTreeElement.prototype._shouldGroupIntoFolders.pushCategory):
892         (WebInspector.FrameTreeElement.prototype._shouldGroupIntoFolders.pushResourceType):
893         (WebInspector.FrameTreeElement.prototype._shouldGroupIntoFolders):
894
895 2013-11-25  Dan Bernstein  <mitz@apple.com>
896
897         Set the svn:ignore property on the Xcode project to ignore the workspace and user data.
898
899         * WebInspectorUI.xcodeproj: Added property svn:ignore.
900
901 2013-11-21  Mark Rowe  <mrowe@apple.com>
902
903         <https://webkit.org/b/124702> Stop overriding VALID_ARCHS.
904
905         All modern versions of Xcode set it appropriately for our needs.
906
907         Reviewed by Alexey Proskuryakov.
908
909         * Configurations/Base.xcconfig:
910
911 2013-11-19  Antoine Quint  <graouts@apple.com>
912
913         Web Inspector: layer info sidebar should convert to MB for very large layers
914         https://bugs.webkit.org/show_bug.cgi?id=124570
915
916         Reviewed by Timothy Hatcher.
917
918         Setting higherResolution to true (its default value if omitted) when calling
919         Number.bytesToString() would always result in a KB-formatted string instead
920         since it didn't check for a < 1024 value as well.
921
922         * UserInterface/Utilities.js:
923         (Number.bytesToString):
924
925 2013-11-19  Antoine Quint  <graouts@apple.com>
926
927         Remove some unused utilities from Utilities.js
928         https://bugs.webkit.org/show_bug.cgi?id=124590
929
930         Reviewed by Darin Adler.
931
932         Remove some methods and properties that were no longer used through the codebase.
933
934         * UserInterface/Utilities.js:
935
936 2013-11-18  Alexandru Chiculita  <achicu@adobe.com>
937
938         Web Inspector: Update WebInspectorUI to use the new "nodeIds" parameter for DOM.performSearch
939         https://bugs.webkit.org/show_bug.cgi?id=124544
940
941         Reviewed by Joseph Pecoraro.
942
943         Added the new DOM.performSearch "nodeIds" parameter and made the two implementations
944         of DOMTreeContentView provide the right context node ids.
945
946         DOMTreeContentView is just using the id of the document node while ContentFlowDOMTreeContentView
947         is passing the list of content nodes.
948
949         Note that adding an extra optional parameter to DOM.performSearch does not break iOS 6 and 7 compatibility.
950
951         * UserInterface/ContentFlowDOMTreeContentView.js:
952         (WebInspector.ContentFlowDOMTreeContentView.prototype.getSearchContextNodes):
953         * UserInterface/DOMTreeContentView.js:
954         (WebInspector.DOMTreeContentView.prototype.performSearch.contextNodesReady):
955         (WebInspector.DOMTreeContentView.prototype.performSearch):
956         (WebInspector.DOMTreeContentView.prototype.getSearchContextNodes):
957         * UserInterface/FrameDOMTreeContentView.js:
958         (WebInspector.FrameDOMTreeContentView.prototype.getSearchContextNodes):
959         * UserInterface/InspectorBackendCommands.js:
960
961 2013-11-18  Joseph Pecoraro  <pecoraro@apple.com>
962
963         Web Inspector: Update localizedStrings, remove stale string
964         https://bugs.webkit.org/show_bug.cgi?id=124543
965
966         Reviewed by Jessie Berlin.
967
968         Remove stale localized strings after r124543 remove the old color picker.
969
970         * Localizations/en.lproj/localizedStrings.js:
971
972 2013-11-15  Antoine Quint  <graouts@apple.com>
973
974         Web Inspector: New color picker
975         https://bugs.webkit.org/show_bug.cgi?id=124354
976
977         Reviewed by Timothy Hatcher.
978
979         Beginning of a new color picker. The focus of this new picker is to let you pick from
980         a color wheel as the primary mean of color picking, with additional slider controls for
981         the brightness and the opacity, better matching the default OS X color picker. This is the
982         basis for a color picker that will evolve to support the following:
983
984         - editable CSS value label (http://webkit.org/b/124356)
985         - picking a color anywhere on screen (http://webkit.org/b/124357)
986         - swatches based on other colors in page (http://webkit.org/b/124358)
987
988         Note also that the color wheel has not been tested on Retina displays
989         (see http://webkit.org/b/124355).
990
991         * UserInterface/CSSColorPicker.css: Removed.
992         * UserInterface/CSSColorPicker.js: Removed.
993         Previous color picker, now removed in favor of the new ColorPicker class.
994
995         * UserInterface/CSSStyleDeclarationTextEditor.js:
996         Adopt new class name for the color picker, add a little padding to the popover
997         target frame and set the base color after the picker has been presented.
998
999         * UserInterface/Color.js:
1000         (WebInspector.Color.prototype._hslToRGB):
1001         Simplified math.
1002
1003         (WebInspector.Color.rgb2hsv):
1004         (WebInspector.Color.hsv2rgb):
1005         New utilities to deal with HSV colors used in the ColorWheel.
1006
1007         * UserInterface/ColorPicker.css: Added.
1008
1009         * UserInterface/ColorPicker.js: Added.
1010         (WebInspector.ColorPicker):
1011         (WebInspector.ColorPicker.prototype.get element):
1012         (WebInspector.ColorPicker.prototype.set brightness):
1013         (WebInspector.ColorPicker.prototype.set opacity):
1014         (WebInspector.ColorPicker.prototype.get color):
1015
1016         (WebInspector.ColorPicker.prototype.set color):
1017         We set the _dontUpdateColor flag here such that we don't attempt to
1018         notify about a color change at this point in case the selected color
1019         is too saturated to be represented accurately on the color wheel and
1020         we would end up changing the color by virtue of presenting the popover.
1021
1022         (WebInspector.ColorPicker.prototype.colorWheelColorDidChange):
1023         (WebInspector.ColorPicker.prototype.sliderValueDidChange):
1024         (WebInspector.ColorPicker.prototype._updateColor):
1025         (WebInspector.ColorPicker.prototype._updateSliders):
1026
1027         * UserInterface/ColorWheel.css: Added.
1028
1029         * UserInterface/ColorWheel.js: Added.
1030         The ColorWheel makes use of three different <canvas> elements to draw itself.
1031         The "raw" canvas is used to draw the raw, un-tinted color wheel with poor
1032         aliasing. The "raw" canvas is only drawn when the dimension is changed.
1033         The "tinted" canvas is used to draw the "raw" canvas with a black overlay
1034         based on the brightness set on the wheel. The "final" canvas, the only <canvas>
1035         element attached to the DOM, is used to draw the "tinted" canvas into a circle
1036         clip of a slightly narrower radius so that the drawn image is visually more pleasing
1037         and can be displayed above virtually any background color.
1038
1039         We use color math to generate the color wheel, courtesy of Dean Jackson, and also to
1040         figure out where to position the crosshair for the provided base color as well as
1041         the opposite operation where we get the color under the mouse pointer.
1042
1043         The color wheel fires a single delegate method call colorWheelColorDidChange(colorWheel),
1044         the colors themselves being retrieved via the public properties tintedColor and rawColor.
1045
1046         (WebInspector.ColorWheel):
1047         (WebInspector.ColorWheel.prototype.set dimension):
1048         (WebInspector.ColorWheel.prototype.get element):
1049         (WebInspector.ColorWheel.prototype.get brightness):
1050         (WebInspector.ColorWheel.prototype.set brightness):
1051         (WebInspector.ColorWheel.prototype.get tintedColor):
1052         (WebInspector.ColorWheel.prototype.set tintedColor):
1053         (WebInspector.ColorWheel.prototype.get rawColor):
1054         (WebInspector.ColorWheel.prototype.handleEvent):
1055         (WebInspector.ColorWheel.prototype._handleMousedown):
1056         (WebInspector.ColorWheel.prototype._handleMousemove):
1057         (WebInspector.ColorWheel.prototype._handleMouseup):
1058         (WebInspector.ColorWheel.prototype._pointInCircleForEvent):
1059         (WebInspector.ColorWheel.prototype._pointInCircleForEvent.angleFromCenterToPoint):
1060         (WebInspector.ColorWheel.prototype._pointInCircleForEvent.pointOnCircumference):
1061         (WebInspector.ColorWheel.prototype._updateColorForMouseEvent):
1062         (WebInspector.ColorWheel.prototype._setCrosshairPosition):
1063         (WebInspector.ColorWheel.prototype._tintedColorToPointAndBrightness):
1064         (WebInspector.ColorWheel.prototype._drawRawCanvas):
1065         (WebInspector.ColorWheel.prototype._colorAtPointWithBrightness):
1066         (WebInspector.ColorWheel.prototype._drawTintedCanvas):
1067         (WebInspector.ColorWheel.prototype._draw):
1068
1069         * UserInterface/Images/SliderThumb.png: Added.
1070         * UserInterface/Images/SliderThumb@2x.png: Added.
1071         * UserInterface/Images/SliderThumbPressed.png: Added.
1072         * UserInterface/Images/SliderThumbPressed@2x.png: Added.
1073         Supporting artwork for the new Slider class.
1074
1075         * UserInterface/Main.html:
1076         Remove the previous color picker class and add the new one, as well as the new Slider class.
1077
1078         * UserInterface/Slider.css: Added.
1079
1080         * UserInterface/Slider.js: Added.
1081         New slider to match the look of the sliders used in the native OS X color picker. The most
1082         interesting feature of these sliders is that they can be transformed using CSS in any way
1083         and will still operate correctly due to always converting the mouse coordinates in the page
1084         coordinate system to the coordinate system local to the backing element. For instance, the
1085         color picker uses two sliders transformed to be displayed vertically.
1086
1087         As it stands these slides only support values between 0 and 1 and fire a single delegate
1088         method call sliderValueDidChange(slider, newValue).
1089
1090         (WebInspector.Slider):
1091         (WebInspector.Slider.prototype.get element):
1092         (WebInspector.Slider.prototype.get value):
1093         (WebInspector.Slider.prototype.set value):
1094         (WebInspector.Slider.prototype.handleEvent):
1095         (WebInspector.Slider.prototype._handleMousedown):
1096         (WebInspector.Slider.prototype._handleMousemove):
1097         (WebInspector.Slider.prototype._handleMouseup):
1098         (WebInspector.Slider.prototype._localPointForEvent):
1099         (WebInspector.Slider.prototype.get _maxX):
1100
1101         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
1102         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
1103         Update file names for the new color picker.
1104
1105 2013-11-14  Antoine Quint  <graouts@apple.com>
1106
1107         Web Inspector: Popovers may shrink unnecessarily
1108         https://bugs.webkit.org/show_bug.cgi?id=124350
1109
1110         Reviewed by Timothy Hatcher.
1111
1112         Because we always get the intersection of the preferred frame and the container frame to
1113         ensure the popover fits within its container based on a preferred frame that would place
1114         the arrow within the center of the attachment edge, we get in situations where we may
1115         shrink the popover instead of shifting it to fit within the container frame. We now first
1116         shift the preferred frame before getting its intersection with the container frame to
1117         avoid such situations. 
1118
1119         * UserInterface/Popover.js:
1120         (WebInspector.Popover.prototype._bestMetricsForEdge):
1121
1122 2013-11-13  Joseph Pecoraro  <pecoraro@apple.com>
1123
1124         Web Inspector: Split Inspector.json into individual domain json files
1125         https://bugs.webkit.org/show_bug.cgi?id=124098
1126
1127         Reviewed by Timothy Hatcher.
1128
1129         Removed now stale comments referring to the combined Inspector.json.
1130         Make update-InspectorBackendCommands helper script generate a
1131         combined Inspector.json to still work for tip of tree.
1132
1133         * Scripts/update-InspectorBackendCommands.rb:
1134         * UserInterface/ApplicationCacheObserver.js:
1135         * UserInterface/CSSObserver.js:
1136         * UserInterface/CanvasObserver.js:
1137         * UserInterface/ConsoleObserver.js:
1138         * UserInterface/DOMObserver.js:
1139         * UserInterface/DOMStorageObserver.js:
1140         * UserInterface/DatabaseObserver.js:
1141         * UserInterface/DebuggerObserver.js:
1142         * UserInterface/InspectorBackendCommands.js:
1143         * UserInterface/InspectorObserver.js:
1144         * UserInterface/LayerTreeObserver.js:
1145         * UserInterface/NetworkObserver.js:
1146         * UserInterface/PageObserver.js:
1147         * UserInterface/ProfilerObserver.js:
1148         * UserInterface/Resource.js:
1149         * UserInterface/RuntimeObserver.js:
1150         * UserInterface/TimelineObserver.js:
1151
1152 2013-11-12  Alexandru Chiculita  <achicu@adobe.com>
1153
1154         Web Inspector: ContentFlowTreeContentView should use only one DOMTreeOutline
1155         https://bugs.webkit.org/show_bug.cgi?id=124230
1156
1157         Reviewed by Timothy Hatcher.
1158
1159         Changed ContentFlowTreeContentView to use one DOMTreeOutline by just
1160         populating it with root DOMTreeElements directly. That is very
1161         similar to how DOMTreeOutline works when omitRootDOMNode is used.
1162
1163         Now that ContentFlowTreeContentView has only one DOMTreeOutline,
1164         it makes sense to change its base class to be DOMTreeContentView instead.
1165         Also, with that I've changed its name to ContentFlowDOMTreeContentView.
1166
1167         I had to move all the DOMTree document loading code from DOMTreeContentView to a
1168         new class called FrameDOMTreeContentView. This is used to display the DOM of the
1169         frame objects. FrameDOMTreeContentView is also inheriting from DOMTreeContentView.
1170
1171         Issues that are fixed as a side effect:
1172         - Selection path components are now displaying all the sibling elements for contentFlow.contentNodes
1173         (those are the nodes that have "-webkit-flow-into" set directly).
1174         - Keyboard navigation works for the contentFlow.contentNodes.
1175         - Search is implemented in DOMTreeContentView, so that code now works for flows too.
1176         The DOMAgents's search API will use all the Documents to lookup for nodes, so it might
1177         find DOM nodes that are not part of the flow. This is in line with the behavior for the
1178         frames.
1179
1180         * UserInterface/ContentFlowDOMTreeContentView.js: Renamed from ContentFlowTreeContentView
1181         to better reflect the inheritance from DOMTreeContentView.
1182         (WebInspector.ContentFlowDOMTreeContentView):
1183         (WebInspector.ContentFlowDOMTreeContentView.prototype.closed):
1184         (WebInspector.ContentFlowDOMTreeContentView.prototype._createContentTrees):
1185         (WebInspector.ContentFlowDOMTreeContentView.prototype._contentNodeWasAdded):
1186         (WebInspector.ContentFlowDOMTreeContentView.prototype._contentNodeWasRemoved):
1187         * UserInterface/ContentView.js:
1188         (WebInspector.ContentView):
1189         * UserInterface/DOMTreeContentView.js:
1190         (WebInspector.DOMTreeContentView):
1191         (WebInspector.DOMTreeContentView.prototype.closed):
1192         (WebInspector.DOMTreeContentView.prototype.):
1193         (WebInspector.DOMTreeContentView.prototype._restoreSelectedNodeAfterUpdate):
1194         (WebInspector.DOMTreeContentView.prototype._selectedNodeDidChange):
1195         * UserInterface/FrameDOMTreeContentView.js: Added.
1196         (WebInspector.FrameDOMTreeContentView):
1197         (WebInspector.FrameDOMTreeContentView.prototype.get domTree):
1198         (WebInspector.FrameDOMTreeContentView.prototype.closed):
1199         (WebInspector.FrameDOMTreeContentView.prototype._rootDOMNodeAvailable):
1200         (WebInspector.FrameDOMTreeContentView.prototype._rootDOMNodeInvalidated):
1201         (WebInspector.FrameDOMTreeContentView.prototype._requestRootDOMNode):
1202         * UserInterface/Main.html:
1203
1204 2013-11-08  Joseph Pecoraro  <pecoraro@apple.com>
1205
1206         Web Inspector: remove -webkit-min and -webkit-max from CSS completions
1207         https://bugs.webkit.org/show_bug.cgi?id=124072
1208
1209         Reviewed by Timothy Hatcher.
1210
1211         -webkit-min and -webkit-max are not implemented in WebCore, despite mentions of it.
1212
1213         * UserInterface/CSSKeywordCompletions.js:
1214
1215 2013-11-07  Alexandru Chiculita  <achicu@adobe.com>
1216
1217         Web Inspector: CSS Regions: Use a Map object to store the ContentFlows
1218         https://bugs.webkit.org/show_bug.cgi?id=124015
1219
1220         Reviewed by Joseph Pecoraro.
1221
1222         Changed the Object hashmap to a Map based hashmap when storing the flows in DOMTreeManager.
1223
1224         * UserInterface/DOMTreeManager.js:
1225         (WebInspector.DOMTreeManager):
1226         (WebInspector.DOMTreeManager.prototype.getNamedFlowCollection):
1227         (WebInspector.DOMTreeManager.prototype.namedFlowRemoved):
1228         (WebInspector.DOMTreeManager.prototype._sendNamedFlowUpdateEvents):
1229
1230 2013-11-07  Timothy Hatcher  <timothy@apple.com>
1231
1232         Fix up some sidebar switching details to make selections persist better.
1233
1234         Translate represented objects between sidebars so the same item can be reselected
1235         as you switch between frames and main reources. Also fix some null checks that are
1236         needed on selectedSidebarPanel.
1237
1238         https://bugs.webkit.org/show_bug.cgi?id=124001
1239
1240         Reviewed by Joseph Pecoraro.
1241
1242         * UserInterface/DebuggerSidebarPanel.js:
1243         (WebInspector.DebuggerSidebarPanel.prototype.treeElementForRepresentedObject): Added. Translate a Frame
1244         representedObject into a main resource representedObject.
1245         * UserInterface/Main.js:
1246         (WebInspector._revealAndSelectRepresentedObjectInNavigationSidebar): Null check selectedSidebarPanel.
1247         (WebInspector._updateNavigationSidebarForCurrentContentView): Fix a logic error to match other code.
1248         allowedNavigationSidebarPanels.length needs to have a length before using contains.
1249         (WebInspector._contentBrowserCurrentContentViewDidChange): Null check selectedSidebarPanel.
1250         * UserInterface/ResourceSidebarPanel.js:
1251         (WebInspector.ResourceSidebarPanel.prototype.treeElementForRepresentedObject): Translate a main resource
1252         representedObject into a Frame representedObject.
1253
1254 2013-11-07  Alexandru Chiculita  <achicu@adobe.com>
1255
1256         Web Inspector: CSS Regions: Removing a content node of a ContentFlow from the DOM will send a 0 nodeId
1257         https://bugs.webkit.org/show_bug.cgi?id=123577
1258
1259         Reviewed by  Timothy Hatcher.
1260
1261         Fixed the content node removal from the content flow.
1262
1263         * UserInterface/ContentFlowTreeContentView.js:
1264         * UserInterface/DOMTreeManager.js:
1265         (WebInspector.DOMTreeManager):
1266         (WebInspector.DOMTreeManager.prototype._createContentFlowFromPayload): Registered all the content nodes
1267         in the _contentNodesToFlowsMap.
1268         (WebInspector.DOMTreeManager.prototype._unbind): Added call to _removeContentNodeFromFlowIfNeeded.
1269         (WebInspector.DOMTreeManager.prototype._removeContentNodeFromFlowIfNeeded): Called from _unbind to check
1270         and remove a node from it's parent content flow if needed.
1271         (WebInspector.DOMTreeManager.prototype.unregisteredNamedFlowContentElement):
1272
1273 2013-11-06  Timothy Hatcher  <timothy@apple.com>
1274
1275         Properly null check positionToReveal in ResourceSidebarPanel.prototype.showSourceCode.
1276
1277         https://bugs.webkit.org/show_bug.cgi?id=123921
1278
1279         Reviewed by Joseph Pecoraro.
1280
1281         * UserInterface/ResourceSidebarPanel.js:
1282         (WebInspector.ResourceSidebarPanel.prototype.showSourceCode):
1283
1284 2013-11-06  Timothy Hatcher  <timothy@apple.com>
1285
1286         Fix the display of query parameters when the value is missing. 
1287
1288         https://bugs.webkit.org/show_bug.cgi?id=123920
1289
1290         Reviewed by Joseph Pecoraro.
1291
1292         * UserInterface/ResourceDetailsSidebarPanel.js:
1293         (WebInspector.ResourceDetailsSidebarPanel.prototype._createNameValueDataGrid):
1294
1295 2013-11-06  Alexandru Chiculita  <achicu@adobe.com>
1296
1297         Web Inspector: CSS Regions: When a flow is clicked the content of flow needs to be displayed
1298         https://bugs.webkit.org/show_bug.cgi?id=122927
1299
1300         Reviewed by Joseph Pecoraro.
1301
1302         ContentFlowTreeContentView is now used to display the content nodes of a ContentFlow. It is
1303         very similar to the DOMTreeContentView class, but can handle multiple root nodes.
1304
1305         * UserInterface/ContentFlowTreeContentView.js: Added.
1306         (WebInspector.ContentFlowTreeContentView):
1307         (WebInspector.ContentFlowTreeContentView.prototype.get selectionPathComponents):
1308         (WebInspector.ContentFlowTreeContentView.prototype.updateLayout):
1309         (WebInspector.ContentFlowTreeContentView.prototype.shown):
1310         (WebInspector.ContentFlowTreeContentView.prototype.hidden):
1311         (WebInspector.ContentFlowTreeContentView.prototype.closed):
1312         (WebInspector.ContentFlowTreeContentView.prototype._selectedNodeDidChange):
1313         (WebInspector.ContentFlowTreeContentView.prototype._pathComponentSelected):
1314         (WebInspector.ContentFlowTreeContentView.prototype._createContentNodeTree):
1315         (WebInspector.ContentFlowTreeContentView.prototype._createContentTrees):
1316         (WebInspector.ContentFlowTreeContentView.prototype._contentNodeWasAdded):
1317         (WebInspector.ContentFlowTreeContentView.prototype._contentNodeWasRemoved):
1318         * UserInterface/ContentView.js:
1319         (WebInspector.ContentView):
1320         (WebInspector.ContentView.isViewable):
1321         * UserInterface/DOMTreeElement.js:
1322         (WebInspector.DOMTreeElement.prototype.ondeselect): We need to remove the selected "dom node"
1323         so that the element is not going to stay selected after the we move to a different DOM tree.
1324         * UserInterface/DOMTreeOutline.js:
1325         (WebInspector.DOMTreeOutline.prototype.selectDOMNode):
1326         * UserInterface/Main.html:
1327         * UserInterface/Main.js:
1328         (WebInspector.sidebarPanelForRepresentedObject):
1329         * UserInterface/ResourceSidebarPanel.js:
1330         (WebInspector.ResourceSidebarPanel.prototype._treeElementSelected):
1331
1332 2013-11-01  Antoine Quint  <graouts@apple.com>
1333
1334         Remove custom Function.prototype.bind() in favor of native version
1335         https://bugs.webkit.org/show_bug.cgi?id=123608
1336
1337         Reviewed by Joseph Pecoraro.
1338
1339         * UserInterface/Utilities.js:
1340
1341 2013-11-01  Antoine Quint  <graouts@apple.com>
1342
1343         Error trying to serialize a color created without an alpha component to RGBA or HSLA
1344         https://bugs.webkit.org/show_bug.cgi?id=123623
1345
1346         Reviewed by Joseph Pecoraro.
1347
1348         Check whether we have .rgba and .hsla ivars before trying to retrieve them to serialize
1349         the color to RGBA or HSLA format.
1350
1351         * UserInterface/Color.js:
1352         (WebInspector.Color.prototype.toString):
1353
1354 2013-11-01  Antoine Quint  <graouts@apple.com>
1355
1356         Remove custom Element.prototype.remove() in favor of native version
1357         https://bugs.webkit.org/show_bug.cgi?id=123607
1358
1359         Reviewed by Timothy Hatcher.
1360
1361         * UserInterface/Utilities.js:
1362
1363 2013-10-31  Joseph Pecoraro  <pecoraro@apple.com>
1364
1365         Web Inspector: Breakpoints in auto-formatted JavaScript editors are not working
1366         https://bugs.webkit.org/show_bug.cgi?id=123589
1367
1368         Reviewed by Timothy Hatcher.
1369
1370         The internal this._ignoreCodeMirrorContentDidChangeEvent flag was being used
1371         in two places that could be nested, meaning the flag was deleted while it
1372         was still expected to be set. Change it instead to a counter, to handle nesting.
1373
1374         * UserInterface/TextEditor.js:
1375         (WebInspector.TextEditor):
1376         (WebInspector.TextEditor.prototype.set string):
1377         (WebInspector.TextEditor.prototype.set formatted):
1378         (WebInspector.TextEditor.prototype._contentChanged):
1379
1380 2013-10-31  Joseph Pecoraro  <pecoraro@apple.com>
1381
1382         Web Inspector: Remove stale optional native memory instrumentation protocol params
1383         https://bugs.webkit.org/show_bug.cgi?id=123552
1384
1385         Reviewed by Timothy Hatcher.
1386
1387         * UserInterface/InspectorBackendCommands.js:
1388
1389 2013-10-30  Joseph Pecoraro  <pecoraro@apple.com>
1390
1391         Web Inspector: Fix PrettyPrinting Tool Load from Saved URL
1392
1393         Reviewed by Timothy Hatcher.
1394
1395         * Tools/PrettyPrinting/index.html:
1396
1397 2013-10-28  Alexandru Chiculita  <achicu@adobe.com>
1398
1399         Web Inspector: CSS Regions: Add protocol API to expose content nodes addition/removal
1400         https://bugs.webkit.org/show_bug.cgi?id=123424
1401
1402         Reviewed by Timothy Hatcher.
1403
1404         Exposed the new CSS Agent events to the ContentFlow class that will now maintain
1405         a list of nodes in the "contentNodes" property.
1406
1407         * UserInterface/CSSObserver.js:
1408         (WebInspector.CSSObserver.prototype.regionOversetChanged):
1409         (WebInspector.CSSObserver.prototype.registeredNamedFlowContentElement):
1410         (WebInspector.CSSObserver.prototype.unregisteredNamedFlowContentElement):
1411         * UserInterface/ContentFlow.js:
1412         (WebInspector.ContentFlow):
1413         (WebInspector.ContentFlow.prototype.set overset):
1414         (WebInspector.ContentFlow.prototype.get contentNodes):
1415         (WebInspector.ContentFlow.prototype.insertContentNodeBefore):
1416         (WebInspector.ContentFlow.prototype.appendContentNode):
1417         (WebInspector.ContentFlow.prototype.removeContentNode):
1418         * UserInterface/DOMTreeManager.js:
1419         (WebInspector.DOMTreeManager.prototype._createContentFlowFromPayload):
1420         (WebInspector.DOMTreeManager.prototype._updateContentFlowFromPayload):
1421         (WebInspector.DOMTreeManager.prototype.regionOversetChanged):
1422         (WebInspector.DOMTreeManager.prototype.registeredNamedFlowContentElement):
1423         (WebInspector.DOMTreeManager.prototype.unregisteredNamedFlowContentElement):
1424         * UserInterface/InspectorBackendCommands.js:
1425
1426 2013-10-25  Joseph Pecoraro  <pecoraro@apple.com>
1427
1428         Web Inspector: PrettyPrinting tool should have save button
1429         https://bugs.webkit.org/show_bug.cgi?id=123371
1430
1431         Reviewed by Timothy Hatcher.
1432
1433         Add buttons to save as a URL to share or to save/clear to
1434         localStorage for easier reloads testing local changes.
1435
1436         * Tools/PrettyPrinting/index.html:
1437
1438 2013-10-25  Joseph Pecoraro  <pecoraro@apple.com>
1439
1440         Web Inspector: Command+Click on url(…) should go to image not source line
1441         https://bugs.webkit.org/show_bug.cgi?id=123362
1442
1443         Reviewed by Timothy Hatcher.
1444
1445         CodeMirror changed "url" from being type "variable-2" to "string-2".
1446
1447         * UserInterface/CodeMirrorAdditions.js:
1448
1449 2013-10-25  Jessie Berlin  <jberlin@apple.com>
1450
1451         Ran update-localizable-strings after changes made in r157947.
1452
1453         Rubber-stamped by Timothy Hatcher.
1454
1455         * Localizations/en.lproj/localizedStrings.js:
1456
1457 2013-10-24  Mark Rowe  <mrowe@apple.com>
1458
1459         Remove references to OS X 10.7 from Xcode configuration settings.
1460
1461         Now that we're not building for OS X 10.7 they're no longer needed.
1462
1463         Reviewed by Anders Carlsson.
1464
1465         * Configurations/Base.xcconfig:
1466         * Configurations/DebugRelease.xcconfig:
1467         * Configurations/Version.xcconfig:
1468
1469 2013-10-24  Mark Rowe  <mrowe@apple.com>
1470
1471         <rdar://problem/15312643> Prepare for the mysterious future.
1472
1473         Reviewed by David Kilzer.
1474
1475         * Configurations/Base.xcconfig:
1476         * Configurations/DebugRelease.xcconfig:
1477         * Configurations/Version.xcconfig:
1478
1479 2013-10-24  Timothy Hatcher  <timothy@apple.com>
1480
1481         Allow editing CSS resources after they have been pretty printed.
1482
1483         https://bugs.webkit.org/show_bug.cgi?id=123297
1484
1485         Reviewed by Joseph Pecoraro.
1486
1487         * UserInterface/TextEditor.js:
1488         (WebInspector.TextEditor): Remove the need for _readOnly.
1489         (WebInspector.TextEditor.prototype.set readOnly): Set CodeMirror readOnly directly.
1490         (WebInspector.TextEditor.prototype.set formatted): Don't call _updateCodeMirrorReadOnly.
1491         (WebInspector.TextEditor.prototype._updateCodeMirrorReadOnly): Removed.
1492         (WebInspector.TextEditor.prototype._contentChanged): Clear _formatted and _formatterSourceMap
1493         on edit and notify the delegate and fire the FormattingDidChange event.
1494
1495 2013-10-24  Timothy Hatcher  <timothy@apple.com>
1496
1497         Adjust the precision of byte strings in Web Inspector.
1498
1499         https://bugs.webkit.org/show_bug.cgi?id=123281
1500
1501         Reviewed by Joseph Pecoraro.
1502
1503         * UserInterface/Utilities.js:
1504         (Number.bytesToString): More precision for MB and less precision for 10..1023 KB.
1505
1506 2013-10-24  Alexandru Chiculita  <achicu@adobe.com>
1507
1508         Web Inspector: Add a way to test the Manager and model classes
1509         https://bugs.webkit.org/show_bug.cgi?id=123223
1510
1511         Reviewed by Timothy Hatcher.
1512
1513         Moved some global functions out of Main.js, so that they can be used in the 
1514         layout tests without including Main.js.
1515
1516         * UserInterface/Main.html: Referenced the new JS files.
1517         * UserInterface/Main.js:
1518         * UserInterface/MessageDispatcher.js: Added.
1519         (WebInspector.dispatchNextQueuedMessageFromBackend):
1520         (WebInspector.dispatchMessageFromBackend):
1521         * UserInterface/URLUtilities.js: Added.
1522         (removeURLFragment):
1523         (relativePath):
1524         (parseURL):
1525         (absoluteURL):
1526         (parseLocationQueryParameters):
1527         (parseQueryString):
1528         (WebInspector.displayNameForURL):
1529         (WebInspector.displayNameForHost):
1530         * UserInterface/Utilities.js:
1531
1532 2013-10-21  Alexandru Chiculita  <achicu@adobe.com>
1533
1534         Web Inspector: [CSS Regions] Flows are not loading if you refresh the page several times
1535         https://bugs.webkit.org/show_bug.cgi?id=123123
1536
1537         Reviewed by Joseph Pecoraro.
1538
1539         There was a typo in the code where an exception was thrown because "flowKey" was undefined.
1540
1541         * UserInterface/DOMTree.js:
1542         (WebInspector.DOMTree.prototype._contentFlowListWasUpdated):
1543
1544 2013-10-21  Oliver Hunt  <oliver@apple.com>
1545
1546         Restore accidentally removed files.
1547
1548         * UserInterface/GoToLineDialog.css: Added.
1549         (.go-to-line-dialog):
1550         (.go-to-line-dialog > div):
1551         (.go-to-line-dialog > div > input):
1552         (.go-to-line-dialog > div > input::-webkit-input-placeholder):
1553         (.go-to-line-dialog > div > img):
1554         (.go-to-line-dialog > div > img:active):
1555         (.go-to-line-dialog.non-empty > div > img):
1556         * UserInterface/GoToLineDialog.js: Added.
1557         (WebInspector.GoToLineDialog):
1558         (WebInspector.GoToLineDialog.prototype.present):
1559         (WebInspector.GoToLineDialog.prototype.dismiss):
1560         (WebInspector.GoToLineDialog.prototype.handleEvent):
1561         (WebInspector.GoToLineDialog.prototype._handleInputEvent):
1562         (WebInspector.GoToLineDialog.prototype._handleKeydownEvent):
1563         (WebInspector.GoToLineDialog.prototype._handleBlurEvent):
1564         (WebInspector.GoToLineDialog.prototype._handleMousedownEvent):
1565         (WebInspector.GoToLineDialog.prototype._handleClickEvent):
1566         (WebInspector.GoToLineDialog.prototype._clear):
1567         * UserInterface/Images/CloseWhite.svg: Added.
1568
1569 2013-10-18  Alexandru Chiculita  <achicu@adobe.com>
1570
1571         Web Inspector: CSS Regions: Add the list of flows in the FrameTreeElement
1572         https://bugs.webkit.org/show_bug.cgi?id=122924
1573
1574         Reviewed by Timothy Hatcher.
1575
1576         Added code to collect the flows from the backend into the DOMTree object
1577         on the frontend. Added ContentFlow to represent the flows on the frontend
1578         side and created ContentFlowTreeElement to display the flows in the FrameTreeElement.
1579
1580         * Localizations/en.lproj/localizedStrings.js:
1581         * Scripts/copy-user-interface-resources.sh:
1582         * UserInterface/CSSObserver.js:
1583         (WebInspector.CSSObserver.prototype.namedFlowCreated):
1584         (WebInspector.CSSObserver.prototype.namedFlowRemoved):
1585         (WebInspector.CSSObserver.prototype.regionLayoutUpdated):
1586         (WebInspector.CSSObserver.prototype.regionOversetChanged):
1587         * UserInterface/ContentFlow.js: Added.
1588         (WebInspector.ContentFlow):
1589         (WebInspector.ContentFlow.prototype.get id):
1590         (WebInspector.ContentFlow.prototype.get documentNodeIdentifier):
1591         (WebInspector.ContentFlow.prototype.get name):
1592         (WebInspector.ContentFlow.prototype.get overset):
1593         (WebInspector.ContentFlow.prototype.set overset):
1594         * UserInterface/ContentFlowIcon.css: Added.
1595         (.content-flow-icon .icon):
1596         * UserInterface/ContentFlowTreeElement.js: Added.
1597         (WebInspector.ContentFlowTreeElement):
1598         * UserInterface/DOMTree.js:
1599         (WebInspector.DOMTree):
1600         (WebInspector.DOMTree.prototype.get flowMap):
1601         (WebInspector.DOMTree.prototype.get flowsCount):
1602         (WebInspector.DOMTree.prototype._framePageExecutionContextChanged):
1603         (WebInspector.DOMTree.prototype.requestContentFlowList):
1604         (WebInspector.DOMTree.prototype._isContentFlowInCurrentDocument):
1605         (WebInspector.DOMTree.prototype._contentFlowListWasUpdated):
1606         (WebInspector.DOMTree.prototype._contentFlowWasAdded):
1607         (WebInspector.DOMTree.prototype._contentFlowWasRemoved):
1608         * UserInterface/DOMTreeManager.js:
1609         (WebInspector.DOMTreeManager):
1610         (WebInspector.DOMTreeManager._flowPayloadHashKey):
1611         (WebInspector.DOMTreeManager.prototype._buildHighlightConfig):
1612         (WebInspector.DOMTreeManager.prototype._createContentFlowFromPayload):
1613         (WebInspector.DOMTreeManager.prototype._updateContentFlowFromPayload):
1614         (WebInspector.DOMTreeManager.prototype.getNamedFlowCollection):
1615         (WebInspector.DOMTreeManager.prototype.namedFlowCreated):
1616         (WebInspector.DOMTreeManager.prototype.namedFlowRemoved):
1617         (WebInspector.DOMTreeManager.prototype._sendNamedFlowUpdateEvents):
1618         (WebInspector.DOMTreeManager.prototype.regionLayoutUpdated):
1619         (WebInspector.DOMTreeManager.prototype.regionOversetChanged):
1620         * UserInterface/FrameTreeElement.js:
1621         (WebInspector.FrameTreeElement):
1622         (WebInspector.FrameTreeElement.prototype.onpopulate):
1623         (WebInspector.FrameTreeElement.prototype.onexpand):
1624         (WebInspector.FrameTreeElement.prototype._childContentFlowWasAdded):
1625         (WebInspector.FrameTreeElement.prototype._childContentFlowWasRemoved):
1626         (WebInspector.FrameTreeElement.prototype._rootDOMNodeInvalidated):
1627         (WebInspector.FrameTreeElement.prototype._addChildForRepresentedObject):
1628         (WebInspector.FrameTreeElement.prototype._removeChildForRepresentedObject):
1629         (WebInspector.FrameTreeElement.prototype._addTreeElementForRepresentedObject):
1630         (WebInspector.FrameTreeElement.prototype._compareResourceTreeElements):
1631         (WebInspector.FrameTreeElement.prototype._insertResourceTreeElement):
1632         (WebInspector.FrameTreeElement.prototype._parentTreeElementForRepresentedObject):
1633         (WebInspector.FrameTreeElement.prototype._shouldGroupIntoFolders):
1634         * UserInterface/Images/ContentFlow.svg: Added.
1635         * UserInterface/Main.html:
1636         * UserInterface/ResourceSidebarPanel.js:
1637         (WebInspector.ResourceSidebarPanel.prototype._treeElementSelected):
1638
1639 2013-10-17  Antoine Quint  <graouts@apple.com>
1640
1641         Web Inspector: Go to line keyboard command and dialog
1642         https://bugs.webkit.org/show_bug.cgi?id=122893
1643
1644         Reviewed by Timothy Hatcher.
1645
1646         Add a text input over source code text editors, centered within the width of the editor
1647         and towards the top of the editor, upon pressing Command+L or Control+G to match the
1648         behavior in Chrome.
1649
1650         * Localizations/en.lproj/localizedStrings.js:
1651         New localized string "Line Number".
1652
1653         * UserInterface/GoToLineDialog.css: Added.
1654         Styling for the go-to-line dialog.
1655
1656         * UserInterface/GoToLineDialog.js: Added.
1657         (WebInspector.GoToLineDialog):
1658         Generate the DOM structure for the dialog.
1659
1660         (WebInspector.GoToLineDialog.prototype.present):
1661         Present the dialog as a child of a parent element. The dialog's text field automatically
1662         gets focus and resets to be empty.
1663
1664         (WebInspector.GoToLineDialog.prototype.dismiss):
1665         Dismiss the dialog if visible, this triggers the goToLineDialogWasDismissed delegate method.
1666
1667         (WebInspector.GoToLineDialog.prototype.handleEvent):
1668         Route the various events registered in the dialog's DOM tree: input, keydown, blur, mousedown
1669         and click.
1670
1671         (WebInspector.GoToLineDialog.prototype._handleInputEvent):
1672         Update the "non-empty" class on the dialog's element depending on the content of the dialog's
1673         text field. If there is content in the text field, this will make the clear icon visible.
1674
1675         (WebInspector.GoToLineDialog.prototype._handleKeydownEvent):
1676         If the Esc. key is pressed when there is text in the dialog's input field, clear the input field.
1677         If no text is in the input field, dismiss the input field. When the Enter key is pressed, we call
1678         the isGoToLineDialogValueValid() method on the delegate to figure out if the text field value is
1679         valid. If it's not, we select the text field value so that it may be easily replaced and play
1680         en error sound. If it's valid, we call the goToLineDialogValueWasValidated() delegate method
1681         and dismiss the dialog.
1682
1683         (WebInspector.GoToLineDialog.prototype._handleBlurEvent):
1684         Dismiss the dialog when its text field loses focus. This ensures that clicking anywhere outside
1685         of the dialog removes it from display.
1686
1687         (WebInspector.GoToLineDialog.prototype._handleMousedownEvent):
1688         Upon pressing the mouse down on the clear icon, select the entire text field content (matches
1689         the behavior of Xcode) and prevent the default event action that would blur the text field
1690         which would dismiss the dialog.
1691
1692         (WebInspector.GoToLineDialog.prototype._handleClickEvent):
1693         Clear the content of the dialog's text field upon clicking on its clear button.
1694
1695         (WebInspector.GoToLineDialog.prototype._clear):
1696         Reset the dialog's text field's value to an empty string and remove the "non-empty" CSS class name
1697         controlling the display of the clear button.
1698
1699         * UserInterface/Images/CloseWhite.svg: Added.
1700         Variation of the Close.svg icon with a white cross.
1701
1702         * UserInterface/Main.html:
1703         Link to the newly added resources for GoToLineDialog.
1704
1705         * UserInterface/SourceCodeTextEditor.js:
1706         (WebInspector.SourceCodeTextEditor):
1707         Register the Command+L and Control+G keyboard shortcuts to bring up the go-to-line dialog.
1708
1709         (WebInspector.SourceCodeTextEditor.prototype.showGoToLineDialog):
1710         Method called upon pressing the Command+L and Control+G keyboard shorcuts creating an instance
1711         of a GoToDialog if necessary, becoming its delegate and presenting it in the context of the
1712         editor's root element.
1713
1714         (WebInspector.SourceCodeTextEditor.prototype.isGoToLineDialogValueValid):
1715         Delegate method called to validate the line number presently set in the go-to-dialog's text field,
1716         checking it's a number between 1 and the number of lines in the source code.
1717
1718         (WebInspector.SourceCodeTextEditor.prototype.goToLineDialogValueWasValidated):
1719         Delegate method called when the line number set in the go-to-dialog's text field has been validated.
1720         We reveal and select the line at the number provided.
1721
1722         (WebInspector.SourceCodeTextEditor.prototype.goToLineDialogWasDismissed):
1723         Ensure the source code editor regains focus upon dismissing the go-to-dialog.
1724
1725         * UserInterface/TextEditor.js:
1726         (WebInspector.TextEditor.prototype.revealPosition):
1727         Add a new opt-in option to not highlight the revealed position. The code in goToLineDialogValueWasValidated()
1728         sets that new flag to true to avoid an unnecessary highlight on top of the selection.
1729
1730         (WebInspector.TextEditor.prototype.get lineCount):
1731         Expose the lineCount() method on the private CodeMirror instance.
1732
1733         (WebInspector.TextEditor.prototype.focus):
1734         Expose the focus() method on the private CodeMirror instance.
1735
1736 2013-10-17  Antoine Quint  <graouts@apple.com>
1737
1738         Web Inspector: logged objects are highlighted in blue
1739         https://bugs.webkit.org/show_bug.cgi?id=122897
1740
1741         Reviewed by Joseph Pecoraro.
1742
1743         Switch to using the system highlight color for the background selected messages.
1744         Also removing SVG assets no longer needed since we won't be showing white prompt
1745         and result icons anymore as well as a few generated canvas states.
1746
1747         * UserInterface/Images/UserInputPromptPreviousSelected.svg: Removed.
1748         * UserInterface/Images/UserInputResultSelected.svg: Removed.
1749         * UserInterface/LogContentView.css:
1750         (.console-messages:focus .console-item.selected):
1751         * UserInterface/Main.js:
1752         (WebInspector._generateDisclosureTriangleImages):
1753
1754 2013-10-17  Antoine Quint  <graouts@apple.com>
1755
1756         Web Inspector: allow front-end to trigger the system beep sound to signal an error
1757         https://bugs.webkit.org/show_bug.cgi?id=122955
1758
1759         Reviewed by Timothy Hatcher.
1760
1761         Provide a stub method for the new InspectorFrontendHost.beep() method.
1762
1763         * UserInterface/InspectorFrontendHostStub.js:
1764         (WebInspector.InspectorFrontendHostStub.prototype.beep):
1765
1766 2013-10-15  Antoine Quint  <graouts@apple.com>
1767
1768         Web Inspector: can't select text inside a text node
1769         https://bugs.webkit.org/show_bug.cgi?id=122828
1770
1771         Reviewed by Timothy Hatcher.
1772
1773         Cancel the default user interaction when a drag action starts if the
1774         element is being edited.
1775
1776         * UserInterface/DOMTreeElement.js:
1777         (WebInspector.DOMTreeElement.prototype.onattach):
1778         (WebInspector.DOMTreeElement.prototype.handleEvent):
1779
1780 2013-10-10  Brian J. Burg  <burg@cs.washington.edu>
1781
1782         Web Inspector: content views and managers should save/restore view state.
1783         https://bugs.webkit.org/show_bug.cgi?id=122546
1784
1785         To restore the same content view and sidebars when re-opening the
1786         inspector, a cookie is saved whenever a new content view is shown
1787         in the main content browser. Previously, this cookie was created
1788         and restored using navigation sidebar-specific logic. This has two
1789         major flaws: non-default sidebars for a represented object are not
1790         restored correctly; and it centralizes storage of view-specific
1791         state such as subview selections.
1792
1793         This patch adds ContentView methods for saving a key for the
1794         view's represented object, and saving/restoring any view-specific
1795         state as the view is shown. The 'type' field of the cookie
1796         specifies the manager which deserializes the cookie into a
1797         represented object.
1798
1799         Reviewed by Timothy Hatcher.
1800
1801         * UserInterface/ApplicationCacheFrameContentView.js:
1802         (WebInspector.ApplicationCacheFrameContentView):
1803         (WebInspector.ApplicationCacheFrameContentView.prototype.saveToCookie):
1804         (WebInspector.ApplicationCacheFrameContentView.prototype._maybeUpdate):
1805         (WebInspector.ApplicationCacheFrameContentView.prototype._updateStatus):
1806         (WebInspector.ApplicationCacheFrameContentView.prototype.updateStatus):
1807         (WebInspector.ApplicationCacheFrameContentView.prototype._updateCallback):
1808         * UserInterface/ApplicationCacheManager.js:
1809         (WebInspector.ApplicationCacheManager.prototype.networkStateUpdated):
1810         (WebInspector.ApplicationCacheManager.prototype.applicationCacheStatusUpdated):
1811         (WebInspector.ApplicationCacheManager.prototype.):
1812         (WebInspector.ApplicationCacheManager.prototype.requestApplicationCache):
1813         (WebInspector.ApplicationCacheManager.prototype.objectForCookie):
1814         (WebInspector.ApplicationCacheManager.prototype._manifestForFrameLoaded):
1815         (WebInspector.ApplicationCacheManager.prototype._framesWithManifestsLoaded):
1816         (WebInspector.ApplicationCacheManager.prototype._frameManifestUpdated):
1817         * UserInterface/BackForwardEntry.js:
1818         (WebInspector.BackForwardEntry):
1819         (WebInspector.BackForwardEntry.prototype._restoreFromCookie):
1820         * UserInterface/ContentBrowser.js:
1821         (WebInspector.ContentBrowser.prototype.showContentViewForRepresentedObject):
1822         (WebInspector.ContentBrowser.prototype.showContentView):
1823         * UserInterface/ContentView.js:
1824         (WebInspector.ContentView.prototype.saveToCookie):
1825         (WebInspector.ContentView.prototype.restoreFromCookie):
1826         * UserInterface/ContentViewContainer.js:
1827         (WebInspector.ContentViewContainer.prototype.showContentView):
1828         * UserInterface/CookieStorageContentView.js:
1829         (WebInspector.CookieStorageContentView.prototype.update):
1830         (WebInspector.CookieStorageContentView.prototype.saveToCookie):
1831         (WebInspector.CookieStorageContentView.prototype._rebuildTable):
1832         (WebInspector.CookieStorageContentView.prototype._filterCookies):
1833         * UserInterface/DOMStorageContentView.js:
1834         (WebInspector.DOMStorageContentView.prototype.saveToCookie):
1835         * UserInterface/DatabaseContentView.js:
1836         (WebInspector.DatabaseContentView.prototype.saveToCookie):
1837         (WebInspector.DatabaseContentView.prototype._messagesClicked):
1838         * UserInterface/DatabaseTableContentView.js:
1839         (WebInspector.DatabaseTableContentView):
1840         (WebInspector.DatabaseTableContentView.prototype.saveToCookie):
1841         * UserInterface/FrameContentView.js:
1842         (WebInspector.FrameContentView.prototype.saveToCookie):
1843         (WebInspector.FrameContentView.prototype.restoreFromCookie):
1844         * UserInterface/FrameResourceManager.js:
1845         (WebInspector.FrameResourceManager.prototype.objectForCookie):
1846         * UserInterface/InstrumentSidebarPanel.js:
1847         (WebInspector.InstrumentSidebarPanel):
1848         (WebInspector.InstrumentSidebarPanel.prototype.showTimeline):
1849         (WebInspector.InstrumentSidebarPanel.prototype.shown):
1850         (WebInspector.InstrumentSidebarPanel.prototype._timelinesTreeElementSelected):
1851         * UserInterface/Main.js:
1852         (WebInspector.loaded):
1853         (WebInspector.contentLoaded):
1854         (WebInspector.openURL):
1855         (WebInspector._updateCurrentContentViewCookie):
1856         (WebInspector._showContentViewForCookie.lastAttemptToRestoreFromCookie):
1857         (WebInspector._showContentViewForCookie):
1858         (WebInspector._resolveAndShowPendingContentViewCookie.delayedWork):
1859         (WebInspector._resolveAndShowPendingContentViewCookie):
1860         (WebInspector.elementDragStart):
1861         (WebInspector.elementDragEnd):
1862         (WebInspector.createMessageTextView):
1863         (WebInspector.linkifyStringAsFragment):
1864         * UserInterface/NavigationSidebarPanel.js:
1865         * UserInterface/ResourceClusterContentView.js:
1866         (WebInspector.ResourceClusterContentView.prototype.saveToCookie):
1867         (WebInspector.ResourceClusterContentView.prototype.restoreFromCookie):
1868         * UserInterface/ResourceSidebarPanel.js:
1869         (WebInspector.ResourceSidebarPanel.prototype.showSourceCode):
1870         (WebInspector.ResourceSidebarPanel.prototype._mainFrameDidChange):
1871         (WebInspector.ResourceSidebarPanel.prototype._domStorageObjectWasAdded):
1872         (WebInspector.ResourceSidebarPanel.prototype._databaseWasAdded):
1873         (WebInspector.ResourceSidebarPanel.prototype._cookieStorageObjectWasAdded):
1874         (WebInspector.ResourceSidebarPanel.prototype._frameManifestAdded):
1875         * UserInterface/ScriptContentView.js:
1876         (WebInspector.ScriptContentView.prototype.saveToCookie):
1877         (WebInspector.ScriptContentView.prototype.restoreFromCookie):
1878         * UserInterface/StorageManager.js:
1879         (WebInspector.StorageManager.prototype.findMatchingObjectInArray):
1880         (WebInspector.StorageManager.prototype.objectForCookie):
1881         * UserInterface/TimelineManager.js:
1882         (WebInspector.TimelineManager):
1883         (WebInspector.TimelineManager.prototype.get timelines):
1884         (WebInspector.TimelineManager.prototype.objectForCookie):
1885         * UserInterface/TimelinesContentView.js:
1886         (WebInspector.TimelinesContentView.prototype.saveToCookie):
1887         (WebInspector.TimelinesContentView.prototype.restoreFromCookie):
1888         (WebInspector.TimelinesContentView.prototype._makeColumnScopeBar):
1889
1890 2013-10-10  Mark Rowe  <mrowe@apple.com>
1891
1892         <rdar://problem/13341666> WebKit should always build against an SDK.
1893
1894         Have all projects default to building against the OS X Internal SDK for the Production
1895         configuration. For the Debug and Release configurations, look for UseInternalSDK.xcconfig
1896         to determine whether the OS X Internal SDK should be used. If not, use the normal OS X SDK.
1897
1898         Reviewed by Dan Bernstein.
1899
1900         * Configurations/Base.xcconfig:
1901         * Configurations/DebugRelease.xcconfig:
1902
1903 2013-10-04  Antoine Quint  <graouts@apple.com>
1904
1905         Web Inspector: pressing the Cmd key over a CSS property should underline it immediately (jump to definition mode)
1906         https://bugs.webkit.org/show_bug.cgi?id=119012
1907
1908         Reviewed by Joseph Pecoraro.
1909
1910         We add an "enabled" state to the tokenTrackingController to indicate that we're interested
1911         in tracking hovered tokens. The tokenTrackingController is now only enabled in the
1912         CSSStyleDeclarationTextEditor when the Cmd key is pressed and in the SourceCodeTextEditor
1913         when either the Cmd key is pressed (NonSymbolTokens mode) or when the debugger is paused
1914         (JavaScriptExpression mode).
1915         
1916         The tokenTrackingController is now smarter about how it tracks mouse events when it's enabled,
1917         tracking "mouseenter" and "mouseleave" events to enable tracking allowing immediate detection of
1918         tokens being hovered or no longer being hovered even with quick mouse movements. Additioanlly,
1919         using the new top-level mouse coordinates tracking, we can detect a hovered token as soon as
1920         it's being enabled to provide instant feedback to the user.
1921
1922         This new top-level mouse coordinates tracking couple with tracking of modifier keys also fixes
1923         http://webkit.org/b/119011.
1924
1925         * UserInterface/CSSStyleDeclarationTextEditor.js:
1926         (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateJumpToSymbolTrackingMode):
1927         Highlight the last known hovered candidate's range as soon as the Cmd key is pressed and enable
1928         the tokenTrackingController if we're dealing with a non-read-only editor. When the Cmd key is
1929         released, disable the tokenTrackingController.
1930
1931         * UserInterface/CodeMirrorTokenTrackingController.js:
1932         (WebInspector.CodeMirrorTokenTrackingController):
1933         (WebInspector.CodeMirrorTokenTrackingController.prototype.get enabled):
1934         (WebInspector.CodeMirrorTokenTrackingController.prototype.set enabled):
1935         New enabled state for the tokenTrackingController which indicates whether it should be tracking
1936         mouse events to track hovered tokens in the editor. Upon being enabled, the tokenTrackingController
1937         looks up the mouse coordinates continuously tracked at the window level to check for a token
1938         at the last known mouse coordinates in case we're already over a token that may be highlighted.
1939
1940         (WebInspector.CodeMirrorTokenTrackingController.prototype.highlightLastHoveredRange):
1941         New public method allowing to highlight the last know candidate range, if any. This is used from
1942         editor code when the Cmd key is pressed and we want to force the last know candidate to be
1943         highlighted.
1944
1945         (WebInspector.CodeMirrorTokenTrackingController.prototype._startTracking):
1946         (WebInspector.CodeMirrorTokenTrackingController.prototype._stopTracking):
1947         Make these two methods private now that they're automatically called by the "mouseenter" and
1948         "mouseleave" event handling when we're in the "enabled" state. Additionally, the public
1949         "tracking" property has been removed since it is no longer useful to the developer.
1950
1951         (WebInspector.CodeMirrorTokenTrackingController.prototype.handleEvent):
1952         (WebInspector.CodeMirrorTokenTrackingController.prototype._mouseEntered):
1953         (WebInspector.CodeMirrorTokenTrackingController.prototype._mouseLeft):
1954         New handlers for the "mouseenter" and "mouseleave" events enabling tracking of hovered tokens.
1955
1956         (WebInspector.CodeMirrorTokenTrackingController.prototype._mouseMovedOverEditor):
1957         (WebInspector.CodeMirrorTokenTrackingController.prototype._updateHoveredTokenInfo):
1958         Refactor _mouseMovedOverEditor() into two methods with the new _updateHoveredTokenInfo()
1959         allowing to customize the mouse coordinates to be used since we may call
1960         _updateHoveredTokenInfo() outside of the context of a mouse event (ie. a keypress event).
1961
1962         (WebInspector.CodeMirrorTokenTrackingController.prototype._windowLostFocus):
1963         (WebInspector.CodeMirrorTokenTrackingController.prototype._resetTrackingStates):
1964         New private method combining all the various states that need to be reset when tracking
1965         is turned off, including the removal of the highlighted range if any. This is now called
1966         when the window loses focus.
1967
1968         * UserInterface/Main.js:
1969         (WebInspector.loaded):
1970         (WebInspector._mouseMoved):
1971         Add a new window-level "mousemove" event handler to always track mouse coordinates and key modifier
1972         states. This ensures that we may have the most accurate information possible for key modifiers and
1973         allow code to query the last recorded mouse position in situations where it wouldn't be possible
1974         to have dealt with a mouse event, as is the case when the tokenTrackingController just started tracking.
1975
1976         * UserInterface/SourceCodeTextEditor.js:
1977         (WebInspector.SourceCodeTextEditor.prototype._updateTokenTrackingControllerEnabled):
1978         (WebInspector.SourceCodeTextEditor.prototype._debuggerDidPause):
1979         (WebInspector.SourceCodeTextEditor.prototype._debuggerDidResume):
1980         (WebInspector.SourceCodeTextEditor.prototype._enableJumpToSymbolTrackingModeSettings):
1981         (WebInspector.SourceCodeTextEditor.prototype._disableJumpToSymbolTrackingModeSettings):
1982         Update the "enabled" state on the tokenTrackingController when it may have changed based
1983         on those two conditions: we should have either an active debugger call frame or the
1984         Cmd key should have been pressed. This ensures we only track hovered tokens as needed.
1985
1986         (WebInspector.SourceCodeTextEditor.prototype._updateJumpToSymbolTrackingMode):
1987         Highlight the last known hovered candidate's range as soon as the Cmd key is pressed.
1988
1989 2013-10-02  Brian J. Burg  <burg@cs.washington.edu>
1990
1991         Web Inspector: save and restore source positions in back/forward history
1992         https://bugs.webkit.org/show_bug.cgi?id=122062
1993
1994         Reviewed by Timothy Hatcher.
1995
1996         Previously, the back/forward entries comprised of only the content
1997         views, but not their positions if navigated via hyperlink (i.e.,
1998         handling script.js:42).  When multiple instances of the same
1999         content view appeared in the back/forward list, the most recent
2000         navigation was displayed rather than the linked position.
2001
2002         We now store context necessary to re-navigate such hyperlinks by
2003         storing view- specific data inside a cookie object, and invoke a
2004         supplied callback to take any position initialization actions,
2005         such as calling TextEditor.revealPosition.  This state is
2006         encapsulated into BackForwardEntry instances.
2007
2008         Functions that save and restore scroll positions inside content
2009         views have been changed to store state in BackForwardEntry
2010         instances, so multiple scroll positions can be saved for a content
2011         view appearing in the navigation history more than once.
2012
2013         * UserInterface/BackForwardEntry.js: Added.
2014         (WebInspector.BackForwardEntry):
2015         (WebInspector.BackForwardEntry.prototype.get contentView):
2016         (WebInspector.BackForwardEntry.prototype.get cookie):
2017         (WebInspector.BackForwardEntry.prototype.prepareToShow):
2018         (WebInspector.BackForwardEntry.prototype.prepareToHide):
2019         (WebInspector.BackForwardEntry.prototype._restoreFromCookie):
2020         (WebInspector.BackForwardEntry.prototype._restoreScrollPositions):
2021         (WebInspector.BackForwardEntry.prototype._saveScrollPositions):
2022         * UserInterface/ContentBrowser.js:
2023         (WebInspector.ContentBrowser.prototype.showContentView):
2024         (WebInspector.ContentBrowser.prototype._updateContentViewNavigationItems):
2025         (WebInspector.ContentBrowser.prototype._updateFindBanner):
2026         * UserInterface/ContentViewContainer.js:
2027         (WebInspector.ContentViewContainer.prototype.get currentContentView):
2028         (WebInspector.ContentViewContainer.prototype.get currentBackForwardEntry):
2029         (WebInspector.ContentViewContainer.prototype.showContentView):
2030         (WebInspector.ContentViewContainer.prototype.showBackForwardEntryForIndex):
2031         (WebInspector.ContentViewContainer.prototype.replaceContentView):
2032         (WebInspector.ContentViewContainer.prototype.closeAllContentViewsOfPrototype):
2033         (WebInspector.ContentViewContainer.prototype.closeAllContentViews):
2034         (WebInspector.ContentViewContainer.prototype.goBack):
2035         (WebInspector.ContentViewContainer.prototype.goForward):
2036         (WebInspector.ContentViewContainer.prototype.shown):
2037         (WebInspector.ContentViewContainer.prototype.hidden):
2038         (WebInspector.ContentViewContainer.prototype._showEntry):
2039         (WebInspector.ContentViewContainer.prototype._hideEntry):
2040         * UserInterface/Main.html:
2041         * UserInterface/Main.js:
2042         (WebInspector.openURL):
2043         * UserInterface/ResourceSidebarPanel.js:
2044         (WebInspector.ResourceSidebarPanel.prototype.restoreCallback):
2045         (WebInspector.ResourceSidebarPanel.prototype.showSourceCode):
2046
2047 2013-10-02  Antoine Quint  <graouts@apple.com>
2048
2049         Web Inspector: highlight newly added console messages in the Activity Viewer
2050         https://bugs.webkit.org/show_bug.cgi?id=122093
2051
2052         Reviewed by Joseph Pecoraro.
2053
2054         Fade the appropriate console log button in the Activity Viewer for a short duration
2055         to call attention to it when its count is incremented. The animation may be restarted
2056         in-flight if the count is incremented as we were pulsing the opacity.
2057
2058         * UserInterface/DashboardView.css:
2059         (.toolbar .dashboard > .item.pulsing):
2060         (@-webkit-keyframes console-item-pulse):
2061         New pulse animation for a console item in the Activity Viewer, the new "pulsing" CSS
2062         class is applied in WebInspector.DashboardView.prototype._setConsoleItemValue().
2063
2064         * UserInterface/DashboardView.js:
2065         (WebInspector.DashboardView.prototype.set logs):
2066         (WebInspector.DashboardView.prototype.set issues):
2067         (WebInspector.DashboardView.prototype.set errors):
2068         Refactor setters to use the new WebInspector.DashboardView.prototype._setConsoleItemValue()
2069         method.
2070
2071         (WebInspector.DashboardView.prototype._setConsoleItemValue):
2072         We now set the ivar backing console item values in this new refactored method and additionally
2073         apply an animation to the DOM element for the given item if its value is incremented such that
2074         it pulses, subtly calling out the developer's attention to it.
2075
2076         * UserInterface/Utilities.js:
2077         New Element.prototype.recalculateStyles() method to abstract the hack required to force
2078         a style recalc on a given element.
2079
2080 2013-10-01  Antoine Quint  <graouts@apple.com>
2081
2082         Web Inspector: evaluate and show a popover for selected text in JS source when paused
2083         https://bugs.webkit.org/show_bug.cgi?id=122151
2084
2085         Reviewed by Joseph Pecoraro.
2086
2087         Identify if the hovered token is contained within the text selection (if any) and use
2088         the selection as the hovered expression to allow the user to select text and hover it
2089         to see what it evaluates to.
2090
2091         * UserInterface/CodeMirrorTokenTrackingController.js:
2092         (WebInspector.CodeMirrorTokenTrackingController.prototype.highlightRange):
2093         Check we're trying to highlight a different range before removing the highlight
2094         and applying the new one, this prevents the marked text from flashing if it's
2095         being re-hovered which would easily happen when hovering multiple tokens within
2096         the same selection.
2097
2098         (WebInspector.CodeMirrorTokenTrackingController.prototype._processJavaScriptExpression):
2099         In the case where there is selected text, check whether the hovered token is at least
2100         partially contained within the selection, and if so use the selection text as the
2101         hovered expression to evaluate.
2102
2103 2013-10-01  Antoine Quint  <graouts@apple.com>
2104
2105         Console buttons don’t show after page reload
2106         https://bugs.webkit.org/show_bug.cgi?id=116515
2107
2108         Reviewed by Darin Adler.
2109
2110         The correct display of navigation items in the ContentBrowser is contingent on
2111         the ContentViewContainer's _backForwardList being up-to-date when the navigation
2112         items are retrieved from it. However, when the main resource changes (in this case
2113         the user refreshes the browser), calls are made to ContentViewContainer's
2114         closeAllContentViewsOfPrototype() which may modify the _backForwardList but doesn't
2115         necessarily notify of a change to the currentContentView since we may be still showing
2116         the same view in case it wasn't directly related to the main resource, for instance
2117         the console log.
2118
2119         We now check if the _backForwardList is changed as a result of calling
2120         closeAllContentViewsOfPrototype() and in that case also dispatch the
2121         CurrentContentViewDidChange event which will restore the correct state
2122         for the back/forward buttons and navigation items of the navigation bar.
2123
2124         * UserInterface/ContentViewContainer.js:
2125         (WebInspector.ContentViewContainer.prototype.closeAllContentViewsOfPrototype):
2126         Track changes to the _backForwardList and dispatch the CurrentContentViewDidChange
2127         event in case such changes happened.
2128
2129 2013-09-30  Antoine Quint  <graouts@apple.com>
2130
2131         Web Inspector: rows in the Layer sidebar panel may have the incorrect background color
2132         https://bugs.webkit.org/show_bug.cgi?id=122108
2133
2134         Reviewed by Darin Adler.
2135
2136         The LayerTreeDataGrid is a custom DataGrid subclass which exposes a .setChildren() method
2137         used to sort chidren without DOM order manipulation, for performance reason. However, since
2138         the way the alternating background color is usually implemented is based on the built-in
2139         CSS pseudo-classes working with DOM order, the background colors of nodes in the LayerTreeDataGrid
2140         can be incorrect depending on the sort order and the number of nodes. To fix this, we now manually
2141         set "even" and "odd" CSS classes on those nodes when they're sorted such that we have a chance
2142         to style them as intended.
2143
2144         * UserInterface/LayerTreeDataGrid.js:
2145         (WebInspector.LayerTreeDataGrid.prototype._updateChildren):
2146         Check if the data grid node index is even or odd and reflect this via an exclusive "even"
2147         or "odd" CSS class name.
2148
2149         * UserInterface/LayerTreeSidebarPanel.css:
2150         (.layer-tree.panel .data-container tbody > tr.even):
2151         (.layer-tree.panel .data-container tbody > tr.odd):
2152         Apply alternating colors based on the exclusive "even" and "odd" CSS class names as applied in
2153         WebInspector.LayerTreeDataGrid.prototype._updateChildren().
2154
2155 2013-09-30  Antoine Quint  <graouts@apple.com>
2156
2157         Web Inspector: Popover displaying "reasons for compositing" may remain on screen after selected layer is removed
2158         https://bugs.webkit.org/show_bug.cgi?id=117575
2159
2160         Ensure the popover attached to the selected data grid node is updated when the
2161         content or sort order of the Layer sidebar panel is updated.
2162
2163         Reviewed by Darin Adler.
2164
2165         * UserInterface/LayerTreeSidebarPanel.js:
2166         (WebInspector.LayerTreeSidebarPanel.prototype._sortDataGrid):
2167
2168 2013-09-30  Antoine Quint  <graouts@apple.com>
2169
2170         Web Inspector: nodes can be dragged from the console log
2171         https://bugs.webkit.org/show_bug.cgi?id=122105
2172
2173         Reviewed by Darin Adler.
2174
2175         Catch "dragstart" events targeting nodes hosted in a DOMTreeOutline within the console
2176         log view and prevent the default logic to trigger so that these nodes can't be dragged
2177         off the console as it wouldn't make sense to.
2178
2179         * UserInterface/DOMTreeOutline.js:
2180         (WebInspector.DOMTreeOutline):
2181         Create a class property to allow the CSS class name to be used in WebInspector.LogContentView.
2182
2183         * UserInterface/LogContentView.js:
2184         (WebInspector.LogContentView):
2185         (WebInspector.LogContentView.prototype._ondragstart):
2186         Track the "dragstart" events in their capture phase such that, if the event target is
2187         a DOM node hosted in a DOMTreeOutline, we can prevent the event from propagating and
2188         cancel its default behavior such that no dragging at all is performed.
2189
2190 2013-09-26  Brian J. Burg  <burg@cs.washington.edu>
2191
2192         Web Inspector: dissociate old content views that are spliced from back/forward list
2193         https://bugs.webkit.org/show_bug.cgi?id=121987
2194
2195         Reviewed by Timothy Hatcher.
2196
2197         There was a bug where old back/forward list entries were not being dissociated when
2198         the newly-shown content view was already in the list. Instead, dissociation should be
2199         skipped if the old list entry is not already in the list.
2200
2201         * UserInterface/ContentViewContainer.js:
2202         (WebInspector.ContentViewContainer.prototype.showContentView):
2203
2204 2013-09-26  Antoine Quint  <graouts@apple.com>
2205
2206         Web Inspector: Activity viewer not properly reset when reloading
2207         https://bugs.webkit.org/show_bug.cgi?id=121958
2208
2209         Reviewed by Darin Adler.
2210
2211         Reset the resources count and accumulated size when we detect the main frame
2212         has changed, which will work with documents where there are no resources besides
2213         frames in which case WebInspector.Frame.Event.AllResourcesRemoved was not fired
2214         and our counts wouldn't be reset correctly.
2215
2216         * UserInterface/DashboardManager.js:
2217         (WebInspector.DashboardManager):
2218         (WebInspector.DashboardManager.prototype._mainResourceDidChange):
2219
2220 2013-09-26  Antoine Quint  <graouts@apple.com>
2221
2222         Web Inspector: Keep DOM tree expanded on page reload
2223         https://bugs.webkit.org/show_bug.cgi?id=121665
2224
2225         Reviewed by Darin Adler.
2226
2227         Allow the node that was selected before reloading the page to be selected
2228         at the page is reloaded. Credit goes to Joseph Pecoraro for the fix.
2229
2230         * UserInterface/DOMTreeContentView.js:
2231         (WebInspector.DOMTreeContentView.prototype._rootDOMNodeAvailable.selectNode):
2232
2233 2013-09-24  Joseph Pecoraro  <pecoraro@apple.com>
2234
2235         Web Inspector: Using Breakpoint Actions Breaks iOS inspection
2236         https://bugs.webkit.org/show_bug.cgi?id=121862
2237
2238         Reviewed by Timothy Hatcher.
2239
2240         Only use DebuggerAgent.BreakpointActionType if it is available.
2241         Otherwise leave options undefined for breakpoints since the backend
2242         does not support it.
2243
2244         * UserInterface/DebuggerManager.js:
2245         (WebInspector.DebuggerManager.prototype._setBreakpoint):
2246
2247 2013-09-24  Joseph Pecoraro  <pecoraro@apple.com>
2248
2249         Web Inspector: Include iOS 7 Inspector.json Version
2250         https://bugs.webkit.org/show_bug.cgi?id=121852
2251
2252         Reviewed by Timothy Hatcher.
2253
2254         * UserInterface/Legacy/7.0/InspectorBackendCommands.js: Added.
2255         * Versions/Inspector-iOS-7.0.json: Added.
2256
2257 2013-09-24  Mark Rowe  <mrowe@apple.com>
2258
2259         <rdar://problem/14971518> WebKit should build against the Xcode default toolchain when targeting OS X 10.8
2260
2261         Reviewed by Dan Bernstein.
2262
2263         * Configurations/Base.xcconfig:
2264
2265 2013-09-24  Joseph Pecoraro  <pecoraro@apple.com>
2266
2267         Web Inspector: Breakpoint Actions input should disable spellchecking
2268         https://bugs.webkit.org/show_bug.cgi?id=121846
2269
2270         Reviewed by Timothy Hatcher.
2271
2272         * UserInterface/BreakpointActionView.js:
2273
2274 2013-09-21  Timothy Hatcher  <timothy@apple.com>
2275
2276         Hook up the initiator info and show it in the Resource details sidebar.
2277
2278         https://bugs.webkit.org/show_bug.cgi?id=121741
2279
2280         Reviewed by Joseph Pecoraro.
2281
2282         * UserInterface/FrameResourceManager.js:
2283         (WebInspector.FrameResourceManager.prototype.resourceRequestWillBeSent):
2284         (WebInspector.FrameResourceManager.prototype.resourceRequestWasServedFromMemoryCache):
2285         (WebInspector.FrameResourceManager.prototype._addNewResourceToFrame):
2286         (WebInspector.FrameResourceManager.prototype._initiatorSourceCodeLocationFromPayload):
2287         * UserInterface/NetworkObserver.js:
2288         (WebInspector.NetworkObserver.prototype.requestWillBeSent):
2289         (WebInspector.NetworkObserver.prototype.requestServedFromMemoryCache):
2290         * UserInterface/Resource.js:
2291         (WebInspector.Resource):
2292         (WebInspector.Resource.prototype.get initiatorSourceCodeLocation):
2293         * UserInterface/ResourceDetailsSidebarPanel.js:
2294         (WebInspector.ResourceDetailsSidebarPanel):
2295         (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshURL):
2296
2297 2013-09-20  Timothy Hatcher  <timothy@apple.com>
2298
2299         Parse MIME-types and strip them down to the base type when needed.
2300
2301         The use of charset in a MIME-type interferes with our type maps,
2302         preventing the right syntax highlighting mode and pretty printing.
2303
2304         https://bugs.webkit.org/show_bug.cgi?id=121723
2305
2306         Reviewed by Joseph Pecoraro.
2307
2308         * UserInterface/ConsolePrompt.js:
2309         (WebInspector.ConsolePrompt):
2310         * UserInterface/FontResourceContentView.js:
2311         * UserInterface/Resource.js:
2312         (WebInspector.Resource.Type.fromMIMEType):
2313         (WebInspector.Resource.prototype.get mimeTypeComponents):
2314         (WebInspector.Resource.prototype.get syntheticMIMEType):
2315         (WebInspector.Resource.prototype.get contentURL):
2316         (WebInspector.Resource.prototype.updateForResponse):
2317         * UserInterface/ResourceDetailsSidebarPanel.js:
2318         (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshRequestDataSection):
2319         * UserInterface/SourceMapResource.js:
2320         (WebInspector.SourceMapResource.prototype.requestContentFromBackend):
2321         * UserInterface/SyntaxHighlightingSupport.js:
2322         (WebInspector.syntaxHighlightStringAsDocumentFragment):
2323         * UserInterface/TextEditor.js:
2324         (WebInspector.TextEditor.prototype.set mimeType):
2325         * UserInterface/Utilities.js:
2326         (parseMIMEType): Added.
2327
2328 2013-09-20  Marcelo Morais  <m.morais@samsung.com>
2329
2330         Web Inspector: Fix keyboard shortcuts for other platforms
2331         https://bugs.webkit.org/show_bug.cgi?id=120657
2332
2333         Reviewed by Timothy Hatcher.
2334
2335         Handling keyboard shortcuts according to the current platform.
2336
2337         * UserInterface/InspectorFrontendHostStub.js:
2338         (.WebInspector.InspectorFrontendHostStub.prototype.loadResourceSynchronously):
2339         (.WebInspector.InspectorFrontendHostStub.prototype.platform): Added. Return the
2340         current platform.
2341         * UserInterface/KeyboardShortcut.js:
2342         (WebInspector.KeyboardShortcut.Modifier.get CommandOrControl): Added. Created keyboard
2343         modifier to return Control or Command key according to current platform.
2344         * UserInterface/ContentBrowser.js:
2345         (WebInspector.ContentBrowser): Returning Control or Command key for keyboard
2346         shortcuts according to current platform.
2347         * UserInterface/DebuggerSidebarPanel.js:
2348         (WebInspector.DebuggerSidebarPanel): Ditto.
2349         * UserInterface/FindBanner.js:
2350         (WebInspector.FindBanner): Ditto.
2351         * UserInterface/JavaScriptLogViewController.js:
2352         (WebInspector.JavaScriptLogViewController): Ditto.
2353         * UserInterface/LogContentView.js:
2354         (WebInspector.LogContentView): Ditto.
2355         * UserInterface/Main.js:
2356         (WebInspector.contentLoaded): Ditto.
2357         * UserInterface/ResourceSidebarPanel.js:
2358         (WebInspector.ResourceSidebarPanel): Ditto.
2359
2360 2013-09-20  Brent Fulgham  <bfulgham@apple.com>
2361
2362         [Windows] Unreviewed gardening. Teach WebInspectorUI.vcxproj folder to
2363         ignore Visual Studio's local user settings file.
2364
2365         * WebInspectorUI.vcxproj: Added property svn:ignore.
2366
2367 2013-09-17  Gustavo Noronha Silva  <gns@gnome.org>
2368
2369         [GTK] Cannot find WebInspectorUI/UserInterface/Main.html referenced in GResourceBundle.xml
2370         https://bugs.webkit.org/show_bug.cgi?id=121405
2371
2372         Reviewed by Carlos Garcia Campos.
2373
2374         * GNUmakefile.am: if srcdir == builddir the WebInspectorUI variable that is used both to list
2375         the dependencies of the GResourceBundle and to normalize the paths added to the XML through sed
2376         replacement will end up starting with ./, which would be fine if automake did not remove that
2377         from the paths in the target's dependency. We deal with that by normalizing the path we use to
2378         take that quirk into account.
2379
2380 2013-09-17  Timothy Hatcher  <timothy@apple.com>
2381
2382         Clean up the Inspector's WebSocket code and prevent it from dropping messages.
2383
2384         https://bugs.webkit.org/show_bug.cgi?id=121391
2385
2386         Reviewed by Joseph Pecoraro.
2387
2388         * UserInterface/InspectorFrontendHostStub.js:
2389         (.WebInspector.InspectorFrontendHostStub.prototype.initializeWebSocket): Added. Create the socket
2390         and call _sendPendingMessagesToBackendIfNeeded.
2391         (.WebInspector.InspectorFrontendHostStub.prototype.sendMessageToBackend): Store messages as pending
2392         if the socket isn't ready yet. Call _sendPendingMessagesToBackendIfNeeded.
2393         (.WebInspector.InspectorFrontendHostStub.prototype._sendPendingMessagesToBackendIfNeeded): Added.
2394         * UserInterface/Main.js:
2395         (WebInspector._initializeWebSocketIfNeeded): Move socket creation to initializeWebSocket.
2396
2397 2013-09-16  Timothy Hatcher  <timothy@apple.com>
2398
2399         Make InspectorTimelineAgent use an enum for the record type instead of a string.
2400
2401         https://bugs.webkit.org/show_bug.cgi?id=121461
2402
2403         Reviewed by Joseph Pecoraro.
2404
2405         * UserInterface/InspectorBackendCommands.js:
2406         * UserInterface/Legacy/6.0/InspectorBackendCommands.js:
2407         * UserInterface/TimelineManager.js:
2408         (WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
2409         (WebInspector.TimelineManager.prototype.eventRecorded):
2410         * Versions/Inspector-iOS-6.0.json:
2411
2412 2013-09-16  Joseph Pecoraro  <pecoraro@apple.com>
2413
2414         Web Inspector: TypeError when updating ResourceTreeElement created in strange order
2415         https://bugs.webkit.org/show_bug.cgi?id=121382
2416
2417         Reviewed by Timothy Hatcher.
2418
2419         Patch by Brian Burg. Fix an uncaught exception that can happen on navigations.
2420
2421         * UserInterface/ResourceTreeElement.js:
2422         (WebInspector.ResourceTreeElement.prototype._updateStatus):
2423
2424 2013-09-16  Timothy Hatcher  <timothy@apple.com>
2425
2426         Make InspectorTypeBuilder generate better enums in C++.
2427
2428         https://bugs.webkit.org/show_bug.cgi?id=121440
2429
2430         Reviewed by Joseph Pecoraro.
2431
2432         * UserInterface/InspectorBackendCommands.js: Updated to make Css be CSS.
2433
2434 2013-09-13  Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
2435
2436         [GTK] Move to the new web inspector
2437         https://bugs.webkit.org/show_bug.cgi?id=120647
2438
2439         Reviewed by Carlos Garcia Campos.
2440
2441         * GNUmakefile.am: Added. Generate the GResource source and link it into libWebCore.
2442
2443 2013-09-12  Joseph Pecoraro  <pecoraro@apple.com>
2444
2445         Web Inspector: Duplicated color swatches changing autocompletes color names
2446         https://bugs.webkit.org/show_bug.cgi?id=121265
2447
2448         Reviewed by Timothy Hatcher.
2449
2450         CodeMirror bookmarks at position used to be unique but no longer are.
2451         Define an extension to give us unique bookmarks as we expected, and
2452         update all the old locations using setBookmark.
2453
2454         * UserInterface/CSSStyleDeclarationTextEditor.js:
2455         (WebInspector.CSSStyleDeclarationTextEditor.prototype.didDismissPopover):
2456         (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers):
2457         (WebInspector.CSSStyleDeclarationTextEditor.prototype.):
2458         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches):
2459         (WebInspector.CSSStyleDeclarationTextEditor.prototype):
2460         (WebInspector.CSSStyleDeclarationTextEditor.prototype.event.newColorText):
2461         * UserInterface/CodeMirrorAdditions.js:
2462
2463 2013-09-12  Joseph Pecoraro  <pecoraro@apple.com>
2464
2465         Web Inspector: Update CodeMirror for gutter fix
2466         https://bugs.webkit.org/show_bug.cgi?id=121262
2467
2468         Update CodeMirror to 757944449 to fix gutter click issue:
2469         <https://github.com/marijnh/CodeMirror/issues/1807>
2470
2471         Reviewed by Timothy Hatcher.
2472
2473         * Tools/PrettyPrinting/CodeMirrorFormatters.js:
2474         * Tools/PrettyPrinting/FormatterContentBuilder.js:
2475         (FormatterContentBuilder.prototype._appendIndent):
2476         * Tools/PrettyPrinting/codemirror.css:
2477         * Tools/PrettyPrinting/codemirror.js:
2478         * Tools/PrettyPrinting/css.js:
2479         * UserInterface/CodeMirrorAdditions.js:
2480         * UserInterface/CodeMirrorFormatters.js:
2481         * UserInterface/DebuggerManager.js:
2482         (WebInspector.DebuggerManager.prototype.didRemoveBreakpoint):
2483         (WebInspector.DebuggerManager.prototype._removeBreakpoint):
2484         * UserInterface/External/CodeMirror/codemirror.css:
2485         * UserInterface/External/CodeMirror/codemirror.js:
2486         * UserInterface/External/CodeMirror/coffeescript.js:
2487         * UserInterface/External/CodeMirror/css.js:
2488         * UserInterface/External/CodeMirror/less.js:
2489         * UserInterface/External/CodeMirror/sql.js:
2490         * UserInterface/TextEditor.js:
2491         (WebInspector.TextEditor.prototype.hasFormatter):
2492
2493 2013-09-12  Joseph Pecoraro  <pecoraro@apple.com>
2494
2495         Web Inspector: Update License copyrights in minified JavaScript
2496         https://bugs.webkit.org/show_bug.cgi?id=121264
2497
2498         Reviewed by Timothy Hatcher.
2499
2500         * Scripts/copy-user-interface-resources.sh:
2501
2502 2013-09-11  Geoffrey Garen  <ggaren@apple.com>
2503
2504         Removed some unused functions from the debugger interface
2505         https://bugs.webkit.org/show_bug.cgi?id=121194
2506
2507         Reviewed by Joseph Pecoraro.
2508
2509         We plan to use the "evaluate" API and debugger activation property access for all the features we need.
2510
2511         * UserInterface/InspectorBackendCommands.js: Updated by script.
2512
2513 2013-09-06  Joseph Pecoraro  <pecoraro@apple.com>
2514
2515         Web Inspector: Download Archive button incorrectly styled when disabled and tree element is not-selected
2516         https://bugs.webkit.org/show_bug.cgi?id=120866
2517
2518         Reviewed by Timothy Hatcher.
2519
2520         * UserInterface/TreeElementStatusButton.css:
2521         (.item > .status > .status-button.disabled > svg *):
2522
2523 2013-09-06  Joseph Pecoraro  <pecoraro@apple.com>
2524
2525         Web Inspector: Lint JavaScript and CSS for minor issues
2526         https://bugs.webkit.org/show_bug.cgi?id=120884
2527
2528         Reviewed by Timothy Hatcher.
2529
2530         JS, caught a bunch of missing semicolons but at least one possible
2531         issue with duplicate object literal keys in CSSKeywordCompletions.
2532
2533         CSS, cause some duplicate properties, an invalid property value,
2534         and some "0px" => "0" cleanup.
2535
2536 2013-09-05  Joseph Pecoraro  <pecoraro@apple.com>
2537
2538         Web Inspector: Breakpoint Action JS Editor has line wrapping issues with long no-space lines
2539         https://bugs.webkit.org/show_bug.cgi?id=120822
2540
2541         Reviewed by Timothy Hatcher.
2542
2543         * UserInterface/BreakpointActionView.css:
2544         (.breakpoint-action-eval-editor > .CodeMirror):
2545         (.breakpoint-action-eval-editor > .CodeMirror-scroll):
2546
2547 2013-09-05  Joseph Pecoraro  <pecoraro@apple.com>
2548
2549         Web Inspector: Edit Breakpoint popover sometimes appears misplaced in top left
2550         https://bugs.webkit.org/show_bug.cgi?id=120804
2551
2552         Reviewed by Timothy Hatcher.
2553
2554         Grab the bounding rect immediately, instead of grabbing it from the element
2555         after the user has selected the "Edit Breakpoint" context menu item. When
2556         the popover was misplaced it was when using an element had been removed or
2557         replaced in the DOM, and caused a bogus bounding client rect.
2558
2559         * UserInterface/Breakpoint.js:
2560         (WebInspector.Breakpoint.prototype.editBreakpoint):
2561         (WebInspector.Breakpoint.prototype._showEditBreakpointPopover):
2562
2563 2013-09-05  Joseph Pecoraro  <pecoraro@apple.com>
2564
2565         Web Inspector: Remove harmless assert, triggered hitting breakpoint in auto prettyprinted code on reload
2566         https://bugs.webkit.org/show_bug.cgi?id=120332
2567
2568         Reviewed by Timothy Hatcher.
2569
2570         * UserInterface/TextEditor.js:
2571
2572 2013-09-05  Joseph Pecoraro  <pecoraro@apple.com>
2573
2574         Web Inspector: Breakpoint Actions
2575         https://bugs.webkit.org/show_bug.cgi?id=120576
2576
2577         Reviewed by Timothy Hatcher.
2578
2579         Give the CodeMirror editor for JavaScript Breakpoint Actions JS Runtime
2580         completions (like window, document, etc.).
2581
2582         The logic was inside of JavaScriptLogViewController but was already
2583         entirely independent. Factor it out into its own class and plug it into
2584         CodeMirrorCompletionController as a "CompletionsProvider".
2585
2586         Because the class hooks into a global event to reset some state, make
2587         it a singleton, so new instances are not leaked.
2588
2589         * UserInterface/Main.html:
2590         * UserInterface/Main.js:
2591         (WebInspector.loaded):
2592         * UserInterface/RuntimeManager.js: Added.
2593         (WebInspector.RuntimeManager):
2594         (WebInspector.RuntimeManager.prototype.evalCallback):
2595         (WebInspector.RuntimeManager.prototype.evaluateInInspectedWindow):
2596         Move eval in window to new RuntimeManager. A slightly cleaner place to this
2597         since it is used both by the console and JS completions provider.
2598
2599         * UserInterface/CodeMirrorCompletionController.js:
2600         (WebInspector.CodeMirrorCompletionController):
2601         (WebInspector.CodeMirrorCompletionController.prototype.setExtendedCompletionProvider):
2602         (WebInspector.CodeMirrorCompletionController.prototype._completeAtCurrentPosition):
2603         Allow a completions provider plugin to completions controller. If one
2604         is available, this supercedes the delegate extend completions path.
2605
2606         * UserInterface/BreakpointActionView.js:
2607         * UserInterface/ConsolePrompt.js:
2608         (WebInspector.ConsolePrompt):
2609         Use the new JS completions provider to get runtime JS completions.
2610         NOTE: ConsolePrompt still needs the delegate path for SQL completions.
2611
2612         * UserInterface/JavaScriptLogViewController.js:
2613         (WebInspector.JavaScriptLogViewController):
2614         (WebInspector.JavaScriptLogViewController.prototype.consolePromptTextCommitted):
2615         * UserInterface/JavaScriptRuntimeCompletionProvider.js: Added.
2616         (WebInspector.JavaScriptRuntimeCompletionProvider):
2617         (get WebInspector.JavaScriptRuntimeCompletionProvider.prototype.):
2618         (get WebInspector.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded):
2619         Move the JS completions code to a new class. No changes needed.
2620
2621 2013-09-05  Joseph Pecoraro  <pecoraro@apple.com>
2622
2623         Web Inspector: Breakpoint Actions
2624         https://bugs.webkit.org/show_bug.cgi?id=120576
2625
2626         Reviewed by Timothy Hatcher.
2627
2628         * UserInterface/Breakpoint.js:
2629         (WebInspector.Breakpoint):
2630         (WebInspector.Breakpoint.prototype.get actions):
2631         (WebInspector.Breakpoint.prototype.get options):
2632         (WebInspector.Breakpoint.prototype.get info):
2633         (WebInspector.Breakpoint.prototype._serializableActions):
2634         Saving, restoring, and serialization.
2635
2636         (WebInspector.Breakpoint.prototype.createAction):
2637         (WebInspector.Breakpoint.prototype.recreateAction):
2638         (WebInspector.Breakpoint.prototype.removeAction):
2639         (WebInspector.Breakpoint.prototype.breakpointActionDidChange):
2640         Modifying _actions ivar.
2641
2642         (WebInspector.Breakpoint.prototype._editBreakpointPopoverContentElement):
2643         (WebInspector.Breakpoint.prototype._popoverActionsCreateAddActionButton):
2644         (WebInspector.Breakpoint.prototype._popoverActionsAddActionButtonClicked):
2645         (WebInspector.Breakpoint.prototype._popoverActionsInsertBreakpointActionView):
2646         (WebInspector.Breakpoint.prototype.breakpointActionViewAppendActionView):
2647         (WebInspector.Breakpoint.prototype.breakpointActionViewRemoveActionView):
2648         (WebInspector.Breakpoint.prototype.breakpointActionViewResized):
2649         Popover UI containing breakpoint action views and converting to and from
2650         having no actions.
2651
2652         (WebInspector.Breakpoint.prototype.willDismissPopover):
2653         Cleanup some ivars when the popover dismisses.
2654
2655         * UserInterface/Breakpoint.css:
2656         (.popover .edit-breakpoint-popover-content.wide):
2657         Wider setting when there are actions in the popover.
2658
2659         (.popover .edit-breakpoint-popover-content > table > tr > th):
2660         Keep the title labels at the top of their section.
2661
2662         * UserInterface/BreakpointAction.js:
2663         (WebInspector.BreakpointAction):
2664         (WebInspector.BreakpointAction.prototype.get breakpoint):
2665         (WebInspector.BreakpointAction.prototype.get type):
2666         (WebInspector.BreakpointAction.prototype.get data):
2667         (WebInspector.BreakpointAction.prototype.set data):
2668         (WebInspector.BreakpointAction.prototype.get info):
2669         Very basic BreakpointAction class. Notifies Breakpoint on data changes.
2670         Type changes are not allowed, instead just create a new BreakpointAction.
2671
2672         * UserInterface/BreakpointActionView.css: Added.
2673         (.breakpoint-action-block-header):
2674         (.breakpoint-action-remove-button):
2675         (.breakpoint-action-remove-button:active):
2676         (.breakpoint-action-append-button):
2677         (.breakpoint-action-block-body):
2678         (.breakpoint-action-block-body > input):
2679         (.breakpoint-action-eval-editor):
2680         (.breakpoint-action-eval-editor > .CodeMirror):
2681         (.breakpoint-action-eval-editor > .CodeMirror-scroll):
2682         * UserInterface/BreakpointActionView.js: Added.
2683         (WebInspector.BreakpointActionView):
2684         (WebInspector.BreakpointActionView.displayStringForType):
2685         (WebInspector.BreakpointActionView.prototype.get action):
2686         (WebInspector.BreakpointActionView.prototype.get element):
2687         (WebInspector.BreakpointActionView.prototype._pickerChanged):
2688         (WebInspector.BreakpointActionView.prototype._appendActionButtonClicked):
2689         (WebInspector.BreakpointActionView.prototype._removeActionButtonClicked):
2690         (WebInspector.BreakpointActionView.prototype._updateBody.switch.break):
2691         (WebInspector.BreakpointActionView.prototype._logInputChanged):
2692         (WebInspector.BreakpointActionView.prototype._codeMirrorBlurred):
2693         (WebInspector.BreakpointActionView.prototype._codeMirrorViewportChanged):
2694         UI and form controls for individual breakpoint actions. The view
2695         wraps a single BreakpointAction, and for any actions that could affect
2696         other views the delegate is notified.
2697
2698         * UserInterface/DebuggerManager.js:
2699         (WebInspector.DebuggerManager):
2700         (WebInspector.DebuggerManager.prototype._debuggerBreakpointActionType):
2701         When sending to the backend, make sure to send protocol enums.
2702
2703         * UserInterface/Popover.js:
2704         (WebInspector.Popover.prototype.update):
2705         Update the popover when content changes.
2706
2707         * UserInterface/Images/BreakpointActionAdd.svg: Added.
2708         * UserInterface/Images/BreakpointActionRemove.svg: Added.
2709         * UserInterface/InspectorBackendCommands.js:
2710         * UserInterface/Main.html:
2711         * Localizations/en.lproj/localizedStrings.js:
2712         Misc. New strings, images, includes.
2713
2714 2013-09-03  Antoine Quint  <graouts@apple.com>
2715
2716         Web Inspector: exceptions triggered from console evaluation do not pause the debugger
2717         https://bugs.webkit.org/show_bug.cgi?id=120460
2718
2719         We used to preclude any debugging from errors stemming from code evaluated in the console
2720         as we would always set the doNotPauseOnExceptionsAndMuteConsole parameter to "false" when
2721         calling JavaScriptLogViewController._evaluateInInspectedWindow(). However, it is desirable
2722         to allow debugging code ran from the console.
2723
2724         We now allow debugging in such a scenario and we filter out call frames coming from the
2725         Web Inspector injected script as well as the call frame for the console prompt such that
2726         we only pause in the debugger in case the exception is in code under the console prompt
2727         and not the console code prompt itself.
2728
2729         Additionally, to prevent stepping out to call frames we may have filtered out, we disable
2730         the "step out" button in cases where there are no further frames in the frontend to go out to.
2731
2732         Reviewed by Timothy Hatcher.
2733
2734         * UserInterface/DebuggerManager.js:
2735         (WebInspector.DebuggerManager.prototype.debuggerDidPause):
2736         Filter out call frames that have a URL coming from Web Inspector injected script by looking
2737         for a URL starting with the "__WebInspector" prefix. If we determine that there are no call
2738         frames left after filtering, we resume code evaluation such that we only pause in the debugger
2739         when the exception is in code evluated under the console prompt.
2740
2741         * UserInterface/DebuggerSidebarPanel.js:
2742         (WebInspector.DebuggerSidebarPanel):
2743         (WebInspector.DebuggerSidebarPanel.prototype._debuggerDidPause):
2744         (WebInspector.DebuggerSidebarPanel.prototype._debuggerActiveCallFrameDidChange):
2745         Monitor any change to the active call frame such that we may tie the state of the
2746         "step out" button to the availability of a call frame to step out to in the filtered
2747         list set on the DebuggerManager.
2748
2749         * UserInterface/JavaScriptLogViewController.js:
2750         (WebInspector.JavaScriptLogViewController.prototype.consolePromptTextCommitted):
2751         Set the doNotPauseOnExceptionsAndMuteConsole to "false" when calling _evaluateInInspectedWindow()
2752         in order to allow pausing on exceptions coming from code evalued in the console. Also, explicitly
2753         set a sourceURL for the script to evaluate such that we may identify its origin when filtering
2754         call frames stemming from inspector code.
2755
2756         * UserInterface/ResourceSidebarPanel.js:
2757         (WebInspector.ResourceSidebarPanel.prototype._scriptWasAdded):
2758         Filter out any script resource starting with the Web Inspector-specific "__WebInspector" prefix
2759         so that injected script does not show up.
2760
2761 2013-08-30  Brent Fulgham  <bfulgham@apple.com>
2762
2763         [Windows] Correct windows build. Get rid of unnecessary pre-build step. We don't build anything
2764         in this project, just copy some files into the WebKit resource folder. This was fooling the
2765         build system into thinking something failed, resulting in a build error.
2766
2767         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj: Remove reference to WebInspectorUIPreBuild.cmd
2768         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
2769         * WebInspectorUI.vcxproj/WebInspectorUIPreBuild.cmd: Removed.
2770
2771 2013-08-30  Brent Fulgham  <bfulgham@apple.com>
2772
2773         [Windows] Build correction after dependency change.
2774
2775         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj: Remove circular dependency on
2776         WebKit, and control this at the solution level. The prior change broke external
2777         builders.
2778
2779 2013-08-30  Brent Fulgham  <bfulgham@apple.com>
2780
2781         [Windows] Unreviewed build gardening.
2782
2783         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj: Adjust build dependencies so
2784         that WebInspectorUI 'builds' after WebKit so that the expected resource directory
2785         structure is always in place.
2786
2787 2013-08-30  Joseph Pecoraro  <pecoraro@apple.com>
2788
2789         Web Inspector: Breakpoints should have Automatically Continue Option
2790         https://bugs.webkit.org/show_bug.cgi?id=120187
2791
2792         Reviewed by Timothy Hatcher.
2793
2794         * Localizations/en.lproj/localizedStrings.js:
2795         * UserInterface/Breakpoint.css:
2796         (#edit-breakpoint-popoover-auto-continue):
2797         Misc. changes for UI.
2798
2799         * UserInterface/Breakpoint.js:
2800         (WebInspector.Breakpoint):
2801         (WebInspector.Breakpoint.prototype.get autoContinue):
2802         (WebInspector.Breakpoint.prototype.set autoContinue):
2803         (WebInspector.Breakpoint.prototype.get options):
2804         (WebInspector.Breakpoint.prototype.get info):
2805         General maintenance of the autoContinue state.
2806
2807         (WebInspector.Breakpoint.prototype._popoverToggleEnabledCheckboxChanged):
2808         (WebInspector.Breakpoint.prototype._popoverToggleAutoContinueCheckboxChanged):
2809         (WebInspector.Breakpoint.prototype._editBreakpointPopoverContentElement):
2810         Edit Breakpoint UI for setting autoContinue state.
2811
2812         * UserInterface/InspectorBackend.js:
2813         (InspectorBackendClass.prototype.registerCommand):
2814         (InspectorBackendClass.prototype._supports):
2815         Extension to check if a BackendCommands method supports a particular param.
2816
2817         * UserInterface/DebuggerManager.js:
2818         (WebInspector.DebuggerManager):
2819         (WebInspector.DebuggerManager.prototype._setBreakpoint):
2820         * UserInterface/InspectorBackendCommands.js:
2821         Change to backend agent calls for the new protocol API.
2822
2823 2013-08-29  Timothy Hatcher  <timothy@apple.com>
2824
2825         Make incrementing and decrementing numbers by 0.1 require the control key, and not near zero numbers.
2826
2827         https://bugs.webkit.org/show_bug.cgi?id=120492
2828         <rdar://problem/13738935> Incrementing and decrementing numbers near zero is annoying compared to earlier releases
2829
2830         Reviewed by Joseph Pecoraro.
2831
2832         * UserInterface/CodeMirrorAdditions.js:
2833         (alterNumber): Remove near zero check.
2834
2835 2013-08-29  Timothy Hatcher  <timothy@apple.com>
2836
2837         Only modify numbers if they are identified by CodeMirror as a number.
2838
2839         https://bugs.webkit.org/show_bug.cgi?id=120484
2840
2841         <rdar://problem/13877085> REGRESSION: Alt-up and Alt-down don't work when cursor is in unit
2842         <rdar://problem/13058697> PARITY: Option-Up arrow in "translate3d" should not modify number to make" translate4d"
2843
2844         Reviewed by Joseph Pecoraro.
2845
2846         * UserInterface/CodeMirrorAdditions.js:
2847         (CodeMirror.prototype.alterNumberInRange): Correctly preserve the selection, even if it differs from
2848         the range passed in.
2849         (alterNumber): Find number tokens and pass those to alterNumberInRange.
2850         (alterNumber.findNumberToken): Added. Helper.
2851
2852 2013-08-29  Timothy Hatcher  <timothy@apple.com>
2853
2854         Make incrementing and decrementing numbers by 0.1 require the control key, and not near zero numbers.
2855
2856         https://bugs.webkit.org/show_bug.cgi?id=120492
2857         <rdar://problem/13738935> Incrementing and decrementing numbers near zero is annoying compared to earlier releases
2858
2859         Reviewed by Joseph Pecoraro.
2860
2861         * UserInterface/CodeMirrorAdditions.js:
2862         (alterNumber): Remove near zero check.
2863
2864 2013-08-29  Joseph Pecoraro  <pecoraro@apple.com>
2865
2866         Web Inspector: Download Web Archive of Inspected Page
2867         https://bugs.webkit.org/show_bug.cgi?id=119774
2868
2869         Reviewed by Timothy Hatcher.
2870
2871         * UserInterface/ContentBrowser.js:
2872         (WebInspector.ContentBrowser.prototype._saveDataToFile):
2873         Allow a custom save handler which will do all the work.
2874
2875         * UserInterface/DOMTreeContentView.js:
2876         (WebInspector.DOMTreeContentView):
2877         (WebInspector.DOMTreeContentView.prototype.get supportsSave):
2878         (WebInspector.DOMTreeContentView.prototype.get saveData.saveHandler):
2879         (WebInspector.DOMTreeContentView.prototype.get saveData):
2880         Allow Save keyboard shortcut to download an archive viewing the DOM Tree.
2881
2882         * UserInterface/ResourceTreeElement.js:
2883         (WebInspector.ResourceTreeElement.prototype._updateStatus):
2884         * UserInterface/FrameTreeElement.js:
2885         (WebInspector.FrameTreeElement):
2886         (WebInspector.FrameTreeElement.prototype.updateStatusForMainFrame):
2887         (WebInspector.FrameTreeElement.prototype._mainResourceDidChange):
2888         (WebInspector.FrameTreeElement.prototype._shouldGroupIntoFolders):
2889         (WebInspector.FrameTreeElement.prototype._reloadPageClicked):
2890         (WebInspector.FrameTreeElement.prototype._downloadButtonClicked):
2891         (WebInspector.FrameTreeElement.prototype._updateDownloadButton):
2892         (WebInspector.FrameTreeElement.prototype._pageArchiveStarted):
2893         (WebInspector.FrameTreeElement.prototype._pageArchiveEnded):
2894         Move handling of main frame TreeElement buttons to FrameTreeElement.
2895         Add a Download button, and enable/disable it appropriately.
2896
2897         * UserInterface/ResourceTreeElement.css:
2898         * UserInterface/TreeElementStatusButton.css: Copied from Source/WebInspectorUI/UserInterface/ResourceTreeElement.css.
2899         (.item > .status > .status-button):
2900         (.item > .status > .status-button > svg *):
2901         (.item.selected > .status > .status-button > svg *):
2902         (.item.selected > .status > .status-button:active > svg *):
2903         (.item > .status > .status-button.disabled > svg *):
2904         (.item.selected > .status > .status-button.disabled > svg *):
2905         * UserInterface/TreeElementStatusButton.js: Added.
2906         (WebInspector.TreeElementStatusButton):
2907         (WebInspector.TreeElementStatusButton.prototype.get element):
2908         (WebInspector.TreeElementStatusButton.prototype.get hidden):
2909         (WebInspector.TreeElementStatusButton.prototype.set hidden):
2910         (WebInspector.TreeElementStatusButton.prototype.get enabled):
2911         (WebInspector.TreeElementStatusButton.prototype.set enabled):
2912         (WebInspector.TreeElementStatusButton.prototype._clicked):
2913         Make buttons in the TreeElement status a generic class to share styling
2914         and handling of the buttons. New "disabled" state with even more
2915         transparent is used when the page is downloading.
2916
2917         * UserInterface/Main.html:
2918         * UserInterface/Main.js:
2919         (WebInspector.archiveMainFrame):
2920         (WebInspector.canArchiveMainFrame):
2921         Generic API for archiving the page and determining if you can archive it.
2922
2923         * UserInterface/InspectorBackendCommands.js:
2924         * UserInterface/InspectorFrontendHostStub.js:
2925         (.WebInspector.InspectorFrontendHostStub.prototype.save):
2926         * UserInterface/Images/DownloadArrow.svg: Added.
2927         * Localizations/en.lproj/localizedStrings.js:
2928         Misc. updates and new files.
2929
2930 2013-08-28  Joseph Pecoraro  <pecoraro@apple.com>
2931
2932         Web Inspector: Give reload icon an :active state and allow CSS to style some SVG images
2933         https://bugs.webkit.org/show_bug.cgi?id=120384
2934
2935         Reviewed by Timothy Hatcher.
2936
2937         The Reload icon is duplicated just to provide different fill colors.
2938         Convert from using <img> to an <svg> document for this image, and style
2939         it with CSS. This also makes it trivial to add an :active state.
2940
2941         * UserInterface/ImageUtilities.js:
2942         (.invokeCallbackWithDocument):
2943         (.imageLoad):
2944         (.imageError):
2945         (wrappedSVGDocument):
2946         Helpers for downloading and in memory caching SVG images.
2947
2948         * UserInterface/Images/Reload.svg:
2949         * UserInterface/Images/ReloadSelected.svg: Removed.
2950         Updated Reload image better matches the original design (slightly
2951         larger). And the duplicate image can be removed.
2952
2953         * UserInterface/ResourceTreeElement.css:
2954         (.item.resource > .status > .reload-button):
2955         (.item.resource > .status > .reload-button > svg *):
2956         (.item.resource.selected > .status > .reload-button > svg *):
2957         (.item.resource.selected > .status > .reload-button:active > svg *):
2958         Different styles, including a new :active style.
2959
2960         * UserInterface/ResourceTreeElement.js:
2961         (WebInspector.ResourceTreeElement.prototype._updateStatusWithMainFrameButtons):
2962         (WebInspector.ResourceTreeElement.prototype._updateStatus):
2963         Handle updating the main frame's state asynchronously since loading the SVG
2964         image document is asynchronous.
2965
2966 2013-08-27  Joseph Pecoraro  <pecoraro@apple.com>
2967
2968         Web Inspector: Debugger should have Continue to Here Context Menu
2969         https://bugs.webkit.org/show_bug.cgi?id=120189
2970
2971         Reviewed by Timothy Hatcher.
2972
2973         When paused in the debugger and presenting a Context Menu in the
2974         gutter, include a "Continue to Here" option. This requires a
2975         script/line/column location combination.
2976
2977         * UserInterface/DebuggerManager.js:
2978         (WebInspector.DebuggerManager.prototype.continueToLocation):
2979         * UserInterface/Resource.js:
2980         (WebInspector.Resource.prototype.scriptForLocation):
2981         * UserInterface/SourceCodeTextEditor.js:
2982         (WebInspector.SourceCodeTextEditor.prototype.continueToLocation):
2983         (WebInspector.SourceCodeTextEditor.prototype.textEditorGutterContextMenu):
2984
2985 2013-08-26  Joseph Pecoraro  <pecoraro@apple.com>
2986
2987         Web Inspector: We should regenerate InspectorBackendCommands.js for Legacy Inspector.json versions
2988         https://bugs.webkit.org/show_bug.cgi?id=120242
2989
2990         Reviewed by Timothy Hatcher.
2991
2992         - Include the iOS 6.0 Inspector.json which maps to Legacy/6.0/InspectorBackendCommands.js.
2993         - Provide a helper script to regenerate the backend commands file for trunk and Versions.
2994         - Regenerated file now includes enums and other minor changes.
2995
2996         * Scripts/update-InspectorBackendCommands.rb: Added.
2997         * UserInterface/InspectorBackendCommands.js:
2998         * UserInterface/Legacy/6.0/InspectorBackendCommands.js:
2999         * Versions/Inspector-iOS-6.0.json: Added.
3000
3001 2013-08-24  Joseph Pecoraro  <pecoraro@apple.com>
3002
3003         Web Inspector: Breakpoints in the editors gutter should have a contextmenu
3004         https://bugs.webkit.org/show_bug.cgi?id=120169
3005
3006         Reviewed by Timothy Hatcher.
3007
3008         Updated CodeMirror now has a gutterContextMenu event. Use that to give
3009         breakpoint related context menus. Add, Edit, Enable/Disable, Delete, and
3010         Reveal in Debugger Navigation Sidebar.
3011
3012         * Localizations/en.lproj/localizedStrings.js:
3013         "Add Breakpoint", and "Reveal in Debugger Navigation Sidebar".
3014
3015         * UserInterface/SourceCodeTextEditor.js:
3016         (WebInspector.SourceCodeTextEditor.prototype.textEditorGutterContextMenu.addBreakpoint):
3017         (WebInspector.SourceCodeTextEditor.prototype.textEditorGutterContextMenu.revealInSidebar):
3018         (WebInspector.SourceCodeTextEditor.prototype.textEditorGutterContextMenu.removeBreakpoints):
3019         (WebInspector.SourceCodeTextEditor.prototype.textEditorGutterContextMenu.toggleBreakpoints):
3020         (WebInspector.SourceCodeTextEditor.prototype.textEditorGutterContextMenu):
3021         Show a context menu when clicking on the gutter for 0 breakpoints,
3022         1 breakpoint, or >1 breakpoints. The only tricky handler is addBreakpoint,
3023         since that must update the TextEditor for the new breakpoint info.
3024
3025         * UserInterface/TextEditor.js:
3026         (WebInspector.TextEditor):
3027         (WebInspector.TextEditor.prototype._gutterContextMenu):
3028         Send to delegate if the delegate implements textEditorGutterContextMenu.
3029
3030 2013-08-23  Joseph Pecoraro  <pecoraro@apple.com>
3031
3032         Web Inspector: Fix js minification of updated CodeMirror
3033         https://bugs.webkit.org/show_bug.cgi?id=120231
3034
3035         Reviewed by Andy Estes.
3036
3037         Workaround a jsmin issue with "return //.test();" lines when
3038         minifying JavaScript in production builds.
3039
3040         * Scripts/copy-user-interface-resources.sh:
3041         * UserInterface/External/CodeMirror/codemirror.js:
3042         (window.CodeMirror):
3043
3044 2013-08-22  Joseph Pecoraro  <pecoraro@apple.com>
3045
3046         <https://webkit.org/b/120165> Web Inspector: Update CodeMirror to 3.16.1
3047
3048         Reviewed by Andy Estes.
3049
3050         * Tools/PrettyPrinting/codemirror.css:
3051         * Tools/PrettyPrinting/codemirror.js:
3052         * Tools/PrettyPrinting/css.js:
3053         * Tools/PrettyPrinting/javascript.js:
3054         * UserInterface/External/CodeMirror/codemirror.css:
3055         * UserInterface/External/CodeMirror/codemirror.js:
3056         * UserInterface/External/CodeMirror/css.js:
3057         * UserInterface/External/CodeMirror/javascript.js:
3058         * UserInterface/External/CodeMirror/xml.js:
3059
3060 2013-08-21  Brent Fulgham  <bfulgham@apple.com>
3061
3062         [Windows] Clean up project file after %PlatformArchitecture% change landed.
3063
3064         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj: Remove hard-coded settings covered
3065         by our configuration files.
3066         * WebInspectorUI.vcxproj/WebInspectorUIPostBuild.cmd: Use the %PlatformArchitecture%
3067         macro to support 32- and 64-bit builds.
3068
3069 2013-08-20  Brent Fulgham  <bfulgham@apple.com>
3070
3071         <http://webkit.org/b/120098> [Windows] Enable the New Web Inspector
3072
3073         Reviewed by Brian Weinstein.
3074
3075         Add a new project to copy files to the appropriate spots in the
3076         Windows port.
3077
3078         * WebInspectorUI.vcxproj: Added.
3079         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj: Added.
3080         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters: Added.
3081         * WebInspectorUI.vcxproj/WebInspectorUIPostBuild.cmd: Added.
3082         * WebInspectorUI.vcxproj/WebInspectorUIPreBuild.cmd: Added.
3083
3084 2013-08-19  James Craig  <james@cookiecrook.com>
3085
3086         <https://webkit.org/b/118106> Web Inspector: AX: Add additional contextual labels for Error/Warnings/Logs that will be spoken for screen readers
3087
3088         Reviewed by Joseph Pecoraro.
3089
3090         Changed general console "Output" string to more specific "Error", "Warning", etc for accessibility.
3091
3092         * Localizations/en.lproj/localizedStrings.js:
3093         * UserInterface/ConsoleCommandResult.js:
3094         * UserInterface/ConsoleMessageImpl.js:
3095
3096 2013-08-16  James Craig  <james@cookiecrook.com>
3097
3098         <https://webkit.org/b/118105> Web Inspector: AX: Add support for ARIA tablists/tabs to inspector tabs
3099
3100         Reviewed by Joseph Pecoraro.
3101
3102         Updating accessibility roles and attributes for single-select toolbar item sets.
3103
3104         * UserInterface/ActivateButtonNavigationItem.js:
3105         (WebInspector.ActivateButtonNavigationItem):
3106         (WebInspector.ActivateButtonNavigationItem.prototype.set activated):
3107         * UserInterface/ActivateButtonToolbarItem.js:
3108         (WebInspector.ActivateButtonToolbarItem):
3109         * UserInterface/ButtonToolbarItem.js:
3110         (WebInspector.ButtonToolbarItem):
3111         * UserInterface/SidebarPanel.js:
3112         (WebInspector.SidebarPanel):
3113         * UserInterface/Toolbar.js:
3114         (WebInspector.Toolbar):
3115
3116 2013-08-13  Dean Jackson  <dino@apple.com>
3117
3118         <https://webkit.org/b/119778> Add Canvas protocol observer
3119
3120         Reviewed by Joseph Pecoraro.
3121
3122         In preparation for listening to backend events about canvas profiling,
3123         add a canvas observer.
3124
3125         * UserInterface/CanvasObserver.js: New empty CanvasObserver object.
3126         (WebInspector.CanvasObserver):
3127         (WebInspector.CanvasObserver.prototype.contextCreated):
3128         (WebInspector.CanvasObserver.prototype.traceLogsRemoved):
3129         * UserInterface/Main.html:
3130         * UserInterface/Main.js:
3131         (WebInspector.loaded):
3132
3133 2013-08-11  Dean Jackson  <dino@apple.com>
3134
3135         Update localizedStrings - I think I checked in an unmerged version
3136         in the previous commit.
3137
3138         * Localizations/en.lproj/localizedStrings.js:
3139
3140 2013-08-11  Dean Jackson  <dino@apple.com>
3141
3142         Bootstrap canvas profiler
3143         https://bugs.webkit.org/show_bug.cgi?id=119652
3144         <rdar://problem/14703665>
3145
3146         Reviewed by Joseph Pecoraro.
3147
3148         Add enough to get an empty Canvas profile recording
3149         and displayed.
3150
3151         * Localizations/en.lproj/localizedStrings.js: Add canvas strings.
3152         * UserInterface/CanvasProfileObject.js: Added. Mostly copied from CSS Selector Profiles.
3153         * UserInterface/CanvasProfileType.js: Added. Ditto.
3154         * UserInterface/CanvasDataGridNode.js: Added. Ditto.
3155         * UserInterface/CanvasProfileView.js: Added. Ditto.
3156         * UserInterface/ContentView.js:
3157         (WebInspector.ContentView): Add support for the new View type.
3158         (WebInspector.ContentView.isViewable):
3159         * UserInterface/InstrumentSidebarPanel.js:
3160         (WebInspector.InstrumentSidebarPanel): Add support for canvas profiles.
3161         (WebInspector.InstrumentSidebarPanel.prototype._recordProfileGlyphMousedOver):
3162         (WebInspector.InstrumentSidebarPanel.prototype._recordProfileGlyphMousedDown):
3163         (WebInspector.InstrumentSidebarPanel.prototype._recordProfileGlyphClicked):
3164         (WebInspector.InstrumentSidebarPanel.prototype._profileTypeWasSelected):
3165         (WebInspector.InstrumentSidebarPanel.prototype._profilesCleared):
3166         * UserInterface/Main.html: Load the new files.
3167         * UserInterface/ProfileManager.js: New methods and support for canvas profiles.
3168         (WebInspector.ProfileManager):
3169         (WebInspector.ProfileManager.prototype.initialize):
3170         (WebInspector.ProfileManager.prototype.isProfilingCanvas):
3171         (WebInspector.ProfileManager.prototype.startProfilingCanvas):
3172         (WebInspector.ProfileManager.prototype.stopProfilingCanvas):
3173         (WebInspector.ProfileManager.prototype._checkForInterruptions):
3174         (WebInspector.ProfileManager.prototype._attemptToResumeProfiling):
3175
3176 2013-08-07  Timothy Hatcher  <timothy@apple.com>
3177
3178         Switch the generated images off of PDFs and onto SVGs now that bug 119492 is fixed.
3179
3180         https://bugs.webkit.org/show_bug.cgi?id=118677
3181
3182         Reviewed by Joseph Pecoraro.
3183
3184         * UserInterface/ApplicationCacheDetailsSidebarPanel.js:
3185         (WebInspector.ApplicationCacheDetailsSidebarPanel):
3186         * UserInterface/CSSStyleDeclarationSection.js:
3187         (WebInspector.CSSStyleDeclarationSection):
3188         * UserInterface/CSSStyleDetailsSidebarPanel.js:
3189         (WebInspector.CSSStyleDetailsSidebarPanel):
3190         * UserInterface/ContentBrowser.js:
3191         (WebInspector.ContentBrowser):
3192         * UserInterface/DOMNodeDetailsSidebarPanel.js:
3193         (WebInspector.DOMNodeDetailsSidebarPanel):
3194         * UserInterface/DOMTreeContentView.js:
3195         (WebInspector.DOMTreeContentView):
3196         * UserInterface/DataGrid.js:
3197         (WebInspector.DataGrid.prototype._generateSortIndicatorImagesIfNeeded):
3198         * UserInterface/DebuggerSidebarPanel.js:
3199         (WebInspector.DebuggerSidebarPanel):
3200         * UserInterface/DetailsSection.js:
3201         (WebInspector.DetailsSection.prototype._generateDisclosureTrianglesIfNeeded):
3202         * UserInterface/FindBanner.js:
3203         (WebInspector.FindBanner.prototype._generateButtonsGlyphsIfNeeded):
3204         * UserInterface/Images/BackArrow.pdf: Removed.
3205         * UserInterface/Images/BottomUpTree.pdf: Removed.
3206         * UserInterface/Images/Breakpoints.pdf: Removed.
3207         * UserInterface/Images/Close.pdf: Removed.
3208         * UserInterface/Images/Crosshair.pdf: Removed.
3209         * UserInterface/Images/DisclosureTriangleSmallClosed.pdf: Removed.
3210         * UserInterface/Images/DisclosureTriangleSmallOpen.pdf: Removed.
3211         * UserInterface/Images/DisclosureTriangleTinyClosed.pdf: Removed.
3212         * UserInterface/Images/DisclosureTriangleTinyOpen.pdf: Removed.
3213         * UserInterface/Images/DockBottom.pdf: Removed.
3214         * UserInterface/Images/DockRight.pdf: Removed.
3215         * UserInterface/Images/ForwardArrow.pdf: Removed.
3216         * UserInterface/Images/GoToArrow.pdf: Removed.
3217         * UserInterface/Images/LayerBorders.pdf: Removed.
3218         * UserInterface/Images/LessColumns.pdf: Removed.
3219         * UserInterface/Images/Locked.pdf: Removed.
3220         * UserInterface/Images/MoreColumns.pdf: Removed.
3221         * UserInterface/Images/NavigationItemAngleBrackets.pdf: Removed.
3222         * UserInterface/Images/NavigationItemBrushAndRuler.pdf: Removed.
3223         * UserInterface/Images/NavigationItemBug.pdf: Removed.
3224         * UserInterface/Images/NavigationItemCurleyBraces.pdf: Removed.
3225         * UserInterface/Images/NavigationItemFile.pdf: Removed.
3226         * UserInterface/Images/NavigationItemLayers.pdf: Removed.
3227         * UserInterface/Images/NavigationItemLog.pdf: Removed.
3228         * UserInterface/Images/NavigationItemMagnifyingGlass.pdf: Removed.
3229         * UserInterface/Images/NavigationItemStopwatch.pdf: Removed.
3230         * UserInterface/Images/NavigationItemStorage.pdf: Removed.
3231         * UserInterface/Images/NavigationItemTrash.pdf: Removed.
3232         * UserInterface/Images/NavigationItemVariable.pdf: Removed.
3233         * UserInterface/Images/Pause.pdf: Removed.
3234         * UserInterface/Images/Percent.pdf: Removed.
3235         * UserInterface/Images/Plus.pdf: Removed.
3236         * UserInterface/Images/Resume.pdf: Removed.
3237         * UserInterface/Images/ShadowDOM.pdf: Removed.
3238         * UserInterface/Images/SortIndicatorDownArrow.pdf: Removed.
3239         * UserInterface/Images/SortIndicatorUpArrow.pdf: Removed.
3240         * UserInterface/Images/SplitToggleDown.pdf: Removed.
3241         * UserInterface/Images/SplitToggleUp.pdf: Removed.
3242         * UserInterface/Images/StepInto.pdf: Removed.
3243         * UserInterface/Images/StepOut.pdf: Removed.
3244         * UserInterface/Images/StepOver.pdf: Removed.
3245         * UserInterface/Images/Undock.pdf: Removed.
3246         * UserInterface/InstrumentSidebarPanel.js:
3247         (WebInspector.InstrumentSidebarPanel):
3248         * UserInterface/JavaScriptProfileView.js:
3249         (WebInspector.JavaScriptProfileView):
3250         * UserInterface/LayerTreeSidebarPanel.js:
3251         (WebInspector.LayerTreeSidebarPanel):
3252         * UserInterface/LogContentView.js:
3253         (WebInspector.LogContentView):
3254         * UserInterface/Main.js:
3255         (WebInspector.contentLoaded):
3256         (WebInspector._updateDockNavigationItems):
3257         (WebInspector._generateDisclosureTriangleImages):
3258         * UserInterface/NavigationSidebarPanel.js:
3259         (WebInspector.NavigationSidebarPanel.prototype._generateDisclosureTrianglesIfNeeded):
3260         * UserInterface/ProfileView.js:
3261         (WebInspector.ProfileView):
3262         * UserInterface/ResourceDetailsSidebarPanel.js:
3263         (WebInspector.ResourceDetailsSidebarPanel):
3264         * UserInterface/ResourceSidebarPanel.js:
3265         (WebInspector.ResourceSidebarPanel):
3266         * UserInterface/ScopeChainDetailsSidebarPanel.js:
3267         (WebInspector.ScopeChainDetailsSidebarPanel):
3268         * UserInterface/ScriptContentView.js:
3269         (WebInspector.ScriptContentView):
3270         * UserInterface/TextContentView.js:
3271         (WebInspector.TextContentView):
3272         * UserInterface/TextResourceContentView.js:
3273         (WebInspector.TextResourceContentView):
3274         * UserInterface/TimelinesContentView.js:
3275
3276 2013-08-08  Dean Jackson  <dino@apple.com>
3277
3278         Remove use of prefixed transition event
3279         https://bugs.webkit.org/show_bug.cgi?id=119598
3280
3281         Reviewed by Joseph Pecoraro.
3282