12014-08-28  Lucas Forschler  <lforschler@apple.com>
2
3        Merge r173015
4
5    2014-08-27  Saam Barati  <sbarati@apple.com>
6
7            Web Inspector: Layout issues for popover on not legacy OS
8            https://bugs.webkit.org/show_bug.cgi?id=136268
9
10            Reviewed by Joseph Pecoraro.
11
12            On the latest OS, popovers invade the title bar's space which will
13            cause layout issues because the title bar will render above
14            the popover. Fix this by providing some padding for popovers on 
15            not legacy OSs.
16
17            * UserInterface/Views/Popover.js:
18
192014-08-28  Lucas Forschler  <lforschler@apple.com>
20
21        Merge r173010
22
23    2014-08-27  Timothy Hatcher  <timothy@apple.com>
24
25            REGRESSION: Web Inspector: Legacy toolbar has two different colors in unfocused windowed mode
26            https://bugs.webkit.org/show_bug.cgi?id=136289
27
28            Reviewed by Darin Adler.
29
30            * UserInterface/Views/Toolbar.css:
31            (body.mac-platform.legacy .toolbar): Override the background-color as transparent. Non-legacy
32            uses a solid color instead of a gradient for window-inactive.
33
342014-08-25  Lucas Forschler  <lforschler@apple.com>
35
36        Merge r172929
37
38    2014-08-25  Brent Fulgham  <bfulgham@apple.com>
39
40            [Win] Pass OFFICIAL_BUILD flag to WebInspectorUI build process
41            https://bugs.webkit.org/show_bug.cgi?id=136229
42
43            Reviewed by Dean Jackson.
44
45            * WebInspectorUI.vcxproj/WebInspectorUI.make: Pass OFFICIAL_BUILD
46            flag to build-webinspectorui.pl.
47            * WebInspectorUI.vcxproj/build-webinspectorui.pl: Accept and use
48            the OFFICIAL_BUILD flag.
49
502014-08-19  Dana Burkart  <dburkart@apple.com>
51
52        Merge r172689. <rdar://problem/18040028>
53
54    2014-08-16  Joseph Pecoraro  <pecoraro@apple.com>
55    
56            Web Inspector: Improve performance of selection range changes viewing Scripts timeline
57            https://bugs.webkit.org/show_bug.cgi?id=136015
58    
59            Reviewed by Timothy Hatcher.
60    
61            * UserInterface/Base/Utilities.js:
62            (clamp):
63            Helper function to clamp a value between a min and max.
64    
65            * UserInterface/Models/ProfileNode.js:
66            (WebInspector.ProfileNode.prototype.get startTime):
67            (WebInspector.ProfileNode.prototype.get endTime):
68            These can be quickly calculated, so avoid full calculation to grab the values.
69    
70            * UserInterface/Views/ScriptTimelineView.js:
71            (WebInspector.ScriptTimelineView.prototype.updateLayout):
72            Update ranges with a smart helper, instead of blindly doing it and needing refresh.
73    
74            * UserInterface/Views/ProfileNodeDataGridNode.js:
75            (WebInspector.ProfileNodeDataGridNode.prototype.get rangeEndTime):
76            (WebInspector.ProfileNodeDataGridNode.prototype.get data):
77            (WebInspector.ProfileNodeDataGridNode.prototype.updateRangeTimes):
78            (WebInspector.ProfileNodeDataGridNode.prototype.set rangeStartTime): Deleted.
79            (WebInspector.ProfileNodeDataGridNode.prototype.set rangeEndTime): Deleted.
80            * UserInterface/Views/ScriptTimelineDataGridNode.js:
81            (WebInspector.ScriptTimelineDataGridNode.prototype.updateRangeTimes):
82            (WebInspector.ScriptTimelineDataGridNode.prototype.set rangeStartTime): Deleted.
83            (WebInspector.ScriptTimelineDataGridNode.prototype.set rangeEndTime): Deleted.
84            When updating the range selection, compare to the last range selection
85            on this DataGridNode. If the visible portion of this node's time range
86            changes, we need a refresh. Otherwise, we don't need a refresh.
87    
882014-08-19  Dana Burkart  <dburkart@apple.com>
89
90        Merge r172682. <rdar://problem/18038767>
91
92    2014-08-15  Joseph Pecoraro  <pecoraro@apple.com>
93    
94            Web Inspector: Remove forced layouts during recording caused by striped background element resizing
95            https://bugs.webkit.org/show_bug.cgi?id=136009
96    
97            Reviewed by Timothy Hatcher.
98    
99            We used to manually resize and a custom striped background behind
100            the timeline tree outline content area. This can happen frequently
101            during timeline recordings causing forced layouts. We can eliminate
102            the hack and instead put the stripe background on the tree outline.
103    
104            * UserInterface/Views/TimelineSidebarPanel.js:
105            (WebInspector.TimelineSidebarPanel.prototype.updateCustomContentOverflow): Deleted.
106            * UserInterface/Views/TimelineSidebarPanel.css:
107            (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .content .item > .status > .status-button):
108            (.sidebar > .panel.navigation.timeline > .content > .stripe-background): Deleted.
109            (.sidebar > .panel.navigation.timeline.timeline-content-view-showing > .content > .stripe-background): Deleted.
110            Eliminate the striped background element.
111    
112            * UserInterface/Views/TimelineView.css:
113            (.panel.navigation.timeline > .content > .navigation-sidebar-panel-content-tree-outline):
114            (.panel.navigation.timeline.timeline-content-view-showing > .content > .navigation-sidebar-panel-content-tree-outline):
115            Give the timeline content tree outlines the striped background.
116    
117            * UserInterface/Views/NavigationSidebarPanel.js:
118            (WebInspector.NavigationSidebarPanel.prototype._updateContentOverflowShadowVisibility):
119            (WebInspector.NavigationSidebarPanel.prototype.updateCustomContentOverflow): Deleted.
120            Remove the now unused updateCustomContentOverflow method.
121    
1222014-08-19  Dana Burkart  <dburkart@apple.com>
123
124        Merge r172662. <rdar://problem/17971908>
125
126    2014-08-15  Jono Wells  <jonowells@apple.com>
127    
128            Web Inspector: Inspect Element doesn't always highlight the correct element when inspector is closed before inspecting
129            https://bugs.webkit.org/show_bug.cgi?id=135995
130    
131            Reviewed by Joseph Pecoraro.
132    
133            Change so if an element is inspected via the Inspect Element context menu, selected
134            node restoration is disallowed until the main resource in the main frame changes.
135            This way an attempt by a sub-frame will not change the highlighted element in the
136            Main Frame's DOM tree unexpectedly.
137    
138            * UserInterface/Controllers/DOMTreeManager.js:
139            (WebInspector.DOMTreeManager):
140            (WebInspector.DOMTreeManager.prototype._mainResourceDidChange):
141            (WebInspector.DOMTreeManager.prototype.inspectElement):
142    
1432014-08-19  Dana Burkart  <dburkart@apple.com>
144
145        Merge r172650. <rdar://problem/18034356>
146
147    2014-08-15  Timothy Hatcher  <timothy@apple.com>
148    
149            Web Inspector: Probe details sidebar data grids do not show data
150            https://bugs.webkit.org/show_bug.cgi?id=135992
151    
152            Reviewed by Joseph Pecoraro.
153    
154            * UserInterface/Views/ProbeSetDataGrid.js:
155            (WebInspector.ProbeSetDataGrid): Make the DataGrid be inline to show the data correctly.
156    
1572014-08-19  Dana Burkart  <dburkart@apple.com>
158
159        Merge r172640. <rdar://problem/18025668>
160
161    2014-08-15  Timothy Hatcher  <timothy@apple.com>
162    
163            Web Inspector: Legacy Mac toolbar appearance looks wrong
164            https://bugs.webkit.org/show_bug.cgi?id=135962
165    
166            Reviewed by Joseph Pecoraro.
167    
168            * UserInterface/Views/Toolbar.css:
169            (body.mac-platform.legacy .toolbar): Don't draw a gradient background when not docked.
170            Move border-bottom-color from body.mac-platform.legacy.docked .toolbar to here so it
171            applies all the time as it should have.
172    
1732014-08-19  Dana Burkart  <dburkart@apple.com>
174
175        Merge r172617. <rdar://problem/18023242>
176
177    2014-08-14  Joseph Pecoraro  <pecoraro@apple.com>
178    
179            Web Inspector: Dragging Undocked inspector by window title has broken behavior
180            https://bugs.webkit.org/show_bug.cgi?id=135950
181    
182            Reviewed by Timothy Hatcher.
183    
184            * UserInterface/Base/Main.js:
185            On Mac ports where we the inspector content goes everywhere, window dragging behavior
186            still exists for the top 22px of the window. So don't do our JavaScript based window
187            dragging for this special region.
188    
189            * UserInterface/Models/KeyboardShortcut.js:
190            (WebInspector.KeyboardShortcut.Modifier.get CommandOrControl):
191            (WebInspector.KeyboardShortcut.prototype.get displayName):
192            Instead of calling a host function, use the value already in the frontend.
193    
1942014-08-19  Dana Burkart  <dburkart@apple.com>
195
196        Merge r172615. <rdar://problem/18024530>
197
198    2014-08-14  Joseph Pecoraro  <pecoraro@apple.com>
199    
200            Web Inspector: Split console toggle button wrong - Images/Images/SplitToggleUp.svg does not exist
201            https://bugs.webkit.org/show_bug.cgi?id=135957
202    
203            Reviewed by Timothy Hatcher.
204    
205            * UserInterface/Views/LogContentView.js:
206            (WebInspector.LogContentView):
207            Wrong image path passed to platformImagePath.
208    
2092014-08-19  Dana Burkart  <dburkart@apple.com>
210
211        Merge r172606
212
213    2014-08-14  Joseph Pecoraro  <pecoraro@apple.com>
214
215            Web Inspector: Avoid re-binding the same function over and over
216            https://bugs.webkit.org/show_bug.cgi?id=135949
217
218            Reviewed by Timothy Hatcher.
219
220            * UserInterface/Controllers/TimelineManager.js:
221            (WebInspector.TimelineManager.prototype._startAutoCapturing):
222            (WebInspector.TimelineManager.prototype._stopAutoRecordingSoon):
223            (WebInspector.TimelineManager.prototype._resetAutoRecordingDeadTimeTimeout):
224            Stash a bound copy of the function once, and reuse it.
225
2262014-08-19  Dana Burkart  <dburkart@apple.com>
227
228        Merge r172601
229
230    2014-08-14  Joseph Pecoraro  <pecoraro@apple.com>
231
232            Web Inspector: Timelines can get caught in requestAnimationFrame loop when not recording
233            https://bugs.webkit.org/show_bug.cgi?id=135946
234
235            Reviewed by Timothy Hatcher.
236
237            Each TimelineContentView was listening for the TimelineManager's start/stop
238            capturing events. However, only the active recording could possibly update.
239            Likewise, if a pre-existing recording started and stopped we did not properly
240            stop in the case where we were waiting for an event to update the current time,
241            which would result in an infinite rAF loop of no updates.
242
243            * UserInterface/Models/TimelineRecording.js:
244            (WebInspector.TimelineRecording.prototype.unloaded):
245            When a timeline recording is unloaded trigger an event.
246
247            * UserInterface/Views/TimelineContentView.js:
248            (WebInspector.TimelineContentView.prototype._startUpdatingCurrentTime):
249            Assert we were not already waiting.
250
251            (WebInspector.TimelineContentView.prototype._stopUpdatingCurrentTime):
252            Properly handle the case of starting/stoping an already existing recording
253            without a new event coming in.
254
255            (WebInspector.TimelineContentView.prototype._recordingTimesUpdated):
256            (WebInspector.TimelineContentView.prototype._recordingReset):
257            Convert to a boolean instead of deleting state.
258
259            (WebInspector.TimelineContentView.prototype._recordingUnloaded):
260            Stop listening to timeline manager events that no longer affect unloaded recordings.
261
2622014-08-13  Lucas Forschler  <lforschler@apple.com>
263
264        Merge r172533
265
266    2014-08-13  Joseph Pecoraro  <pecoraro@apple.com>
267
268            Web Inspector: Inline DataGrid inside details sidebar has double thick top border with legacy styles
269            https://bugs.webkit.org/show_bug.cgi?id=135894
270
271            Reviewed by Timothy Hatcher.
272
273            * UserInterface/Views/DetailsSection.css:
274            (body.mac-platform.legacy .details-section:not(.collapsed) .data-grid.inline):
275            In legacy styles the details-section header always has a 1px bottom border.
276            In all styles, an inline data grid had a 1px border everywhere. So, handle
277            this specific case by removing the top border of an inline data grid
278            that is inside an expanded details section.
279
2802014-08-13  Lucas Forschler  <lforschler@apple.com>
281
282        Merge r172531
283
284    2014-08-13  Joseph Pecoraro  <pecoraro@apple.com>
285
286            Web Inspector: "No Filter Results" view only shows once, does not show again
287            https://bugs.webkit.org/show_bug.cgi?id=135892
288
289            Reviewed by Timothy Hatcher.
290
291            * UserInterface/Views/NavigationSidebarPanel.js:
292            (WebInspector.NavigationSidebarPanel.prototype.showEmptyContentPlaceholder):
293            We were checking at the wrong level for a parent. Check if the root
294            placeholder element has a parent or not.
295
2962014-08-13  Lucas Forschler  <lforschler@apple.com>
297
298        Merge r172530
299
300    2014-08-13  Joseph Pecoraro  <pecoraro@apple.com>
301
302            Web Inspector: Incorrect border colors in event listeners sections in details sidebar
303            https://bugs.webkit.org/show_bug.cgi?id=135891
304
305            Reviewed by Timothy Hatcher.
306
307            * UserInterface/Views/DetailsSection.css:
308            (.details-section .details-section > .header):
309            (.details-section .details-section:not(.collapsed) > .header):
310            Remove box-shadow and replace with a bottom border.
311
312            (body.mac-platform.legacy .details-section .details-section.collapsed > .header):
313            (.details-section .details-section.collaspsed > .header): Deleted.
314            Collapsed was spelled incorrectly so this was not applying properly before.
315            But correct this for legacy because legacy still uses a box-shadow.
316
3172014-08-13  Lucas Forschler  <lforschler@apple.com>
318
319        Merge r172527
320
321    2014-08-13  Joseph Pecoraro  <pecoraro@apple.com>
322
323            Web Inspector: Timeline Close buttons can use polish for new and legacy styles
324            https://bugs.webkit.org/show_bug.cgi?id=135870
325
326            Reviewed by Timothy Hatcher.
327
328            * UserInterface/Images/Legacy/Close.svg:
329            Ensure this has fill colors in tree selections.
330
331            * UserInterface/Views/TimelineSidebarPanel.css:
332            (.sidebar > .panel.navigation.timeline > .timelines-content .close-button):
333            (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .timelines-content .close-button):
334            (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .content .item > .status > .status-button):
335            Size the close-button for the top overviews differently in new styles (14x14) and legacy (12x12).
336
3372014-08-13  Lucas Forschler  <lforschler@apple.com>
338
339        Merge r172526
340
341    2014-08-13  Timothy Hatcher  <timothy@apple.com>
342
343            Web Inspector: Workaround a NSWindow change to the title bar.
344            https://bugs.webkit.org/show_bug.cgi?id=135880
345
346            Reviewed by Joseph Pecoraro.
347
348            * UserInterface/Base/Main.js:
349            (WebInspector._updateToolbarHeight): Don't call in legacy mode.
350
351            * UserInterface/Views/DashboardContainerView.css:
352            (.toolbar .dashboard-container):
353            (.toolbar .dashboard):
354            Drive-by fix some errant drop-shadows. The transparent border was pushing the inset top
355            drop shadow down when it shouldn't. Remove duplicate background and shadow.
356
357            * UserInterface/Views/Main.css:
358            (body): Set the background white, never needs to be transparent now.
359            (body.mac-platform.legacy:not(.docked)): Set background to transparent when not docked in legacy.
360            (body.docked.bottom): Update border color.
361            (body.docked.right): Ditto.
362            (body.docked.bottom.mac-platform.legacy): Keep old border color.
363            (body.docked.right.mac-platform.legacy): Ditto.
364
365            * UserInterface/Views/Toolbar.css:
366            (.toolbar): Set a default border and background gradient.
367            (body.window-inactive .toolbar): No gradient but use a solid color when inactive.
368            (body.mac-platform:not(.legacy):not(.docked) .toolbar): Padding on the top for the title bar.
369            (body.mac-platform:not(.legacy):not(.docked) .toolbar.icon-and-label-vertical): Account for title bar height.
370            (body.mac-platform:not(.legacy):not(.docked) .toolbar.icon-and-label-vertical.small-size): Ditto.
371            (body.mac-platform:not(.legacy):not(.docked) .toolbar.icon-only): Ditto.
372            (body.mac-platform:not(.legacy):not(.docked) .toolbar.label-only): Ditto.
373            (body.mac-platform.legacy .toolbar): No inset shadow in legacy when not docked.
374            (body.mac-platform.legacy.docked .toolbar): Restore legacy border color.
375            (body.mac-platform.legacy:not(.docked) .toolbar .item.button > .label): Only disable sub-pixel antialiasing on legacy!
376            (body.mac-platform.legacy.window-inactive .toolbar): Restore legacy border color.
377
3782014-08-13  Lucas Forschler  <lforschler@apple.com>
379
380        Merge r172525
381
382    2014-08-13  Timothy Hatcher  <timothy@apple.com>
383
384            Web Inspector: Restore Helvetica as the dashboard font in legacy mode
385            https://bugs.webkit.org/show_bug.cgi?id=135886
386
387            Reviewed by Joseph Pecoraro.
388
389            * UserInterface/Views/DefaultDashboardView.css:
390            (body.mac-platform.legacy .toolbar .dashboard.default > .item):
391
3922014-08-13  Lucas Forschler  <lforschler@apple.com>
393
394        Merge r172515
395
396    2014-08-12  Joseph Pecoraro  <pecoraro@apple.com>
397
398            Web Inspector: Timeline record content view close button does not work after scrolling, invisible scrollbar
399            https://bugs.webkit.org/show_bug.cgi?id=135863
400
401            Reviewed by Timothy Hatcher.
402
403            A workaround is to not have position:relative content inside of
404            scrollable region. Turns out this was only done in two places,
405            and I do not see any absolutely positioned content in navigation
406            sidebar content tree outlines. This also fixes clicking on the
407            reload button if you've scrolled the Resources sidebar. 
408
409            * UserInterface/Views/NavigationSidebarPanel.css:
410            (.navigation-sidebar-panel-content-tree-outline .children): Deleted.
411            (.navigation-sidebar-panel-content-tree-outline .item): Deleted.
412
4132014-08-13  Lucas Forschler  <lforschler@apple.com>
414
415        Merge r172488
416
417    2014-08-12  Joseph Pecoraro  <pecoraro@apple.com>
418
419            Web Inspector: Timeline selection range creation does not work when clicking event bubble or near bottom of overview
420            https://bugs.webkit.org/show_bug.cgi?id=135849
421
422            Reviewed by Timothy Hatcher.
423
424            Click events on elements in the graph container (event bubbles) or
425            in the scroll container (bottom 16px) were becoming the event targets.
426            As siblings of the ruler, the dispatch would not go through the ruler.
427            The ruler was supposed to be overlaying everything in the overview,
428            so give the ruler a z-index so it really is overlaying elements.
429
430            * UserInterface/Views/TimelineRuler.css:
431            (.timeline-ruler):
432
4332014-08-12  Lucas Forschler  <lforschler@apple.com>
434
435        Merge r172436
436
437    2014-08-12  Joseph Pecoraro  <pecoraro@apple.com>
438
439            Web Inspector: GoToLine dialog clear text button looks poor
440            https://bugs.webkit.org/show_bug.cgi?id=135828
441
442            Reviewed by Timothy Hatcher.
443
444            Legacy/CloseWhite.svg was not used, but in the case where the white
445            close button is needed the thicker bars looks better. Re-use the
446            Legacy image as the default CloseWhite.svg.
447
448            * UserInterface/Images/CloseWhite.svg:
449            * UserInterface/Images/Legacy/CloseWhite.svg: Removed.
450
4512014-08-12  Lucas Forschler  <lforschler@apple.com>
452
453        Merge r172435
454
455    2014-08-12  Joseph Pecoraro  <pecoraro@apple.com>
456
457            Web Inspector: Easier Way to go back to the Timeline Overviews
458            https://bugs.webkit.org/show_bug.cgi?id=135827
459
460            Reviewed by Timothy Hatcher.
461
462            * Localizations/en.lproj/localizedStrings.js:
463            Added new tooltip UIString.
464
465            * UserInterface/Images/Close.svg:
466            * UserInterface/Images/CloseLarge.svg:
467            * UserInterface/Images/Legacy/Close.svg:
468            Add "stroked" class so the buttons can fill with white on selected rows.
469            Also re-center the non-legacy images horizontally.
470
471            * UserInterface/Views/GeneralTreeElement.js:
472            (WebInspector.GeneralTreeElement.prototype.set status):
473            Do not recreate elements if the status did not change.
474
475            * UserInterface/Views/LayoutTimelineView.js:
476            (WebInspector.LayoutTimelineView):
477            (WebInspector.LayoutTimelineView.prototype._treeElementDeselected):
478            (WebInspector.LayoutTimelineView.prototype._treeElementSelected):
479            (WebInspector.LayoutTimelineView.prototype._updateTreeElementWithCloseButton):
480            (WebInspector.LayoutTimelineView.prototype._closeStatusButtonClicked):
481            * UserInterface/Views/NetworkTimelineView.js:
482            (WebInspector.NetworkTimelineView):
483            (WebInspector.NetworkTimelineView.prototype._treeElementDeselected):
484            (WebInspector.NetworkTimelineView.prototype._treeElementSelected):
485            (WebInspector.NetworkTimelineView.prototype._updateTreeElementWithCloseButton):
486            (WebInspector.NetworkTimelineView.prototype._closeStatusButtonClicked):
487            * UserInterface/Views/OverviewTimelineView.js:
488            (WebInspector.OverviewTimelineView.prototype._treeElementDeselected):
489            (WebInspector.OverviewTimelineView.prototype._treeElementSelected):
490            (WebInspector.OverviewTimelineView.prototype._updateTreeElementWithCloseButton):
491            (WebInspector.OverviewTimelineView.prototype._closeStatusButtonClicked):
492            * UserInterface/Views/ScriptTimelineView.js:
493            (WebInspector.ScriptTimelineView):
494            (WebInspector.ScriptTimelineView.prototype._treeElementDeselected):
495            (WebInspector.ScriptTimelineView.prototype._treeElementSelected):
496            (WebInspector.ScriptTimelineView.prototype._updateTreeElementWithCloseButton):
497            (WebInspector.ScriptTimelineView.prototype._closeStatusButtonClicked):
498            Provide select/deselect handlers to show/hide the close status bar button
499            when selecting a row that shows a non-Timeline content view. Currently the
500            only content views the tree elements can show are Resource views, so the
501            tooltip is the same everywhere.
502
5032014-08-12  Lucas Forschler  <lforschler@apple.com>
504
505        Merge r172432
506
507    2014-08-12  Timothy Hatcher  <timothy@apple.com>
508
509            Web Inspector: Expect to see top level JavaScript function profiler details for event handlers in timeline
510            https://bugs.webkit.org/show_bug.cgi?id=132109
511
512            Reviewed by Joseph Pecoraro.
513
514            * UserInterface/Views/ScriptTimelineView.js:
515            (WebInspector.ScriptTimelineView.prototype._processPendingRecords): Don't promote root node children if
516            there is only one child.
517
5182014-08-12  Lucas Forschler  <lforschler@apple.com>
519
520        Merge r172399
521
522    2014-08-11  Timothy Hatcher  <timothy@apple.com>
523
524            Web Inspector: DataGrid and its clients are a cluster-cuss of styles
525            https://bugs.webkit.org/show_bug.cgi?id=135788
526
527            Clean up DataGrid and its subclasses and client styles.
528
529            Reviewed by Joseph Pecoraro.
530
531            * Localizations/en.lproj/localizedStrings.js:
532            * UserInterface/Views/ApplicationCacheFrameContentView.css:
533            (.content-view.application-cache-frame > .data-grid):
534            * UserInterface/Views/CookieStorageContentView.css:
535            (.content-view.cookie-storage > .data-grid):
536            * UserInterface/Views/DOMStorageContentView.css:
537            (.content-view.dom-storage > .data-grid):
538            * UserInterface/Views/DOMTreeDataGrid.css:
539            (.dom-tree-data-grid .data-grid):
540            (.dom-tree-data-grid .name-column .icon):
541            * UserInterface/Views/DOMTreeDataGrid.js:
542            (WebInspector.DOMTreeDataGrid):
543            * UserInterface/Views/DataGrid.css:
544            (.data-grid):
545            (.data-grid table):
546            (.data-grid .data-container):
547            (.data-grid.inline):
548            (.data-grid th):
549            (.data-grid :-webkit-any(th, td):not(:last-child)):
550            (.data-grid th.sortable:active):
551            (.data-grid th:-webkit-any(.sort-ascending, .sort-descending)):
552            (.data-grid table.data):
553            (.data-grid td):
554            (.data-grid:focus tr.selected td:not(:last-child)):
555            (body.mac-platform.legacy .data-grid:focus tr.selected td:not(:last-child)):
556            (.data-grid :-webkit-any(th, td) > div):
557            (.data-grid th:-webkit-any(.sort-ascending, .sort-descending) > div:first-child):
558            (.data-grid th.sort-ascending > div:first-child::after):
559            (.data-grid th.sort-descending > div:first-child::after):
560            (.data-grid td .subtitle):
561            (.data-grid td .subtitle::before):
562            (.data-grid:focus tr.selected td .subtitle):
563            (.data-grid td.error):
564            (.data-grid tr.selected td.error):
565            (.data-grid td .icon):
566            (.data-grid td .go-to-arrow):
567            (.data-grid tr:-webkit-any(.selected, :hover) .go-to-arrow):
568            * UserInterface/Views/DatabaseContentView.css:
569            (.storage-view):
570            * UserInterface/Views/DatabaseTableContentView.css:
571            (.content-view.database-table > .data-grid):
572            * UserInterface/Views/DetailsSection.css:
573            (.details-section > .content .data-grid):
574            * UserInterface/Views/IndexedDatabaseObjectStoreContentView.css:
575            (.content-view.indexed-database-object-store > .data-grid):
576            * UserInterface/Views/LayerTreeDataGridNode.js:
577            (WebInspector.LayerTreeDataGridNode.prototype._makeNameCell):
578            (WebInspector.LayerTreeDataGridNode.prototype._updateNameCellData):
579            * UserInterface/Views/LayerTreeSidebarPanel.css:
580            (.layer-tree.panel .data-grid):
581            (.layer-tree.panel .name-column .icon):
582            (.layer-tree.panel tr.reflection .name-column .icon):
583            (.layer-tree.panel tr.pseudo-element .name-column .icon):
584            (.layer-tree.panel .name-column .reflection):
585            (.layer-tree.panel tr.selected .name-column .reflection):
586            (.layer-tree.panel .bottom-bar):
587            (body.mac-platform.legacy .layer-tree.panel .bottom-bar):
588            (.layer-tree.panel .bottom-bar > div):
589            (body.mac-platform.legacy .layer-tree.panel .bottom-bar > div):
590            (body.mac-platform.legacy .layer-tree-popover):
591            * UserInterface/Views/LayerTreeSidebarPanel.js:
592            (WebInspector.LayerTreeSidebarPanel):
593            (WebInspector.LayerTreeSidebarPanel.prototype._buildLayerInfoSection):
594            (WebInspector.LayerTreeSidebarPanel.prototype._buildDataGridSection):
595            (WebInspector.LayerTreeSidebarPanel.prototype._buildBottomBar):
596            (WebInspector.LayerTreeSidebarPanel.prototype._updateMetrics):
597            * UserInterface/Views/LegacyJavaScriptProfileView.css:
598            (.content-view.profile-view > .data-grid):
599            * UserInterface/Views/LegacyProfileView.css:
600            * UserInterface/Views/LogContentView.css:
601            (.console-message .bubble):
602            * UserInterface/Views/NetworkTimelineView.css:
603            (.timeline-view.network > .data-grid):
604            * UserInterface/Views/OverviewTimelineView.css:
605            (.timeline-view.overview > .timeline-ruler > .header):
606            (.timeline-view.overview > .data-grid):
607            * UserInterface/Views/OverviewTimelineView.js:
608            * UserInterface/Views/ProbeDetailsSidebarPanel.css:
609            (.details-section.probe-set .options > .probe-add):
610            (.popover .probe-popover):
611            * UserInterface/Views/ProbeSetDataGrid.css:
612            (.details-section.probe-set .data-grid tr.past-value td):
613            (.details-section.probe-set .data-grid > td.unknown-value):
614            (.details-section.probe-set .data-grid tr.revealed.highlighted):
615            (.details-section.probe-set .data-grid tr.separator):
616            (.details-section.probe-set .data-grid > tr.data-updated):
617            (.details-section.probe-set .data-grid .selected .section *):
618            (.details-section.probe-set .data-grid .selected td.unknown-value):
619            (.details-section.probe-set .data-grid .section):
620            * UserInterface/Views/QuickConsole.css:
621            (.quick-console):
622            * UserInterface/Views/TimelineDataGrid.css:
623            (.data-grid.timeline th):
624            (.data-grid.timeline > .navigation-bar-container > .navigation-bar):
625            * UserInterface/Views/TimelineRuler.css:
626            (.timeline-ruler > .header):
627            (.timeline-ruler > .header > .divider):
628
6292014-08-12  Lucas Forschler  <lforschler@apple.com>
630
631        Merge r172379
632
633    2014-08-10  Timothy Hatcher  <timothy@apple.com>
634
635            Web Inspector: new glyphs are visible on OS X 10.9 builds
636            https://bugs.webkit.org/show_bug.cgi?id=135743
637
638            Reviewed by Joseph Pecoraro.
639
640            * UserInterface/Images/Legacy/UserInputPrompt.svg: Removed.
641            * UserInterface/Images/Legacy/UserInputPromptPrevious.svg: Removed.
642            * UserInterface/Images/Legacy/UserInputResult.svg: Removed.
643            Removed images that were not used.
644
645            * UserInterface/Views/DashboardContainerView.css:
646            (body.mac-platform.legacy .dashboard-container .advance-arrow):
647            * UserInterface/Views/DebuggerDashboardView.js:
648            (WebInspector.DebuggerDashboardView):
649            * UserInterface/Views/FolderIcon.css:
650            (body.mac-platform.legacy .folder-icon .icon):
651            * UserInterface/Views/HierarchicalPathComponent.css:
652            (body.mac-platform.legacy .hierarchical-path-component > .selector-arrows):
653            * UserInterface/Views/LogContentView.js:
654            (WebInspector.LogContentView):
655            Use legacy images.
656
657            * UserInterface/Views/NavigationSidebarPanel.css:
658            (.navigation-sidebar-panel-content-tree-outline:focus .item.selected .subtitle):
659            Fix color for selected subtitle.
660
661            * UserInterface/Views/TimelineSidebarPanel.js:
662            (WebInspector.TimelineSidebarPanel):
663            Use legacy images.
664
6652014-08-12  Lucas Forschler  <lforschler@apple.com>
666
667        Merge r172397
668
669    2014-08-11  Brent Fulgham  <bfulgham@apple.com>
670
671            [Win] Adjust build script for Windows production build.
672            https://bugs.webkit.org/show_bug.cgi?id=135806
673            <rdar://problem/17978299>
674
675            Reviewed by Timothy Hatcher.
676
677            * WebInspectorUI.vcxproj/WebInspectorUI.make: Make sure target for
678            xcopy operation exists.
679            * WebInspectorUI.vcxproj/WebInspectorUI.proj: Don't create directories
680            we don't need, make sure the target location exists before we build.
681            * WebInspectorUI.vcxproj/build-webinspectorui.pl: Make sure that
682            production builds get the intermediary command files from the
683            right place.
684
6852014-08-12  Lucas Forschler  <lforschler@apple.com>
686
687        Merge r172262
688
689    2014-08-07  Brent Fulgham  <bfulgham@apple.com>
690
691            [Win] Unreviewed build fix.
692
693            Add a WebInspectorUI.proj file for use with MSBuild utility.
694
695            * WebInspectorUI.vcxproj/WebInspectorUI.proj: Added.
696
6972014-08-12  Lucas Forschler  <lforschler@apple.com>
698
699        Merge r172336
700
701    2014-08-07  Joseph Pecoraro  <pecoraro@apple.com>
702
703            Web Inspector: Fix accidental always true comparison
704            https://bugs.webkit.org/show_bug.cgi?id=135741
705
706            Reviewed by Timothy Hatcher.
707
708            Remove accidental "!" that would always cause this comparison to succeed.
709
710            * UserInterface/Views/OverviewTimelineView.js:
711            (WebInspector.OverviewTimelineView.prototype.updateLayout):
712
7132014-08-12  Lucas Forschler  <lforschler@apple.com>
714
715        Merge r172333
716
717    2014-08-07  Joseph Pecoraro  <pecoraro@apple.com>
718
719            Web Inspector: breakpoints enabled state is not persisted across re-opening the inspector
720            https://bugs.webkit.org/show_bug.cgi?id=135745
721
722            Reviewed by Timothy Hatcher.
723
724            When restoring breakpoints when the inspector is initializing, do not
725            let setting these breakpoints automatically enable breakpoints. We should
726            respect the setting in this case.
727
728            * UserInterface/Controllers/DebuggerManager.js:
729            (WebInspector.DebuggerManager.restoreBreakpointsSoon):
730            (WebInspector.DebuggerManager):
731
7322014-08-11  Lucas Forschler  <lforschler@apple.com>
733
734        Merge r172403
735
736    2014-08-11  Timothy Hatcher  <timothy@apple.com>
737
738            Web Inspector: Update folder icons
739            https://bugs.webkit.org/show_bug.cgi?id=135808
740
741            Reviewed by Joseph Pecoraro.
742
743            * UserInterface/Images/FolderGeneric.png: Updated.
744            * UserInterface/Images/FolderGeneric@2x.png: Updated.
745
7462014-08-07  Dana Burkart <dburkart@apple.com>
747
748        Merge r172312
749
750    2014-08-07  Timothy Hatcher  <timothy@apple.com>
751
752            Web Inspector: Filter bar text and icon are positioned too low and tight
753            https://bugs.webkit.org/show_bug.cgi?id=135723
754
755            Reviewed by Joseph Pecoraro.
756
757            * UserInterface/Views/FilterBar.css:
758            (.filter-bar > input[type="search"]):
759            (.filter-bar > input[type="search"]::-webkit-search-decoration):
760            * UserInterface/Views/SearchBar.css:
761            (.search-bar > input[type="search"]):
762
7632014-08-07  Dana Burkart <dburkart@apple.com>
764
765        Merge r172313
766
767    2014-08-07  Timothy Hatcher  <timothy@apple.com>
768
769            Fix regression where tree outline keyboard navigation is broken.
770
771            https://bugs.webkit.org/show_bug.cgi?id=135718
772
773            Reviewed by Joseph Pecoraro.
774
775            * UserInterface/Views/TreeOutline.js:
776            (TreeElement.prototype.revealed): Fix the check for currentAncestor.hidden.
777
7782014-08-07  Dana Burkart <dburkart@apple.com>
779
780        Merge r172289
781
782    2014-08-07  Timothy Hatcher  <timothy@apple.com>
783
784            Web Inspector: Dashboard error and warning icons should be filled when enabled
785            https://bugs.webkit.org/show_bug.cgi?id=135725
786
787            Reviewed by Joseph Pecoraro.
788
789            * UserInterface/Images/ErrorsEnabled.svg:
790            * UserInterface/Images/IssuesEnabled.svg:
791
7922014-08-07  Dana Burkart <dburkart@apple.com>
793
794        Merge r172285
795
796    2014-08-07  Joseph Pecoraro  <pecoraro@apple.com>
797
798            Web Inspector: Dashboard contents shift when window changes active state
799            https://bugs.webkit.org/show_bug.cgi?id=135724
800
801            Reviewed by Timothy Hatcher.
802
803            The container was getting a 1px border when inactive and none when active.
804            Give it a transparent border when active so contents don't change size.
805
806            * UserInterface/Views/DashboardContainerView.css:
807            (.toolbar .dashboard-container):
808
8092014-08-07  Dana Burkart <dburkart@apple.com>
810
811        Merge r172263
812
813    2014-08-07  Timothy Hatcher  <timothy@apple.com>
814
815            Fix reference to missing CloseTimeline.svg image.
816
817            Rubber-stamped by Joseph Pecoraro.
818
819            * UserInterface/Views/TimelineSidebarPanel.js:
820            (WebInspector.TimelineSidebarPanel.createTimelineTreeElement): Use CloseLarge.svg instead.
821
8222014-08-07  Dana Burkart <dburkart@apple.com>
823
824        Merge r172241
825
826      2014-08-07  Timothy Hatcher  <timothy@apple.com>
827
828              Web Inspector: Update glyphs to be more like Xcode 6
829              https://bugs.webkit.org/show_bug.cgi?id=135705
830
831              Reviewed by Joseph Pecoraro.
832
833              * Localizations/en.lproj/localizedStrings.js: Updated.
834
835              * UserInterface/Base/ImageUtilities.js:
836              (platformImagePath): Added.
837              (generateEmbossedImages.generateImage):
838              Bump the base image version. Helper function. Use isLegacyMacOS.
839
840              * UserInterface/Base/Main.js:
841              (WebInspector.contentLoaded):
842              (WebInspector._updateDockNavigationItems):
843              (WebInspector._generateDisclosureTriangleImages):
844              Use new images and add legacy path. Remove the shadow.
845
846              * UserInterface/Images: Updated images.
847              * UserInterface/Images/Legacy: Added. Moved legacy images here.
848
849              * UserInterface/Views/CSSStyleDeclarationSection.css:
850              (.style-declaration-section):
851              (body.mac-platform.legacy .style-declaration-section + .style-declaration-section):
852              (.style-declaration-section.last-in-group):
853              (.style-declaration-section.last-in-group + .style-declaration-section):
854              Use a consistent gray for borders.
855
856              * UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
857              (.sidebar > .panel.details.css-style > .content > .pseudo-classes):
858              Use a consistent gray for borders.
859
860              * UserInterface/Views/ContentBrowser.js:
861              (WebInspector.ContentBrowser):
862              Use new images and add legacy path.
863
864              * UserInterface/Views/ControlToolbarItem.css:
865              (.toolbar .item.control):
866              (body.mac-platform.legacy .toolbar .item.control):
867              (.toolbar .item.control:hover):
868              (body.mac-platform.legacy .toolbar .item.control:hover):
869              Adjust the opacity for controls.
870
871              * UserInterface/Views/DOMTreeContentView.js:
872              (WebInspector.DOMTreeContentView):
873              Use new images and add legacy path.
874
875              * UserInterface/Views/DataGrid.css:
876              (.data-grid tr.selected):
877              Use a consistent gray for borders.
878
879              * UserInterface/Views/DataGrid.js:
880              (WebInspector.DataGrid.prototype.get _generateSortIndicatorImagesIfNeeded):
881              Use new images and add legacy path. Remove the shadow.
882
883              * UserInterface/Views/DebuggerSidebarPanel.js:
884              (WebInspector.DebuggerSidebarPanel):
885              Use new images and add legacy path.
886
887              * UserInterface/Views/DefaultDashboardView.css:
888              (.toolbar .dashboard.default > .item):
889              (body.mac-platform.legacy .toolbar .dashboard.default > .item):
890              (body.mac-platform.legacy .toolbar .dashboard.default > .resourcesCount > img):
891              (body.mac-platform.legacy .toolbar .dashboard.default > .time > img):
892              (body.mac-platform.legacy .toolbar .dashboard.default > .logs > img):
893              (body.mac-platform.legacy .toolbar .dashboard.default > .resourcesSize > img):
894              (body.mac-platform.legacy .toolbar .dashboard.default > .errors > img):
895              (body.mac-platform.legacy .toolbar .dashboard.default > .errors.enabled > img):
896              (body.mac-platform.legacy .toolbar .dashboard.default > .issues > img):
897              (body.mac-platform.legacy .toolbar .dashboard.default > .issues.enabled > img):
898              Use new images and add legacy path.
899
900              * UserInterface/Views/DetailsSection.css:
901              (.details-section):
902              (.details-section .details-section:first-child):
903              (body.mac-platform.legacy .details-section > .header):
904              (.details-section > .content > .group):
905              (.details-section > .content > .group:nth-child(even) > .row.simple:first-child > *):
906              (body.mac-platform.legacy .details-section > .content > .group:last-child > .row.simple:last-child > *):
907              Use a consistent gray for borders.
908
909              * UserInterface/Views/FilterBar.css:
910              (body.mac-platform.legacy .filter-bar > input[type="search"]::-webkit-search-decoration):
911              Use new images and add legacy path.
912
913              * UserInterface/Views/FindBanner.css:
914              (.find-banner):
915              Use a consistent gray for borders.
916
917              * UserInterface/Views/FindBanner.js:
918              (WebInspector.FindBanner.prototype._generateButtonsGlyphsIfNeeded):
919              Add legacy path.
920
921              * UserInterface/Views/FrameTreeElement.js:
922              (WebInspector.FrameTreeElement.prototype.updateStatusForMainFrame):
923              Use new images and add legacy path.
924
925              * UserInterface/Views/LogContentView.js:
926              (WebInspector.LogContentView):
927              Use new images and add legacy path.
928
929              * UserInterface/Views/Main.css:
930              (#split-content-browser):
931              Use a consistent gray for borders.
932
933              * UserInterface/Views/NavigationSidebarPanel.css:
934              (.sidebar > .panel.navigation > .overflow-shadow):
935              (body.mac-platform.legacy .sidebar > .panel.navigation > .overflow-shadow):
936              (.sidebar > .panel.navigation > .overflow-shadow.top):
937              (body.mac-platform.legacy .sidebar > .panel.navigation > .overflow-shadow.top):
938              (.sidebar > .panel.navigation > .empty-content-placeholder):
939              (body.mac-platform.legacy .sidebar > .panel.navigation > .empty-content-placeholder):
940              (.navigation-sidebar-panel-content-tree-outline:focus .item.selected .disclosure-button):
941              (.navigation-sidebar-panel-content-tree-outline:focus .item.selected.expanded .disclosure-button):
942              (.navigation-sidebar-panel-content-tree-outline .item.selected):
943              (.navigation-sidebar-panel-content-tree-outline:focus .item.selected):
944              Adjust the styles to make the selected item use white text and icons only when focused.
945
946              * UserInterface/Views/NavigationSidebarPanel.js:
947              (WebInspector.NavigationSidebarPanel.prototype._updateContentOverflowShadowVisibility):
948              (WebInspector.NavigationSidebarPanel.prototype._generateDisclosureTrianglesIfNeeded):
949              Remove the shadow from the disclosure triangles. Make the overflow shadow not fade.
950
951              * UserInterface/Views/ProbeDetailsSidebarPanel.css:
952              (.details-section.probe-set .options > .probe-clear-samples):
953              (.details-section.probe-set .options > .probe-remove):
954              (.details-section.probe-set .options > .probe-add):
955              (body.mac-platform.legacy .details-section.probe-set .options > .probe-clear-samples):
956              (body.mac-platform.legacy .details-section.probe-set .options > .probe-remove):
957              (body.mac-platform.legacy .details-section.probe-set .options > .probe-add):
958              Tweak size and position of icons and use legacy paths.
959
960              * UserInterface/Views/QuickConsole.css:
961              (.quick-console):
962              Adjust padding to match filter bar height.
963
964              * UserInterface/Views/ResourceSidebarPanel.css:
965              (.sidebar > .panel.navigation.resource > .search-bar):
966              Adjust height.
967
968              * UserInterface/Views/RulesStyleDetailsPanel.css:
969              (.sidebar > .panel.details.css-style .rules .label + .style-declaration-section):
970              (.sidebar > .panel.details.css-style .rules .new-rule + .style-declaration-section):
971              (body.mac-platform.legacy .sidebar > .panel.details.css-style .rules .new-rule img):
972              Use a consistent gray for borders. Don't bold the New Rule label.
973
974              * UserInterface/Views/ScriptContentView.js:
975              (WebInspector.ScriptContentView):
976              Use new images and add legacy path.
977
978              * UserInterface/Views/Sidebar.css:
979              (.sidebar.left):
980              (.sidebar.right):
981              Use a consistent gray for borders.
982
983              * UserInterface/Views/TextContentView.js:
984              (WebInspector.TextContentView):
985              Use new images and add legacy path.
986
987              * UserInterface/Views/TextResourceContentView.js:
988              (WebInspector.TextResourceContentView):
989              Use new images and add legacy path.
990
991              * UserInterface/Views/TimelineContentView.js:
992              (WebInspector.TimelineContentView):
993              Use new images and add legacy path.
994
995              * UserInterface/Views/TimelineDataGrid.css:
996              (.data-grid.timeline th):
997              (.data-grid.timeline th.sortable:active):
998              (.data-grid.timeline th.sort-descending):
999              Fix a regression with the gradient background showing in legacy mode.
1000
1001              * UserInterface/Views/TimelineIcons.css:
1002              (body.mac-platform.legacy .network-icon .icon):
1003              (body.mac-platform.legacy .network-icon.large .icon):
1004              (body.mac-platform.legacy .colors-icon .icon):
1005              (body.mac-platform.legacy .colors-icon.large .icon):
1006              Added legacy versions of these icons.
1007
1008              * UserInterface/Views/TimelineSidebarPanel.css:
1009              (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph):
1010              (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph:hover):
1011              (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph:active):
1012              (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.recording):
1013              (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-glyph):
1014              (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.recording):
1015              (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-glyph:hover):
1016              (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.recording:hover):
1017              (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.forced):
1018              (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.recording.forced):
1019              (.sidebar > .panel.navigation.timeline > .timelines-content .close-button):
1020              (.sidebar > .panel.navigation.timeline > .timelines-content li.item.selected + li.item):
1021              (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .timelines-content :focus li.item.selected + li.item):
1022              Update the styles for the recording button and close button.
1023
1024              * UserInterface/Views/TimelineSidebarPanel.js:
1025              (WebInspector.TimelineSidebarPanel.createTimelineTreeElement):
1026              Use TreeElementStatusButton instead of a styled image.
1027
1028              * UserInterface/Views/TreeElementStatusButton.css:
1029              (.item > .status > .status-button > svg path.filled):
1030              (body.mac-platform.legacy .item > .status > .status-button > svg path.filled):
1031              (:focus .item.selected > .status > .status-button > svg path.filled):
1032              (.item > .status > .status-button > svg path.stroked):
1033              (body.mac-platform.legacy .item > .status > .status-button > svg path.stroked):
1034              (:focus .item.selected > .status > .status-button > svg path.stroked):
1035              (.item.selected > .status > .status-button:active):
1036              (.item > .status > .status-button.disabled):
1037              Updated selectors and styles to work with stroke or fill.
1038
10392014-08-07  Dana Burkart <dburkart@apple.com>
1040
1041        Merge r172217
1042
1043    2014-08-07  Brian J. Burg  <burg@cs.washington.edu>
1044
1045            Web Inspector: DebuggerManager sends spurious setBreakpointsActive commands when setting a breakpoint
1046            https://bugs.webkit.org/show_bug.cgi?id=135674
1047
1048            Reviewed by David Kilzer.
1049
1050            * UserInterface/Controllers/DebuggerManager.js:
1051            (WebInspector.DebuggerManager.prototype.set breakpointsEnabled): Fix a typo.
1052
10532014-08-07  Dana Burkart <dburkart@apple.com>
1054
1055        Merge r172202
1056
1057    2014-08-06  Brent Fulgham  <bfulgham@apple.com>
1058
1059            [Win] Build fix.
1060
1061            * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj: DebugSuffix target was missing
1062            proper path settings for final output.
1063
10642014-08-05  Lucas Forschler  <lforschler@apple.com>
1065
1066        Merge r171940
1067
1068    2014-08-01  Jonathan Wells  <jonowells@apple.com>
1069
1070            Web Inspector: Timeline header height doesn't match style updates.
1071            https://bugs.webkit.org/show_bug.cgi?id=135516
1072
1073            Reviewed by Timothy Hatcher.
1074
1075            Update the timeline header height to match the updates
1076            to the navigation bars in other panels made in
1077            https://bugs.webkit.org/show_bug.cgi?id=135445. Also
1078            update the shadows on some of the search bars.
1079
1080            * UserInterface/Views/FilterBar.css:
1081            (.filter-bar > input[type="search"]):
1082            (body.mac-platform.legacy .filter-bar > input[type="search"]):
1083            * UserInterface/Views/FindBanner.css:
1084            (.find-banner > input[type="search"]):
1085            (body.mac-platform.legacy .find-banner > input[type="search"]):
1086            * UserInterface/Views/LogContentView.css:
1087            (.search-bar.log-search-bar > input[type="search"]):
1088            (body.mac-platform.legacy .search-bar.log-search-bar > input[type="search"]):
1089            Remove inset shadows on search bars.
1090
1091            * UserInterface/Views/TimelineSidebarPanel.css:
1092            (.sidebar > .panel.navigation.timeline > .status-bar):
1093            (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar):
1094            (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph):
1095            (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-glyph):
1096            (.sidebar > .panel.navigation.timeline > .status-bar > .record-status):
1097            (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-status):
1098            (.sidebar > .panel.navigation.timeline > .title-bar.timelines):
1099            (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .title-bar.timelines):
1100            (.sidebar > .panel.navigation.timeline > .title-bar.timeline-events):
1101            (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .title-bar.timeline-events):
1102            (.sidebar > .panel.navigation.timeline > .timelines-content):
1103            (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .timelines-content):
1104            (.sidebar > .panel.navigation.timeline > .empty-content-placeholder):
1105            (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .empty-content-placeholder):
1106            Update the height of the timeline status bar.
1107
11082014-08-05  Lucas Forschler  <lforschler@apple.com>
1109
1110        Merge r171908
1111
1112    2014-07-31  Joseph Pecoraro  <pecoraro@apple.com>
1113
1114            Web Inspector: "Stop Recording" button feels unresponsive, recording takes a long time to stop
1115            https://bugs.webkit.org/show_bug.cgi?id=135490
1116
1117            Reviewed by Timothy Hatcher.
1118
1119            * UserInterface/Controllers/TimelineManager.js:
1120            (WebInspector.TimelineManager.prototype.stopCapturing):
1121            Immediately stop the recording without waiting for an event from the backend.
1122            This makes the Web Inspector UI feel responsive to the user stopping the recording.
1123            This also matches behavior before r171195.
1124
11252014-08-05  Lucas Forschler  <lforschler@apple.com>
1126
1127        Merge r171894
1128
1129    2014-07-31  Joseph Pecoraro  <pecoraro@apple.com>
1130
1131            Web Inspector: Timeline recording is not working inspecting iOS 7 and earlier
1132            https://bugs.webkit.org/show_bug.cgi?id=135466
1133
1134            Reviewed by Timothy Hatcher.
1135
1136            Start / stop capturing for older backends that won't emit start / stop events.
1137
1138            * UserInterface/Protocol/InspectorBackend.js:
1139            (InspectorBackend.Agent.prototype.hasEvent):
1140            Provide a way to check if an event is supported.
1141
1142            * UserInterface/Controllers/TimelineManager.js:
1143            (WebInspector.TimelineManager.prototype.startCapturing):
1144            (WebInspector.TimelineManager.prototype.stopCapturing):
1145            Fallback to starting and stopping capturing manually if the backend
1146            does not provide the events.
1147
11482014-08-05  Lucas Forschler  <lforschler@apple.com>
1149
1150        Merge r171885
1151
1152    2014-07-31  Jonathan Wells  <jonowells@apple.com>
1153
1154            Web Inspector: Sync button look and feel with Xcode updates.
1155            https://bugs.webkit.org/show_bug.cgi?id=135445
1156
1157            Reviewed by Timothy Hatcher.
1158
1159            Update styles to match recent changes to Xcode text-only
1160            buttons, the navigation bar, and search fields. Include
1161            older style rules for older Mac platforms.
1162
1163            * UserInterface/Views/ButtonNavigationItem.css:
1164            (.navigation-bar .item.button.text-only):
1165            (body.mac-platform.legacy .navigation-bar .item.button.text-only):
1166            * UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
1167            (.sidebar > .panel.details.css-style > .navigation-bar):
1168            (.sidebar > .panel.details.css-style > .content):
1169            (body.mac-platform.legacy .sidebar > .panel.details.css-style > .content):
1170            * UserInterface/Views/DebuggerSidebarPanel.css:
1171            (.sidebar > .panel.navigation.debugger > .content):
1172            (body.mac-platform.legacy .sidebar > .panel.navigation.debugger > .content):
1173            * UserInterface/Views/DividerNavigationItem.css:
1174            (.navigation-bar .item.divider):
1175            (body.mac-platform.legacy .navigation-bar .item.divider):
1176            * UserInterface/Views/FilterBar.css:
1177            (.filter-bar):
1178            (body.mac-platform.legacy .filter-bar):
1179            (.filter-bar > input[type="search"]):
1180            (body.mac-platform.legacy .filter-bar > input[type="search"]):
1181            * UserInterface/Views/LogContentView.css:
1182            (.search-bar.log-search-bar > input[type="search"]):
1183            (@media reader):
1184            (.log-search-bar > input): Deleted.
1185            * UserInterface/Views/Main.css:
1186            (#split-content-browser > .navigation-bar):
1187            (body.mac-platform.legacy #split-content-browser > .navigation-bar):
1188            * UserInterface/Views/NavigationBar.css:
1189            (.navigation-bar):
1190            (body.mac-platform.legacy .navigation-bar):
1191            (.navigation-bar .item):
1192            (body.mac-platform.legacy .navigation-bar .item):
1193            * UserInterface/Views/NavigationSidebarPanel.css:
1194            (.sidebar > .panel.navigation > .content):
1195            (body.mac-platform.legacy .sidebar > .panel.navigation > .content):
1196            * UserInterface/Views/QuickConsole.css:
1197            (.quick-console):
1198            (body.mac-platform.legacy .quick-console):
1199            * UserInterface/Views/RadioButtonNavigationItem.css:
1200            (.navigation-bar .item.radio.button.text-only:hover):
1201            (body.mac-platform.legacy .navigation-bar .item.radio.button.text-only:hover):
1202            (.navigation-bar .item.radio.button.text-only.selected):
1203            (body.mac-platform.legacy .navigation-bar .item.radio.button.text-only.selected):
1204            (.navigation-bar .item.radio.button.text-only:active):
1205            (.navigation-bar .item.radio.button.text-only.selected:active):
1206            (body.mac-platform.legacy .navigation-bar .item.radio.button.text-only.selected:active):
1207            * UserInterface/Views/ResourceSidebarPanel.css:
1208            (.sidebar > .panel.navigation.resource > .empty-content-placeholder):
1209            (body.mac-platform.legacy .sidebar > .panel.navigation.resource > .empty-content-placeholder):
1210            (.sidebar > .panel.navigation.resource > .search-bar):
1211            (body.mac-platform.legacy .sidebar > .panel.navigation.resource > .search-bar):
1212            (.sidebar > .panel.navigation.resource > .search-bar > input[type="search"]):
1213            (body.mac-platform.legacy .sidebar > .panel.navigation.resource > .search-bar > input[type="search"]):
1214            * UserInterface/Views/ScopeBar.css:
1215            (.scope-bar > li):
1216            (body.mac-platform.legacy .scope-bar > li):
1217            (.scope-bar > li:hover):
1218            (body.mac-platform.legacy .scope-bar > li:hover):
1219            (.scope-bar > li.selected):
1220            (.scope-bar > li:active):
1221            (body.mac-platform.legacy .scope-bar > li:active):
1222            (.scope-bar > li.selected:active):
1223            (body.mac-platform.legacy .scope-bar > li.selected:active):
1224            * UserInterface/Views/SearchBar.css:
1225            (.search-bar > input[type="search"]):
1226            (body.mac-platform.legacy .search-bar > input[type="search"]):
1227            Update styles and apply older styles to legacy Mac platforms.
1228
12292014-08-05  Lucas Forschler  <lforschler@apple.com>
1230
1231        Merge r171881
1232
1233    2014-07-31  Brian J. Burg  <burg@cs.washington.edu>
1234
1235            Web Inspector: MessageDispatcher should not synchronously dispatch all backend messages
1236            https://bugs.webkit.org/show_bug.cgi?id=135427
1237
1238            Reviewed by Timothy Hatcher.
1239
1240            The frontend dispatches all queued messages from the backend synchronously, even if there are
1241            hundreds of messages, or even if some of the messages take a long time (>10ms) to process.
1242
1243            This patch adds a time limit to the frontend's message dispatcher. If the time limit is exceeded
1244            when processing the message queue, unhandled messages remain in the queue and the dispatcher goes
1245            to sleep until the next run loop (obtained by a new setTimeout).
1246
1247            This has the effect of removing stutters when the message queue has hundreds of small messages.
1248            The outliers are still the same since some single messages can take over 200ms to be handled.
1249
1250            This patch also improves performance logging in InspectorBackend so that it is easier to see
1251            message handling times and their distribution among run loop turns.
1252
1253            * UserInterface/Protocol/InspectorBackend.js:
1254            (InspectorBackendClass): Add a new diagnostic flag that warns about slow message handling.
1255            (InspectorBackendClass.prototype._dispatchCallback.get if): Improve logging.
1256            (InspectorBackendClass.prototype._dispatchCallback): Improve logging.
1257            (InspectorBackendClass.prototype._dispatchEvent): Improve logging.
1258            * UserInterface/Protocol/MessageDispatcher.js:
1259            (WebInspector.dispatchNextQueuedMessageFromBackend): Keep track of a time limit for message
1260            dispatching, and set a new timeout if we exceed the time limit.
1261
12622014-08-05  Lucas Forschler  <lforschler@apple.com>
1263
1264        Merge r171869
1265
1266    2014-07-31  Joseph Pecoraro  <pecoraro@apple.com>
1267
1268            Web Inspector: Right edge of Timeline Record button does not work
1269            https://bugs.webkit.org/show_bug.cgi?id=135444
1270
1271            Reviewed by Timothy Hatcher.
1272
1273            When hovering the record button we would show the status text, however
1274            because the left edge of the status text box would overlap the right
1275            edge of the record button causing completely unexpected behavior.
1276
1277            Position the status text correctly so that it never overlaps the record
1278            button. 5px to match the left margin of the record button, and another
1279            2px for some padding between the button and text.
1280
1281            * UserInterface/Views/TimelineSidebarPanel.css:
1282            (.sidebar > .panel.navigation.timeline > .status-bar > .record-status):
1283
12842014-08-05  Lucas Forschler  <lforschler@apple.com>
1285
1286        Merge r171866
1287
1288    2014-07-31  Joseph Pecoraro  <pecoraro@apple.com>
1289
1290            Web Inspector: console.profile missing profile information
1291            https://bugs.webkit.org/show_bug.cgi?id=135432
1292
1293            Reviewed by Timothy Hatcher.
1294
1295            * UserInterface/Models/ScriptTimelineRecord.js:
1296            Delete the payload information as soon as it has been processed.
1297            It is no longer needed anymore and can be garbage collected.
1298
12992014-08-05  Lucas Forschler  <lforschler@apple.com>
1300
1301        Merge r171866
1302
1303    2014-07-31  Joseph Pecoraro  <pecoraro@apple.com>
1304
1305            Web Inspector: console.profile missing profile information
1306            https://bugs.webkit.org/show_bug.cgi?id=135432
1307
1308            Reviewed by Timothy Hatcher.
1309
1310            * UserInterface/Models/ScriptTimelineRecord.js:
1311            Delete the payload information as soon as it has been processed.
1312            It is no longer needed anymore and can be garbage collected.
1313
13142014-07-30  Lucas Forschler  <lforschler@apple.com>
1315
1316        Merge r171790
1317
1318    2014-07-29  Joseph Pecoraro  <pecoraro@apple.com>
1319
1320            Web Inspector: 80% of time during recording is spent creating source code locations for profile nodes
1321            https://bugs.webkit.org/show_bug.cgi?id=135399
1322
1323            Reviewed by Timothy Hatcher.
1324
1325            Profiling the inspector while recording a timeline, a significant amount of
1326            time was spent creating SourceCodeLocation objects for profiling information
1327            and call frames. A lot of this data was eagerly being processed, even though
1328            it would not immediately be presentable to the user.
1329
1330            This makes two significant changes. We create a LazySourceCodeLocation class
1331            which does as little as possible until display information is requested. We
1332            also lazily convert the profiler payload data to a Profile object, so the
1333            processing is only done if you drill into the Script specific timeline.
1334
1335            This results in a significant performance improvement in the overview view.
1336
1337            * UserInterface/Controllers/TimelineManager.js:
1338            (WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
1339            (WebInspector.TimelineManager.prototype.eventRecorded):
1340            (WebInspector.TimelineManager.prototype._callFramesFromPayload.createCallFrame):
1341            (WebInspector.TimelineManager.prototype._callFramesFromPayload):
1342            (WebInspector.TimelineManager.prototype._profileFromPayload.profileNodeFromPayload): Deleted.
1343            (WebInspector.TimelineManager.prototype._profileFromPayload.profileNodeCallFromPayload): Deleted.
1344            (WebInspector.TimelineManager.prototype._profileFromPayload): Deleted.
1345            Do not eagerly process profile payloads. Instead pass the payload to ScriptTimelineRecords.
1346            Likewise create callframes with lazy source code locations to do the minimum amount of work.
1347
1348            * UserInterface/Models/ScriptTimelineRecord.js:
1349            (WebInspector.ScriptTimelineRecord):
1350            (WebInspector.ScriptTimelineRecord.prototype.get profile):
1351            (WebInspector.ScriptTimelineRecord.prototype._initializeProfileFromPayload.profileNodeFromPayload):
1352            (WebInspector.ScriptTimelineRecord.prototype._initializeProfileFromPayload.profileNodeCallFromPayload):
1353            (WebInspector.ScriptTimelineRecord.prototype._initializeProfileFromPayload):
1354            Only when the profile is asked do we process the profiler payload information.
1355            This defer the processing until at least the user drills into the Script timeline.
1356
1357            * UserInterface/Main.html:
1358            Add the new class and ensure SourceCodeLocation is available beforehand.
1359
1360            * UserInterface/Models/LazySourceCodeLocation.js: Added.
1361            (WebInspector.LazySourceCodeLocation):
1362            (WebInspector.LazySourceCodeLocation.prototype.isEqual):
1363            (WebInspector.LazySourceCodeLocation.prototype.get sourceCode):
1364            (WebInspector.LazySourceCodeLocation.prototype.set sourceCode):
1365            (WebInspector.LazySourceCodeLocation.prototype.get formattedLineNumber):
1366            (WebInspector.LazySourceCodeLocation.prototype.get formattedColumnNumber):
1367            (WebInspector.LazySourceCodeLocation.prototype.formattedPosition):
1368            (WebInspector.LazySourceCodeLocation.prototype.hasFormattedLocation):
1369            (WebInspector.LazySourceCodeLocation.prototype.hasDifferentDisplayLocation):
1370            (WebInspector.LazySourceCodeLocation.prototype.resolveMappedLocation):
1371            (WebInspector.LazySourceCodeLocation.prototype._lazyInitialization):
1372            Only when display information is requested will we perform extra processing.
1373            For basic information we do not need to check for formatted (pretty-printed) info.
1374
1375            * UserInterface/Models/SourceCode.js:
1376            (WebInspector.SourceCode.prototype.createLazySourceCodeLocation):
1377            Provide an explict create function for lazy source codes.
1378
1379            * UserInterface/Models/SourceCodeLocation.js:
1380            (WebInspector.SourceCodeLocation.prototype.set sourceCode):
1381            (WebInspector.SourceCodeLocation.prototype.get displaySourceCode):
1382            (WebInspector.SourceCodeLocation.prototype.get displayLineNumber):
1383            (WebInspector.SourceCodeLocation.prototype.get displayColumnNumber):
1384            (WebInspector.SourceCodeLocation.prototype.hasMappedLocation):
1385            (WebInspector.SourceCodeLocation.prototype.setSourceCode):
1386            (WebInspector.SourceCodeLocation.prototype.resolveMappedLocation):
1387            (WebInspector.SourceCodeLocation.prototype._makeChangeAndDispatchChangeEventIfNeeded):
1388            (WebInspector.SourceCodeLocation.prototype._resolveMappedLocation): Deleted.
1389            Include two protected functions which LazySourceCodeLocation overrides.
1390
13912014-07-30  Lucas Forschler  <lforschler@apple.com>
1392
1393        Merge r171787
1394
1395    2014-07-29  Joseph Pecoraro  <pecoraro@apple.com>
1396
1397            Web Inspector: Only compute full ProfileNode times if needed - Legacy Profiler
1398            https://bugs.webkit.org/show_bug.cgi?id=135406
1399
1400            Reviewed by Timothy Hatcher.
1401
1402            Full ProfileNode times are only used by the Legacy Profiler. The new profile
1403            information in the Scripts Timelines currently never uses the pass. We should
1404            avoid calculating it if we never use it.
1405
1406            * UserInterface/Models/ProfileNode.js:
1407            (WebInspector.ProfileNode.prototype.get startTime):
1408            (WebInspector.ProfileNode.prototype.get endTime):
1409            (WebInspector.ProfileNode.prototype.get selfTime):
1410            (WebInspector.ProfileNode.prototype.get totalTime):
1411            (WebInspector.ProfileNode.prototype.establishRelationships):
1412            (WebInspector.ProfileNode.prototype._computeTotalTimes):
1413
14142014-07-30  Lucas Forschler  <lforschler@apple.com>
1415
1416        Merge r171786
1417
1418    2014-07-29  Joseph Pecoraro  <pecoraro@apple.com>
1419
1420            Web Inspector: Reduce forced layouts in TimelineOverview
1421            https://bugs.webkit.org/show_bug.cgi?id=135405
1422
1423            Reviewed by Timothy Hatcher.
1424
1425            Remove another forced layout. The scroll container won't
1426            change size unless the ContentView itself resized. Make the
1427            distinction between a layout update due to a resize and
1428            normal events (scale changes, etc) and only calculate
1429            element sizes then.
1430
1431            * UserInterface/Views/TimelineContentView.js:
1432            (WebInspector.TimelineContentView.prototype.updateLayout):
1433            * UserInterface/Views/TimelineOverview.js:
1434            (WebInspector.TimelineOverview):
1435            (WebInspector.TimelineOverview.prototype.get visibleDuration):
1436            (WebInspector.TimelineOverview.prototype.updateLayoutForResize):
1437
14382014-07-30  Lucas Forschler  <lforschler@apple.com>
1439
1440        Merge r171783
1441
1442    2014-07-29  Joseph Pecoraro  <pecoraro@apple.com>
1443
1444            Web Inspector: Eliminate more forced layouts during timeline recordings
1445            https://bugs.webkit.org/show_bug.cgi?id=135397
1446
1447            Reviewed by Timothy Hatcher.
1448
1449            Instead of computing the secondsPerPixel in each overview graph,
1450            we can ask the overview view itself which has a cached value.
1451            The computation used to force a layout, now it doesn't need to.
1452
1453            * UserInterface/Views/LayoutTimelineOverviewGraph.js:
1454            * UserInterface/Views/NetworkTimelineOverviewGraph.js:
1455            * UserInterface/Views/ScriptTimelineOverviewGraph.js:
1456            * UserInterface/Views/TimelineOverview.js:
1457            (WebInspector.TimelineOverview):
1458            * UserInterface/Views/TimelineOverviewGraph.js:
1459            (WebInspector.TimelineOverviewGraph):
1460            (WebInspector.TimelineOverviewGraph.prototype.get timelineOverview):
1461            (WebInspector.TimelineOverviewGraph.prototype.set timelineOverview):
1462
14632014-07-29  Lucas Forschler  <lforschler@apple.com>
1464
1465        Merge r171721
1466
1467    2014-07-28  Joseph Pecoraro  <pecoraro@apple.com>
1468
1469            Web Inspector: Incorrectly sized TimelineDataGrid event bubble
1470            https://bugs.webkit.org/show_bug.cgi?id=135371
1471
1472            Reviewed by Timothy Hatcher.
1473
1474            Previously the secondsPerPixel calculation was relying on an element
1475            that may not be sized yet. This was resulting in a visibleWidth of 0
1476            and resulted in secondsPerPixel being Infinity. Fortunately, the
1477            graph data source already knows the secondsPerPixel so we can just
1478            ask it. Getting the correct value and eliminating forced layouts.
1479
1480            * UserInterface/Views/OverviewTimelineView.js:
1481            (WebInspector.OverviewTimelineView.prototype.get secondsPerPixel):
1482            * UserInterface/Views/TimelineDataGridNode.js:
1483
14842014-07-29  Lucas Forschler  <lforschler@apple.com>
1485
1486        Merge r171720
1487
1488    2014-07-28  Joseph Pecoraro  <pecoraro@apple.com>
1489
1490            Web Inspector: Reduce work creating the initial WebInspector.TimelineRecordBar
1491            https://bugs.webkit.org/show_bug.cgi?id=135373
1492
1493            Reviewed by Timothy Hatcher.
1494
1495            Eliminate a bit of extra work creating TimelineRecordBars. Previously
1496            the constructor would setup an empty list of records, and then we would
1497            immediately after replace them. Now just set them in the constructor.
1498
1499            * UserInterface/Views/LayoutTimelineOverviewGraph.js:
1500            (WebInspector.LayoutTimelineOverviewGraph.prototype.updateLayout.createBar):
1501            (WebInspector.LayoutTimelineOverviewGraph.prototype.updateLayout):
1502            * UserInterface/Views/NetworkTimelineOverviewGraph.js:
1503            (WebInspector.NetworkTimelineOverviewGraph.prototype.updateLayout.createBar):
1504            (WebInspector.NetworkTimelineOverviewGraph.prototype.updateLayout):
1505            * UserInterface/Views/ScriptTimelineOverviewGraph.js:
1506            (WebInspector.ScriptTimelineOverviewGraph.prototype.updateLayout.createBar):
1507            (WebInspector.ScriptTimelineOverviewGraph.prototype.updateLayout):
1508            * UserInterface/Views/TimelineDataGridNode.js:
1509            (WebInspector.TimelineDataGridNode.prototype.refreshGraph.createBar):
1510
15112014-07-29  Lucas Forschler  <lforschler@apple.com>
1512
1513        Merge r171716
1514
1515    2014-07-28  Timothy Hatcher  <timothy@apple.com>
1516
1517            Web Inspector: Unexpected dark border on selected but window inactive timeline
1518            https://bugs.webkit.org/show_bug.cgi?id=135360
1519
1520            Update the border-top colors for the item adjacent to the selected item.
1521
1522            Reviewed by Joseph Pecoraro.
1523
1524            * UserInterface/Views/TimelineSidebarPanel.css:
1525            (.sidebar > .panel.navigation.timeline > .timelines-content li.item.selected + li.item):
1526            (.sidebar > .panel.navigation.timeline > .timelines-content :focus li.item.selected + li.item):
1527            (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .timelines-content li.item.selected + li.item):
1528            (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .timelines-content :focus li.item.selected + li.item):
1529
15302014-07-28  Matthew Hanson  <matthew_hanson@apple.com>
1531
1532        Merge r171645. <rdar://problem/17818693>
1533
1534    2014-07-26  Joseph Pecoraro  <pecoraro@apple.com>
1535    
1536            Web Inspector: Timelines performance is very slow, has many forced layouts
1537            https://bugs.webkit.org/show_bug.cgi?id=135313
1538    
1539            Reviewed by Timothy Hatcher.
1540    
1541            * UserInterface/Views/NavigationItem.js:
1542            (WebInspector.NavigationItem):
1543            (WebInspector.NavigationItem.prototype.get hidden):
1544            (WebInspector.NavigationItem.prototype.set hidden):
1545            Don't have the parent navigation bar update layout if the hidden state did not change.
1546            This greatly reduces the number of forced layouts as timeline nodes are added.
1547    
1548            * UserInterface/Views/NavigationSidebarPanel.js:
1549            (WebInspector.NavigationSidebarPanel.prototype.showEmptyContentPlaceholder):
1550            (WebInspector.NavigationSidebarPanel.prototype.hideEmptyContentPlaceholder):
1551            Don't do any work if this is not changing the view.
1552    
1553            (WebInspector.NavigationSidebarPanel.prototype._updateContentOverflowShadowVisibilitySoon):
1554            (WebInspector.NavigationSidebarPanel.prototype._updateContentOverflowShadowVisibility):
1555            (WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged):
1556            When first selecting a specific timeline (Layout / Scripts) we would have a very long hang
1557            updating the content. Most of this was time spent updating the overflow shadow visibility
1558            because every single tree element addition was causing a layout invalidation and forced layout.
1559            Coalesce all of the tree element adds into a single update at the end.
1560    
1561            * UserInterface/Views/TimelineOverview.js:
1562            (WebInspector.TimelineOverview.prototype.updateLayout):
1563            Calculating the visible duration checks offsetLeft. Calculate this once, outside
1564            of a loop down below, to prevent or reduce possible forced layouts.
1565    
1566            * UserInterface/Views/TreeOutline.js:
1567            (TreeElement.prototype.revealed):
1568            Prevent doing any work for timeline tree elements outside of the selected time range.
1569            Previously they were considered revealed if a parent was expanded, even though that
1570            parent was hidden. This greatly reduces the amount of work during a recording, since
1571            previously we were potentially doing a forced layout for hidden nodes.
1572    
1573            * UserInterface/Views/TimelineSidebarPanel.js:
1574            (WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject.looselyCompareRepresentedObjects):
1575            Ignore ProfileNode, which may happen here in the Script timeline.
1576    
15772014-07-22  Dana Burkart  <dburkart@apple.com>
1578
1579        Merge r171312.
1580
1581    2014-07-21  Jonathan Wells  <jonowells@apple.com>
1582
1583            Back/Forward arrows (modern) are too large.
1584            https://bugs.webkit.org/show_bug.cgi?id=135073
1585
1586            Reviewed by Joseph Pecoraro.
1587
1588            Changes to adjust new forward and back arrow sizes to be more consistent with the 
1589            universal design language. Moved WebInspector.Platform definition to its own file.
1590            Refactored handling of image versions inside ImageUtilities.js.
1591
1592            * UserInterface/Base/ImageUtilities.js:
1593            (.restoreImage):
1594            (.generateImage):
1595            (generateColoredImagesForCSS):
1596            Make the default image versioning smarter.
1597
1598            * UserInterface/Base/Main.js:
1599            (WebInspector.contentLoaded):
1600            (WebInspector.contentLoaded.WebInspector.Platform.version.toString): Deleted.
1601            (WebInspector.contentLoaded.WebInspector.Platform.toString): Deleted.
1602            * UserInterface/Base/Platform.js: Added.
1603            Move platform information definition into Platform.js.
1604
1605            * UserInterface/Main.html: Include Platform.js.
1606
1607            * UserInterface/Views/ContentBrowser.js:
1608            (WebInspector.ContentBrowser):
1609            * UserInterface/Views/FindBanner.css:
1610            (.find-banner > button > .glyph):
1611            (body.mac-platform.legacy .find-banner > button > .glyph):
1612            (.find-banner > button.segmented.left > .glyph):
1613            (body.mac-platform.legacy .find-banner > button.segmented.left > .glyph):
1614            (.find-banner > button.segmented.right > .glyph):
1615            (body.mac-platform.legacy .find-banner > button.segmented.right > .glyph):
1616            (.find-banner > button.segmented):
1617            (body.mac-platform.legacy .find-banner > button.segmented):
1618            * UserInterface/Views/FindBanner.js:
1619            (WebInspector.FindBanner.prototype._generateButtonsGlyphsIfNeeded):
1620            Size of forward and back arrows adjusted.
1621
16222014-07-22  Dana Burkart  <dburkart@apple.com>
1623
1624        Merge r171227.
1625
1626    2014-07-18  Timothy Hatcher  <timothy@apple.com>
1627
1628            Revert r169735 since it broke Timeline, and fix bug 129696 in a more targeted way.
1629
1630            REGRESSION (r169735): Web Inspector: Timeline tree outline missing data until collapse-expand.
1631            https://bugs.webkit.org/show_bug.cgi?id=134845
1632
1633            Reviewed by Joseph Pecoraro.
1634
1635            * UserInterface/Views/DOMTreeElement.js:
1636            (WebInspector.DOMTreeElement.prototype.adjustCollapsedRange): Use button isteand of assuming
1637            item.listItemElement will be ready to use. The listItemElement node is lazily created.
1638            * UserInterface/Views/TreeOutline.js:
1639            (TreeOutline.prototype.appendChild): Don't attach unless _childrenListNode exists.
1640            (TreeOutline.prototype.insertChild): Ditto.
1641
16422014-07-17  Timothy Hatcher  <timothy@apple.com>
1643
1644        Make console.profile record to the Timeline.
1645
1646        https://bugs.webkit.org/show_bug.cgi?id=134643
1647
1648        Reviewed by Joseph Pecoraro.
1649
1650        * Localizations/en.lproj/localizedStrings.js:
1651        * UserInterface/Controllers/TimelineManager.js:
1652        (WebInspector.TimelineManager.prototype.startCapturing):
1653        (WebInspector.TimelineManager.prototype.stopCapturing):
1654        (WebInspector.TimelineManager.prototype.capturingStarted):
1655        (WebInspector.TimelineManager.prototype.capturingStopped):
1656        (WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
1657        (WebInspector.TimelineManager.prototype.eventRecorded):
1658        * UserInterface/Images/TimelineRecordConsoleProfile.svg: Added.
1659        * UserInterface/Models/ScriptTimelineRecord.js:
1660        * UserInterface/Protocol/TimelineObserver.js:
1661        (WebInspector.TimelineObserver.prototype.eventRecorded):
1662        (WebInspector.TimelineObserver.prototype.recordingStarted):
1663        (WebInspector.TimelineObserver.prototype.recordingStopped):
1664        * UserInterface/Views/TimelineIcons.css:
1665        (.console-profile-record .icon):
1666        * UserInterface/Views/TimelineRecordTreeElement.js:
1667        (WebInspector.TimelineRecordTreeElement):
1668
16692014-07-16  Saam Barati  <sbarati@apple.com>
1670
1671        Web Inspector: TextContentView calls the wrong super function in shown()
1672        https://bugs.webkit.org/show_bug.cgi?id=135001
1673
1674        Reviewed by Timothy Hatcher.
1675        TextContentView calls ResourceContentView.shown instead of ContentView.shown.
1676        It should call ContentView.shown because ContentView is its prototype.
1677
1678
1679        * UserInterface/Views/TextContentView.js:
1680        (WebInspector.TextContentView.prototype.shown):
1681
16822014-07-15  Jonathan Wells  <jonowells@apple.com>
1683
1684        Web Inspector: Modernize UI styles and better sync with platform styles
1685        https://bugs.webkit.org/show_bug.cgi?id=134846
1686
1687        Reviewed by Timothy Hatcher.
1688
1689        Updated styles to better match the OS UI design. Updated the forward/back button. 
1690        Moved several rules to selectors that support older OS designs. Added global platform
1691        data to support this patch.
1692
1693        * UserInterface/Images/BackArrow.svg: Added.
1694        * UserInterface/Images/BackArrowLegacy.svg: Copied from Source/WebInspectorUI/UserInterface/Images/BackArrow.svg.
1695        * UserInterface/Images/ForwardArrow.svg: Added.
1696        * UserInterface/Images/ForwardArrowLegacy.svg: Copied from Source/WebInspectorUI/UserInterface/Images/ForwardArrow.svg.
1697
1698        * UserInterface/Base/ImageUtilities.js: Updated image version
1699        (.generateImage.generateModernImage):
1700        (.generateImage.generateLegacyImage):
1701        (.generateImage):
1702        Updated image generation to support modern look. Updated versioning scheme and version.
1703
1704        * UserInterface/Base/Main.js:
1705        (WebInspector.loaded):
1706        (WebInspector.contentLoaded.WebInspector.Platform.version.toString):
1707        (WebInspector.contentLoaded.WebInspector.Platform.toString):
1708        (WebInspector.contentLoaded):
1709        Added global platform information.
1710
1711        * UserInterface/Views/ContentBrowser.js:
1712        (WebInspector.ContentBrowser):
1713        Updated back and forward buttons.
1714
1715        * UserInterface/Views/FindBanner.js:
1716        (WebInspector.FindBanner.prototype._generateButtonsGlyphsIfNeeded):
1717        Updated images for the find banner.
1718
1719        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
1720        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
1721        Added new images.
1722
1723        * UserInterface/Views/ButtonToolbarItem.css:
1724        (.toolbar .item.button > .label):
1725        (body.mac-platform.legacy .toolbar .item.button > .label):
1726        * UserInterface/Views/CSSStyleDeclarationSection.css:
1727        (.style-declaration-section):
1728        (body.mac-platform.legacy .style-declaration-section):
1729        (body.mac-platform.legacy .style-declaration-section + .style-declaration-section):
1730        (.style-declaration-section.last-in-group):
1731        (body.mac-platform.legacy .style-declaration-section.last-in-group):
1732        (.style-declaration-section.last-in-group + .style-declaration-section):
1733        (body.mac-platform.legacy .style-declaration-section.last-in-group + .style-declaration-section):
1734        (body.mac-platform.legacy .style-declaration-section.last-in-group + .style-declaration-section:last-child):
1735        (.style-declaration-section + .style-declaration-section): Deleted.
1736        (.style-declaration-section.last-in-group + .style-declaration-section:last-child): Deleted.
1737        * UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
1738        (.sidebar > .panel.details.css-style > .content > .pseudo-classes):
1739        * UserInterface/Views/DOMTreeOutline.css:
1740        (.dom-tree-outline li.hovered:not(.selected) .selection):
1741        (body.mac-platform.legacy .dom-tree-outline li.hovered:not(.selected) .selection):
1742        (.dom-tree-outline li.elements-drag-over .selection):
1743        (body.mac-platform.legacy .dom-tree-outline li.elements-drag-over .selection):
1744        (.dom-tree-outline:focus li.selected .selection):
1745        (body.mac-platform.legacy .dom-tree-outline:focus li.selected .selection):
1746        * UserInterface/Views/DashboardContainerView.css:
1747        (.toolbar .dashboard-container):
1748        (body.mac-platform.legacy .toolbar .dashboard-container):
1749        (body.window-inactive .toolbar .dashboard-container):
1750        (body.mac-platform.legacy.window-inactive .toolbar .dashboard-container):
1751        (.toolbar .dashboard):
1752        (body.window-inactive .toolbar .dashboard):
1753        (body.mac-platform.legacy.window-inactive .toolbar .dashboard):
1754        * UserInterface/Views/DataGrid.css:
1755        (.data-grid th):
1756        (body.mac-platform.legacy .data-grid th):
1757        (.data-grid tr.selected):
1758        (body.mac-platform.legacy .data-grid tr.selected):
1759        (.data-grid:focus tr.selected):
1760        (body.mac-platform.legacy .data-grid:focus tr.selected):
1761        * UserInterface/Views/DetailsSection.css:
1762        (.details-section):
1763        (body.mac-platform.legacy .details-section):
1764        (.details-section .details-section):
1765        (body.mac-platform.legacy .details-section .details-section):
1766        (.details-section .details-section:last-child):
1767        (.details-section .details-section:first-child):
1768        (.details-section > .header):
1769        (body.mac-platform.legacy .details-section > .header):
1770        (.details-section .details-section > .header):
1771        (body.mac-platform.mountain-lion .details-section .details-section > .header):
1772        (.details-section .details-section.collaspsed > .header):
1773        (.details-section.computed-style-properties:not(.collapsed) > .header):
1774        (body.mac-platform.legacy .details-section.computed-style-properties:not(.collapsed) > .header):
1775        (.details-section > .content > .group):
1776        (body.mac-platform.legacy .details-section > .content > .group):
1777        (.details-section > .content > .group:last-child):
1778        (.details-section > .content > .group:nth-child(even)):
1779        (body.mac-platform.legacy .details-section > .content > .group:nth-child(even)):
1780        (body.mac-platform.legacy .details-section > .content > .group:last-child > .row.simple:last-child > *):
1781        (.details-section > .content > .group:last-child > .row.simple:last-child > *): Deleted.
1782        * UserInterface/Views/FilterBar.css:
1783        (.filter-bar > input[type="search"]):
1784        (body.mac-platform.legacy .filter-bar > input[type="search"]):
1785        * UserInterface/Views/NavigationSidebarPanel.css:
1786        (.navigation-sidebar-panel-content-tree-outline .item.selected):
1787        (body.mac-platform.legacy .navigation-sidebar-panel-content-tree-outline .item.selected):
1788        (.navigation-sidebar-panel-content-tree-outline:focus .item.selected):
1789        (body.mac-platform.legacy .navigation-sidebar-panel-content-tree-outline:focus .item.selected):
1790        (body.window-inactive .navigation-sidebar-panel-content-tree-outline .item.selected):
1791        (body.mac-platform.legacy.window-inactive .navigation-sidebar-panel-content-tree-outline .item.selected):
1792        * UserInterface/Views/RadioButtonNavigationItem.css:
1793        (.navigation-bar .item.radio.button.text-only.selected):
1794        (body.mac-platform.legacy .navigation-bar .item.radio.button.text-only.selected):
1795        * UserInterface/Views/RulesStyleDetailsPanel.css:
1796        (.sidebar > .panel.details.css-style .rules .label + .style-declaration-section):
1797        (body.mac-platform.legacy .sidebar > .panel.details.css-style .rules .label + .style-declaration-section):
1798        (.sidebar > .panel.details.css-style .rules .new-rule):
1799        (body.mac-platform.legacy .sidebar > .panel.details.css-style .rules .new-rule):
1800        (.sidebar > .panel.details.css-style .rules .new-rule + .style-declaration-section):
1801        (body.mac-platform.legacy .sidebar > .panel.details.css-style .rules .new-rule + .style-declaration-section):
1802        * UserInterface/Views/ScopeBar.css:
1803        (.scope-bar > li):
1804        (body.mac-platform.legacy .scope-bar > li):
1805        (.scope-bar > li.selected):
1806        (body.mac-platform.legacy .scope-bar > li.selected):
1807        * UserInterface/Views/SearchBar.css:
1808        (.search-bar > input[type="search"]):
1809        (body.mac-platform.legacy .search-bar > input[type="search"]):
1810        * UserInterface/Views/Sidebar.css:
1811        (.sidebar):
1812        (body.mac-platform.legacy .sidebar):
1813        (body.mac-platform.legacy.window-inactive .sidebar):
1814        (body.mac-platform.legacy .sidebar.right):
1815        (body.window-inactive .sidebar): Deleted.
1816        (.sidebar.right): Deleted.
1817        * UserInterface/Views/TimelineSidebarPanel.css:
1818        (.sidebar > .panel.navigation.timeline > .title-bar):
1819        (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .title-bar):
1820        Style updates for new look and feel.
1821
18222014-07-11  Joseph Pecoraro  <pecoraro@apple.com>
1823
1824        Web Inspector: Debugger Pause button does not work
1825        https://bugs.webkit.org/show_bug.cgi?id=134785
1826
1827        Reviewed by Timothy Hatcher.
1828
1829        Previously we were automatically resuming if we had no recognized
1830        call frames in the call stack we get when paused. However, we
1831        were accidentally skipping over anonymous scripts instead of
1832        just Web Inspector originated call frames.
1833
1834        Now that we allow anonymous scripts we can step into anonymous
1835        scripts (e.g. evals, new Function(...)) as expected.
1836
1837        Also, remove the condition of automatically resuming if the
1838        call stack was empty. The UI handles this with "No Call Frames".
1839
1840        * UserInterface/Controllers/DebuggerManager.js:
1841        (WebInspector.DebuggerManager.prototype.debuggerDidPause):
1842
18432014-07-11  Joseph Pecoraro  <pecoraro@apple.com>
1844
1845        Web Inspector: CSS Autocompletion: "background" only has colors, should support others
1846        https://bugs.webkit.org/show_bug.cgi?id=134839
1847
1848        Reviewed by Timothy Hatcher.
1849
1850        Update and consolidate the background related CSS properties
1851        and include sub-property completions in the shorthand property.
1852
1853        Also take the opportunity to add or update other properties
1854        (-webkit-alt, -webkit-text-decoration-skip, -webkit-aspect-ratio)
1855        and remove unnecessary newlines / commas in the list.
1856
1857        * UserInterface/Models/CSSKeywordCompletions.js:
1858
18592014-07-10  Joseph Pecoraro  <pecoraro@apple.com>
1860
1861        Web Inspector: Debugger Continue button is incorrectly sized
1862        https://bugs.webkit.org/show_bug.cgi?id=134786
1863
1864        Reviewed by Timothy Hatcher.
1865
1866        Before this patch everything in the DebuggerDashboardView was flexing.
1867        Normally, if the contents were not too wide, this would just behave
1868        as expected and be centered. If the content was too wide, then each
1869        element would flex uniformly and overlap uniformly. That was not expected.
1870
1871        This patch changes makes everything but the link have a non-flexible
1872        size. If the link (at the end) flexs it will have a nice ellipsis
1873        text truncation, and the rest of the content will be left justified.
1874
1875        This also fixes a few other minor issues seen in the view.
1876
1877        * UserInterface/Views/DebuggerDashboardView.css:
1878        (.dashboard.debugger .navigation-bar):
1879        Reduce the complexity, give the nav bar (the resume button) some simple padding.
1880
1881        (.dashboard.debugger > div):
1882        Make everything non-flex by default.
1883
1884        (.dashboard.debugger > .location):
1885        The location will have an inner element flex, so make it flex.
1886
1887        (.dashboard.debugger > .location > *):
1888        Make everything in .location non-flex by default.
1889
1890        (.dashboard.debugger > .location .go-to-link):
1891        Make the link flex and truncate cleanly.
1892
1893        (.dashboard.debugger > .location .function-name):
1894        Fix vertical alignment when the toolbar has small icons.
1895
1896        * UserInterface/Views/DebuggerDashboardView.js:
1897        (WebInspector.DebuggerDashboardView.prototype._rebuildLocation):
1898        Fix class name spelling.
1899
19002014-07-09  Brent Fulgham  <bfulgham@apple.com>
1901
1902        [Win] Remove uses of 'bash' in build system
1903        https://bugs.webkit.org/show_bug.cgi?id=134782
1904        <rdar://problem/17615533>
1905
1906        Reviewed by Dean Jackson.
1907
1908        Remove uses of 'bash' by replacing Windows-specific bash scripts
1909        with Perl equivalents.
1910
1911        * WebInspectorUI.vcxproj/WebInspectorUI.make:
1912        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
1913        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
1914        * WebInspectorUI.vcxproj/build-webinspectorui.pl: Copied from Source/WebInspectorUI/WebInspectorUI.vcxproj/build-webinspectorui.sh.
1915        * WebInspectorUI.vcxproj/build-webinspectorui.sh: Removed.
1916
19172014-07-08  Joseph Pecoraro  <pecoraro@apple.com>
1918
1919        Web Inspector: Debugger popovers should not dismiss when mousing over them
1920        https://bugs.webkit.org/show_bug.cgi?id=134687
1921
1922        Reviewed by David Kilzer.
1923
1924        * UserInterface/Views/SourceCodeTextEditor.js:
1925        (WebInspector.SourceCodeTextEditor.prototype._trackPopoverEvents):
1926        Actually install the listeners in the set. Regression from code refactoring in r165052.
1927
19282014-07-07  Jonathan Wells  <jonowells@apple.com>
1929
1930        Web Inspector: CSS style declaration editor should ignore empty lines when determining prefix whitespace
1931        https://bugs.webkit.org/show_bug.cgi?id=134704
1932
1933        Reviewed by Joseph Pecoraro.
1934
1935        When checking for zero-length prefix whitespace, completely empty lines are now ignored
1936        as these lines are most often used for organizing rules into groups and often have their
1937        whitespace removed due to trailing whitespace removal conventions.
1938
1939        * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
1940
19412014-07-07  Joseph Pecoraro  <pecoraro@apple.com>
1942
1943        Web Inspector: Uncaught Exception debugging iOS 7 NetworkAgent.loadResource is unavailable
1944        https://bugs.webkit.org/show_bug.cgi?id=134689
1945
1946        Reviewed by Darin Adler.
1947
1948        Gracefully handle if NetworkAgent.loadResource is unavailable.
1949
1950        * UserInterface/Controllers/SourceMapManager.js:
1951        (WebInspector.SourceMapManager.prototype._loadAndParseSourceMap):
1952        * UserInterface/Models/SourceMapResource.js:
1953
19542014-07-01  Jonathan Wells  <jonowells@apple.com>
1955
1956        Web Inspector: Hexadecimal color values in all CSS editors are purple when they should be blue
1957        https://bugs.webkit.org/show_bug.cgi?id=133997
1958
1959        Reviewed by Joseph Pecoraro.
1960
1961        CodeMirror 4 removed the style for hex colors from the CSS tokenizer.
1962        Feature has been added to CodeMirrorAdditions.js.
1963
1964        * UserInterface/Views/CodeMirrorAdditions.js: Added hex-color to style for a valid hexadecimal color.
1965        * UserInterface/Views/SyntaxHighlightingDefaultTheme.css: Added selector for hexadecimal color.
1966
19672014-06-26  Jono Wells  <jonowells@apple.com>
1968
1969        Web Inspector: Command-/ (slash) now auto-comments code via CodeMirror 4. Should remove as command to pause
1970        https://bugs.webkit.org/show_bug.cgi?id=134313
1971
1972        Reviewed by Timothy Hatcher.
1973
1974        Changed alternate command to pause/resume from command-slash to command-backslash.
1975        Command-slash sets/unsets comments in all code editors.
1976
1977        * UserInterface/Models/KeyboardShortcut.js: Added Backslash.
1978        * UserInterface/Views/DebuggerSidebarPanel.js: Changed pauseOrResumeAlternateKeyboardShortcut to use Backslash instead of Slash.
1979
19802014-06-25  Jono Wells  <jonowells@apple.com>
1981
1982        Web Inspector: Rules panel's strikethrough gets confused at -webkit-align-items: flex-start;
1983        https://bugs.webkit.org/show_bug.cgi?id=133515
1984
1985        Reviewed by Timothy Hatcher.
1986
1987        The CSS style declaration text editor uses the author's shortest instance of prefix whitespace
1988        to create an indentation baseline for the style editor. This needs to consider the possibility
1989        that there is no whitespace prefixing one of the rules. Also clarified a FIXME line.
1990
1991        * UserInterface/Views/CSSStyleDeclarationTextEditor.js: Account for zero-length whitespace.
1992
19932014-06-25  Dana Burkart  <dburkart@apple.com>
1994
1995        Add support for 5-tuple versioning.
1996
1997        Reviewed by David Farler.
1998
1999        * Configurations/Version.xcconfig:
2000
20012014-06-24  Jono Wells  <jonowells@apple.com>
2002
2003        Web Inspector: clicking "Show All Nodes" button throws TypeError
2004        https://bugs.webkit.org/show_bug.cgi?id=133701
2005
2006        Reviewed by Timothy Hatcher.
2007
2008        The method used for isEventWithinDisclosureTriangle needs to consider the possibility that the 
2009        targeted TreeElement isn't contained within the visible DOM, for instance in the case of the
2010        "Show All Nodes" button immediately after it is pressed.
2011
2012        * UserInterface/Views/TreeOutline.js:
2013        (TreeElement.prototype.isEventWithinDisclosureTriangle): Check to make sure TreeElement node is in the visible DOM.
2014
20152014-06-24  Jono Wells  <jonowells@apple.com>
2016
2017        Web Inspector: TypeError when hovering over "Show All Nodes" button in the Dom Tree inspector
2018        https://bugs.webkit.org/show_bug.cgi?id=133699
2019
2020        Reviewed by Geoffrey Garen.
2021
2022        The call to element._createTooltipForNode() was failing because element was sometimes not a 
2023        DOMTreeOutline but rather only a TreeElement (in the case of the "Show All Nodes" button specifically).
2024        A check for type fixes this issue.
2025
2026        * UserInterface/Views/DOMTreeOutline.js:
2027        (WebInspector.DOMTreeOutline.prototype._onmousemove): Check for presence of _createTooltipForNode.
2028
20292014-06-21  Jono Wells  <jonowells@apple.com>
2030
2031        Web Inspector: UI fonts should pull from system fonts automatically to whatever degree possible
2032        https://bugs.webkit.org/show_bug.cgi?id=133966
2033
2034        Reviewed by Timothy Hatcher.
2035
2036        Updated font families to use -webkit-system-font, and set this on the body to be
2037        inherited. Also made sure that popovers use Menlo as the default. Updated 
2038        autocompletions with system font names.
2039
2040        * UserInterface/Models/CSSKeywordCompletions.js: Updated completions with available system fonts.
2041
2042        * UserInterface/Controllers/CodeMirrorGradientEditingController.css:
2043        * UserInterface/Views/Breakpoint.css:
2044        * UserInterface/Views/ButtonNavigationItem.css:
2045        * UserInterface/Views/ButtonToolbarItem.css:
2046        * UserInterface/Views/CSSStyleDeclarationSection.css:
2047        * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
2048        * UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
2049        * UserInterface/Views/CodeMirrorOverrides.css:
2050        * UserInterface/Views/DataGrid.css:
2051        * UserInterface/Views/DebuggerDashboardView.css:
2052        * UserInterface/Views/DetailsSection.css:
2053        * UserInterface/Views/FindBanner.css:
2054        * UserInterface/Views/GoToLineDialog.css:
2055        * UserInterface/Views/HierarchicalPathComponent.css:
2056        * UserInterface/Views/Main.css:
2057        * UserInterface/Views/NavigationSidebarPanel.css:
2058        * UserInterface/Views/ProbeSetDataGrid.css:
2059        * UserInterface/Views/RulesStyleDetailsPanel.css:
2060        * UserInterface/Views/ScopeBar.css:
2061        * UserInterface/Views/SourceCodeTextEditor.css:
2062        * UserInterface/Views/TimelineDataGrid.css:
2063        * UserInterface/Views/TimelineRuler.css:
2064        * UserInterface/Views/TimelineSidebarPanel.css:
2065        Changes to fonts. Set default font stack to -webkit-system-font, sans-serif. Default size is
2066        11px. Only changes to this default size or changes to the font (to Menlo, monospace usually) remain.
2067
20682014-06-21  Joseph Pecoraro  <pecoraro@apple.com>
2069
2070        Web Inspector: Esc in quick console no longer toggles console drawer
2071        https://bugs.webkit.org/show_bug.cgi?id=134068
2072
2073        Reviewed by Timothy Hatcher.
2074
2075        For Escape to toggle console behavior we were relying on the Escape
2076        keyboard event to propagate up to the window and be handled by
2077        QuickConsole's global keyboard shortcut. With CodeMirror 4, all
2078        editors have a default "Esc" key handler to reduce multiple selections
2079        to a single selection. Unfortunately this always prevents default,
2080        which our keyboard shortcut respects and doesn't toggle the console.
2081
2082        Workaround this by putting a specific handler for when a Console
2083        Prompt is empty and the Escape key is triggered. This does not go
2084        through the normal ConsolePrompt delegate because the delegate
2085        is never the QuickConsole, it is actually the JavaScript log.
2086
2087        * UserInterface/Views/ConsolePrompt.js:
2088        (WebInspector.ConsolePrompt):
2089        (WebInspector.ConsolePrompt.prototype.set escapeKeyHandlerWhenEmpty):
2090        (WebInspector.ConsolePrompt.prototype._handleEscapeKey):
2091        * UserInterface/Views/QuickConsole.js:
2092        (WebInspector.QuickConsole.this.prompt.escapeKeyHandlerWhenEmpty):
2093        (WebInspector.QuickConsole):
2094
20952014-06-18  James Craig  <jcraig@apple.com>
2096
2097        Web Inspector: AXI: expose aria-relevant
2098        https://bugs.webkit.org/show_bug.cgi?id=130913
2099
2100        Reviewed by Joseph Pecoraro.
2101
2102        Expose ARIA live region relevance in Web Inspector.
2103        E.g. "Live: Assertive (Additions, Text)"
2104
2105        * Localizations/en.lproj/localizedStrings.js: New strings.
2106        * UserInterface/Models/DOMNode.js: One additional property passed.
2107        * UserInterface/Views/DOMNodeDetailsSidebarPanel.js: UI updates to support new property.
2108
21092014-06-18  Simon Fraser  <simon.fraser@apple.com>
2110
2111        Add rebeccapurple to CSS named color list
2112        https://bugs.webkit.org/show_bug.cgi?id=133804
2113
2114        Reviewed by Jer Noble.
2115        
2116        Add the named color "rebeccapurple" (#639).
2117
2118        * UserInterface/External/CodeMirror/css.js:
2119        * UserInterface/Models/CSSKeywordCompletions.js:
2120        * UserInterface/Models/Color.js:
2121
21222014-06-18  Jono Wells  <jonowells@apple.com>
2123
2124        Web Inspector: REGRESSION: Style declaration editor: placeholder misaligned
2125        https://bugs.webkit.org/show_bug.cgi?id=134012
2126
2127        Reviewed by Timothy Hatcher.
2128
2129        Removed a rule needed to align the placeholder for selectors in 
2130        the style declation text editors with no rules declared in
2131        http://trac.webkit.org/changeset/170077. The necessary
2132        rule has been added back to fix the issue.
2133
2134        * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
2135        (.css-style-text-editor > .CodeMirror .CodeMirror-placeholder):
2136
21372014-06-17  Joseph Pecoraro  <pecoraro@apple.com>
2138
2139        Web Inspector: PrettyPrinting regression on "var a=1"
2140        https://bugs.webkit.org/show_bug.cgi?id=134001
2141
2142        Reviewed by Timothy Hatcher.
2143
2144        Previously operators did not get a token type. After a CodeMirror
2145        update they now have a token type of "operator".
2146
2147        * Tools/PrettyPrinting/CodeMirrorFormatters.js:
2148        * UserInterface/Views/CodeMirrorFormatters.js:
2149
21502014-06-17  Jono Wells  <jonowells@apple.com>
2151
2152        Web Inspector: Two lines in CSS rule are hidden until resize or click
2153        https://bugs.webkit.org/show_bug.cgi?id=133951
2154
2155        Reviewed by Joseph Pecoraro.
2156
2157        Update to CodeMirror 4.2 fixed the issue.
2158
2159        * Tools/PrettyPrinting/codemirror.js:
2160        * Tools/PrettyPrinting/css.js:
2161        * Tools/PrettyPrinting/javascript.js:
2162        * UserInterface/External/CodeMirror/clojure.js:
2163        * UserInterface/External/CodeMirror/closebrackets.js:
2164        * UserInterface/External/CodeMirror/codemirror.js:
2165        * UserInterface/External/CodeMirror/coffeescript.js:
2166        * UserInterface/External/CodeMirror/comment.js:
2167        * UserInterface/External/CodeMirror/css.js:
2168        * UserInterface/External/CodeMirror/htmlmixed.js:
2169        * UserInterface/External/CodeMirror/javascript.js:
2170        * UserInterface/External/CodeMirror/livescript.js:
2171        * UserInterface/External/CodeMirror/matchbrackets.js:
2172        * UserInterface/External/CodeMirror/overlay.js:
2173        * UserInterface/External/CodeMirror/placeholder.js:
2174        * UserInterface/External/CodeMirror/runmode.js:
2175        * UserInterface/External/CodeMirror/sass.js:
2176        * UserInterface/External/CodeMirror/searchcursor.js:
2177        * UserInterface/External/CodeMirror/sql.js:
2178        * UserInterface/External/CodeMirror/xml.js:
2179        Update CodeMirror 4.1 to CodeMirror 4.2.0.
2180
21812014-06-17  Jono Wells  <jonowells@apple.com>
2182
2183        Web Inspector: style declaration editor: visual highlight doesn't match actual selected text
2184        https://bugs.webkit.org/show_bug.cgi?id=133965
2185
2186        Reviewed by Joseph Pecoraro.
2187
2188        Update styles for css style editor to fix highlighting visual mismatch glitch.
2189
2190        * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
2191        (.css-style-text-editor > .CodeMirror .CodeMirror-placeholder):
2192        (.css-style-text-editor > .CodeMirror pre):
2193        (.css-style-text-editor.read-only > .CodeMirror pre):
2194        Updated styles to eliminate highlight mismatch by adjusting the padding and
2195        text-indent values.
2196
21972014-06-10  Brian J. Burg  <burg@cs.washington.edu>
2198
2199        Web Inspector: recording is overused as both noun and verb in TimelineManager
2200        https://bugs.webkit.org/show_bug.cgi?id=132878
2201
2202        Reviewed by Joseph Pecoraro.
2203
2204        Rename most uses of the verb 'recording' to the verb 'capturing' for timelines.
2205        Rename getter for the recording to activeRecording, and recordingEnabled to isCapturing().
2206
2207        When the timeline manager can handle multiple timeline data sets (i.e., 'recordings'),
2208        it will be very confusing to have 'recording' as a plural noun and verb in the model.
2209
2210        * UserInterface/Controllers/TimelineManager.js:
2211        (WebInspector.TimelineManager):
2212        (WebInspector.TimelineManager.prototype.get activeRecording):
2213        (WebInspector.TimelineManager.prototype.isCapturing):
2214        (WebInspector.TimelineManager.prototype.startCapturing):
2215        (WebInspector.TimelineManager.prototype.stopCapturing):
2216        (WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
2217        (WebInspector.TimelineManager.prototype.eventRecorded):
2218        (WebInspector.TimelineManager.prototype._addRecord):
2219        (WebInspector.TimelineManager.prototype._startAutoCapturing):
2220        (WebInspector.TimelineManager.prototype._stopAutoRecordingSoon):
2221        (WebInspector.TimelineManager.prototype._resetAutoRecordingDeadTimeTimeout):
2222        (WebInspector.TimelineManager.prototype._mainResourceDidChange):
2223        (WebInspector.TimelineManager.prototype._resourceWasAdded):
2224        (WebInspector.TimelineManager.prototype.get recording): Deleted.
2225        (WebInspector.TimelineManager.prototype.get recordingEnabled): Deleted.
2226        (WebInspector.TimelineManager.prototype.startRecording): Deleted.
2227        (WebInspector.TimelineManager.prototype.stopRecording): Deleted.
2228        (WebInspector.TimelineManager.prototype._startAutoRecording): Deleted.
2229        * UserInterface/Models/DefaultDashboard.js:
2230        (WebInspector.DefaultDashboard):
2231        (WebInspector.DefaultDashboard.prototype._mainResourceDidChange):
2232        (WebInspector.DefaultDashboard.prototype._capturingStopped):
2233        (WebInspector.DefaultDashboard.prototype._recordingStopped): Deleted.
2234        * UserInterface/Protocol/InspectorFrontendAPI.js:
2235        (InspectorFrontendAPI.isTimelineProfilingEnabled):
2236        (InspectorFrontendAPI.setTimelineProfilingEnabled):
2237        * UserInterface/Views/TimelineContentView.js:
2238        (WebInspector.TimelineContentView.prototype._capturingStarted):
2239        (WebInspector.TimelineContentView.prototype._capturingStopped):
2240        (WebInspector.TimelineContentView.prototype._recordingStarted): Deleted.
2241        (WebInspector.TimelineContentView.prototype._recordingStopped): Deleted.
2242        * UserInterface/Views/TimelineSidebarPanel.js:
2243        (WebInspector.TimelineSidebarPanel.prototype.initialize):
2244        (WebInspector.TimelineSidebarPanel.prototype._capturingStarted):
2245        (WebInspector.TimelineSidebarPanel.prototype._capturingStopped):
2246        (WebInspector.TimelineSidebarPanel.prototype._recordGlyphMousedOver):
2247        (WebInspector.TimelineSidebarPanel.prototype._recordGlyphMousedOut):
2248        (WebInspector.TimelineSidebarPanel.prototype._recordGlyphClicked):
2249        (WebInspector.TimelineSidebarPanel.prototype._replayCaptureButtonClicked):
2250        (WebInspector.TimelineSidebarPanel.prototype._recordingStarted): Deleted.
2251        (WebInspector.TimelineSidebarPanel.prototype._recordingStopped): Deleted.
2252
22532014-06-09  Jono Wells  <jonowells@apple.com>
2254
2255        REGRESSION: Web Inspector: Exception showing the DOM tree for a node with too many children
2256        https://bugs.webkit.org/show_bug.cgi?id=129696
2257
2258        Fix issue where sometimes inspecting an element will try to attach the "show all nodes" button
2259        before the expand function is called in TreeElement before _childrenListNode has been set.
2260
2261        Reviewed by Joseph Pecoraro.
2262
2263        * UserInterface/Views/TreeOutline.js:
2264        (TreeOutline.prototype.appendChild):
2265        (TreeOutline.prototype.insertChild):
2266        Added check for existance of this._childrenListNode.
2267
22682014-05-29  Timothy Hatcher  <timothy@apple.com>
2269
2270        Fix an exception in InspectorBackend.Command.prototype.supports.
2271
2272        https://bugs.webkit.org/show_bug.cgi?id=133384
2273
2274        Reviewed by Joseph Pecoraro.
2275
2276        * UserInterface/Protocol/InspectorBackend.js:
2277        (InspectorBackend.Command.prototype.supports): Use some not any.
2278
22792014-05-19  Jono Wells  <jonowells@apple.com>
2280
2281        Web Inspector: Inspect Element sometimes does not select the right DOM Node
2282        https://bugs.webkit.org/show_bug.cgi?id=127938
2283
2284        Reviewed by Joseph Pecoraro.
2285
2286        Inspecting an element when the inspector is in a closed state was selecting the node but then 
2287        overriding the selection when DOMTreeContentView#_restoreSelectedNodeAfterUpdate was called.
2288        Now when an element is inspected a flag prevents the restore from taking place.
2289
2290        * UserInterface/Controllers/DOMTreeManager.js:
2291        (WebInspector.DOMTreeManager):
2292        (WebInspector.DOMTreeManager.prototype.inspectElement):
2293        (WebInspector.DOMTreeManager.prototype.inspectNodeObject):
2294        Add WebInspector.DOMTreeManager#_restoreSelectedNodeIsAllowed.
2295
2296        (WebInspector.DOMTreeManager.prototype.get restoreSelectedNodeIsAllowed):
2297        Added.
2298
2299        * UserInterface/Views/FrameDOMTreeContentView.js:
2300        (WebInspector.FrameDOMTreeContentView.prototype._rootDOMNodeAvailable):
2301        Add check for WebInspector.domTreeManager.restoreSelectedNodeIsAllowed.
2302
23032014-05-15  Jono Wells  <jonowells@apple.com>
2304
2305        Web Inspector: Should remove JSDoc comment blocks.
2306        https://bugs.webkit.org/show_bug.cgi?id=132984
2307
2308        Reviewed by Timothy Hatcher.
2309
2310        Remove JSDoc comment blocks. These are no longer necessary.
2311
2312        * UserInterface/Base/Main.js:
2313        * UserInterface/Base/Object.js:
2314        * UserInterface/Controllers/DOMTreeManager.js:
2315        * UserInterface/Models/CSSCompletions.js:
2316        * UserInterface/Models/DOMNode.js:
2317        * UserInterface/Models/SourceMap.js:
2318        * UserInterface/Protocol/InspectorBackend.js:
2319        * UserInterface/Protocol/RemoteObject.js:
2320        * UserInterface/Views/ApplicationCacheFrameContentView.js:
2321        * UserInterface/Views/ConsoleMessage.js:
2322        * UserInterface/Views/ConsoleMessageImpl.js:
2323        * UserInterface/Views/ContextMenu.js:
2324        * UserInterface/Views/DOMTreeElement.js:
2325        * UserInterface/Views/DOMTreeOutline.js:
2326        * UserInterface/Views/DOMTreeUpdater.js:
2327        * UserInterface/Views/DataGrid.js:
2328        * UserInterface/Views/DatabaseContentView.js:
2329        * UserInterface/Views/EditingSupport.js:
2330        * UserInterface/Views/ObjectPropertiesSection.js:
2331        * UserInterface/Views/Popover.js:
2332        * UserInterface/Views/TreeOutline.js:
2333        JSDoc style comment blocks removed.
2334
23352014-05-13  Radu Stavila  <stavila@adobe.com>
2336
2337        Web Inspector: Restore regionLayoutUpdated event in iOS7 inspector and remove regionOversetChanged
2338        https://bugs.webkit.org/show_bug.cgi?id=132731
2339
2340        Reviewed by Joseph Pecoraro.
2341
2342        Added the regionLayoutUpdated event back into the inspector for compatibility with iOS 7
2343        and removed regionOversetChanged from the iOS7 inspector as iOS 7 does not implement that event.
2344
2345        * UserInterface/Models/ScriptTimelineRecord.js:
2346        * UserInterface/Protocol/CSSObserver.js:
2347        (WebInspector.CSSObserver.prototype.regionLayoutUpdated):
2348        * UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js:
2349        * Versions/Inspector-iOS-7.0.json:
2350
23512014-05-12  Brent Fulgham  <bfulgham@apple.com>
2352
2353        [Win] Correct Cygwin Path Confusion in WebInspectorUI Build
2354        https://bugs.webkit.org/show_bug.cgi?id=132826
2355
2356        Reviewed by Joseph Pecoraro.
2357
2358        * Scripts/copy-user-interface-resources.pl: If the build is running
2359        under Cygwin, be sure to use '/usr/bin/python', instead of just
2360        'python' to avoid build errors.
2361
23622014-05-09  Alberto Garcia  <berto@igalia.com>
2363
2364        jsmin.py license header confusing, mentions non-free license
2365        https://bugs.webkit.org/show_bug.cgi?id=123665
2366
2367        Reviewed by Darin Adler.
2368
2369        Pull the most recent version from upstream, which has a clear
2370        license.
2371
2372        * Scripts/jsmin.py:
2373
23742014-05-08  Jono Wells  <jonowells@apple.com>
2375
2376        Web Inspector: Console error when launching Web Inspector "Mode htmlmixed failed to advance stream"
2377        https://bugs.webkit.org/show_bug.cgi?id=132703
2378
2379        Reviewed by Timothy Hatcher.
2380
2381        The CodeMirror 4 update brought with it a change in the XML mode that 
2382        causes our XML mode extension to fail to consume empty paired quotes
2383        correctly.
2384
2385        * UserInterface/Views/CodeMirrorAdditions.js:
2386        Updated extendedXMLToken() to properly handle empty paired quotes.
2387
23882014-05-08  Jono Wells  <jonowells@apple.com>
2389
2390        Web Inspector: Selecting frame in debugger sidebar doesn't reveal code
2391        https://bugs.webkit.org/show_bug.cgi?id=132112
2392
2393        Reviewed by Joseph Pecoraro.
2394
2395        WebInspector._revealAndSelectRepresentedObjectInNavigationSidebar was checking
2396        only one of the two content trees in the DebuggerSidebarPanel instance. Added
2397        base getter elementIsSelected to NavigationSidebarPanel and extended it in 
2398        DebuggerSidebarPanel.
2399
2400        * UserInterface/Base/Main.js:
2401        (WebInspector._revealAndSelectRepresentedObjectInNavigationSidebar): modified logic to check `selectedSidebarPanel.elementIsSelected`.
2402        * UserInterface/Views/DebuggerSidebarPanel.js:
2403        (WebInspector.DebuggerSidebarPanel.prototype.get elementIsSelected): Checks breakpoint and call stack trees.
2404        * UserInterface/Views/NavigationSidebarPanel.js:
2405        (WebInspector.NavigationSidebarPanel.prototype.get elementIsSelected): Base implementation.
2406
24072014-05-06  Radu Stavila  <stavila@adobe.com>
2408
2409        Web Inspector: [CSS Regions] Add the regionOversetChange event to the iOS 7.0 WebInspector UI
2410        https://bugs.webkit.org/show_bug.cgi?id=132566
2411
2412        Reviewed by Antti Koivisto.
2413
2414        The regionOversetChange event was missing from the iOS7 WebInspector.
2415
2416        * UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js:
2417        * Versions/Inspector-iOS-7.0.json:
2418
24192014-05-05  Radu Stavila  <stavila@adobe.com>
2420
2421        [CSS Regions] Remove regionLayoutUpdate event
2422        https://bugs.webkit.org/show_bug.cgi?id=132564
2423
2424        Reviewed by Simon Fraser.
2425
2426        The regionLayoutUpdate event was removed from the regions spec and was replaced by two other events: 
2427        regionOversetChange and regionFragmentChange.
2428
2429        * UserInterface/Controllers/DOMTreeManager.js:
2430        (WebInspector.DOMTreeManager.prototype.get regionLayoutUpdated): Deleted.
2431        * UserInterface/Models/ScriptTimelineRecord.js:
2432        * UserInterface/Protocol/CSSObserver.js:
2433        (WebInspector.CSSObserver.prototype.regionLayoutUpdated): Deleted.
2434        * UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js:
2435        * Versions/Inspector-iOS-7.0.json:
2436
24372014-05-02  Jono Wells  <jonowells@apple.com>
2438
2439        Web Inspector: CodeMirror 4 CSS mode new state data structure breaks helpers.
2440        https://bugs.webkit.org/show_bug.cgi?id=132149
2441
2442        Reviewed by Joseph Pecoraro.
2443
2444        The update to CodeMirror 4 included dramatic changes to the CSS mode,
2445        particularly the way it handles tokens. `state.stack` is gone, replaced
2446        by `state.context`.
2447
2448        * Tools/PrettyPrinting/CodeMirrorFormatters.js:
2449        * Tools/PrettyPrinting/codemirror.js:
2450        * UserInterface/External/CodeMirror/codemirror.js:
2451        * UserInterface/External/CodeMirror/livescript.js:
2452        * UserInterface/External/CodeMirror/runmode.js:
2453        Updates from ToT CodeMirror.
2454
2455        * UserInterface/Controllers/CodeMirrorCompletionController.js:
2456        (WebInspector.CodeMirrorCompletionController.prototype._generateCSSCompletions):
2457        * UserInterface/Views/CodeMirrorAdditions.js:
2458        * UserInterface/Views/CodeMirrorFormatters.js: `lastToken` is null now for ":" characters.
2459        Changes to match structural changes to the state object and changes to expected values of `lastToken`.
2460
24612014-04-30  Brian J. Burg  <burg@cs.washington.edu>
2462
2463        Web Inspector: clean up and decompose InspectorBackend functionality
2464        https://bugs.webkit.org/show_bug.cgi?id=132387
2465
2466        Reviewed by Joseph Pecoraro.
2467
2468        Aside from renaming variables and other minor cleanup, this patch
2469        changes the following:
2470
2471        When calling a command, only store callback data when a callback is passed.
2472        Use explicit model objects for the agent, event, enum, and commands.
2473        Separate the agent models from encoding and decoding of JSON messages.
2474
2475        * UserInterface/Protocol/InspectorBackend.js:
2476        (InspectorBackendClass):
2477        (InspectorBackendClass.prototype.registerCommand):
2478        (InspectorBackendClass.prototype.registerEnum):
2479        (InspectorBackendClass.prototype.registerEvent):
2480        (InspectorBackendClass.prototype.registerDomainDispatcher):
2481        (InspectorBackendClass.prototype.dispatch):
2482        (InspectorBackendClass.prototype.runAfterPendingDispatches):
2483        (InspectorBackendClass.prototype._agentForDomain):
2484        (InspectorBackendClass.prototype._registerSentCommand):
2485        (InspectorBackendClass.prototype._dispatchCallback):
2486        (InspectorBackendClass.prototype._dispatchEvent):
2487        (InspectorBackendClass.prototype._invokeCommand):
2488        (InspectorBackendClass.prototype._reportProtocolError):
2489        (InspectorBackend.Agent):
2490        (InspectorBackend.Agent.prototype.get domainName):
2491        (InspectorBackend.Agent.prototype.set dispatcher):
2492        (InspectorBackend.Agent.prototype.addEnum):
2493        (InspectorBackend.Agent.prototype.addCommand):
2494        (InspectorBackend.Agent.prototype.addEvent):
2495        (InspectorBackend.Agent.prototype.getEvent):
2496        (InspectorBackend.Agent.prototype.dispatchEvent):
2497        (InspectorBackend.Command):
2498        (InspectorBackend.Command.create):
2499        (InspectorBackend.Command.prototype.get qualifiedName):
2500        (InspectorBackend.Command.prototype.get commandName):
2501        (InspectorBackend.Command.prototype.get callSignature):
2502        (InspectorBackend.Command.prototype.get replySignature):
2503        (InspectorBackend.Command.prototype.invoke):
2504        (InspectorBackend.Command.prototype.supports):
2505        (InspectorBackend.Command.prototype._invokeWithArguments):
2506        (InspectorBackend.Event):
2507        (InspectorBackend.Enum):
2508        (InspectorBackendClass.prototype.callback): Deleted.
2509        (InspectorBackendClass.prototype._registerPendingResponse): Deleted.
2510        (InspectorBackendClass.prototype._invokeMethod): Deleted.
2511        (InspectorBackendClass.prototype._getAgent): Deleted.
2512        (InspectorBackendClass.prototype.reportProtocolError): Deleted.
2513        (InspectorBackendCommand): Deleted.
2514        (InspectorBackendCommand.create): Deleted.
2515        (InspectorBackendCommand.prototype.invoke): Deleted.
2516        (InspectorBackendCommand.prototype.supports): Deleted.
2517        (InspectorBackendCommand.prototype._invokeWithArguments): Deleted.
2518
25192014-04-29  Brian J. Burg  <burg@cs.washington.edu>
2520
2521        Web Inspector: reduce per-protocol method function creation in InspectorBackend
2522        https://bugs.webkit.org/show_bug.cgi?id=130701
2523
2524        Reviewed by Timothy Hatcher.
2525
2526        Instead of creating 4 bound functions for every backend method on startup, we
2527        can share common functionality on the InspectorBackendCommand prototype. This
2528        also splits the various client-facing protocol introspection mechanisms from
2529        the message encoding/decoding code.
2530
2531        We use a workaround to make the command instances themselves callable as well
2532        as having .invoke, .promise, and .supports. InspectorAgent.methodName returns a
2533        trampoline function that performs the default method invocation. The trampoline's
2534        __proto__ is patched to point to InspectorBackendClass.prototype, and the command
2535        instance is saved in the closure and on the trampoline function itself.
2536
2537        * UserInterface/Protocol/InspectorBackend.js:
2538        (InspectorBackendClass.prototype._registerPendingResponse):
2539        (InspectorBackendClass.prototype._invokeMethod):
2540        (InspectorBackendClass.prototype.registerCommand):
2541        (InspectorBackendClass.prototype.registerEvent):
2542        (InspectorBackendCommand):
2543        (.callable):
2544        (InspectorBackendCommand.create):
2545        (InspectorBackendCommand.prototype.invoke):
2546        (InspectorBackendCommand.prototype.promise):
2547        (InspectorBackendCommand.prototype.supports):
2548        (InspectorBackendCommand.prototype._invokeWithArguments):
2549        (InspectorBackendClass.prototype._wrap): Deleted.
2550        (InspectorBackendClass.prototype._invoke): Deleted.
2551        (InspectorBackendClass.prototype._promise): Deleted.
2552        (InspectorBackendClass.prototype._supports): Deleted.
2553        (InspectorBackendClass.prototype._sendMessageToBackend): Deleted.
2554        (InspectorBackendClass.prototype._wrapCallbackAndSendMessageObject): Deleted.
2555        (InspectorBackendClass.prototype.sendMessageObjectToBackend): Deleted.
2556
25572014-04-29  Brian J. Burg  <burg@cs.washington.edu>
2558
2559        Web Inspector: DataGrid columns should be objects not Maps
2560        https://bugs.webkit.org/show_bug.cgi?id=129383
2561
2562        Reviewed by Timothy Hatcher.
2563
2564        This reverts an earlier conversion to maps, so that column properties
2565        (which rarely change) can be optimized.
2566
2567        String literals for column properties have been preserved so columns
2568        can be easily converted into objects with methods.
2569
2570        * UserInterface/Views/DataGrid.js:
2571        (WebInspector.DataGrid.prototype.autoSizeColumns):
2572        (WebInspector.DataGrid.prototype.set var):
2573        (WebInspector.DataGrid.prototype.set if):
2574        (WebInspector.DataGrid.prototype.insertColumn):
2575        (WebInspector.DataGrid.prototype.removeColumn.get this):
2576        (WebInspector.DataGrid.prototype.removeColumn):
2577        (WebInspector.DataGrid.prototype.columnWidthsMap):
2578        (WebInspector.DataGrid.prototype.applyColumnWidthsMap):
2579        (WebInspector.DataGrid.prototype._collapseColumnGroupWithCell):
2580        (WebInspector.DataGridNode.prototype.createCell.get if):
2581        (WebInspector.DataGridNode.prototype.createCell):
2582        (WebInspector.DataGrid.prototype.get length): Deleted.
2583        * UserInterface/Views/ProbeSetDataGrid.js:
2584        (WebInspector.ProbeSetDataGrid.prototype._probeExpressionChanged.get this):
2585        (WebInspector.ProbeSetDataGrid.prototype._probeExpressionChanged):
2586        * UserInterface/Views/TimelineDataGrid.js:
2587        (WebInspector.TimelineDataGrid.prototype.treeElementMatchesActiveScopeFilters.scopeBar.this.columns.get string_appeared_here):
2588        (WebInspector.TimelineDataGrid.prototype.treeElementMatchesActiveScopeFilters):
2589
25902014-04-25  Jonathan Wells  <jonowells@apple.com>
2591
2592        Web Inspector: DOM Tree debugger popover obscures dashboard
2593        https://bugs.webkit.org/show_bug.cgi?id=132205
2594
2595        Reviewed by Timothy Hatcher.
2596
2597        * UserInterface/Views/DashboardContainerView.css:
2598        (.toolbar .dashboard.visible): Change z-index to 1. Force stacking context.
2599        * UserInterface/Views/Popover.css:
2600        (.popover): Add z-index: 100.
2601
26022014-04-24  Timothy Hatcher  <timothy@apple.com>
2603
2604        Web Inspector: Dashboard when paused in debugger shows some missing glyph boxes
2605        https://bugs.webkit.org/show_bug.cgi?id=132113
2606
2607        Reviewed by Joseph Pecoraro.
2608
2609        * UserInterface/Views/DebuggerDashboardView.css:
2610        (.dashboard.debugger > .location .function-name::after): Fix the codepoint for nbsp.
2611
26122014-04-24  Jonathan Wells  <jonowells@apple.com>
2613
2614        Web Inspector: Should update to CodeMirror 4.1
2615        https://bugs.webkit.org/show_bug.cgi?id=132140
2616
2617        Reviewed by Timothy Hatcher.
2618
2619        Updated to CodeMirror 4.1, which contains several bugfixes.
2620        Release notes: http://codemirror.net/doc/releases.html#v4
2621
2622        * Tools/PrettyPrinting/codemirror.js:
2623        * Tools/PrettyPrinting/css.js:
2624        * Tools/PrettyPrinting/javascript.js:
2625        * UserInterface/External/CodeMirror/codemirror.js:
2626        * UserInterface/External/CodeMirror/css.js:
2627        * UserInterface/External/CodeMirror/javascript.js:
2628        * UserInterface/External/CodeMirror/livescript.js:
2629        * UserInterface/External/CodeMirror/runmode.js:
2630        * UserInterface/External/CodeMirror/xml.js:
2631        Updated to CodeMirror 4.1.
2632
26332014-04-24  Jonathan Wells  <jonowells@apple.com>
2634
2635        Web Inspector: CSS autofill suggests properties instead of values when values are needed
2636        https://bugs.webkit.org/show_bug.cgi?id=132090
2637
2638        Reviewed by Joseph Pecoraro.
2639
2640        Updates are required to the CodeMirror helpers to be compatible with
2641        CodeMirror 4. Some of those changes have been made to fix an issue
2642        with CSS autofill, CSS code coloring, and also
2643        https://bugs.webkit.org/show_bug.cgi?id=131859. The main issue is that
2644        CodeMirror 4's CSS mode (css.js) stores its parsing modes in a different
2645        data structure. All references to state.stack are obsolete. Many
2646        are fixed here and more will be in an upcoming patch.
2647
2648        * Tools/PrettyPrinting/CodeMirrorFormatters.js: Removed exception for checking state.stack properties.
2649        * UserInterface/Controllers/CodeMirrorCompletionController.js:
2650        (WebInspector.CodeMirrorCompletionController.prototype._generateCSSCompletions): Corrected "block" state detection.
2651        * UserInterface/External/CodeMirror/less.js: Removed.
2652        * UserInterface/Views/CodeMirrorAdditions.js: Sets default state of "block" correctly.
2653        * UserInterface/Views/CodeMirrorFormatters.js: Removed exception for checking state.stack properties.
2654        * UserInterface/Views/SyntaxHighlightingDefaultTheme.css: Fix styles to match CSS mode changes.
2655
26562014-04-24  Antoine Quint  <graouts@webkit.org>
2657
2658        Web Inspector: gradient editor does not appear for linear-gradient with no specified angle
2659        https://bugs.webkit.org/show_bug.cgi?id=132083
2660
2661        Reviewed by Timothy Hatcher.
2662
2663        Only assume we're parsing a legacy-formatted gradient if the first parameter is not a color.
2664
2665        * UserInterface/Models/Gradient.js:
2666        (WebInspector.LinearGradient.linearGradientWithComponents):
2667
26682014-04-22  Brent Fulgham  <bfulgham@apple.com>
2669
2670        [Win] Support Python 2.7 in Cygwin
2671        https://bugs.webkit.org/show_bug.cgi?id=132023
2672
2673        Reviewed by Michael Saboff.
2674
2675        * WebInspectorUI.vcxproj/build-webinspectorui.sh: use
2676        proper path to Python under Cygwin.
2677
26782014-04-18  Katie Madonna  <madonnk@gmail.com>
2679
2680        Web Inspector: add entries for probe samples in the JS/Events timeline UI
2681        https://bugs.webkit.org/show_bug.cgi?id=131173
2682
2683        Reviewed by Timothy Hatcher.
2684
2685        Create probe sample fired entries for the JS/Events timeline UI.
2686
2687        * Localizations/en.lproj/localizedStrings.js:
2688        * UserInterface/Controllers/ProbeManager.js:
2689        (WebInspector.ProbeManager.prototype.probeForIdentifier): Added.
2690        * UserInterface/Controllers/TimelineManager.js: Added cases for probe sample recorded.
2691        (WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
2692        (WebInspector.TimelineManager.prototype.eventRecorded):
2693        * UserInterface/Images/TimelineRecordProbeSampled.svg: Added.
2694        * UserInterface/Models/ScriptTimelineRecord.js: Create ProbeSampleRecorded record for ProbeSample case.
2695        * UserInterface/Views/TimelineIcons.css:
2696        (.probe-record .icon): Added.
2697        * UserInterface/Views/TimelineRecordTreeElement.js:
2698        (WebInspector.TimelineRecordTreeElement): Added case for probe sample recorded.
2699
27002014-04-15  Timothy Hatcher  <timothy@apple.com>
2701
2702        Web Inspector: CodeMirror LICENSE is not properly added to combined files
2703        https://bugs.webkit.org/show_bug.cgi?id=131674
2704
2705        Reviewed by Darin Adler.
2706
2707        * Scripts/copy-user-interface-resources.pl: Use $CODE_MIRROR_LICENSE instead
2708        for CodeMirror.css and CodeMirror.js.
2709
27102014-04-14  Jono Wells  <jonowells@apple.com>
2711
2712        Update to CodeMirror 4.0.
2713        https://bugs.webkit.org/show_bug.cgi?id=130019
2714
2715        The CodeMirror 4.0 library adds multiple selections and the ability to
2716        undo/redo selections. Selections are made by holding the Command (Cmd) key
2717        and clicking into an editor, or by holding Option (Alt) and making a block
2718        selection followed by entering a character or moving the cursor.
2719
2720        Reviewed by Timothy Hatcher.
2721
2722        * Scripts/update-codemirror-resources.rb:
2723        * Scripts/update-pretty-printer.rb:
2724        Update scripts to reflect updated locations for CodeMirror files.
2725        No longer copies LESS mode file as this has been integrated into CSS mode
2726        in CodeMirror 4.0.
2727
2728        * Tools/PrettyPrinting/codemirror.css:
2729        * Tools/PrettyPrinting/codemirror.js:
2730        * Tools/PrettyPrinting/css.js:
2731        * Tools/PrettyPrinting/javascript.js:
2732        * UserInterface/External/CodeMirror/clojure.js:
2733        * UserInterface/External/CodeMirror/closebrackets.js:
2734        * UserInterface/External/CodeMirror/codemirror.css:
2735        * UserInterface/External/CodeMirror/codemirror.js:
2736        * UserInterface/External/CodeMirror/coffeescript.js:
2737        * UserInterface/External/CodeMirror/comment.js:
2738        * UserInterface/External/CodeMirror/css.js:
2739        * UserInterface/External/CodeMirror/htmlmixed.js:
2740        * UserInterface/External/CodeMirror/javascript.js:
2741        * UserInterface/External/CodeMirror/livescript.js:
2742        * UserInterface/External/CodeMirror/matchbrackets.js:
2743        * UserInterface/External/CodeMirror/overlay.js:
2744        * UserInterface/External/CodeMirror/placeholder.js:
2745        * UserInterface/External/CodeMirror/runmode.js:
2746        * UserInterface/External/CodeMirror/sass.js:
2747        * UserInterface/External/CodeMirror/searchcursor.js:
2748        * UserInterface/External/CodeMirror/sql.js:
2749        * UserInterface/External/CodeMirror/xml.js:
2750        Update to CodeMirror 4.0.
2751
2752        * UserInterface/Main.html: Remove less.js which is now part of css.js.
2753
2754        * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
2755        * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
2756        (WebInspector.CSSStyleDeclarationTextEditor.prototype.):
2757        (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches):
2758        (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateJumpToSymbolTrackingMode):
2759        * UserInterface/Views/SyntaxHighlightingDefaultTheme.css:
2760        Update styles to match CodeMirror changes. Update CSSStyleDeclarationTextEditor.js
2761        to match CodeMirror API updates (doc.removeLine() has been removed, so
2762        replaceRange() is used instead). Also the tokenTrackingController is now enabled in the
2763        CSSStyleDeclarationTextEditor and SourceCodeTextEditor when the Option (Alt) key
2764        is pressed instead of the Command (Cmd) key so as not to conflict with multiple
2765        cursor placement in the CodeMirror update.
2766
27672014-04-08  Brent Fulgham  <bfulgham@apple.com>
2768
2769        [Windows] Generate Optimized WebInspectorUI in Release Build
2770        https://bugs.webkit.org/show_bug.cgi?id=120120
2771
2772        Reviewed by Timothy Hatcher.
2773
2774        * Scripts/copy-user-interface-resources.pl: Copied from Scripts/copy-user-interface-resources.sh.
2775        * Scripts/copy-user-interface-resources.sh: Removed.
2776        * Scripts/remove-console-asserts.pl:
2777        * WebInspectorUI.vcxproj/WebInspectorUI.make: Added.
2778        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj: Switch to Makefile style.
2779        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters: Ditto.
2780        * WebInspectorUI.vcxproj/WebInspectorUIPostBuild.cmd: More work should
2781        be done in the new build-webinspectorui.sh file.
2782        * WebInspectorUI.vcxproj/build-webinspectorui.sh: Added.
2783        * WebInspectorUI.xcodeproj/project.pbxproj:
2784
27852014-04-08  Timothy Hatcher  <timothy@apple.com>
2786
2787        Fix corrupt APPLE_IMAGES_LICENSE.rtf after r165676.
2788        https://bugs.webkit.org/show_bug.cgi?id=131384
2789
2790        Reviewed by Joseph Pecoraro.
2791
2792        * APPLE_IMAGES_LICENSE.rtf:
2793
27942014-04-08  Timothy Hatcher  <timothy@apple.com>
2795
2796        Clean up old protocol JSON files to better match the latest
2797        https://bugs.webkit.org/show_bug.cgi?id=131308
2798
2799        Reviewed by Joseph Pecoraro.
2800
2801        * Versions/Inspector-iOS-6.0.json:
2802        * Versions/Inspector-iOS-7.0.json:
2803
28042014-04-05  Brian J. Burg  <burg@cs.washington.edu>
2805
2806        Enable WEB_REPLAY for PLATFORM(MAC)
2807        https://bugs.webkit.org/show_bug.cgi?id=130700
2808
2809        Reviewed by Timothy Hatcher.
2810
2811        If the ReplayAgent is available, then add an option to toggle between the
2812        replay interface and normal Timeline interface from the timeline
2813        sidebar panel. The option is available through a context menu item on the
2814        sidebar panel's top navigation bar.
2815
2816        If web replay not available, just show the non-replay interface.
2817
2818        * Localizations/en.lproj/localizedStrings.js:
2819        * UserInterface/Base/Main.js: Add WebInspector.showReplayInterfaceSetting.
2820        (WebInspector.loaded):
2821
2822        * UserInterface/Views/TimelineSidebarPanel.js: Unconditionally create the replay
2823        interface elements, but only show them if showReplayInterfaceSetting is enabled.
2824        (WebInspector.TimelineSidebarPanel.prototype._updateReplayInterfaceVisibility): Added
2825        (WebInspector.TimelineSidebarPanel.prototype._contextMenuNavigationBarOrStatusBar.toggleReplayInterface): Added.
2826        (WebInspector.TimelineSidebarPanel.prototype._contextMenuNavigationBarOrStatusBar): Added.
2827
28282014-04-05  Brian J. Burg  <burg@cs.washington.edu>
2829
2830        Web Inspector: remove unused metrics and commands from the Timeline agent
2831        https://bugs.webkit.org/show_bug.cgi?id=131184
2832
2833        Reviewed by Timothy Hatcher.
2834
2835        Remove the Memory domain from old protocol versions. Remove enum values
2836        BeginFrame and CompositeLayers. Remove arguments to Timeline.start.
2837        Remove miscellaneous Timeline commands that no longer exist and were never used.
2838
2839        * UserInterface/Protocol/Legacy/6.0/InspectorWebBackendCommands.js:
2840        * UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js:
2841        * Versions/Inspector-iOS-6.0.json:
2842        * Versions/Inspector-iOS-7.0.json:
2843
28442014-04-03  Brian J. Burg  <burg@cs.washington.edu>
2845
2846        Web Inspector: hook up probe samples to TimelineAgent's records
2847        https://bugs.webkit.org/show_bug.cgi?id=131127
2848
2849        Reviewed by Timothy Hatcher.
2850
2851        * UserInterface/Controllers/TimelineManager.js: Stub out a case for the ProbeSample record type.
2852        (WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
2853        (WebInspector.TimelineManager.prototype.eventRecorded):
2854
28552014-04-04  Joseph Pecoraro  <pecoraro@apple.com>
2856
2857        Web Inspector: JSContext inspection Resource search throws exception
2858        https://bugs.webkit.org/show_bug.cgi?id=131253
2859
2860        Reviewed by Timothy Hatcher.
2861
2862        Fail gracefully when none of the supported search backends are available.
2863        In JSContext inspection the DOM and Page agents are unavailable.
2864
2865        * UserInterface/Views/ResourceSidebarPanel.js:
2866        (WebInspector.ResourceSidebarPanel.prototype.performSearch):
2867
28682014-04-04  Joseph Pecoraro  <pecoraro@apple.com>
2869
2870        Web Inspector: JSContext inspection - TypeError: null is not an object (evaluating 'contentView.showSourceCode')
2871        https://bugs.webkit.org/show_bug.cgi?id=129857
2872
2873        Reviewed by Timothy Hatcher.
2874
2875        When inspecting a JSContext, there is no main frame resource, so
2876        attempting to show it was resulting in a runtime error.
2877        Instead, check to see if there is a main frame resource, fallback
2878        to selecting the first tree element.
2879
2880        * UserInterface/Base/Main.js:
2881        (WebInspector.toggleConsoleView):
2882        * UserInterface/Views/DebuggerSidebarPanel.js:
2883        (WebInspector.DebuggerSidebarPanel.prototype.showDefaultContentView):
2884        * UserInterface/Views/ResourceSidebarPanel.js:
2885        (WebInspector.ResourceSidebarPanel.prototype.showDefaultContentView):
2886
28872014-04-04  Ion Rosca  <rosca@adobe.com>
2888
2889        [CSS Blending] Add compositing reason for isolation.
2890        https://bugs.webkit.org/show_bug.cgi?id=131153
2891
2892        Reviewed by Joseph Pecoraro.
2893
2894        * Localizations/en.lproj/localizedStrings.js:
2895        * UserInterface/Views/LayerTreeSidebarPanel.js:
2896        (WebInspector.LayerTreeSidebarPanel.prototype._populateListOfCompositingReasons):
2897
28982014-04-02  Timothy Hatcher  <timothy@apple.com>
2899
2900        Remove Input domain from the Web Inspector protocol.
2901
2902        https://bugs.webkit.org/show_bug.cgi?id=131073
2903
2904        Reviewed by Joseph Pecoraro.
2905
2906        * UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js: Updated.
2907        * Versions/Inspector-iOS-7.0.json: Removed Input domain.
2908
29092014-04-01  Timothy Hatcher  <timothy@apple.com>
2910
2911        Remove HeapProfiler from the Web Inspector protocol.
2912
2913        https://bugs.webkit.org/show_bug.cgi?id=131070
2914
2915        Reviewed by Joseph Pecoraro.
2916
2917        * UserInterface/Protocol/Legacy/6.0/InspectorWebBackendCommands.js: Updated.
2918        * UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js: Ditto.
2919        * Versions/Inspector-iOS-6.0.json: Removed heap related stuff.
2920        * Versions/Inspector-iOS-7.0.json: Ditto.
2921
29222014-04-01  Joseph Pecoraro  <pecoraro@apple.com>
2923
2924        Web Inspector: Remove stale localStorage deletion transition code
2925        https://bugs.webkit.org/show_bug.cgi?id=131061
2926
2927        Reviewed by Timothy Hatcher.
2928
2929        * UserInterface/Base/ImageUtilities.js:
2930        This code has been in for a while. We have transitioned to Web SQL.
2931
29322014-04-01  Zoltan Horvath  <zoltan@webkit.org>
2933
2934        [CSS Exclusions] Remove exclusions parsing support
2935        https://bugs.webkit.org/show_bug.cgi?id=131046
2936
2937        Reviewed by David Hyatt.
2938
2939        * UserInterface/Models/CSSKeywordCompletions.js:
2940
29412014-04-01  Timothy Hatcher  <timothy@apple.com>
2942
2943        Remove the rest of the old Canvas inspection support.
2944
2945        https://bugs.webkit.org/show_bug.cgi?id=131066
2946
2947        Reviewed by Joseph Pecoraro.
2948
2949        * UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js: Updated.
2950        * Versions/Inspector-iOS-7.0.json: Removed Canvas domain.
2951
29522014-03-28  James Craig  <jcraig@apple.com>
2953
2954        Web Inspector: AXI: support for live regions
2955        https://bugs.webkit.org/show_bug.cgi?id=130725
2956
2957        Reviewed by Timothy Hatcher.
2958
2959        Initial support for @aria-live, @aria-atomic, and @aria-busy.
2960
2961        * Localizations/en.lproj/localizedStrings.js:
2962        * UserInterface/Models/DOMNode.js:
2963        * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
2964        * UserInterface/Views/Main.css:
2965
29662014-03-28  Joseph Pecoraro  <pecoraro@apple.com>
2967
2968        Web Inspector: console.warn is showing as error instead of warning
2969        https://bugs.webkit.org/show_bug.cgi?id=130921
2970
2971        Reviewed by Timothy Hatcher.
2972
2973        * UserInterface/Models/DefaultDashboard.js:
2974        (WebInspector.DefaultDashboard.prototype._incrementConsoleMessageType):
2975        Use our enums instead of hardcoded strings.
2976
29772014-03-28  James Craig  <jcraig@apple.com>
2978
2979        Web Inspector: AXI: expose what elements get generic "clickable" status
2980        https://bugs.webkit.org/show_bug.cgi?id=130721
2981
2982        Reviewed by Timothy Hatcher.
2983
2984        Expose ancestor element link to "Click Listener" or generic "Clickable: Yes" if current node has mouse handler.
2985
2986        * Localizations/en.lproj/localizedStrings.js: New "Mouse Event" string.
2987        * UserInterface/Models/DOMNode.js: Added nodeId and mouseEventNodeId.
2988        * UserInterface/Views/DOMNodeDetailsSidebarPanel.js: UI for new detail row.
2989
29902014-03-27  James Craig  <jcraig@apple.com>
2991
2992        Web Inspector: AXI: expose selectedChildNodeIds of list boxes, tree controls, etc., and reconcile UI with childNodeIds
2993        https://bugs.webkit.org/show_bug.cgi?id=130827
2994
2995        Reviewed by Timothy Hatcher.
2996
2997        UI updates for "Selected Item(s)" and "Child(ren)" rows in accessibility node inspector.
2998
2999        * Localizations/en.lproj/localizedStrings.js:
3000        * UserInterface/Models/DOMNode.js:
3001        * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
3002
30032014-03-27  Antoine Quint  <graouts@webkit.org>
3004
3005        Web Inspector: clearing the console log doesn't update the activity viewer
3006        https://bugs.webkit.org/show_bug.cgi?id=130774
3007
3008        Reviewed by Joseph Pecoraro.
3009
3010        Ensure we take the changes made to the ivars into account on the view.
3011
3012        * UserInterface/Models/DefaultDashboard.js:
3013        (WebInspector.DefaultDashboard.prototype._consoleWasCleared):
3014
30152014-03-27  Brent Fulgham  <bfulgham@apple.com>
3016
3017        [Win] Correct handling of autogenerated WebInspectorUI files
3018        https://bugs.webkit.org/show_bug.cgi?id=130846
3019
3020        Reviewed by Joseph Pecoraro.
3021
3022        * WebInspectorUI.vcxproj/WebInspectorUIPostBuild.cmd: Files need to be placed in the
3023        'Protocol' subdirectory of the WebInspectorUI directory.
3024
30252014-03-25  James Craig  <jcraig@apple.com>
3026
3027        Web Inspector: AXI: add support for aria-activedescendant and reconcile UI/testing with parentNode
3028        https://bugs.webkit.org/show_bug.cgi?id=130712
3029
3030        Reviewed by Timothy Hatcher.
3031
3032        Support for @aria-activedescendant; code reuse changes w/ parentNode and activeDescendantNode.
3033
3034        * Localizations/en.lproj/localizedStrings.js:
3035        * UserInterface/Models/DOMNode.js:
3036        * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
3037
30382014-03-25  Martin Robinson  <mrobinson@igalia.com>
3039
3040        [GTK] Remove the autotools build
3041        https://bugs.webkit.org/show_bug.cgi?id=130717
3042
3043        Reviewed by Anders Carlsson.
3044
3045        * GNUmakefile.am: Removed.
3046
30472014-03-24  Timothy Hatcher  <timothy@apple.com>
3048
3049        Lazy load source code referred to from the source map, instead of when
3050        the source code is revealed in the Resources sidebar.
3051
3052        https://bugs.webkit.org/show_bug.cgi?id=130625
3053
3054        Reviewed by Joseph Pecoraro.
3055
3056        * UserInterface/Models/SourceMapResource.js:
3057        (WebInspector.SourceMapResource): Set up the type info here so it can be used to
3058        dispaly the right icon in the sidebar.
3059        (WebInspector.SourceMapResource.prototype.canRequestContentFromBackend): Use _contentRequested.
3060        (WebInspector.SourceMapResource.prototype.requestContentFromBackend.sourceMapResourceLoaded):
3061        Reset finished and remove the type change dance we had before.
3062        * UserInterface/Views/SourceMapResourceTreeElement.js:
3063        (WebInspector.SourceMapResourceTreeElement.prototype.onattach): Removed. Don't request content here.
3064
30652014-03-23  James Craig  <jcraig@apple.com>
3066
3067        Web Inspector: AXI: add other ARIA one-to-many relationships: owns, flowto, controls.
3068        https://bugs.webkit.org/show_bug.cgi?id=130635
3069
3070        Reviewed by Timothy Hatcher.
3071
3072        Support for @aria-owns, @aria-controls, and @aria-flowto.
3073
3074        * Localizations/en.lproj/localizedStrings.js:
3075        * UserInterface/Models/DOMNode.js:
3076        * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
3077
30782014-03-21  James Craig  <jcraig@apple.com>
3079
3080        Web Inspector: AXI: Expose Accessibility Tree children of the selected node
3081        https://bugs.webkit.org/show_bug.cgi?id=130264
3082
3083        Reviewed by Timothy Hatcher.
3084
3085        Expose the accessibility tree children (different from DOM children) of the
3086        current node in the accessibility node inspector.
3087
3088        * Localizations/en.lproj/localizedStrings.js: New "Children" string.
3089        * UserInterface/Base/DOMUtilities.js: Added linkifyAccessibilityNodeReference.
3090        * UserInterface/Models/DOMNode.js: Support for accessibility children.
3091        * UserInterface/Views/DOMNodeDetailsSidebarPanel.js: Support for accessibility children.
3092        * UserInterface/Views/Main.css: New styles for .node-link-list.
3093
30942014-03-20  Brian Burg  <bburg@apple.com>
3095
3096        Web Inspector: add temporary buttons to capture/play/pause replay recordings
3097        https://bugs.webkit.org/show_bug.cgi?id=129692
3098
3099        Reviewed by Timothy Hatcher.
3100
3101        If the Replay agent is available, replace the existing ad-hoc navigation bar
3102        in the Timelines sidebar panel with a record and pause/play button. This UI
3103        is temporary.
3104
3105        * Localizations/en.lproj/localizedStrings.js:
3106        * UserInterface/Controllers/ReplayManager.js: Turn two segment state assertions into
3107        FIXMEs because the assertions are too strong until the public API uses async chains.
3108        (WebInspector.ReplayManager.prototype.replayToMarkIndex):
3109        (WebInspector.ReplayManager.prototype.replayToCompletion):
3110        * UserInterface/Images/Circle.svg: Added.
3111        * UserInterface/Views/ActivateButtonNavigationItem.js:
3112        (WebInspector.ActivateButtonNavigationItem.prototype.generateStyleText):
3113        * UserInterface/Views/ButtonNavigationItem.css: Adjust styles so the default style
3114        has opacity:1 and the glyph color is darker.
3115        (.navigation-bar .item.button.suppress-emboss > .glyph):
3116        (.navigation-bar .item.button.suppress-emboss.disabled > .glyph):
3117        * UserInterface/Views/ButtonNavigationItem.js:
3118        (WebInspector.ButtonNavigationItem.prototype.generateStyleText): Explicitly
3119        generate the width and height properties so that separate button instances do
3120        not influence the size of each other.
3121
3122        * UserInterface/Views/TimelineSidebarPanel.js:
3123        (WebInspector.TimelineSidebarPanel.prototype._recordGlyphClicked):
3124        (WebInspector.TimelineSidebarPanel.prototype._replayCaptureButtonClicked):
3125        (WebInspector.TimelineSidebarPanel.prototype._replayPauseResumeButtonClicked):
3126        (WebInspector.TimelineSidebarPanel.prototype._captureStarted):
3127        (WebInspector.TimelineSidebarPanel.prototype._captureStopped):
3128        (WebInspector.TimelineSidebarPanel.prototype._playbackStarted):
3129        (WebInspector.TimelineSidebarPanel.prototype._playbackPaused):
3130
31312014-03-20  Brian Burg  <bburg@apple.com>
3132
3133        Web Inspector: add frontend controller and models for replay sessions
3134        https://bugs.webkit.org/show_bug.cgi?id=130145
3135
3136        Reviewed by Joseph Pecoraro.
3137
3138        Upstream the frontend models and controller for web replay. The replay manager
3139        syncs with the backend controller's replay state and replay sessions by using
3140        the same state machines and transitions.
3141
3142        Session and segment models update their data asynchronously using promises.
3143
3144        * UserInterface/Base/Main.js:
3145        (WebInspector.loaded): Add the replay manager.
3146        * UserInterface/Base/Test.js:
3147        (WebInspector.loaded): Add the replay manager.
3148        (InspectorTest.debugLog): Fix a bug in the unescape/escape trick.
3149        (InspectorTest.addResult): Don't try to add results until the test page has loaded.
3150        (InspectorTest.testPageDidLoad): Clear the isReloading flag.
3151        (InspectorTest.reloadPage): Reimplement using promises. Return a promise.
3152        * UserInterface/Base/Utilities.js: Implement Map.take in the obvious way.
3153        * UserInterface/Controllers/ReplayManager.js: Added.
3154        (WebInspector.ReplayManager):
3155        (WebInspector):
3156        (WebInspector.ReplayManager.prototype.get sessionState):
3157        (WebInspector.ReplayManager.prototype.get segmentState):
3158        (WebInspector.ReplayManager.prototype.get activeSessionIdentifier):
3159        (WebInspector.ReplayManager.prototype.get activeSegmentIdentifier):
3160        (WebInspector.ReplayManager.prototype.get playbackSpeed):
3161        (WebInspector.ReplayManager.prototype.set playbackSpeed):
3162        (WebInspector.ReplayManager.prototype.get currentPosition):
3163        (WebInspector.ReplayManager.prototype.getSession.get var):
3164        (WebInspector.ReplayManager.prototype.getSegment.get var):
3165        (WebInspector.ReplayManager.prototype.captureStarted):
3166        (WebInspector.ReplayManager.prototype.captureStopped):
3167        (WebInspector.ReplayManager.prototype.playbackStarted):
3168        (WebInspector.ReplayManager.prototype.playbackHitPosition):
3169        (WebInspector.ReplayManager.prototype.playbackPaused):
3170        (WebInspector.ReplayManager.prototype.playbackFinished):
3171        (WebInspector.ReplayManager.prototype.sessionCreated.set catch):
3172        (WebInspector.ReplayManager.prototype.sessionCreated.this):
3173        (WebInspector.ReplayManager.prototype.sessionCreated):
3174        (WebInspector.ReplayManager.prototype.sessionModified):
3175        (WebInspector.ReplayManager.prototype.sessionRemoved.then):
3176        (WebInspector.ReplayManager.prototype.sessionRemoved):
3177        (WebInspector.ReplayManager.prototype.segmentCreated.set this):
3178        (WebInspector.ReplayManager.prototype.segmentCompleted.set catch):
3179        (WebInspector.ReplayManager.prototype.segmentCompleted):
3180        (WebInspector.ReplayManager.prototype.segmentRemoved.then):
3181        (WebInspector.ReplayManager.prototype.segmentRemoved):
3182        (WebInspector.ReplayManager.prototype.segmentLoaded):
3183        (WebInspector.ReplayManager.prototype.segmentUnloaded):
3184        (WebInspector.ReplayManager.prototype.startCapturing):
3185        (WebInspector.ReplayManager.prototype.stopCapturing):
3186        (WebInspector.ReplayManager.prototype.replayToMarkIndex):
3187        (WebInspector.ReplayManager.prototype.replayToCompletion):
3188        (WebInspector.ReplayManager.prototype.pausePlayback):
3189        (WebInspector.ReplayManager.prototype.stopPlayback):
3190        (WebInspector.ReplayManager.prototype._changeSessionState):
3191        (WebInspector.ReplayManager.prototype._changeSegmentState):
3192        * UserInterface/Main.html:
3193        * UserInterface/Models/ReplaySession.js: Added.
3194        (WebInspector.ReplaySession):
3195        (WebInspector.ReplaySession.fromPayload):
3196        (WebInspector.ReplaySession.prototype.get segments):
3197        (WebInspector.ReplaySession.prototype.segmentsChanged):
3198        (WebInspector.ReplaySession.prototype._updateFromPayload):
3199        * UserInterface/Models/ReplaySessionSegment.js: Added.
3200        (WebInspector.IncompleteSessionSegment):
3201        (WebInspector.IncompleteSessionSegment.prototype.get isComplete):
3202        (WebInspector.ReplaySessionSegment):
3203        (WebInspector.ReplaySessionSegment.prototype.get isComplete):
3204        * UserInterface/Protocol/InspectorBackend.js:
3205        (InspectorBackendClass.prototype.registerCommand):
3206        (InspectorBackendClass.prototype._promise): Add a promise-returning method for
3207        invoking backend commands that return a result asynchronously.
3208        * UserInterface/Protocol/ReplayObserver.js: Added.
3209        (WebInspector.ReplayPosition):
3210        (WebInspector.ReplayPosition.fromProtocol):
3211        (WebInspector.ReplayObserver):
3212        (WebInspector.ReplayObserver.prototype.captureStarted):
3213        (WebInspector.ReplayObserver.prototype.captureStopped):
3214        (WebInspector.ReplayObserver.prototype.playbackStarted):
3215        (WebInspector.ReplayObserver.prototype.playbackHitPosition):
3216        (WebInspector.ReplayObserver.prototype.playbackPaused):
3217        (WebInspector.ReplayObserver.prototype.playbackFinished):
3218        (WebInspector.ReplayObserver.prototype.inputSuppressionChanged):
3219        (WebInspector.ReplayObserver.prototype.sessionCreated):
3220        (WebInspector.ReplayObserver.prototype.sessionModified):
3221        (WebInspector.ReplayObserver.prototype.sessionRemoved):
3222        (WebInspector.ReplayObserver.prototype.sessionLoaded):
3223        (WebInspector.ReplayObserver.prototype.segmentCreated):
3224        (WebInspector.ReplayObserver.prototype.segmentRemoved):
3225        (WebInspector.ReplayObserver.prototype.segmentCompleted):
3226        (WebInspector.ReplayObserver.prototype.segmentLoaded):
3227        (WebInspector.ReplayObserver.prototype.segmentUnloaded):
3228        * UserInterface/Test.html:
3229
32302014-03-20  Joseph Pecoraro  <pecoraro@apple.com>
3231
3232        Web Inspector: DebuggerDashboardView looks scrunched debugging JSContext
3233        https://bugs.webkit.org/show_bug.cgi?id=130527
3234
3235        Reviewed by Timothy Hatcher.
3236
3237        Instead of using body.javascript to force a collapsed style,
3238        actually use the toolbar's collapsed class.
3239
3240        * UserInterface/Views/DashboardContainerView.css:
3241        (.toolbar.collapsed .dashboard-container):
3242        * UserInterface/Views/Toolbar.js:
3243
32442014-03-20  Katie Madonna  <madonnk@gmail.com>
3245
3246        Web Inspector: probe sidebar should use overflow:scroll and split space evenly
3247        https://bugs.webkit.org/show_bug.cgi?id=129627
3248
3249        Reviewed by Timothy Hatcher.
3250
3251        Use flexbox to split space evenly in the probe sidebar, which required changes to collapse
3252        format, remove scrollbar styles from old timelapse branch.
3253
3254        * UserInterface/Views/ProbeDetailsSidebarPanel.css: Space elements evenly with flexbox
3255        and make collapse correctly, remove scrollbar style.
3256        * UserInterface/Views/ProbeSetDetailsSection.js: Removed inline style.
3257
32582014-03-18  Joseph Pecoraro  <pecoraro@apple.com>
3259
3260        Web Inspector: Make update-InspectorBackendCommands.rb only update legacy protocol versions
3261        https://bugs.webkit.org/show_bug.cgi?id=130412
3262
3263        Reviewed by Timothy Hatcher.
3264
3265        Rename the script and simplify to only update Legacy protocol versions.
3266
3267        * Scripts/update-LegacyInspectorBackendCommands.rb: Renamed from Source/WebInspectorUI/Scripts/update-InspectorBackendCommands.rb.
3268
32692014-03-18  Joseph Pecoraro  <pecoraro@apple.com>
3270
3271        Web Inspector: sourceMapResourceLoaded expects statusCode parameter
3272        https://bugs.webkit.org/show_bug.cgi?id=130377
3273
3274        Reviewed by Timothy Hatcher.
3275
3276        * UserInterface/Models/SourceMapResource.js:
3277
32782014-03-17  Joseph Pecoraro  <pecoraro@apple.com>
3279
3280        Web Inspector: Uncaught Exception in JSContext Inspector
3281        https://bugs.webkit.org/show_bug.cgi?id=130368
3282
3283        Reviewed by Timothy Hatcher.
3284
3285        * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
3286        (WebInspector.DOMNodeDetailsSidebarPanel.prototype._accessibilitySupported):
3287        Feature check DOMAgent as well as the function.
3288
32892014-03-16  Brian Burg  <bburg@apple.com>
3290
3291        Web Inspector: vended backend commands file should be generated as part of the build
3292        https://bugs.webkit.org/show_bug.cgi?id=130110
3293
3294        Reviewed by Timothy Hatcher.
3295
3296        Copy the backend commands generated in other frameworks into our built products directory.
3297
3298        * Configurations/WebInspectorUIFramework.xcconfig: Set up variables so we can pull backend
3299        commands files from the private headers directory of other frameworks.
3300        * Scripts/copy-user-interface-resources.sh: Always ditto inspector backend commands.
3301        * UserInterface/Protocol/InspectorJSBackendCommands.js: Removed.
3302        * UserInterface/Protocol/InspectorWebBackendCommands.js: Removed.
3303        * WebInspectorUI.vcxproj/WebInspectorUIPostBuild.cmd: Copy over the generated
3304        backend commands files from the other frameworks.
3305        * WebInspectorUI.xcodeproj/project.pbxproj: Add JavaScriptCore and WebCore as
3306        framework dependencies so Xcode builds them first.
3307
33082014-03-15  David Kilzer  <ddkilzer@apple.com>
3309
3310        [iOS] Define SYSTEM_VERSION_PREFIX consistently
3311        <http://webkit.org/b/130293>
3312        <rdar://problem/15926359>
3313
3314        Reviewed by Dan Bernstein.
3315
3316        * Configurations/Version.xcconfig:
3317        (SYSTEM_VERSION_PREFIX): Sync with
3318        Source/WebKit/mac/Version.xcconfig.
3319
33202014-03-14  Maciej Stachowiak  <mjs@apple.com>
3321
3322        Replace "Apple Computer, Inc." with "Apple Inc." in copyright headers
3323        https://bugs.webkit.org/show_bug.cgi?id=130276
3324        <rdar://problem/16266927>
3325
3326        Reviewed by Simon Fraser.
3327
3328        * APPLE_IMAGES_LICENSE.rtf:
3329        * UserInterface/Base/DOMUtilities.js:
3330        * UserInterface/Models/Color.js:
3331        * UserInterface/Views/ConsoleCommand.js:
3332        * UserInterface/Views/ConsoleCommandResult.js:
3333        * UserInterface/Views/ConsoleGroup.js:
3334        * UserInterface/Views/ConsoleMessage.js:
3335        * UserInterface/Views/ConsoleMessageImpl.js:
3336        * UserInterface/Views/DOMTreeElement.js:
3337        * UserInterface/Views/DOMTreeOutline.js:
3338        * UserInterface/Views/DOMTreeUpdater.js:
3339        * UserInterface/Views/GradientSlider.css:
3340        * UserInterface/Views/GradientSlider.js:
3341        * UserInterface/Views/TreeOutline.js:
3342
33432014-03-14  Bem Jones-Bey  <bjonesbe@adobe.com>
3344
3345        [CSS Shapes] Add autocomplete for -webkit-shape-outside
3346        https://bugs.webkit.org/show_bug.cgi?id=130268
3347
3348        Reviewed by Joseph Pecoraro.
3349
3350        Add completions for -webkit-shape-outside. Also add the box shapes to
3351        the possible completions for clip-path.
3352
3353        * UserInterface/Models/CSSKeywordCompletions.js:
3354
33552014-03-14  Joseph Pecoraro  <pecoraro@apple.com>
3356
3357        Web Inspector: Update shapes autocompletion suggestions
3358        https://bugs.webkit.org/show_bug.cgi?id=130255
3359
3360        Reviewed by Bem Jones-Bey.
3361
3362        * UserInterface/Models/CSSKeywordCompletions.js:
3363
33642014-03-14  James Craig  <jcraig@apple.com>
3365
3366        Web Inspector: AXI: Expose Accessibility Tree parent of the selected node
3367        https://bugs.webkit.org/show_bug.cgi?id=129943
3368
3369        Reviewed by Timothy Hatcher.
3370
3371        Tests: inspector-protocol/dom/getAccessibilityPropertiesForNode.html
3372
3373        Web Accessibility Node Inspector now displays a link to the AX parent node,
3374        because it's not a 1:1 match with the DOMNode parent.
3375
3376        * Localizations/en.lproj/localizedStrings.js: new "Parent" string.
3377        * UserInterface/Base/DOMUtilities.js: Updating linkifyNodeReference to include role; adding new roleSelectorForNode method.
3378        * UserInterface/Models/DOMNode.js: AX Parent support and adding role to DOMNode (will be exposed as AX Parent link and in overlays).
3379        * UserInterface/Views/DOMNodeDetailsSidebarPanel.js: Accessibility parent node.
3380
33812014-03-14  Diego Pino Garcia  <dpino@igalia.com>
3382
3383        Web Inspector: Resource and Frame saveIdentityToCookie should store URL hashes not URLs
3384        https://bugs.webkit.org/show_bug.cgi?id=126833
3385
3386        Reviewed by Timothy Hatcher.
3387
3388        * UserInterface/Models/Frame.js:
3389        (WebInspector.Frame.prototype.saveIdentityToCookie):
3390        * UserInterface/Models/Resource.js:
3391        (WebInspector.Resource.prototype.saveIdentityToCookie):
3392
33932014-03-13  James Craig  <jcraig@apple.com>
3394
3395        Web Inspector: AXI: Use loc strings for known aria-invalid types
3396        https://bugs.webkit.org/show_bug.cgi?id=129952
3397
3398        Reviewed by Joseph Pecoraro.
3399
3400        Updating inspector-protocol and UI display values for @aria-invalid.
3401
3402        Test: inspector-protocol/dom/getAccessibilityPropertiesForNode.html
3403
3404        * Localizations/en.lproj/localizedStrings.js: "Grammar" and "Spelling" value strings.
3405        * UserInterface/Protocol/InspectorWebBackendCommands.js: New enum for DOM.AccessibilityPropertiesInvalid
3406        * UserInterface/Views/DOMNodeDetailsSidebarPanel.js: Use enum instead of passing value through directly.
3407
34082014-03-13  Diego Pino Garcia  <dpino@igalia.com>
3409
3410        Web Inspector: AXI: Expose focused/focusable state in the Accessibility Node Inspector
3411        https://bugs.webkit.org/show_bug.cgi?id=129779
3412
3413        Reviewed by Timothy Hatcher.
3414
3415        * Localizations/en.lproj/localizedStrings.js: Add label "Focused".
3416        * UserInterface/Models/DOMNode.js: Set property "focused" in
3417        accessibilityProperties.
3418        (WebInspector.DOMNode.prototype.accessibilityProperties): Add row for
3419        property "focused".
3420        * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
3421        (WebInspector.DOMNodeDetailsSidebarPanel):
3422        (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshAccessibility):
3423        Refresh value of property "focused" in UI.
3424
34252014-03-13  Joseph Pecoraro  <pecoraro@apple.com>
3426
3427        Web Inspector: Remove InspectorFrontendHost.loadResourceSynchronously
3428        https://bugs.webkit.org/show_bug.cgi?id=130217
3429
3430        Reviewed by Timothy Hatcher.
3431
3432        * UserInterface/Protocol/InspectorFrontendHostStub.js:
3433
34342014-03-13  Joseph Pecoraro  <pecoraro@apple.com>
3435
3436        Web Inspector: Network.loadResource should include the response status code
3437        https://bugs.webkit.org/show_bug.cgi?id=130216
3438
3439        Reviewed by Timothy Hatcher.
3440
3441        * UserInterface/Controllers/SourceMapManager.js:
3442        (WebInspector.SourceMapManager.prototype.sourceMapLoaded):
3443        (WebInspector.SourceMapManager.prototype._loadAndParseSourceMap):
3444        * UserInterface/Models/SourceMapResource.js:
3445        (WebInspector.SourceMapResource.prototype.requestContentFromBackend.sourceMapResourceLoaded):
3446        If the response is 400 or larger, treat it as an error / failed load.
3447
3448        * UserInterface/Protocol/InspectorWebBackendCommands.js:
3449        Update protocol to provide status code parameter.
3450
34512014-03-12  Brian Burg  <bburg@apple.com>
3452
3453        Web Inspector: Remove unused callId parameter from evaluateInWebInspector
3454        https://bugs.webkit.org/show_bug.cgi?id=129744
3455
3456        Reviewed by Timothy Hatcher.
3457
3458        * UserInterface/Protocol/InspectorJSBackendCommands.js:
3459        * UserInterface/Protocol/InspectorObserver.js:
3460        (WebInspector.InspectorObserver.prototype.evaluateForTestInFrontend):
3461
34622014-03-12  Joseph Pecoraro  <pecoraro@apple.com>
3463
3464        Web Inspector: [iOS 6] uncaught exception attempting to use CSSAgent.getNamedFlowCollection
3465        https://bugs.webkit.org/show_bug.cgi?id=130167
3466
3467        Reviewed by Timothy Hatcher.
3468
3469        Feature check the protocol method before using it. It is
3470        fine to do nothing if the feature is not supported.
3471
3472        * UserInterface/Controllers/DOMTreeManager.js:
3473
34742014-03-12  Joseph Pecoraro  <pecoraro@apple.com>
3475
3476        Web Inspector: Feature check for accessibility support before using it (DOMAgent.getAccessibilityPropertiesForNode)
3477        https://bugs.webkit.org/show_bug.cgi?id=130037
3478
3479        Reviewed by Timothy Hatcher.
3480
3481        Feature detect if accessibility information is supported before
3482        creating or attempting to update the accessibility section.
3483
3484        * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
3485        (WebInspector.DOMNodeDetailsSidebarPanel):
3486        (WebInspector.DOMNodeDetailsSidebarPanel.prototype._accessibilitySupported):
3487        (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshAccessibility):
3488
34892014-03-12  Joseph Pecoraro  <pecoraro@apple.com>
3490
3491        Web Inspector: Fix multiple console.assert stripping issues
3492        https://bugs.webkit.org/show_bug.cgi?id=130166
3493
3494        Reviewed by Timothy Hatcher.
3495
3496        There were a couple console.assert stripping issues in production.
3497        One line required a semicolon so was avoiding getting stripped.
3498        One resulted in a logic change, when stripping the only statement
3499        of a control flow block. Add a warning for such cases.
3500
3501        * Scripts/remove-console-asserts.pl:
3502        Add warning for a console.assert being the only statement in a control flow block
3503        without braces. When it is stripped it may change the flow of the function.
3504
3505        * Scripts/remove-console-asserts-dryrun.rb: Added.
3506        Add a script to quickly test running remove console asserts on our files, to
3507        help catch errors not in a production build and in the original non-combined
3508        files, so you can more easily fix issues.
3509
3510        * UserInterface/Controllers/DOMTreeManager.js:
3511        (WebInspector.DOMTreeManager.prototype._updateContentFlowFromPayload):
3512        Convert the for loop into a single console.assert statement.
3513
3514        * UserInterface/Views/DataGrid.js:
3515        (WebInspector.DataGrid.prototype.removeChild):
3516        Add missing semicolon.
3517
35182014-03-12  Brian Burg  <bburg@apple.com>
3519
3520        Web Inspector: convert model tests and inspector-test.js to use Test.html
3521        https://bugs.webkit.org/show_bug.cgi?id=129217
3522
3523        Reviewed by Timothy Hatcher.
3524
3525        Miscellaneous changes to make the inspector model test harness work well in
3526        scenarios where the test page must navigate or reload. Also improve reporting
3527        test failures so that messages will be dumped correctly even when an exception
3528        is thrown in the Inspector or the test times out.
3529
3530        * UserInterface/Base/Test.js:
3531        (WebInspector.loaded): register new managers and observers.
3532        (InspectorTest.log): Stringify the argument if it's an object.
3533        (InspectorTest.assert): Stringify the argument if it's an object. Don't log
3534        unless the condition is false.
3535
3536        (InspectorTest.expectThat): Added. Like assert(), but always logs.
3537        (InspectorTest.debugLog): Escape and unescape the string properly.
3538        (InspectorTest.completeTest): Fix teardown so messages are not lost.
3539        (InspectorTest.evaluateInPage): Accept a callback argument.
3540        (InspectorTest.addResult): Don't rebuild results when adding a new result.
3541        (InspectorTest._resendResults.decrementPendingResponseCount): Added.
3542
3543        (InspectorTest._resendResults): Added. Track the number of pending
3544        responses and invoke a given callback when everything has been resent.
3545
3546        (InspectorTest.testPageDidLoad): Renamed from `pageLoaded`.
3547        (InspectorTest.reloadPage): Added.
3548        (InspectorTest.reportUncaughtException): Prevent the default handler from running.
3549        * UserInterface/Protocol/InspectorBackend.js:
3550        (InspectorBackendClass.prototype.dispatch): Report uncaught exceptions when dispatching
3551        messages on the inspector page without blowing away the entire call stack.
3552
3553        * UserInterface/Test.html: Add files used by Network and Timeline domains.
3554
35552014-03-11  Brian Burg  <bburg@apple.com>
3556
3557        Web Inspector: DataGrid should have an API to set sort column and direction
3558        https://bugs.webkit.org/show_bug.cgi?id=128783
3559
3560        Reviewed by Timothy Hatcher.
3561
3562        Previously there was no way for DataGrid clients to programmatically change
3563        the sort order or sort column identifier after the data grid was constructed.
3564        This patch modernizes DataGrid sorting by exposing getters and setters for
3565        sortOrder and sortColumnIdentifier, which trigger the SortChanged event if
3566        the sort settings have changed.
3567
3568        This patch also modernizes sorting functionality in DataGrid clients, and in
3569        a few clients it moves column identifiers from numbers to string identifiers.
3570
3571        * UserInterface/Main.html:
3572        * UserInterface/Views/ApplicationCacheFrameContentView.js: Use string column identifiers
3573        instead of numbers. Don't repopulate the entire table when the sort changes, instead
3574        call DataGrid.sortNodes from the sorting callback. Explicitly set the sort order.
3575
3576        (WebInspector.ApplicationCacheFrameContentView.prototype._createDataGrid):
3577        (WebInspector.ApplicationCacheFrameContentView.prototype._sortDataGrid):
3578        (WebInspector.ApplicationCacheFrameContentView.prototype._sortDataGrid.localeCompare):
3579        (WebInspector.ApplicationCacheFrameContentView.prototype._populateDataGrid):
3580
3581        * UserInterface/Views/CookieStorageContentView.js: Use string column identifiers instead
3582        of numbers. Don't sort the cookies themselves, just the data grid nodes representing
3583        each cookie. Use DataGrid.sortNodes as the sorting implementation, and provide a
3584        comparator. Don't rebuild the entire table when the sort changes.
3585
3586        (WebInspector.CookieStorageContentView.prototype._rebuildTable):
3587        (WebInspector.CookieStorageContentView.prototype._sortDataGrid):
3588        (WebInspector.CookieStorageContentView.prototype._sortDataGrid.numberCompare):
3589        (WebInspector.CookieStorageContentView.prototype._sortDataGrid.expiresCompare):
3590
3591        * UserInterface/Views/DataGrid.js: Add the DataGrid.SortOrder enum. Put sortOrder
3592        and sortColumnIdentifier behind getters and setters. Pull some hardcoded style
3593        class names into constants. Remove the "sort" field on column config objects; instead
3594        should use the DataGrid.sortColumnIdentifier setter after construction.
3595
3596        (WebInspector.DataGrid): Keep sort settings in private variables.
3597        (WebInspector.DataGrid.prototype.get sortOrder): Reimplemented.
3598        (WebInspector.DataGrid.prototype.get sortColumnIdentifier): Reimplemented.
3599        (WebInspector.DataGrid.prototype.moveToNextCell):
3600        (WebInspector.DataGrid.prototype._editingCommitted):
3601        (WebInspector.DataGrid.prototype.sortNodes): Use requestAnimationFrame to
3602        coalesce multiple sort requests within the same draw frame.
3603        (WebInspector.DataGrid.prototype._sortNodesCallback):
3604        (WebInspector.DataGrid.prototype._headerCellClicked): Use the new sort API.
3605        * UserInterface/Views/LayerTreeDataGrid.js: Removed. Unnecessary for performance
3606        now that sort requests are coalesced by requestAnimationFrame.
3607
3608        * UserInterface/Views/LayerTreeSidebarPanel.js: Use DataGrid instead of LayerTreeDataGrid.
3609        Hook up the _sortDataGrid method to the built-in DataGrid.sortNodes API.
3610
3611        (WebInspector.LayerTreeSidebarPanel.prototype._buildDataGridSection):
3612        (WebInspector.LayerTreeSidebarPanel.prototype._sortDataGrid.comparator):
3613        (WebInspector.LayerTreeSidebarPanel.prototype._sortDataGrid):
3614        * UserInterface/Views/LayoutTimelineView.js:
3615        * UserInterface/Views/LegacyJavaScriptProfileView.js:
3616        (WebInspector.LegacyJavaScriptProfileView.prototype._sortProfile):
3617        * UserInterface/Views/NetworkTimelineView.js:
3618        * UserInterface/Views/ResourceDetailsSidebarPanel.js: Use the DataGrid.sortNodes API.
3619        (WebInspector.ResourceDetailsSidebarPanel.prototype._createNameValueDataGrid.sortDataGrid.comparator):
3620        (WebInspector.ResourceDetailsSidebarPanel.prototype._createNameValueDataGrid.sortDataGrid):
3621        (WebInspector.ResourceDetailsSidebarPanel.prototype._createNameValueDataGrid):
3622        * UserInterface/Views/ScriptTimelineView.js:
3623        * UserInterface/Views/TimelineDataGrid.js:
3624        (WebInspector.TimelineDataGrid.prototype._sortComparator):
3625
36262014-03-10  James Craig  <jcraig@apple.com>
3627
3628        Web Inspector: AXI: Expose checked/disabled/expanded/pressed/readonly/selected
3629        https://bugs.webkit.org/show_bug.cgi?id=129781
3630
3631        Reviewed by Joseph Pecoraro.
3632
3633        Enabling several more properties to be exposed in the Accessibility Node Inspector.
3634
3635        Updated Tests: inspector-protocol/dom/getAccessibilityPropertiesForNode.html
3636
3637        * Localizations/en.lproj/localizedStrings.js:
3638        * UserInterface/Models/DOMNode.js:
3639        * UserInterface/Protocol/InspectorWebBackendCommands.js:
3640        * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
3641
36422014-03-10  Brian Burg  <bburg@apple.com>
3643
3644        Web Inspector: show a debugging-oriented dashboard when scripts pause
3645        https://bugs.webkit.org/show_bug.cgi?id=129913
3646
3647        Reviewed by Timothy Hatcher.
3648
3649        Using the dashboard swapping functionality just added, show a debugger dashboard
3650        whenever the debugger pauses, and hide it when it resumes. The debugger manager
3651        already coalesces pause/resume events across stepping commands.
3652
3653        The dashboard itself is straightforward, with the exception of how it uses the
3654        navigation bar buttons. Since buttons from the same URL can't be reused if they
3655        are bezeled, we don't bezel our button, and set the button image as the glyph mask
3656        instead of the background image. This lets us easily animate the glyph shape.
3657
3658        We also have to more forcefully declare a bunch of icon rules that would otherwise
3659        be messed up by the toolbar's icon rules (whereas we want to mostly emulate navigation
3660        bar icon styles).
3661
3662        * Localizations/en.lproj/localizedStrings.js:
3663        * UserInterface/Base/Main.js:
3664        (WebInspector.loaded):
3665        (WebInspector.contentLoaded):
3666        (WebInspector._debuggerDidPause):
3667        (WebInspector._debuggerDidResume):
3668        * UserInterface/Controllers/DashboardManager.js:
3669        (WebInspector.DashboardManager):
3670        * UserInterface/Main.html:
3671        * UserInterface/Models/DebuggerDashboard.js: Added.
3672        (WebInspector.DebuggerDashboard):
3673        * UserInterface/Views/ButtonNavigationItem.css:
3674        (.navigation-bar .item.button.suppress-emboss > .glyph):
3675        * UserInterface/Views/ButtonNavigationItem.js:
3676        (WebInspector.ButtonNavigationItem.prototype._updateImage):
3677        * UserInterface/Views/DashboardView.js:
3678        (WebInspector.DashboardView):
3679        * UserInterface/Views/DebuggerDashboardView.css: Added.
3680        (.toolbar .dashboard.debugger):
3681        (.dashboard.debugger > .message):
3682        (.dashboard.debugger .navigation-bar):
3683        (.toolbar:not(.small-size) .dashboard.debugger .navigation-bar):
3684        (.dashboard.debugger .navigation-bar .item.button):
3685        (.dashboard.debugger .navigation-bar .item.button > .glyph):
3686        (@-webkit-keyframes pulse-pause-button):
3687        (to):
3688        (.dashboard.debugger > .divider):
3689        (.dashboard.debugger > div):
3690        (.dashboard.debugger > .location > :first-child):
3691        (.toolbar:not(.small-size) .dashboard.debugger > .location :not(:first-child)):
3692        (.dashboard.debugger > .location img.icon):
3693        (.dashboard.debugger > .location .function-name):
3694        (.dashboard.debugger > .location .function-name::after):
3695        (.dashboard.debugger > .location .go-to-link):
3696        (.toolbar.collapsed .dashboard.debugger > :not(.message):not(.navigation-bar )):
3697        (.toolbar.small-size .dashboard.debugger > .message):
3698        (.toolbar.small-size .dashboard.debugger > .location > :first-child):
3699        * UserInterface/Views/DebuggerDashboardView.js: Added.
3700        (WebInspector.DebuggerDashboardView):
3701        (WebInspector.DebuggerDashboardView.prototype._rebuildLocation):
3702        (WebInspector.DebuggerDashboardView.prototype._resumeButtonClicked):
3703        * UserInterface/Views/DebuggerSidebarPanel.js:
3704        (WebInspector.DebuggerSidebarPanel):
3705
37062014-03-10  Brian Burg  <bburg@apple.com>
3707
3708        Web Inspector: convert the dashboard toolbar item to support multiple dashboards
3709        https://bugs.webkit.org/show_bug.cgi?id=129898
3710
3711        Reviewed by Timothy Hatcher.
3712
3713        We want to ability to swap in and out different dashboard contents depending on
3714        circumstances such as debugger activity and page loading. This patch converts the
3715        existing hard-coded dashboard implementation to follow the container-based approach
3716        used by WebInspector.ContentViewContainer.
3717
3718        As part of the refactoring, we introduce dashboard model objects to store persistent
3719        dashboard data. Some CSS has also been split between the container and specific dashboard.
3720
3721        * UserInterface/Controllers/DashboardManager.js:
3722        (WebInspector.DashboardManager):
3723        (WebInspector.DashboardManager.prototype.get toolbarItem):
3724        * UserInterface/Main.html:
3725        * UserInterface/Models/DefaultDashboard.js: Copied from Source/WebInspectorUI/UserInterface/Controllers/DashboardManager.js.
3726        (WebInspector.DefaultDashboard):
3727        (WebInspector.DefaultDashboard.prototype.get resourcesCount):
3728        (WebInspector.DefaultDashboard.prototype.set resourcesCount):
3729        (WebInspector.DefaultDashboard.prototype.get resourcesSize):
3730        (WebInspector.DefaultDashboard.prototype.set resourcesSize):
3731        (WebInspector.DefaultDashboard.prototype.get time):
3732        (WebInspector.DefaultDashboard.prototype.set time):
3733        (WebInspector.DefaultDashboard.prototype.get logs):
3734        (WebInspector.DefaultDashboard.prototype.set logs):
3735        (WebInspector.DefaultDashboard.prototype.get errors):
3736        (WebInspector.DefaultDashboard.prototype.set errors):
3737        (WebInspector.DefaultDashboard.prototype.get issues):
3738        (WebInspector.DefaultDashboard.prototype.set issues):
3739        (WebInspector.DefaultDashboard.prototype._dataDidChange):
3740        (WebInspector.DefaultDashboard.prototype._mainResourceDidChange):
3741        (WebInspector.DefaultDashboard.prototype._recordingStopped):
3742        (WebInspector.DefaultDashboard.prototype._resourceWasAdded):
3743        (WebInspector.DefaultDashboard.prototype._frameWasAdded):
3744        (WebInspector.DefaultDashboard.prototype._resourceSizeDidChange):
3745        (WebInspector.DefaultDashboard.prototype._startUpdatingTime):
3746        (WebInspector.DefaultDashboard.prototype._stopUpdatingTime):
3747        (WebInspector.DefaultDashboard.prototype._updateTime):
3748        (WebInspector.DefaultDashboard.prototype._consoleMessageAdded):
3749        (WebInspector.DefaultDashboard.prototype._consoleMessageWasRepeated):
3750        (WebInspector.DefaultDashboard.prototype._incrementConsoleMessageType):
3751        (WebInspector.DefaultDashboard.prototype._consoleWasCleared):
3752        * UserInterface/Views/DashboardContainerView.css: Added.
3753        (.toolbar .dashboard-container):
3754        (body.window-inactive .toolbar .dashboard-container):
3755        (body.javascript .toolbar .dashboard-container):
3756        (.toolbar.normal-size.icon-and-label-vertical .dashboard-container):
3757        (.toolbar.small-size.icon-and-label-horizontal .dashboard-container):
3758        (.toolbar.normal-size.icon-and-label-horizontal .dashboard-container):
3759        (.toolbar .dashboard-container):
3760        (.toolbar .dashboard):
3761        (.toolbar .dashboard.visible):
3762        (.toolbar .dashboard.slide-out-up):
3763        (.toolbar .dashboard.slide-out-down):
3764        (.toolbar .dashboard.slide-in-up):
3765        (.toolbar .dashboard.slide-in-down):
3766        (@-webkit-keyframes slide-top-edge):
3767        (to):
3768        (@-webkit-keyframes slide-bottom-edge):
3769        * UserInterface/Views/DashboardContainerView.js: Added.
3770        (WebInspector.DashboardContainerView):
3771        (WebInspector.DashboardContainerView.prototype.get toolbarItem):
3772        (WebInspector.DashboardContainerView.prototype.get currentDashboardView):
3773        (WebInspector.DashboardContainerView.prototype.showDashboardViewForRepresentedObject):
3774        (WebInspector.DashboardContainerView.prototype._dashboardViewForRepresentedObject):
3775        (WebInspector.DashboardContainerView.prototype._showDashboardView):
3776        * UserInterface/Views/DashboardView.css: Removed.
3777        * UserInterface/Views/DashboardView.js:
3778        (WebInspector.DashboardView):
3779        (WebInspector.DashboardView.prototype.get element):
3780        (WebInspector.DashboardView.prototype.get parentContainer):
3781        (WebInspector.DashboardView.prototype.get representedObject):
3782        (WebInspector.DashboardView.prototype.shown):
3783        (WebInspector.DashboardView.prototype.hidden):
3784        * UserInterface/Views/DefaultDashboardView.css: Added.
3785        (body.web .toolbar.collapsed .dashboard.default > .logs):
3786        (body.javascript .toolbar .dashboard.default > .resourcesCount):
3787        (.toolbar .dashboard.default):
3788        (.toolbar .dashboard.default > .item):
3789        (.toolbar .dashboard.default > .resourcesSize):
3790        (.toolbar .dashboard.default > .item.enabled:hover):
3791        (.toolbar .dashboard.default > .item.enabled:active):
3792        (.toolbar .dashboard.default > .item > *):
3793        (.toolbar .dashboard.default > .item > img):
3794        (.toolbar .dashboard.default > .item.enabled > img):
3795        (.toolbar .dashboard.default > .item.enabled:hover > img):
3796        (.toolbar .dashboard.default > .item > div):
3797        (.toolbar .dashboard.default > .item.enabled > div):
3798        (.toolbar .dashboard.default > .item.enabled:hover > div):
3799        (.toolbar .dashboard.default > .resourcesCount > img):
3800        (.toolbar .dashboard.default > .time > img):
3801        (.toolbar .dashboard.default > .logs > img):
3802        (.toolbar .dashboard.default > .resourcesSize > img):
3803        (.toolbar .dashboard.default > .errors > img):
3804        (.toolbar .dashboard.default > .errors.enabled > img):
3805        (.toolbar .dashboard.default > .errors.enabled:hover > img):
3806        (.toolbar .dashboard.default > .errors.enabled > div):
3807        (.toolbar .dashboard.default > .errors.enabled:hover > div):
3808        (.toolbar .dashboard.default > .issues > img):
3809        (.toolbar .dashboard.default > .issues.enabled > img):
3810        (.toolbar .dashboard.default > .issues.enabled:hover > img):
3811        (.toolbar .dashboard.default > .issues.enabled > div):
3812        (.toolbar .dashboard.default > .issues.enabled:hover > div):
3813        (.toolbar .dashboard.default > .item.pulsing):
3814        (@-webkit-keyframes console-item-pulse):
3815        (.toolbar.small-size.icon-and-label-horizontal .dashboard.default > .item):
3816        (.toolbar.normal-size.icon-and-label-horizontal .dashboard.default > .item):
3817        * UserInterface/Views/DefaultDashboardView.js: Copied from Source/WebInspectorUI/UserInterface/Views/DashboardView.js.
3818        (WebInspector.DefaultDashboardView):
3819        (WebInspector.DefaultDashboardView.prototype._updateDisplay):
3820        (WebInspector.DefaultDashboardView.prototype._formatPossibleLargeNumber):
3821        (WebInspector.DefaultDashboardView.prototype._appendElementForNamedItem.):
3822        (WebInspector.DefaultDashboardView.prototype._appendElementForNamedItem.set item):
3823        (WebInspector.DefaultDashboardView.prototype._appendElementForNamedItem):
3824        (WebInspector.DefaultDashboardView.prototype._itemWasClicked):
3825        (WebInspector.DefaultDashboardView.prototype._resourcesWasClicked):
3826        (WebInspector.DefaultDashboardView.prototype._networkItemWasClicked):
3827        (WebInspector.DefaultDashboardView.prototype._consoleItemWasClicked):
3828        (WebInspector.DefaultDashboardView.prototype.animationEnded):
3829        (WebInspector.DefaultDashboardView.prototype._setConsoleItemValue):
3830        (WebInspector.DefaultDashboardView.prototype._setItemEnabled):
3831
38322014-03-08  Joseph Pecoraro  <pecoraro@apple.com>
3833
3834        Web Inspector: update-InspectorBackendCommands.rb is putting legacy protocol files in the wrong place
3835        https://bugs.webkit.org/show_bug.cgi?id=129959
3836
3837        Reviewed by Timothy Hatcher.
3838
3839        The script was putting legacy generated files into UserInterface
3840        instead of UserInterface/Protocol.
3841
3842        * Scripts/update-InspectorBackendCommands.rb:
3843
38442014-03-07  Timothy Hatcher  <timothy@apple.com>
3845
3846        Load source maps and their resources asynchronously.
3847
3848        https://bugs.webkit.org/show_bug.cgi?id=112071
3849
3850        Reviewed by Joseph Pecoraro.
3851
3852        * UserInterface/Controllers/SourceMapManager.js:
3853        (WebInspector.SourceMapManager.prototype.loadAndParseSourceMap):
3854        (WebInspector.SourceMapManager.prototype.downloadSourceMap):
3855        (WebInspector.SourceMapManager.prototype.sourceMapLoaded):
3856        (WebInspector.SourceMapManager.prototype._loadAndParseSourceMap):
3857        Use NetworkAgent.loadResource.
3858
3859        * UserInterface/Models/SourceMapResource.js:
3860        (WebInspector.SourceMapResource.prototype.requestContentFromBackend.sourceMapResourceLoaded):
3861        (WebInspector.SourceMapResource.prototype.createSourceCodeTextRange):
3862        Use NetworkAgent.loadResource.
3863
3864        * UserInterface/Protocol/InspectorWebBackendCommands.js: Updated.
3865
38662014-03-04  Brian Burg  <bburg@apple.com>
3867
3868        Inspector does not restore breakpoints after a page reload
3869        https://bugs.webkit.org/show_bug.cgi?id=129655
3870
3871        Reviewed by Joseph Pecoraro.
3872
3873        Fix some console asserts that fire when breakpoints resolve.
3874
3875        * UserInterface/Controllers/DebuggerManager.js:
3876        (WebInspector.DebuggerManager.prototype.breakpointResolved):
3877        This had a typo, it should be `breakpoint.identifier`.
3878        (WebInspector.DebuggerManager.prototype.scriptDidParse):
3879        Sometimes the `url` parameter is empty instead of null.
3880
38812014-03-04  Diego Pino Garcia  <dpino@igalia.com>
3882
3883        Web Inspector: Remove WebInspector.EventHandler in favor of WebInspector.EventListenerSet
3884        https://bugs.webkit.org/show_bug.cgi?id=129185
3885
3886        Reviewed by Timothy Hatcher.
3887
3888        * UserInterface/Base/EventHandler.js: Removed.
3889        * UserInterface/Main.html: Don't include EventHandler.js.
3890        * UserInterface/Views/SourceCodeTextEditor.js:
3891        (WebInspector.SourceCodeTextEditor.prototype._dismissPopover):
3892        (WebInspector.SourceCodeTextEditor.prototype._trackPopoverEvents):
3893        Use EventListenerSet instead of EventHandler.
3894
38952014-03-03  Jonathan Wells  <jonowells@apple.com>
3896
3897        Web Inspector: Match color of regex in source view with a popover
3898        https://bugs.webkit.org/show_bug.cgi?id=129645
3899
3900        Reviewed by Timothy Hatcher.
3901
3902        * UserInterface/Views/LogContentView.css:
3903        (.console-formatted-string):
3904        (.console-formatted-regexp):
3905
39062014-03-03  Jonathan Wells  <jonowells@apple.com>
3907
3908        Web Inspector: Better Debugger popovers for RegExp values
3909        https://bugs.webkit.org/show_bug.cgi?id=129633
3910
3911        Reviewed by Timothy Hatcher.
3912
3913        * UserInterface/Views/SourceCodeTextEditor.js:
3914        (WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedJavaScriptExpression.populate):
3915        (WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedJavaScriptExpression):
3916        (WebInspector.SourceCodeTextEditor.prototype._showPopoverForRegExp):
3917
39182014-03-03  Timothy Hatcher  <timothy@apple.com>
3919
3920        Don't try to parse legacy CSS gradients -- we don't support them.
3921
3922        https://bugs.webkit.org/show_bug.cgi?id=129623
3923
3924        Reviewed by Joseph Pecoraro.
3925
3926        * UserInterface/Models/Gradient.js:
3927        (WebInspector.Gradient.stopsWithComponents): Fix a possible exception on malformed stops.
3928        (WebInspector.LinearGradient.linearGradientWithComponents): Return early for legacy gradients.
3929
39302014-03-03  Timothy Hatcher  <timothy@apple.com>
3931
3932        Remove an innocuous error message and support default views for Resource and Debugger sidebars.
3933
3934        https://bugs.webkit.org/show_bug.cgi?id=129622
3935
3936        Reviewed by Joseph Pecoraro.
3937
3938        * UserInterface/Views/DebuggerSidebarPanel.js:
3939        (WebInspector.DebuggerSidebarPanel.prototype.showDefaultContentView): Added.
3940        * UserInterface/Views/ResourceSidebarPanel.js:
3941        (WebInspector.ResourceSidebarPanel.prototype.showDefaultContentView): Added.
3942        (WebInspector.ResourceSidebarPanel.prototype.treeElementForRepresentedObject): Don't log an error
3943        if the tree element isn't a Script. We try to find any represented object, and it can fail.
3944
39452014-03-03  Timothy Hatcher  <timothy@apple.com>
3946
3947        Fix an exception caused by trying to access the DOM before it is loaded.
3948
3949        https://bugs.webkit.org/show_bug.cgi?id=129617
3950
3951        Reviewed by Andreas Kling.
3952
3953        * UserInterface/Base/Main.js:
3954        (WebInspector.loaded): Move global event listeners from here...
3955        (WebInspector.contentLoaded): ... to here.
3956
39572014-03-01  Timothy Hatcher  <timothy@apple.com>
3958
3959        Make Start Timeline Recording in the Develop menu show the Timeline view again.
3960
3961        This also fixes a noticeable delay between showing the sidebar and the default Timeline
3962        view when initially opening the Web Inspector to the Timeline.
3963
3964        https://bugs.webkit.org/show_bug.cgi?id=129545
3965
3966        Reviewed by Joseph Pecoraro.
3967
3968        * UserInterface/Base/Main.js:
3969        (WebInspector.contentLoaded): Call TimelineSidebarPanel.initialize to prime the content view.
3970        This is needed so the view is ready in this run loop cycle, where it was delayed before.
3971        * UserInterface/Protocol/InspectorFrontendAPI.js:
3972        (InspectorFrontendAPI.setTimelineProfilingEnabled): Call TimelineSidebarPanel.showTimelineOverview.
3973        * UserInterface/Views/TimelineSidebarPanel.js:
3974        (WebInspector.TimelineSidebarPanel.prototype.initialize): Added.
3975
39762014-03-01  Timothy Hatcher  <timothy@apple.com>
3977
3978        Select the Resource navigation sidebar by default when there is no cookie.
3979
3980        https://bugs.webkit.org/show_bug.cgi?id=129544
3981
3982        Reviewed by Joseph Pecoraro.
3983
3984        * UserInterface/Base/Main.js:
3985        (WebInspector._restoreInspectorViewStateFromCookie):
3986
39872014-03-01  Timothy Hatcher  <timothy@apple.com>
3988
3989        Label JavaScript forced layouts as such in the Timeline.
3990
3991        https://bugs.webkit.org/show_bug.cgi?id=129546
3992
3993        Reviewed by David Kilzer.
3994
3995        * Localizations/en.lproj/localizedStrings.js: Updated.
3996        * UserInterface/Controllers/TimelineManager.js:
3997        (WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
3998        (WebInspector.TimelineManager.prototype.eventRecorded):
3999        * UserInterface/Models/LayoutTimelineRecord.js:
4000        (WebInspector.LayoutTimelineRecord.EventType.displayName):
4001        * UserInterface/Views/TimelineRecordTreeElement.js:
4002        (WebInspector.TimelineRecordTreeElement):
4003
40042014-02-28  Timothy Hatcher  <timothy@apple.com>
4005
4006        Enable breakpoints when adding a new breakpoint or enabling an existing breakpoint.
4007
4008        This eliminates a multi-step process for the user that can be confusing.
4009
4010        https://bugs.webkit.org/show_bug.cgi?id=129426
4011
4012        Reviewed by Joseph Pecoraro.
4013
4014        * UserInterface/Controllers/DebuggerManager.js:
4015        (WebInspector.DebuggerManager.prototype.set breakpointsEnabled):
4016        (WebInspector.DebuggerManager.prototype._breakpointDisabledStateDidChange):
4017        * UserInterface/Views/DebuggerSidebarPanel.js:
4018        (WebInspector.DebuggerSidebarPanel):
4019        (WebInspector.DebuggerSidebarPanel.prototype._breakpointsEnabledDidChange):
4020        (WebInspector.DebuggerSidebarPanel.prototype._breakpointsToggleButtonClicked):
4021
40222014-02-27  Timothy Hatcher  <timothy@apple.com>
4023
4024        Use a RegExp when when using CodeMirror's SearchCursor.
4025
4026        This avoids doing toLowerCase() on every line of the TextEditor.
4027
4028        https://bugs.webkit.org/show_bug.cgi?id=129463
4029
4030        Reviewed by Joseph Pecoraro.
4031
4032        * UserInterface/Views/TextEditor.js:
4033        (TextEditor.prototype.performSearch): Use a RegExp for query. Pass false for the caseFold
4034        argument, but it is ignored for RegExp searches anyway.
4035
40362014-02-27  Brian Burg  <bburg@apple.com>
4037
4038        Web Inspector: model tests should use a special Test.html inspector page
4039        https://bugs.webkit.org/show_bug.cgi?id=129190
4040
4041        Reviewed by Timothy Hatcher.
4042
4043        * UserInterface/Base/Test.js: Added.
4044        (WebInspector.loaded):
4045        (WebInspector.contentLoaded):
4046        (WebInspector.updateDockedState):
4047        (InspectorTest.log):
4048        (InspectorTest.assert):
4049        (InspectorTest.debugLog):
4050        (InspectorTest.completeTest):
4051        (InspectorTest.evaluateInPage):
4052        (InspectorTest.addResult):
4053        (InspectorTest.clearResults):
4054        (InspectorTest.pageLoaded):
4055        (InspectorTest.reportUncaughtException):
4056        (.console.logType):
4057        * UserInterface/Protocol/InspectorBackend.js:
4058        (InspectorBackendClass):
4059        (InspectorBackendClass.prototype.dispatch):
4060        (InspectorBackendClass.prototype.runAfterPendingDispatches):
4061        (InspectorBackendClass.prototype._flushPendingScripts):
4062        * UserInterface/Protocol/InspectorObserver.js:
4063        (WebInspector.InspectorObserver.prototype.evaluateForTestInFrontend):
4064        * UserInterface/Test.html: Added.
4065
40662014-02-27  Joseph Pecoraro  <pecoraro@apple.com>
4067
4068        Web Inspector: JSContext inspection should report exceptions in the console
4069        https://bugs.webkit.org/show_bug.cgi?id=128776
4070
4071        Reviewed by Timothy Hatcher.
4072
4073        * UserInterface/ConsoleMessageImpl.js:
4074        (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
4075        (WebInspector.ConsoleMessageImpl.prototype._shouldHideURL):
4076        (WebInspector.ConsoleMessageImpl.prototype._firstNonNativeCallFrame):
4077        (WebInspector.ConsoleMessageImpl.prototype._populateStackTraceTreeElement):
4078        Provide better handling for "[native code]" and legacy "undefined"
4079        call frame URLs. Never linkify these. Also, when showing a link
4080        for an exception, always use the first non-native call frame as
4081        the link location.
4082
40832014-02-26  Timothy Hatcher  <timothy@apple.com>
4084
4085        Fix an issue where the Timeline filter scope bars were not applying.
4086
4087        Reviewed by Joseph Pecoraro.
4088
4089        * UserInterface/Views/TimelineDataGrid.js:
4090        (TimelineDataGrid.prototype.treeElementMatchesActiveScopeFilters): Use .get() to access the ScopeBar.
4091
40922014-02-25  Andreas Kling  <akling@apple.com>
4093
4094        Prune dead code for Web Inspector memory instrumentation.
4095        <https://webkit.org/b/129286>
4096
4097        Reviewed by Sam Weinig.
4098
4099        * UserInterface/Protocol/InspectorWebBackendCommands.js:
4100
41012014-02-24  Timothy Hatcher  <timothy@apple.com>
4102
4103        Switch from prefixed CSS gradient to unprefixed.
4104
4105        https://bugs.webkit.org/show_bug.cgi?id=129279
4106
4107        Reviewed by Andreas Kling.
4108
4109        * UserInterface/Views/BreakpointActionView.css:
4110        (.breakpoint-action-append-button):
4111        (.breakpoint-action-remove-button):
4112        * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
4113        (.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch):
4114        * UserInterface/Views/CompletionSuggestionsView.css:
4115        (.completion-suggestions-container > .item:active):
4116        * UserInterface/Views/DashboardView.css:
4117        (.toolbar .dashboard):
4118        * UserInterface/Views/DataGrid.css:
4119        (.data-grid th):
4120        (.data-grid table.data):
4121        (.data-grid th.sortable:not(.mouse-over-collapser):active):
4122        (.data-grid th.sort-ascending, .data-grid th.sort-descending):
4123        (.data-grid th.sortable.sort-ascending:not(.mouse-over-collapser):active, .data-grid th.sortable.sort-descending:not(.mouse-over-collapser):active):
4124        (body.window-inactive .data-grid th.sort-descending):
4125        * UserInterface/Views/DetailsSection.css:
4126        (.details-section > .header):
4127        (.details-section .details-section > .header):
4128        * UserInterface/Views/DividerNavigationItem.css:
4129        (.navigation-bar .item.divider):
4130        * UserInterface/Views/FindBanner.css:
4131        (.find-banner > button:active:not(:disabled)):
4132        * UserInterface/Views/Main.css:
4133        (#split-content-browser > .navigation-bar):
4134        * UserInterface/Views/NavigationSidebarPanel.css:
4135        (.sidebar > .panel.navigation > .overflow-shadow):
4136        (.navigation-sidebar-panel-content-tree-outline .item.selected):
4137        (.navigation-sidebar-panel-content-tree-outline:focus .item.selected):
4138        (body.window-inactive .navigation-sidebar-panel-content-tree-outline .item.selected):
4139        * UserInterface/Views/ProbeSetDataGrid.css:
4140        (.details-section.probe-set .data-grid > .data-container td.unknown-value):
4141        (.details-section.probe-set .data-grid th):
4142        * UserInterface/Views/RadioButtonNavigationItem.css:
4143        (.navigation-bar .item.radio.button.text-only.selected):
4144        * UserInterface/Views/TextEditor.css:
4145        (.text-editor .bouncy-highlight):
4146        * UserInterface/Views/TimelineContentView.css:
4147        (.content-view.timeline > .view-container > .timeline-view > .data-grid table.data):
4148        * UserInterface/Views/TimelineDataGrid.css:
4149        (.timeline-data-grid-tree-outline .item:hover):
4150        * UserInterface/Views/TimelineRuler.css:
4151        (.timeline-ruler > .header > .divider):
4152        * UserInterface/Views/TimelineSidebarPanel.css:
4153        (.sidebar > .panel.timeline > .title-bar):
4154        (.sidebar > .panel.timeline > .content > .stripe-background):
4155        * UserInterface/Views/Toolbar.css:
4156        (body:not(.mac-platform) .toolbar):
4157        (body.docked.mac-platform.mavericks .toolbar):
4158
41592014-02-24  Timothy Hatcher  <timothy@apple.com>
4160
4161        Fix the missing navigation bar in the Debugger sidebar panel.
4162
4163        Sorting the CSS resources caused specificity issue.
4164
4165        https://bugs.webkit.org/show_bug.cgi?id=129251
4166
4167        Reviewed by Joseph Pecoraro.
4168
4169        * UserInterface/Views/DebuggerSidebarPanel.css:
4170        (.sidebar > .panel.navigation.debugger > .content):
4171        (.sidebar > .panel.navigation.debugger > .navigation-bar):
4172        * UserInterface/Views/LayoutTimelineView.css:
4173        (.sidebar > .panel.navigation.timeline.timeline-content-view-showing .navigation-sidebar-panel-content-tree-outline.layout .item .subtitle):
4174        * UserInterface/Views/NetworkTimelineView.css:
4175        (.sidebar > .panel.navigation.timeline.timeline-content-view-showing .navigation-sidebar-panel-content-tree-outline.network .item .subtitle):
4176        * UserInterface/Views/ResourceSidebarPanel.css:
4177        (.sidebar > .panel.navigation.resource > .empty-content-placeholder):
4178        (.sidebar > .panel.navigation.resource > .search-bar):
4179        (.sidebar > .panel.navigation.resource > .search-bar > input[type="search"]):
4180        * UserInterface/Views/ScriptTimelineView.css:
4181        (.sidebar > .panel.navigation.timeline.timeline-content-view-showing .navigation-sidebar-panel-content-tree-outline.script .item .subtitle):
4182        * UserInterface/Views/TimelineSidebarPanel.css:
4183        (.sidebar > .panel.navigation.timeline > .status-bar):
4184        (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph):
4185        (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.recording):
4186        (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph:hover):
4187        (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.recording:hover):
4188        (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.forced):
4189        (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.recording.forced):
4190        (.sidebar > .panel.navigation.timeline > .status-bar > .record-status):
4191        (.sidebar > .panel.navigation.timeline > .title-bar):
4192        (.sidebar > .panel.navigation.timeline > .title-bar.timelines):
4193        (.sidebar > .panel.navigation.timeline > .title-bar.timeline-events):
4194        (.sidebar > .panel.navigation.timeline > .timelines-content):
4195        (.sidebar > .panel.navigation.timeline > .timelines-content .close-button):
4196        (.sidebar > .panel.navigation.timeline > .timelines-content li.item .icon):
4197        (.sidebar > .panel.navigation.timeline > .timelines-content li.item.selected .close-button):
4198        (.sidebar > .panel.navigation.timeline > .timelines-content li.item:not(.selected):nth-child(even)):
4199        (.sidebar > .panel.navigation.timeline > .timelines-content li.item:not(.selected):not(:first-child)):
4200        (.sidebar > .panel.navigation.timeline > .timelines-content li.item.selected + li.item):
4201        (.sidebar > .panel.navigation.timeline > .timelines-content :focus li.item.selected + li.item):
4202        (.sidebar > .panel.navigation.timeline > .timelines-content .close-button:active):
4203        (.sidebar > .panel.navigation.timeline > .empty-content-placeholder):
4204        (.sidebar > .panel.navigation.timeline.timeline-content-view-showing > .content):
4205        (.sidebar > .panel.navigation.timeline > .content > .stripe-background):
4206        (.sidebar > .panel.navigation.timeline.timeline-content-view-showing > .content > .stripe-background):
4207
42082014-02-24  Timothy Hatcher  <timothy@apple.com>
4209
4210        Give non-Mac platforms a default toolbar background so it isn't just white.
4211
4212        https://bugs.webkit.org/show_bug.cgi?id=129260
4213
4214        Reviewed by Joseph Pecoraro.
4215
4216        * UserInterface/Base/Main.js:
4217        (WebInspector.contentLoaded): Style the boby with platform classes.
4218        * UserInterface/Base/Utilities.js:
4219        (String.prototype.contains): Added.
4220        * UserInterface/Views/Toolbar.css:
4221        (body.docked .toolbar, body:not(.mac-platform) .toolbar): Added. Default toolbar background.
4222        (body.docked.mac-platform.mavericks .toolbar, body.docked.mac-platform.mountain-lion): Added.
4223        (body.mac-platform:not(.docked) .toolbar .item.button > .label): Only apply to Mac.
4224
42252014-02-24  Diego Pino Garcia  <dpino@igalia.com>
4226
4227        Web Inspector: Remove single quote characters from Web Inspector JavaScript files
4228        https://bugs.webkit.org/show_bug.cgi?id=129253
4229
4230        Reviewed by Timothy Hatcher.
4231
4232        * UserInterface/Base/Main.js:
4233        (WebInspector.openURL):
4234        * UserInterface/Views/CookieStorageContentView.js:
4235        (WebInspector.cookieDomainMatchesResourceDomain):
4236        * UserInterface/Views/DOMTreeElement.js:
4237        (WebInspector.DOMTreeElement.prototype._insertInLastAttributePosition):
4238        (WebInspector.DOMTreeElement.prototype._startEditingTagName.editingComitted):
4239        (WebInspector.DOMTreeElement.prototype._startEditingTagName.editingCancelled):
4240        (WebInspector.DOMTreeElement.prototype._startEditingTagName):
4241        * UserInterface/Views/DOMTreeOutline.js:
4242        (WebInspector.DOMTreeOutline.prototype._ondragover):
4243        * UserInterface/Views/DataGrid.js:
4244        (WebInspector.DataGrid.prototype.addPlaceholderNode):
4245
42462014-02-23  Dan Bernstein  <mitz@apple.com>
4247
4248        Removed -Wno-format-y2k from WARNING_CFLAGS
4249
4250        Rubber-stamped by Sam Weinig.
4251
4252        * Configurations/Base.xcconfig:
4253
42542014-02-23  Diego Pino García  <dpino@igalia.com>
4255
4256        [GTK] Fix build after Web Inspector code reorganization (r164543)
4257        https://bugs.webkit.org/show_bug.cgi?id=129231
4258
4259        Reviewed by Dean Jackson.
4260
4261        * GNUmakefile.am:
4262        Modify paths to Web Inspector code.
4263
42642014-02-23  Antoine Quint  <graouts@webkit.org>
4265
4266        Web Inspector: color picker sliders aren't laid out correctly
4267        https://bugs.webkit.org/show_bug.cgi?id=129234
4268
4269        Reviewed by Joseph Pecoraro.
4270
4271        While it's unclear to me what happened, the "position" property for the color picker sliders
4272        wasn't being computed as expected and used relative positioning. I assume this is related to
4273        r164543 when the order of CSS files changed.
4274
4275        * UserInterface/Views/Slider.css:
4276        (.slider):
4277
42782014-02-22  Dan Bernstein  <mitz@apple.com>
4279
4280        REGRESSION (r164507): Crash beneath JSGlobalObjectInspectorController::reportAPIException at facebook.com, twitter.com, youtube.com
4281        https://bugs.webkit.org/show_bug.cgi?id=129227
4282
4283        Reviewed by Eric Carlson.
4284
4285        Reverted r164507.
4286
4287        * UserInterface/Views/ConsoleMessageImpl.js:
4288        (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
4289        (WebInspector.ConsoleMessageImpl.prototype._populateStackTraceTreeElement):
4290
42912014-02-21  Timothy Hatcher  <timothy@apple.com>
4292
4293        Organize WebInspectorUI/UserInterface into sub-directories.
4294
4295        https://bugs.webkit.org/show_bug.cgi?id=129194
4296
4297        Rubber-stamped by Joseph Pecoraro.
4298
4299        * Scripts/copy-user-interface-resources.sh: Fix Image URLs and Protocol paths.
4300        * UserInterface/Base: Added.
4301        * UserInterface/Controllers: Added.
4302        * UserInterface/Images: Added.
4303        * UserInterface/Main.html: Updated.
4304        * UserInterface/Models Added.
4305        * UserInterface/Protocol Added.
4306        * UserInterface/Views: Added.
4307
43082014-02-21  Timothy Hatcher  <timothy@apple.com>
4309
4310        Add inspection user interface for IndexedDB.
4311
4312        https://bugs.webkit.org/show_bug.cgi?id=129162
4313
4314        Reviewed by Joseph Pecoraro.
4315
4316        * Localizations/en.lproj/localizedStrings.js: Updated.
4317        * UserInterface/ContentView.js:
4318        (WebInspector.ContentView):
4319        (WebInspector.ContentView.isViewable):
4320        * UserInterface/IndexedDatabase.js: Added.
4321        (WebInspector.IndexedDatabase):
4322        (WebInspector.IndexedDatabase.prototype.get name):
4323        (WebInspector.IndexedDatabase.prototype.get securityOrigin):
4324        (WebInspector.IndexedDatabase.prototype.get host):
4325        (WebInspector.IndexedDatabase.prototype.get version):
4326        (WebInspector.IndexedDatabase.prototype.get objectStores):
4327        (WebInspector.IndexedDatabase.prototype.saveIdentityToCookie):
4328        * UserInterface/IndexedDatabaseEntryDataGridNode.js: Added.
4329        (WebInspector.IndexedDatabaseEntryDataGridNode):
4330        (WebInspector.IndexedDatabaseEntryDataGridNode.prototype.get entry):
4331        (WebInspector.IndexedDatabaseEntryDataGridNode.prototype.createCellContent):
4332        * UserInterface/IndexedDatabaseHostTreeElement.js: Added.
4333        (WebInspector.IndexedDatabaseHostTreeElement):
4334        (WebInspector.IndexedDatabaseHostTreeElement.prototype.get name):
4335        (WebInspector.IndexedDatabaseHostTreeElement.prototype.get categoryName):
4336        * UserInterface/IndexedDatabaseObjectStore.js: Added.
4337        (WebInspector.IndexedDatabaseObjectStore):
4338        (WebInspector.IndexedDatabaseObjectStore.prototype.get name):
4339        (WebInspector.IndexedDatabaseObjectStore.prototype.get keyPath):
4340        (WebInspector.IndexedDatabaseObjectStore.prototype.get autoIncrement):
4341        (WebInspector.IndexedDatabaseObjectStore.prototype.get parentDatabase):
4342        (WebInspector.IndexedDatabaseObjectStore.prototype.get indexes):
4343        (WebInspector.IndexedDatabaseObjectStore.prototype.saveIdentityToCookie):
4344        (WebInspector.IndexedDatabaseObjectStore.prototype.establishRelationship):
4345        * UserInterface/IndexedDatabaseObjectStoreContentView.css: Added.
4346        (.content-view.indexed-database-object-store > .data-grid):
4347        (.content-view.indexed-database-object-store > .data-grid td .section .header):
4348        (.content-view.indexed-database-object-store > .data-grid td .section .header::before):
4349        (.content-view.indexed-database-object-store > .data-grid td .section .header .title):
4350        (.content-view.indexed-database-object-store > .data-grid table.data):
4351        (.content-view.indexed-database-object-store > .data-grid table.data tr:nth-child(even)):
4352        (.content-view.indexed-database-object-store > .data-grid table.data tr:nth-child(odd)):
4353        (.content-view.indexed-database-object-store > .data-grid table.data tr.filler):
4354        (.content-view.indexed-database-object-store > .data-grid :focus tr.selected td .section .header::before):
4355        (.content-view.indexed-database-object-store > .data-grid :focus tr.selected td .section.expanded .header::before):
4356        (.content-view.indexed-database-object-store > .data-grid :focus tr.selected td .properties-tree li.parent::before):
4357        (.content-view.indexed-database-object-store > .data-grid :focus tr.selected td .properties-tree li.parent.expanded::before):
4358        (.content-view.indexed-database-object-store > .data-grid :focus tr.selected td .properties-tree li *):
4359        * UserInterface/IndexedDatabaseObjectStoreContentView.js: Added.
4360        (WebInspector.IndexedDatabaseObjectStoreContentView.displayKeyPath):
4361        (WebInspector.IndexedDatabaseObjectStoreContentView):
4362        (WebInspector.IndexedDatabaseObjectStoreContentView.prototype.closed):
4363        (WebInspector.IndexedDatabaseObjectStoreContentView.prototype.saveToCookie):
4364        (WebInspector.IndexedDatabaseObjectStoreContentView.prototype.updateLayout):
4365        (WebInspector.IndexedDatabaseObjectStoreContentView.prototype._reset):
4366        (WebInspector.IndexedDatabaseObjectStoreContentView.prototype._dataGridScrolled):
4367        (WebInspector.IndexedDatabaseObjectStoreContentView.prototype._fetchMoreData.processEntries):
4368        (WebInspector.IndexedDatabaseObjectStoreContentView.prototype._fetchMoreData):
4369        * UserInterface/IndexedDatabaseObjectStoreIndex.js: Added.
4370        (WebInspector.IndexedDatabaseObjectStoreIndex):
4371        (WebInspector.IndexedDatabaseObjectStoreIndex.prototype.get name):
4372        (WebInspector.IndexedDatabaseObjectStoreIndex.prototype.get keyPath):
4373        (WebInspector.IndexedDatabaseObjectStoreIndex.prototype.get unique):
4374        (WebInspector.IndexedDatabaseObjectStoreIndex.prototype.get multiEntry):
4375        (WebInspector.IndexedDatabaseObjectStoreIndex.prototype.get parentObjectStore):
4376        (WebInspector.IndexedDatabaseObjectStoreIndex.prototype.saveIdentityToCookie):
4377        (WebInspector.IndexedDatabaseObjectStoreIndex.prototype.establishRelationship):
4378        * UserInterface/IndexedDatabaseObjectStoreIndexTreeElement.js: Added.
4379        (WebInspector.IndexedDatabaseObjectStoreIndexTreeElement):
4380        (WebInspector.IndexedDatabaseObjectStoreIndexTreeElement.prototype.get objectStoreIndex):
4381        * UserInterface/IndexedDatabaseObjectStoreTreeElement.js: Added.
4382        (WebInspector.IndexedDatabaseObjectStoreTreeElement):
4383        (WebInspector.IndexedDatabaseObjectStoreTreeElement.prototype.get objectStore):
4384        (WebInspector.IndexedDatabaseObjectStoreTreeElement.prototype.oncollapse):
4385        (WebInspector.IndexedDatabaseObjectStoreTreeElement.prototype.onpopulate):
4386        * UserInterface/IndexedDatabaseTreeElement.js: Added.
4387        (WebInspector.IndexedDatabaseTreeElement):
4388        (WebInspector.IndexedDatabaseTreeElement.prototype.get indexedDatabase):
4389        (WebInspector.IndexedDatabaseTreeElement.prototype.oncollapse):
4390        (WebInspector.IndexedDatabaseTreeElement.prototype.onpopulate):
4391        * UserInterface/Main.html:
4392        * UserInterface/Main.js:
4393        (WebInspector.sidebarPanelForRepresentedObject):
4394        * UserInterface/ResourceSidebarPanel.js:
4395        (WebInspector.ResourceSidebarPanel):
4396        (WebInspector.ResourceSidebarPanel.prototype._treeElementSelected):
4397        (WebInspector.ResourceSidebarPanel.prototype._indexedDatabaseWasAdded):
4398        (WebInspector.ResourceSidebarPanel.prototype._storageCleared):
4399        * UserInterface/StorageManager.js:
4400        (WebInspector.StorageManager):
4401        (WebInspector.StorageManager.prototype.initialize):
4402        (WebInspector.StorageManager.prototype.processData):
4403        (WebInspector.StorageManager.prototype.requestIndexedDatabaseData):
4404        (WebInspector.StorageManager.prototype._mainResourceDidChange):
4405        (WebInspector.StorageManager.prototype._addIndexedDBDatabasesIfNeeded.processDatabaseNames):
4406        (WebInspector.StorageManager.prototype._addIndexedDBDatabasesIfNeeded.processDatabase):
4407        (WebInspector.StorageManager.prototype._addIndexedDBDatabasesIfNeeded):
4408        (WebInspector.StorageManager.prototype._addIndexedDBDatabasesIfNeeded.processObjectStore):
4409        (WebInspector.StorageManager.prototype._addIndexedDBDatabasesIfNeeded.processObjectStoreIndex):
4410        (WebInspector.StorageManager.prototype._securityOriginDidChange):
4411        * UserInterface/URLUtilities.js:
4412        (parseSecurityOrigin):
4413
44142014-02-22  Antoine Quint  <graouts@webkit.org>
4415
4416        Web Inspector: allow drag-to-adjust on angle input of gradients editor
4417        https://bugs.webkit.org/show_bug.cgi?id=129095
4418
4419        Reviewed by Timothy Hatcher.
4420
4421        Rename CodeMirrorDragToAlterNumberController to CodeMirrorDragToAdjustNumberController and move
4422        the core logic of a drag-to-adjust behavior out of it to a new generic class DragToAdjustController.
4423        We use this new class from CodeMirrorGradientEditingController to provide drag-to-adjust behavior
4424        in the angle input field of the gradient editor and also as a supporting object for the CodeMirror-
4425        specific class.
4426
4427        * UserInterface/CodeMirrorDragToAdjustNumberController.css: Renamed from Source/WebInspectorUI/UserInterface/CodeMirrorDragToAlterNumberController.css.
4428        (.CodeMirror.drag-to-adjust .CodeMirror-lines):
4429
4430        * UserInterface/CodeMirrorDragToAdjustNumberController.js: Added.
4431        Removed the UI logic and use the new DragToAdjustController as a supporting object instead. We implement
4432        the various DragToAdjustController delegate methods in order to customize its behavior to work within the
4433        context of a CodeMirror editor, specifically to prevent activation when the editor is read-only and to
4434        prevent adjustment when the hovered token isn't a number.
4435
4436        (WebInspector.CodeMirrorDragToAdjustNumberController):
4437        (WebInspector.CodeMirrorDragToAdjustNumberController.prototype.get enabled):
4438        (WebInspector.CodeMirrorDragToAdjustNumberController.prototype.set enabled):
4439        (WebInspector.CodeMirrorDragToAdjustNumberController.prototype.dragToAdjustControllerActiveStateChanged):
4440        (WebInspector.CodeMirrorDragToAdjustNumberController.prototype.dragToAdjustControllerCanBeActivated):
4441        (WebInspector.CodeMirrorDragToAdjustNumberController.prototype.dragToAdjustControllerCanBeAdjusted):
4442        (WebInspector.CodeMirrorDragToAdjustNumberController.prototype.dragToAdjustControllerWasAdjustedByAmount):
4443        (WebInspector.CodeMirrorDragToAdjustNumberController.prototype.dragToAdjustControllerDidReset):
4444        (WebInspector.CodeMirrorDragToAdjustNumberController.prototype.dragToAdjustControllerCanAdjustObjectAtPoint):
4445
4446        * UserInterface/CodeMirrorGradientEditingController.css:
4447        (.gradient-editing-controller > label.drag-to-adjust > input):
4448
4449        * UserInterface/CodeMirrorGradientEditingController.js:
4450        Adopt the new DragToAdjustController to make the angle input field value adjustable by dragging.
4451
4452        (WebInspector.CodeMirrorGradientEditingController.prototype.popoverWillPresent):
4453        (WebInspector.CodeMirrorGradientEditingController.prototype.dragToAdjustControllerWasAdjustedByAmount):
4454        (WebInspector.CodeMirrorGradientEditingController.prototype._handleInputEvent):
4455        (WebInspector.CodeMirrorGradientEditingController.prototype._angleInputValueDidChange):
4456
4457        * UserInterface/DragToAdjustController.js: Renamed from Source/WebInspectorUI/UserInterface/CodeMirrorDragToAlterNumberController.js.
4458        New DragToAdjustController class exposing only the core UI logic of a drag-to-adjust behavior in the context
4459        of a DOM element, exposing a few delegation methods to customize the controller's behavior:
4460
4461        - dragToAdjustControllerActiveStateChanged() notifies that the .active property has changed, allowing bringup
4462        and cleanup work to be performed.
4463
4464        - dragToAdjustControllerDidReset() notifies that the various tracking states of the controller have been reset
4465        allowing other state objects used by clients to be cleared.
4466
4467        - dragToAdjustControllerCanBeActivated() is used to check whether the controller may enter the active state upon
4468        first hovering the target element.
4469
4470        - dragToAdjustControllerCanBeAdjusted() is used to check whether adjustment can be performed at the moment when
4471        the user actually is about to engage in a drag-to-adjust interaction.
4472
4473        - dragToAdjustControllerCanAdjustObjectAtPoint() is used to check whether the object at the provided point (mouse
4474        location) is an adjustable value.
4475
4476        - dragToAdjustControllerWasAdjustedByAmount() notifies that there is a new amount to add to the current value
4477        following a drag-to-adjust interaction.
4478
4479        (WebInspector.DragToAdjustController):
4480        (WebInspector.DragToAdjustController.prototype.get element):
4481        (WebInspector.DragToAdjustController.prototype.set element):
4482        (WebInspector.DragToAdjustController.prototype.set enabled):
4483        (WebInspector.DragToAdjustController.prototype.get active):
4484        (WebInspector.DragToAdjustController.prototype.set active):
4485        (WebInspector.DragToAdjustController.prototype.reset):
4486        (WebInspector.DragToAdjustController.prototype.handleEvent):
4487        (WebInspector.DragToAdjustController.prototype._setDragging):
4488        (WebInspector.DragToAdjustController.prototype._setTracksMouseClickAndDrag):
4489        (WebInspector.DragToAdjustController.prototype._modifiersDidChange):
4490        (WebInspector.DragToAdjustController.prototype._mouseMoved):
4491        (WebInspector.DragToAdjustController.prototype._mouseWasPressed):
4492        (WebInspector.DragToAdjustController.prototype._mouseWasDragged):
4493        (WebInspector.DragToAdjustController.prototype._mouseWasReleased):
4494
4495        * UserInterface/Main.html:
4496        Link in new source files.
4497
44982014-02-21  Chi Wai Lau  <clau@apple.com>
4499
4500        Web Inspector: Replace binarySearch with lowerBound and upperBound functions
4501        https://bugs.webkit.org/show_bug.cgi?id=118609
4502
4503        Reviewed by Timothy Hatcher.
4504
4505        This makes insertionIndexForObjectInListSortedByFunction work in O(log(n)) time instead of O(n).
4506
4507        * UserInterface/BinarySearch.js: Removed.
4508        * UserInterface/Main.html:
4509        * UserInterface/Utilities.js:
4510        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
4511        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
4512
45132014-02-21  Brian Burg  <bburg@apple.com>
4514
4515        Web Inspector: animate breakpoint tree elements when probe samples are received
4516        https://bugs.webkit.org/show_bug.cgi?id=128334
4517
4518        Reviewed by Timothy Hatcher.
4519
4520        * UserInterface/BreakpointIcons.css: Removed, rules migrated to the following file.
4521
4522        * UserInterface/BreakpointTreeElement.css: When we want to animateon top of the
4523        static icon, we set the icon image as the icon element's background, and animate
4524        a span on top of the icon element.
4525
4526        (.breakpoint-exception-icon .icon): Moved.
4527        (.breakpoint-generic-line-icon .icon):
4528        (.breakpoint-generic-line-icon .icon > span): Added.
4529        (.data-updated.breakpoint-generic-line-icon .icon > span): Added.
4530
4531        * UserInterface/BreakpointTreeElement.js:
4532        (WebInspector.BreakpointTreeElement): Rewrite event listener add/remove to use EventListenerSet.
4533        (WebInspector.BreakpointTreeElement.prototype.ondetach): Override to unregister the instance's listeners.
4534        (WebInspector.BreakpointTreeElement.prototype._addProbeSet): Added.
4535        (WebInspector.BreakpointTreeElement.prototype._removeProbeSet): Added.
4536        (WebInspector.BreakpointTreeElement.prototype._probeSetAdded): Added.
4537        (WebInspector.BreakpointTreeElement.prototype._probeSetRemoved): Added.
4538        Add/remove listeners when probe sets change.
4539
4540        (WebInspector.BreakpointTreeElement.prototype._samplesCleared): Listeners should follow
4541        the active data table.
4542
4543        (WebInspector.BreakpointTreeElement.prototype._dataUpdated): Run the animation when probe data changes.
4544        (WebInspector.BreakpointTreeElement.prototype._breakpointLocationDidChange): Fix a listener leak.
4545        * UserInterface/Main.html: Remove BreakpointIcons.css.
4546        * UserInterface/NavigationSidebarPanel.css:
4547        (.navigation-sidebar-panel-content-tree-outline .item .icon): give icons
4548        'position: relative' so child spans can be absolutely positioned.
4549        * UserInterface/ProbeDetailsSidebarPanel.js: Get probeSet out of the event data
4550        container. The probe set used to be passed as the data container itself.
4551        (WebInspector.ProbeDetailsSidebarPanel.prototype._probeSetAdded):
4552        * UserInterface/ProbeManager.js:
4553        (WebInspector.ProbeManager.prototype._breakpointActionsChanged.set get knownProbeIdentifiers):
4554        (WebInspector.ProbeManager.prototype._breakpointActionsChanged):
4555        (WebInspector.ProbeManager.prototype.get _probeSetForBreakpoint.set this):
4556        * UserInterface/ProbeSet.js:
4557        (WebInspector.ProbeSet.prototype.clearSamples): include the old data table as the SamplesCleared event data.
4558        * UserInterface/TextResourceContentView.js:
4559        (WebInspector.TextResourceContentView.prototype._probeSetsChanged):
4560
45612014-02-21  Joseph Pecoraro  <pecoraro@apple.com>
4562
4563        Web Inspector: JSContext inspection should report exceptions in the console
4564        https://bugs.webkit.org/show_bug.cgi?id=128776
4565
4566        Reviewed by Timothy Hatcher.
4567
4568        * UserInterface/ConsoleMessageImpl.js:
4569        (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
4570        (WebInspector.ConsoleMessageImpl.prototype._shouldHideURL):
4571        (WebInspector.ConsoleMessageImpl.prototype._firstNonNativeCallFrame):
4572        (WebInspector.ConsoleMessageImpl.prototype._populateStackTraceTreeElement):
4573        Provide better handling for "[native code]" and legacy "undefined"
4574        call frame URLs. Never linkify these. Also, when showing a link
4575        for an exception, always use the first non-native call frame as
4576        the link location.
4577
45782014-02-21  Joseph Pecoraro  <pecoraro@apple.com>
4579
4580        Revert r164486, causing a number of test failures.
4581
4582        Unreviewed rollout.
4583
45842014-02-21  Joseph Pecoraro  <pecoraro@apple.com>
4585
4586        Web Inspector: JSContext inspection should report exceptions in the console
4587        https://bugs.webkit.org/show_bug.cgi?id=128776
4588
4589        Reviewed by Timothy Hatcher.
4590
4591        * UserInterface/ConsoleMessageImpl.js:
4592        (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
4593        (WebInspector.ConsoleMessageImpl.prototype._shouldHideURL):
4594        (WebInspector.ConsoleMessageImpl.prototype._firstNonNativeCallFrame):
4595        (WebInspector.ConsoleMessageImpl.prototype._populateStackTraceTreeElement):
4596        Provide better handling for "[native code]" and legacy "undefined"
4597        call frame URLs. Never linkify these. Also, when showing a link
4598        for an exception, always use the first non-native call frame as
4599        the link location.
4600
46012014-02-21  Antoine Quint  <graouts@webkit.org>
4602
4603        Web Inspector: scrollbar may appear when selecting a stop in gradient editor
4604        https://bugs.webkit.org/show_bug.cgi?id=129149
4605
4606        Reviewed by Timothy Hatcher.
4607
4608        Ensure the angle input is not focused as we update the size of the gradient editor's
4609        popover content since, if it were, it'd make a scrollbar appear as we animate the
4610        popover's frame to fit its new content.
4611
4612        * UserInterface/CodeMirrorGradientEditingController.js:
4613        (WebInspector.CodeMirrorGradientEditingController.prototype.gradientSliderStopWasSelected):
4614
46152014-02-20  Antoine Quint  <graouts@webkit.org>
4616
4617        Web Inspector: rich editing of CSS gradients
4618        https://bugs.webkit.org/show_bug.cgi?id=119686
4619
4620        Reviewed by Timothy Hatcher.
4621
4622        Look for gradient definitions in CSS resources and implement a gradient-specific CodeMirrorEditingController
4623        to edit those CSS gradients. The CodeMirrorGradientEditingController consists of a GradientSlider, a new widget
4624        allowing the editing of gradient stops, a <select> to pick between various gradient types, a text input to edit
4625        the gradient angle (for linear gradients) and finally a ColorPicker when a gradient stop is picked for editing.
4626
4627        * Localizations/en.lproj/localizedStrings.js:
4628        New localized strings for the content of the gradient editing controller popover.
4629
4630        * UserInterface/CodeMirrorAdditions.js:
4631        New .createGradientMarkers() method which, similar to .createColorMarkers(), takes in an optional TextRange, and
4632        looks for all gradients specified in CSS to create TextMarkers with new type WebInspector.TextMarker.Type.Gradient.
4633        In order to fully identify these CSS gradient strings, we implement a tokenizer to look for the final closing
4634        parenthesis since there can be nested opening and closing parentheses as colors are specified for stops.
4635
4636        * UserInterface/CodeMirrorGradientEditingController.css: Added.
4637        (.gradient-editing-controller):
4638        (.gradient-editing-controller.edits-color):
4639        (.gradient-editing-controller.radial-gradient):
4640        (.gradient-editing-controller.edits-color.radial-gradient):
4641        (.gradient-editing-controller select):
4642        (.gradient-editing-controller .gradient-slider):
4643        (.gradient-editing-controller .color-picker):
4644        (.gradient-editing-controller > .color-picker > .slider):
4645        (.gradient-editing-controller > .color-picker > .brightness):
4646        (.gradient-editing-controller > .color-picker > .opacity):
4647        (.gradient-editing-controller > label):
4648        (.gradient-editing-controller.radial-gradient > label):
4649        (.gradient-editing-controller.edits-color > label):
4650        (.gradient-editing-controller > label > input):
4651
4652        * UserInterface/CodeMirrorGradientEditingController.js: Added.
4653        (WebInspector.CodeMirrorGradientEditingController):
4654        (WebInspector.CodeMirrorGradientEditingController.prototype.get initialValue):
4655        (WebInspector.CodeMirrorGradientEditingController.prototype.get cssClassName):
4656        (WebInspector.CodeMirrorGradientEditingController.prototype.get popoverPreferredEdges):
4657        (WebInspector.CodeMirrorGradientEditingController.prototype.popoverTargetFrameWithRects):
4658        (WebInspector.CodeMirrorGradientEditingController.prototype.popoverWillPresent):
4659        (WebInspector.CodeMirrorGradientEditingController.prototype.popoverDidPresent):
4660        Implementation of CodeMirrorEditingController methods meant to be overridden. This allows us
4661        to customize the popover's appearance, mostly to control how it attaches to the gradient
4662        strings in the editor.
4663
4664        (WebInspector.CodeMirrorGradientEditingController.prototype.handleEvent):
4665        Event handler for changes in the <select> governing gradient type and <input> for the angle.
4666
4667        (WebInspector.CodeMirrorGradientEditingController.prototype.gradientSliderStopsDidChange):
4668        Implementation of a GradientSlider delegation method, we use this to update the .text property
4669        in order to propagate the stops change to the editor.
4670
4671        (WebInspector.CodeMirrorGradientEditingController.prototype.gradientSliderStopWasSelected):
4672        Implementation of a GradientSlider delegation method, we use this to control the display of the
4673        ColorPicker used to edit the color of a selected stop.
4674
4675        (WebInspector.CodeMirrorGradientEditingController.prototype._handleInputEvent):
4676        Deal with changes in the <input> for the angle, ensuring we have a "º" string added to the value.
4677
4678        (WebInspector.CodeMirrorGradientEditingController.prototype._handleChangeEvent):
4679        Deal with changes in the <select> for the type, preserving the stops list from one gradient type
4680        to the other. Gradient type-specific information (angle for linear gradients, sizing for radial
4681        gradients) is lost as we toggle between gradient types.
4682
4683        (WebInspector.CodeMirrorGradientEditingController.prototype._colorPickerColorChanged):
4684        Propagate a color change in the ColorPicker to the stop being edited in the GradientSlider and
4685        and update the .text property in order to propagate the stops change to the editor.
4686
4687        (WebInspector.CodeMirrorGradientEditingController.prototype._updateCSSClassForGradientType):
4688        As we toggle the gradient type in ._handleChangeEvent(), update the CSS class used to hide or show
4689        the angle <input> which is only relevant for linear gradients.
4690
4691        * UserInterface/ColorPicker.js:
4692        (WebInspector.ColorPicker):
4693        Adopt the new Checkers.svg file to display the checkers pattern in the background of the opacity slider.
4694
4695        (WebInspector.ColorPicker.prototype.get colorWheel):
4696        Expose the ColorWheel such that it can be sized by ColorPicker clients.
4697
4698        (WebInspector.ColorPicker.prototype._updateColor):
4699        Drive-by fix for a bug where we'd attempt to use the RGB components of a color to get the alpha-aware version
4700        of the color even though the base format was HSL.
4701
4702        * UserInterface/Gradient.js: Added.
4703        Parser for gradient strings as passed from the CodeMirror .createGradientMarkers() extension method. In the case
4704        of linear gradients, we parse all values, save for lengths, and in the case of radial gradients, we preserve the
4705        sizing information as a string and parse only the gradient stops as the sizing information is only useful to show
4706        in an editor if attached to an element with metrics.
4707
4708        Since instances of Gradient are used as the .value property of CodeMirrorGradientEditingController, we implement
4709        the required .copy() and .toString() methods. The .toString() implementations are aware of default values for angles
4710        and color stop offsets and only print those as necessary and use shorthands when possible.
4711
4712        (WebInspector.Gradient.fromString):
4713        (WebInspector.Gradient.stopsWithComponents):
4714        (WebInspector.Gradient.stringFromStops):
4715        (WebInspector.LinearGradient):
4716        (WebInspector.LinearGradient.linearGradientWithComponents):
4717        (WebInspector.LinearGradient.prototype.copy):
4718        (WebInspector.LinearGradient.prototype.toString):
4719        (WebInspector.RadialGradient):
4720        (WebInspector.RadialGradient.radialGradientWithComponents):
4721        (WebInspector.RadialGradient.prototype.copy):
4722        (WebInspector.RadialGradient.prototype.toString):
4723
4724        * UserInterface/GradientSlider.css: Added.
4725        (.gradient-slider):
4726        (.gradient-slider > canvas):
4727        (.gradient-slider > .add-area):
4728        (.gradient-slider-knob):
4729        (.gradient-slider-knob.shadow):
4730        (.gradient-slider-knob.selected):
4731        (.gradient-slider-knob.detaching):
4732        (.gradient-slider-knob.fade-out):
4733        (.gradient-slider-knob > div):
4734        (.gradient-slider-knob > img):
4735
4736        * UserInterface/GradientSlider.js: Added.
4737        Widget used to edit a list of stops for a gradient, linear or radial. The widget features a <canvas> element
4738        that draws the gradient as a linear gradient from left to right with checkers in the background to correctly
4739        display transparent colors. Attached to this background, individual knobs are shown for each stop in the provided
4740        stops array. These knobs can be dragged from left to right to change the matching stop offset, but also down to
4741        detach the knob and remove this stop. Additionally, knobs can be clicked to toggle their selected state, where only
4742        one knob can be selected at a time. The Esc. key is used to remove selection of the currently selected knob.
4743
4744        (WebInspector.GradientSlider):
4745        (WebInspector.GradientSlider.prototype.get element):
4746        (WebInspector.GradientSlider.prototype.get stops):
4747        (WebInspector.GradientSlider.prototype.set stops):
4748        (WebInspector.GradientSlider.prototype.get selectedStop):
4749        (WebInspector.GradientSlider.prototype.handleEvent):
4750        (WebInspector.GradientSlider.prototype.handleKeydownEvent):
4751        (WebInspector.GradientSlider.prototype.knobXDidChange):
4752        (WebInspector.GradientSlider.prototype.knobCanDetach):
4753        (WebInspector.GradientSlider.prototype.knobWillDetach):
4754        (WebInspector.GradientSlider.prototype.knobSelectionChanged):
4755        (WebInspector.GradientSlider.prototype._handleMouseover):
4756        (WebInspector.GradientSlider.prototype._handleMousemove):
4757        (WebInspector.GradientSlider.prototype._handleMouseout):
4758        (WebInspector.GradientSlider.prototype._handleClick):
4759        (WebInspector.GradientSlider.prototype._updateShadowKnob):
4760        (WebInspector.GradientSlider.prototype._sortStops):
4761        (WebInspector.GradientSlider.prototype._updateStops):
4762        (WebInspector.GradientSlider.prototype._updateCanvas):
4763        (WebInspector.GradientSlider.prototype._updateKnobs):
4764        (WebInspector.GradientSliderKnob):
4765        (WebInspector.GradientSliderKnob.prototype.get element):
4766        (WebInspector.GradientSliderKnob.prototype.get stop):
4767        (WebInspector.GradientSliderKnob.prototype.set stop):
4768        (WebInspector.GradientSliderKnob.prototype.get x):
4769        (WebInspector.GradientSliderKnob.prototype.set x):
4770        (WebInspector.GradientSliderKnob.prototype.get y):
4771        (WebInspector.GradientSliderKnob.prototype.set y):
4772        (WebInspector.GradientSliderKnob.prototype.get wellColor):
4773        (WebInspector.GradientSliderKnob.prototype.set wellColor):
4774        (WebInspector.GradientSliderKnob.prototype.get selected):
4775        (WebInspector.GradientSliderKnob.prototype.set selected):
4776        (WebInspector.GradientSliderKnob.prototype.handleEvent):
4777        (WebInspector.GradientSliderKnob.prototype._handleMousedown):
4778        (WebInspector.GradientSliderKnob.prototype._handleMousemove):
4779        (WebInspector.GradientSliderKnob.prototype._handleMouseup):
4780        (WebInspector.GradientSliderKnob.prototype._handleTransitionEnd):
4781        (WebInspector.GradientSliderKnob.prototype._updateTransform):
4782
4783        * UserInterface/Images/Checkers.svg: Added.
4784        New asset to draw checkers for color wells.
4785
4786        * UserInterface/Images/GradientStop.png: Added.
4787        * UserInterface/Images/GradientStop@2x.png: Added.
4788        * UserInterface/Images/GradientStopSelected.png: Added.
4789        * UserInterface/Images/GradientStopSelected@2x.png: Added.
4790        New assets used by the gradient slider.
4791
4792        * UserInterface/Main.html:
4793        Link to the new source files.
4794
4795        * UserInterface/SourceCodeTextEditor.js:
4796        (WebInspector.SourceCodeTextEditor.prototype._updateEditableMarkers):
4797        Add a call to .createGradientMarkers() such that we support editing of CSS gradients in such editors.
4798
4799        (WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedMarkedExpression):
4800        Also recognize gradient markers as valid editable markers.
4801
4802        * UserInterface/TextEditor.js:
4803        (WebInspector.TextEditor.prototype.createGradientMarkers):
4804        Wrapper for the CodeMirror extension method .createGradientMarkers() such that it may be used by subclasses
4805        that have no knowledge of CodeMirror.
4806
4807        (WebInspector.TextEditor.prototype.editingControllerForMarker):
4808        Return a CodeMirrorGradientEditingController for TextMarkers with WebInspector.TextMarker.Type.Gradient type.
4809
4810        * UserInterface/TextMarker.js:
4811        Add the WebInspector.TextMarker.Type.Gradient type.
4812
48132014-02-20  Antoine Quint  <graouts@webkit.org>
4814
4815        Web Inspector: create a CodeMirrorEditingController superclass
4816        https://bugs.webkit.org/show_bug.cgi?id=129094
4817
4818        Reviewed by Timothy Hatcher.
4819
4820        Take code that is generic to editing of any text marker out of CodeMirrorColorEditingController to
4821        create a new CodeMirrorEditingController superclass that'll be fit to use for future editing controllers.
4822        Additioanlly, we fix existing issues with such editing by supporting text markers spread across several
4823        lines and more robustly handling the Esc. key being pressed to dismiss a controller's popover.
4824
4825        * UserInterface/CSSStyleDeclarationTextEditor.js:
4826        (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches):
4827        Adopt the new .createColorMarkers() method signature to provide a TextRange parameter rather than a single
4828        line number.
4829
4830        * UserInterface/CodeMirrorAdditions.js:
4831        Remove the .boundsForRange() method in favor of a .rectsForRange() method which will allow us to draw better
4832        menus when hovering over a text range by providing tight bounds rather than a large box. We also handle any
4833        line wrapping produced by CodeMirror and remove any leading white-space so that the rects are tight to the
4834        actual characters in the text marker.
4835
4836        We also change .createColorMarkers() to take in a TextRange parameter rather than a line number in order to
4837        better deal with text markers spread across multiple lines.
4838
4839        * UserInterface/CodeMirrorColorEditingController.js:
4840        Remove any code that is adequate for any editing controller (which is moving to CodeMirrorEditingController).
4841        We also adopt new interfaces exposed by CodeMirrorEditingController.
4842
4843        (WebInspector.CodeMirrorColorEditingController):
4844        (WebInspector.CodeMirrorColorEditingController.prototype.get initialValue):
4845        (WebInspector.CodeMirrorColorEditingController.prototype.get cssClassName):
4846        (WebInspector.CodeMirrorColorEditingController.prototype.popoverWillPresent):
4847        (WebInspector.CodeMirrorColorEditingController.prototype.popoverDidPresent):
4848        (WebInspector.CodeMirrorColorEditingController.prototype._colorPickerColorChanged):
4849
4850        * UserInterface/CodeMirrorEditingController.js: Copied from Source/WebInspectorUI/UserInterface/CodeMirrorColorEditingController.js.
4851        New class meant to be subclassed by any future editing controller, and already subclassed by
4852        CodeMirrorColorEditingController. This class exposes several hooks for subclasses to customize its behavior:
4853
4854        .initialValue: a value we can revert to if the editing is canceled
4855        .cssClassName: a CSS class name that can be added to the editing controller's container
4856        .popoverPreferredEdges: a list of preferredEdges as passed to Popover.prototype.present() with a sensible default
4857        .popoverTargetFrameWithRects: a targetFrame passed to Popover.prototype.present(), defaults to a union of provided rects
4858        .popoverWillPresent: called as the popover is about to be presented, typically overridden to set the popover's content
4859        .popoverDidPresent: called as the popover just was presented, typically overridden when content needs to tuned only after
4860        being added to the DOM and setting of the necessary machinery to update the serialized value in the editor based on interaction
4861        within the popover without changing the serialized value upon showing the popover the very first time.
4862
4863        Additionally, the .value property must be an object supporting .toString() and .copy() method.
4864
4865        Finally, the .editingControllerDidStartEditing() and .editingControllerDidFinishEditing() delegate methods are fired
4866        as editing begins and finishes.
4867
4868        (WebInspector.CodeMirrorEditingController):
4869        (WebInspector.CodeMirrorEditingController.prototype.get marker):
4870        (WebInspector.CodeMirrorEditingController.prototype.get range):
4871        (WebInspector.CodeMirrorEditingController.prototype.get value):
4872        (WebInspector.CodeMirrorEditingController.prototype.set value):
4873        (WebInspector.CodeMirrorEditingController.prototype.get delegate):
4874        (WebInspector.CodeMirrorEditingController.prototype.set delegate):
4875        (WebInspector.CodeMirrorEditingController.prototype.get text):
4876        (WebInspector.CodeMirrorEditingController.prototype.set text):
4877        (WebInspector.CodeMirrorEditingController.prototype.get initialValue):
4878        (WebInspector.CodeMirrorEditingController.prototype.get cssClassName):
4879        (WebInspector.CodeMirrorEditingController.prototype.get popover):
4880        (WebInspector.CodeMirrorEditingController.prototype.get popoverPreferredEdges):
4881        (WebInspector.CodeMirrorEditingController.prototype.popoverTargetFrameWithRects):
4882        (WebInspector.CodeMirrorEditingController.prototype.presentHoverMenu):
4883        (WebInspector.CodeMirrorEditingController.prototype.dismissHoverMenu):
4884        (WebInspector.CodeMirrorEditingController.prototype.popoverWillPresent):
4885        (WebInspector.CodeMirrorEditingController.prototype.popoverDidPresent):
4886
4887        (WebInspector.CodeMirrorEditingController.prototype.handleKeydownEvent):
4888        Event handler for keydown events as registered via the new WebInspector.addWindowKeydownListener() method.
4889
4890        (WebInspector.CodeMirrorEditingController.prototype.hoverMenuButtonWasPressed):
4891        (WebInspector.CodeMirrorEditingController.prototype.didDismissPopover):
4892
4893        * UserInterface/Geometry.js:
4894        (WebInspector.Rect.unionOfRects):
4895        (WebInspector.Rect.prototype.unionWithRect):
4896        New utilities to get a Rect that is the union of the provided Rect or array of Rects.
4897
4898        (WebInspector.Polygon):
4899        (WebInspector.Polygon.prototype.bounds):
4900        New class used to store a list of points for a polygon and get its bounds, used by the HoverMenu class.
4901
4902        * UserInterface/HoverMenu.css:
4903        (.hover-menu):
4904        (.hover-menu > svg):
4905        (.hover-menu > svg > rect):
4906        (.hover-menu > img):
4907
4908        * UserInterface/HoverMenu.js:
4909        We remove the assumption that a HoverMenu is only used to draw a single rounded rect based on a simple
4910        Rect and instead support presentation based on an array of Rects where we either:
4911
4912        - draw a single rounded rectangle if there is only a single Rect provided
4913        - draw two disconnected open-ended rects if we're provided with two non-overlapping Rects
4914        - draw a polygon surrounding all provided Rects in all other cases
4915
4916        No matter how the HoverMenu is drawn, the drawing is performed in SVG with either <rect> or a <path> elements.
4917
4918        (WebInspector.HoverMenu):
4919        (WebInspector.HoverMenu.prototype.present):
4920        (WebInspector.HoverMenu.prototype.dismiss):
4921        (WebInspector.HoverMenu.prototype.handleEvent):
4922        (WebInspector.HoverMenu.prototype._handleClickEvent):
4923        (WebInspector.HoverMenu.prototype._drawOutline):
4924        (WebInspector.HoverMenu.prototype._addRect):
4925        (WebInspector.HoverMenu.prototype._addPath):
4926        (WebInspector.HoverMenu.prototype._drawSingleLine):
4927        (WebInspector.HoverMenu.prototype._drawTwoNonOverlappingLines):
4928        (WebInspector.HoverMenu.prototype._drawOverlappingLines):
4929
4930        * UserInterface/Main.html:
4931        Link to the new CodeMirrorEditingController class.
4932
4933        * UserInterface/Main.js:
4934        Expose a new mechanism to deal with window-level handling of keydown events in order to allow
4935        a list of handlers to accept or reject dealing with the provided keydown event based on the order
4936        they were registered, in most recent to oldest registered handler. This allows, for instance, for
4937        a more graceful handling of the Esc. key being pressed in the CodeMirrorEditingController and
4938        bypasses the DOM structure allowing for objects managing elements in different DOM hierarchies
4939        to compete with handling of keydown events.
4940
4941        (WebInspector.loaded):
4942        (WebInspector.addWindowKeydownListener):
4943        (WebInspector.removeWindowKeydownListener):
4944        (WebInspector._updateWindowKeydownListener):
4945        (WebInspector._sharedWindowKeydownListener):
4946
4947        * UserInterface/SourceCodeTextEditor.css:
4948        (.hover-menu.color > img):
4949        Update the offset applied to a HoverMenu button based on the change of layout for such buttons which
4950        are now absolutely positioned in code by HoverMenu rather than being laid out using the flex-box model.
4951
4952        * UserInterface/SourceCodeTextEditor.js:
4953        Abstrct away the assumption that only a color editing controller may be used to edit text markers in
4954        a source code text editor.
4955
4956        (WebInspector.SourceCodeTextEditor.prototype.hidden):
4957        Ensure we remove any currently-displayed hover menu for an editing controller when the editor is hidden.
4958        This would happen in the situation where a keyboard shortcut was used to jump to another part of the
4959        Web Inspector UI without using the mouse.
4960
4961        (WebInspector.SourceCodeTextEditor.prototype.contentDidChange):
4962        Since we're now working with text ranges rather than lines, remove the code where we'd work out a set of
4963        changed lines and call ._updateEditableMarkers() with the changed range directly instead.
4964
4965        (WebInspector.SourceCodeTextEditor.prototype._contentDidPopulate):
4966        (WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerNewHighlightCandidate):
4967        (WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerMouseOutOfHoveredMarker):
4968        Adopt the more generic method names rather than color-specific ones.
4969
4970        (WebInspector.SourceCodeTextEditor.prototype._showPopover):
4971        When showing the popover outside of the use of a CodeMirrorEditingController, such as a JavaScript expression
4972        when debugging, also deal with the possibility of the highlighted range containing multiple lines rather
4973        than assume a single line.
4974
4975        (WebInspector.SourceCodeTextEditor.prototype._updateEditableMarkers):
4976        More generic method name to support future, non-color editing controllers.
4977
4978        (WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedMarkedExpression):
4979        Find the outermost marker in the list of markers provided such that a marker containing other markers
4980        shows the UI for the containing marker. For instance, a gradient marker would contain several color
4981        markers and it's preferable to show the editing UI for the whole gradient rather than a specific color.
4982
4983        Additionally, adopt more generic ivars and method names to support future, non-color editing controllers.
4984
4985        (WebInspector.SourceCodeTextEditor.prototype._dismissEditingController):
4986        Support for new parameter instructing that the editing controller dismissal should be instant rather than
4987        animated, which is the default. This is useful when, for instance, the text editor is cleared.
4988
4989        (WebInspector.SourceCodeTextEditor.prototype.editingControllerDidStartEditing):
4990        (WebInspector.SourceCodeTextEditor.prototype.editingControllerDidFinishEditing):
4991        Adopt the more generic method names rather than color-specific ones.
4992
4993        * UserInterface/TextEditor.js:
4994        (WebInspector.TextEditor.prototype.rectsForRange):
4995        Remove .boundsForRange() in favor of this new method where we return a series of rects so that we may
4996        draw a more pleasing HoverMenu.
4997
4998        (WebInspector.TextEditor.prototype.createColorMarkers):
4999        Use a TextRanger rather than a single line number to match the underlying CodeMirror extension method.
5000
5001        (WebInspector.TextEditor.prototype.editingControllerForMarker):
5002        Use the provided TextMarker's type to provide the most adequate CodeMirrorEditingController class.
5003
5004        * UserInterface/TextMarker.js:
5005        (WebInspector.TextMarker.prototype.get rects):
5006        Remove the .bounds property in favor of .rects to match the underlying CodeMirror extension method.
5007
50082014-02-20  Antoine Quint  <graouts@webkit.org>
5009
5010        Web Inspector: Popover should animate its frame to display its refreshed content
5011        https://bugs.webkit.org/show_bug.cgi?id=129088
5012
5013        Reviewed by Timothy Hatcher.
5014
5015        When calling .update(), we now check whether we can animate the change of frame provided the
5016        new computed frame to best fit the current content still matches the edge the popover uses
5017        to attach to the target frame. If we find that we can do so, we animate the background frame
5018        of the popover while ensuring the anchor point remains stable during the animation such that
5019        only the popover's frame seems to animate.
5020
5021        * UserInterface/Geometry.js:
5022        (WebInspector.Rect.prototype.round):
5023        Returns a new Rect with rounded values, using a floor for the position and a ceil for the size.
5024
5025        * UserInterface/Main.html:
5026        Link to the new UnitBezier.js source file.
5027
5028        * UserInterface/Popover.js:
5029        (WebInspector.Popover):
5030        Make ._anchorPoint an ivar such that we don't need to pass a reference to the anchorPoint into
5031        the various calls leading to an update of the popover's background drawing.
5032
5033        (WebInspector.Popover.prototype.set frame):
5034        We no longer round the values of the frame here, instead calling the new .round() method on Rect
5035        in places where we compute a new frame.
5036
5037        (WebInspector.Popover.prototype.set content):
5038        (WebInspector.Popover.prototype.update):
5039        Update the calls to ._update() to set the new shouldAnimate flag to true in situations where the
5040        popover is already visible.
5041
5042        (WebInspector.Popover.prototype._update):
5043        In the situation where there is a preference to animate the frame, as set by the new shouldAnimate
5044        parameter, check that we can indeed animate by ensuring that the edge the popover uses to attach to
5045        the target frame remains the same upon computing the new best metrics for the new content size. If
5046        we can indeed animate, call _animateFrame(), otherwise set the new frame, anchor point and frame
5047        drawing discretely like we used to.
5048
5049        (WebInspector.Popover.prototype._setAnchorPoint):
5050        New method to ensure we floor the position of the anchor point to ensure, when animating, that the
5051        anchor point remains stationary.
5052
5053        (WebInspector.Popover.prototype._animateFrame):
5054        Using the new UnitBezier class, animate the popover frame from its previous value to its newly computed
5055        value while ensuring the anchor point remains, at all times, the same absolute position such that it
5056        remains stationary during the animation. The spline used to animate the frame is the same that a CSS
5057        transition set with an "ease" timing-function (default value) would use.
5058
5059        (WebInspector.Popover.prototype._drawBackground):
5060        (WebInspector.Popover.prototype._drawFrame):
5061        Adopt new ._edge and ._anchorPoint ivars.
5062
5063        * UserInterface/UnitBezier.js: Added.
5064        New class used to perform animations using a timing function specified with a cubic Bézier curve. The code
5065        is directly adapted from the Source/WebCore/platform/graphics/UnitBezier.h file.
5066
5067        (WebInspector.UnitBezier):
5068        (WebInspector.UnitBezier.prototype.solve):
5069        (WebInspector.UnitBezier.prototype._sampleCurveX):
5070        (WebInspector.UnitBezier.prototype._sampleCurveY):
5071        (WebInspector.UnitBezier.prototype._sampleCurveDerivativeX):
5072        (WebInspector.UnitBezier.prototype._solveCurveX):
5073
50742014-02-20  Antoine Quint  <graouts@webkit.org>
5075
5076        Web Inspector: content using a CSS transition within a popover causes the popover to disappear
5077        https://bugs.webkit.org/show_bug.cgi?id=129089
5078
5079        Reviewed by Timothy Hatcher.
5080
5081        Simply check that the element being transitioned is indeed the popover's container before assuming
5082        that the "transitonend" received was for a fade-out transition.
5083
5084        * UserInterface/Popover.js:
5085        (WebInspector.Popover.prototype.handleEvent):
5086
50872014-02-20  Antoine Quint  <graouts@webkit.org>
5088
5089        Web Inspector: clicking on a color swatch in the Computed styles tab shouldn't show the color editing popover
5090        https://bugs.webkit.org/show_bug.cgi?id=129093
5091
5092        Reviewed by Timothy Hatcher.
5093
5094        If the current editor is read-only, only allow cycling between color types since it wouldn't make sense to edit
5095        such colors.
5096
5097        * UserInterface/CSSStyleDeclarationTextEditor.js:
5098
50992014-02-19  Joseph Pecoraro  <pecoraro@apple.com>
5100
5101        Web Inspector: Remove unused InspectorBackend member variable
5102        https://bugs.webkit.org/show_bug.cgi?id=129053
5103
5104        Reviewed by Timothy Hatcher.
5105
5106        * UserInterface/InspectorBackend.js:
5107        (InspectorBackendClass):
5108        (InspectorBackendClass.prototype.registerCommand):
5109        (InspectorBackendClass.prototype.registerEnum):
5110        (InspectorBackendClass.prototype.registerEvent):
5111
51122014-02-19  James Craig  <jcraig@apple.com>
5113
5114        Web Inspector: AX: clarify reason for ignored state where possible (hidden, default for tag, etc)
5115        https://bugs.webkit.org/show_bug.cgi?id=129037
5116
5117        Reviewed by Timothy Hatcher.
5118
5119        Passing back hidden and ignoredByDefault attrs to clarify some reasons for "ignored" status.
5120
5121        * Localizations/en.lproj/localizedStrings.js:
5122        * UserInterface/DOMNode.js:
5123        * UserInterface/DOMNodeDetailsSidebarPanel.js:
5124
51252014-02-18  James Craig  <jcraig@apple.com>
5126
5127        Web Inspector: AX: more properties: exists, required, and invalid (exists was previously combined with ignored)
5128        https://bugs.webkit.org/show_bug.cgi?id=128504
5129
5130        Reviewed by Timothy Hatcher.
5131
5132        Additions to the accessibility node inspector: exists, required, invalid.
5133
5134        * Localizations/en.lproj/localizedStrings.js:
5135        * UserInterface/DOMNode.js:
5136        * UserInterface/DOMNodeDetailsSidebarPanel.js:
5137
51382014-02-18  Antoine Quint  <graouts@webkit.org>
5139
5140        Web Inspector: editing a color in the Styles sidebar using the color picker only works once for a given color
5141        https://bugs.webkit.org/show_bug.cgi?id=128965
5142
5143        Reviewed by Timothy Hatcher.
5144
5145        Use the WebInspector.TextMarker backing the CodeMirror TextMarker object to inspect its type in
5146        order to identify color markers that were created for a color. This fixes a regression introduced
5147        in http://webkit.org/b/125695 when we abstracted CodeMirror TextMarker objects.
5148
5149        * UserInterface/CSSStyleDeclarationTextEditor.js:
5150        (WebInspector.CSSStyleDeclarationTextEditor.prototype._colorSwatchClicked.updateCodeMirror.update):
5151        (WebInspector.CSSStyleDeclarationTextEditor.prototype._colorSwatchClicked.updateCodeMirror):
5152
51532014-02-18  Antoine Quint  <graouts@webkit.org>
5154
5155        Web Inspector: Editing transparent color shows incorrect opacity slider
5156        https://bugs.webkit.org/show_bug.cgi?id=128975
5157
5158        Reviewed by Joseph Pecoraro.
5159
5160        The opacity slider should show a range of colors from transparent to the full opacity of the tinted color.
5161
5162        * UserInterface/ColorPicker.js:
5163        (WebInspector.ColorPicker.prototype._updateSliders):
5164
51652014-02-18  Joseph Pecoraro  <pecoraro@apple.com>
5166
5167        Web Inspector: shift-clicking #fff swatch results in bad rgb value
5168        https://bugs.webkit.org/show_bug.cgi?id=128954
5169
5170        Reviewed by Daniel Bates.
5171
5172        parseInt("FF", 16) is already 255. Do not multiply the result by 255.
5173
5174        * UserInterface/Color.js:
5175        (WebInspector.Color.fromString):
5176
51772014-02-18  Antoine Quint  <graouts@webkit.org>
5178
5179        Web Inspector: color picker sliders sometime look wrong on Retina display
5180        https://bugs.webkit.org/show_bug.cgi?id=128963
5181
5182        Reviewed by Timothy Hatcher.
5183
5184        Round the values used to position and size popovers in order to ensure that their content don't suffer
5185        from poor pixel alignment on Retina displays.
5186
5187        * UserInterface/Popover.js:
5188        (WebInspector.Popover.prototype.set frame):
5189
51902014-02-17  Antoine Quint  <graouts@webkit.org>
5191
5192        Web Inspector: CSS selectors containing a color name shouldn't be considered for color editing
5193        https://bugs.webkit.org/show_bug.cgi?id=128909
5194
5195        Reviewed by Joseph Pecoraro.
5196
5197        Disregard any text that might be contained within a CSS selector.
5198
5199        * UserInterface/CodeMirrorAdditions.js:
5200
52012014-02-15  Chris J. Shull  <chrisjshull@gmail.com>
5202
5203        Web Inspector: scope chain details sidebar doesn't update values modified via console
5204        https://bugs.webkit.org/show_bug.cgi?id=126855
5205
5206        Reviewed by Timothy Hatcher.
5207
5208        Add a RuntimeManager event that the scope chain details sidebar can
5209        listen to to trigger refresh.
5210
5211        Testing on this is blocked by http://webkit.org/b/128724
5212        (Web Inspector: Issue testing breakpoints).
5213
5214        * UserInterface/RuntimeManager.js:
5215        (WebInspector.RuntimeManager.prototype.evalCallback):
5216        (WebInspector.RuntimeManager.prototype.evaluateInInspectedWindow):
5217        * UserInterface/ScopeChainDetailsSidebarPanel.js:
5218        (WebInspector.ScopeChainDetailsSidebarPanel):
5219
52202014-02-14  Antoine Quint  <graouts@webkit.org>
5221
5222        Web Inspector: color wheel should support Retina displays
5223        https://bugs.webkit.org/show_bug.cgi?id=124355
5224
5225        Reviewed by Timothy Hatcher.
5226
5227        Take into account the devicePixelRatio in order to draw the color wheel
5228        with as many colors as we can draw with the current DPI and to correctly
5229        convert from page coordinates to canvas coordinates when dealing with
5230        mouse events.
5231
5232        * UserInterface/ColorWheel.js:
5233        (WebInspector.ColorWheel.prototype.set dimension):
5234        (WebInspector.ColorWheel.prototype.get tintedColor):
5235        (WebInspector.ColorWheel.prototype.get rawColor):
5236        (WebInspector.ColorWheel.prototype._drawRawCanvas):
5237        (WebInspector.ColorWheel.prototype._colorAtPointWithBrightness):
5238        (WebInspector.ColorWheel.prototype._drawTintedCanvas):
5239        (WebInspector.ColorWheel.prototype._draw):
5240
52412014-02-13  Brian Burg  <bburg@apple.com>
5242
5243        Web Inspector: DataGrid should support editing tables with arbitrary columns
5244        https://bugs.webkit.org/show_bug.cgi?id=128619
5245
5246        Reviewed by Timothy Hatcher.
5247
5248        The data grid editing code should work with any columns, but was previously
5249        hardcoded with the column identifiers used by DOMStorageView. This patch
5250        makes the editing code work with any column identifiers. It also fixes some
5251        bugs in previous/next navigation during data entry.
5252
5253        * UserInterface/DOMStorageContentView.css: Highlight missing keys and values.
5254        (.content-view.dom-storage > .data-grid tr.missing-value td.value-column):
5255        (.content-view.dom-storage > .data-grid:focus tr.selected.missing-value td.value-column):
5256
5257        * UserInterface/DOMStorageContentView.js: Don't blow away the entire table
5258        whenever the backend notifies us of an update to the storage object. This
5259        caused the editing state to be destroyed when values were entered interactively.
5260
5261        (WebInspector.DOMStorageContentView.prototype.reset): Inline the callback
5262        passed to DOMStorageObject.getEntries().
5263        (WebInspector.DOMStorageContentView.prototype.itemsCleared):
5264        (WebInspector.DOMStorageContentView.prototype.itemAdded): Request a sort
5265        of the table rows after backend tells us about item additions or updates.
5266
5267        (WebInspector.DOMStorageContentView.prototype.itemUpdated): Request a sort
5268        of the table rows after backend tells us about item additions or updates.
5269
5270        (WebInspector.DOMStorageContentView.prototype._sortDataGrid): Use DataGrid's
5271        built-in sorting function.
5272
5273        (WebInspector.DOMStorageContentView.prototype._deleteCallback):
5274        (WebInspector.DOMStorageContentView.prototype._editingCallback): Don't force
5275        recreation of the entire table whenever editing finishes. Perform most
5276        of the error checking and editing logic here, including when to insert a
5277        new placeholder row, and when to commit the entered values to DOM storage.
5278
5279        * UserInterface/DOMStorageObject.js: Keep track of the DOM storage entries
5280        in the model so we can detect duplicate entries. Remove unused `id` arguments.
5281
5282        (WebInspector.DOMStorageObject):
5283        (WebInspector.DOMStorageObject.prototype.get entries):
5284        (WebInspector.DOMStorageObject.prototype.itemsCleared):
5285        (WebInspector.DOMStorageObject.prototype.itemRemoved):
5286        (WebInspector.DOMStorageObject.prototype.set this):
5287        (WebInspector.DOMStorageObject.prototype.itemAdded):
5288        (WebInspector.DOMStorageObject.prototype.set var):
5289        (WebInspector.DOMStorageObject.prototype.itemUpdated):
5290
5291        * UserInterface/DataGrid.js:
5292        (.sortDataGrid):
5293        (WebInspector.DataGrid.createSortableDataGrid): Use the built-in DataGrid
5294        sortNodes() implementation.
5295        (WebInspector.DataGrid.prototype._startEditingNodeAtColumnIndex): Renamed
5296        from _startEditingColumnOfDataGridNode. It's easier to understand the navigation
5297        code when presented in terms of adjusting column indexes rather than identifiers.
5298
5299        (WebInspector.DataGrid.prototype._startEditing):
5300        (WebInspector.DataGrid.prototype.determineNextCell): Added. Decides which
5301        column and row to edit next and whether the table can be sorted before the
5302        next cell edit begins.
5303
5304        (WebInspector.DataGrid.prototype.moveToNextCell): Added. Wrapper method for
5305        the above which handles sorting and beginning the next cell edit.
5306
5307        (WebInspector.DataGrid.prototype._editingCommitted): Use better helper methods.
5308        (WebInspector.DataGrid.prototype._editingCancelled): Add an assert.
5309        (WebInspector.DataGrid.prototype.get sortColumnIdentifier): Shorten.
5310        (WebInspector.DataGrid.prototype.addPlaceholderNode):
5311        (WebInspector.DataGrid.prototype.removeChild):
5312        (WebInspector.DataGrid.prototype.):
5313        (WebInspector.DataGrid.prototype.sortNodes): Remove unecessary copying
5314        of all nodes into a separate array. Defer sorting if the user is in the
5315        middle of editing a cell. Make placeholder nodes always sort to the bottom
5316        regardless of the sort column identifier and sort direction.
5317
5318        (WebInspector.DataGridNode.prototype._attach):
5319        (WebInspector.PlaceholderDataGridNode): Renamed from CreationDataGridNode.
5320        (WebInspector.PlaceholderDataGridNode.prototype.makeNormal):
5321
5322        * UserInterface/StorageManager.js: Don't pass unused id argument.
5323        (WebInspector.StorageManager.prototype.itemRemoved):
5324        (WebInspector.StorageManager.prototype.itemAdded):
5325        (WebInspector.StorageManager.prototype.itemUpdated):
5326
53272014-02-13  Brian Burg  <bburg@apple.com>
5328
5329        Web Inspector: long script names should be have text-overflow:ellipsis in probe details sidebar
5330        https://bugs.webkit.org/show_bug.cgi?id=128550
5331
5332        Reviewed by Timothy Hatcher.
5333
5334        Make the link element 'display: block', place it after the floated icons,
5335        and set the appropriate CSS overflow properties.
5336
5337        * UserInterface/ProbeDetailsSidebarPanel.css:
5338        (.details-section.probe-set .options > a.go-to-link):
5339        * UserInterface/ProbeSetDetailsSection.js:
5340        (WebInspector.ProbeSetDetailsSection):
5341
53422014-02-13  Javier Fernandez  <jfernandez@igalia.com>
5343
5344        [CSS Grid Layout] Rename named areas property
5345        https://bugs.webkit.org/show_bug.cgi?id=127990
5346
5347        Reviewed by Sergio Villar Senin.
5348
5349        From Blink r165891 by <rego@igalia.com>
5350
5351        The property 'grid-template' has been renamed to 'grid-template-areas'
5352        in the last two versions of the spec.
5353
5354        * Tools/PrettyPrinting/css.js:
5355        * UserInterface/External/CodeMirror/css.js:
5356
53572014-02-11  Brian Burg  <bburg@apple.com>
5358
5359        Web Inspector: DOMStorageView should listen for events from DOMStorageObject
5360        https://bugs.webkit.org/show_bug.cgi?id=128620
5361
5362        Reviewed by Timothy Hatcher.
5363
5364        The storage manager used to have a map of DOMStorageViews and delivered events
5365        directly to them. Instead, the DOMStorageObserver should use the manager to
5366        find the appropriate DOMStorageObject and deliver events to it. DOMStorageView
5367        learns about storage updates from DOMStorageObject events.
5368
5369        * UserInterface/DOMStorageContentView.js:
5370        (WebInspector.DOMStorageContentView): Add event listeners.
5371        (WebInspector.DOMStorageContentView.prototype.reset): Renamed from update().
5372        (WebInspector.DOMStorageContentView.prototype.itemsCleared): Take an event argument.
5373        (WebInspector.DOMStorageContentView.prototype.itemRemoved): Take an event argument.
5374        Use for..of when iterating over nodes.
5375        (WebInspector.DOMStorageContentView.prototype.itemAdded): Take an event argument.
5376        Use for..of when iterating over nodes.
5377        (WebInspector.DOMStorageContentView.prototype.itemUpdated): Take an event argument.
5378        Use for..of when iterating over nodes.
5379        * UserInterface/DOMStorageObject.js:
5380        (WebInspector.DOMStorageObject.prototype.removeItem): Moved.
5381        (WebInspector.DOMStorageObject.prototype.setItem): Moved.
5382        (WebInspector.DOMStorageObject.prototype.itemsCleared): Added.
5383        (WebInspector.DOMStorageObject.prototype.itemRemoved): Added.
5384        (WebInspector.DOMStorageObject.prototype.itemAdded): Added.
5385        (WebInspector.DOMStorageObject.prototype.itemUpdated): Added.
5386        * UserInterface/DOMStorageObserver.js: Look up and notify the associated model.
5387        (WebInspector.DOMStorageObserver.prototype.domStorageItemsCleared):
5388        (WebInspector.DOMStorageObserver.prototype.domStorageItemRemoved):
5389        (WebInspector.DOMStorageObserver.prototype.domStorageItemAdded):
5390        (WebInspector.DOMStorageObserver.prototype.domStorageItemUpdated):
5391        * UserInterface/StorageManager.js: Remove view lookup code. Remove
5392        direct calls to DOMStorageViews.
5393        (WebInspector.StorageManager.prototype.itemsCleared):
5394        (WebInspector.StorageManager.prototype.itemRemoved):
5395        (WebInspector.StorageManager.prototype.itemAdded):
5396        (WebInspector.StorageManager.prototype.itemUpdated):
5397        (WebInspector.StorageManager.prototype.domStorageWasUpdated):
5398        (WebInspector.StorageManager.prototype.inspectDOMStorage):
5399        (WebInspector.StorageManager.prototype._domStorageForIdentifier):
5400        (WebInspector.StorageManager.prototype._addDOMStorageIfNeeded):
5401        (WebInspector.StorageManager.prototype._databaseForIdentifier):
5402
54032014-02-11  James Craig  <jcraig@apple.com>
5404
5405        Web Inspector: AX: Accessibility Node Inspection
5406        https://bugs.webkit.org/show_bug.cgi?id=127447
5407
5408        Reviewed by Timothy Hatcher.
5409
5410        New Accessibility section in WebInspector Node Inspector.
5411        Version 1.0 only shows computed role. Computed label should come soon.
5412
5413        Removed CSS fixed table layout b/c CSS bug: http://webkit.org/b/128294
5414
5415        * Localizations/en.lproj/localizedStrings.js:
5416        * UserInterface/DOMNode.js:
5417        * UserInterface/DOMNodeDetailsSidebarPanel.js:
5418        * UserInterface/DetailsSection.css:
5419        * UserInterface/InspectorWebBackendCommands.js:
5420
54212014-02-10  Joseph Pecoraro  <pecoraro@apple.com>
5422
5423        Web Inspector: Update License copyrights in minified JavaScript
5424        https://bugs.webkit.org/show_bug.cgi?id=128547
5425
5426        Reviewed by Timothy Hatcher.
5427
5428        * Scripts/copy-user-interface-resources.sh:
5429
54302014-02-07  Brian Burg  <bburg@apple.com>
5431
5432        Web Inspector: show probe sets for script content views in the details sidebar
5433        https://bugs.webkit.org/show_bug.cgi?id=128333
5434
5435        Reviewed by Timothy Hatcher.
5436
5437        This patch adds a new details sidebar for showing the probes associated with any
5438        breakpoint in the currently visible source file. Each probe set (corresponding to
5439        multiple actions of single breakpoint) gets its own ProbeSetDetailsSection. The
5440        section contains a custom DataGrid subclass to display probe data, and some icons
5441        for clearing samples, deleting the probe, and adding a new probe expression.
5442
5443        The table containing probe data keeps its columns in sync with the probe set's
5444        probe expressions. To support this, DataGrid has been further refactored to support
5445        removing columns, and inserting columns (rather than only appending). With this
5446        capability, probe columns are removed and re-inserted when the expression changes.
5447
5448        The availability of the probe details sidebar is controlled by providing the
5449        probe sets matching the script content view's resource URL as supplemental
5450        represented objects.
5451
5452        Lastly, added the utility EventListenerSet class. This holds a set of event listeners
5453        that should be added and removed together, and takes care of binding `thisObject`
5454        according to whether the event emitter is a `Node` or `WebInspector.Object`.
5455
5456        * Localizations/en.lproj/localizedStrings.js:
5457        * UserInterface/BreakpointActionView.js:
5458        (WebInspector.BreakpointActionView):
5459        (WebInspector.BreakpointActionView.prototype._removeAction): Renamed from removeButtonClicked.
5460        (WebInspector.BreakpointActionView.prototype._codeMirrorBlurred): Change the behavior
5461        of CodeMirror-backed editors for probe and evaluate expression actions. If the expression
5462        consists entirely of trimmable whitespace, then delete the action rather than saving it.
5463
5464        * UserInterface/DataGrid.js:
5465        (WebInspector.DataGrid): Copy over the column data into a map inside insertColumn() instead.
5466        (WebInspector.DataGrid.prototype.insertColumn): Renamed from addColumn. It now takes an
5467        optional `insertionIndex` argument and splices the column before the element at that index.
5468        Also, convert code to use EventListenerSet for adding/removing per-column event listeners.
5469
5470        (WebInspector.DataGrid.prototype.removeColumn): Added. It splices the column out.
5471        (WebInspector.DataGridNode.prototype.isEventWithinDisclosureTriangle): Whitespace.
5472        * UserInterface/EventListenerSet.js: Added.
5473        (WebInspector.EventListenerSet):
5474        (WebInspector.EventListenerSet.prototype.register):
5475        (WebInspector.EventListenerSet.prototype.unregister):
5476        (WebInspector.EventListenerSet.prototype.install):
5477        (WebInspector.EventListenerSet.prototype.uninstall):
5478        * UserInterface/Images/NavigationItemProbes.pdf: Added.
5479        * UserInterface/LayerTreeDataGrid.js:
5480        (WebInspector.LayerTreeDataGrid.prototype._updateChildren): Fix a missing column.get().
5481        * UserInterface/Main.html: Add new JavaScript and CSS files.
5482        * UserInterface/Main.js:
5483        (WebInspector.contentLoaded): Add the probe details sidebar.
5484        * UserInterface/ProbeDetailsSidebarPanel.css: Added.
5485        (.sidebar > .panel.probes > .navigation-bar):
5486        (.sidebar > .panel.probes > .content):
5487        (.details-section.probe-set .options > .probe-add):
5488        (.details-section.probe-set .options > .probe-clear-samples):
5489        (.details-section.probe-set .options > .probe-remove):
5490        (.details-section.probe-set .options > input):
5491        (.panel.probes ::-webkit-scrollbar):
5492        (.panel.probes ::-webkit-scrollbar-track):
5493        (.panel.probes ::-webkit-scrollbar-thumb):
5494        (.panel.probes ::-webkit-scrollbar-corner):
5495        (.popover .probe-popover):
5496        (.popover .probe-popover input):
5497        * UserInterface/ProbeDetailsSidebarPanel.js: Added.
5498        (WebInspector.ProbeDetailsSidebarPanel):
5499        (WebInspector.ProbeDetailsSidebarPanel.prototype.get inspectedProbeSets):
5500        (WebInspector.ProbeDetailsSidebarPanel.prototype._probeSetAdded):
5501        * UserInterface/ProbeManager.js: Remove unused `probeSetForBreakpoint` function.
5502        * UserInterface/ProbeSet.js: Fix erroneous uses of `probe.identifier` instead of `probe.id`.
5503        (WebInspector.ProbeSet.prototype.removeProbe):
5504        (WebInspector.ProbeSet.prototype._sampleCollected):
5505        * UserInterface/ProbeSetDataGrid.css: Added.
5506        (.details-section.probe-set .data-grid .data-container tr.past-value td):
5507        (.details-section.probe-set .data-grid > .data-container td.unknown-value):
5508        (.details-section.probe-set .data-grid .data-container tr.revealed.highlighted):
5509        (@-webkit-keyframes blink-frame-highlight):
5510        (100%):
5511        (.details-section.probe-set .data-grid .data-container tr.separator):
5512        (.details-section.probe-set .data-grid > .data-container tr.data-updated):
5513        (@-webkit-keyframes blink-probe-frame):
5514        (.details-section.probe-set .data-grid .data-container .selected .section *):
5515        (.details-section.probe-set .data-grid .data-container .selected td.unknown-value):
5516        (.details-section.probe-set .data-grid .data-container .section):
5517        (.details-section.probe-set .data-grid th):
5518        (.details-section.probe-set .data-grid th:not(:last-child)):
5519        (.details-section.probe-set .data-grid td):
5520        * UserInterface/ProbeSetDataGrid.js: Added.
5521        (WebInspector.ProbeSetDataGrid):
5522        (WebInspector.ProbeSetDataGrid.prototype.closed):
5523        (WebInspector.ProbeSetDataGrid.prototype._setupProbe):
5524        (WebInspector.ProbeSetDataGrid.prototype._teardownProbe):
5525        (WebInspector.ProbeSetDataGrid.prototype._setupData):
5526        (WebInspector.ProbeSetDataGrid.prototype._teardownData):
5527        (WebInspector.ProbeSetDataGrid.prototype._updateNodeForFrame.else.sortFunction):
5528        (WebInspector.ProbeSetDataGrid.prototype._updateNodeForFrame.else.set node):
5529        (WebInspector.ProbeSetDataGrid.prototype._dataFrameInserted):
5530        (WebInspector.ProbeSetDataGrid.prototype._dataSeparatorInserted):
5531        (WebInspector.ProbeSetDataGrid.prototype._probeExpressionChanged.get var):
5532        * UserInterface/ProbeSetDataGridNode.js: Added.
5533        (WebInspector.ProbeSetDataGridNode):
5534        (WebInspector.ProbeSetDataGridNode.prototype.get element):
5535        (WebInspector.ProbeSetDataGridNode.prototype.get data):
5536        (WebInspector.ProbeSetDataGridNode.prototype.set frame):
5537        (WebInspector.ProbeSetDataGridNode.prototype.get frame):
5538        (WebInspector.ProbeSetDataGridNode.prototype.createCellContent):
5539        (WebInspector.ProbeSetDataGridNode.prototype.updateCellsFromFrame):
5540        (WebInspector.ProbeSetDataGridNode.prototype.updateCellsForSeparator):
5541        * UserInterface/ProbeSetDataTable.js:
5542        (WebInspector.ProbeSetDataTable.prototype.removeProbe): Fix a typo in for..of loop refactor.
5543        * UserInterface/ProbeSetDetailsSection.js: Added.
5544        (WebInspector.ProbeSetDetailsSection):
5545        (WebInspector.ProbeSetDetailsSection.prototype.closed):
5546        (WebInspector.ProbeSetDetailsSection.prototype._probeSetPositionTextOrLink):
5547        (WebInspector.ProbeSetDetailsSection.prototype._addProbeButtonClicked):
5548        (WebInspector.ProbeSetDetailsSection.prototype._removeButtonClicked):
5549        (WebInspector.ProbeSetDetailsSection.prototype._clearSamplesButtonClicked):
5550        * UserInterface/TextResourceContentView.js:
5551        (WebInspector.TextResourceContentView):
5552        (WebInspector.TextResourceContentView.prototype.get supplementalRepresentedObjects):
5553        Add probe sets whose breakpoint matches the represented object's URL.
5554        (WebInspector.TextResourceContentView.prototype._probeSetsChanged): Tell listeners
5555        to re-fetch `supplementalRepresentedObjects` when probe sets are added or removed.
5556
55572014-02-08  Dan Bernstein  <mitz@apple.com>
5558
5559        Remove client-drawn highlights (-webkit-highlight, WebHTMLHighlighter)
5560        https://bugs.webkit.org/show_bug.cgi?id=128456
5561
5562        Reviewed by Anders Carlsson.
5563
5564        * UserInterface/CSSKeywordCompletions.js: Removed -webkit-highlight.
5565
55662014-02-07  Brian Burg  <bburg@apple.com>
5567
5568        Web Inspector: Clean up DataGrid and add table columns incrementally
5569        https://bugs.webkit.org/show_bug.cgi?id=128332
5570
5571        Reviewed by Timothy Hatcher.
5572
5573        Miscellaneous improvements to DataGrid to make it more maintainable.
5574        In particular, it now uses a `Map` to store column settings, and the
5575        construction sequence has been simplified so that it is safe to add
5576        columns at the end of the constructor (or any later time).
5577
5578        DataGrid stores a bunch of settings per-column, but before this was done
5579        by both storing properties on the provided `column` objects as well as
5580        keeping several `columnIdentifier`-keyed maps for properties like `group`
5581        and `hidden`.
5582
5583        Improve code readability by using for..of loops, destructuring assignment,
5584        `Node.createElement`, and updating variable names. All variables that refer
5585        to DOM nodes now have a `Element` suffix to distinguish them from model objects.
5586
5587        * UserInterface/DataGrid.js:
5588        (.sortDataGrid):
5589        (WebInpector.DataGrid): Create all DOM elements before populating columns.
5590        Remove redundant objects for storing per-column values. Copy column settings
5591        into a map rather than mutating the passed-in JSON-like settings data structure.
5592
5593        (WebInspector.DataGrid.createSortableDataGrid):
5594        (WebInspector.DataGrid.prototype.get length):
5595        (WebInspector.DataGrid.prototype.updateLayout):
5596        (WebInspector.DataGrid.prototype.get scrollContainer):
5597        (WebInspector.DataGrid.prototype.isScrolledToLastRow):
5598        (WebInspector.DataGrid.prototype.scrollToLastRow):
5599        (WebInspector.DataGrid.prototype._positionResizerElements):
5600        (WebInspector.DataGrid.prototype.addCreationNode):
5601        (WebInspector.DataGrid.prototype.):
5602        (WebInspector.DataGrid.prototype.sortNodes):
5603        (WebInspector.DataGrid.prototype.dataGridNodeFromPoint):
5604        (WebInspector.DataGrid.prototype._clickInHeaderCell):
5605        (WebInspector.DataGrid.prototype.isColumnSortColumn):
5606        (WebInspector.DataGrid.prototype.headerTableHeader):
5607        (WebInspector.DataGrid.prototype._copyTextForDataGridNode):
5608        (WebInspector.DataGrid.prototype._resizerDragging):
5609        (WebInspector.DataGridNode.prototype.createCells):
5610        (WebInspector.DataGridNode.prototype.createCell.get var):
5611        (WebInspector.DataGridNode.prototype.elementWithColumnIdentifier):
5612        (WebInspector.DataGridNode.prototype._attach):
5613        * UserInterface/TimelineDataGrid.js:
5614        (WebInspector.TimelineDataGrid.prototype.treeElementMatchesActiveScopeFilters.scopeBar.this.columns.get scopeBar):
5615        (WebInspector.TimelineDataGrid.prototype.treeElementMatchesActiveScopeFilters):
5616
56172014-02-07  Mihai Tica  <mitica@adobe.com>
5618
5619        [CSS Background Blending] Unprefix the -webkit-background-blend-mode property
5620
5621        https://bugs.webkit.org/show_bug.cgi?id=128270
5622
5623        Reviewed by Dean Jackson.
5624
5625        * UserInterface/CSSKeywordCompletions.js: Refactor -webkit-background-blend-mode to background-blend-mode.
5626
56272014-02-06  Joseph Pecoraro  <pecoraro@apple.com>
5628
5629        Web Inspector: Add Console support to JSContext Inspection
5630        https://bugs.webkit.org/show_bug.cgi?id=127941
5631
5632        Reviewed by Geoffrey Garen.
5633
5634        * UserInterface/InspectorJSBackendCommands.js:
5635        * UserInterface/InspectorWebBackendCommands.js:
5636        ConsoleAgent moved to JavaScript section.
5637
56382014-02-06  Andreas Kling  <akling@apple.com>
5639
5640        Remove display:run-in support.
5641        <https://webkit.org/b/127874>
5642        <rdar://problem/15926949>
5643
5644        Rubber-stamped by Anders Carlsson.
5645
5646        * UserInterface/CSSKeywordCompletions.js:
5647        * UserInterface/External/CodeMirror/css.js:
5648
56492014-02-05  Brian Burg  <bburg@apple.com>
5650
5651        Web Inspector: add probe manager and model objects to the frontend
5652        https://bugs.webkit.org/show_bug.cgi?id=127117
5653
5654        Reviewed by Timothy Hatcher.
5655
5656        Add the probe manager, and the following model objects:
5657
5658        - ProbeObject corresponds to a single probe breakpoint action.
5659        - ProbeSetObject contains all ProbeObjects for one Breakpoint.
5660        - ProbeSetDataFrame holds probe samples from multiple
5661        probes fired from the same breakpoint hit/debugger pause.
5662        - ProbeSetDataTable keeps track of multiple such data frames
5663        and manages probe sample lifetimes across page navigations.
5664
5665        The probe manager updates probe model objects whenever breakpoints
5666        are added, removed, or modified.
5667
5668        The inspector frontend now assigns breakpoint action identifiers,
5669        rather than the backend. This lets ProbeObjects keep stable
5670        identifiers that match the probe's samples, even when the underlying
5671        breakpoint is re-added with a different identifier (such as when
5672        editing probe expressions).
5673
5674        * UserInterface/Breakpoint.js:
5675        (WebInspector.Breakpoint.prototype.get probeActions): Added.
5676        (WebInspector.Breakpoint.prototype.createAction):
5677        (WebInspector.Breakpoint.prototype.removeAction):
5678        (WebInspector.Breakpoint.prototype.clearActions): Added.
5679        * UserInterface/BreakpointAction.js:
5680        (WebInspector.BreakpointAction):
5681        (WebInspector.BreakpointAction.prototype.get id):
5682        (WebInspector.BreakpointAction.prototype.get info):
5683        * UserInterface/DebuggerManager.js:
5684        (WebInspector.DebuggerManager.restoreBreakpointsSoon):
5685        (WebInspector.DebuggerManager): Restore saved breakpoints
5686        from cookies on the second run loop, so that all managers will
5687        be able to received breakpoint added events.
5688        (WebInspector.DebuggerManager.prototype.addBreakpoint):
5689        (WebInspector.DebuggerManager.prototype.removeBreakpoint):
5690        (WebInspector.DebuggerManager.prototype.get nextBreakpointActionIdentifier):
5691        The debugger manager assigns unique breakpoint action identifiers with this getter.
5692
5693        (WebInspector.DebuggerManager.prototype._debuggerBreakpointActionType):
5694        (WebInspector.DebuggerManager.prototype.didSetBreakpoint):
5695        (WebInspector.DebuggerManager.prototype._setBreakpoint):
5696        (WebInspector.DebuggerManager.prototype.didRemoveBreakpoint):
5697        (WebInspector.DebuggerManager.prototype._removeBreakpoint):
5698        * UserInterface/DebuggerObserver.js:
5699        (WebInspector.DebuggerObserver.prototype.didSampleProbe):
5700        * UserInterface/InspectorJSBackendCommands.js:
5701        * UserInterface/Main.html:
5702        * UserInterface/Main.js:
5703        (WebInspector.loaded):
5704        * UserInterface/Probe.js: Added.
5705        (WebInspector.ProbeSample):
5706        (WebInspector.Probe):
5707        (WebInspector.Probe.prototype.get id):
5708        (WebInspector.Probe.prototype.get breakpoint):
5709        (WebInspector.Probe.prototype.get expression):
5710        (WebInspector.Probe.prototype.set expression):
5711        (WebInspector.Probe.prototype.get samples):
5712        (WebInspector.Probe.prototype.clearSamples):
5713        (WebInspector.Probe.prototype.addSample):
5714        * UserInterface/ProbeManager.js: Added.
5715        (WebInspector.ProbeManager):
5716        (WebInspector.ProbeManager.prototype.probeSetForBreakpoint):
5717        (WebInspector.ProbeManager.prototype._breakpointRemoved):
5718        (WebInspector.ProbeManager.prototype._breakpointActionsChanged.get var):
5719        (WebInspector.ProbeManager.prototype._breakpointActionsChanged.set get knownProbeIdentifiers):
5720        (WebInspector.ProbeManager.prototype._breakpointActionsChanged):
5721        * UserInterface/ProbeSet.js: Added.
5722        (WebInspector.ProbeSet):
5723        (WebInspector.ProbeSet.prototype.get breakpoint):
5724        (WebInspector.ProbeSet.prototype.get probes):
5725        (WebInspector.ProbeSet.prototype.get dataTable):
5726        (WebInspector.ProbeSet.prototype.clear):
5727        (WebInspector.ProbeSet.prototype.clearSamples):
5728        (WebInspector.ProbeSet.prototype.createProbe):
5729        (WebInspector.ProbeSet.prototype.removeProbe):
5730        (WebInspector.ProbeSet.prototype.willRemove):
5731        (WebInspector.ProbeSet.prototype._mainResourceChanged):
5732        (WebInspector.ProbeSet.prototype._createDataTable):
5733        (WebInspector.ProbeSet.prototype._sampleCollected):
5734        (WebInspector.ProbeSet.prototype._breakpointResolvedStateDidChange):
5735        * UserInterface/ProbeSetDataFrame.js: Added.
5736        (WebInspector.ProbeSetDataFrame):
5737        (WebInspector.ProbeSetDataFrame.compare):
5738        (WebInspector.ProbeSetDataFrame.prototype.get key):
5739        (WebInspector.ProbeSetDataFrame.prototype.get count):
5740        (WebInspector.ProbeSetDataFrame.prototype.get index):
5741        (WebInspector.ProbeSetDataFrame.prototype.get isSeparator):
5742        (WebInspector.ProbeSetDataFrame.prototype.set isSeparator):
5743        (WebInspector.ProbeSetDataFrame.prototype.addSampleForProbe):
5744        (WebInspector.ProbeSetDataFrame.prototype.missingKeys):
5745        (WebInspector.ProbeSetDataFrame.prototype.isComplete):
5746        (WebInspector.ProbeSetDataFrame.prototype.fillMissingValues):
5747        * UserInterface/ProbeSetDataTable.js: Added.
5748        (WebInspector.ProbeSetDataTable):
5749        (WebInspector.ProbeSetDataTable.prototype.get frames):
5750        (WebInspector.ProbeSetDataTable.prototype.get separators):
5751        (WebInspector.ProbeSetDataTable.prototype.willRemove):
5752        (WebInspector.ProbeSetDataTable.prototype.mainResourceChanged):
5753        (WebInspector.ProbeSetDataTable.prototype.addSampleForProbe):
5754        (WebInspector.ProbeSetDataTable.prototype.addProbe):
5755        (WebInspector.ProbeSetDataTable.prototype.removeProbe):
5756        (WebInspector.ProbeSetDataTable.prototype.createFrame):
5757        (WebInspector.ProbeSetDataTable.prototype.addFrame):
5758        (WebInspector.ProbeSetDataTable.prototype.addSeparator):
5759
57602014-02-05  Zan Dobersek  <zdobersek@igalia.com>
5761
5762        [GTK] Avoid no-op regenerations of GResourceBundle.xml, GResourceBundle.c
5763        https://bugs.webkit.org/show_bug.cgi?id=128192
5764
5765        Reviewed by Carlos Garcia Campos.
5766
5767        When doing incremental builds, GResourceBundle.xml and GResourceBundle.c can be
5768        generated when the dependencies are newer than the products, but the generation
5769        doesn't necessarily produce a new or different product. This results in constant
5770        regenerations for these two build targets. Touch the products at the end of
5771        generation to avoid this looping.
5772
5773        * GNUmakefile.am:
5774
57752014-01-30  Timothy Hatcher  <timothy@apple.com>
5776
5777        Show profile data in the discrete Scripts timeline view.
5778
5779        https://bugs.webkit.org/show_bug.cgi?id=127900
5780
5781        Reviewed by Joseph Pecoraro.
5782
5783        * Localizations/en.lproj/localizedStrings.js:
5784        * UserInterface/DataGrid.js:
5785        (WebInspector.DataGridNode.prototype.refreshIfNeeded):
5786        (WebInspector.DataGridNode.prototype.needsRefresh):
5787        (WebInspector.DataGridNode.prototype.set data):
5788        (WebInspector.DataGridNode.prototype.set revealed):
5789        (WebInspector.DataGridNode.prototype.refresh):
5790        * UserInterface/LayoutTimelineDataGrid.js:
5791        (WebInspector.LayoutTimelineDataGrid):
5792        * UserInterface/LayoutTimelineDataGridNode.js:
5793        (WebInspector.LayoutTimelineDataGridNode.prototype.createCellContent):
5794        * UserInterface/Main.html:
5795        * UserInterface/NavigationSidebarPanel.js:
5796        (WebInspector.NavigationSidebarPanel.prototype._updateFilter):
5797        (WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged):
5798        (WebInspector.NavigationSidebarPanel.prototype._generateStyleRulesIfNeeded):
5799        * UserInterface/ProfileNodeDataGridNode.js: Added.
5800        (WebInspector.ProfileNodeDataGridNode):
5801        (WebInspector.ProfileNodeDataGridNode.prototype.get profileNode):
5802        (WebInspector.ProfileNodeDataGridNode.prototype.get records):
5803        (WebInspector.ProfileNodeDataGridNode.prototype.get baseStartTime):
5804        (WebInspector.ProfileNodeDataGridNode.prototype.get rangeStartTime):
5805        (WebInspector.ProfileNodeDataGridNode.prototype.set rangeStartTime):
5806        (WebInspector.ProfileNodeDataGridNode.prototype.get rangeEndTime):
5807        (WebInspector.ProfileNodeDataGridNode.prototype.set rangeEndTime):
5808        (WebInspector.ProfileNodeDataGridNode.prototype.get data):
5809        (WebInspector.ProfileNodeDataGridNode.prototype.refresh):
5810        (WebInspector.ProfileNodeDataGridNode.prototype.createCellContent):
5811        * UserInterface/ProfileNodeTreeElement.js: Added.
5812        (WebInspector.ProfileNodeTreeElement):
5813        (WebInspector.ProfileNodeTreeElement.prototype.get profileNode):
5814        (WebInspector.ProfileNodeTreeElement.prototype.get filterableData):
5815        (WebInspector.ProfileNodeTreeElement.prototype.onattach):
5816        (WebInspector.ProfileNodeTreeElement.prototype.onpopulate):
5817        * UserInterface/ResourceTimelineDataGridNode.js:
5818        (WebInspector.ResourceTimelineDataGridNode.prototype.createCellContent):
5819        * UserInterface/ScriptTimelineDataGrid.js:
5820        (WebInspector.ScriptTimelineDataGrid):
5821        * UserInterface/ScriptTimelineDataGridNode.js:
5822        (WebInspector.ScriptTimelineDataGridNode):
5823        (WebInspector.ScriptTimelineDataGridNode.prototype.get baseStartTime):
5824        (WebInspector.ScriptTimelineDataGridNode.prototype.get rangeStartTime):
5825        (WebInspector.ScriptTimelineDataGridNode.prototype.set rangeStartTime):
5826        (WebInspector.ScriptTimelineDataGridNode.prototype.get rangeEndTime):
5827        (WebInspector.ScriptTimelineDataGridNode.prototype.set rangeEndTime):
5828        (WebInspector.ScriptTimelineDataGridNode.prototype.get data):
5829        (WebInspector.ScriptTimelineDataGridNode.prototype.createCellContent):
5830        * UserInterface/ScriptTimelineRecord.js:
5831        (WebInspector.ScriptTimelineRecord):
5832        (WebInspector.ScriptTimelineRecord.prototype.get profile):
5833        * UserInterface/ScriptTimelineView.js:
5834        (WebInspector.ScriptTimelineView.prototype.updateLayout):
5835        (WebInspector.ScriptTimelineView.prototype.get selectionPathComponents):
5836        (WebInspector.ScriptTimelineView.prototype.dataGridNodeForTreeElement):
5837        (WebInspector.ScriptTimelineView.prototype.populateProfileNodeTreeElement):
5838        (WebInspector.ScriptTimelineView.prototype._processPendingRecords):
5839        (WebInspector.ScriptTimelineView.prototype._treeElementSelected):
5840        * UserInterface/TimelineContentView.js:
5841        (WebInspector.TimelineContentView.prototype.matchTreeElementAgainstCustomFilters):
5842        * UserInterface/TimelineDataGrid.js:
5843        (WebInspector.TimelineDataGrid):
5844        (WebInspector.TimelineDataGrid.prototype.addRowInSortOrder):
5845        (WebInspector.TimelineDataGrid.prototype._sort):
5846        * UserInterface/TimelineDataGridNode.js:
5847        (WebInspector.TimelineDataGridNode):
5848        (WebInspector.TimelineDataGridNode.prototype.collapse):
5849        (WebInspector.TimelineDataGridNode.prototype.expand):
5850        * UserInterface/TimelineRecord.js:
5851        * UserInterface/TreeOutlineDataGridSynchronizer.js:
5852        (WebInspector.TreeOutlineDataGridSynchronizer.prototype.get delegate):
5853        (WebInspector.TreeOutlineDataGridSynchronizer.prototype.dataGridNodeForTreeElement):
5854        (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementAdded):
5855
58562014-01-30  Timothy Hatcher  <timothy@apple.com>
5857
5858        Add the model objects for the new Web Inspector profile data.
5859
5860        https://bugs.webkit.org/show_bug.cgi?id=127899
5861
5862        Reviewed by Joseph Pecoraro.
5863
5864        * UserInterface/Main.html:
5865        * UserInterface/Profile.js: Added.
5866        (WebInspector.Profile):
5867        (WebInspector.Profile.prototype.get idleTime):
5868        (WebInspector.Profile.prototype.get topDownRootNodes):
5869        (WebInspector.Profile.prototype.get bottomUpRootNodes):
5870        * UserInterface/ProfileNode.js: Added.
5871        (WebInspector.ProfileNode):
5872        (WebInspector.ProfileNode.prototype.get id):
5873        (WebInspector.ProfileNode.prototype.get type):
5874        (WebInspector.ProfileNode.prototype.get functionName):
5875        (WebInspector.ProfileNode.prototype.get sourceCodeLocation):
5876        (WebInspector.ProfileNode.prototype.get startTime):
5877        (WebInspector.ProfileNode.prototype.get endTime):
5878        (WebInspector.ProfileNode.prototype.get selfTime):
5879        (WebInspector.ProfileNode.prototype.get totalTime):
5880        (WebInspector.ProfileNode.prototype.get calls):
5881        (WebInspector.ProfileNode.prototype.get previousSibling):
5882        (WebInspector.ProfileNode.prototype.get nextSibling):
5883        (WebInspector.ProfileNode.prototype.get parentNode):
5884        (WebInspector.ProfileNode.prototype.get childNodes):
5885        (WebInspector.ProfileNode.prototype.totalTimeInRange):
5886        (WebInspector.ProfileNode.prototype.computeCallInfoForTimeRange):
5887        (WebInspector.ProfileNode.prototype.traverseNextProfileNode):
5888        (WebInspector.ProfileNode.prototype.saveIdentityToCookie):
5889        (WebInspector.ProfileNode.prototype.establishRelationships):
5890        * UserInterface/ProfileNodeCall.js: Added.
5891        (WebInspector.ProfileNodeCall):
5892        (WebInspector.ProfileNodeCall.prototype.get startTime):
5893        (WebInspector.ProfileNodeCall.prototype.get totalTime):
5894        (WebInspector.ProfileNodeCall.prototype.get endTime):
5895        (WebInspector.ProfileNodeCall.prototype.establishRelationships):
5896        * UserInterface/TimelineManager.js:
5897        (WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
5898        (WebInspector.TimelineManager.prototype.eventRecorded):
5899        (WebInspector.TimelineManager.prototype._profileFromPayload.profileNodeFromPayload):
5900        (WebInspector.TimelineManager.prototype._profileFromPayload.profileNodeCallFromPayload):
5901        (WebInspector.TimelineManager.prototype._profileFromPayload):
5902
59032014-01-26  Timothy Hatcher  <timothy@apple.com>
5904
5905        Prefix existing Web Inspector profiler classes with "Legacy".
5906
5907        Remove a dependency on ProfileView for showTimeAsPercent and selection as a drive-by.
5908        Also remove the unfinished Canvas profiler classes, they will need redone for the Timeline view.
5909
5910        https://bugs.webkit.org/show_bug.cgi?id=127655
5911
5912        Reviewed by Joseph Pecoraro.
5913
5914        * UserInterface/CanvasDataGridNode.js: Removed.
5915        * UserInterface/CanvasObserver.js: Removed.
5916        * UserInterface/CanvasProfileObject.js: Removed.
5917        * UserInterface/CanvasProfileType.js: Removed.
5918        * UserInterface/CanvasProfileView.js: Removed.
5919        * UserInterface/ConsoleObserver.js:
5920        (WebInspector.ConsoleObserver.prototype.messageAdded):
5921        * UserInterface/ContentView.js:
5922        (WebInspector.ContentView):
5923        (WebInspector.ContentView.isViewable):
5924        * UserInterface/InspectorFrontendAPI.js:
5925        (InspectorFrontendAPI.isProfilingJavaScript):
5926        (InspectorFrontendAPI.startProfilingJavaScript):
5927        (InspectorFrontendAPI.stopProfilingJavaScript):
5928        * UserInterface/LegacyBottomUpProfileDataGridTree.js: Renamed from Source/WebInspectorUI/UserInterface/BottomUpProfileDataGridTree.js.
5929        * UserInterface/LegacyJavaScriptProfileObject.js: Renamed from Source/WebInspectorUI/UserInterface/JavaScriptProfileObject.js.
5930        * UserInterface/LegacyJavaScriptProfileType.js: Renamed from Source/WebInspectorUI/UserInterface/JavaScriptProfileType.js.
5931        * UserInterface/LegacyJavaScriptProfileView.css: Renamed from Source/WebInspectorUI/UserInterface/JavaScriptProfileView.css.
5932        * UserInterface/LegacyJavaScriptProfileView.js: Renamed from Source/WebInspectorUI/UserInterface/JavaScriptProfileView.js.
5933        * UserInterface/LegacyProfileDataGridTree.js: Renamed from Source/WebInspectorUI/UserInterface/ProfileDataGridTree.js.
5934        * UserInterface/LegacyProfileManager.js: Renamed from Source/WebInspectorUI/UserInterface/ProfileManager.js.
5935        * UserInterface/LegacyProfileObject.js: Renamed from Source/WebInspectorUI/UserInterface/ProfileObject.js.
5936        * UserInterface/LegacyProfileType.js: Renamed from Source/WebInspectorUI/UserInterface/ProfileType.js.
5937        * UserInterface/LegacyProfileView.css: Renamed from Source/WebInspectorUI/UserInterface/ProfileView.css.
5938        * UserInterface/LegacyProfileView.js: Renamed from Source/WebInspectorUI/UserInterface/ProfileView.js.
5939        * UserInterface/LegacyProfilerObserver.js: Renamed from Source/WebInspectorUI/UserInterface/ProfilerObserver.js.
5940        * UserInterface/LegacyTopDownProfileDataGridTree.js: Renamed from Source/WebInspectorUI/UserInterface/TopDownProfileDataGridTree.js.
5941        * UserInterface/Main.html:
5942        * UserInterface/Main.js:
5943        (WebInspector.loaded):
5944        (WebInspector.openURL):
5945
59462014-01-30  Diego Pino Garcia  <dpino@igalia.com>
5947
5948        Web Inspector: [REGRESSION(r163086)] Missing localized string 'Hide console (%s)'
5949        https://bugs.webkit.org/show_bug.cgi?id=127951
5950
5951        Reviewed by Timothy Hatcher.
5952
5953        * Localizations/en.lproj/localizedStrings.js:
5954        Add 'Hide console (%s)'.
5955
59562014-01-30  Diego Pino Garcia  <dpino@igalia.com>
5957
5958        Web Inspector: Implement open/close Console window shortcut
5959        https://bugs.webkit.org/show_bug.cgi?id=127896
5960
5961        Reviewed by Timothy Hatcher.
5962
5963        * UserInterface/KeyboardShortcut.js:
5964        (WebInspector.KeyboardShortcut.prototype.get displayName):
5965        Bug: Option symbol should be displayed as Alternative symbol (\u2387)
5966        in non Mac platforms.
5967        * UserInterface/Main.js:
5968        (WebInspector.contentLoaded):
5969        Create keyboard shortcut for toggling console window.
5970
59712014-01-29  Joseph Pecoraro  <pecoraro@apple.com>
5972
5973        Web Inspector: Play Breakpoint Sound in Frontend
5974        https://bugs.webkit.org/show_bug.cgi?id=127885
5975
5976        Reviewed by Timothy Hatcher.
5977
5978        Beep in the frontend when a "sound" breakpoint action is triggered.
5979
5980        * UserInterface/DebuggerManager.js:
5981        (WebInspector.DebuggerManager.prototype.playBreakpointActionSound):
5982        * UserInterface/DebuggerObserver.js:
5983        (WebInspector.DebuggerObserver.prototype.resumed):
5984        (WebInspector.DebuggerObserver.prototype.playBreakpointActionSound):
5985        * UserInterface/InspectorJSBackendCommands.js:
5986
59872014-01-29  Diego Pino Garcia  <dpino@igalia.com>
5988
5989        Web Inspector: [REGRESSION(r162931)] Tab navigation broken in DataGrid
5990        https://bugs.webkit.org/show_bug.cgi?id=127816
5991
5992        Reviewed by Timothy Hatcher.
5993
5994        * UserInterface/DataGrid.js:
5995        (WebInspector.DataGrid.prototype.moveToNextIfNeeded):
5996        (WebInspector.DataGrid.prototype._editingCommitted):
5997        Change columnIdentifier values 0 and 1 to strings "0" and "1".
5998
59992014-01-28  Joseph Pecoraro  <pecoraro@apple.com>
6000
6001        Unreviewed follow-up to r162965. Better coding style.
6002
6003        Timothy Hatcher pointed out a clearer style for classes
6004        on the <body> is to specify body.class. I agree.
6005
6006        * UserInterface/DashboardView.css:
6007        (body.javascript .toolbar .dashboard):
6008        (body.web .toolbar.collapsed .dashboard > .logs):
6009        (body.javascript .toolbar .dashboard > .resourcesCount):
6010
60112014-01-28  Joseph Pecoraro  <pecoraro@apple.com>
6012
6013        Web Inspector: Tweak UI when debugging a JSContext
6014        https://bugs.webkit.org/show_bug.cgi?id=127799
6015
6016        Reviewed by Timothy Hatcher.
6017
6018        * UserInterface/DashboardView.css:
6019        (.toolbar.javascript .dashboard):
6020        (.toolbar.web.collapsed .dashboard > .logs):
6021        (.toolbar.javascript .dashboard > .resourcesCount):
6022        Adjust collapsed dashboard in web and javascript debugging modes.
6023        JavaScript debugging mode is always treated as collapsed.
6024
6025        * UserInterface/Main.js:
6026        (WebInspector.contentLoaded):
6027        Adjust what is created and shown when in javascript debugging mode.
6028
6029        * UserInterface/NavigationSidebarPanel.css:
6030        (.navigation-sidebar-panel-content-tree-outline.hide-disclosure-buttons .item.small):
6031        * UserInterface/ResourceSidebarPanel.js:
6032        (WebInspector.ResourceSidebarPanel):
6033        (WebInspector.ResourceSidebarPanel.prototype._scriptWasAdded):
6034        * UserInterface/TimelineSidebarPanel.css:
6035        (.sidebar > .panel.timeline > .status-bar):
6036        (.sidebar > .panel.timeline > .title-bar):
6037        When javascript debugging expect to put things at the root level, so hide
6038        disclosure buttons and adjust the style so resources look nice here.
6039
60402014-01-28  Diego Pino Garcia  <dpino@igalia.com>
6041
6042        Web Inspector: In a DataGrid, store value of columnIdentifier to DOM node representing a cell
6043        https://bugs.webkit.org/show_bug.cgi?id=127613
6044
6045        Reviewed by Timothy Hatcher.
6046
6047        * UserInterface/DOMStorageContentView.js:
6048        (WebInspector.DOMStorageContentView.prototype._editingCallback):
6049        * UserInterface/DataGrid.js:
6050        (WebInspector.DataGrid):
6051        (WebInspector.DataGrid.prototype._keyDown):
6052        (WebInspector.DataGrid.prototype._contextMenuInDataTable):
6053        (WebInspector.DataGridNode.prototype.createCell):
6054
60552014-01-27  Joseph Pecoraro  <pecoraro@apple.com>
6056
6057        Web Inspector: Feature Check all Protocol Generated Interfaces to get JSContext Inspection working
6058        https://bugs.webkit.org/show_bug.cgi?id=127712
6059
6060        Reviewed by Timothy Hatcher.
6061
6062        Feature check protocol generated interfaces (e.g. FooAgent and registerFooObserver).
6063        Also drive by handle a possible exception if a SourceCode's URL is null, which is possible.
6064
6065        * UserInterface/ApplicationCacheManager.js:
6066        (WebInspector.ApplicationCacheManager):
6067        (WebInspector.ApplicationCacheManager.prototype.initialize):
6068        * UserInterface/CSSCompletions.js:
6069        (WebInspector.CSSCompletions.requestCSSNameCompletions):
6070        * UserInterface/CSSStyleManager.js:
6071        (WebInspector.CSSStyleManager):
6072        (WebInspector.CSSStyleManager.prototype.canForcePseudoClasses):
6073        * UserInterface/DebuggerManager.js:
6074        * UserInterface/FrameResourceManager.js:
6075        (WebInspector.FrameResourceManager):
6076        (WebInspector.FrameResourceManager.prototype.initialize):
6077        * UserInterface/Main.js:
6078        (WebInspector.loaded):
6079        * UserInterface/ProfileManager.js:
6080        (WebInspector.ProfileManager):
6081        * UserInterface/StorageManager.js:
6082        (WebInspector.StorageManager):
6083        Type check generated interfaces.
6084
6085        (WebInspector.DebuggerManager):
6086        (WebInspector.DebuggerManager.prototype.debuggerDidPause):
6087        Null check a SourceCode URL, which can be null for a Script with no URL.
6088
60892014-01-25  Timothy Hatcher  <timothy@apple.com>
6090
6091        Remove dead code from the JSC profiler.
6092
6093        https://bugs.webkit.org/show_bug.cgi?id=127643
6094
6095        Reviewed by Mark Lam.
6096
6097        * Versions/Inspector-iOS-7.0.json: Remove visible from CPUProfileNode.
6098
60992014-01-25  Joseph Pecoraro  <pecoraro@apple.com>
6100
6101        Remove FIXME in CSSKeywordCompletions.js about "inherit" keyword
6102        https://bugs.webkit.org/show_bug.cgi?id=127638
6103
6104        Reviewed by Timothy Hatcher.
6105
6106        * UserInterface/CSSKeywordCompletions.js:
6107        (WebInspector.CSSKeywordCompletions.forProperty):
6108        Replace FIXME with a descriptive comment about why the code is what it is.
6109
61102014-01-25  Diego Pino Garcia  <dpino@igalia.com>
6111
6112        Web Inspector: Position the completion suggestions popup below if there is room
6113        https://bugs.webkit.org/show_bug.cgi?id=127615
6114
6115        Reviewed by Joseph Pecoraro.
6116
6117        * UserInterface/CompletionSuggestionsView.js:
6118        (WebInspector.CompletionSuggestionsView.prototype.show):
6119
61202014-01-23  Timothy Hatcher  <timothy@apple.com>
6121
6122        Refactor TimelineRecordBar combining logic into a helper function.
6123
6124        https://bugs.webkit.org/show_bug.cgi?id=127530
6125
6126        Reviewed by Joseph Pecoraro.
6127
6128        * UserInterface/LayoutTimelineOverviewGraph.js:
6129        (WebInspector.LayoutTimelineOverviewGraph.prototype.updateLayout.createBar):
6130        (WebInspector.LayoutTimelineOverviewGraph.prototype.updateLayout):
6131        Use TimelineRecordBar.createCombinedBars.
6132
6133        * UserInterface/NetworkTimelineOverviewGraph.css:
6134        (.timeline-overview-graph.network):
6135        (.timeline-overview-graph.network > .graph-row > .timeline-record-bar):
6136        Cleaned up since we are using TimelineRecordBar.
6137
6138        * UserInterface/NetworkTimelineOverviewGraph.js:
6139        (WebInspector.NetworkTimelineOverviewGraph.prototype.reset):
6140        (WebInspector.NetworkTimelineOverviewGraph.prototype.updateLayout.createBar):
6141        (WebInspector.NetworkTimelineOverviewGraph.prototype.updateLayout):
6142        Use TimelineRecordBar.createCombinedBars.
6143
6144        * UserInterface/ScriptTimelineOverviewGraph.js:
6145        (WebInspector.ScriptTimelineOverviewGraph.prototype.updateLayout.createBar):
6146        (WebInspector.ScriptTimelineOverviewGraph.prototype.updateLayout):
6147        Use TimelineRecordBar.createCombinedBars.
6148
6149        * UserInterface/TimelineDataGridNode.js:
6150        (WebInspector.TimelineDataGridNode.prototype.refreshGraph.createBar):
6151        (WebInspector.TimelineDataGridNode.prototype.refreshGraph):
6152        Use TimelineRecordBar.createCombinedBars.
6153
6154        * UserInterface/TimelineRecordBar.css:
6155        (.timeline-record-bar.unfinished > .segment):
6156        (.timeline-record-bar.has-inactive-segment > .segment:not(.inactive)):
6157        (:focus .selected .timeline-record-bar > .segment.inactive):
6158        Improved selected appearance and don't assume .segment.inactive exists.
6159
6160        * UserInterface/TimelineRecordBar.js:
6161        (WebInspector.TimelineRecordBar):
6162        (WebInspector.TimelineRecordBar.createCombinedBars.compareByActiveStartTime): Added.
6163        (WebInspector.TimelineRecordBar.createCombinedBars): Added.
6164        (WebInspector.TimelineRecordBar.prototype.get renderMode): Added.
6165        (WebInspector.TimelineRecordBar.prototype.set renderMode): Added.
6166        (WebInspector.TimelineRecordBar.prototype.set records):
6167        (WebInspector.TimelineRecordBar.prototype.refresh):
6168        Lazily create DOM elements. Support rendering one or both segments. Doing this lets
6169        combined inactive segments sit behind multiple active segments.
6170
61712014-01-22  Timothy Hatcher  <timothy@apple.com>
6172
6173        Improve collapsing of TimelineDataGridNode graphs up to ancestors.
6174
6175        https://bugs.webkit.org/show_bug.cgi?id=127440
6176
6177        Reviewed by Joseph Pecoraro.
6178
6179        * UserInterface/TimelineDataGridNode.js:
6180        (WebInspector.TimelineDataGridNode.prototype.collapse):
6181        (WebInspector.TimelineDataGridNode.prototype.createCellContent):
6182        (WebInspector.TimelineDataGridNode.prototype.refresh):
6183        (WebInspector.TimelineDataGridNode.prototype.needsGraphRefresh):
6184        Notify the next visible ancestor it needs to refresh. Use needsGraphRefresh so ancestors
6185        are notified instead of directly calling refreshGraph in some places.
6186
61872014-01-22  Timothy Hatcher  <timothy@apple.com>
6188
6189        Don't include a hidden Timeline selection in the navigation path components.
6190
6191        https://bugs.webkit.org/show_bug.cgi?id=127443
6192
6193        Reviewed by Joseph Pecoraro.
6194
6195        * UserInterface/GeneralTreeElementPathComponent.js:
6196        (WebInspector.GeneralTreeElementPathComponent.prototype.get previousSibling):
6197        (WebInspector.GeneralTreeElementPathComponent.prototype.get nextSibling):
6198        Skip hidden siblings.
6199
6200        * UserInterface/OverviewTimelineView.js:
6201        (WebInspector.OverviewTimelineView.prototype.updateLayout):
6202        (WebInspector.OverviewTimelineView.prototype.get selectionPathComponents):
6203        Don't include hidden selection and dispatch SelectionPathComponentsDidChange event if hidden changes.
6204
6205        * UserInterface/TimelineContentView.js:
6206        (WebInspector.TimelineContentView.prototype._timeRangeSelectionChanged):
6207        Dispatch SelectionPathComponentsDidChange event if hidden changes on the selected tree element.
6208
6209        * UserInterface/TimelineView.js:
6210        (WebInspector.TimelineView.prototype.get selectionPathComponents):
6211        Don't include hidden selection.
6212
62132014-01-22  Timothy Hatcher  <timothy@apple.com>
6214
6215        Support collapsing call site records into the resource timeline.
6216
6217        Also fix some filtering and graph issues.
6218
6219        https://bugs.webkit.org/show_bug.cgi?id=127440
6220
6221        Reviewed by Joseph Pecoraro.
6222
6223        * UserInterface/NavigationSidebarPanel.js:
6224        (WebInspector.NavigationSidebarPanel.prototype.updateFilter):
6225        (WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement.matchTextFilter):
6226        (WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement.makeVisible):
6227        (WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement):
6228        (WebInspector.NavigationSidebarPanel.prototype._updateFilter):
6229        Tweak how filtering happens so custom filters never expand to reveal and auto expanded
6230        tree elements will auto-collapse again later even with custom filters.
6231
6232        * UserInterface/OverviewTimelineView.css:
6233        (.timeline-view.overview > .data-grid tr.parent:not(.expanded) td.graph-column .timeline-record-bar:not(.timeline-record-type-network) > .segment):
6234        (.timeline-view.overview > .data-grid tr.parent:not(.expanded).selected td.graph-column .timeline-record-bar:not(.timeline-record-type-network) > .segment):
6235        (.timeline-view.overview > .data-grid:focus tr.parent:not(.expanded).selected td.graph-column .timeline-record-bar:not(.timeline-record-type-network) > .segment):
6236        Add a shadow to provide some negative space between juxtaposed records. Only needed when not expanded.
6237
6238        * UserInterface/OverviewTimelineView.js:
6239        (WebInspector.OverviewTimelineView.prototype.updateLayout):
6240        (WebInspector.OverviewTimelineView.prototype._addResourceToTreeIfNeeded):
6241        Update the filter when current time changes and only auto expand the main resource.
6242
6243        * UserInterface/ResourceTimelineDataGridNode.js:
6244        (WebInspector.ResourceTimelineDataGridNode):
6245        (WebInspector.ResourceTimelineDataGridNode.prototype._timelineRecordUpdated):
6246        Don't schedule a refresh of the graph if the record isn't visible.
6247
6248        * UserInterface/SourceCodeTimelineTimelineDataGridNode.js:
6249        (WebInspector.SourceCodeTimelineTimelineDataGridNode):
6250        (WebInspector.SourceCodeTimelineTimelineDataGridNode.prototype._timelineRecordAdded):
6251        Don't schedule a refresh of the graph if the record isn't visible.
6252
6253        * UserInterface/TimelineContentView.js:
6254        (WebInspector.TimelineContentView.prototype._timeRangeSelectionChanged):
6255        Remove the boolean for updateFilter.
6256
6257        * UserInterface/TimelineDataGrid.js:
6258        (WebInspector.TimelineDataGrid.prototype._refreshDirtyDataGridNodes):
6259        (WebInspector.TimelineDataGrid.prototype._sort):
6260        Keep the hidden state in-sync between node and element.
6261
6262        * UserInterface/TimelineDataGridNode.js:
6263        (WebInspector.TimelineDataGridNode.prototype.collapse):
6264        (WebInspector.TimelineDataGridNode.prototype.expand):
6265        (WebInspector.TimelineDataGridNode.prototype.appendChild):
6266        (WebInspector.TimelineDataGridNode.prototype.insertChild):
6267        (WebInspector.TimelineDataGridNode.prototype.removeChild):
6268        (WebInspector.TimelineDataGridNode.prototype.removeChildren):
6269        (WebInspector.TimelineDataGridNode.prototype.removeChildrenRecursive):
6270        (WebInspector.TimelineDataGridNode.prototype.refreshGraph.createBarsForRecords):
6271        (WebInspector.TimelineDataGridNode.prototype.refreshGraph.else.collectRecordsByType.get if):
6272        (WebInspector.TimelineDataGridNode.prototype.needsGraphRefresh):
6273        (WebInspector.TimelineDataGridNode.prototype.isRecordVisible):
6274        Support drawing the children records on the parent graph.
6275
6276        * UserInterface/TimelineRecordBar.css:
6277        (.timeline-record-bar.unfinished > .segment):
6278        (:focus .selected .timeline-record-bar > .segment):
6279        (:focus .selected .timeline-record-bar > .segment.inactive):
6280        (:focus .selected .timeline-record-bar.has-inactive-segment > .segment:not(.inactive)):
6281        Tweaked styles to look better when selected.
6282
6283        * UserInterface/TimelineRecordBar.js:
6284        (WebInspector.TimelineRecordBar.recordsCannotBeCombined):
6285        (WebInspector.TimelineRecordBar.prototype.set records):
6286        (WebInspector.TimelineRecordBar.prototype.refresh):
6287        Drive-by fixes for some bug with bars being reused.
6288
62892014-01-21  Timothy Hatcher  <timothy@apple.com>
6290
6291        Remember the Timeline Overview zoom and selection between sessions.
6292
6293        https://bugs.webkit.org/show_bug.cgi?id=127369
6294
6295        Reviewed by Joseph Pecoraro.
6296
6297        * UserInterface/TimelineOverview.js:
6298        (WebInspector.TimelineOverview):
6299        (WebInspector.TimelineOverview.prototype.set secondsPerPixel):
6300        (WebInspector.TimelineOverview.prototype._timeRangeSelectionChanged):
6301
63022014-01-21  Timothy Hatcher  <timothy@apple.com>
6303
6304        Show the Resource and Record selection path in the navigation bar for Timeline views.
6305
6306        https://bugs.webkit.org/show_bug.cgi?id=127367
6307
6308        Reviewed by Joseph Pecoraro.
6309
6310        * UserInterface/LayoutTimelineView.js:
6311        (WebInspector.LayoutTimelineView.prototype.treeElementPathComponentSelected):
6312        (WebInspector.LayoutTimelineView.prototype._dataGridNodeSelected):
6313        * UserInterface/NetworkTimelineView.js:
6314        (WebInspector.NetworkTimelineView.prototype.treeElementPathComponentSelected):
6315        (WebInspector.NetworkTimelineView.prototype._dataGridNodeSelected):
6316        * UserInterface/OverviewTimelineView.js:
6317        (WebInspector.OverviewTimelineView.prototype.get selectionPathComponents):
6318        (WebInspector.OverviewTimelineView.prototype.treeElementPathComponentSelected):
6319        (WebInspector.OverviewTimelineView.prototype._dataGridNodeSelected):
6320        * UserInterface/ScriptTimelineView.js:
6321        (WebInspector.ScriptTimelineView.prototype.treeElementPathComponentSelected):
6322        (WebInspector.ScriptTimelineView.prototype._dataGridNodeSelected):
6323        * UserInterface/TimelineContentView.js:
6324        (WebInspector.TimelineContentView.prototype._timelineViewSelectionPathComponentsDidChange):
6325        (WebInspector.TimelineContentView.prototype._showTimelineView):
6326        * UserInterface/TimelineDataGrid.js:
6327        (WebInspector.TimelineDataGrid.prototype.treeElementForDataGridNode):
6328        (WebInspector.TimelineDataGrid.prototype.dataGridNodeForTreeElement):
6329        * UserInterface/TimelineView.js:
6330        (WebInspector.TimelineView.prototype.get selectionPathComponents):
6331        (WebInspector.TimelineView.prototype.treeElementPathComponentSelected):
6332
63332014-01-20  Timothy Hatcher  <timothy@apple.com>
6334
6335        Add the recording button back to the Timelines sidebar.
6336
6337        https://bugs.webkit.org/show_bug.cgi?id=127314
6338
6339        Reviewed by Joseph Pecoraro.
6340
6341        * Localizations/en.lproj/localizedStrings.js: Updated.
6342
6343        * UserInterface/TimelineContentView.js:
6344        (WebInspector.TimelineContentView.prototype.get navigationItems):
6345        (WebInspector.TimelineContentView.prototype._update):
6346        (WebInspector.TimelineContentView.prototype._updateTimes):
6347        (WebInspector.TimelineContentView.prototype._startUpdatingCurrentTime):
6348        (WebInspector.TimelineContentView.prototype._recordingTimesUpdated):
6349        (WebInspector.TimelineContentView.prototype._clearTimeline):
6350        (WebInspector.TimelineContentView.prototype._recordingReset):
6351        Add a clear button and reset the time ruler and views when the recording resets.
6352
6353        * UserInterface/TimelineSidebarPanel.css:
6354        (.sidebar > .panel.timeline > .status-bar):
6355        (.sidebar > .panel.timeline > .status-bar > .record-glyph):
6356        (.sidebar > .panel.timeline > .status-bar > .record-glyph.recording):
6357        (.sidebar > .panel.timeline > .status-bar > .record-glyph:hover):
6358        (.sidebar > .panel.timeline > .status-bar > .record-glyph.recording:hover):
6359        (.sidebar > .panel.timeline > .status-bar > .record-glyph.forced):
6360        (.sidebar > .panel.timeline > .status-bar > .record-glyph.recording.forced):
6361        (.sidebar > .panel.timeline > .status-bar > .record-status):
6362        Add styles for the recording button and status message.
6363
6364        * UserInterface/TimelineSidebarPanel.js:
6365        (WebInspector.TimelineSidebarPanel.prototype._contentBrowserCurrentContentViewDidChange):
6366        (WebInspector.TimelineSidebarPanel.prototype._recordingStarted):
6367        (WebInspector.TimelineSidebarPanel.prototype._recordingStopped):
6368        (WebInspector.TimelineSidebarPanel.prototype._recordGlyphMousedOver):
6369        (WebInspector.TimelineSidebarPanel.prototype._recordGlyphMousedOut):
6370        (WebInspector.TimelineSidebarPanel.prototype._recordGlyphClicked):
6371        Add support for the recording button and status message.
6372
63732014-01-20  Timothy Hatcher  <timothy@apple.com>
6374
6375        Make the TimelineRecordTreeElement location subtitle live.
6376
6377        https://bugs.webkit.org/show_bug.cgi?id=127270
6378
6379        Reviewed by Joseph Pecoraro.
6380
6381        * Localizations/en.lproj/localizedStrings.js: Updated.
6382
6383        * UserInterface/SourceCodeLocation.js:
6384        (WebInspector.SourceCodeLocation.prototype.originalLocationString):
6385        (WebInspector.SourceCodeLocation.prototype.formattedLocationString):
6386        (WebInspector.SourceCodeLocation.prototype.displayLocationString):
6387        (WebInspector.SourceCodeLocation.prototype.updateDisplayString):
6388        (WebInspector.SourceCodeLocation.prototype._locationString):
6389        Support for a new nameStyle enum and a prefix for the location string.
6390        Passing the prefix here lets it be italicized with the line number.
6391        Support column number for SourceCode's without a URL too.
6392
6393        * UserInterface/TimelineRecordTreeElement.js:
6394        (WebInspector.TimelineRecordTreeElement):
6395        (WebInspector.TimelineRecordTreeElement.prototype.onattach):
6396        Create a subtitle span to update the location inside. Update the tooltip on attach.
6397
63982014-01-19  Timothy Hatcher  <timothy@apple.com>
6399
6400        Generate better display names for timer and event Timeline records.
6401
6402        Also support AnimationFrameRequested and AnimationFrameCanceled.
6403
6404        https://bugs.webkit.org/show_bug.cgi?id=127258
6405
6406        Reviewed by Joseph Pecoraro.
6407
6408        * Localizations/en.lproj/localizedStrings.js: Updated.
6409
6410        * UserInterface/LayoutTimelineRecord.js:
6411        (WebInspector.LayoutTimelineRecord.EventType.displayName):
6412        Generate past tense names that better match other names.
6413
6414        * UserInterface/ScriptTimelineDataGridNode.js:
6415        (WebInspector.ScriptTimelineDataGridNode.prototype.createCellContent):
6416        Pass the details to displayName.
6417
6418        * UserInterface/ScriptTimelineRecord.js:
6419        (WebInspector.ScriptTimelineRecord.EventType.displayName):
6420        Generate better names for timer and event records. Also add missing animation frame types.
6421
6422        * UserInterface/ScriptTimelineView.js:
6423        (WebInspector.ScriptTimelineView.prototype._processPendingRecords):
6424        Pass true to WebInspector.TimelineRecordTreeElement to include timer identifiers in the title.
6425
6426        * UserInterface/SourceCodeTimelineTreeElement.js:
6427        (WebInspector.SourceCodeTimelineTreeElement):
6428        Pass includeTimerIdentifierInMainTitle through to TimelineRecordTreeElement.
6429
6430        * UserInterface/TimelineManager.js:
6431        (WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
6432        Include AnimationFrameRequested and AnimationFrameCanceled.
6433
6434        * UserInterface/TimelineRecordTreeElement.js:
6435        (WebInspector.TimelineRecordTreeElement):
6436        Use displayName functions instead and support includeTimerIdentifierInMainTitle.
6437
64382014-01-19  Timothy Hatcher  <timothy@apple.com>
6439
6440        Implement basic versions of the TimelineOverview graphs.
6441
6442        https://bugs.webkit.org/show_bug.cgi?id=127184
6443
6444        Reviewed by Joseph Pecoraro.
6445
6446        * UserInterface/LayoutTimelineOverviewGraph.css: Added.
6447        (.timeline-overview-graph.layout > .timeline-record-bar):
6448        (.timeline-overview-graph.layout > .timeline-record-bar > .segment):
6449
6450        * UserInterface/LayoutTimelineOverviewGraph.js: Added.
6451        (WebInspector.LayoutTimelineOverviewGraph.prototype.reset):
6452        (WebInspector.LayoutTimelineOverviewGraph.prototype.updateLayout):
6453        (WebInspector.LayoutTimelineOverviewGraph.prototype._layoutTimelineRecordAdded):
6454
6455        * UserInterface/Main.html: Added new files.
6456
6457        * UserInterface/NetworkTimelineOverviewGraph.css: Added.
6458        (.timeline-overview-graph.network):
6459        (.timeline-overview-graph.network > .graph-row):
6460        (.timeline-overview-graph.network > .graph-row > .bar):
6461        (.timeline-overview-graph.network > .graph-row > .bar.inactive):
6462        (.timeline-overview-graph.network > .graph-row > .bar.unfinished):
6463        (.timeline-overview-graph.network > .graph-row > .bar:not(.inactive)):
6464        (.timeline-overview-graph.network:nth-child(even) > .graph-row > .bar:not(.inactive)):
6465
6466        * UserInterface/NetworkTimelineOverviewGraph.js: Added.
6467        (WebInspector.NetworkTimelineOverviewGraph.prototype.reset):
6468        (WebInspector.NetworkTimelineOverviewGraph.prototype.updateLayout.updateElementPosition):
6469        (WebInspector.NetworkTimelineOverviewGraph.prototype.updateLayout.createBar):
6470        (WebInspector.NetworkTimelineOverviewGraph.prototype.updateLayout):
6471        (WebInspector.NetworkTimelineOverviewGraph.prototype._networkTimelineRecordAdded.compareByStartTime):
6472        (WebInspector.NetworkTimelineOverviewGraph.prototype._networkTimelineRecordAdded.insertObjectIntoSortedArray):
6473        (WebInspector.NetworkTimelineOverviewGraph.prototype._networkTimelineRecordAdded):
6474
6475        * UserInterface/ScriptTimelineOverviewGraph.css: Added.
6476        (.timeline-overview-graph.script > .timeline-record-bar):
6477        (.timeline-overview-graph.script > .timeline-record-bar > .segment):
6478
6479        * UserInterface/ScriptTimelineOverviewGraph.js: Added.
6480        (WebInspector.ScriptTimelineOverviewGraph.prototype.reset):
6481        (WebInspector.ScriptTimelineOverviewGraph.prototype.updateLayout):
6482        (WebInspector.ScriptTimelineOverviewGraph.prototype._scriptTimelineRecordAdded):
6483
6484        * UserInterface/TimelineContentView.js:
6485        (WebInspector.TimelineContentView.prototype._showTimelineView):
6486        (WebInspector.TimelineContentView.prototype._update):
6487        (WebInspector.TimelineContentView.prototype._recordingReset):
6488        Create and keep the graphs informed.
6489
6490        * UserInterface/TimelineDataGridNode.js:
6491        (WebInspector.TimelineDataGridNode):
6492        (WebInspector.TimelineDataGridNode.prototype.refreshGraph):
6493        Combine records that might overlap.
6494
6495        * UserInterface/TimelineOverview.css:
6496        (.timeline-overview > .graphs-container):
6497        (.timeline-overview > .graphs-container > .timeline-overview-graph):
6498        (.timeline-overview > .graphs-container > .timeline-overview-graph:nth-child(even)):
6499        (.timeline-overview > .graphs-container > .timeline-overview-graph:not(:first-child)):
6500        Add the graph rows with alternating stripe.
6501
6502        * UserInterface/TimelineOverview.js:
6503        (WebInspector.TimelineOverview):
6504        (WebInspector.TimelineOverview.prototype.set startTime):
6505        (WebInspector.TimelineOverview.prototype.get currentTime):
6506        (WebInspector.TimelineOverview.prototype.set currentTime):
6507        (WebInspector.TimelineOverview.prototype.updateLayout):
6508        (WebInspector.TimelineOverview.prototype.updateLayoutIfNeeded):
6509        Track currentTime in a member variable and let TimelineOverview manage the current time marker.
6510
6511        * UserInterface/TimelineOverviewGraph.js: Added.
6512        (WebInspector.TimelineOverviewGraph):
6513        (WebInspector.TimelineOverviewGraph.prototype.get zeroTime):
6514        (WebInspector.TimelineOverviewGraph.prototype.set zeroTime):
6515        (WebInspector.TimelineOverviewGraph.prototype.get startTime):
6516        (WebInspector.TimelineOverviewGraph.prototype.set startTime):
6517        (WebInspector.TimelineOverviewGraph.prototype.get endTime):
6518        (WebInspector.TimelineOverviewGraph.prototype.set endTime):
6519        (WebInspector.TimelineOverviewGraph.prototype.get currentTime):
6520        (WebInspector.TimelineOverviewGraph.prototype.set currentTime):
6521        (WebInspector.TimelineOverviewGraph.prototype.reset):
6522        (WebInspector.TimelineOverviewGraph.prototype.updateLayout):
6523        (WebInspector.TimelineOverviewGraph.prototype.updateLayoutIfNeeded):
6524        (WebInspector.TimelineOverviewGraph.prototype.needsLayout):
6525
6526        * UserInterface/TimelineRecordBar.css:
6527        (.timeline-record-bar > .segment):
6528        (.timeline-record-bar.unfinished > .segment):
6529        (.timeline-record-bar > .segment.inactive + .segment):
6530        (.timeline-record-bar.timeline-record-type-network > .segment.inactive):
6531
6532        * UserInterface/TimelineRecordBar.js:
6533        (WebInspector.TimelineRecordBar):
6534        (WebInspector.TimelineRecordBar.recordsCannotBeCombined):
6535        (WebInspector.TimelineRecordBar.prototype.get records):
6536        (WebInspector.TimelineRecordBar.prototype.set records):
6537        (WebInspector.TimelineRecordBar.prototype.refresh):
6538        Make TimelineRecordBar support multiple records.
6539
6540        * UserInterface/TimelineRuler.css:
6541        (.timeline-ruler > .markers):
6542        (.timeline-ruler > .selection-handle):
6543        (.timeline-ruler > .shaded-area):
6544        Add some z-index values to stay above graph elements.
6545
65462014-01-16  Timothy Hatcher  <timothy@apple.com>
6547
6548        Clean up Timelines code by using ES6 features and less global access of TimelineRecording.
6549        Also don't recreate Timeline objects when TimelineRecording is reset, reset them instead.
6550
6551        https://bugs.webkit.org/show_bug.cgi?id=127157
6552
6553        Reviewed by Joseph Pecoraro.
6554
6555        * UserInterface/LayoutTimelineView.js:
6556        (WebInspector.LayoutTimelineView.prototype.reset):
6557        * UserInterface/NetworkTimeline.js:
6558        (WebInspector.NetworkTimeline):
6559        (WebInspector.NetworkTimeline.prototype.reset):
6560        * UserInterface/NetworkTimelineView.js:
6561        (WebInspector.NetworkTimelineView.prototype.reset):
6562        * UserInterface/OverviewTimelineView.js:
6563        (WebInspector.OverviewTimelineView.prototype._networkTimelineRecordAdded):
6564        * UserInterface/ScriptTimelineView.js:
6565        (WebInspector.ScriptTimelineView.prototype.reset):
6566        * UserInterface/Timeline.js:
6567        (WebInspector.Timeline):
6568        (WebInspector.Timeline.prototype.reset):
6569        * UserInterface/TimelineContentView.js:
6570        (WebInspector.TimelineContentView.set createPathComponent):
6571        (WebInspector.TimelineContentView.set var):
6572        (WebInspector.TimelineContentView.prototype.showOverviewTimelineView):
6573        (WebInspector.TimelineContentView.prototype.showTimelineView):
6574        (WebInspector.TimelineContentView.prototype._showTimelineView):
6575        (WebInspector.TimelineContentView.prototype._update):
6576        (WebInspector.TimelineContentView.prototype._recordingReset):
6577        * UserInterface/TimelineRecording.js:
6578        (WebInspector.TimelineRecording.prototype.reset):
6579
65802014-01-16  Timothy Hatcher  <timothy@apple.com>
6581
6582        Improve WebInspector.TimelineOverview by not putting WebInspector.TimelineRuler in a scroll area.
6583
6584        https://bugs.webkit.org/show_bug.cgi?id=127145
6585
6586        Reviewed by Joseph Pecoraro.
6587
6588        * UserInterface/TimelineOverview.css:
6589        (.timeline-overview > .scroll-container):
6590        (.timeline-overview > .timeline-ruler):
6591        (.timeline-overview > .scroll-container > .scroll-width-sizer):
6592        * UserInterface/TimelineOverview.js:
6593        (WebInspector.TimelineOverview):
6594        (WebInspector.TimelineOverview.prototype.get startTime):
6595        (WebInspector.TimelineOverview.prototype.set startTime):
6596        (WebInspector.TimelineOverview.prototype.get secondsPerPixel):
6597        (WebInspector.TimelineOverview.prototype.set secondsPerPixel):
6598        (WebInspector.TimelineOverview.prototype.get scrollStartTime):
6599        (WebInspector.TimelineOverview.prototype.set scrollStartTime):
6600        (WebInspector.TimelineOverview.prototype.get visibleDuration):
6601        (WebInspector.TimelineOverview.prototype.revealMarker):
6602        (WebInspector.TimelineOverview.prototype.updateLayout):
6603        (WebInspector.TimelineOverview.prototype._handleScrollEvent):
6604        (WebInspector.TimelineOverview.prototype._handleWheelEvent):
6605        * UserInterface/TimelineRuler.js:
6606        (WebInspector.TimelineRuler.MinimumSelectionTimeRange): Reduce to 10ms now that super zoom has no performance impact.
6607
66082014-01-15  Timothy Hatcher  <timothy@apple.com>
6609
6610        Implement the discrete Script and Layout timeline views.
6611
6612        https://bugs.webkit.org/show_bug.cgi?id=127063
6613
6614        Reviewed by Joseph Pecoraro.
6615
6616        * Localizations/en.lproj/localizedStrings.js: Updated.
6617
6618        * UserInterface/DataGrid.js:
6619        (WebInspector.DataGrid): Support hidden columns by default.
6620        (WebInspector.DataGrid.prototype.updateLayout): Set the column width to zero for hidden columns.
6621
6622        * UserInterface/LayoutTimelineDataGrid.js:
6623        (WebInspector.LayoutTimelineDataGrid): Pass the right parameters to the superclass.
6624
6625        * UserInterface/LayoutTimelineRecord.js:
6626        (WebInspector.LayoutTimelineRecord.prototype.saveIdentityToCookie): Added.
6627
6628        * UserInterface/LayoutTimelineView.css: Copied from Source/WebInspectorUI/UserInterface/ScriptTimelineDataGrid.js.
6629        (.timeline-view.layout > .data-grid):
6630        (.timeline-view.layout > .data-grid .eventType-column):
6631        (.sidebar > .panel.timeline.timeline-content-view-showing .navigation-sidebar-panel-content-tree-outline.layout .item .subtitle):
6632
6633        * UserInterface/LayoutTimelineView.js: Added.
6634        (WebInspector.LayoutTimelineView):
6635        (WebInspector.LayoutTimelineView.prototype.get navigationSidebarTreeOutlineLabel):
6636        (WebInspector.LayoutTimelineView.prototype.shown):
6637        (WebInspector.LayoutTimelineView.prototype.hidden):
6638        (WebInspector.LayoutTimelineView.prototype.updateLayout):
6639        (WebInspector.LayoutTimelineView.prototype.matchTreeElementAgainstCustomFilters):
6640        (WebInspector.LayoutTimelineView.prototype._layoutTimelineRecordAdded):
6641        (WebInspector.LayoutTimelineView.prototype._dataGridFiltersDidChange):
6642        (WebInspector.LayoutTimelineView.prototype._treeElementSelected):
6643
6644        * UserInterface/Main.html: Added new files.
6645
6646        * UserInterface/ScriptTimelineDataGrid.js:
6647        (WebInspector.ScriptTimelineDataGrid): Pass the right parameters to the superclass.
6648
6649        * UserInterface/ScriptTimelineDataGridNode.js:
6650        (WebInspector.ScriptTimelineDataGridNode.prototype.createCellContent): Fix up how we create the link.
6651
6652        * UserInterface/ScriptTimelineRecord.js:
6653        (WebInspector.ScriptTimelineRecord.prototype.saveIdentityToCookie): Added.
6654
6655        * UserInterface/ScriptTimelineView.css: Copied from Source/WebInspectorUI/UserInterface/ScriptTimelineDataGrid.js.
6656        (.timeline-view.script > .data-grid):
6657        (.timeline-view.script > .data-grid .eventType-column):
6658        (.sidebar > .panel.timeline.timeline-content-view-showing .navigation-sidebar-panel-content-tree-outline.script .item .subtitle):
6659
6660        * UserInterface/ScriptTimelineView.js: Added.
6661        (WebInspector.ScriptTimelineView):
6662        (WebInspector.ScriptTimelineView.prototype.get navigationSidebarTreeOutlineLabel):
6663        (WebInspector.ScriptTimelineView.prototype.shown):
6664        (WebInspector.ScriptTimelineView.prototype.hidden):
6665        (WebInspector.ScriptTimelineView.prototype.updateLayout):
6666        (WebInspector.ScriptTimelineView.prototype.matchTreeElementAgainstCustomFilters):
6667        (WebInspector.ScriptTimelineView.prototype._scriptTimelineRecordAdded):
6668        (WebInspector.ScriptTimelineView.prototype._dataGridFiltersDidChange):
6669        (WebInspector.ScriptTimelineView.prototype._treeElementSelected):
6670
6671        * UserInterface/SourceCodeTimelineTreeElement.js:
6672        (WebInspector.SourceCodeTimelineTreeElement):
6673        Moved code to TimelineRecordTreeElement. Subclass from it.
6674
6675        * UserInterface/TimelineContentView.js:
6676        (WebInspector.TimelineContentView.prototype.matchTreeElementAgainstCustomFilters): Support TimelineRecordTreeElement.
6677        (WebInspector.TimelineContentView.prototype._timeRangeSelectionChanged): Update zeroTime for all views.
6678
6679        * UserInterface/TimelineDataGrid.css:
6680        (.data-grid.timeline td .icon):
6681        (.data-grid.timeline td .go-to-arrow):
6682        (.data-grid.timeline tr:hover .go-to-arrow):
6683        (.data-grid.timeline td .subtitle):
6684        (.data-grid.timeline td .subtitle::before):
6685        (.data-grid.timeline:focus tr.selected td .subtitle):
6686
6687        * UserInterface/TimelineRecord.js:
6688        (WebInspector.TimelineRecord.prototype.saveIdentityToCookie): Added.
6689
6690        * UserInterface/TimelineRecordTreeElement.js: Added.
6691        (WebInspector.TimelineRecordTreeElement):
6692        (WebInspector.TimelineRecordTreeElement.prototype.get record):
6693        (WebInspector.TimelineRecordTreeElement.prototype.get filterableData):
6694        Factored out from SourceCodeTimelineTreeElement.
6695
6696        * UserInterface/TimelineSidebarPanel.js:
6697        (WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject.looslyCompareRepresentedObjects):
6698        (WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject):
6699        Find TreeElements via a loose lookup based on represented objects that might contain the represented object we are
6700        really looking for.
6701
67022014-01-14  Timothy Hatcher  <timothy@apple.com>
6703
6704        Implement the discrete Network timeline view.
6705
6706        https://bugs.webkit.org/show_bug.cgi?id=127022
6707
6708        Reviewed by Joseph Pecoraro.
6709
6710        * UserInterface/DataGrid.js:
6711        (WebInspector.DataGrid): Align the labels of the column headers to match the data.
6712        (WebInspector.DataGridNode.prototype.get selectable): Prevent selection when hidden.
6713
6714        * UserInterface/DetailsSection.css:
6715        (.details-section > .header): Bump the font size to match data grid header sizes.
6716
6717        * UserInterface/Main.html: Add new files.
6718
6719        * UserInterface/NetworkTimelineView.css: Added.
6720        (.timeline-view.network > .data-grid):
6721        (.sidebar > .panel.timeline.timeline-content-view-showing > .content .item.resource .subtitle):
6722        Hide the domain subtitle when the content view is showing which also has the domain.
6723
6724        * UserInterface/NetworkTimelineView.js: Added.
6725        (WebInspector.NetworkTimelineView):
6726        (WebInspector.NetworkTimelineView.prototype.get navigationSidebarTreeOutlineLabel):
6727        (WebInspector.NetworkTimelineView.prototype.shown):
6728        (WebInspector.NetworkTimelineView.prototype.hidden):
6729        (WebInspector.NetworkTimelineView.prototype.updateLayout):
6730        (WebInspector.NetworkTimelineView.prototype.matchTreeElementAgainstCustomFilters):
6731        (WebInspector.NetworkTimelineView.prototype._networkTimelineRecordAdded):
6732        (WebInspector.NetworkTimelineView.prototype._dataGridFiltersDidChange):
6733        (WebInspector.NetworkTimelineView.prototype._treeElementSelected):
6734
6735        * UserInterface/ResourceTimelineDataGridNode.js:
6736        (WebInspector.ResourceTimelineDataGridNode.prototype._needsRefresh):
6737        Call dataGridNodeNeedsRefresh on the TimelineDataGrid so things can be batched with
6738        one request animation frame.
6739
6740        * UserInterface/TimelineContentView.js:
6741        (WebInspector.TimelineContentView): Create a NetworkTimelineView.
6742        (WebInspector.TimelineContentView.prototype.matchTreeElementAgainstCustomFilters):
6743
6744        * UserInterface/TimelineDataGrid.css:
6745        (.data-grid.timeline table):
6746        (.data-grid.timeline th):
6747        (.data-grid.timeline th:not(:last-child)):
6748        (.data-grid.timeline th.sortable:active):
6749        (.data-grid.timeline th.sort-descending):
6750        (.data-grid.timeline .data-container):
6751        (.data-grid.timeline td):
6752        (.data-grid.timeline td:last-child):
6753        (.data-grid.timeline td:not(:last-child)):
6754        (.data-grid.timeline:focus tr.selected td:not(:last-child)):
6755        (.data-grid.timeline th.sort-descending > div:first-child):
6756        (.data-grid.timeline th.sort-descending > div:first-child::after):
6757        (.data-grid.timeline td.error):
6758        (.data-grid.timeline tr.selected td.error):
6759        (.data-grid.timeline > .navigation-bar-container):
6760        (.data-grid.timeline:hover > .navigation-bar-container):
6761        (.data-grid.timeline > .navigation-bar-container > .navigation-bar):
6762
6763        * UserInterface/TimelineDataGrid.js:
6764        (WebInspector.TimelineDataGrid):
6765        (WebInspector.TimelineDataGrid.createColumnScopeBar):
6766        (WebInspector.TimelineDataGrid.prototype.reset):
6767        (WebInspector.TimelineDataGrid.prototype.shown):
6768        (WebInspector.TimelineDataGrid.prototype.hidden):
6769        (WebInspector.TimelineDataGrid.prototype.callFramePopoverAnchorElement):
6770        (WebInspector.TimelineDataGrid.prototype.updateLayout):
6771        (WebInspector.TimelineDataGrid.prototype.treeElementMatchesActiveScopeFilters):
6772        (WebInspector.TimelineDataGrid.prototype.addRowInSortOrder):
6773        (WebInspector.TimelineDataGrid.prototype.shouldIgnoreSelectionEvent):
6774        (WebInspector.TimelineDataGrid.prototype.dataGridNodeNeedsRefresh):
6775        (WebInspector.TimelineDataGrid.prototype._refreshDirtyDataGridNodes):
6776        (WebInspector.TimelineDataGrid.prototype._sort):
6777        (WebInspector.TimelineDataGrid.prototype._sortComparator):
6778        Add support for sorting, batch refresh and managing of a TreeOutlineDataGridSynchronizer.
6779
6780        * UserInterface/TimelineSidebarPanel.css:
6781        (.sidebar > .panel.timeline > .title-bar): Bump the font size to match data grid header sizes.
6782
6783        * UserInterface/TimelineView.js:
6784        (WebInspector.TimelineView.prototype.matchTreeElementAgainstCustomFilters): Added stub.
6785
6786        * UserInterface/TreeOutlineDataGridSynchronizer.js:
6787        (WebInspector.TreeOutlineDataGridSynchronizer.prototype.get treeOutline):
6788        (WebInspector.TreeOutlineDataGridSynchronizer.prototype.get dataGrid):
6789        (WebInspector.TreeOutlineDataGridSynchronizer.prototype.get enabled):
6790        (WebInspector.TreeOutlineDataGridSynchronizer.prototype.set enabled):
6791        (WebInspector.TreeOutlineDataGridSynchronizer.prototype.treeElementForDataGridNode):
6792        (WebInspector.TreeOutlineDataGridSynchronizer.prototype.dataGridNodeForTreeElement):
6793        (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeOutlineScrolled):
6794        (WebInspector.TreeOutlineDataGridSynchronizer.prototype._dataGridScrolled):
6795        (WebInspector.TreeOutlineDataGridSynchronizer.prototype._dataGridNodeSelected):
6796        (WebInspector.TreeOutlineDataGridSynchronizer.prototype._dataGridNodeExpanded):
6797        (WebInspector.TreeOutlineDataGridSynchronizer.prototype._dataGridNodeCollapsed):
6798        (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementSelected):
6799        (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementAdded):
6800        (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementRemoved):
6801        (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementExpanded):
6802        (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementCollapsed):
6803        (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementHiddenChanged):
6804        Added support for disabling the synchronizer when the client can do a better job.
6805
68062014-01-13  Timothy Hatcher  <timothy@apple.com>
6807
6808        Filter the Timeline overview graph and sidebar based on the current time selection.
6809
6810        https://bugs.webkit.org/show_bug.cgi?id=126955
6811
6812        Reviewed by Joseph Pecoraro.
6813
6814        * UserInterface/NavigationSidebarPanel.js:
6815        (WebInspector.NavigationSidebarPanel.prototype.updateFilter):
6816        (WebInspector.NavigationSidebarPanel.prototype.hasCustomFilters):
6817        (WebInspector.NavigationSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
6818        (WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement.matchTextFilter):
6819        (WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement):
6820        Add support for custom filters implemented by subclasses.
6821
6822        * UserInterface/TimelineContentView.js:
6823        (WebInspector.TimelineContentView.prototype.matchTreeElementAgainstCustomFilters.checkTimeBounds):
6824        (WebInspector.TimelineContentView.prototype.matchTreeElementAgainstCustomFilters):
6825        (WebInspector.TimelineContentView.prototype._timeRangeSelectionChanged):
6826        Filter known tree element types by time.
6827
6828        * UserInterface/TimelineSidebarPanel.css:
6829        (.sidebar > .panel.timeline > .empty-content-placeholder):
6830        Position the empty placeholder with the content.
6831
6832        * UserInterface/TimelineSidebarPanel.js:
6833        (WebInspector.TimelineSidebarPanel.prototype.hasCustomFilters):
6834        (WebInspector.TimelineSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
6835        Defer filtering to the TimelineContentView.
6836
68372014-01-13  Timothy Hatcher  <timothy@apple.com>
6838
6839        Implement state cookie support for WebInspector.TimelineSidebarPanel.
6840
6841        https://bugs.webkit.org/show_bug.cgi?id=126921
6842
6843        Reviewed by Joseph Pecoraro.
6844
6845        * UserInterface/DebuggerSidebarPanel.js:
6846        (WebInspector.DebuggerSidebarPanel.prototype.restoreStateFromCookie):
6847        Drive-by fix to pass along relaxedMatchDelay to the superclass.
6848
6849        * UserInterface/Main.js:
6850        (WebInspector.loaded):
6851        (WebInspector._provisionalLoadStarted):
6852        Listen for ProvisionalLoadStarted instead of ProvisionalLoadCommitted to save the cookie
6853        before the TimelineRecording is reset and clears the UI.
6854
6855        * UserInterface/NavigationSidebarPanel.js:
6856        (WebInspector.NavigationSidebarPanel.prototype.get restoringState): Added.
6857        (WebInspector.NavigationSidebarPanel.prototype.restoreStateFromCookie.finalAttemptToRestoreViewStateFromCookie):
6858        Delete _pendingViewStateCookie since this was the final attempt.
6859        (WebInspector.NavigationSidebarPanel.prototype.restoreStateFromCookie):
6860        (WebInspector.NavigationSidebarPanel.prototype._isTreeElementWithoutRepresentedObject): Block string represented objects.
6861        (WebInspector.NavigationSidebarPanel.prototype._checkElementsForPendingViewStateCookie):
6862
6863        * UserInterface/OverviewTimelineView.js:
6864        (WebInspector.OverviewTimelineView.prototype._treeElementSelected):
6865
6866        * UserInterface/ResourceSidebarPanel.js:
6867        (WebInspector.ResourceSidebarPanel.prototype.treeElementForRepresentedObject):
6868        Drive-by fix to null check parentFrame since it can be null. Was causing an exception while working on this.
6869
6870        * UserInterface/SourceCodeTimeline.js:
6871        (WebInspector.SourceCodeTimeline):
6872        (WebInspector.SourceCodeTimeline.prototype.saveIdentityToCookie):
6873
6874        * UserInterface/TimelineSidebarPanel.js:
6875        (WebInspector.TimelineSidebarPanel.prototype.canShowDifferentContentView):
6876        (WebInspector.TimelineSidebarPanel.prototype.saveStateToCookie):
6877        (WebInspector.TimelineSidebarPanel.prototype.restoreStateFromCookie):
6878
6879        * UserInterface/TreeOutline.js:
6880        (TreeOutline.prototype._forgetTreeElement):
6881        Drive-by fix to clear selectedTreeElement if it is removed from the tree. Was causing removed TreeElements to be
6882        saved as a cookie since it was still the selected item.
6883
68842014-01-11  Timothy Hatcher  <timothy@apple.com>
6885
6886        Implement bar graph rendering for WebInspector.OverviewTimelineView.
6887
6888        https://bugs.webkit.org/show_bug.cgi?id=126831
6889
6890        Reviewed by Joseph Pecoraro.
6891
6892        * UserInterface/Main.html: Added new files.
6893
6894        * UserInterface/OverviewTimelineView.css:
6895        (.timeline-view.overview > .data-grid td.graph-column):
6896        (.timeline-view.overview > .data-grid td.graph-column > div):
6897        (.timeline-view.overview > .data-grid td.graph-column .timeline-record-bar):
6898        Position the bars in the DataGrid cells.
6899
6900        * UserInterface/OverviewTimelineView.js:
6901        (WebInspector.OverviewTimelineView.prototype.updateLayout):
6902        (WebInspector.OverviewTimelineView.prototype._addResourceToTreeIfNeeded):
6903        (WebInspector.OverviewTimelineView.prototype._sourceCodeTimelineAdded):
6904        Create the proper DataGridNodes for resources and source code timelines.
6905
6906        * UserInterface/ResourceTimelineDataGridNode.js:
6907        (WebInspector.ResourceTimelineDataGridNode):
6908        (WebInspector.ResourceTimelineDataGridNode.prototype.get records):
6909        (WebInspector.ResourceTimelineDataGridNode.prototype.get resource):
6910        (WebInspector.ResourceTimelineDataGridNode.prototype.get data):
6911        (WebInspector.ResourceTimelineDataGridNode.prototype.createCellContent):
6912        (WebInspector.ResourceTimelineDataGridNode.prototype.refresh):
6913        (WebInspector.ResourceTimelineDataGridNode.prototype._needsRefresh):
6914        (WebInspector.ResourceTimelineDataGridNode.prototype._goToResource):
6915        Simplify by deferring the graph logic to the new TimelineDataGridNode base class.
6916
6917        * UserInterface/SourceCodeTimelineTimelineDataGridNode.js: Added.
6918        (WebInspector.SourceCodeTimelineTimelineDataGridNode):
6919        (WebInspector.SourceCodeTimelineTimelineDataGridNode.prototype.get records):
6920        (WebInspector.SourceCodeTimelineTimelineDataGridNode.prototype.get sourceCodeTimeline):
6921        (WebInspector.SourceCodeTimelineTimelineDataGridNode.prototype.get data):
6922
6923        * UserInterface/TimelineDataGridNode.js: Added.
6924        (WebInspector.TimelineDataGridNode):
6925        (WebInspector.TimelineDataGridNode.prototype.get records):
6926        (WebInspector.TimelineDataGridNode.prototype.get data):
6927        (WebInspector.TimelineDataGridNode.prototype.createCellContent):
6928        (WebInspector.TimelineDataGridNode.prototype.refresh):
6929        (WebInspector.TimelineDataGridNode.prototype.refreshGraph):
6930        (WebInspector.TimelineDataGridNode.prototype.needsGraphRefresh):
6931        Handles the graph column and manages the records and their bars.
6932
6933        * UserInterface/TimelineRecordBar.css: Added.
6934        (.timeline-record-bar):
6935        (.timeline-record-bar > .segment):
6936        (.timeline-record-bar:not(.has-inactive-segment) > .segment):
6937        (.timeline-record-bar.unfinished > .segment):
6938        (.timeline-record-bar > .segment.inactive + .segment):
6939        (:focus .selected .timeline-record-bar > .segment):
6940        (.timeline-record-bar > .segment.inactive):
6941        (.timeline-record-bar.timeline-record-type-network > .segment):
6942        (.timeline-record-bar.timeline-record-type-layout > .segment):
6943        (.timeline-record-bar.timeline-record-type-script > .segment):
6944
6945        * UserInterface/TimelineRecordBar.js: Added.
6946        (WebInspector.TimelineRecordBar):
6947        (WebInspector.TimelineRecordBar.prototype.get element):
6948        (WebInspector.TimelineRecordBar.prototype.refresh):
6949        (WebInspector.TimelineRecordBar.prototype._updateElementPosition):
6950
69512014-01-08  Timothy Hatcher  <timothy@apple.com>
6952
6953        Update the current WebInspector.TimelineView when time range changes.
6954
6955        https://bugs.webkit.org/show_bug.cgi?id=126667
6956
6957        Reviewed by Joseph Pecoraro.
6958
6959        * UserInterface/TimelineContentView.js:
6960        (WebInspector.TimelineContentView.prototype._showTimelineView):
6961        (WebInspector.TimelineContentView.prototype._update):
6962        (WebInspector.TimelineContentView.prototype._startUpdatingCurrentTime):
6963        (WebInspector.TimelineContentView.prototype._stopUpdatingCurrentTime):
6964        (WebInspector.TimelineContentView.prototype._recordingStarted):
6965        (WebInspector.TimelineContentView.prototype._recordingStopped):
6966        (WebInspector.TimelineContentView.prototype._recordingReset):
6967        (WebInspector.TimelineContentView.prototype._timeRangeSelectionChanged):
6968        * UserInterface/TimelineOverview.js:
6969        (WebInspector.TimelineOverview):
6970        (WebInspector.TimelineOverview.prototype.updateLayout):
6971        (WebInspector.TimelineOverview.prototype.updateLayoutIfNeeded):
6972        (WebInspector.TimelineOverview.prototype._updateElementWidth):
6973        (WebInspector.TimelineOverview.prototype._handleWheelEvent):
6974        (WebInspector.TimelineOverview.prototype._timeRangeSelectionChanged):
6975        * UserInterface/TimelineRuler.js:
6976        (WebInspector.TimelineRuler.prototype.updateLayoutIfNeeded):
6977        * UserInterface/TimelineView.js:
6978        (WebInspector.TimelineView):
6979        (WebInspector.TimelineView.prototype.get zeroTime):
6980        (WebInspector.TimelineView.prototype.set zeroTime):
6981        (WebInspector.TimelineView.prototype.get startTime):
6982        (WebInspector.TimelineView.prototype.set startTime):
6983        (WebInspector.TimelineView.prototype.get endTime):
6984        (WebInspector.TimelineView.prototype.set endTime):
6985        (WebInspector.TimelineView.prototype.get currentTime):
6986        (WebInspector.TimelineView.prototype.set currentTime.checkIfLayoutIsNeeded):
6987        (WebInspector.TimelineView.prototype.set currentTime):
6988        (WebInspector.TimelineView.prototype.updateLayout):
6989        (WebInspector.TimelineView.prototype.updateLayoutIfNeeded):
6990        (WebInspector.TimelineView.prototype.needsLayout):
6991
69922013-12-19  Timothy Hatcher  <timothy@apple.com>
6993
6994        Implement time range selection for TimelineOverview and TimelineRuler.
6995
6996        https://bugs.webkit.org/show_bug.cgi?id=126035
6997
6998        Reviewed by Joseph Pecoraro.
6999
7000        * UserInterface/TimelineContentView.js:
7001        (WebInspector.TimelineContentView.prototype._update):
7002        (WebInspector.TimelineContentView.prototype._recordingReset):
7003        Properly update start time and the selection start time on reset.
7004
7005        * UserInterface/TimelineOverview.js:
7006        (WebInspector.TimelineOverview):
7007        (WebInspector.TimelineOverview.prototype.get selectionStartTime):
7008        (WebInspector.TimelineOverview.prototype.set selectionStartTime):
7009        (WebInspector.TimelineOverview.prototype.get selectionDuration):
7010        (WebInspector.TimelineOverview.prototype.set selectionDuration):
7011        Added selection getters and setters.
7012
7013        * UserInterface/TimelineRuler.css:
7014        (.timeline-ruler.allows-time-range-selection):
7015        (.timeline-ruler > *):
7016        (.timeline-ruler > .header):
7017        (.timeline-ruler > .selection-drag):
7018        (.timeline-ruler > .selection-drag:active):
7019        (.timeline-ruler > .selection-handle):
7020        (.timeline-ruler > .selection-handle.left):
7021        (.timeline-ruler > .selection-handle.right):
7022        (.timeline-ruler > .shaded-area):
7023        (.timeline-ruler > .shaded-area.left):
7024        (.timeline-ruler > .shaded-area.right):
7025        Added styles for the selection elements and tweaked pointer-events to allow
7026        events on elements we expect.
7027
7028        * UserInterface/TimelineRuler.js:
7029        (WebInspector.TimelineRuler):
7030        (WebInspector.TimelineRuler.prototype.get allowsTimeRangeSelection): Added.
7031        (WebInspector.TimelineRuler.prototype.set allowsTimeRangeSelection): Added.
7032        (WebInspector.TimelineRuler.prototype.get selectionStartTime): Added.
7033        (WebInspector.TimelineRuler.prototype.set selectionStartTime): Added.
7034        (WebInspector.TimelineRuler.prototype.get selectionEndTime): Added.
7035        (WebInspector.TimelineRuler.prototype.set selectionEndTime): Added.
7036        (WebInspector.TimelineRuler.prototype.updateLayout):
7037        (WebInspector.TimelineRuler.prototype._needsMarkerLayout.update):
7038        (WebInspector.TimelineRuler.prototype._needsMarkerLayout):
7039        (WebInspector.TimelineRuler.prototype._needsSelectionLayout.update):
7040        (WebInspector.TimelineRuler.prototype._needsSelectionLayout):
7041        (WebInspector.TimelineRuler.prototype._recalculate):
7042        (WebInspector.TimelineRuler.prototype._updatePositionOfElement):
7043        (WebInspector.TimelineRuler.prototype._updateMarkers):
7044        (WebInspector.TimelineRuler.prototype._updateSelection): Added.
7045        (WebInspector.TimelineRuler.prototype._dispatchTimeRangeSelectionChangedEvent):
7046        (WebInspector.TimelineRuler.prototype._timelineMarkerTimeChanged):
7047        (WebInspector.TimelineRuler.prototype._handleMouseDown): Added.
7048        (WebInspector.TimelineRuler.prototype._handleMouseMove): Added.
7049        (WebInspector.TimelineRuler.prototype._handleMouseUp): Added.
7050        (WebInspector.TimelineRuler.prototype._handleSelectionHandleMouseDown): Added.
7051        (WebInspector.TimelineRuler.prototype._handleSelectionHandleMouseMove): Added.
7052        (WebInspector.TimelineRuler.prototype._handleSelectionHandleMouseUp): Added.
7053        Create selection elements and handle mouse events for drag and move.
7054
70552013-12-17  Timothy Hatcher  <timothy@apple.com>
7056
7057        Support scroll to zoom in TimelineOverview.
7058
7059        https://bugs.webkit.org/show_bug.cgi?id=125909
7060
7061        Reviewed by Joseph Pecoraro.
7062
7063        * UserInterface/TimelineOverview.js:
7064        (WebInspector.TimelineOverview):
7065        (WebInspector.TimelineOverview.prototype._handleWheelEvent):
7066
70672013-12-17  Timothy Hatcher  <timothy@apple.com>
7068
7069        Add the start of the TimelineOverview class.
7070
7071        TimelineOverview currently has a time ruler and tracks the current recording time.
7072
7073        https://bugs.webkit.org/show_bug.cgi?id=125878
7074
7075        Reviewed by Joseph Pecoraro.
7076
7077        * UserInterface/Main.html:
7078        * UserInterface/TimelineContentView.css:
7079        (.content-view.timeline > .timeline-overview):
7080        * UserInterface/TimelineContentView.js:
7081        (WebInspector.TimelineContentView):
7082        (WebInspector.TimelineContentView.prototype.updateLayout):
7083        (WebInspector.TimelineContentView.prototype._update):
7084        (WebInspector.TimelineContentView.prototype._recordingStarted):
7085        (WebInspector.TimelineContentView.prototype._recordingStopped):
7086        (WebInspector.TimelineContentView.prototype._recordingReset):
7087        * UserInterface/TimelineManager.js:
7088        (WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
7089        (WebInspector.TimelineManager.prototype.eventRecorded):
7090        * UserInterface/TimelineMarker.js: Renamed from Source/WebInspectorUI/UserInterface/TimelineEventMarker.js.
7091        (WebInspector.TimelineMarker):
7092        (WebInspector.TimelineMarker.prototype.get time):
7093        (WebInspector.TimelineMarker.prototype.set time):
7094        (WebInspector.TimelineMarker.prototype.get type):
7095        * UserInterface/TimelineOverview.css: Added.
7096        (.timeline-overview > .scroll-container):
7097        (.timeline-overview > .scroll-container > .timeline-ruler):
7098        * UserInterface/TimelineOverview.js: Added.
7099        (WebInspector.TimelineOverview):
7100        (WebInspector.TimelineOverview.prototype.get element):
7101        (WebInspector.TimelineOverview.prototype.get startTime):
7102        (WebInspector.TimelineOverview.prototype.set startTime):
7103        (WebInspector.TimelineOverview.prototype.get secondsPerPixel):
7104        (WebInspector.TimelineOverview.prototype.set secondsPerPixel):
7105        (WebInspector.TimelineOverview.prototype.get endTime):
7106        (WebInspector.TimelineOverview.prototype.set endTime):
7107        (WebInspector.TimelineOverview.prototype.addMarker):
7108        (WebInspector.TimelineOverview.prototype.revealMarker):
7109        (WebInspector.TimelineOverview.prototype.updateLayout):
7110        (WebInspector.TimelineOverview.prototype._updateElementWidth):
7111        (WebInspector.TimelineOverview.prototype._needsLayout):
7112        * UserInterface/TimelineRecording.js:
7113        (WebInspector.TimelineRecording.prototype.get startTime):
7114        (WebInspector.TimelineRecording.prototype.get endTime):
7115        (WebInspector.TimelineRecording.prototype.reset):
7116        * UserInterface/TimelineRuler.css:
7117        (.timeline-ruler > .markers):
7118        (.timeline-ruler > .markers > .marker):
7119        (.timeline-ruler > .markers > .marker.current-time):
7120        (.timeline-ruler > .markers > .marker.current-time::before):
7121        (.timeline-ruler > .markers > .marker.load-event):
7122        (.timeline-ruler > .markers > .marker.dom-content-event):
7123        (.timeline-ruler > .markers > .marker.timestamp):
7124        * UserInterface/TimelineRuler.js:
7125        (WebInspector.TimelineRuler):
7126        (WebInspector.TimelineRuler.prototype.updateLayout):
7127        (WebInspector.TimelineRuler.prototype._needsLayout):
7128        (WebInspector.TimelineRuler.prototype._needsMarkerLayout.update):
7129        (WebInspector.TimelineRuler.prototype._needsMarkerLayout):
7130        (WebInspector.TimelineRuler.prototype._recalculate):
7131        (WebInspector.TimelineRuler.prototype._updateLeftPositionOfElement):
7132        (WebInspector.TimelineRuler.prototype._updateMarkers):
7133        (WebInspector.TimelineRuler.prototype._timelineMarkerTimeChanged):
7134
71352013-12-13  Timothy Hatcher  <timothy@apple.com>
7136
7137        Clean up and refactor TimelineDecorations into TimelineRuler.
7138
7139        https://bugs.webkit.org/show_bug.cgi?id=125709
7140
7141        Reviewed by Joseph Pecoraro.
7142
7143        * UserInterface/Main.html:
7144        * UserInterface/OverviewTimelineView.css:
7145        (.timeline-view.overview > .timeline-ruler):
7146        (.timeline-view.overview > .timeline-ruler > .header):
7147        (.timeline-view.overview > .timeline-ruler > .event-markers):
7148        Updated class names and border sides.
7149
7150        * UserInterface/OverviewTimelineView.js:
7151        (WebInspector.OverviewTimelineView):
7152        (WebInspector.OverviewTimelineView.prototype.updateLayout):
7153        Call updateLayout on the TimelineRuler.
7154
7155        * UserInterface/TimelineRuler.css: Renamed from Source/WebInspectorUI/UserInterface/TimelineDecorations.css.
7156        (.timeline-ruler):
7157        (.timeline-ruler > .header):
7158        (.timeline-ruler > .header > .divider):
7159        (.timeline-ruler > .header > .divider > .label):
7160        (.timeline-ruler > .event-markers):
7161        (.timeline-ruler > .event-markers > .event-marker-tooltip):
7162        (.timeline-ruler > .event-markers > .event-marker):
7163        (.timeline-ruler > .event-markers > .event-marker.load-event):
7164        (.timeline-ruler > .event-markers > .event-marker.dom-content-event):
7165        (.timeline-ruler > .event-markers > .event-marker.timestamp):
7166        Updated class names and border sides.
7167
7168        * UserInterface/TimelineRuler.js: Renamed from Source/WebInspectorUI/UserInterface/TimelineDecorations.js.
7169        (WebInspector.TimelineRuler):
7170        (WebInspector.TimelineRuler.prototype.get element):
7171        (WebInspector.TimelineRuler.prototype.get headerElement):
7172        (WebInspector.TimelineRuler.prototype.get allowsClippedLabels):
7173        (WebInspector.TimelineRuler.prototype.set allowsClippedLabels):
7174        (WebInspector.TimelineRuler.prototype.get zeroTime):
7175        (WebInspector.TimelineRuler.prototype.set zeroTime):
7176        (WebInspector.TimelineRuler.prototype.get startTime):
7177        (WebInspector.TimelineRuler.prototype.set startTime):
7178        (WebInspector.TimelineRuler.prototype.get duration):
7179        (WebInspector.TimelineRuler.prototype.set duration):
7180        (WebInspector.TimelineRuler.prototype.get endTime):
7181        (WebInspector.TimelineRuler.prototype.set endTime):
7182        (WebInspector.TimelineRuler.prototype.get secondsPerPixel):
7183        (WebInspector.TimelineRuler.prototype.set secondsPerPixel):
7184        (WebInspector.TimelineRuler.prototype.updateLayout.removeDividerAndSelectNext):
7185        (WebInspector.TimelineRuler.prototype.updateLayout):
7186        (WebInspector.TimelineRuler.prototype._needsLayout):
7187        (WebInspector.TimelineRuler.prototype._recalculate):
7188        Refactor so the times are stored on TimelineRuler and not passed in each time an update is needed.
7189        Support dividers that don't always start at the zero position, allowing a sliding time ruler.
7190        Support for a non-pinned ruler where the end time is not fixed and the scale is specified in
7191        seconds-per-pixel.
7192
71932014-01-08  Timothy Hatcher  <timothy@apple.com>
7194
7195        Improve scroll performance of WebInspector.TreeOutlineDataGridSynchronizer.
7196
7197        https://bugs.webkit.org/show_bug.cgi?id=126660
7198
7199        Reviewed by Joseph Pecoraro.
7200
7201        * UserInterface/TreeOutlineDataGridSynchronizer.js:
7202        (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeOutlineScrolled):
7203        (WebInspector.TreeOutlineDataGridSynchronizer.prototype._dataGridScrolled):
7204        Ignore scroll events triggered by our internal use of setting scrollTop.
7205
72062013-11-15  Timothy Hatcher  <timothy@apple.com>
7207
7208        Add a synchronized DataGrid to the OverviewTimelineView.
7209
7210        The DataGrid is synchronized with the sidebar TreeOutline to appear as one when the view
7211        and sidebar are both showing. The two scroll, expand and collapse in sync when the view
7212        is showing. When the view is not showing the sidebar can scroll independently.
7213
7214        https://bugs.webkit.org/show_bug.cgi?id=124429
7215
7216        Reviewed by Joseph Pecoraro.
7217
7218        * UserInterface/DataGrid.js:
7219        (WebInspector.DataGrid):
7220        (WebInspector.DataGrid.createSortableDataGrid):
7221        (WebInspector.DataGrid.prototype._copyTextForDataGridNode):
7222        (WebInspector.DataGridNode.prototype.createCellContent):
7223        Handle undefined/null cells better by substituting empty strings.
7224
7225        (WebInspector.DataGridNode.prototype.collapse):
7226        (WebInspector.DataGridNode.prototype.expand):
7227        Fire events on the DataGrid for expand and collapse.
7228
7229        * UserInterface/Main.html: Include TreeOutlineDataGridSynchronizer.js.
7230
7231        * UserInterface/NavigationSidebarPanel.css:
7232        (.sidebar > .panel.navigation > .content): Shorten by 1px to match the content view height.
7233        Needed to keep scrolling in sync. The clipping looks better too.
7234
7235        * UserInterface/OverviewTimelineView.css:
7236        (.timeline-view.overview > .data-grid):
7237        (.timeline-view.overview > .data-grid table.header):
7238        (.timeline-view.overview > .data-grid .data-container):
7239        Style the DataGrid to to not have a header.
7240
7241        * UserInterface/OverviewTimelineView.js:
7242        (WebInspector.OverviewTimelineView):
7243        (WebInspector.OverviewTimelineView.prototype.shown):
7244        (WebInspector.OverviewTimelineView.prototype._addResourceToTreeIfNeeded):
7245        (WebInspector.OverviewTimelineView.prototype._sourceCodeTimelineAdded):
7246        Create the DataGrid and some placeholder nodes. Hook up TreeOutlineDataGridSynchronizer.
7247
7248        * UserInterface/TimelineContentView.css:
7249        (.content-view.timeline > .view-container > .timeline-view > .data-grid td):
7250        (.content-view.timeline > .view-container > .timeline-view > .data-grid table.data):
7251        Style the DataGrid to match the height of TreeElements in the sidebar.
7252
7253        * UserInterface/TimelineSidebarPanel.css:
7254        (.sidebar > .panel.timeline.timeline-content-view-showing > .content):
7255        Hide the scrollbar off the right when the view is showing. The view will show the scrollbar.
7256
7257        * UserInterface/TimelineSidebarPanel.js:
7258        (WebInspector.TimelineSidebarPanel):
7259        (WebInspector.TimelineSidebarPanel.prototype._timelinesTreeElementSelected):
7260        (WebInspector.TimelineSidebarPanel.prototype._contentBrowserCurrentContentViewDidChange):
7261
7262        * UserInterface/TreeOutline.js:
7263        (TreeOutline.prototype.removeChildAtIndex):
7264        (TreeOutline.prototype.removeChildren):
7265        (TreeOutline.prototype.removeChildrenRecursive):
7266        (TreeElement.prototype.set hidden):
7267        Add event callbacks for onhidden and onremove.
7268
7269        * UserInterface/TreeOutlineDataGridSynchronizer.js: Added.
7270        (WebInspector.TreeOutlineDataGridSynchronizer):
7271        (WebInspector.TreeOutlineDataGridSynchronizer.prototype.associate):
7272        (WebInspector.TreeOutlineDataGridSynchronizer.prototype.synchronize):
7273        (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeOutlineScrolled):
7274        (WebInspector.TreeOutlineDataGridSynchronizer.prototype._dataGridScrolled):
7275        (WebInspector.TreeOutlineDataGridSynchronizer.prototype._dataGridNodeSelected):
7276        (WebInspector.TreeOutlineDataGridSynchronizer.prototype._dataGridNodeExpanded):
7277        (WebInspector.TreeOutlineDataGridSynchronizer.prototype._dataGridNodeCollapsed):
7278        (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementSelected):
7279        (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementAdded):
7280        (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementRemoved):
7281        (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementExpanded):
7282        (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementCollapsed):
7283        (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementHiddenChanged):
7284
72852013-11-07  Timothy Hatcher  <timothy@apple.com>
7286
7287        Start fleshing out the Overview Timeline view.
7288
7289        This gets the overview populating in the Timeline sidebar. The graph side is still empty.
7290
7291        https://bugs.webkit.org/show_bug.cgi?id=124005
7292
7293        Reviewed by Joseph Pecoraro.
7294
7295        * Localizations/en.lproj/localizedStrings.js: Updated.
7296        * UserInterface/Frame.js:
7297        (WebInspector.Frame.prototype.addResource):
7298        * UserInterface/Images/TimelineRecordAnimation.svg: Added.
7299        * UserInterface/Images/TimelineRecordEvent.svg: Added.
7300        * UserInterface/Images/TimelineRecordLayout.svg: Added.
7301        * UserInterface/Images/TimelineRecordPaint.svg: Added.
7302        * UserInterface/Images/TimelineRecordScriptEvaluated.svg: Added.
7303        * UserInterface/Images/TimelineRecordStyle.svg: Added.
7304        * UserInterface/Images/TimelineRecordTimer.svg: Added.
7305        * UserInterface/Main.html:
7306        * UserInterface/OverviewTimelineView.js: Added.
7307        (WebInspector.OverviewTimelineView):
7308        (WebInspector.OverviewTimelineView.prototype.get navigationSidebarTreeOutlineLabel):
7309        (WebInspector.OverviewTimelineView.prototype._childFrameWasAdded):
7310        (WebInspector.OverviewTimelineView.prototype._mainResourceDidChange):
7311        (WebInspector.OverviewTimelineView.prototype._provisionalResourceWasAdded):
7312        (WebInspector.OverviewTimelineView.prototype._resourceWasAdded):
7313        (WebInspector.OverviewTimelineView.prototype._compareTreeElementsByDetails):
7314        (WebInspector.OverviewTimelineView.prototype._compareTreeElementsByStartTime):
7315        (WebInspector.OverviewTimelineView.prototype._insertTreeElement):
7316        (WebInspector.OverviewTimelineView.prototype._addResourceToTreeIfNeeded):
7317        (WebInspector.OverviewTimelineView.prototype._sourceCodeTimelineAdded):
7318        (WebInspector.OverviewTimelineView.prototype._treeElementSelected):
7319        * UserInterface/SourceCodeTimelineTreeElement.js: Added.
7320        (WebInspector.SourceCodeTimelineTreeElement):
7321        (WebInspector.SourceCodeTimelineTreeElement.prototype.get sourceCodeTimeline):
7322        * UserInterface/TimelineContentView.js:
7323        (WebInspector.TimelineContentView.createPathComponent):
7324        (WebInspector.TimelineContentView):
7325        (WebInspector.TimelineContentView.prototype.showOverviewTimelineView):
7326        (WebInspector.TimelineContentView.prototype.showTimelineView):
7327        (WebInspector.TimelineContentView.prototype.get supportsSplitContentBrowser):
7328        (WebInspector.TimelineContentView.prototype.get selectionPathComponents):
7329        (WebInspector.TimelineContentView.prototype._pathComponentSelected):
7330        (WebInspector.TimelineContentView.prototype._showTimelineView):
7331        (WebInspector.TimelineContentView.prototype._recordingReset):
7332        * UserInterface/TimelineIcons.css:
7333        (.style-record .icon): Added.
7334        (.layout-record .icon): Added.
7335        (.paint-record .icon): Added.
7336        (.evaluated-record .icon): Added.
7337        (.event-record .icon): Added.
7338        (.timer-record .icon): Added.
7339        (.animation-record .icon): Added.
7340        * UserInterface/TimelineView.css: Added.
7341        (.timeline-view):
7342        * UserInterface/TimelineView.js: Added.
7343        (WebInspector.TimelineView):
7344        (WebInspector.TimelineView.prototype.get navigationSidebarTreeOutline):
7345        (WebInspector.TimelineView.prototype.get navigationSidebarTreeOutlineLabel):
7346        (WebInspector.TimelineView.prototype.reset):
7347        (WebInspector.TimelineView.prototype.shown):
7348        (WebInspector.TimelineView.prototype.hidden):
7349
73502013-11-07  Timothy Hatcher  <timothy@apple.com>
7351
7352        Start fleshing out the new TimelineSidebarPanel and TimelineContentView.
7353
7354        https://bugs.webkit.org/show_bug.cgi?id=124003
7355
7356        Reviewed by Joseph Pecoraro.
7357
7358        * UserInterface/ContentView.js:
7359        (WebInspector.ContentView):
7360        (WebInspector.ContentView.isViewable):
7361        * UserInterface/FrameContentView.js:
7362        * UserInterface/Images/CloseTimeline.png: Added.
7363        * UserInterface/Images/CloseTimeline@2x.png: Added.
7364        * UserInterface/Images/ColorsLarge.png: Added.
7365        * UserInterface/Images/ColorsLarge@2x.png: Added.
7366        * UserInterface/Images/NetworkLarge.png: Added.
7367        * UserInterface/Images/NetworkLarge@2x.png: Added.
7368        * UserInterface/Images/ScriptLarge.png: Added.
7369        * UserInterface/Images/ScriptLarge@2x.png: Added.
7370        * UserInterface/Main.html:
7371        * UserInterface/Main.js:
7372        (WebInspector.sidebarPanelForRepresentedObject):
7373        (WebInspector._revealAndSelectRepresentedObjectInNavigationSidebar):
7374        * UserInterface/NavigationSidebarPanel.js:
7375        (WebInspector.NavigationSidebarPanel.prototype.showDefaultContentView):
7376        * UserInterface/ResourceClusterContentView.js:
7377        * UserInterface/TimelineContentView.css: Added.
7378        (.content-view.timeline > .view-container):
7379        * UserInterface/TimelineContentView.js: Added.
7380        (WebInspector.TimelineContentView):
7381        * UserInterface/TimelineIcons.css: Renamed from Source/WebInspectorUI/UserInterface/InstrumentIcons.css.
7382        (.network-icon.large .icon): Added.
7383        (.colors-icon.large .icon): Added.
7384        (.script-icon.large .icon): Added.
7385        * UserInterface/TimelineSidebarPanel.css:
7386        (.sidebar > .panel.timeline > .navigation-bar):
7387        (.sidebar > .panel.timeline > .title-bar):
7388        (.sidebar > .panel.timeline > .title-bar.timelines):
7389        (.sidebar > .panel.timeline > .title-bar.timeline-events):
7390        (.sidebar > .panel.timeline > .timelines-content):
7391        (.sidebar > .panel.timeline > .timelines-content .close-button):
7392        (.sidebar > .panel.timeline > .timelines-content li.item.selected .close-button):
7393        (.sidebar > .panel.timeline > .timelines-content .close-button:active):
7394        (.sidebar > .panel.timeline > .content):
7395        * UserInterface/TimelineSidebarPanel.js:
7396        (WebInspector.TimelineSidebarPanel.createTimelineTreeElement):
7397        (WebInspector.TimelineSidebarPanel):
7398        (WebInspector.TimelineSidebarPanel.prototype.showDefaultContentView):
7399        (WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject):
7400        (WebInspector.TimelineSidebarPanel.prototype.get contentTreeOutlineLabel):
7401        (WebInspector.TimelineSidebarPanel.prototype.set contentTreeOutlineLabel):
7402        (WebInspector.TimelineSidebarPanel.prototype.showTimelineOverview):
7403        (WebInspector.TimelineSidebarPanel.prototype.showTimelineView):
7404        (WebInspector.TimelineSidebarPanel.prototype._timelinesTreeElementSelected):
7405
74062014-01-08  Timothy Hatcher  <timothy@apple.com>
7407
7408        Correctly track time bounds of WebInspector.Timeline and WebInspector.TimelineRecording.
7409
7410        The startTime and endTime were not correct when Network timeline needed to be taken into
7411        account (due to its dynamic loading nature.) This creates a network Timeline for the purposes
7412        of tracking the ResourceTimelineRecords and getting accurate start and end times.
7413
7414        Also changes the way TimelineRecord tracks the inactive portion of time, needed for later
7415        work on the timeline graphs.
7416
7417        https://bugs.webkit.org/show_bug.cgi?id=126676
7418
7419        Reviewed by Joseph Pecoraro.
7420
7421        * UserInterface/ResourceTimelineRecord.js:
7422        (WebInspector.ResourceTimelineRecord.prototype.get updatesDynamically):
7423        (WebInspector.ResourceTimelineRecord.prototype.get usesActiveStartTime):
7424        (WebInspector.ResourceTimelineRecord.prototype.get startTime):
7425        (WebInspector.ResourceTimelineRecord.prototype.get activeStartTime):
7426        (WebInspector.ResourceTimelineRecord.prototype.get endTime):
7427        * UserInterface/Timeline.js:
7428        (WebInspector.Timeline):
7429        (WebInspector.Timeline.prototype.get startTime):
7430        (WebInspector.Timeline.prototype.get endTime):
7431        (WebInspector.Timeline.prototype.addRecord):
7432        (WebInspector.Timeline.prototype._updateTimesIfNeeded):
7433        (WebInspector.Timeline.prototype._recordUpdated):
7434        * UserInterface/TimelineRecord.js:
7435        (WebInspector.TimelineRecord.prototype.get startTime):
7436        (WebInspector.TimelineRecord.prototype.get activeStartTime):
7437        (WebInspector.TimelineRecord.prototype.get endTime):
7438        (WebInspector.TimelineRecord.prototype.get inactiveDuration):
7439        (WebInspector.TimelineRecord.prototype.get activeDuration):
7440        (WebInspector.TimelineRecord.prototype.get updatesDynamically):
7441        (WebInspector.TimelineRecord.prototype.get usesActiveStartTime):
7442        * UserInterface/TimelineRecording.js:
7443        (WebInspector.TimelineRecording.prototype._timelineTimesUpdated):
7444
74452013-10-25  Timothy Hatcher  <timothy@apple.com>
7446
7447        Implement TimelineRecording and per-call-site timelines.
7448
7449        Keep track of timeline records per global timeline and per source code location.
7450        This will be used to display them in the UI in later patches.
7451
7452        https://bugs.webkit.org/show_bug.cgi?id=123367
7453
7454        Reviewed by Joseph Pecoraro.
7455
7456        * UserInterface/Main.html:
7457        * UserInterface/SourceCodeTimeline.js: Added.
7458        (WebInspector.SourceCodeTimeline):
7459        (WebInspector.SourceCodeTimeline.prototype.get sourceCode):
7460        (WebInspector.SourceCodeTimeline.prototype.get sourceCodeLocation):
7461        (WebInspector.SourceCodeTimeline.prototype.get recordType):
7462        (WebInspector.SourceCodeTimeline.prototype.get recordEventType):
7463        * UserInterface/Timeline.js: Added.
7464        (WebInspector.Timeline):
7465        (WebInspector.Timeline.prototype.get records):
7466        (WebInspector.Timeline.prototype.addRecord):
7467        * UserInterface/TimelineRecording.js:
7468        (WebInspector.TimelineRecording):
7469        (WebInspector.TimelineRecording.prototype.get timelines): Added.
7470        (WebInspector.TimelineRecording.prototype.sourceCodeTimelinesForSourceCode): Added.
7471        (WebInspector.TimelineRecording.prototype.addEventMarker): Implemented.
7472        (WebInspector.TimelineRecording.prototype.addRecord): Implemented.
7473        (WebInspector.TimelineRecording.prototype._keyForRecord): Added.
7474
74752013-10-25  Timothy Hatcher  <timothy@apple.com>
7476
7477        Add support for multiple Timeline recordings.
7478
7479        We also don't explicitly add ResourceTimelineRecords anymore. These will be tracked automatically in a later patch.
7480
7481        https://bugs.webkit.org/show_bug.cgi?id=123366
7482
7483        Reviewed by Joseph Pecoraro.
7484
7485        * UserInterface/DashboardManager.js:
7486        (WebInspector.DashboardManager.prototype._mainResourceDidChange): Check for currentRecording.
7487        * UserInterface/InspectorFrontendAPI.js:
7488        (InspectorFrontendAPI.isTimelineProfilingEnabled): Check for currentRecording.
7489        * UserInterface/Main.html:
7490        * UserInterface/TimelineManager.js:
7491        (WebInspector.TimelineManager):
7492        (WebInspector.TimelineManager.prototype.get currentRecording): Added.
7493        (WebInspector.TimelineManager.prototype.startRecording): Make a new recording and push it onto the recording array.
7494        Add the current recording to the event.
7495        (WebInspector.TimelineManager.prototype.stopRecording): Add the current recording to the event.
7496        (WebInspector.TimelineManager.prototype.eventRecorded.processRecord): Check for currentRecording. Add the markers
7497        to the current recording.
7498        (WebInspector.TimelineManager.prototype._addRecord): Add the record to the current recording.
7499        (WebInspector.TimelineManager.prototype._startAutoRecording): Clean up. Don't add ResourceTimelineRecord. Clear recordings.
7500        (WebInspector.TimelineManager.prototype._stopAutoRecordingSoon): Check for _currentRecording.
7501        (WebInspector.TimelineManager.prototype._resetAutoRecordingDeadTimeTimeout): Ditto.
7502        (WebInspector.TimelineManager.prototype._mainResourceDidChange): Don't add ResourceTimelineRecord anymore.
7503        (WebInspector.TimelineManager.prototype._resourceWasAdded): Removed.
7504        * UserInterface/TimelineRecording.js: Added.
7505        (WebInspector.TimelineRecording): Added.
7506        (WebInspector.TimelineRecording.prototype.addEventMarker): Added.
7507        (WebInspector.TimelineRecording.prototype.addRecord): Added.
7508
75092013-10-25  Timothy Hatcher  <timothy@apple.com>
7510
7511        Track callFrames and sourceCodeLocation per TimelineRecord.
7512
7513        https://bugs.webkit.org/show_bug.cgi?id=123359
7514
7515        Reviewed by Joseph Pecoraro.
7516
7517        * UserInterface/LayoutTimelineRecord.js:
7518        (WebInspector.LayoutTimelineRecord): Pass callFrames and sourceCodeLocation to superclass.
7519        * UserInterface/ScriptTimelineRecord.js:
7520        (WebInspector.ScriptTimelineRecord): Pass callFrames and sourceCodeLocation to superclass.
7521        * UserInterface/TimelineManager.js:
7522        (WebInspector.TimelineManager.prototype.eventRecorded.processRecord): Add "Payload" suffix to better track what is a protocol object.
7523        Pass the callFrames and sourceCodeLocation to all the new TimelineRecords.
7524        (WebInspector.TimelineManager.prototype.eventRecorded): Add "Payload" suffix.
7525        * UserInterface/TimelineRecord.js:
7526        (WebInspector.TimelineRecord):
7527        (WebInspector.TimelineRecord.prototype.get callFrames): Added.
7528        (WebInspector.TimelineRecord.prototype.get initiatorCallFrame): Added.
7529        (WebInspector.TimelineRecord.prototype.get sourceCodeLocation): Added.
7530
75312013-10-25  Timothy Hatcher  <timothy@apple.com>
7532
7533        Change how the load and content ready event timestamps are tracked.
7534
7535        https://bugs.webkit.org/show_bug.cgi?id=123356
7536
7537        Reviewed by Joseph Pecoraro.
7538
7539        * UserInterface/DashboardManager.js:
7540        (WebInspector.DashboardManager.prototype._updateTime): Use the timestamps on the main frame.
7541        * UserInterface/Frame.js:
7542        (WebInspector.Frame):
7543        (WebInspector.Frame.prototype.get domContentReadyEventTimestamp): Added.
7544        (WebInspector.Frame.prototype.get loadEventTimestamp): Added.
7545        (WebInspector.Frame.prototype.markDOMContentReadyEvent): Added.
7546        (WebInspector.Frame.prototype.markLoadEvent): Added.
7547        * UserInterface/TimelineManager.js:
7548        (WebInspector.TimelineManager.prototype.eventRecorded.processRecord): Use markLoadEvent and markDOMContentReadyEvent.
7549        Do it for all frames, not just the main frame.
7550        (WebInspector.TimelineManager.prototype.pageDidLoad): Call markLoadEvent on the Frame.
7551
75522013-10-25  Timothy Hatcher  <timothy@apple.com>
7553
7554        Remove a lot of the current Timelines code to make room for a new implementation.
7555
7556        https://bugs.webkit.org/show_bug.cgi?id=123368
7557
7558        Reviewed by Joseph Pecoraro.
7559
7560        * Localizations/en.lproj/localizedStrings.js:
7561        * UserInterface/ContentView.js:
7562        (WebInspector.ContentView):
7563        (WebInspector.ContentView.isViewable):
7564        * UserInterface/DashboardView.js:
7565        (WebInspector.DashboardView.prototype._networkItemWasClicked):
7566        * UserInterface/InspectorFrontendAPI.js:
7567        (InspectorFrontendAPI.setTimelineProfilingEnabled):
7568        (InspectorFrontendAPI.stopProfilingJavaScript):
7569        * UserInterface/InstrumentSidebarPanel.js: Removed.
7570        * UserInterface/Main.html:
7571        * UserInterface/Main.js:
7572        (WebInspector.contentLoaded):
7573        (WebInspector.sidebarPanelForRepresentedObject):
7574        (WebInspector.openURL):
7575        * UserInterface/Object.js:
7576        (WebInspector.Object.addEventListener):
7577        * UserInterface/TimelineManager.js:
7578        (WebInspector.TimelineManager):
7579        (WebInspector.TimelineManager.prototype.startRecording):
7580        (WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
7581        (WebInspector.TimelineManager.prototype.eventRecorded):
7582        (WebInspector.TimelineManager.prototype.objectForCookie):
7583        (WebInspector.TimelineManager.prototype._addRecord):
7584        * UserInterface/TimelinesObject.js: Removed.
7585        * UserInterface/TimelineOverview.css: Removed.
7586        * UserInterface/TimelineOverview.js: Removed.
7587        * UserInterface/TimelineSidebarPanel.css: Added.
7588        * UserInterface/TimelineSidebarPanel.js: Added.
7589        (WebInspector.TimelineSidebarPanel):
7590        * UserInterface/TimelinesContentView.css: Removed.
7591        * UserInterface/TimelinesContentView.js: Removed.
7592
75932014-01-20  Timothy Hatcher  <timothy@apple.com>
7594
7595        Fix jumping to a text position when showing a resource.
7596
7597        https://bugs.webkit.org/show_bug.cgi?id=127271
7598
7599        Reviewed by Joseph Pecoraro.
7600
7601        * UserInterface/FrameContentView.js:
7602        (WebInspector.FrameContentView.prototype.showSourceCode): Just use showResponse's arguments
7603        which already does the same logic to call revealPosition.
7604        * UserInterface/ResourceClusterContentView.js:
7605        (WebInspector.ResourceClusterContentView.prototype.restoreFromCookie): This was the bug.
7606        lineNumber and columnNumber need honored here. They were only honored by FrameContentView.
7607        * UserInterface/ResourceSidebarPanel.js:
7608        (WebInspector.ResourceSidebarPanel.prototype.showSourceCode): Use showContentViewForRepresentedObject
7609        which also accepts a cookie and handles creating the content view for us.
7610
76112014-01-16  Brian Burg  <bburg@apple.com>
7612
7613        Web Inspector: add more context to Object.addEventListener assertions
7614        https://bugs.webkit.org/show_bug.cgi?id=127125
7615
7616        Reviewed by Joseph Pecoraro.
7617
7618        Log invalid event type and listener parameters, and log the other
7619        parameters so the callsite is easier to figure out.
7620
7621        * UserInterface/Object.js:
7622        (WebInspector.Object.addEventListener):
7623
76242014-01-16  Brian Burg  <bburg@apple.com>
7625
7626        Web Inspector: CallFrame is missing saveIdentityToCookie, or should be excluded
7627        https://bugs.webkit.org/show_bug.cgi?id=126791
7628
7629        Reviewed by Timothy Hatcher.
7630
7631        * UserInterface/CallFrame.js: Add a dummy saveIdentityToCookie() implementation.
7632
76332014-01-16  Brian Burg  <bburg@apple.com>
7634
7635        Web Inspector: add probe breakpoint action to popup breakpoint editor
7636        https://bugs.webkit.org/show_bug.cgi?id=126931
7637
7638        Reviewed by Timothy Hatcher.
7639
7640        Add probes to the breakpoint action dropdown.
7641        Reuse the "evaluate JavaScript" input UI.
7642
7643        * Localizations/en.lproj/localizedStrings.js:
7644        * UserInterface/BreakpointAction.js:
7645        * UserInterface/BreakpointActionView.js:
7646        (WebInspector.BreakpointActionView.displayStringForType):
7647        (WebInspector.BreakpointActionView.prototype._updateBody.switch.break):
7648
76492014-01-15  Brian Burg  <bburg@apple.com>
7650
7651        Web Inspector: capture probe samples on the backend
7652        https://bugs.webkit.org/show_bug.cgi?id=126668
7653
7654        Reviewed by Joseph Pecoraro.
7655
7656        * UserInterface/InspectorJSBackendCommands.js: Add probe enumeration value.
7657
76582014-01-15  Andreas Kling  <akling@apple.com>
7659
7660        Remove the CSS selector profiler.
7661        <https://webkit.org/b/127039>
7662
7663        Purge selector profiler code from the new Web Inspector UI.
7664
7665        Reviewed by Sam Weinig.
7666
7667        * Localizations/en.lproj/localizedStrings.js:
7668        * UserInterface/CSSSelectorProfileObject.js: Removed.
7669        * UserInterface/CSSSelectorProfileType.js: Removed.
7670        * UserInterface/CSSSelectorProfileView.js: Removed.
7671        * UserInterface/ContentView.js:
7672        (WebInspector.ContentView):
7673        (WebInspector.ContentView.isViewable):
7674        * UserInterface/InspectorWebBackendCommands.js:
7675        * UserInterface/InstrumentSidebarPanel.js:
7676        (WebInspector.InstrumentSidebarPanel):
7677        (WebInspector.InstrumentSidebarPanel.prototype._recordProfileGlyphMousedOver):
7678        (WebInspector.InstrumentSidebarPanel.prototype._recordProfileGlyphMousedDown):
7679        (WebInspector.InstrumentSidebarPanel.prototype._recordProfileGlyphClicked):
7680        (WebInspector.InstrumentSidebarPanel.prototype._profileTypeWasSelected):
7681        (WebInspector.InstrumentSidebarPanel.prototype._profilesCleared):
7682        * UserInterface/Main.html:
7683        * UserInterface/ProfileManager.js:
7684        (WebInspector.ProfileManager):
7685        (WebInspector.ProfileManager.prototype.initialize):
7686        (WebInspector.ProfileManager.prototype._checkForInterruptions):
7687        (WebInspector.ProfileManager.prototype._attemptToResumeProfiling):
7688        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
7689        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
7690
76912014-01-13  Timothy Hatcher  <timothy@apple.com>
7692
7693        Snap time dividers to nearest numbers instead of just dividing the time span into max density slices.
7694
7695        https://bugs.webkit.org/show_bug.cgi?id=125081
7696
7697        Reviewed by Joseph Pecoraro.
7698
7699        * UserInterface/TimelineDecorations.js:
7700        (WebInspector.TimelineDecorations.prototype.updateHeaderTimes): Snap the time slice to a nearest number.
7701        (WebInspector.TimelineDecorations.prototype.updateEventMarkers): Rename boundarySpan to timeSpan.
7702
77032014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
7704
7705        Web Inspector: Remove unimplemented or static ScriptDebugServer features
7706        https://bugs.webkit.org/show_bug.cgi?id=126784
7707
7708        Reviewed by Timothy Hatcher.
7709
7710        * UserInterface/InspectorJSBackendCommands.js:
7711        * UserInterface/InspectorWebBackendCommands.js:
7712        * UserInterface/Legacy/6.0/InspectorWebBackendCommands.js:
7713        * UserInterface/Legacy/7.0/InspectorWebBackendCommands.js:
7714        * Versions/Inspector-iOS-6.0.json:
7715        * Versions/Inspector-iOS-7.0.json:
7716
77172014-01-10  Timothy Hatcher  <timothy@apple.com>
7718
7719        Web Inspector: support negative numbers in secondsToString and bytesToString.
7720
7721        https://bugs.webkit.org/show_bug.cgi?id=125708
7722
7723        Reviewed by Joseph Pecoraro.
7724
7725        * UserInterface/Utilities.js:
7726        (Number.secondsToString): Use Math.abs in the size checks.
7727        (Number.bytesToString): Ditto.
7728
77292014-01-10  Brian Burg  <bburg@apple.com>
7730
7731        Web Inspector: cycle clicked breakpoints between enabled, auto-continue, and disabled
7732        https://bugs.webkit.org/show_bug.cgi?id=126669
7733
7734        Reviewed by Joseph Pecoraro.
7735
7736        It's time-consuming to change a breakpoint's auto-continue setting through the
7737        breakpoint editor popup. This patch enables the user to toggle between enabled,
7738        auto-continue, and disabled by clicking on the breakpoint wedge in the sidebar
7739        tree and in the source text editor gutter. The auto-continue option is only
7740        cycled when the breakpoint has associated actions.
7741
7742        Clean up the breakpoint editor dialog so it hides irrelevant options when
7743        no breakpoint actions have been added.
7744
7745        Automatically unset auto-continue when the last breakpoint action is removed.
7746
7747        Rename the delegate textEditorBreakpointToggled to textEditorBreakpointClicked, since
7748        the behavior of the click depends on breakpoint state not available in the text editor.
7749
7750        * Localizations/en.lproj/localizedStrings.js:
7751        * UserInterface/Breakpoint.js:
7752        (WebInspector.Breakpoint.prototype.cycleToNextMode): Added.
7753        (WebInspector.Breakpoint.prototype.toggleAutoContinue): Added.
7754        (WebInspector.Breakpoint.prototype.appendContextMenuItems): Add auto-continue options.
7755        (WebInspector.Breakpoint.prototype.removeAction):
7756
7757        (WebInspector.Breakpoint.prototype._editBreakpointPopoverContentElement):
7758        (WebInspector.Breakpoint.prototype._popoverActionsAddActionButtonClicked):
7759        (WebInspector.Breakpoint.prototype.breakpointActionViewAppendActionView):
7760        (WebInspector.Breakpoint.prototype.breakpointActionViewRemoveActionView):
7761        (WebInspector.Breakpoint.prototype.willDismissPopover):
7762        * UserInterface/BreakpointTreeElement.css:
7763        (.item.breakpoint .status > .status-image.auto-continue):
7764        (.item.breakpoint .status > .status-image.disabled):
7765        * UserInterface/BreakpointTreeElement.js:
7766        (WebInspector.BreakpointTreeElement):
7767        (WebInspector.BreakpointTreeElement.prototype.onenter):
7768        (WebInspector.BreakpointTreeElement.prototype.onspace):
7769        (WebInspector.BreakpointTreeElement.prototype._updateStatus):
7770        (WebInspector.BreakpointTreeElement.prototype._breakpointLocationDidChange):
7771        (WebInspector.BreakpointTreeElement.prototype._statusImageElementClicked):
7772        * UserInterface/SourceCodeTextEditor.js:
7773        (WebInspector.SourceCodeTextEditor):
7774        (WebInspector.SourceCodeTextEditor.prototype.close):
7775        (WebInspector.SourceCodeTextEditor.prototype._breakpointInfoForBreakpoint):
7776        (WebInspector.SourceCodeTextEditor.prototype.textEditorBreakpointClicked):
7777        * UserInterface/TextEditor.css:
7778        (.text-editor > .CodeMirror .breakpoint-auto-continue:not(.breakpoint-disabled) .CodeMirror-linenumber::before):
7779        * UserInterface/TextEditor.js:
7780        (WebInspector.TextEditor.prototype._setBreakpointStylesOnLine.updateStyles):
7781        (WebInspector.TextEditor.prototype._setBreakpointStylesOnLine):
7782        (WebInspector.TextEditor.prototype.updateStyles):
7783        (WebInspector.TextEditor.prototype._removeBreakpointFromLineAndColumn):
7784        (WebInspector.TextEditor.prototype._documentMouseUp):
7785
77862014-01-10  Timothy Hatcher  <timothy@apple.com>
7787
7788        Clean up some areas of TreeOutline.
7789
7790        https://bugs.webkit.org/show_bug.cgi?id=123924
7791
7792        Reviewed by Joseph Pecoraro.
7793
7794        * UserInterface/TreeOutline.js:
7795        (TreeOutline.prototype.appendChild): Don't force create _childrenListNode, it will be created
7796        when the tree element is expanded. Only attach if _childrenListNode already exists.
7797        (TreeOutline.prototype.insertChild): Ditto.
7798        (TreeOutline.prototype.getCachedTreeElement): Check the value of __treeElementIdentifier
7799        not just the existence of the property. It should never be null/undefined/0, but be safe.
7800        (TreeOutline.prototype.findTreeElement): Null check isAncestor, it isn't required.
7801
78022014-01-10  Timothy Hatcher  <timothy@apple.com>
7803
7804        Fix an exception in WebInspector.Color.
7805
7806        https://bugs.webkit.org/show_bug.cgi?id=126765
7807
7808        Reviewed by Joseph Pecoraro.
7809
7810        * UserInterface/Color.js:
7811        (WebInspector.Color.fromString): Check hasOwnPrperty before using the nickname color array.
7812        (WebInspector.Color.prototype._toNicknameString): Ditto.
7813
78142014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
7815
7816        [CSS Blending] Log blending as a layer creation reason in the WI
7817        https://bugs.webkit.org/show_bug.cgi?id=126159
7818
7819        Reviewed by Timothy Hatcher.
7820
7821        * Localizations/en.lproj/localizedStrings.js:
7822        * UserInterface/LayerTreeSidebarPanel.js:
7823        (WebInspector.LayerTreeSidebarPanel.prototype._populateListOfCompositingReasons):
7824
78252014-01-10  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
7826
7827        Add missing function stub in InspectorFrontendHostStub.js
7828        https://bugs.webkit.org/show_bug.cgi?id=126745
7829
7830        Reviewed by Timothy Hatcher.
7831
7832        * UserInterface/InspectorFrontendHostStub.js:
7833        (.WebInspector.InspectorFrontendHostStub.prototype.debuggableType):
7834        The function debuggableType() was added to InspectorFrontendHost.idl and InspectorFrontendHost.cpp
7835        in r160887, but not to InspectorFrontendHostStub.js.
7836
78372014-01-09  Seokju Kwon  <seokju@webkit.org>
7838
7839        Web Inspector: Remove unused overriding protocols.
7840        https://bugs.webkit.org/show_bug.cgi?id=126630
7841
7842        Reviewed by Timothy Hatcher.
7843
7844        Update InspectorWebBackendCommands.js after removing unused overriding protocols.
7845
7846        * UserInterface/InspectorWebBackendCommands.js:
7847        * UserInterface/Legacy/6.0/InspectorWebBackendCommands.js:
7848        * UserInterface/Legacy/7.0/InspectorWebBackendCommands.js:
7849        * Versions/Inspector-iOS-6.0.json:
7850        * Versions/Inspector-iOS-7.0.json:
7851
78522014-01-07  Joseph Pecoraro  <pecoraro@apple.com>
7853
7854        Web Inspector: Typo "clipboarPrefixString"
7855        https://bugs.webkit.org/show_bug.cgi?id=126595
7856
7857        Reviewed by Sam Weinig.
7858
7859        * UserInterface/ConsoleCommandResult.js:
7860        (WebInspector.ConsoleCommandResult.prototype.toMessageElement):
7861        (WebInspector.ConsoleCommandResult.prototype.get clipboardPrefixString):
7862        * UserInterface/ConsoleMessageImpl.js:
7863        (WebInspector.ConsoleMessageImpl.prototype.get clipboardPrefixString):
7864        (WebInspector.ConsoleMessageImpl.prototype.toClipboardString):
7865
78662014-01-06  Seokju Kwon  <seokju@webkit.org>
7867
7868        Web Inspector: Remove canOverrideDeviceMetrics and setDeviceMetricsOverride from protocol
7869        https://bugs.webkit.org/show_bug.cgi?id=126149
7870
7871        Reviewed by Joseph Pecoraro.
7872
7873        * UserInterface/InspectorWebBackendCommands.js: Remove unused codes.
7874        * UserInterface/Legacy/6.0/InspectorWebBackendCommands.js: Ditto.
7875        * UserInterface/Legacy/7.0/InspectorWebBackendCommands.js: Ditto.
7876        * Versions/Inspector-iOS-6.0.json: Ditto.
7877        * Versions/Inspector-iOS-7.0.json: Ditto.
7878
78792014-01-06  Seokju Kwon  <seokju@webkit.org>
7880
7881        Web Inspector: Remove support for FileSystem in Frontend.
7882        https://bugs.webkit.org/show_bug.cgi?id=126369
7883
7884        Reviewed by Joseph Pecoraro.
7885
7886        Update InspectorWebBackendCommands after removing 'FileSystem' domain.
7887
7888        * UserInterface/InspectorWebBackendCommands.js:
7889        * UserInterface/Legacy/6.0/InspectorWebBackendCommands.js:
7890        * UserInterface/Legacy/7.0/InspectorWebBackendCommands.js:
7891        * Versions/Inspector-iOS-6.0.json:
7892        * Versions/Inspector-iOS-7.0.json:
7893
78942014-01-06  Seokju Kwon  <seokju@webkit.org>
7895
7896        Web Inspector: Get rid of DOM.setFileInputFiles from Protocol
7897        https://bugs.webkit.org/show_bug.cgi?id=126312
7898
7899        Reviewed by Joseph Pecoraro.
7900
7901        Update InspectorWebBackendCommands.js after removing DOM.setFileInputFiles.
7902
7903        * UserInterface/InspectorWebBackendCommands.js:
7904
79052013-12-22  Martin Robinson  <mrobinson@igalia.com>
7906
7907        [GTK][CMake] Integrate GResource for inspector files (and others?)
7908        https://bugs.webkit.org/show_bug.cgi?id=125569
7909
7910        Reviewed by Gustavo Noronha Silva.
7911
7912        * GNUmakefile.am: Use the new generation script instead of generating with
7913        shell scripting in the makefile.
7914
79152013-12-19  Joseph Pecoraro  <pecoraro@apple.com>
7916
7917        Web Inspector: Frontend Error when selecting Database folder in Resources Sidebar
7918        https://bugs.webkit.org/show_bug.cgi?id=126029
7919
7920        Reviewed by Timothy Hatcher.
7921
7922        Treat the DatabaseHostTreeElement tree element like a folder. It pretty much
7923        is a folder, but inherits from StorageTreeElement to share some code there.
7924
7925        * UserInterface/ResourceSidebarPanel.js:
7926        (WebInspector.ResourceSidebarPanel.prototype._treeElementSelected):
7927
79282013-12-19  Joseph Pecoraro  <pecoraro@apple.com>
7929
7930        Web Inspector: Uncaught Exception: NavigationSidebarPanel.js: TypeError: undefined is not a function
7931        https://bugs.webkit.org/show_bug.cgi?id=126018
7932
7933        Reviewed by Timothy Hatcher.
7934
7935        ERROR: TypeError: undefined is not a function (evaluating 'representedObject.saveIdentityToCookie(candidateObjectCookie)')
7936
7937        There are some TreeElements (Folders, and the special Databases Folder)
7938        which do not have a represented object, and would throw an exception
7939        when trying to use saveIdentityToCookie.
7940
7941        We should always provide a saveIdentityToCookie when possible. So just
7942        blacklist the tree element types we know do not have representedObjects,
7943        and where we don't want to save identity. This will continue to throw
7944        exceptions in the future for tree elements that don't have the save
7945        function implemented, but should.
7946
7947        Note that even if a TreeElement is constructed with a null represented
7948        object, it becomes an empty object (representedObject || {}).
7949
7950        * UserInterface/NavigationSidebarPanel.js:
7951        (WebInspector.NavigationSidebarPanel.prototype.saveStateToCookie):
7952        (WebInspector.NavigationSidebarPanel.prototype._isTreeElementWithoutRepresentedObject):
7953        (WebInspector.NavigationSidebarPanel.prototype.treeElementMatchesCookie):
7954        (WebInspector.NavigationSidebarPanel.prototype._checkElementsForPendingViewStateCookie):
7955
79562013-12-19  Joseph Pecoraro  <pecoraro@apple.com>
7957
7958        Web Inspector: Add InspectorFrontendHost.debuggableType to let the frontend know it's backend is JavaScript or Web
7959        https://bugs.webkit.org/show_bug.cgi?id=126016
7960
7961        Reviewed by Timothy Hatcher.
7962
7963        * UserInterface/LoadInspectorBackendCommands.js:
7964        If the debuggable target is "web" load both JS and Web backend commands.
7965        Otherwise, we only load the default, js backend commands.
7966
79672013-12-16  Alex Christensen  <achristensen@webkit.org>
7968
7969        Fixed Win64 build on VS2013.
7970        https://bugs.webkit.org/show_bug.cgi?id=125753
7971
7972        Reviewed by Brent Fulgham.
7973
7974        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
7975        Added 64-bit configuration.
7976
79772013-12-13  Joseph Pecoraro  <pecoraro@apple.com>
7978
7979        Web Inspector: Move Inspector and Debugger protocol domains into JavaScriptCore
7980        https://bugs.webkit.org/show_bug.cgi?id=125707
7981
7982        Reviewed by Timothy Hatcher.
7983
7984        * UserInterface/InspectorJSBackendCommands.js:
7985        * UserInterface/InspectorWebBackendCommands.js:
7986        Regenerate now that domains have moved around.
7987
79882013-12-13  Joseph Pecoraro  <pecoraro@apple.com>
7989
7990        Web Inspector: Exception: TypeError: undefined is not a function (evaluating 'marker.find()')
7991        https://bugs.webkit.org/show_bug.cgi?id=125724
7992
7993        Reviewed by Darin Adler.
7994
7995        * UserInterface/CSSStyleDeclarationTextEditor.js:
7996        (WebInspector.CSSStyleDeclarationTextEditor.prototype.):
7997        (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches):
7998        The callback changed to returning WebInspector.TextMarkers, however
7999        this class expected a raw CodeMirror marker. Since this class knows
8000        about CodeMirror and expects to access these markers later go
8001        directly to the CodeMirror marker.
8002
80032013-12-13  Joseph Pecoraro  <pecoraro@apple.com>
8004
8005        Web Inspector: Add Inspector Code Generation to JavaScriptCore for Runtime Domain
8006        https://bugs.webkit.org/show_bug.cgi?id=125595
8007
8008        Reviewed by Timothy Hatcher.
8009
8010        * Scripts/copy-user-interface-resources.sh:
8011        Copy all the different backend commands files.
8012
8013        * Scripts/update-InspectorBackendCommands.rb:
8014        Update with respect to new script location and new file names.
8015
8016        * WebInspectorUI.xcodeproj/project.pbxproj:
8017        Remove Inputs and Outputs of build phase, which were wrong.
8018        Now this build phase always runs, and not by accident.
8019
8020        * UserInterface/InspectorJSBackendCommands.js: Added.
8021        * UserInterface/InspectorWebBackendCommands.js: Renamed from Source/WebInspectorUI/UserInterface/InspectorBackendCommands.js.
8022        * UserInterface/Legacy/6.0/InspectorWebBackendCommands.js: Renamed from Source/WebInspectorUI/UserInterface/Legacy/6.0/InspectorBackendCommands.js.
8023        * UserInterface/Legacy/7.0/InspectorWebBackendCommands.js: Renamed from Source/WebInspectorUI/UserInterface/Legacy/7.0/InspectorBackendCommands.js.
8024        * UserInterface/LoadInspectorBackendCommands.js:
8025        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
8026        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
8027
80282013-12-13  Antoine Quint  <graouts@apple.com>
8029
8030        Web Inspector: provide an abstraction for CodeMirror's TextMarker
8031        https://bugs.webkit.org/show_bug.cgi?id=125695
8032
8033        Reviewed by Timothy Hatcher.
8034
8035        Introduce a new WebInspector.TextMarker class which is used by code with CodeMirror knowledge
8036        to return information related to text markers to objects that should have no direct knowledge
8037        of CodeMirror. Start using this class in TextEditor and SourceCodeTextEditor to remove the
8038        last remaining pieces of CodeMirror knowledge added to SourceCodeTextEditor to fix
8039        https://webkit.org/b/124364.
8040
8041        * UserInterface/CodeMirrorAdditions.js:
8042        Stop using __markedColor to identify a color marker and instead use the type on the matching
8043        WebInspector.TextMarker. Additionally, create a WebInspector.TextMarker with type
8044        WebInspector.TextMarker.Type.Color in createColorMarkers().
8045
8046        * UserInterface/CodeMirrorColorEditingController.js:
8047        (WebInspector.CodeMirrorColorEditingController):
8048        Use a WebInspector.TextRange to track the edited range and obtain it directly from the
8049        WebInspector.TextMaker used to instantiate the object. We also use the new "text" public
8050        property to create the color.
8051
8052        (WebInspector.CodeMirrorColorEditingController.prototype.set color):
8053        Simply assing the serialized color to the new "text" public property.
8054
8055        (WebInspector.CodeMirrorColorEditingController.prototype.get text):
8056        (WebInspector.CodeMirrorColorEditingController.prototype.set text):
8057        New public property to set get and set the text for the edited range, automatically updating
8058        the range upon setting to a new text.
8059
8060        (WebInspector.CodeMirrorColorEditingController.prototype.presentHoverMenu):
8061        Obtain the bounds directly from the WebInspector.TextMarker object.
8062
8063        * UserInterface/CodeMirrorTokenTrackingController.js:
8064        (WebInspector.CodeMirrorTokenTrackingController.prototype._updateHoveredTokenInfo):
8065        Since we're now tracking the hoveredMarker as a WebInspector.TextMarker, get the CodeMirror
8066        TextMarker from that object to check if it's contained within the text markers at the
8067        hovered position.
8068
8069        * UserInterface/Main.html:
8070        Add the new TextMarker class source.
8071
8072        * UserInterface/SourceCodeTextEditor.js:
8073        (WebInspector.SourceCodeTextEditor.prototype._hasColorMarkers):
8074        Use the WebInspector.TextMarker type to identify a given text marker is marking a color.
8075
8076        (WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerNewHighlightCandidate):
8077        Use the renamed markersAtPosition() method from TextEditor.
8078
8079        (WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedMarkedExpression):
8080        Use the WebInspector.TextMarker type to identify a given text marker is marking a color.
8081
8082        (WebInspector.SourceCodeTextEditor.prototype.colorEditingControllerDidFinishEditing):
8083        Since the CodeMirrorColorEditingController is now using a WebInspector.TextRange for its range,
8084        update to use a WebInspector.TextRange API to get the range's start line.
8085
8086        * UserInterface/TextEditor.js:
8087        (WebInspector.TextEditor.prototype.get markers):
8088        Return WebInspector.TextMarker objects instead of CodeMirror TextRange objects.
8089
8090        (WebInspector.TextEditor.prototype.markersAtPosition):
8091        Rename method to a better name instead of using the CodeMirror-influenced name. Also, return
8092        WebInspector.TextMarker objects instead of CodeMirror TextRange objects.
8093
8094        * UserInterface/TextMarker.js: Added.
8095        (WebInspector.TextMarker):
8096        Create a WebInspector.TextMarker with a CodeMirror TextMarker and an optional type.
8097
8098        (WebInspector.TextMarker.textMarkerForCodeMirrorTextMarker):
8099        Static method to either obtain the existing WebInspector.TextMarker for a given CodeMirror
8100        TextMarker, or create a new WebInspector.TextMarker.
8101
8102        (WebInspector.TextMarker.prototype.get codeMirrorTextMarker):
8103        Public property to access the CodeMirror TextMarker objects for classes that have direct
8104        knowledge of CodeMirror.
8105
8106        (WebInspector.TextMarker.prototype.get type):
8107        Public property to access the type used to create this text marker.
8108
8109        (WebInspector.TextMarker.prototype.get range):
8110        (WebInspector.TextMarker.prototype.get bounds):
8111        Public properties allowing easy access to generally useful information related to marked text.
8112
8113        (WebInspector.TextMarker.prototype.clear):
8114        Wrapper for the CodeMirror TextMarker clear() method.
8115
81162013-12-13  Brent Fulgham  <bfulgham@apple.com>
8117
8118        [Win] Switch WebKit solution to Visual Studio 2013
8119        https://bugs.webkit.org/show_bug.cgi?id=125192
8120
8121        Reviewed by Anders Carlsson.
8122
8123        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj: Update for VS2013
8124
81252013-12-12  Laszlo Vidacs  <lac@inf.u-szeged.hu>
8126
8127        Web Inspector: ES6: JavaScript syntax highlighting and recognition of for..of
8128        https://bugs.webkit.org/show_bug.cgi?id=122868
8129
8130        Reviewed by Timothy Hatcher.
8131
8132        Update to CodeMirror 3.20 including javascript ES6 updates.
8133
8134        * Tools/PrettyPrinting/codemirror.css:
8135        * Tools/PrettyPrinting/codemirror.js: Minor local change due to error from jsmin.py
8136        * Tools/PrettyPrinting/css.js:
8137        * Tools/PrettyPrinting/javascript.js:
8138        * UserInterface/External/CodeMirror/codemirror.css:
8139        * UserInterface/External/CodeMirror/codemirror.js: Minor local change due to error from jsmin.py
8140        * UserInterface/External/CodeMirror/coffeescript.js:
8141        * UserInterface/External/CodeMirror/css.js:
8142        * UserInterface/External/CodeMirror/htmlmixed.js:
8143        * UserInterface/External/CodeMirror/javascript.js:
8144        * UserInterface/External/CodeMirror/less.js:
8145        * UserInterface/External/CodeMirror/matchbrackets.js:
8146        * UserInterface/External/CodeMirror/placeholder.js:
8147        * UserInterface/External/CodeMirror/runmode.js:
8148        * UserInterface/External/CodeMirror/searchcursor.js:
8149        * UserInterface/External/CodeMirror/sql.js:
8150        * UserInterface/External/CodeMirror/xml.js:
8151
81522013-12-12  Antoine Quint  <graouts@apple.com>
8153
8154        Web Inspector: allow editing of colors in CSS resources
8155        https://bugs.webkit.org/show_bug.cgi?id=124364
8156
8157        Reviewed by Timothy Hatcher.
8158
8159        Identify colors in CSS and HTML resources so that hovering these colors shows a HoverMenu
8160        allowing a ColorPicker hosted in a Popover to be shown to edit the hovered color.
8161
8162        * UserInterface/CSSStyleDeclarationTextEditor.js:
8163        (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches):
8164        Remove the code that goes through the lines of the CodeMirror editor to look for
8165        color strings and replace it with a call to the .createColorMarkers() CodeMirror
8166        extension in which the code was refactored. The callback passed to
8167        .createColorMarkers() handles the CSSStyleDeclarationTextEditor-specific creation
8168        of color swatches to show the popover, keeping the existing behavior of the Styles
8169        sidebar panel.
8170
8171        * UserInterface/CodeMirrorAdditions.js:
8172        Refactor existing code into two new CodeMirror extensions: .boundsForRange(), which
8173        was previously defined on the CodeMirrorTokenTrackingController but was also needed
8174        in the new CodeMirrorColorEditingController, and .createColorMarkers(), discussed above.
8175
8176        * UserInterface/CodeMirrorColorEditingController.js: Added.
8177        (WebInspector.CodeMirrorColorEditingController):
8178        New class used by SourceCodeTextEditor to coordinate the editing of a color in a CodeMirror
8179        TextMarker by a ColorPicker hosted in a Popover shown by the activation of a HoverMenu. This
8180        controller automatically gets the color set by the user using the ColorPicker and updates
8181        the CodeMirror text editor with the new value. When the user presses the Esc. key while the
8182        popover is shown, it's automatically dismissed and the original color is reset in the editor.
8183
8184        (WebInspector.CodeMirrorColorEditingController.prototype.get marker):
8185        (WebInspector.CodeMirrorColorEditingController.prototype.get range):
8186        (WebInspector.CodeMirrorColorEditingController.prototype.get delegate):
8187        (WebInspector.CodeMirrorColorEditingController.prototype.set delegate):
8188        Getters and setters for public properties.
8189
8190        (WebInspector.CodeMirrorColorEditingController.prototype.get color):
8191        (WebInspector.CodeMirrorColorEditingController.prototype.set color):
8192        Get and set the color for the edited color marker, replacing the text in the marker's range
8193        upon setting.
8194
8195        (WebInspector.CodeMirrorColorEditingController.prototype.presentHoverMenu):
8196        Public API allowing for a HoverMenu to be shown around the bounds of the TextMarker passed
8197        in the constructor. This method is called from SourceCodeTextEditor when the
8198        CodeMirrorTokenTrackingController identifies that a token that is part of a TextMarker is
8199        hovered and that token is a color.
8200
8201        (WebInspector.CodeMirrorColorEditingController.prototype.dismissHoverMenu):
8202        Public API allowing for the HoverMenu to be dismissed. This method is called when the
8203        CodeMirrorTokenTrackingController identifies that its "hoveredMarker" is no longer being
8204        hovered as well as when we identify that editing of the color has completed.
8205
8206        (WebInspector.CodeMirrorColorEditingController.prototype.handleEvent):
8207        Event handler for the "keydown" event that are being listened to when the HoverMenu
8208        is activated such that the Esc. key can be used to dimiss the popover and reset the
8209        original color before any edits.
8210
8211        (WebInspector.CodeMirrorColorEditingController.prototype.hoverMenuButtonWasPressed):
8212        Implementation of the HoverMenu delegation method used to show a Popover containing a
8213        ColorPicker upon clicking on the color wheel attached to the HoverMenu. We also remember
8214        the color set on the marker so that it may be restored when Esc. is pressed and used to
8215        set the original state of the ColorPicker. The delegation method
8216        colorEditingControllerDidStartEditing() is also called at this point, which the
8217        SourceCodeTextEditor implements.
8218
8219        (WebInspector.CodeMirrorColorEditingController.prototype.didDismissPopover):
8220        Implementation of the Popover delegation method used to identify that color editing has
8221        completed. The delegation method colorEditingControllerDidFinishEditing() is called
8222        at this point, which the SourceCodeTextEditor implements.
8223
8224        (WebInspector.CodeMirrorColorEditingController.prototype._colorPickerColorChanged):
8225        Apply the color set in the color picker to the CodeMirror text editor.
8226
8227        * UserInterface/CodeMirrorTokenTrackingController.js:
8228        Add two new modes to CodeMirrorTokenTrackingController. The first mode is "None" and is
8229        the default, incurring no specific token handling behavior. The second mode is "MarkedTokens"
8230        which identifies hover of a token contained in a CodeMirror TextMarker range. The new
8231        "MarkedTokens" mode is used by SourceCodeTextEditor to identify when a marked color is being
8232        hovered to display a HoverMenu.
8233
8234        (WebInspector.CodeMirrorTokenTrackingController):
8235        (WebInspector.CodeMirrorTokenTrackingController.prototype.set mode):
8236        Make "None" the new default mode for CodeMirrorTokenTrackingController.
8237
8238        (WebInspector.CodeMirrorTokenTrackingController.prototype.get hoveredMarker):
8239        (WebInspector.CodeMirrorTokenTrackingController.prototype.set hoveredMarker):
8240        (WebInspector.CodeMirrorTokenTrackingController.prototype._updateHoveredTokenInfo):
8241        Check, when we have a "hoveredMarker" set on the CodeMirrorTokenTrackingController,
8242        whether the "hoveredMarker" is still being hovered when there is no token at the current
8243        mouse position. We can then determine when we're mousing out of the "hoveredMarker" and
8244        notify the delegate via the new tokenTrackingControllerMouseOutOfHoveredMarker delegate
8245        method. The SourceCodeTextEditor uses this method to dismiss its CodeMirrorColorEditingController.
8246
8247        (WebInspector.CodeMirrorTokenTrackingController.prototype._processNewHoveredToken):
8248        Add support for the new "MarkedTokens" mode.
8249
8250        (WebInspector.CodeMirrorTokenTrackingController.prototype._processMarkedToken):
8251        For the moment, use the same behavior as the existing "MarkedTokens" mode.
8252
8253        * UserInterface/Color.js:
8254        (WebInspector.Color):
8255        Add a new "valid" property to identify whether a color has any invalid (NaN) component. This property
8256        is used by SourceCodeTextEditor to establish whether a hovered color marker is indeed set to a
8257        valid color still.
8258
8259        (WebInspector.Color.prototype.copy):
8260        New method to create an exact copy of a Color instance, used by CodeMirrorColorEditingController
8261        to duplicate the edited color in case we need to revert it.
8262
8263        * UserInterface/HoverMenu.js:
8264        (WebInspector.HoverMenu.prototype._handleClickEvent):
8265        Rename hoverMenuWasActivated to hoverMenuButtonWasPressed per review feedback.
8266
8267        * UserInterface/Images/ColorIcon.png: Added.
8268        * UserInterface/Images/ColorIcon@2x.png: Added.
8269        New color wheel icon used to customize the HoverMenu shown by a CodeMirrorColorEditingController.
8270
8271        * UserInterface/Main.html:
8272        Link to the new CodeMirrorColorEditingController.js file.
8273
8274        * UserInterface/SourceCodeTextEditor.css:
8275        (.hover-menu.color):
8276        (.hover-menu.color > img):
8277        Customize the HoverMenu shown by a CodeMirrorColorEditingController to use the new ColorIcon asset.
8278
8279        * UserInterface/SourceCodeTextEditor.js:
8280        (WebInspector.SourceCodeTextEditor):
8281        Add a new "_ignoreContentDidChange" ivar that increments and decrements to track when handling
8282        of CodeMirror content changes should be disabled.
8283
8284        (WebInspector.SourceCodeTextEditor.prototype.close):
8285        Adopt the new ._updateTokenTrackingControllerState() method to update the state of the
8286        CodeMirrorTokenTrackingController.
8287
8288        (WebInspector.SourceCodeTextEditor.prototype.contentDidChange):
8289        Override the new TextEditor public API called when content in the CodeMirror text editor is changed.
8290        We use this method to process any newly added line to create any newly added color marker.
8291
8292        (WebInspector.SourceCodeTextEditor.prototype._contentDidPopulate):
8293        (WebInspector.SourceCodeTextEditor.prototype._debuggerDidPause):
8294        (WebInspector.SourceCodeTextEditor.prototype._debuggerDidResume):
8295        (WebInspector.SourceCodeTextEditor.prototype._sourceCodeSourceMapAdded):
8296        Adopt the new ._updateTokenTrackingControllerState() method to update the state of the
8297        CodeMirrorTokenTrackingController.
8298
8299        (WebInspector.SourceCodeTextEditor.prototype._updateTokenTrackingControllerState):
8300        New method acting as the only point where we check the state of the text editor and set the right
8301        mode and settings on the CodeMirrorTokenTrackingController, including setting the new "MarkedTokens"
8302        mode when we have color markers, as determined by ._hasColorMarkers().
8303
8304        (WebInspector.SourceCodeTextEditor.prototype._hasColorMarkers):
8305        Check whether any of the TextMarkers set on the CodeMirror text editor were created for a color.
8306
8307        (WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerHighlightedRangeWasClicked):
8308        Check the CodeMirrorTokenTrackingController mode rather than the removed "_jumpToSymbolTrackingModeEnabled"
8309        ivar to identify we're in the "NonSymbolTokens" mode.
8310
8311        (WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerNewHighlightCandidate):
8312        Refactor method to use the CodeMirrorTokenTrackingController mode to branch into mode-specific code
8313        and add a new branch for the new "MarkedTokens" mode where we check if the newly hovered token
8314        is part of a color TextMarker range.
8315
8316        (WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerMouseOutOfHoveredMarker):
8317        Implement this new CodeMirrorTokenTrackingController delegation method to dismiss the
8318        CodeMirrorColorEditingController as we identify we're no longer hovering over the TextMarker
8319        for which the CodeMirrorColorEditingController was created.
8320
8321        (WebInspector.SourceCodeTextEditor.prototype._showPopover):
8322        Adopt the new TextEditor boundsForRange() method.
8323
8324        (WebInspector.SourceCodeTextEditor.prototype._updateColorMarkers):
8325        Harness the new TextEditor createColorMarkers() method to create new TextMarkers for the provided
8326        line, or the entire text editor content if none provided. We then immediately call _updateTokenTrackingControllerState()
8327        so that the new "MarkedTokens" mode is entered in case color TextMarkers were created for the first
8328        time for this text editor.
8329
8330        (WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedMarkedExpression):
8331        Called when we've identified the CodeMirrorTokenTrackingController highlighted a TextMarker. We check
8332        if any of the hovered TextMarkers are for a color, and in this case create a CodeMirrorColorEditingController
8333        to coordinate the display of a ColorPicker in a Popover to edit the hovered color token. We also check
8334        whether the hovered marker still contains a valid color, clearing the marker in case it was edited to
8335        no longer contain a color.
8336
8337        (WebInspector.SourceCodeTextEditor.prototype._dismissCodeMirrorColorEditingController):
8338        Used to dismiss the CodeMirrorColorEditingController, if previously presented, and reset some internal state.
8339
8340        (WebInspector.SourceCodeTextEditor.prototype.colorEditingControllerDidStartEditing):
8341        Implement this CodeMirrorColorEditingController delegation method to temporarily disable the
8342        CodeMirrorTokenTrackingController while we edit the color with the ColorPicker, remove
8343        the TextMarker for the edited color and instruct that content changes should be ignored
8344        such that we act on the complete set of color edits upon completion.
8345
8346        (WebInspector.SourceCodeTextEditor.prototype.colorEditingControllerDidFinishEditing):
8347        Update color markers for the edited line such that any color edits are correctly updated for
8348        the future and so that, as a side-effect, the CodeMirrorColorEditingController is reset to the
8349        appropriate mode depending on whether color TextMarkers are indeed available, resetting states
8350        that may have been altered by colorEditingControllerDidStartEditing().
8351
8352        * UserInterface/TextEditor.js:
8353        (WebInspector.TextEditor.prototype.contentDidChange):
8354        New public method meant to be overriden by subclasses, added for the use of SourceCodeTextEditor, exposing
8355        the list of TextRanges affected by the content change, both in the context of the old content and new content.
8356
8357        (WebInspector.TextEditor.prototype.boundsForRange):
8358        (WebInspector.TextEditor.prototype.get markers):
8359        (WebInspector.TextEditor.prototype.findMarkersAtPosition):
8360        (WebInspector.TextEditor.prototype.createColorMarkers):
8361        (WebInspector.TextEditor.prototype.colorEditingControllerForMarker):
8362        New public methods calling into the CodeMirror private ivar for the benefit of SourceCodeTextEditor.
8363
8364        (WebInspector.TextEditor.prototype._contentChanged):
8365        Call the new contentDidChange() method.
8366
83672013-12-05  Seokju Kwon  <seokju@webkit.org>
8368
8369        Web Inspector: Remove 'cookiesString' output from Page.getCookies
8370        https://bugs.webkit.org/show_bug.cgi?id=125268
8371
8372        Reviewed by Timothy Hatcher.
8373
8374        Remove 'cookiesString' output from Page.getCookies protocol.
8375        It is no longer meaningful because it is an unused parameter.
8376
8377        * UserInterface/CookieStorageContentView.js:
8378        (WebInspector.CookieStorageContentView.prototype.update):
8379        * UserInterface/InspectorBackendCommands.js:
8380
83812013-12-05  Brian J. Burg  <burg@cs.washington.edu>
8382
8383        Web Inspector: expose node and frame snapshot capabilities.
8384        https://bugs.webkit.org/show_bug.cgi?id=124326
8385
8386        Reviewed by Joseph Pecoraro.
8387
8388        Add method signatures for snapshotNode() and snapshotRect().
8389        Remove method signature for unimplemented Page.captureScreenshot.
8390
8391        * UserInterface/InspectorBackendCommands.js:
8392
83932013-12-05  Alexandru Chiculita  <achicu@adobe.com>
8394
8395        Web Inspector: [CSS Regions] Show a list of containing regions when clicking a node that is part of a flow
8396        https://bugs.webkit.org/show_bug.cgi?id=124614
8397
8398        Reviewed by Timothy Hatcher.
8399
8400        Added a new function in DOMTreeManager called getNodeContentFlowInfo that can be used
8401        to retrieve an object with the following structure:
8402        {
8403             "regionFlow": <Reference to the ContentFlow object referenced by the -webkit-flow-from property of the node>,
8404             "contentFlow": <Reference to the ContentFlow object referenced by the -webkit-flow-into property of
8405                             the node or a parent of the node>,
8406             "regions": [ list of DOMNodes representing the regions containers of the node. The node is split across all these regions. ]
8407        }
8408
8409        Also, used this method to display a two new sections in the Computed Styles panel.
8410        1. Section "Flows": can have up to two Simple Rows: "Region Flow" and "Content Flow".
8411        2. Section "Container Regions" contains a DOMTreeDataGrid with the list of regions.
8412
8413        The sections are only visible when there's content to display.
8414
8415        Next to the "Region Flow" simple row I've added an arrow that will take the user to the "ContentFlowDOMTreeContentView" of the
8416        ContentFlow. The same happens for the "Content Flow", but in this case the element will also be highlighted.
8417
8418        Part of the patch I've added the DOMTreeDataGridNode. LayerTreeDataGrid has a lot of CSS in common with it, so I
8419        will make another patch to refactor LayerTreeDataGrid to use DOMTreeDataGridNode as a base class.
8420
8421        * Localizations/en.lproj/localizedStrings.js:
8422        * UserInterface/ComputedStyleDetailsPanel.css: Added.
8423        (.details-section > .content > .group > .row.simple.content-flow-link > .label):
8424        (.details-section > .content > .group > .row.simple.content-flow-link > .value):
8425        (.details-section > .content > .group > .row.simple.content-flow-link > .value > div):
8426        (.details-section > .content > .group > .row.simple.content-flow-link > .value > div > .icon):
8427        (.details-section > .content > .group > .row.simple.content-flow-link > .value > div > span):
8428        (.details-section > .content > .group > .row.simple.content-flow-link > .value > div > .go-to-arrow):
8429        (.details-section > .content > .group > .row.simple.content-flow-link:hover > .value > div > .go-to-arrow):
8430        * UserInterface/ComputedStyleDetailsPanel.js:
8431        (WebInspector.ComputedStyleDetailsPanel):
8432        (WebInspector.ComputedStyleDetailsPanel.prototype.get regionFlow):
8433        (WebInspector.ComputedStyleDetailsPanel.prototype.set regionFlow):
8434        (WebInspector.ComputedStyleDetailsPanel.prototype.get contentFlow):
8435        (WebInspector.ComputedStyleDetailsPanel.prototype.set contentFlow):
8436        (WebInspector.ComputedStyleDetailsPanel.prototype.get containerRegions):
8437        (WebInspector.ComputedStyleDetailsPanel.prototype.set containerRegions):
8438        (WebInspector.ComputedStyleDetailsPanel.prototype.refresh):
8439        (WebInspector.ComputedStyleDetailsPanel.prototype._computedStyleShowAllCheckboxValueChanged):
8440        (WebInspector.ComputedStyleDetailsPanel.prototype._resetFlowDetails):
8441        (WebInspector.ComputedStyleDetailsPanel.prototype._refreshFlowDetails.contentFlowInfoReady):
8442        (WebInspector.ComputedStyleDetailsPanel.prototype._refreshFlowDetails):
8443        (WebInspector.ComputedStyleDetailsPanel.prototype._goToRegionFlowArrowWasClicked):
8444        (WebInspector.ComputedStyleDetailsPanel.prototype._goToContentFlowArrowWasClicked):
8445        * UserInterface/DOMTreeDataGrid.css: Added.
8446        (.dom-tree-data-grid .data-grid):
8447        (.dom-tree-data-grid .data-grid table.data):
8448        (.dom-tree-data-grid .data-container):
8449        (.dom-tree-data-grid .data-container tr):
8450        (.dom-tree-data-grid .data-container td > div):
8451        (.dom-tree-data-grid .data-container .name-column):
8452        (.dom-tree-data-grid .data-container .name-column .icon):
8453        (.dom-tree-data-grid .data-container .name-column .label):
8454        (.dom-tree-data-grid .data-container tr:hover .name-column .label):
8455        (.dom-tree-data-grid .data-container .go-to-arrow):
8456        (.dom-tree-data-grid .data-container tr:hover .go-to-arrow):
8457        (.dom-tree-data-grid .data-container tbody > tr:nth-child(2n)):
8458        (.dom-tree-data-grid .data-container tbody > tr:nth-child(2n+1)):
8459        * UserInterface/DOMTreeDataGrid.js: Added.
8460        (WebInspector.DOMTreeDataGrid):
8461        (WebInspector.DOMTreeDataGrid.prototype._onmousemove):
8462        (WebInspector.DOMTreeDataGrid.prototype._onmouseout):
8463        * UserInterface/DOMTreeDataGridNode.js: Added.
8464        (WebInspector.DOMTreeDataGridNode):
8465        (WebInspector.DOMTreeDataGridNode.prototype.get domNode):
8466        (WebInspector.DOMTreeDataGridNode.prototype.createCellContent):
8467        (WebInspector.DOMTreeDataGridNode.prototype._updateNodeName):
8468        (WebInspector.DOMTreeDataGridNode.prototype._makeNameCell):
8469        (WebInspector.DOMTreeDataGridNode.prototype._updateNameCellData):
8470        (WebInspector.DOMTreeDataGridNode.prototype._goToArrowWasClicked):
8471        * UserInterface/DOMTreeManager.js:
8472        (WebInspector.DOMTreeManager.prototype.unregisteredNamedFlowContentElement):
8473        (WebInspector.DOMTreeManager.prototype.nodeRequested):
8474        (WebInspector.DOMTreeManager.prototype._coerceRemoteArrayOfDOMNodes):
8475        (WebInspector.DOMTreeManager.prototype.domNodeResolved):
8476        (WebInspector.DOMTreeManager.prototype.regionNodesAvailable):
8477        (WebInspector.DOMTreeManager.prototype.get if):
8478        (WebInspector.DOMTreeManager.prototype.get var):
8479        (WebInspector.DOMTreeManager.prototype.backendFunction.getComputedProperty):
8480        (WebInspector.DOMTreeManager.prototype.backendFunction.getContentFlowName):
8481        (WebInspector.DOMTreeManager.prototype.):
8482        * UserInterface/DataGrid.css:
8483        (.data-grid.no-header > table.header):
8484        (.data-grid.no-header .data-container):
8485        * UserInterface/DetailsSection.js:
8486        (WebInspector.DetailsSection):
8487        * UserInterface/InspectorBackend.js:
8488        (InspectorBackendClass.prototype._wrap):
8489        * UserInterface/Main.html:
8490        * UserInterface/ResourceSidebarPanel.js:
8491        (WebInspector.ResourceSidebarPanel.prototype.showContentFlowDOMTree):
8492        * UserInterface/RuntimeManager.js:
8493        (WebInspector.RuntimeManager.prototype.evaluateInInspectedWindow):
8494        (WebInspector.RuntimeManager.prototype.getPropertiesForRemoteObject):
8495
84962013-12-04  Antoine Quint  <graouts@apple.com>
8497
8498        Web Inspector: ColorWheel uses old Color constructor
8499        https://bugs.webkit.org/show_bug.cgi?id=125260
8500
8501        Reviewed by Joseph Pecoraro.
8502
8503        Update to new WebInspector.Color constructor signature and use a clear color.
8504
8505        * UserInterface/ColorWheel.js:
8506        (WebInspector.ColorWheel.prototype.get tintedColor):
8507        (WebInspector.ColorWheel.prototype.get rawColor):
8508
85092013-12-04  Antoine Quint  <graouts@apple.com>
8510
8511        Web Inspector: color picker doesn't work with "blue"
8512        https://bugs.webkit.org/show_bug.cgi?id=125262
8513
8514        Reviewed by Joseph Pecoraro.
8515
8516        Under certain circumstances rounding issues would have us compare
8517        two equal numbers that differ by 0.00000001 and sometime trip this
8518        if statement and yield a null color. We now add a little fudge to
8519        the test and also return a clear color rather than null to match what
8520        we do in the getters for "tintedColor" and "rawColor".
8521
8522        * UserInterface/ColorWheel.js:
8523        (WebInspector.ColorWheel.prototype._colorAtPointWithBrightness):
8524
85252013-12-04  Antoine Quint  <graouts@apple.com>
8526
8527        Web Inspector: use only two decimals for opacity in rgba/hsla colors
8528        https://bugs.webkit.org/show_bug.cgi?id=125261
8529
8530        Reviewed by Joseph Pecoraro.
8531
8532        * UserInterface/ColorPicker.js:
8533        (WebInspector.ColorPicker.prototype._updateColor):
8534
85352013-12-04  Antoine Quint  <graouts@apple.com>
8536
8537        Web Inspector: "data detectors" menu on hover for actionable tokens
8538        https://bugs.webkit.org/show_bug.cgi?id=124363
8539
8540        Reviewed by Timothy Hatcher.
8541
8542        Add a new WebInspector.HoverMenu class to display an overlay menu that is presented
8543        with respect to a target frame that it draws itself around adding a customizable
8544        action button to its right. The menu uses fade animations as it's presented and
8545        dismissed and a single delegation method is fired when the button is pressed. Finally,
8546        just like a popover, it automatically dismisses itself upon scrolling anywhere
8547        outside of its bounds.
8548
8549        * UserInterface/HoverMenu.css: Added.
8550        * UserInterface/HoverMenu.js: Added.
8551        (WebInspector.HoverMenu):
8552        (WebInspector.HoverMenu.prototype.get element):
8553        (WebInspector.HoverMenu.prototype.dismiss):
8554        (WebInspector.HoverMenu.prototype.handleEvent):
8555        (WebInspector.HoverMenu.prototype._handleClickEvent):
8556        * UserInterface/Images/HoverMenuButton.png: Added.
8557        * UserInterface/Images/HoverMenuButton@2x.png: Added.
8558        * UserInterface/Main.html:
8559
85602013-12-04  Antoine Quint  <graouts@apple.com>
8561
8562        Web Inspector: edited color should serialize back to original format when possible
8563        https://bugs.webkit.org/show_bug.cgi?id=125244
8564
8565        Reviewed by Joseph Pecoraro.
8566
8567        Profoundly reworked WebInspector.Color to be more efficient and more flexible when
8568        serializing the color to the various supported formats.
8569
8570        * UserInterface/CSSStyleDeclarationTextEditor.js:
8571        (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches):
8572        Use new WebInspector.Color.fromString() factory and check for a null return value
8573        rather than an exception to identify invalid color tokens.
8574
8575        * UserInterface/Color.js:
8576        (WebInspector.Color):
8577        Rewrote WebInspector.Color such that it would have, at all times, a canonical
8578        representation in terms of either RGBA or HSLA depending on the format used to
8579        create the color. The new constructor parameters lets the user pass a format
8580        and the RGBA or HSLA components, allowing to bypass the string-only creation
8581        system which was sub-optimal for the new color picker. Additionally, the toString()
8582        method now can provide the most accurate serialization of the color based on the
8583        provided format with a fallback mechanism to RGB/RGBA in cases where the desired
8584        format would incur a loss of fidelity. Finally, simplified the API to only feature
8585        essential features.
8586
8587        (WebInspector.Color.fromString):
8588        New factory method used to create a color from a string.
8589
8590        * UserInterface/ColorPicker.js:
8591        (WebInspector.ColorPicker.prototype.set color):
8592        Keep track of the original color format so that we can use it as the preferred format
8593        when serializing the updated color in _updateColor().
8594
8595        (WebInspector.ColorPicker.prototype._updateColor):
8596        Use the original color format as the prefered formation for color serialization. Also,
8597        use the new WebInspector.Color constructor in lieu of the removed .fromRGBA factory.
8598
8599        (WebInspector.ColorPicker.prototype._updateSliders):
8600        Use the new WebInspector.Color constructor in lieu of the removed .fromRGBA factory.
8601
8602        * UserInterface/ColorWheel.js:
8603        (WebInspector.ColorWheel.prototype._colorAtPointWithBrightness):
8604        Use the new WebInspector.Color constructor in lieu of the removed .fromRGB factory.
8605
86062013-12-03  Seokju Kwon  <seokju@webkit.org>
8607
8608        Web Inspector: Remove '_attachedWindowHeight' property in InspectorFrontendHostStub.js
8609        https://bugs.webkit.org/show_bug.cgi?id=125204
8610
8611        Reviewed by Timothy Hatcher.
8612
8613        '_attachedWindowHeight' property is not used anywhere, so remove it.
8614
8615        * UserInterface/InspectorFrontendHostStub.js:
8616        (.WebInspector.InspectorFrontendHostStub):
8617
86182013-12-03  Brian J. Burg  <burg@cs.washington.edu>
8619
8620        Web Inspector: restore navigation panel state across reloads and reopens
8621        https://bugs.webkit.org/show_bug.cgi?id=122125
8622
8623        Reviewed by Timothy Hatcher.
8624
8625        The previous strategy for restoring content views after inspector
8626        re-open did not consider the active sidebar and its selection, and
8627        tried to recreate the appropriate selection from the saved content
8628        view. However, doesn't work for tree elements in the sidebar panel
8629        that don't change views when selected, such as script breakpoints,
8630        special breakpoints, call stack, timeline sections, etc.
8631
8632        This patch implements a new strategy that saves the navigation
8633        sidebar panel's view state by serializing the identity of the
8634        selected element's represented object. Relevant represented
8635        object classes implement the saveIdentityToCookie() method. Each
8636        represented object class also adds a TypeIdentifier property to
8637        its constructor, to aid inexact matching based on represented
8638        object type, rather than its complete identity.
8639
8640        When restoring, the navigation sidebar attempts to match added
8641        tree elements against the pending cookie, and selects the element
8642        if it matches. A represented object matches if its serialized
8643        identity matches the previously saved serialized identity.
8644
8645        The inspector view state is now only saved on the page hide event
8646        (for saving across reopen) and when the main frame commits its
8647        provisional load (for saving across same-page reloads). It
8648        consolidates similar view state settings into a single setting.
8649
8650        * UserInterface/ApplicationCacheFrame.js:
8651        (WebInspector.ApplicationCacheFrame): Add cookie keys and type identifier.
8652        (WebInspector.ApplicationCacheFrame.prototype.saveIdentityToCookie): Added.
8653        * UserInterface/ApplicationCacheManager.js: remove objectForCookie().
8654        * UserInterface/Breakpoint.js:
8655        (WebInspector.Breakpoint): Add cookie keys and type identifier.
8656        (WebInspector.Breakpoint.prototype.saveIdentityToCookie):
8657        * UserInterface/CookieStorageObject.js:
8658        (WebInspector.CookieStorageObject.prototype.saveIdentityToCookie): Added.
8659        * UserInterface/DOMStorageObject.js:
8660        (WebInspector.DOMStorageObject): Add cookie keys and type identifier.
8661        (WebInspector.DOMStorageObject.prototype.saveIdentityToCookie): Added.
8662        * UserInterface/DatabaseObject.js:
8663        (WebInspector.DatabaseObject): Add cookie keys and type identifier.
8664        (WebInspector.DatabaseObject.prototype.saveIdentityToCookie): Added.
8665        * UserInterface/DatabaseTableObject.js:
8666        (WebInspector.DatabaseTableObject): Add cookie keys and type identifier.
8667        (WebInspector.DatabaseTableObject.prototype.saveIdentityToCookie): Added.
8668        * UserInterface/DebuggerSidebarPanel.js:
8669        (WebInspector.DebuggerSidebarPanel.prototype.saveStateToCookie): Added.
8670        (WebInspector.DebuggerSidebarPanel.prototype.restoreStateFromCookie): Added.
8671        * UserInterface/Frame.js:
8672        (WebInspector.Frame): Add cookie keys and type identifier.
8673        (WebInspector.Frame.prototype.saveIdentityToCookie): Added.
8674        * UserInterface/FrameResourceManager.js: remove objectForCookie().
8675        * UserInterface/InstrumentSidebarPanel.js:
8676        (WebInspector.InstrumentSidebarPanel.prototype.showTimelineForRecordType):
8677        Return the shown timeline, if any.
8678
8679        (WebInspector.InstrumentSidebarPanel.prototype.saveStateToCookie): Added.
8680        (WebInspector.InstrumentSidebarPanel.prototype.restoreStateFromCookie): Added.
8681        (WebInspector.InstrumentSidebarPanel.prototype.showProfile):
8682        Return the shown profile, if any.
8683
8684        * UserInterface/Main.js:
8685        (WebInspector): Added cookie keys for the selected sidebar and
8686        typeidentifier of the sidebar's selected tree element.
8687
8688        (WebInspector.contentLoaded): Remove callbacks for
8689        resolveAndShowPendingContentViewCookie(). Consolidate all saved
8690        inspector view state into one Setting. Move special-cased
8691        restoring of the console to the restoration method. Move saving
8692        of last opened navigation panel to the saving method.
8693
8694        (WebInspector._mainResourceDidChange): Try to restore saved view
8695        state when the main resource changes.
8696
8697        (WebInspector._provisionalLoadCommitted): Update the saved view
8698        state when the navigation commits. This is the last chance to save
8699        it before the main resource changes and the navigation panel view
8700        state is discarded and rebuilt.
8701
8702        (WebInspector._pageHidden): Update the saved view state when the
8703        inspector page is hidden, but before state is discarded.
8704
8705        (WebInspector._navigationSidebarPanelSelected): Don't save last
8706        navigation sidebar panel.
8707        (WebInspector._updateCookieForInspectorViewState): Renamed from
8708        _updateCurrentContentViewCookie. It delegates view state
8709        serialization to the currently open navigation sidebar, rather
8710        than the current content view.
8711
8712        (WebInspector._contentBrowserRepresentedObjectsDidChange): Don't
8713        spuriously serialize the current view state cookie on every
8714        ContentView change.
8715
8716        (WebInspector._restoreInspectorViewStateFromCookie): Renamed from
8717        _showContentViewForCookie. It now restores a specific navigation
8718        panel and delegates remaining view state restoration to the panel
8719        itself. Last-resort selection of any tree element with the same
8720        type identifier was moved to the navigation panel's restore method.
8721
8722        * UserInterface/NavigationSidebarPanel.js:
8723        (WebInspector.NavigationSidebarPanel):
8724        (WebInspector.NavigationSidebarPanel.prototype.set contentTreeOutline):
8725        (WebInspector.NavigationSidebarPanel.prototype.createContentTreeOutline):
8726        Save references to all created TreeOutlines in a Set, so we can
8727        restore any tree's selection.
8728
8729        (WebInspector.NavigationSidebarPanel.prototype.saveStateToCookie):
8730        Added. Find the selected tree element from all tree outlines and
8731        ask it to serialize its identity.
8732
8733        (WebInspector.NavigationSidebarPanel.prototype.restoreStateFromCookie):
8734        Added. Eagerly search existing tree elements for a matching
8735        representedObject. If none exists, save the pending cookie and
8736        schedule last-resort matching using the provided timeout interval.
8737
8738        (WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged):
8739        Check if the added tree element matches a pending view state
8740        cookie, if one exists.
8741
8742        (WebInspector.NavigationSidebarPanel.prototype.treeElementMatchesCookie):
8743        Added. Check if the tree element's representedObject matches the
8744        pending view state cookie.
8745
8746        (WebInspector.NavigationSidebarPanel.prototype._checkElementsForPendingViewStateCookie):
8747        Added. For each provided tree element, check if the tree
8748        element's represented object produces the same serialized identity
8749        as the pending view state cookie that we are trying to resolve.
8750        If a match is found (possibly by relaxing to matching anything
8751        with the same type), select the tree element and clear both the
8752        pending view state cookie and last-resort selection timer.
8753
8754        * UserInterface/Resource.js:
8755        (WebInspector.Resource): Add cookie keys and type identifier.
8756        (WebInspector.Resource.prototype.saveIdentityToCookie): Added.
8757
8758        * UserInterface/ResourceClusterContentView.js:
8759        (WebInspector.ResourceClusterContentView.prototype.saveToCookie):
8760        (WebInspector.ResourceClusterContentView.prototype.restoreFromCookie):
8761        Since identity state is serialized by the representedObject, these
8762        methods only need to save view-specific state, such as the visible
8763        subview. Remove extraneous state.
8764
8765        * UserInterface/Script.js:
8766        (WebInspector.Script): Add cookie keys and type identifier.
8767        (WebInspector.Script.prototype.saveIdentityToCookie): Added.
8768        * UserInterface/StorageManager.js: remove objectForCookie().
8769        * UserInterface/TimelineManager.js: remove objectForCookie().
8770        * UserInterface/TimelinesContentView.js:
8771        (WebInspector.TimelinesContentView.prototype.saveToCookie):
8772        (WebInspector.TimelinesContentView.prototype.restoreFromCookie):
8773        Since identity state is serialized by the representedObject, these
8774        methods only need to save view-specific state, such as the visible
8775        subview. Remove extraneous state.
8776
8777        * UserInterface/TreeOutline.js: Add TreeOutline.prototype.constructor
8778        so other code can assume the constructor property exists.
8779
87802013-12-02  Antoine Quint  <graouts@apple.com>
8781
8782        Web Inspector: popover can overlap target frame
8783        https://bugs.webkit.org/show_bug.cgi?id=125069
8784
8785        Reviewed by Joseph Pecoraro.
8786
8787        Fix a regression introduced in http://trac.webkit.org/changeset/159286. We should only
8788        offset the frame of the popover in the y-axis if the target edge is on the x-axis, and
8789        vice versa. We also remove the needsToDrawBackground check since it incorrectly disregarded
8790        the anchor point. We now always draw the background which is a lot safer and guarantees
8791        we'll always draw an adequate frame and anchor point.
8792
8793        * UserInterface/Popover.js:
8794        (WebInspector.Popover.prototype._update):
8795        (WebInspector.Popover.prototype._bestMetricsForEdge):
8796
87972013-12-02  Antoine Quint  <graouts@apple.com>
8798
8799        Web Inspector: add a method to add padding around a WebInspector.Rect
8800        https://bugs.webkit.org/show_bug.cgi?id=125072
8801
8802        Reviewed by Joseph Pecoraro.
8803
8804        Add a new WebInspector.Rect.prototype.pad() method which does not alter
8805        the rectangle it's called and returns a new rect much like .inset(). I've
8806        checked all call sites and there was no reuse of the rectangle that was
8807        padded so this patch won't have any side effects.
8808
8809        * UserInterface/Breakpoint.js:
8810        (WebInspector.Breakpoint.prototype._showEditBreakpointPopover):
8811        * UserInterface/CSSStyleDeclarationTextEditor.js:
8812        * UserInterface/Geometry.js:
8813        (WebInspector.Rect.prototype.pad):
8814        * UserInterface/LayerTreeSidebarPanel.js:
8815        (WebInspector.LayerTreeSidebarPanel.prototype._updatePopoverForSelectedNode):
8816        * UserInterface/SourceCodeTextEditor.js:
8817        (WebInspector.SourceCodeTextEditor.prototype._showPopover):
8818        * UserInterface/TimelineDataGrid.js:
8819        (WebInspector.TimelineDataGrid.prototype._updatePopoverForSelectedNode):
8820
88212013-11-26  Antoine Quint  <graouts@apple.com>
8822
8823        Web Inspector: Allow showing a context menu on all mouse events.
8824        https://bugs.webkit.org/show_bug.cgi?id=124747
8825
8826        Reviewed by Joseph Pecoraro.
8827
8828        Automatically dispatch a contextmenu event in case WebInspector.ContextMenu.prototype.show()
8829        is called outside of a contextmenu event handler and would therefore not show the expected
8830        context menu (except in the Remote Web Inspector where this already works).
8831
8832        * UserInterface/ContextMenu.js:
8833        (WebInspector.ContextMenu.prototype.show):
8834        Check whether the event is a contextmenu event, and if not, add an event listener for a manually
8835        dispatched contextmenu event such that we may then call InspectorFrontendHost.showContextMenu()
8836        in a contextmenu event handler.
8837
8838        (WebInspector.ContextMenu.prototype.handleEvent):
8839        Call InspectorFrontendHost.showContextMenu() now that we received the manually dispatched
8840        contextmenu event.
8841
88422013-11-25  Alexandru Chiculita  <achicu@adobe.com>
8843
8844        Web Inspector: [CSS Regions] A page with many flows should collapse the resources tree
8845        https://bugs.webkit.org/show_bug.cgi?id=122926
8846
8847        Reviewed by Timothy Hatcher.
8848
8849        Refactored the code in FrameTreeElement._shouldGroupIntoFolders to make it easy to track
8850        more types of resources. Added the content flows as another type of resource that would trigger the
8851        collapsing.
8852
8853        * UserInterface/DOMTreeManager.js:
8854        (WebInspector.DOMTreeManager.prototype.namedFlowRemoved): Added code to remove the content nodes from
8855        a flow that has been removed.
8856        * UserInterface/FrameTreeElement.js:
8857        (WebInspector.FrameTreeElement.prototype._shouldGroupIntoFolders.pushCategory):
8858        (WebInspector.FrameTreeElement.prototype._shouldGroupIntoFolders.pushResourceType):
8859        (WebInspector.FrameTreeElement.prototype._shouldGroupIntoFolders):
8860
88612013-11-25  Dan Bernstein  <mitz@apple.com>
8862
8863        Set the svn:ignore property on the Xcode project to ignore the workspace and user data.
8864
8865        * WebInspectorUI.xcodeproj: Added property svn:ignore.
8866
88672013-11-21  Mark Rowe  <mrowe@apple.com>
8868
8869        <https://webkit.org/b/124702> Stop overriding VALID_ARCHS.
8870
8871        All modern versions of Xcode set it appropriately for our needs.
8872
8873        Reviewed by Alexey Proskuryakov.
8874
8875        * Configurations/Base.xcconfig:
8876
88772013-11-19  Antoine Quint  <graouts@apple.com>
8878
8879        Web Inspector: layer info sidebar should convert to MB for very large layers
8880        https://bugs.webkit.org/show_bug.cgi?id=124570
8881
8882        Reviewed by Timothy Hatcher.
8883
8884        Setting higherResolution to true (its default value if omitted) when calling
8885        Number.bytesToString() would always result in a KB-formatted string instead
8886        since it didn't check for a < 1024 value as well.
8887
8888        * UserInterface/Utilities.js:
8889        (Number.bytesToString):
8890
88912013-11-19  Antoine Quint  <graouts@apple.com>
8892
8893        Remove some unused utilities from Utilities.js
8894        https://bugs.webkit.org/show_bug.cgi?id=124590
8895
8896        Reviewed by Darin Adler.
8897
8898        Remove some methods and properties that were no longer used through the codebase.
8899
8900        * UserInterface/Utilities.js:
8901
89022013-11-18  Alexandru Chiculita  <achicu@adobe.com>
8903
8904        Web Inspector: Update WebInspectorUI to use the new "nodeIds" parameter for DOM.performSearch
8905        https://bugs.webkit.org/show_bug.cgi?id=124544
8906
8907        Reviewed by Joseph Pecoraro.
8908
8909        Added the new DOM.performSearch "nodeIds" parameter and made the two implementations
8910        of DOMTreeContentView provide the right context node ids.
8911
8912        DOMTreeContentView is just using the id of the document node while ContentFlowDOMTreeContentView
8913        is passing the list of content nodes.
8914
8915        Note that adding an extra optional parameter to DOM.performSearch does not break iOS 6 and 7 compatibility.
8916
8917        * UserInterface/ContentFlowDOMTreeContentView.js:
8918        (WebInspector.ContentFlowDOMTreeContentView.prototype.getSearchContextNodes):
8919        * UserInterface/DOMTreeContentView.js:
8920        (WebInspector.DOMTreeContentView.prototype.performSearch.contextNodesReady):
8921        (WebInspector.DOMTreeContentView.prototype.performSearch):
8922        (WebInspector.DOMTreeContentView.prototype.getSearchContextNodes):
8923        * UserInterface/FrameDOMTreeContentView.js:
8924        (WebInspector.FrameDOMTreeContentView.prototype.getSearchContextNodes):
8925        * UserInterface/InspectorBackendCommands.js:
8926
89272013-11-18  Joseph Pecoraro  <pecoraro@apple.com>
8928
8929        Web Inspector: Update localizedStrings, remove stale string
8930        https://bugs.webkit.org/show_bug.cgi?id=124543
8931
8932        Reviewed by Jessie Berlin.
8933
8934        Remove stale localized strings after r124543 remove the old color picker.
8935
8936        * Localizations/en.lproj/localizedStrings.js:
8937
89382013-11-15  Antoine Quint  <graouts@apple.com>
8939
8940        Web Inspector: New color picker
8941        https://bugs.webkit.org/show_bug.cgi?id=124354
8942
8943        Reviewed by Timothy Hatcher.
8944
8945        Beginning of a new color picker. The focus of this new picker is to let you pick from
8946        a color wheel as the primary mean of color picking, with additional slider controls for
8947        the brightness and the opacity, better matching the default OS X color picker. This is the
8948        basis for a color picker that will evolve to support the following:
8949
8950        - editable CSS value label (http://webkit.org/b/124356)
8951        - picking a color anywhere on screen (http://webkit.org/b/124357)
8952        - swatches based on other colors in page (http://webkit.org/b/124358)
8953
8954        Note also that the color wheel has not been tested on Retina displays
8955        (see http://webkit.org/b/124355).
8956
8957        * UserInterface/CSSColorPicker.css: Removed.
8958        * UserInterface/CSSColorPicker.js: Removed.
8959        Previous color picker, now removed in favor of the new ColorPicker class.
8960
8961        * UserInterface/CSSStyleDeclarationTextEditor.js:
8962        Adopt new class name for the color picker, add a little padding to the popover
8963        target frame and set the base color after the picker has been presented.
8964
8965        * UserInterface/Color.js:
8966        (WebInspector.Color.prototype._hslToRGB):
8967        Simplified math.
8968
8969        (WebInspector.Color.rgb2hsv):
8970        (WebInspector.Color.hsv2rgb):
8971        New utilities to deal with HSV colors used in the ColorWheel.
8972
8973        * UserInterface/ColorPicker.css: Added.
8974
8975        * UserInterface/ColorPicker.js: Added.
8976        (WebInspector.ColorPicker):
8977        (WebInspector.ColorPicker.prototype.get element):
8978        (WebInspector.ColorPicker.prototype.set brightness):
8979        (WebInspector.ColorPicker.prototype.set opacity):
8980        (WebInspector.ColorPicker.prototype.get color):
8981
8982        (WebInspector.ColorPicker.prototype.set color):
8983        We set the _dontUpdateColor flag here such that we don't attempt to
8984        notify about a color change at this point in case the selected color
8985        is too saturated to be represented accurately on the color wheel and
8986        we would end up changing the color by virtue of presenting the popover.
8987
8988        (WebInspector.ColorPicker.prototype.colorWheelColorDidChange):
8989        (WebInspector.ColorPicker.prototype.sliderValueDidChange):
8990        (WebInspector.ColorPicker.prototype._updateColor):
8991        (WebInspector.ColorPicker.prototype._updateSliders):
8992
8993        * UserInterface/ColorWheel.css: Added.
8994
8995        * UserInterface/ColorWheel.js: Added.
8996        The ColorWheel makes use of three different <canvas> elements to draw itself.
8997        The "raw" canvas is used to draw the raw, un-tinted color wheel with poor
8998        aliasing. The "raw" canvas is only drawn when the dimension is changed.
8999        The "tinted" canvas is used to draw the "raw" canvas with a black overlay
9000        based on the brightness set on the wheel. The "final" canvas, the only <canvas>
9001        element attached to the DOM, is used to draw the "tinted" canvas into a circle
9002        clip of a slightly narrower radius so that the drawn image is visually more pleasing
9003        and can be displayed above virtually any background color.
9004
9005        We use color math to generate the color wheel, courtesy of Dean Jackson, and also to
9006        figure out where to position the crosshair for the provided base color as well as
9007        the opposite operation where we get the color under the mouse pointer.
9008
9009        The color wheel fires a single delegate method call colorWheelColorDidChange(colorWheel),
9010        the colors themselves being retrieved via the public properties tintedColor and rawColor.
9011
9012        (WebInspector.ColorWheel):
9013        (WebInspector.ColorWheel.prototype.set dimension):
9014        (WebInspector.ColorWheel.prototype.get element):
9015        (WebInspector.ColorWheel.prototype.get brightness):
9016        (WebInspector.ColorWheel.prototype.set brightness):
9017        (WebInspector.ColorWheel.prototype.get tintedColor):
9018        (WebInspector.ColorWheel.prototype.set tintedColor):
9019        (WebInspector.ColorWheel.prototype.get rawColor):
9020        (WebInspector.ColorWheel.prototype.handleEvent):
9021        (WebInspector.ColorWheel.prototype._handleMousedown):
9022        (WebInspector.ColorWheel.prototype._handleMousemove):
9023        (WebInspector.ColorWheel.prototype._handleMouseup):
9024        (WebInspector.ColorWheel.prototype._pointInCircleForEvent):
9025        (WebInspector.ColorWheel.prototype._pointInCircleForEvent.angleFromCenterToPoint):
9026        (WebInspector.ColorWheel.prototype._pointInCircleForEvent.pointOnCircumference):
9027        (WebInspector.ColorWheel.prototype._updateColorForMouseEvent):
9028        (WebInspector.ColorWheel.prototype._setCrosshairPosition):
9029        (WebInspector.ColorWheel.prototype._tintedColorToPointAndBrightness):
9030        (WebInspector.ColorWheel.prototype._drawRawCanvas):
9031        (WebInspector.ColorWheel.prototype._colorAtPointWithBrightness):
9032        (WebInspector.ColorWheel.prototype._drawTintedCanvas):
9033        (WebInspector.ColorWheel.prototype._draw):
9034
9035        * UserInterface/Images/SliderThumb.png: Added.
9036        * UserInterface/Images/SliderThumb@2x.png: Added.
9037        * UserInterface/Images/SliderThumbPressed.png: Added.
9038        * UserInterface/Images/SliderThumbPressed@2x.png: Added.
9039        Supporting artwork for the new Slider class.
9040
9041        * UserInterface/Main.html:
9042        Remove the previous color picker class and add the new one, as well as the new Slider class.
9043
9044        * UserInterface/Slider.css: Added.
9045
9046        * UserInterface/Slider.js: Added.
9047        New slider to match the look of the sliders used in the native OS X color picker. The most
9048        interesting feature of these sliders is that they can be transformed using CSS in any way
9049        and will still operate correctly due to always converting the mouse coordinates in the page
9050        coordinate system to the coordinate system local to the backing element. For instance, the
9051        color picker uses two sliders transformed to be displayed vertically.
9052
9053        As it stands these slides only support values between 0 and 1 and fire a single delegate
9054        method call sliderValueDidChange(slider, newValue).
9055
9056        (WebInspector.Slider):
9057        (WebInspector.Slider.prototype.get element):
9058        (WebInspector.Slider.prototype.get value):
9059        (WebInspector.Slider.prototype.set value):
9060        (WebInspector.Slider.prototype.handleEvent):
9061        (WebInspector.Slider.prototype._handleMousedown):
9062        (WebInspector.Slider.prototype._handleMousemove):
9063        (WebInspector.Slider.prototype._handleMouseup):
9064        (WebInspector.Slider.prototype._localPointForEvent):
9065        (WebInspector.Slider.prototype.get _maxX):
9066
9067        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
9068        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
9069        Update file names for the new color picker.
9070
90712013-11-14  Antoine Quint  <graouts@apple.com>
9072
9073        Web Inspector: Popovers may shrink unnecessarily
9074        https://bugs.webkit.org/show_bug.cgi?id=124350
9075
9076        Reviewed by Timothy Hatcher.
9077
9078        Because we always get the intersection of the preferred frame and the container frame to
9079        ensure the popover fits within its container based on a preferred frame that would place
9080        the arrow within the center of the attachment edge, we get in situations where we may
9081        shrink the popover instead of shifting it to fit within the container frame. We now first
9082        shift the preferred frame before getting its intersection with the container frame to
9083        avoid such situations.
9084
9085        * UserInterface/Popover.js:
9086        (WebInspector.Popover.prototype._bestMetricsForEdge):
9087
90882013-11-13  Joseph Pecoraro  <pecoraro@apple.com>
9089
9090        Web Inspector: Split Inspector.json into individual domain json files
9091        https://bugs.webkit.org/show_bug.cgi?id=124098
9092
9093        Reviewed by Timothy Hatcher.
9094
9095        Removed now stale comments referring to the combined Inspector.json.
9096        Make update-InspectorBackendCommands helper script generate a
9097        combined Inspector.json to still work for tip of tree.
9098
9099        * Scripts/update-InspectorBackendCommands.rb:
9100        * UserInterface/ApplicationCacheObserver.js:
9101        * UserInterface/CSSObserver.js:
9102        * UserInterface/CanvasObserver.js:
9103        * UserInterface/ConsoleObserver.js:
9104        * UserInterface/DOMObserver.js:
9105        * UserInterface/DOMStorageObserver.js:
9106        * UserInterface/DatabaseObserver.js:
9107        * UserInterface/DebuggerObserver.js:
9108        * UserInterface/InspectorBackendCommands.js:
9109        * UserInterface/InspectorObserver.js:
9110        * UserInterface/LayerTreeObserver.js:
9111        * UserInterface/NetworkObserver.js:
9112        * UserInterface/PageObserver.js:
9113        * UserInterface/ProfilerObserver.js:
9114        * UserInterface/Resource.js:
9115        * UserInterface/RuntimeObserver.js:
9116        * UserInterface/TimelineObserver.js:
9117
91182013-11-12  Alexandru Chiculita  <achicu@adobe.com>
9119
9120        Web Inspector: ContentFlowTreeContentView should use only one DOMTreeOutline
9121        https://bugs.webkit.org/show_bug.cgi?id=124230
9122
9123        Reviewed by Timothy Hatcher.
9124
9125        Changed ContentFlowTreeContentView to use one DOMTreeOutline by just
9126        populating it with root DOMTreeElements directly. That is very
9127        similar to how DOMTreeOutline works when omitRootDOMNode is used.
9128
9129        Now that ContentFlowTreeContentView has only one DOMTreeOutline,
9130        it makes sense to change its base class to be DOMTreeContentView instead.
9131        Also, with that I've changed its name to ContentFlowDOMTreeContentView.
9132
9133        I had to move all the DOMTree document loading code from DOMTreeContentView to a
9134        new class called FrameDOMTreeContentView. This is used to display the DOM of the
9135        frame objects. FrameDOMTreeContentView is also inheriting from DOMTreeContentView.
9136
9137        Issues that are fixed as a side effect:
9138        - Selection path components are now displaying all the sibling elements for contentFlow.contentNodes
9139        (those are the nodes that have "-webkit-flow-into" set directly).
9140        - Keyboard navigation works for the contentFlow.contentNodes.
9141        - Search is implemented in DOMTreeContentView, so that code now works for flows too.
9142        The DOMAgents's search API will use all the Documents to lookup for nodes, so it might
9143        find DOM nodes that are not part of the flow. This is in line with the behavior for the
9144        frames.
9145
9146        * UserInterface/ContentFlowDOMTreeContentView.js: Renamed from ContentFlowTreeContentView
9147        to better reflect the inheritance from DOMTreeContentView.
9148        (WebInspector.ContentFlowDOMTreeContentView):
9149        (WebInspector.ContentFlowDOMTreeContentView.prototype.closed):
9150        (WebInspector.ContentFlowDOMTreeContentView.prototype._createContentTrees):
9151        (WebInspector.ContentFlowDOMTreeContentView.prototype._contentNodeWasAdded):
9152        (WebInspector.ContentFlowDOMTreeContentView.prototype._contentNodeWasRemoved):
9153        * UserInterface/ContentView.js:
9154        (WebInspector.ContentView):
9155        * UserInterface/DOMTreeContentView.js:
9156        (WebInspector.DOMTreeContentView):
9157        (WebInspector.DOMTreeContentView.prototype.closed):
9158        (WebInspector.DOMTreeContentView.prototype.):
9159        (WebInspector.DOMTreeContentView.prototype._restoreSelectedNodeAfterUpdate):
9160        (WebInspector.DOMTreeContentView.prototype._selectedNodeDidChange):
9161        * UserInterface/FrameDOMTreeContentView.js: Added.
9162        (WebInspector.FrameDOMTreeContentView):
9163        (WebInspector.FrameDOMTreeContentView.prototype.get domTree):
9164        (WebInspector.FrameDOMTreeContentView.prototype.closed):
9165        (WebInspector.FrameDOMTreeContentView.prototype._rootDOMNodeAvailable):
9166        (WebInspector.FrameDOMTreeContentView.prototype._rootDOMNodeInvalidated):
9167        (WebInspector.FrameDOMTreeContentView.prototype._requestRootDOMNode):
9168        * UserInterface/Main.html:
9169
91702013-11-08  Joseph Pecoraro  <pecoraro@apple.com>
9171
9172        Web Inspector: remove -webkit-min and -webkit-max from CSS completions
9173        https://bugs.webkit.org/show_bug.cgi?id=124072
9174
9175        Reviewed by Timothy Hatcher.
9176
9177        -webkit-min and -webkit-max are not implemented in WebCore, despite mentions of it.
9178
9179        * UserInterface/CSSKeywordCompletions.js:
9180
91812013-11-07  Alexandru Chiculita  <achicu@adobe.com>
9182
9183        Web Inspector: CSS Regions: Use a Map object to store the ContentFlows
9184        https://bugs.webkit.org/show_bug.cgi?id=124015
9185
9186        Reviewed by Joseph Pecoraro.
9187
9188        Changed the Object hashmap to a Map based hashmap when storing the flows in DOMTreeManager.
9189
9190        * UserInterface/DOMTreeManager.js:
9191        (WebInspector.DOMTreeManager):
9192        (WebInspector.DOMTreeManager.prototype.getNamedFlowCollection):
9193        (WebInspector.DOMTreeManager.prototype.namedFlowRemoved):
9194        (WebInspector.DOMTreeManager.prototype._sendNamedFlowUpdateEvents):
9195
91962013-11-07  Timothy Hatcher  <timothy@apple.com>
9197
9198        Fix up some sidebar switching details to make selections persist better.
9199
9200        Translate represented objects between sidebars so the same item can be reselected
9201        as you switch between frames and main reources. Also fix some null checks that are
9202        needed on selectedSidebarPanel.
9203
9204        https://bugs.webkit.org/show_bug.cgi?id=124001
9205
9206        Reviewed by Joseph Pecoraro.
9207
9208        * UserInterface/DebuggerSidebarPanel.js:
9209        (WebInspector.DebuggerSidebarPanel.prototype.treeElementForRepresentedObject): Added. Translate a Frame
9210        representedObject into a main resource representedObject.
9211        * UserInterface/Main.js:
9212        (WebInspector._revealAndSelectRepresentedObjectInNavigationSidebar): Null check selectedSidebarPanel.
9213        (WebInspector._updateNavigationSidebarForCurrentContentView): Fix a logic error to match other code.
9214        allowedNavigationSidebarPanels.length needs to have a length before using contains.
9215        (WebInspector._contentBrowserCurrentContentViewDidChange): Null check selectedSidebarPanel.
9216        * UserInterface/ResourceSidebarPanel.js:
9217        (WebInspector.ResourceSidebarPanel.prototype.treeElementForRepresentedObject): Translate a main resource
9218        representedObject into a Frame representedObject.
9219
92202013-11-07  Alexandru Chiculita  <achicu@adobe.com>
9221
9222        Web Inspector: CSS Regions: Removing a content node of a ContentFlow from the DOM will send a 0 nodeId
9223        https://bugs.webkit.org/show_bug.cgi?id=123577
9224
9225        Reviewed by  Timothy Hatcher.
9226
9227        Fixed the content node removal from the content flow.
9228
9229        * UserInterface/ContentFlowTreeContentView.js:
9230        * UserInterface/DOMTreeManager.js:
9231        (WebInspector.DOMTreeManager):
9232        (WebInspector.DOMTreeManager.prototype._createContentFlowFromPayload): Registered all the content nodes
9233        in the _contentNodesToFlowsMap.
9234        (WebInspector.DOMTreeManager.prototype._unbind): Added call to _removeContentNodeFromFlowIfNeeded.
9235        (WebInspector.DOMTreeManager.prototype._removeContentNodeFromFlowIfNeeded): Called from _unbind to check
9236        and remove a node from it's parent content flow if needed.
9237        (WebInspector.DOMTreeManager.prototype.unregisteredNamedFlowContentElement):
9238
92392013-11-06  Timothy Hatcher  <timothy@apple.com>
9240
9241        Properly null check positionToReveal in ResourceSidebarPanel.prototype.showSourceCode.
9242
9243        https://bugs.webkit.org/show_bug.cgi?id=123921
9244
9245        Reviewed by Joseph Pecoraro.
9246
9247        * UserInterface/ResourceSidebarPanel.js:
9248        (WebInspector.ResourceSidebarPanel.prototype.showSourceCode):
9249
92502013-11-06  Timothy Hatcher  <timothy@apple.com>
9251
9252        Fix the display of query parameters when the value is missing.
9253
9254        https://bugs.webkit.org/show_bug.cgi?id=123920
9255
9256        Reviewed by Joseph Pecoraro.
9257
9258        * UserInterface/ResourceDetailsSidebarPanel.js:
9259        (WebInspector.ResourceDetailsSidebarPanel.prototype._createNameValueDataGrid):
9260
92612013-11-06  Alexandru Chiculita  <achicu@adobe.com>
9262
9263        Web Inspector: CSS Regions: When a flow is clicked the content of flow needs to be displayed
9264        https://bugs.webkit.org/show_bug.cgi?id=122927
9265
9266        Reviewed by Joseph Pecoraro.
9267
9268        ContentFlowTreeContentView is now used to display the content nodes of a ContentFlow. It is
9269        very similar to the DOMTreeContentView class, but can handle multiple root nodes.
9270
9271        * UserInterface/ContentFlowTreeContentView.js: Added.
9272        (WebInspector.ContentFlowTreeContentView):
9273        (WebInspector.ContentFlowTreeContentView.prototype.get selectionPathComponents):
9274        (WebInspector.ContentFlowTreeContentView.prototype.updateLayout):
9275        (WebInspector.ContentFlowTreeContentView.prototype.shown):
9276        (WebInspector.ContentFlowTreeContentView.prototype.hidden):
9277        (WebInspector.ContentFlowTreeContentView.prototype.closed):
9278        (WebInspector.ContentFlowTreeContentView.prototype._selectedNodeDidChange):
9279        (WebInspector.ContentFlowTreeContentView.prototype._pathComponentSelected):
9280        (WebInspector.ContentFlowTreeContentView.prototype._createContentNodeTree):
9281        (WebInspector.ContentFlowTreeContentView.prototype._createContentTrees):
9282        (WebInspector.ContentFlowTreeContentView.prototype._contentNodeWasAdded):
9283        (WebInspector.ContentFlowTreeContentView.prototype._contentNodeWasRemoved):
9284        * UserInterface/ContentView.js:
9285        (WebInspector.ContentView):
9286        (WebInspector.ContentView.isViewable):
9287        * UserInterface/DOMTreeElement.js:
9288        (WebInspector.DOMTreeElement.prototype.ondeselect): We need to remove the selected "dom node"
9289        so that the element is not going to stay selected after the we move to a different DOM tree.
9290        * UserInterface/DOMTreeOutline.js:
9291        (WebInspector.DOMTreeOutline.prototype.selectDOMNode):
9292        * UserInterface/Main.html:
9293        * UserInterface/Main.js:
9294        (WebInspector.sidebarPanelForRepresentedObject):
9295        * UserInterface/ResourceSidebarPanel.js:
9296        (WebInspector.ResourceSidebarPanel.prototype._treeElementSelected):
9297
92982013-11-01  Antoine Quint  <graouts@apple.com>
9299
9300        Remove custom Function.prototype.bind() in favor of native version
9301        https://bugs.webkit.org/show_bug.cgi?id=123608
9302
9303        Reviewed by Joseph Pecoraro.
9304
9305        * UserInterface/Utilities.js:
9306
93072013-11-01  Antoine Quint  <graouts@apple.com>
9308
9309        Error trying to serialize a color created without an alpha component to RGBA or HSLA
9310        https://bugs.webkit.org/show_bug.cgi?id=123623
9311
9312        Reviewed by Joseph Pecoraro.
9313
9314        Check whether we have .rgba and .hsla ivars before trying to retrieve them to serialize
9315        the color to RGBA or HSLA format.
9316
9317        * UserInterface/Color.js:
9318        (WebInspector.Color.prototype.toString):
9319
93202013-11-01  Antoine Quint  <graouts@apple.com>
9321
9322        Remove custom Element.prototype.remove() in favor of native version
9323        https://bugs.webkit.org/show_bug.cgi?id=123607
9324
9325        Reviewed by Timothy Hatcher.
9326
9327        * UserInterface/Utilities.js:
9328
93292013-10-31  Joseph Pecoraro  <pecoraro@apple.com>
9330
9331        Web Inspector: Breakpoints in auto-formatted JavaScript editors are not working
9332        https://bugs.webkit.org/show_bug.cgi?id=123589
9333
9334        Reviewed by Timothy Hatcher.
9335
9336        The internal this._ignoreCodeMirrorContentDidChangeEvent flag was being used
9337        in two places that could be nested, meaning the flag was deleted while it
9338        was still expected to be set. Change it instead to a counter, to handle nesting.
9339
9340        * UserInterface/TextEditor.js:
9341        (WebInspector.TextEditor):
9342        (WebInspector.TextEditor.prototype.set string):
9343        (WebInspector.TextEditor.prototype.set formatted):
9344        (WebInspector.TextEditor.prototype._contentChanged):
9345
93462013-10-31  Joseph Pecoraro  <pecoraro@apple.com>
9347
9348        Web Inspector: Remove stale optional native memory instrumentation protocol params
9349        https://bugs.webkit.org/show_bug.cgi?id=123552
9350
9351        Reviewed by Timothy Hatcher.
9352
9353        * UserInterface/InspectorBackendCommands.js:
9354
93552013-10-30  Joseph Pecoraro  <pecoraro@apple.com>
9356
9357        Web Inspector: Fix PrettyPrinting Tool Load from Saved URL
9358
9359        Reviewed by Timothy Hatcher.
9360
9361        * Tools/PrettyPrinting/index.html:
9362
93632013-10-28  Alexandru Chiculita  <achicu@adobe.com>
9364
9365        Web Inspector: CSS Regions: Add protocol API to expose content nodes addition/removal
9366        https://bugs.webkit.org/show_bug.cgi?id=123424
9367
9368        Reviewed by Timothy Hatcher.
9369
9370        Exposed the new CSS Agent events to the ContentFlow class that will now maintain
9371        a list of nodes in the "contentNodes" property.
9372
9373        * UserInterface/CSSObserver.js:
9374        (WebInspector.CSSObserver.prototype.regionOversetChanged):
9375        (WebInspector.CSSObserver.prototype.registeredNamedFlowContentElement):
9376        (WebInspector.CSSObserver.prototype.unregisteredNamedFlowContentElement):
9377        * UserInterface/ContentFlow.js:
9378        (WebInspector.ContentFlow):
9379        (WebInspector.ContentFlow.prototype.set overset):
9380        (WebInspector.ContentFlow.prototype.get contentNodes):
9381        (WebInspector.ContentFlow.prototype.insertContentNodeBefore):
9382        (WebInspector.ContentFlow.prototype.appendContentNode):
9383        (WebInspector.ContentFlow.prototype.removeContentNode):
9384        * UserInterface/DOMTreeManager.js:
9385        (WebInspector.DOMTreeManager.prototype._createContentFlowFromPayload):
9386        (WebInspector.DOMTreeManager.prototype._updateContentFlowFromPayload):
9387        (WebInspector.DOMTreeManager.prototype.regionOversetChanged):
9388        (WebInspector.DOMTreeManager.prototype.registeredNamedFlowContentElement):
9389        (WebInspector.DOMTreeManager.prototype.unregisteredNamedFlowContentElement):
9390        * UserInterface/InspectorBackendCommands.js:
9391
93922013-10-25  Joseph Pecoraro  <pecoraro@apple.com>
9393
9394        Web Inspector: PrettyPrinting tool should have save button
9395        https://bugs.webkit.org/show_bug.cgi?id=123371
9396
9397        Reviewed by Timothy Hatcher.
9398
9399        Add buttons to save as a URL to share or to save/clear to
9400        localStorage for easier reloads testing local changes.
9401
9402        * Tools/PrettyPrinting/index.html:
9403
94042013-10-25  Joseph Pecoraro  <pecoraro@apple.com>
9405
9406        Web Inspector: Command+Click on url(…) should go to image not source line
9407        https://bugs.webkit.org/show_bug.cgi?id=123362
9408
9409        Reviewed by Timothy Hatcher.
9410
9411        CodeMirror changed "url" from being type "variable-2" to "string-2".
9412
9413        * UserInterface/CodeMirrorAdditions.js:
9414
94152013-10-25  Jessie Berlin  <jberlin@apple.com>
9416
9417        Ran update-localizable-strings after changes made in r157947.
9418
9419        Rubber-stamped by Timothy Hatcher.
9420
9421        * Localizations/en.lproj/localizedStrings.js:
9422
94232013-10-24  Mark Rowe  <mrowe@apple.com>
9424
9425        Remove references to OS X 10.7 from Xcode configuration settings.
9426
9427        Now that we're not building for OS X 10.7 they're no longer needed.
9428
9429        Reviewed by Anders Carlsson.
9430
9431        * Configurations/Base.xcconfig:
9432        * Configurations/DebugRelease.xcconfig:
9433        * Configurations/Version.xcconfig:
9434
94352013-10-24  Mark Rowe  <mrowe@apple.com>
9436
9437        <rdar://problem/15312643> Prepare for the mysterious future.
9438
9439        Reviewed by David Kilzer.
9440
9441        * Configurations/Base.xcconfig:
9442        * Configurations/DebugRelease.xcconfig:
9443        * Configurations/Version.xcconfig:
9444
94452013-10-24  Timothy Hatcher  <timothy@apple.com>
9446
9447        Allow editing CSS resources after they have been pretty printed.
9448
9449        https://bugs.webkit.org/show_bug.cgi?id=123297
9450
9451        Reviewed by Joseph Pecoraro.
9452
9453        * UserInterface/TextEditor.js:
9454        (WebInspector.TextEditor): Remove the need for _readOnly.
9455        (WebInspector.TextEditor.prototype.set readOnly): Set CodeMirror readOnly directly.
9456        (WebInspector.TextEditor.prototype.set formatted): Don't call _updateCodeMirrorReadOnly.
9457        (WebInspector.TextEditor.prototype._updateCodeMirrorReadOnly): Removed.
9458        (WebInspector.TextEditor.prototype._contentChanged): Clear _formatted and _formatterSourceMap
9459        on edit and notify the delegate and fire the FormattingDidChange event.
9460
94612013-10-24  Timothy Hatcher  <timothy@apple.com>
9462
9463        Adjust the precision of byte strings in Web Inspector.
9464
9465        https://bugs.webkit.org/show_bug.cgi?id=123281
9466
9467        Reviewed by Joseph Pecoraro.
9468
9469        * UserInterface/Utilities.js:
9470        (Number.bytesToString): More precision for MB and less precision for 10..1023 KB.
9471
94722013-10-24  Alexandru Chiculita  <achicu@adobe.com>
9473
9474        Web Inspector: Add a way to test the Manager and model classes
9475        https://bugs.webkit.org/show_bug.cgi?id=123223
9476
9477        Reviewed by Timothy Hatcher.
9478
9479        Moved some global functions out of Main.js, so that they can be used in the
9480        layout tests without including Main.js.
9481
9482        * UserInterface/Main.html: Referenced the new JS files.
9483        * UserInterface/Main.js:
9484        * UserInterface/MessageDispatcher.js: Added.
9485        (WebInspector.dispatchNextQueuedMessageFromBackend):
9486        (WebInspector.dispatchMessageFromBackend):
9487        * UserInterface/URLUtilities.js: Added.
9488        (removeURLFragment):
9489        (relativePath):
9490        (parseURL):
9491        (absoluteURL):
9492        (parseLocationQueryParameters):
9493        (parseQueryString):
9494        (WebInspector.displayNameForURL):
9495        (WebInspector.displayNameForHost):
9496        * UserInterface/Utilities.js:
9497
94982013-10-21  Alexandru Chiculita  <achicu@adobe.com>
9499
9500        Web Inspector: [CSS Regions] Flows are not loading if you refresh the page several times
9501        https://bugs.webkit.org/show_bug.cgi?id=123123
9502
9503        Reviewed by Joseph Pecoraro.
9504
9505        There was a typo in the code where an exception was thrown because "flowKey" was undefined.
9506
9507        * UserInterface/DOMTree.js:
9508        (WebInspector.DOMTree.prototype._contentFlowListWasUpdated):
9509
95102013-10-21  Oliver Hunt  <oliver@apple.com>
9511
9512        Restore accidentally removed files.
9513
9514        * UserInterface/GoToLineDialog.css: Added.
9515        (.go-to-line-dialog):
9516        (.go-to-line-dialog > div):
9517        (.go-to-line-dialog > div > input):
9518        (.go-to-line-dialog > div > input::-webkit-input-placeholder):
9519        (.go-to-line-dialog > div > img):
9520        (.go-to-line-dialog > div > img:active):
9521        (.go-to-line-dialog.non-empty > div > img):
9522        * UserInterface/GoToLineDialog.js: Added.
9523        (WebInspector.GoToLineDialog):
9524        (WebInspector.GoToLineDialog.prototype.present):
9525        (WebInspector.GoToLineDialog.prototype.dismiss):
9526        (WebInspector.GoToLineDialog.prototype.handleEvent):
9527        (WebInspector.GoToLineDialog.prototype._handleInputEvent):
9528        (WebInspector.GoToLineDialog.prototype._handleKeydownEvent):
9529        (WebInspector.GoToLineDialog.prototype._handleBlurEvent):
9530        (WebInspector.GoToLineDialog.prototype._handleMousedownEvent):
9531        (WebInspector.GoToLineDialog.prototype._handleClickEvent):
9532        (WebInspector.GoToLineDialog.prototype._clear):
9533        * UserInterface/Images/CloseWhite.svg: Added.
9534
95352013-10-18  Alexandru Chiculita  <achicu@adobe.com>
9536
9537        Web Inspector: CSS Regions: Add the list of flows in the FrameTreeElement
9538        https://bugs.webkit.org/show_bug.cgi?id=122924
9539
9540        Reviewed by Timothy Hatcher.
9541
9542        Added code to collect the flows from the backend into the DOMTree object
9543        on the frontend. Added ContentFlow to represent the flows on the frontend
9544        side and created ContentFlowTreeElement to display the flows in the FrameTreeElement.
9545
9546        * Localizations/en.lproj/localizedStrings.js:
9547        * Scripts/copy-user-interface-resources.sh:
9548        * UserInterface/CSSObserver.js:
9549        (WebInspector.CSSObserver.prototype.namedFlowCreated):
9550        (WebInspector.CSSObserver.prototype.namedFlowRemoved):
9551        (WebInspector.CSSObserver.prototype.regionLayoutUpdated):
9552        (WebInspector.CSSObserver.prototype.regionOversetChanged):
9553        * UserInterface/ContentFlow.js: Added.
9554        (WebInspector.ContentFlow):
9555        (WebInspector.ContentFlow.prototype.get id):
9556        (WebInspector.ContentFlow.prototype.get documentNodeIdentifier):
9557        (WebInspector.ContentFlow.prototype.get name):
9558        (WebInspector.ContentFlow.prototype.get overset):
9559        (WebInspector.ContentFlow.prototype.set overset):
9560        * UserInterface/ContentFlowIcon.css: Added.
9561        (.content-flow-icon .icon):
9562        * UserInterface/ContentFlowTreeElement.js: Added.
9563        (WebInspector.ContentFlowTreeElement):
9564        * UserInterface/DOMTree.js:
9565        (WebInspector.DOMTree):
9566        (WebInspector.DOMTree.prototype.get flowMap):
9567        (WebInspector.DOMTree.prototype.get flowsCount):
9568        (WebInspector.DOMTree.prototype._framePageExecutionContextChanged):
9569        (WebInspector.DOMTree.prototype.requestContentFlowList):
9570        (WebInspector.DOMTree.prototype._isContentFlowInCurrentDocument):
9571        (WebInspector.DOMTree.prototype._contentFlowListWasUpdated):
9572        (WebInspector.DOMTree.prototype._contentFlowWasAdded):
9573        (WebInspector.DOMTree.prototype._contentFlowWasRemoved):
9574        * UserInterface/DOMTreeManager.js:
9575        (WebInspector.DOMTreeManager):
9576        (WebInspector.DOMTreeManager._flowPayloadHashKey):
9577        (WebInspector.DOMTreeManager.prototype._buildHighlightConfig):
9578        (WebInspector.DOMTreeManager.prototype._createContentFlowFromPayload):
9579        (WebInspector.DOMTreeManager.prototype._updateContentFlowFromPayload):
9580        (WebInspector.DOMTreeManager.prototype.getNamedFlowCollection):
9581        (WebInspector.DOMTreeManager.prototype.namedFlowCreated):
9582        (WebInspector.DOMTreeManager.prototype.namedFlowRemoved):
9583        (WebInspector.DOMTreeManager.prototype._sendNamedFlowUpdateEvents):
9584        (WebInspector.DOMTreeManager.prototype.regionLayoutUpdated):
9585        (WebInspector.DOMTreeManager.prototype.regionOversetChanged):
9586        * UserInterface/FrameTreeElement.js:
9587        (WebInspector.FrameTreeElement):
9588        (WebInspector.FrameTreeElement.prototype.onpopulate):
9589        (WebInspector.FrameTreeElement.prototype.onexpand):
9590        (WebInspector.FrameTreeElement.prototype._childContentFlowWasAdded):
9591        (WebInspector.FrameTreeElement.prototype._childContentFlowWasRemoved):
9592        (WebInspector.FrameTreeElement.prototype._rootDOMNodeInvalidated):
9593        (WebInspector.FrameTreeElement.prototype._addChildForRepresentedObject):
9594        (WebInspector.FrameTreeElement.prototype._removeChildForRepresentedObject):
9595        (WebInspector.FrameTreeElement.prototype._addTreeElementForRepresentedObject):
9596        (WebInspector.FrameTreeElement.prototype._compareResourceTreeElements):
9597        (WebInspector.FrameTreeElement.prototype._insertResourceTreeElement):
9598        (WebInspector.FrameTreeElement.prototype._parentTreeElementForRepresentedObject):
9599        (WebInspector.FrameTreeElement.prototype._shouldGroupIntoFolders):
9600        * UserInterface/Images/ContentFlow.svg: Added.
9601        * UserInterface/Main.html:
9602        * UserInterface/ResourceSidebarPanel.js:
9603        (WebInspector.ResourceSidebarPanel.prototype._treeElementSelected):
9604
96052013-10-17  Antoine Quint  <graouts@apple.com>
9606
9607        Web Inspector: Go to line keyboard command and dialog
9608        https://bugs.webkit.org/show_bug.cgi?id=122893
9609
9610        Reviewed by Timothy Hatcher.
9611
9612        Add a text input over source code text editors, centered within the width of the editor
9613        and towards the top of the editor, upon pressing Command+L or Control+G to match the
9614        behavior in Chrome.
9615
9616        * Localizations/en.lproj/localizedStrings.js:
9617        New localized string "Line Number".
9618
9619        * UserInterface/GoToLineDialog.css: Added.
9620        Styling for the go-to-line dialog.
9621
9622        * UserInterface/GoToLineDialog.js: Added.
9623        (WebInspector.GoToLineDialog):
9624        Generate the DOM structure for the dialog.
9625
9626        (WebInspector.GoToLineDialog.prototype.present):
9627        Present the dialog as a child of a parent element. The dialog's text field automatically
9628        gets focus and resets to be empty.
9629
9630        (WebInspector.GoToLineDialog.prototype.dismiss):
9631        Dismiss the dialog if visible, this triggers the goToLineDialogWasDismissed delegate method.
9632
9633        (WebInspector.GoToLineDialog.prototype.handleEvent):
9634        Route the various events registered in the dialog's DOM tree: input, keydown, blur, mousedown
9635        and click.
9636
9637        (WebInspector.GoToLineDialog.prototype._handleInputEvent):
9638        Update the "non-empty" class on the dialog's element depending on the content of the dialog's
9639        text field. If there is content in the text field, this will make the clear icon visible.
9640
9641        (WebInspector.GoToLineDialog.prototype._handleKeydownEvent):
9642        If the Esc. key is pressed when there is text in the dialog's input field, clear the input field.
9643        If no text is in the input field, dismiss the input field. When the Enter key is pressed, we call
9644        the isGoToLineDialogValueValid() method on the delegate to figure out if the text field value is
9645        valid. If it's not, we select the text field value so that it may be easily replaced and play
9646        en error sound. If it's valid, we call the goToLineDialogValueWasValidated() delegate method
9647        and dismiss the dialog.
9648
9649        (WebInspector.GoToLineDialog.prototype._handleBlurEvent):
9650        Dismiss the dialog when its text field loses focus. This ensures that clicking anywhere outside
9651        of the dialog removes it from display.
9652
9653        (WebInspector.GoToLineDialog.prototype._handleMousedownEvent):
9654        Upon pressing the mouse down on the clear icon, select the entire text field content (matches
9655        the behavior of Xcode) and prevent the default event action that would blur the text field
9656        which would dismiss the dialog.
9657
9658        (WebInspector.GoToLineDialog.prototype._handleClickEvent):
9659        Clear the content of the dialog's text field upon clicking on its clear button.
9660
9661        (WebInspector.GoToLineDialog.prototype._clear):
9662        Reset the dialog's text field's value to an empty string and remove the "non-empty" CSS class name
9663        controlling the display of the clear button.
9664
9665        * UserInterface/Images/CloseWhite.svg: Added.
9666        Variation of the Close.svg icon with a white cross.
9667
9668        * UserInterface/Main.html:
9669        Link to the newly added resources for GoToLineDialog.
9670
9671        * UserInterface/SourceCodeTextEditor.js:
9672        (WebInspector.SourceCodeTextEditor):
9673        Register the Command+L and Control+G keyboard shortcuts to bring up the go-to-line dialog.
9674
9675        (WebInspector.SourceCodeTextEditor.prototype.showGoToLineDialog):
9676        Method called upon pressing the Command+L and Control+G keyboard shorcuts creating an instance
9677        of a GoToDialog if necessary, becoming its delegate and presenting it in the context of the
9678        editor's root element.
9679
9680        (WebInspector.SourceCodeTextEditor.prototype.isGoToLineDialogValueValid):
9681        Delegate method called to validate the line number presently set in the go-to-dialog's text field,
9682        checking it's a number between 1 and the number of lines in the source code.
9683
9684        (WebInspector.SourceCodeTextEditor.prototype.goToLineDialogValueWasValidated):
9685        Delegate method called when the line number set in the go-to-dialog's text field has been validated.
9686        We reveal and select the line at the number provided.
9687
9688        (WebInspector.SourceCodeTextEditor.prototype.goToLineDialogWasDismissed):
9689        Ensure the source code editor regains focus upon dismissing the go-to-dialog.
9690
9691        * UserInterface/TextEditor.js:
9692        (WebInspector.TextEditor.prototype.revealPosition):
9693        Add a new opt-in option to not highlight the revealed position. The code in goToLineDialogValueWasValidated()
9694        sets that new flag to true to avoid an unnecessary highlight on top of the selection.
9695
9696        (WebInspector.TextEditor.prototype.get lineCount):
9697        Expose the lineCount() method on the private CodeMirror instance.
9698
9699        (WebInspector.TextEditor.prototype.focus):
9700        Expose the focus() method on the private CodeMirror instance.
9701
97022013-10-17  Antoine Quint  <graouts@apple.com>
9703
9704        Web Inspector: logged objects are highlighted in blue
9705        https://bugs.webkit.org/show_bug.cgi?id=122897
9706
9707        Reviewed by Joseph Pecoraro.
9708
9709        Switch to using the system highlight color for the background selected messages.
9710        Also removing SVG assets no longer needed since we won't be showing white prompt
9711        and result icons anymore as well as a few generated canvas states.
9712
9713        * UserInterface/Images/UserInputPromptPreviousSelected.svg: Removed.
9714        * UserInterface/Images/UserInputResultSelected.svg: Removed.
9715        * UserInterface/LogContentView.css:
9716        (.console-messages:focus .console-item.selected):
9717        * UserInterface/Main.js:
9718        (WebInspector._generateDisclosureTriangleImages):
9719
97202013-10-17  Antoine Quint  <graouts@apple.com>
9721
9722        Web Inspector: allow front-end to trigger the system beep sound to signal an error
9723        https://bugs.webkit.org/show_bug.cgi?id=122955
9724
9725        Reviewed by Timothy Hatcher.
9726
9727        Provide a stub method for the new InspectorFrontendHost.beep() method.
9728
9729        * UserInterface/InspectorFrontendHostStub.js:
9730        (WebInspector.InspectorFrontendHostStub.prototype.beep):
9731
97322013-10-15  Antoine Quint  <graouts@apple.com>
9733
9734        Web Inspector: can't select text inside a text node
9735        https://bugs.webkit.org/show_bug.cgi?id=122828
9736
9737        Reviewed by Timothy Hatcher.
9738
9739        Cancel the default user interaction when a drag action starts if the
9740        element is being edited.
9741
9742        * UserInterface/DOMTreeElement.js:
9743        (WebInspector.DOMTreeElement.prototype.onattach):
9744        (WebInspector.DOMTreeElement.prototype.handleEvent):
9745
97462013-10-10  Brian J. Burg  <burg@cs.washington.edu>
9747
9748        Web Inspector: content views and managers should save/restore view state.
9749        https://bugs.webkit.org/show_bug.cgi?id=122546
9750
9751        To restore the same content view and sidebars when re-opening the
9752        inspector, a cookie is saved whenever a new content view is shown
9753        in the main content browser. Previously, this cookie was created
9754        and restored using navigation sidebar-specific logic. This has two
9755        major flaws: non-default sidebars for a represented object are not
9756        restored correctly; and it centralizes storage of view-specific
9757        state such as subview selections.
9758
9759        This patch adds ContentView methods for saving a key for the
9760        view's represented object, and saving/restoring any view-specific
9761        state as the view is shown. The 'type' field of the cookie
9762        specifies the manager which deserializes the cookie into a
9763        represented object.
9764
9765        Reviewed by Timothy Hatcher.
9766
9767        * UserInterface/ApplicationCacheFrameContentView.js:
9768        (WebInspector.ApplicationCacheFrameContentView):
9769        (WebInspector.ApplicationCacheFrameContentView.prototype.saveToCookie):
9770        (WebInspector.ApplicationCacheFrameContentView.prototype._maybeUpdate):
9771        (WebInspector.ApplicationCacheFrameContentView.prototype._updateStatus):
9772        (WebInspector.ApplicationCacheFrameContentView.prototype.updateStatus):
9773        (WebInspector.ApplicationCacheFrameContentView.prototype._updateCallback):
9774        * UserInterface/ApplicationCacheManager.js:
9775        (WebInspector.ApplicationCacheManager.prototype.networkStateUpdated):
9776        (WebInspector.ApplicationCacheManager.prototype.applicationCacheStatusUpdated):
9777        (WebInspector.ApplicationCacheManager.prototype.):
9778        (WebInspector.ApplicationCacheManager.prototype.requestApplicationCache):
9779        (WebInspector.ApplicationCacheManager.prototype.objectForCookie):
9780        (WebInspector.ApplicationCacheManager.prototype._manifestForFrameLoaded):
9781        (WebInspector.ApplicationCacheManager.prototype._framesWithManifestsLoaded):
9782        (WebInspector.ApplicationCacheManager.prototype._frameManifestUpdated):
9783        * UserInterface/BackForwardEntry.js:
9784        (WebInspector.BackForwardEntry):
9785        (WebInspector.BackForwardEntry.prototype._restoreFromCookie):
9786        * UserInterface/ContentBrowser.js:
9787        (WebInspector.ContentBrowser.prototype.showContentViewForRepresentedObject):
9788        (WebInspector.ContentBrowser.prototype.showContentView):
9789        * UserInterface/ContentView.js:
9790        (WebInspector.ContentView.prototype.saveToCookie):
9791        (WebInspector.ContentView.prototype.restoreFromCookie):
9792        * UserInterface/ContentViewContainer.js:
9793        (WebInspector.ContentViewContainer.prototype.showContentView):
9794        * UserInterface/CookieStorageContentView.js:
9795        (WebInspector.CookieStorageContentView.prototype.update):
9796        (WebInspector.CookieStorageContentView.prototype.saveToCookie):
9797        (WebInspector.CookieStorageContentView.prototype._rebuildTable):
9798        (WebInspector.CookieStorageContentView.prototype._filterCookies):
9799        * UserInterface/DOMStorageContentView.js:
9800        (WebInspector.DOMStorageContentView.prototype.saveToCookie):
9801        * UserInterface/DatabaseContentView.js:
9802        (WebInspector.DatabaseContentView.prototype.saveToCookie):
9803        (WebInspector.DatabaseContentView.prototype._messagesClicked):
9804        * UserInterface/DatabaseTableContentView.js:
9805        (WebInspector.DatabaseTableContentView):
9806        (WebInspector.DatabaseTableContentView.prototype.saveToCookie):
9807        * UserInterface/FrameContentView.js:
9808        (WebInspector.FrameContentView.prototype.saveToCookie):
9809        (WebInspector.FrameContentView.prototype.restoreFromCookie):
9810        * UserInterface/FrameResourceManager.js:
9811        (WebInspector.FrameResourceManager.prototype.objectForCookie):
9812        * UserInterface/InstrumentSidebarPanel.js:
9813        (WebInspector.InstrumentSidebarPanel):
9814        (WebInspector.InstrumentSidebarPanel.prototype.showTimeline):
9815        (WebInspector.InstrumentSidebarPanel.prototype.shown):
9816        (WebInspector.InstrumentSidebarPanel.prototype._timelinesTreeElementSelected):
9817        * UserInterface/Main.js:
9818        (WebInspector.loaded):
9819        (WebInspector.contentLoaded):
9820        (WebInspector.openURL):
9821        (WebInspector._updateCurrentContentViewCookie):
9822        (WebInspector._showContentViewForCookie.lastAttemptToRestoreFromCookie):
9823        (WebInspector._showContentViewForCookie):
9824        (WebInspector._resolveAndShowPendingContentViewCookie.delayedWork):
9825        (WebInspector._resolveAndShowPendingContentViewCookie):
9826        (WebInspector.elementDragStart):
9827        (WebInspector.elementDragEnd):
9828        (WebInspector.createMessageTextView):
9829        (WebInspector.linkifyStringAsFragment):
9830        * UserInterface/NavigationSidebarPanel.js:
9831        * UserInterface/ResourceClusterContentView.js:
9832        (WebInspector.ResourceClusterContentView.prototype.saveToCookie):
9833        (WebInspector.ResourceClusterContentView.prototype.restoreFromCookie):
9834        * UserInterface/ResourceSidebarPanel.js:
9835        (WebInspector.ResourceSidebarPanel.prototype.showSourceCode):
9836        (WebInspector.ResourceSidebarPanel.prototype._mainFrameDidChange):
9837        (WebInspector.ResourceSidebarPanel.prototype._domStorageObjectWasAdded):
9838        (WebInspector.ResourceSidebarPanel.prototype._databaseWasAdded):
9839        (WebInspector.ResourceSidebarPanel.prototype._cookieStorageObjectWasAdded):
9840        (WebInspector.ResourceSidebarPanel.prototype._frameManifestAdded):
9841        * UserInterface/ScriptContentView.js:
9842        (WebInspector.ScriptContentView.prototype.saveToCookie):
9843        (WebInspector.ScriptContentView.prototype.restoreFromCookie):
9844        * UserInterface/StorageManager.js:
9845        (WebInspector.StorageManager.prototype.findMatchingObjectInArray):
9846        (WebInspector.StorageManager.prototype.objectForCookie):
9847        * UserInterface/TimelineManager.js:
9848        (WebInspector.TimelineManager):
9849        (WebInspector.TimelineManager.prototype.get timelines):
9850        (WebInspector.TimelineManager.prototype.objectForCookie):
9851        * UserInterface/TimelinesContentView.js:
9852        (WebInspector.TimelinesContentView.prototype.saveToCookie):
9853        (WebInspector.TimelinesContentView.prototype.restoreFromCookie):
9854        (WebInspector.TimelinesContentView.prototype._makeColumnScopeBar):
9855
98562013-10-10  Mark Rowe  <mrowe@apple.com>
9857
9858        <rdar://problem/13341666> WebKit should always build against an SDK.
9859
9860        Have all projects default to building against the OS X Internal SDK for the Production
9861        configuration. For the Debug and Release configurations, look for UseInternalSDK.xcconfig
9862        to determine whether the OS X Internal SDK should be used. If not, use the normal OS X SDK.
9863
9864        Reviewed by Dan Bernstein.
9865
9866        * Configurations/Base.xcconfig:
9867        * Configurations/DebugRelease.xcconfig:
9868
98692013-10-04  Antoine Quint  <graouts@apple.com>
9870
9871        Web Inspector: pressing the Cmd key over a CSS property should underline it immediately (jump to definition mode)
9872        https://bugs.webkit.org/show_bug.cgi?id=119012
9873
9874        Reviewed by Joseph Pecoraro.
9875
9876        We add an "enabled" state to the tokenTrackingController to indicate that we're interested
9877        in tracking hovered tokens. The tokenTrackingController is now only enabled in the
9878        CSSStyleDeclarationTextEditor when the Cmd key is pressed and in the SourceCodeTextEditor
9879        when either the Cmd key is pressed (NonSymbolTokens mode) or when the debugger is paused
9880        (JavaScriptExpression mode).
9881
9882        The tokenTrackingController is now smarter about how it tracks mouse events when it's enabled,
9883        tracking "mouseenter" and "mouseleave" events to enable tracking allowing immediate detection of
9884        tokens being hovered or no longer being hovered even with quick mouse movements. Additioanlly,
9885        using the new top-level mouse coordinates tracking, we can detect a hovered token as soon as
9886        it's being enabled to provide instant feedback to the user.
9887
9888        This new top-level mouse coordinates tracking couple with tracking of modifier keys also fixes
9889        http://webkit.org/b/119011.
9890
9891        * UserInterface/CSSStyleDeclarationTextEditor.js:
9892        (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateJumpToSymbolTrackingMode):
9893        Highlight the last known hovered candidate's range as soon as the Cmd key is pressed and enable
9894        the tokenTrackingController if we're dealing with a non-read-only editor. When the Cmd key is
9895        released, disable the tokenTrackingController.
9896
9897        * UserInterface/CodeMirrorTokenTrackingController.js:
9898        (WebInspector.CodeMirrorTokenTrackingController):
9899        (WebInspector.CodeMirrorTokenTrackingController.prototype.get enabled):
9900        (WebInspector.CodeMirrorTokenTrackingController.prototype.set enabled):
9901        New enabled state for the tokenTrackingController which indicates whether it should be tracking
9902        mouse events to track hovered tokens in the editor. Upon being enabled, the tokenTrackingController
9903        looks up the mouse coordinates continuously tracked at the window level to check for a token
9904        at the last known mouse coordinates in case we're already over a token that may be highlighted.
9905
9906        (WebInspector.CodeMirrorTokenTrackingController.prototype.highlightLastHoveredRange):
9907        New public method allowing to highlight the last know candidate range, if any. This is used from
9908        editor code when the Cmd key is pressed and we want to force the last know candidate to be
9909        highlighted.
9910
9911        (WebInspector.CodeMirrorTokenTrackingController.prototype._startTracking):
9912        (WebInspector.CodeMirrorTokenTrackingController.prototype._stopTracking):
9913        Make these two methods private now that they're automatically called by the "mouseenter" and
9914        "mouseleave" event handling when we're in the "enabled" state. Additionally, the public
9915        "tracking" property has been removed since it is no longer useful to the developer.
9916
9917        (WebInspector.CodeMirrorTokenTrackingController.prototype.handleEvent):
9918        (WebInspector.CodeMirrorTokenTrackingController.prototype._mouseEntered):
9919        (WebInspector.CodeMirrorTokenTrackingController.prototype._mouseLeft):
9920        New handlers for the "mouseenter" and "mouseleave" events enabling tracking of hovered tokens.
9921
9922        (WebInspector.CodeMirrorTokenTrackingController.prototype._mouseMovedOverEditor):
9923        (WebInspector.CodeMirrorTokenTrackingController.prototype._updateHoveredTokenInfo):
9924        Refactor _mouseMovedOverEditor() into two methods with the new _updateHoveredTokenInfo()
9925        allowing to customize the mouse coordinates to be used since we may call
9926        _updateHoveredTokenInfo() outside of the context of a mouse event (ie. a keypress event).
9927
9928        (WebInspector.CodeMirrorTokenTrackingController.prototype._windowLostFocus):
9929        (WebInspector.CodeMirrorTokenTrackingController.prototype._resetTrackingStates):
9930        New private method combining all the various states that need to be reset when tracking
9931        is turned off, including the removal of the highlighted range if any. This is now called
9932        when the window loses focus.
9933
9934        * UserInterface/Main.js:
9935        (WebInspector.loaded):
9936        (WebInspector._mouseMoved):
9937        Add a new window-level "mousemove" event handler to always track mouse coordinates and key modifier
9938        states. This ensures that we may have the most accurate information possible for key modifiers and
9939        allow code to query the last recorded mouse position in situations where it wouldn't be possible
9940        to have dealt with a mouse event, as is the case when the tokenTrackingController just started tracking.
9941
9942        * UserInterface/SourceCodeTextEditor.js:
9943        (WebInspector.SourceCodeTextEditor.prototype._updateTokenTrackingControllerEnabled):
9944        (WebInspector.SourceCodeTextEditor.prototype._debuggerDidPause):
9945        (WebInspector.SourceCodeTextEditor.prototype._debuggerDidResume):
9946        (WebInspector.SourceCodeTextEditor.prototype._enableJumpToSymbolTrackingModeSettings):
9947        (WebInspector.SourceCodeTextEditor.prototype._disableJumpToSymbolTrackingModeSettings):
9948        Update the "enabled" state on the tokenTrackingController when it may have changed based
9949        on those two conditions: we should have either an active debugger call frame or the
9950        Cmd key should have been pressed. This ensures we only track hovered tokens as needed.
9951
9952        (WebInspector.SourceCodeTextEditor.prototype._updateJumpToSymbolTrackingMode):
9953        Highlight the last known hovered candidate's range as soon as the Cmd key is pressed.
9954
99552013-10-02  Brian J. Burg  <burg@cs.washington.edu>
9956
9957        Web Inspector: save and restore source positions in back/forward history
9958        https://bugs.webkit.org/show_bug.cgi?id=122062
9959
9960        Reviewed by Timothy Hatcher.
9961
9962        Previously, the back/forward entries comprised of only the content
9963        views, but not their positions if navigated via hyperlink (i.e.,
9964        handling script.js:42).  When multiple instances of the same
9965        content view appeared in the back/forward list, the most recent
9966        navigation was displayed rather than the linked position.
9967
9968        We now store context necessary to re-navigate such hyperlinks by
9969        storing view- specific data inside a cookie object, and invoke a
9970        supplied callback to take any position initialization actions,
9971        such as calling TextEditor.revealPosition.  This state is
9972        encapsulated into BackForwardEntry instances.
9973
9974        Functions that save and restore scroll positions inside content
9975        views have been changed to store state in BackForwardEntry
9976        instances, so multiple scroll positions can be saved for a content
9977        view appearing in the navigation history more than once.
9978
9979        * UserInterface/BackForwardEntry.js: Added.
9980        (WebInspector.BackForwardEntry):
9981        (WebInspector.BackForwardEntry.prototype.get contentView):
9982        (WebInspector.BackForwardEntry.prototype.get cookie):
9983        (WebInspector.BackForwardEntry.prototype.prepareToShow):
9984        (WebInspector.BackForwardEntry.prototype.prepareToHide):
9985        (WebInspector.BackForwardEntry.prototype._restoreFromCookie):
9986        (WebInspector.BackForwardEntry.prototype._restoreScrollPositions):
9987        (WebInspector.BackForwardEntry.prototype._saveScrollPositions):
9988        * UserInterface/ContentBrowser.js:
9989        (WebInspector.ContentBrowser.prototype.showContentView):
9990        (WebInspector.ContentBrowser.prototype._updateContentViewNavigationItems):
9991        (WebInspector.ContentBrowser.prototype._updateFindBanner):
9992        * UserInterface/ContentViewContainer.js:
9993        (WebInspector.ContentViewContainer.prototype.get currentContentView):
9994        (WebInspector.ContentViewContainer.prototype.get currentBackForwardEntry):
9995        (WebInspector.ContentViewContainer.prototype.showContentView):
9996        (WebInspector.ContentViewContainer.prototype.showBackForwardEntryForIndex):
9997        (WebInspector.ContentViewContainer.prototype.replaceContentView):
9998        (WebInspector.ContentViewContainer.prototype.closeAllContentViewsOfPrototype):
9999        (WebInspector.ContentViewContainer.prototype.closeAllContentViews):
10000        (WebInspector.ContentViewContainer.prototype.goBack):
10001        (WebInspector.ContentViewContainer.prototype.goForward):
10002        (WebInspector.ContentViewContainer.prototype.shown):
10003        (WebInspector.ContentViewContainer.prototype.hidden):
10004        (WebInspector.ContentViewContainer.prototype._showEntry):
10005        (WebInspector.ContentViewContainer.prototype._hideEntry):
10006        * UserInterface/Main.html:
10007        * UserInterface/Main.js:
10008        (WebInspector.openURL):
10009        * UserInterface/ResourceSidebarPanel.js:
10010        (WebInspector.ResourceSidebarPanel.prototype.restoreCallback):
10011        (WebInspector.ResourceSidebarPanel.prototype.showSourceCode):
10012
100132013-10-02  Antoine Quint  <graouts@apple.com>
10014
10015        Web Inspector: highlight newly added console messages in the Activity Viewer
10016        https://bugs.webkit.org/show_bug.cgi?id=122093
10017
10018        Reviewed by Joseph Pecoraro.
10019
10020        Fade the appropriate console log button in the Activity Viewer for a short duration
10021        to call attention to it when its count is incremented. The animation may be restarted
10022        in-flight if the count is incremented as we were pulsing the opacity.
10023
10024        * UserInterface/DashboardView.css:
10025        (.toolbar .dashboard > .item.pulsing):
10026        (@-webkit-keyframes console-item-pulse):
10027        New pulse animation for a console item in the Activity Viewer, the new "pulsing" CSS
10028        class is applied in WebInspector.DashboardView.prototype._setConsoleItemValue().
10029
10030        * UserInterface/DashboardView.js:
10031        (WebInspector.DashboardView.prototype.set logs):
10032        (WebInspector.DashboardView.prototype.set issues):
10033        (WebInspector.DashboardView.prototype.set errors):
10034        Refactor setters to use the new WebInspector.DashboardView.prototype._setConsoleItemValue()
10035        method.
10036
10037        (WebInspector.DashboardView.prototype._setConsoleItemValue):
10038        We now set the ivar backing console item values in this new refactored method and additionally
10039        apply an animation to the DOM element for the given item if its value is incremented such that
10040        it pulses, subtly calling out the developer's attention to it.
10041
10042        * UserInterface/Utilities.js:
10043        New Element.prototype.recalculateStyles() method to abstract the hack required to force
10044        a style recalc on a given element.
10045
100462013-10-01  Antoine Quint  <graouts@apple.com>
10047
10048        Web Inspector: evaluate and show a popover for selected text in JS source when paused
10049        https://bugs.webkit.org/show_bug.cgi?id=122151
10050
10051        Reviewed by Joseph Pecoraro.
10052
10053        Identify if the hovered token is contained within the text selection (if any) and use
10054        the selection as the hovered expression to allow the user to select text and hover it
10055        to see what it evaluates to.
10056
10057        * UserInterface/CodeMirrorTokenTrackingController.js:
10058        (WebInspector.CodeMirrorTokenTrackingController.prototype.highlightRange):
10059        Check we're trying to highlight a different range before removing the highlight
10060        and applying the new one, this prevents the marked text from flashing if it's
10061        being re-hovered which would easily happen when hovering multiple tokens within
10062        the same selection.
10063
10064        (WebInspector.CodeMirrorTokenTrackingController.prototype._processJavaScriptExpression):
10065        In the case where there is selected text, check whether the hovered token is at least
10066        partially contained within the selection, and if so use the selection text as the
10067        hovered expression to evaluate.
10068
100692013-10-01  Antoine Quint  <graouts@apple.com>
10070
10071        Console buttons don’t show after page reload
10072        https://bugs.webkit.org/show_bug.cgi?id=116515
10073
10074        Reviewed by Darin Adler.
10075
10076        The correct display of navigation items in the ContentBrowser is contingent on
10077        the ContentViewContainer's _backForwardList being up-to-date when the navigation
10078        items are retrieved from it. However, when the main resource changes (in this case
10079        the user refreshes the browser), calls are made to ContentViewContainer's
10080        closeAllContentViewsOfPrototype() which may modify the _backForwardList but doesn't
10081        necessarily notify of a change to the currentContentView since we may be still showing
10082        the same view in case it wasn't directly related to the main resource, for instance
10083        the console log.
10084
10085        We now check if the _backForwardList is changed as a result of calling
10086        closeAllContentViewsOfPrototype() and in that case also dispatch the
10087        CurrentContentViewDidChange event which will restore the correct state
10088        for the back/forward buttons and navigation items of the navigation bar.
10089
10090        * UserInterface/ContentViewContainer.js:
10091        (WebInspector.ContentViewContainer.prototype.closeAllContentViewsOfPrototype):
10092        Track changes to the _backForwardList and dispatch the CurrentContentViewDidChange
10093        event in case such changes happened.
10094
100952013-09-30  Antoine Quint  <graouts@apple.com>
10096
10097        Web Inspector: rows in the Layer sidebar panel may have the incorrect background color
10098        https://bugs.webkit.org/show_bug.cgi?id=122108
10099
10100        Reviewed by Darin Adler.
10101
10102        The LayerTreeDataGrid is a custom DataGrid subclass which exposes a .setChildren() method
10103        used to sort chidren without DOM order manipulation, for performance reason. However, since
10104        the way the alternating background color is usually implemented is based on the built-in
10105        CSS pseudo-classes working with DOM order, the background colors of nodes in the LayerTreeDataGrid
10106        can be incorrect depending on the sort order and the number of nodes. To fix this, we now manually
10107        set "even" and "odd" CSS classes on those nodes when they're sorted such that we have a chance
10108        to style them as intended.
10109
10110        * UserInterface/LayerTreeDataGrid.js:
10111        (WebInspector.LayerTreeDataGrid.prototype._updateChildren):
10112        Check if the data grid node index is even or odd and reflect this via an exclusive "even"
10113        or "odd" CSS class name.
10114
10115        * UserInterface/LayerTreeSidebarPanel.css:
10116        (.layer-tree.panel .data-container tbody > tr.even):
10117        (.layer-tree.panel .data-container tbody > tr.odd):
10118        Apply alternating colors based on the exclusive "even" and "odd" CSS class names as applied in
10119        WebInspector.LayerTreeDataGrid.prototype._updateChildren().
10120
101212013-09-30  Antoine Quint  <graouts@apple.com>
10122
10123        Web Inspector: Popover displaying "reasons for compositing" may remain on screen after selected layer is removed
10124        https://bugs.webkit.org/show_bug.cgi?id=117575
10125
10126        Ensure the popover attached to the selected data grid node is updated when the
10127        content or sort order of the Layer sidebar panel is updated.
10128
10129        Reviewed by Darin Adler.
10130
10131        * UserInterface/LayerTreeSidebarPanel.js:
10132        (WebInspector.LayerTreeSidebarPanel.prototype._sortDataGrid):
10133
101342013-09-30  Antoine Quint  <graouts@apple.com>
10135
10136        Web Inspector: nodes can be dragged from the console log
10137        https://bugs.webkit.org/show_bug.cgi?id=122105
10138
10139        Reviewed by Darin Adler.
10140
10141        Catch "dragstart" events targeting nodes hosted in a DOMTreeOutline within the console
10142        log view and prevent the default logic to trigger so that these nodes can't be dragged
10143        off the console as it wouldn't make sense to.
10144
10145        * UserInterface/DOMTreeOutline.js:
10146        (WebInspector.DOMTreeOutline):
10147        Create a class property to allow the CSS class name to be used in WebInspector.LogContentView.
10148
10149        * UserInterface/LogContentView.js:
10150        (WebInspector.LogContentView):
10151        (WebInspector.LogContentView.prototype._ondragstart):
10152        Track the "dragstart" events in their capture phase such that, if the event target is
10153        a DOM node hosted in a DOMTreeOutline, we can prevent the event from propagating and
10154        cancel its default behavior such that no dragging at all is performed.
10155
101562013-09-26  Brian J. Burg  <burg@cs.washington.edu>
10157
10158        Web Inspector: dissociate old content views that are spliced from back/forward list
10159        https://bugs.webkit.org/show_bug.cgi?id=121987
10160
10161        Reviewed by Timothy Hatcher.
10162
10163        There was a bug where old back/forward list entries were not being dissociated when
10164        the newly-shown content view was already in the list. Instead, dissociation should be
10165        skipped if the old list entry is not already in the list.
10166
10167        * UserInterface/ContentViewContainer.js:
10168        (WebInspector.ContentViewContainer.prototype.showContentView):
10169
101702013-09-26  Antoine Quint  <graouts@apple.com>
10171
10172        Web Inspector: Activity viewer not properly reset when reloading
10173        https://bugs.webkit.org/show_bug.cgi?id=121958
10174
10175        Reviewed by Darin Adler.
10176
10177        Reset the resources count and accumulated size when we detect the main frame
10178        has changed, which will work with documents where there are no resources besides
10179        frames in which case WebInspector.Frame.Event.AllResourcesRemoved was not fired
10180        and our counts wouldn't be reset correctly.
10181
10182        * UserInterface/DashboardManager.js:
10183        (WebInspector.DashboardManager):
10184        (WebInspector.DashboardManager.prototype._mainResourceDidChange):
10185
101862013-09-26  Antoine Quint  <graouts@apple.com>
10187
10188        Web Inspector: Keep DOM tree expanded on page reload
10189        https://bugs.webkit.org/show_bug.cgi?id=121665
10190
10191        Reviewed by Darin Adler.
10192
10193        Allow the node that was selected before reloading the page to be selected
10194        at the page is reloaded. Credit goes to Joseph Pecoraro for the fix.
10195
10196        * UserInterface/DOMTreeContentView.js:
10197        (WebInspector.DOMTreeContentView.prototype._rootDOMNodeAvailable.selectNode):
10198
101992013-09-24  Joseph Pecoraro  <pecoraro@apple.com>
10200
10201        Web Inspector: Using Breakpoint Actions Breaks iOS inspection
10202        https://bugs.webkit.org/show_bug.cgi?id=121862
10203
10204        Reviewed by Timothy Hatcher.
10205
10206        Only use DebuggerAgent.BreakpointActionType if it is available.
10207        Otherwise leave options undefined for breakpoints since the backend
10208        does not support it.
10209
10210        * UserInterface/DebuggerManager.js:
10211        (WebInspector.DebuggerManager.prototype._setBreakpoint):
10212
102132013-09-24  Joseph Pecoraro  <pecoraro@apple.com>
10214
10215        Web Inspector: Include iOS 7 Inspector.json Version
10216        https://bugs.webkit.org/show_bug.cgi?id=121852
10217
10218        Reviewed by Timothy Hatcher.
10219
10220        * UserInterface/Legacy/7.0/InspectorBackendCommands.js: Added.
10221        * Versions/Inspector-iOS-7.0.json: Added.
10222
102232013-09-24  Mark Rowe  <mrowe@apple.com>
10224
10225        <rdar://problem/14971518> WebKit should build against the Xcode default toolchain when targeting OS X 10.8
10226
10227        Reviewed by Dan Bernstein.
10228
10229        * Configurations/Base.xcconfig:
10230
102312013-09-24  Joseph Pecoraro  <pecoraro@apple.com>
10232
10233        Web Inspector: Breakpoint Actions input should disable spellchecking
10234        https://bugs.webkit.org/show_bug.cgi?id=121846
10235
10236        Reviewed by Timothy Hatcher.
10237
10238        * UserInterface/BreakpointActionView.js:
10239
102402013-09-21  Timothy Hatcher  <timothy@apple.com>
10241
10242        Hook up the initiator info and show it in the Resource details sidebar.
10243
10244        https://bugs.webkit.org/show_bug.cgi?id=121741
10245
10246        Reviewed by Joseph Pecoraro.
10247
10248        * UserInterface/FrameResourceManager.js:
10249        (WebInspector.FrameResourceManager.prototype.resourceRequestWillBeSent):
10250        (WebInspector.FrameResourceManager.prototype.resourceRequestWasServedFromMemoryCache):
10251        (WebInspector.FrameResourceManager.prototype._addNewResourceToFrame):
10252        (WebInspector.FrameResourceManager.prototype._initiatorSourceCodeLocationFromPayload):
10253        * UserInterface/NetworkObserver.js:
10254        (WebInspector.NetworkObserver.prototype.requestWillBeSent):
10255        (WebInspector.NetworkObserver.prototype.requestServedFromMemoryCache):
10256        * UserInterface/Resource.js:
10257        (WebInspector.Resource):
10258        (WebInspector.Resource.prototype.get initiatorSourceCodeLocation):
10259        * UserInterface/ResourceDetailsSidebarPanel.js:
10260        (WebInspector.ResourceDetailsSidebarPanel):
10261        (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshURL):
10262
102632013-09-20  Timothy Hatcher  <timothy@apple.com>
10264
10265        Parse MIME-types and strip them down to the base type when needed.
10266
10267        The use of charset in a MIME-type interferes with our type maps,
10268        preventing the right syntax highlighting mode and pretty printing.
10269
10270        https://bugs.webkit.org/show_bug.cgi?id=121723
10271
10272        Reviewed by Joseph Pecoraro.
10273
10274        * UserInterface/ConsolePrompt.js:
10275        (WebInspector.ConsolePrompt):
10276        * UserInterface/FontResourceContentView.js:
10277        * UserInterface/Resource.js:
10278        (WebInspector.Resource.Type.fromMIMEType):
10279        (WebInspector.Resource.prototype.get mimeTypeComponents):
10280        (WebInspector.Resource.prototype.get syntheticMIMEType):
10281        (WebInspector.Resource.prototype.get contentURL):
10282        (WebInspector.Resource.prototype.updateForResponse):
10283        * UserInterface/ResourceDetailsSidebarPanel.js:
10284        (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshRequestDataSection):
10285        * UserInterface/SourceMapResource.js:
10286        (WebInspector.SourceMapResource.prototype.requestContentFromBackend):
10287        * UserInterface/SyntaxHighlightingSupport.js:
10288        (WebInspector.syntaxHighlightStringAsDocumentFragment):
10289        * UserInterface/TextEditor.js:
10290        (WebInspector.TextEditor.prototype.set mimeType):
10291        * UserInterface/Utilities.js:
10292        (parseMIMEType): Added.
10293
102942013-09-20  Marcelo Morais  <m.morais@samsung.com>
10295
10296        Web Inspector: Fix keyboard shortcuts for other platforms
10297        https://bugs.webkit.org/show_bug.cgi?id=120657
10298
10299        Reviewed by Timothy Hatcher.
10300
10301        Handling keyboard shortcuts according to the current platform.
10302
10303        * UserInterface/InspectorFrontendHostStub.js:
10304        (.WebInspector.InspectorFrontendHostStub.prototype.loadResourceSynchronously):
10305        (.WebInspector.InspectorFrontendHostStub.prototype.platform): Added. Return the
10306        current platform.
10307        * UserInterface/KeyboardShortcut.js:
10308        (WebInspector.KeyboardShortcut.Modifier.get CommandOrControl): Added. Created keyboard
10309        modifier to return Control or Command key according to current platform.
10310        * UserInterface/ContentBrowser.js:
10311        (WebInspector.ContentBrowser): Returning Control or Command key for keyboard
10312        shortcuts according to current platform.
10313        * UserInterface/DebuggerSidebarPanel.js:
10314        (WebInspector.DebuggerSidebarPanel): Ditto.
10315        * UserInterface/FindBanner.js:
10316        (WebInspector.FindBanner): Ditto.
10317        * UserInterface/JavaScriptLogViewController.js:
10318        (WebInspector.JavaScriptLogViewController): Ditto.
10319        * UserInterface/LogContentView.js:
10320        (WebInspector.LogContentView): Ditto.
10321        * UserInterface/Main.js:
10322        (WebInspector.contentLoaded): Ditto.
10323        * UserInterface/ResourceSidebarPanel.js:
10324        (WebInspector.ResourceSidebarPanel): Ditto.
10325
103262013-09-20  Brent Fulgham  <bfulgham@apple.com>
10327
10328        [Windows] Unreviewed gardening. Teach WebInspectorUI.vcxproj folder to
10329        ignore Visual Studio's local user settings file.
10330
10331        * WebInspectorUI.vcxproj: Added property svn:ignore.
10332
103332013-09-17  Gustavo Noronha Silva  <gns@gnome.org>
10334
10335        [GTK] Cannot find WebInspectorUI/UserInterface/Main.html referenced in GResourceBundle.xml
10336        https://bugs.webkit.org/show_bug.cgi?id=121405
10337
10338        Reviewed by Carlos Garcia Campos.
10339
10340        * GNUmakefile.am: if srcdir == builddir the WebInspectorUI variable that is used both to list
10341        the dependencies of the GResourceBundle and to normalize the paths added to the XML through sed
10342        replacement will end up starting with ./, which would be fine if automake did not remove that
10343        from the paths in the target's dependency. We deal with that by normalizing the path we use to
10344        take that quirk into account.
10345
103462013-09-17  Timothy Hatcher  <timothy@apple.com>
10347
10348        Clean up the Inspector's WebSocket code and prevent it from dropping messages.
10349
10350        https://bugs.webkit.org/show_bug.cgi?id=121391
10351
10352        Reviewed by Joseph Pecoraro.
10353
10354        * UserInterface/InspectorFrontendHostStub.js:
10355        (.WebInspector.InspectorFrontendHostStub.prototype.initializeWebSocket): Added. Create the socket
10356        and call _sendPendingMessagesToBackendIfNeeded.
10357        (.WebInspector.InspectorFrontendHostStub.prototype.sendMessageToBackend): Store messages as pending
10358        if the socket isn't ready yet. Call _sendPendingMessagesToBackendIfNeeded.
10359        (.WebInspector.InspectorFrontendHostStub.prototype._sendPendingMessagesToBackendIfNeeded): Added.
10360        * UserInterface/Main.js:
10361        (WebInspector._initializeWebSocketIfNeeded): Move socket creation to initializeWebSocket.
10362
103632013-09-16  Timothy Hatcher  <timothy@apple.com>
10364
10365        Make InspectorTimelineAgent use an enum for the record type instead of a string.
10366
10367        https://bugs.webkit.org/show_bug.cgi?id=121461
10368
10369        Reviewed by Joseph Pecoraro.
10370
10371        * UserInterface/InspectorBackendCommands.js:
10372        * UserInterface/Legacy/6.0/InspectorBackendCommands.js:
10373        * UserInterface/TimelineManager.js:
10374        (WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
10375        (WebInspector.TimelineManager.prototype.eventRecorded):
10376        * Versions/Inspector-iOS-6.0.json:
10377
103782013-09-16  Joseph Pecoraro  <pecoraro@apple.com>
10379
10380        Web Inspector: TypeError when updating ResourceTreeElement created in strange order
10381        https://bugs.webkit.org/show_bug.cgi?id=121382
10382
10383        Reviewed by Timothy Hatcher.
10384
10385        Patch by Brian Burg. Fix an uncaught exception that can happen on navigations.
10386
10387        * UserInterface/ResourceTreeElement.js:
10388        (WebInspector.ResourceTreeElement.prototype._updateStatus):
10389
103902013-09-16  Timothy Hatcher  <timothy@apple.com>
10391
10392        Make InspectorTypeBuilder generate better enums in C++.
10393
10394        https://bugs.webkit.org/show_bug.cgi?id=121440
10395
10396        Reviewed by Joseph Pecoraro.
10397
10398        * UserInterface/InspectorBackendCommands.js: Updated to make Css be CSS.
10399
104002013-09-13  Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
10401
10402        [GTK] Move to the new web inspector
10403        https://bugs.webkit.org/show_bug.cgi?id=120647
10404
10405        Reviewed by Carlos Garcia Campos.
10406
10407        * GNUmakefile.am: Added. Generate the GResource source and link it into libWebCore.
10408
104092013-09-12  Joseph Pecoraro  <pecoraro@apple.com>
10410
10411        Web Inspector: Duplicated color swatches changing autocompletes color names
10412        https://bugs.webkit.org/show_bug.cgi?id=121265
10413
10414        Reviewed by Timothy Hatcher.
10415
10416        CodeMirror bookmarks at position used to be unique but no longer are.
10417        Define an extension to give us unique bookmarks as we expected, and
10418        update all the old locations using setBookmark.
10419
10420        * UserInterface/CSSStyleDeclarationTextEditor.js:
10421        (WebInspector.CSSStyleDeclarationTextEditor.prototype.didDismissPopover):
10422        (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers):
10423        (WebInspector.CSSStyleDeclarationTextEditor.prototype.):
10424        (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches):
10425        (WebInspector.CSSStyleDeclarationTextEditor.prototype):
10426        (WebInspector.CSSStyleDeclarationTextEditor.prototype.event.newColorText):
10427        * UserInterface/CodeMirrorAdditions.js:
10428
104292013-09-12  Joseph Pecoraro  <pecoraro@apple.com>
10430
10431        Web Inspector: Update CodeMirror for gutter fix
10432        https://bugs.webkit.org/show_bug.cgi?id=121262
10433
10434        Update CodeMirror to 757944449 to fix gutter click issue:
10435        <https://github.com/marijnh/CodeMirror/issues/1807>
10436
10437        Reviewed by Timothy Hatcher.
10438
10439        * Tools/PrettyPrinting/CodeMirrorFormatters.js:
10440        * Tools/PrettyPrinting/FormatterContentBuilder.js:
10441        (FormatterContentBuilder.prototype._appendIndent):
10442        * Tools/PrettyPrinting/codemirror.css:
10443        * Tools/PrettyPrinting/codemirror.js:
10444        * Tools/PrettyPrinting/css.js:
10445        * UserInterface/CodeMirrorAdditions.js:
10446        * UserInterface/CodeMirrorFormatters.js:
10447        * UserInterface/DebuggerManager.js:
10448        (WebInspector.DebuggerManager.prototype.didRemoveBreakpoint):
10449        (WebInspector.DebuggerManager.prototype._removeBreakpoint):
10450        * UserInterface/External/CodeMirror/codemirror.css:
10451        * UserInterface/External/CodeMirror/codemirror.js:
10452        * UserInterface/External/CodeMirror/coffeescript.js:
10453        * UserInterface/External/CodeMirror/css.js:
10454        * UserInterface/External/CodeMirror/less.js:
10455        * UserInterface/External/CodeMirror/sql.js:
10456        * UserInterface/TextEditor.js:
10457        (WebInspector.TextEditor.prototype.hasFormatter):
10458
104592013-09-12  Joseph Pecoraro  <pecoraro@apple.com>
10460
10461        Web Inspector: Update License copyrights in minified JavaScript
10462        https://bugs.webkit.org/show_bug.cgi?id=121264
10463
10464        Reviewed by Timothy Hatcher.
10465
10466        * Scripts/copy-user-interface-resources.sh:
10467
104682013-09-11  Geoffrey Garen  <ggaren@apple.com>
10469
10470        Removed some unused functions from the debugger interface
10471        https://bugs.webkit.org/show_bug.cgi?id=121194
10472
10473        Reviewed by Joseph Pecoraro.
10474
10475        We plan to use the "evaluate" API and debugger activation property access for all the features we need.
10476
10477        * UserInterface/InspectorBackendCommands.js: Updated by script.
10478
104792013-09-06  Joseph Pecoraro  <pecoraro@apple.com>
10480
10481        Web Inspector: Download Archive button incorrectly styled when disabled and tree element is not-selected
10482        https://bugs.webkit.org/show_bug.cgi?id=120866
10483
10484        Reviewed by Timothy Hatcher.
10485
10486        * UserInterface/TreeElementStatusButton.css:
10487        (.item > .status > .status-button.disabled > svg *):
10488
104892013-09-06  Joseph Pecoraro  <pecoraro@apple.com>
10490
10491        Web Inspector: Lint JavaScript and CSS for minor issues
10492        https://bugs.webkit.org/show_bug.cgi?id=120884
10493
10494        Reviewed by Timothy Hatcher.
10495
10496        JS, caught a bunch of missing semicolons but at least one possible
10497        issue with duplicate object literal keys in CSSKeywordCompletions.
10498
10499        CSS, cause some duplicate properties, an invalid property value,
10500        and some "0px" => "0" cleanup.
10501
105022013-09-05  Joseph Pecoraro  <pecoraro@apple.com>
10503
10504        Web Inspector: Breakpoint Action JS Editor has line wrapping issues with long no-space lines
10505        https://bugs.webkit.org/show_bug.cgi?id=120822
10506
10507        Reviewed by Timothy Hatcher.
10508
10509        * UserInterface/BreakpointActionView.css:
10510        (.breakpoint-action-eval-editor > .CodeMirror):
10511        (.breakpoint-action-eval-editor > .CodeMirror-scroll):
10512
105132013-09-05  Joseph Pecoraro  <pecoraro@apple.com>
10514
10515        Web Inspector: Edit Breakpoint popover sometimes appears misplaced in top left
10516        https://bugs.webkit.org/show_bug.cgi?id=120804
10517
10518        Reviewed by Timothy Hatcher.
10519
10520        Grab the bounding rect immediately, instead of grabbing it from the element
10521        after the user has selected the "Edit Breakpoint" context menu item. When
10522        the popover was misplaced it was when using an element had been removed or
10523        replaced in the DOM, and caused a bogus bounding client rect.
10524
10525        * UserInterface/Breakpoint.js:
10526        (WebInspector.Breakpoint.prototype.editBreakpoint):
10527        (WebInspector.Breakpoint.prototype._showEditBreakpointPopover):
10528
105292013-09-05  Joseph Pecoraro  <pecoraro@apple.com>
10530
10531        Web Inspector: Remove harmless assert, triggered hitting breakpoint in auto prettyprinted code on reload
10532        https://bugs.webkit.org/show_bug.cgi?id=120332
10533
10534        Reviewed by Timothy Hatcher.
10535
10536        * UserInterface/TextEditor.js:
10537
105382013-09-05  Joseph Pecoraro  <pecoraro@apple.com>
10539
10540        Web Inspector: Breakpoint Actions
10541        https://bugs.webkit.org/show_bug.cgi?id=120576
10542
10543        Reviewed by Timothy Hatcher.
10544
10545        Give the CodeMirror editor for JavaScript Breakpoint Actions JS Runtime
10546        completions (like window, document, etc.).
10547
10548        The logic was inside of JavaScriptLogViewController but was already
10549        entirely independent. Factor it out into its own class and plug it into
10550        CodeMirrorCompletionController as a "CompletionsProvider".
10551
10552        Because the class hooks into a global event to reset some state, make
10553        it a singleton, so new instances are not leaked.
10554
10555        * UserInterface/Main.html:
10556        * UserInterface/Main.js:
10557        (WebInspector.loaded):
10558        * UserInterface/RuntimeManager.js: Added.
10559        (WebInspector.RuntimeManager):
10560        (WebInspector.RuntimeManager.prototype.evalCallback):
10561        (WebInspector.RuntimeManager.prototype.evaluateInInspectedWindow):
10562        Move eval in window to new RuntimeManager. A slightly cleaner place to this
10563        since it is used both by the console and JS completions provider.
10564
10565        * UserInterface/CodeMirrorCompletionController.js:
10566        (WebInspector.CodeMirrorCompletionController):
10567        (WebInspector.CodeMirrorCompletionController.prototype.setExtendedCompletionProvider):
10568        (WebInspector.CodeMirrorCompletionController.prototype._completeAtCurrentPosition):
10569        Allow a completions provider plugin to completions controller. If one
10570        is available, this supercedes the delegate extend completions path.
10571
10572        * UserInterface/BreakpointActionView.js:
10573        * UserInterface/ConsolePrompt.js:
10574        (WebInspector.ConsolePrompt):
10575        Use the new JS completions provider to get runtime JS completions.
10576        NOTE: ConsolePrompt still needs the delegate path for SQL completions.
10577
10578        * UserInterface/JavaScriptLogViewController.js:
10579        (WebInspector.JavaScriptLogViewController):
10580        (WebInspector.JavaScriptLogViewController.prototype.consolePromptTextCommitted):
10581        * UserInterface/JavaScriptRuntimeCompletionProvider.js: Added.
10582        (WebInspector.JavaScriptRuntimeCompletionProvider):
10583        (get WebInspector.JavaScriptRuntimeCompletionProvider.prototype.):
10584        (get WebInspector.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded):
10585        Move the JS completions code to a new class. No changes needed.
10586
105872013-09-05  Joseph Pecoraro  <pecoraro@apple.com>
10588
10589        Web Inspector: Breakpoint Actions
10590        https://bugs.webkit.org/show_bug.cgi?id=120576
10591
10592        Reviewed by Timothy Hatcher.
10593
10594        * UserInterface/Breakpoint.js:
10595        (WebInspector.Breakpoint):
10596        (WebInspector.Breakpoint.prototype.get actions):
10597        (WebInspector.Breakpoint.prototype.get options):
10598        (WebInspector.Breakpoint.prototype.get info):
10599        (WebInspector.Breakpoint.prototype._serializableActions):
10600        Saving, restoring, and serialization.
10601
10602        (WebInspector.Breakpoint.prototype.createAction):
10603        (WebInspector.Breakpoint.prototype.recreateAction):
10604        (WebInspector.Breakpoint.prototype.removeAction):
10605        (WebInspector.Breakpoint.prototype.breakpointActionDidChange):
10606        Modifying _actions ivar.
10607
10608        (WebInspector.Breakpoint.prototype._editBreakpointPopoverContentElement):
10609        (WebInspector.Breakpoint.prototype._popoverActionsCreateAddActionButton):
10610        (WebInspector.Breakpoint.prototype._popoverActionsAddActionButtonClicked):
10611        (WebInspector.Breakpoint.prototype._popoverActionsInsertBreakpointActionView):
10612        (WebInspector.Breakpoint.prototype.breakpointActionViewAppendActionView):
10613        (WebInspector.Breakpoint.prototype.breakpointActionViewRemoveActionView):
10614        (WebInspector.Breakpoint.prototype.breakpointActionViewResized):
10615        Popover UI containing breakpoint action views and converting to and from
10616        having no actions.
10617
10618        (WebInspector.Breakpoint.prototype.willDismissPopover):
10619        Cleanup some ivars when the popover dismisses.
10620
10621        * UserInterface/Breakpoint.css:
10622        (.popover .edit-breakpoint-popover-content.wide):
10623        Wider setting when there are actions in the popover.
10624
10625        (.popover .edit-breakpoint-popover-content > table > tr > th):
10626        Keep the title labels at the top of their section.
10627
10628        * UserInterface/BreakpointAction.js:
10629        (WebInspector.BreakpointAction):
10630        (WebInspector.BreakpointAction.prototype.get breakpoint):
10631        (WebInspector.BreakpointAction.prototype.get type):
10632        (WebInspector.BreakpointAction.prototype.get data):
10633        (WebInspector.BreakpointAction.prototype.set data):
10634        (WebInspector.BreakpointAction.prototype.get info):
10635        Very basic BreakpointAction class. Notifies Breakpoint on data changes.
10636        Type changes are not allowed, instead just create a new BreakpointAction.
10637
10638        * UserInterface/BreakpointActionView.css: Added.
10639        (.breakpoint-action-block-header):
10640        (.breakpoint-action-remove-button):
10641        (.breakpoint-action-remove-button:active):
10642        (.breakpoint-action-append-button):
10643        (.breakpoint-action-block-body):
10644        (.breakpoint-action-block-body > input):
10645        (.breakpoint-action-eval-editor):
10646        (.breakpoint-action-eval-editor > .CodeMirror):
10647        (.breakpoint-action-eval-editor > .CodeMirror-scroll):
10648        * UserInterface/BreakpointActionView.js: Added.
10649        (WebInspector.BreakpointActionView):
10650        (WebInspector.BreakpointActionView.displayStringForType):
10651        (WebInspector.BreakpointActionView.prototype.get action):
10652        (WebInspector.BreakpointActionView.prototype.get element):
10653        (WebInspector.BreakpointActionView.prototype._pickerChanged):
10654        (WebInspector.BreakpointActionView.prototype._appendActionButtonClicked):
10655        (WebInspector.BreakpointActionView.prototype._removeActionButtonClicked):
10656        (WebInspector.BreakpointActionView.prototype._updateBody.switch.break):
10657        (WebInspector.BreakpointActionView.prototype._logInputChanged):
10658        (WebInspector.BreakpointActionView.prototype._codeMirrorBlurred):
10659        (WebInspector.BreakpointActionView.prototype._codeMirrorViewportChanged):
10660        UI and form controls for individual breakpoint actions. The view
10661        wraps a single BreakpointAction, and for any actions that could affect
10662        other views the delegate is notified.
10663
10664        * UserInterface/DebuggerManager.js:
10665        (WebInspector.DebuggerManager):
10666        (WebInspector.DebuggerManager.prototype._debuggerBreakpointActionType):
10667        When sending to the backend, make sure to send protocol enums.
10668
10669        * UserInterface/Popover.js:
10670        (WebInspector.Popover.prototype.update):
10671        Update the popover when content changes.
10672
10673        * UserInterface/Images/BreakpointActionAdd.svg: Added.
10674        * UserInterface/Images/BreakpointActionRemove.svg: Added.
10675        * UserInterface/InspectorBackendCommands.js:
10676        * UserInterface/Main.html:
10677        * Localizations/en.lproj/localizedStrings.js:
10678        Misc. New strings, images, includes.
10679
106802013-09-03  Antoine Quint  <graouts@apple.com>
10681
10682        Web Inspector: exceptions triggered from console evaluation do not pause the debugger
10683        https://bugs.webkit.org/show_bug.cgi?id=120460
10684
10685        We used to preclude any debugging from errors stemming from code evaluated in the console
10686        as we would always set the doNotPauseOnExceptionsAndMuteConsole parameter to "false" when
10687        calling JavaScriptLogViewController._evaluateInInspectedWindow(). However, it is desirable
10688        to allow debugging code ran from the console.
10689
10690        We now allow debugging in such a scenario and we filter out call frames coming from the
10691        Web Inspector injected script as well as the call frame for the console prompt such that
10692        we only pause in the debugger in case the exception is in code under the console prompt
10693        and not the console code prompt itself.
10694
10695        Additionally, to prevent stepping out to call frames we may have filtered out, we disable
10696        the "step out" button in cases where there are no further frames in the frontend to go out to.
10697
10698        Reviewed by Timothy Hatcher.
10699
10700        * UserInterface/DebuggerManager.js:
10701        (WebInspector.DebuggerManager.prototype.debuggerDidPause):
10702        Filter out call frames that have a URL coming from Web Inspector injected script by looking
10703        for a URL starting with the "__WebInspector" prefix. If we determine that there are no call
10704        frames left after filtering, we resume code evaluation such that we only pause in the debugger
10705        when the exception is in code evluated under the console prompt.
10706
10707        * UserInterface/DebuggerSidebarPanel.js:
10708        (WebInspector.DebuggerSidebarPanel):
10709        (WebInspector.DebuggerSidebarPanel.prototype._debuggerDidPause):
10710        (WebInspector.DebuggerSidebarPanel.prototype._debuggerActiveCallFrameDidChange):
10711        Monitor any change to the active call frame such that we may tie the state of the
10712        "step out" button to the availability of a call frame to step out to in the filtered
10713        list set on the DebuggerManager.
10714
10715        * UserInterface/JavaScriptLogViewController.js:
10716        (WebInspector.JavaScriptLogViewController.prototype.consolePromptTextCommitted):
10717        Set the doNotPauseOnExceptionsAndMuteConsole to "false" when calling _evaluateInInspectedWindow()
10718        in order to allow pausing on exceptions coming from code evalued in the console. Also, explicitly
10719        set a sourceURL for the script to evaluate such that we may identify its origin when filtering
10720        call frames stemming from inspector code.
10721
10722        * UserInterface/ResourceSidebarPanel.js:
10723        (WebInspector.ResourceSidebarPanel.prototype._scriptWasAdded):
10724        Filter out any script resource starting with the Web Inspector-specific "__WebInspector" prefix
10725        so that injected script does not show up.
10726
107272013-08-30  Brent Fulgham  <bfulgham@apple.com>
10728
10729        [Windows] Correct windows build. Get rid of unnecessary pre-build step. We don't build anything
10730        in this project, just copy some files into the WebKit resource folder. This was fooling the
10731        build system into thinking something failed, resulting in a build error.
10732
10733        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj: Remove reference to WebInspectorUIPreBuild.cmd
10734        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
10735        * WebInspectorUI.vcxproj/WebInspectorUIPreBuild.cmd: Removed.
10736
107372013-08-30  Brent Fulgham  <bfulgham@apple.com>
10738
10739        [Windows] Build correction after dependency change.
10740
10741        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj: Remove circular dependency on
10742        WebKit, and control this at the solution level. The prior change broke external
10743        builders.
10744
107452013-08-30  Brent Fulgham  <bfulgham@apple.com>
10746
10747        [Windows] Unreviewed build gardening.
10748
10749        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj: Adjust build dependencies so
10750        that WebInspectorUI 'builds' after WebKit so that the expected resource directory
10751        structure is always in place.
10752
107532013-08-30  Joseph Pecoraro  <pecoraro@apple.com>
10754
10755        Web Inspector: Breakpoints should have Automatically Continue Option
10756        https://bugs.webkit.org/show_bug.cgi?id=120187
10757
10758        Reviewed by Timothy Hatcher.
10759
10760        * Localizations/en.lproj/localizedStrings.js:
10761        * UserInterface/Breakpoint.css:
10762        (#edit-breakpoint-popoover-auto-continue):
10763        Misc. changes for UI.
10764
10765        * UserInterface/Breakpoint.js:
10766        (WebInspector.Breakpoint):
10767        (WebInspector.Breakpoint.prototype.get autoContinue):
10768        (WebInspector.Breakpoint.prototype.set autoContinue):
10769        (WebInspector.Breakpoint.prototype.get options):
10770        (WebInspector.Breakpoint.prototype.get info):
10771        General maintenance of the autoContinue state.
10772
10773        (WebInspector.Breakpoint.prototype._popoverToggleEnabledCheckboxChanged):
10774        (WebInspector.Breakpoint.prototype._popoverToggleAutoContinueCheckboxChanged):
10775        (WebInspector.Breakpoint.prototype._editBreakpointPopoverContentElement):
10776        Edit Breakpoint UI for setting autoContinue state.
10777
10778        * UserInterface/InspectorBackend.js:
10779        (InspectorBackendClass.prototype.registerCommand):
10780        (InspectorBackendClass.prototype._supports):
10781        Extension to check if a BackendCommands method supports a particular param.
10782
10783        * UserInterface/DebuggerManager.js:
10784        (WebInspector.DebuggerManager):
10785        (WebInspector.DebuggerManager.prototype._setBreakpoint):
10786        * UserInterface/InspectorBackendCommands.js:
10787        Change to backend agent calls for the new protocol API.
10788
107892013-08-29  Timothy Hatcher  <timothy@apple.com>
10790
10791        Make incrementing and decrementing numbers by 0.1 require the control key, and not near zero numbers.
10792
10793        https://bugs.webkit.org/show_bug.cgi?id=120492
10794        <rdar://problem/13738935> Incrementing and decrementing numbers near zero is annoying compared to earlier releases
10795
10796        Reviewed by Joseph Pecoraro.
10797
10798        * UserInterface/CodeMirrorAdditions.js:
10799        (alterNumber): Remove near zero check.
10800
108012013-08-29  Timothy Hatcher  <timothy@apple.com>
10802
10803        Only modify numbers if they are identified by CodeMirror as a number.
10804
10805        https://bugs.webkit.org/show_bug.cgi?id=120484
10806
10807        <rdar://problem/13877085> REGRESSION: Alt-up and Alt-down don't work when cursor is in unit
10808        <rdar://problem/13058697> PARITY: Option-Up arrow in "translate3d" should not modify number to make" translate4d"
10809
10810        Reviewed by Joseph Pecoraro.
10811
10812        * UserInterface/CodeMirrorAdditions.js:
10813        (CodeMirror.prototype.alterNumberInRange): Correctly preserve the selection, even if it differs from
10814        the range passed in.
10815        (alterNumber): Find number tokens and pass those to alterNumberInRange.
10816        (alterNumber.findNumberToken): Added. Helper.
10817
108182013-08-29  Timothy Hatcher  <timothy@apple.com>
10819
10820        Make incrementing and decrementing numbers by 0.1 require the control key, and not near zero numbers.
10821
10822        https://bugs.webkit.org/show_bug.cgi?id=120492
10823        <rdar://problem/13738935> Incrementing and decrementing numbers near zero is annoying compared to earlier releases
10824
10825        Reviewed by Joseph Pecoraro.
10826
10827        * UserInterface/CodeMirrorAdditions.js:
10828        (alterNumber): Remove near zero check.
10829
108302013-08-29  Joseph Pecoraro  <pecoraro@apple.com>
10831
10832        Web Inspector: Download Web Archive of Inspected Page
10833        https://bugs.webkit.org/show_bug.cgi?id=119774
10834
10835        Reviewed by Timothy Hatcher.
10836
10837        * UserInterface/ContentBrowser.js:
10838        (WebInspector.ContentBrowser.prototype._saveDataToFile):
10839        Allow a custom save handler which will do all the work.
10840
10841        * UserInterface/DOMTreeContentView.js:
10842        (WebInspector.DOMTreeContentView):
10843        (WebInspector.DOMTreeContentView.prototype.get supportsSave):
10844        (WebInspector.DOMTreeContentView.prototype.get saveData.saveHandler):
10845        (WebInspector.DOMTreeContentView.prototype.get saveData):
10846        Allow Save keyboard shortcut to download an archive viewing the DOM Tree.
10847
10848        * UserInterface/ResourceTreeElement.js:
10849        (WebInspector.ResourceTreeElement.prototype._updateStatus):
10850        * UserInterface/FrameTreeElement.js:
10851        (WebInspector.FrameTreeElement):
10852        (WebInspector.FrameTreeElement.prototype.updateStatusForMainFrame):
10853        (WebInspector.FrameTreeElement.prototype._mainResourceDidChange):
10854        (WebInspector.FrameTreeElement.prototype._shouldGroupIntoFolders):
10855        (WebInspector.FrameTreeElement.prototype._reloadPageClicked):
10856        (WebInspector.FrameTreeElement.prototype._downloadButtonClicked):
10857        (WebInspector.FrameTreeElement.prototype._updateDownloadButton):
10858        (WebInspector.FrameTreeElement.prototype._pageArchiveStarted):
10859        (WebInspector.FrameTreeElement.prototype._pageArchiveEnded):
10860        Move handling of main frame TreeElement buttons to FrameTreeElement.
10861        Add a Download button, and enable/disable it appropriately.
10862
10863        * UserInterface/ResourceTreeElement.css:
10864        * UserInterface/TreeElementStatusButton.css: Copied from Source/WebInspectorUI/UserInterface/ResourceTreeElement.css.
10865        (.item > .status > .status-button):
10866        (.item > .status > .status-button > svg *):
10867        (.item.selected > .status > .status-button > svg *):
10868        (.item.selected > .status > .status-button:active > svg *):
10869        (.item > .status > .status-button.disabled > svg *):
10870        (.item.selected > .status > .status-button.disabled > svg *):
10871        * UserInterface/TreeElementStatusButton.js: Added.
10872        (WebInspector.TreeElementStatusButton):
10873        (WebInspector.TreeElementStatusButton.prototype.get element):
10874        (WebInspector.TreeElementStatusButton.prototype.get hidden):
10875        (WebInspector.TreeElementStatusButton.prototype.set hidden):
10876        (WebInspector.TreeElementStatusButton.prototype.get enabled):
10877        (WebInspector.TreeElementStatusButton.prototype.set enabled):
10878        (WebInspector.TreeElementStatusButton.prototype._clicked):
10879        Make buttons in the TreeElement status a generic class to share styling
10880        and handling of the buttons. New "disabled" state with even more
10881        transparent is used when the page is downloading.
10882
10883        * UserInterface/Main.html:
10884        * UserInterface/Main.js:
10885        (WebInspector.archiveMainFrame):
10886        (WebInspector.canArchiveMainFrame):
10887        Generic API for archiving the page and determining if you can archive it.
10888
10889        * UserInterface/InspectorBackendCommands.js:
10890        * UserInterface/InspectorFrontendHostStub.js:
10891        (.WebInspector.InspectorFrontendHostStub.prototype.save):
10892        * UserInterface/Images/DownloadArrow.svg: Added.
10893        * Localizations/en.lproj/localizedStrings.js:
10894        Misc. updates and new files.
10895
108962013-08-28  Joseph Pecoraro  <pecoraro@apple.com>
10897
10898        Web Inspector: Give reload icon an :active state and allow CSS to style some SVG images
10899        https://bugs.webkit.org/show_bug.cgi?id=120384
10900
10901        Reviewed by Timothy Hatcher.
10902
10903        The Reload icon is duplicated just to provide different fill colors.
10904        Convert from using <img> to an <svg> document for this image, and style
10905        it with CSS. This also makes it trivial to add an :active state.
10906
10907        * UserInterface/ImageUtilities.js:
10908        (.invokeCallbackWithDocument):
10909        (.imageLoad):
10910        (.imageError):
10911        (wrappedSVGDocument):
10912        Helpers for downloading and in memory caching SVG images.
10913
10914        * UserInterface/Images/Reload.svg:
10915        * UserInterface/Images/ReloadSelected.svg: Removed.
10916        Updated Reload image better matches the original design (slightly
10917        larger). And the duplicate image can be removed.
10918
10919        * UserInterface/ResourceTreeElement.css:
10920        (.item.resource > .status > .reload-button):
10921        (.item.resource > .status > .reload-button > svg *):
10922        (.item.resource.selected > .status > .reload-button > svg *):
10923        (.item.resource.selected > .status > .reload-button:active > svg *):
10924        Different styles, including a new :active style.
10925
10926        * UserInterface/ResourceTreeElement.js:
10927        (WebInspector.ResourceTreeElement.prototype._updateStatusWithMainFrameButtons):
10928        (WebInspector.ResourceTreeElement.prototype._updateStatus):
10929        Handle updating the main frame's state asynchronously since loading the SVG
10930        image document is asynchronous.
10931
109322013-08-27  Joseph Pecoraro  <pecoraro@apple.com>
10933
10934        Web Inspector: Debugger should have Continue to Here Context Menu
10935        https://bugs.webkit.org/show_bug.cgi?id=120189
10936
10937        Reviewed by Timothy Hatcher.
10938
10939        When paused in the debugger and presenting a Context Menu in the
10940        gutter, include a "Continue to Here" option. This requires a
10941        script/line/column location combination.
10942
10943        * UserInterface/DebuggerManager.js:
10944        (WebInspector.DebuggerManager.prototype.continueToLocation):
10945        * UserInterface/Resource.js:
10946        (WebInspector.Resource.prototype.scriptForLocation):
10947        * UserInterface/SourceCodeTextEditor.js:
10948        (WebInspector.SourceCodeTextEditor.prototype.continueToLocation):
10949        (WebInspector.SourceCodeTextEditor.prototype.textEditorGutterContextMenu):
10950
109512013-08-26  Joseph Pecoraro  <pecoraro@apple.com>
10952
10953        Web Inspector: We should regenerate InspectorBackendCommands.js for Legacy Inspector.json versions
10954        https://bugs.webkit.org/show_bug.cgi?id=120242
10955
10956        Reviewed by Timothy Hatcher.
10957
10958        - Include the iOS 6.0 Inspector.json which maps to Legacy/6.0/InspectorBackendCommands.js.
10959        - Provide a helper script to regenerate the backend commands file for trunk and Versions.
10960        - Regenerated file now includes enums and other minor changes.
10961
10962        * Scripts/update-InspectorBackendCommands.rb: Added.
10963        * UserInterface/InspectorBackendCommands.js:
10964        * UserInterface/Legacy/6.0/InspectorBackendCommands.js:
10965        * Versions/Inspector-iOS-6.0.json: Added.
10966
109672013-08-24  Joseph Pecoraro  <pecoraro@apple.com>
10968
10969        Web Inspector: Breakpoints in the editors gutter should have a contextmenu
10970        https://bugs.webkit.org/show_bug.cgi?id=120169
10971
10972        Reviewed by Timothy Hatcher.
10973
10974        Updated CodeMirror now has a gutterContextMenu event. Use that to give
10975        breakpoint related context menus. Add, Edit, Enable/Disable, Delete, and
10976        Reveal in Debugger Navigation Sidebar.
10977
10978        * Localizations/en.lproj/localizedStrings.js:
10979        "Add Breakpoint", and "Reveal in Debugger Navigation Sidebar".
10980
10981        * UserInterface/SourceCodeTextEditor.js:
10982        (WebInspector.SourceCodeTextEditor.prototype.textEditorGutterContextMenu.addBreakpoint):
10983        (WebInspector.SourceCodeTextEditor.prototype.textEditorGutterContextMenu.revealInSidebar):
10984        (WebInspector.SourceCodeTextEditor.prototype.textEditorGutterContextMenu.removeBreakpoints):
10985        (WebInspector.SourceCodeTextEditor.prototype.textEditorGutterContextMenu.toggleBreakpoints):
10986        (WebInspector.SourceCodeTextEditor.prototype.textEditorGutterContextMenu):
10987        Show a context menu when clicking on the gutter for 0 breakpoints,
10988        1 breakpoint, or >1 breakpoints. The only tricky handler is addBreakpoint,
10989        since that must update the TextEditor for the new breakpoint info.
10990
10991        * UserInterface/TextEditor.js:
10992        (WebInspector.TextEditor):
10993        (WebInspector.TextEditor.prototype._gutterContextMenu):
10994        Send to delegate if the delegate implements textEditorGutterContextMenu.
10995
109962013-08-23  Joseph Pecoraro  <pecoraro@apple.com>
10997
10998        Web Inspector: Fix js minification of updated CodeMirror
10999        https://bugs.webkit.org/show_bug.cgi?id=120231
11000
11001        Reviewed by Andy Estes.
11002
11003        Workaround a jsmin issue with "return //.test();" lines when
11004        minifying JavaScript in production builds.
11005
11006        * Scripts/copy-user-interface-resources.sh:
11007        * UserInterface/External/CodeMirror/codemirror.js:
11008        (window.CodeMirror):
11009
110102013-08-22  Joseph Pecoraro  <pecoraro@apple.com>
11011
11012        <https://webkit.org/b/120165> Web Inspector: Update CodeMirror to 3.16.1
11013
11014        Reviewed by Andy Estes.
11015
11016        * Tools/PrettyPrinting/codemirror.css:
11017        * Tools/PrettyPrinting/codemirror.js:
11018        * Tools/PrettyPrinting/css.js:
11019        * Tools/PrettyPrinting/javascript.js:
11020        * UserInterface/External/CodeMirror/codemirror.css:
11021        * UserInterface/External/CodeMirror/codemirror.js:
11022        * UserInterface/External/CodeMirror/css.js:
11023        * UserInterface/External/CodeMirror/javascript.js:
11024        * UserInterface/External/CodeMirror/xml.js:
11025
110262013-08-21  Brent Fulgham  <bfulgham@apple.com>
11027
11028        [Windows] Clean up project file after %PlatformArchitecture% change landed.
11029
11030        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj: Remove hard-coded settings covered
11031        by our configuration files.
11032        * WebInspectorUI.vcxproj/WebInspectorUIPostBuild.cmd: Use the %PlatformArchitecture%
11033        macro to support 32- and 64-bit builds.
11034
110352013-08-20  Brent Fulgham  <bfulgham@apple.com>
11036
11037        <http://webkit.org/b/120098> [Windows] Enable the New Web Inspector
11038
11039        Reviewed by Brian Weinstein.
11040
11041        Add a new project to copy files to the appropriate spots in the
11042        Windows port.
11043
11044        * WebInspectorUI.vcxproj: Added.
11045        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj: Added.
11046        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters: Added.
11047        * WebInspectorUI.vcxproj/WebInspectorUIPostBuild.cmd: Added.
11048        * WebInspectorUI.vcxproj/WebInspectorUIPreBuild.cmd: Added.
11049
110502013-08-19  James Craig  <james@cookiecrook.com>
11051
11052        <https://webkit.org/b/118106> Web Inspector: AX: Add additional contextual labels for Error/Warnings/Logs that will be spoken for screen readers
11053
11054        Reviewed by Joseph Pecoraro.
11055
11056        Changed general console "Output" string to more specific "Error", "Warning", etc for accessibility.
11057
11058        * Localizations/en.lproj/localizedStrings.js:
11059        * UserInterface/ConsoleCommandResult.js:
11060        * UserInterface/ConsoleMessageImpl.js:
11061
110622013-08-16  James Craig  <james@cookiecrook.com>
11063
11064        <https://webkit.org/b/118105> Web Inspector: AX: Add support for ARIA tablists/tabs to inspector tabs
11065
11066        Reviewed by Joseph Pecoraro.
11067
11068        Updating accessibility roles and attributes for single-select toolbar item sets.
11069
11070        * UserInterface/ActivateButtonNavigationItem.js:
11071        (WebInspector.ActivateButtonNavigationItem):
11072        (WebInspector.ActivateButtonNavigationItem.prototype.set activated):
11073        * UserInterface/ActivateButtonToolbarItem.js:
11074        (WebInspector.ActivateButtonToolbarItem):
11075        * UserInterface/ButtonToolbarItem.js:
11076        (WebInspector.ButtonToolbarItem):
11077        * UserInterface/SidebarPanel.js:
11078        (WebInspector.SidebarPanel):
11079        * UserInterface/Toolbar.js:
11080        (WebInspector.Toolbar):
11081
110822013-08-13  Dean Jackson  <dino@apple.com>
11083
11084        <https://webkit.org/b/119778> Add Canvas protocol observer
11085
11086        Reviewed by Joseph Pecoraro.
11087
11088        In preparation for listening to backend events about canvas profiling,
11089        add a canvas observer.
11090
11091        * UserInterface/CanvasObserver.js: New empty CanvasObserver object.
11092        (WebInspector.CanvasObserver):
11093        (WebInspector.CanvasObserver.prototype.contextCreated):
11094        (WebInspector.CanvasObserver.prototype.traceLogsRemoved):
11095        * UserInterface/Main.html:
11096        * UserInterface/Main.js:
11097        (WebInspector.loaded):
11098
110992013-08-11  Dean Jackson  <dino@apple.com>
11100
11101        Update localizedStrings - I think I checked in an unmerged version
11102        in the previous commit.
11103
11104        * Localizations/en.lproj/localizedStrings.js:
11105
111062013-08-11  Dean Jackson  <dino@apple.com>
11107
11108        Bootstrap canvas profiler
11109        https://bugs.webkit.org/show_bug.cgi?id=119652
11110        <rdar://problem/14703665>
11111
11112        Reviewed by Joseph Pecoraro.
11113
11114        Add enough to get an empty Canvas profile recording
11115        and displayed.
11116
11117        * Localizations/en.lproj/localizedStrings.js: Add canvas strings.
11118        * UserInterface/CanvasProfileObject.js: Added. Mostly copied from CSS Selector Profiles.
11119        * UserInterface/CanvasProfileType.js: Added. Ditto.
11120        * UserInterface/CanvasDataGridNode.js: Added. Ditto.
11121        * UserInterface/CanvasProfileView.js: Added. Ditto.
11122        * UserInterface/ContentView.js:
11123        (WebInspector.ContentView): Add support for the new View type.
11124        (WebInspector.ContentView.isViewable):
11125        * UserInterface/InstrumentSidebarPanel.js:
11126        (WebInspector.InstrumentSidebarPanel): Add support for canvas profiles.
11127        (WebInspector.InstrumentSidebarPanel.prototype._recordProfileGlyphMousedOver):
11128        (WebInspector.InstrumentSidebarPanel.prototype._recordProfileGlyphMousedDown):
11129        (WebInspector.InstrumentSidebarPanel.prototype._recordProfileGlyphClicked):
11130        (WebInspector.InstrumentSidebarPanel.prototype._profileTypeWasSelected):
11131        (WebInspector.InstrumentSidebarPanel.prototype._profilesCleared):
11132        * UserInterface/Main.html: Load the new files.
11133        * UserInterface/ProfileManager.js: New methods and support for canvas profiles.
11134        (WebInspector.ProfileManager):
11135        (WebInspector.ProfileManager.prototype.initialize):
11136        (WebInspector.ProfileManager.prototype.isProfilingCanvas):
11137        (WebInspector.ProfileManager.prototype.startProfilingCanvas):
11138        (WebInspector.ProfileManager.prototype.stopProfilingCanvas):
11139        (WebInspector.ProfileManager.prototype._checkForInterruptions):
11140        (WebInspector.ProfileManager.prototype._attemptToResumeProfiling):
11141
111422013-08-07  Timothy Hatcher  <timothy@apple.com>
11143
11144        Switch the generated images off of PDFs and onto SVGs now that bug 119492 is fixed.
11145
11146        https://bugs.webkit.org/show_bug.cgi?id=118677
11147
11148        Reviewed by Joseph Pecoraro.
11149
11150        * UserInterface/ApplicationCacheDetailsSidebarPanel.js:
11151        (WebInspector.ApplicationCacheDetailsSidebarPanel):
11152        * UserInterface/CSSStyleDeclarationSection.js:
11153        (WebInspector.CSSStyleDeclarationSection):
11154        * UserInterface/CSSStyleDetailsSidebarPanel.js:
11155        (WebInspector.CSSStyleDetailsSidebarPanel):
11156        * UserInterface/ContentBrowser.js:
11157        (WebInspector.ContentBrowser):
11158        * UserInterface/DOMNodeDetailsSidebarPanel.js:
11159        (WebInspector.DOMNodeDetailsSidebarPanel):
11160        * UserInterface/DOMTreeContentView.js:
11161        (WebInspector.DOMTreeContentView):
11162        * UserInterface/DataGrid.js:
11163        (WebInspector.DataGrid.prototype._generateSortIndicatorImagesIfNeeded):
11164        * UserInterface/DebuggerSidebarPanel.js:
11165        (WebInspector.DebuggerSidebarPanel):
11166        * UserInterface/DetailsSection.js:
11167        (WebInspector.DetailsSection.prototype._generateDisclosureTrianglesIfNeeded):
11168        * UserInterface/FindBanner.js:
11169        (WebInspector.FindBanner.prototype._generateButtonsGlyphsIfNeeded):
11170        * UserInterface/Images/BackArrow.pdf: Removed.
11171        * UserInterface/Images/BottomUpTree.pdf: Removed.
11172        * UserInterface/Images/Breakpoints.pdf: Removed.
11173        * UserInterface/Images/Close.pdf: Removed.
11174        * UserInterface/Images/Crosshair.pdf: Removed.
11175        * UserInterface/Images/DisclosureTriangleSmallClosed.pdf: Removed.
11176        * UserInterface/Images/DisclosureTriangleSmallOpen.pdf: Removed.
11177        * UserInterface/Images/DisclosureTriangleTinyClosed.pdf: Removed.
11178        * UserInterface/Images/DisclosureTriangleTinyOpen.pdf: Removed.
11179        * UserInterface/Images/DockBottom.pdf: Removed.
11180        * UserInterface/Images/DockRight.pdf: Removed.
11181        * UserInterface/Images/ForwardArrow.pdf: Removed.
11182        * UserInterface/Images/GoToArrow.pdf: Removed.
11183        * UserInterface/Images/LayerBorders.pdf: Removed.
11184        * UserInterface/Images/LessColumns.pdf: Removed.
11185        * UserInterface/Images/Locked.pdf: Removed.
11186        * UserInterface/Images/MoreColumns.pdf: Removed.
11187        * UserInterface/Images/NavigationItemAngleBrackets.pdf: Removed.
11188        * UserInterface/Images/NavigationItemBrushAndRuler.pdf: Removed.
11189        * UserInterface/Images/NavigationItemBug.pdf: Removed.
11190        * UserInterface/Images/NavigationItemCurleyBraces.pdf: Removed.
11191        * UserInterface/Images/NavigationItemFile.pdf: Removed.
11192        * UserInterface/Images/NavigationItemLayers.pdf: Removed.
11193        * UserInterface/Images/NavigationItemLog.pdf: Removed.
11194        * UserInterface/Images/NavigationItemMagnifyingGlass.pdf: Removed.
11195        * UserInterface/Images/NavigationItemStopwatch.pdf: Removed.
11196        * UserInterface/Images/NavigationItemStorage.pdf: Removed.
11197        * UserInterface/Images/NavigationItemTrash.pdf: Removed.
11198        * UserInterface/Images/NavigationItemVariable.pdf: Removed.
11199        * UserInterface/Images/Pause.pdf: Removed.
11200        * UserInterface/Images/Percent.pdf: Removed.
11201        * UserInterface/Images/Plus.pdf: Removed.
11202        * UserInterface/Images/Resume.pdf: Removed.
11203        * UserInterface/Images/ShadowDOM.pdf: Removed.
11204        * UserInterface/Images/SortIndicatorDownArrow.pdf: Removed.
11205        * UserInterface/Images/SortIndicatorUpArrow.pdf: Removed.
11206        * UserInterface/Images/SplitToggleDown.pdf: Removed.
11207        * UserInterface/Images/SplitToggleUp.pdf: Removed.
11208        * UserInterface/Images/StepInto.pdf: Removed.
11209        * UserInterface/Images/StepOut.pdf: Removed.
11210        * UserInterface/Images/StepOver.pdf: Removed.
11211        * UserInterface/Images/Undock.pdf: Removed.
11212        * UserInterface/InstrumentSidebarPanel.js:
11213        (WebInspector.InstrumentSidebarPanel):
11214        * UserInterface/JavaScriptProfileView.js:
11215        (WebInspector.JavaScriptProfileView):
11216        * UserInterface/LayerTreeSidebarPanel.js:
11217        (WebInspector.LayerTreeSidebarPanel):
11218        * UserInterface/LogContentView.js:
11219        (WebInspector.LogContentView):
11220        * UserInterface/Main.js:
11221        (WebInspector.contentLoaded):
11222        (WebInspector._updateDockNavigationItems):
11223        (WebInspector._generateDisclosureTriangleImages):
11224        * UserInterface/NavigationSidebarPanel.js:
11225        (WebInspector.NavigationSidebarPanel.prototype._generateDisclosureTrianglesIfNeeded):
11226        * UserInterface/ProfileView.js:
11227        (WebInspector.ProfileView):
11228        * UserInterface/ResourceDetailsSidebarPanel.js:
11229        (WebInspector.ResourceDetailsSidebarPanel):
11230        * UserInterface/ResourceSidebarPanel.js:
11231        (WebInspector.ResourceSidebarPanel):
11232        * UserInterface/ScopeChainDetailsSidebarPanel.js:
11233        (WebInspector.ScopeChainDetailsSidebarPanel):
11234        * UserInterface/ScriptContentView.js:
11235        (WebInspector.ScriptContentView):
11236        * UserInterface/TextContentView.js:
11237        (WebInspector.TextContentView):
11238        * UserInterface/TextResourceContentView.js:
11239        (WebInspector.TextResourceContentView):
11240        * UserInterface/TimelinesContentView.js:
11241
112422013-08-08  Dean Jackson  <dino@apple.com>
11243
11244        Remove use of prefixed transition event
11245        https://bugs.webkit.org/show_bug.cgi?id=119598
11246
11247        Reviewed by Joseph Pecoraro.
11248
11249        "webkitTransitionEnd" -> "transitionend".
11250
11251        * UserInterface/Popover.js:
11252        (WebInspector.Popover):
11253        (WebInspector.Popover.prototype.handleEvent):
11254
112552013-08-08  Dean Jackson  <dino@apple.com>
11256
11257        Unprefix use of transitions in Web Inspector code
11258        https://bugs.webkit.org/show_bug.cgi?id=119588
11259
11260        Reviewed by Tim Hatcher.
11261
11262        Replace "-webkit-transition" with "transition".
11263
11264        * UserInterface/CSSCompletions.js:
11265        (WebInspector.CSSCompletions.requestCSSNameCompletions.collectPropertyNameForCodeMirror):
11266        * UserInterface/FindBanner.css:
11267        (.find-banner):
11268        (.find-banner.showing):
11269        (.supports-find-banner.no-find-banner-transition):
11270        (.supports-find-banner):
11271        (.supports-find-banner.showing-find-banner):
11272        * UserInterface/NetworkTimeline.css:
11273        (.network-graph-side:hover .network-graph-label):
11274        * UserInterface/Popover.css:
11275        (.popover.fade-out):
11276
112772013-08-08  Vivek Galatage  <vivek.vg@samsung.com>
11278
11279        Web Inspector: Use granular DOMStorage modification events to avoid complete DataGrid update.
11280        https://bugs.webkit.org/show_bug.cgi?id=119541
11281
11282        Reviewed by Joseph Pecoraro.
11283
11284        InspectorDOMStorageAgent sends more granular events about the storage modifications.
11285        Using these would avoid the complete rebuilding of the DataGrid.
11286
11287        * UserInterface/DOMStorageContentView.js:
11288        (WebInspector.DOMStorageContentView.prototype.itemsCleared):
11289        (WebInspector.DOMStorageContentView.prototype.itemRemoved):
11290        (WebInspector.DOMStorageContentView.prototype.itemAdded):
11291        (WebInspector.DOMStorageContentView.prototype.itemUpdated):
11292        * UserInterface/DOMStorageObserver.js:
11293        (WebInspector.DOMStorageObserver.prototype.domStorageItemsCleared):
11294        (WebInspector.DOMStorageObserver.prototype.domStorageItemRemoved):
11295        (WebInspector.DOMStorageObserver.prototype.domStorageItemAdded):
11296        (WebInspector.DOMStorageObserver.prototype.domStorageItemUpdated):
11297        * UserInterface/StorageManager.js:
11298        (WebInspector.StorageManager.prototype.domStorageItemsCleared):
11299        (WebInspector.StorageManager.prototype.domStorageItemRemoved):
11300        (WebInspector.StorageManager.prototype.domStorageItemAdded):
11301        (WebInspector.StorageManager.prototype.domStorageItemUpdated):
11302
113032013-08-06  Joseph Pecoraro  <pecoraro@apple.com>
11304
11305        Web Inspector: Remove stale code in ResourceContentView
11306        https://bugs.webkit.org/show_bug.cgi?id=119527
11307
11308        The handling of Resource Type changes moved to ResourceClusterContentView,
11309        this removeEventListener is stale and doesn't do anything anymore.
11310
11311        Reviewed by Timothy Hatcher.
11312
11313        * UserInterface/ResourceContentView.js:
11314        (WebInspector.ResourceContentView.prototype.closed):
11315
113162013-08-06  Timothy Hatcher  <timothy@apple.com>
11317
11318        Convert all Web Inspector PDFs to SVGs.
11319
11320        Some PDFs need to stay around until bug 119492 is fixed. But the SVGs are there for when they are needed.
11321        Updated some of the existing SVGs to be consistent with the format of the new SVGs.
11322
11323        https://bugs.webkit.org/show_bug.cgi?id=118677
11324
11325        Rubber-stamped by Joseph Pecoraro.
11326
11327        * UserInterface/BreakpointIcons.css:
11328        * UserInterface/BreakpointTreeElement.css:
11329        * UserInterface/CallFrameIcons.css:
11330        * UserInterface/DatabaseContentView.css:
11331        * UserInterface/FilterBar.css:
11332        * UserInterface/HierarchicalPathComponent.css:
11333        * UserInterface/Images/BackArrow.svg: Added.
11334        * UserInterface/Images/BottomUpTree.svg: Added.
11335        * UserInterface/Images/BreakpointButton.pdf: Removed.
11336        * UserInterface/Images/BreakpointButton.svg: Added.
11337        * UserInterface/Images/BreakpointInactiveButton.pdf: Removed.
11338        * UserInterface/Images/BreakpointInactiveButton.svg: Added.
11339        * UserInterface/Images/Breakpoints.svg: Added.
11340        * UserInterface/Images/Close.svg: Added.
11341        * UserInterface/Images/Crosshair.svg: Added.
11342        * UserInterface/Images/DOMCharacterData.pdf: Removed.
11343        * UserInterface/Images/DOMCharacterData.svg: Added.
11344        * UserInterface/Images/DOMComment.pdf: Removed.
11345        * UserInterface/Images/DOMComment.svg: Added.
11346        * UserInterface/Images/DOMDocument.pdf: Removed.
11347        * UserInterface/Images/DOMDocument.svg: Added.
11348        * UserInterface/Images/DOMDocumentType.pdf: Removed.
11349        * UserInterface/Images/DOMDocumentType.svg: Added.
11350        * UserInterface/Images/DOMElement.pdf: Removed.
11351        * UserInterface/Images/DOMElement.svg: Added.
11352        * UserInterface/Images/DOMNode.pdf: Removed.
11353        * UserInterface/Images/DOMNode.svg: Added.
11354        * UserInterface/Images/DOMTextNode.pdf: Removed.
11355        * UserInterface/Images/DOMTextNode.svg: Added.
11356        * UserInterface/Images/DOMTree.pdf: Removed.
11357        * UserInterface/Images/DOMTree.svg: Added.
11358        * UserInterface/Images/DisclosureTriangleSmallClosed.svg: Added.
11359        * UserInterface/Images/DisclosureTriangleSmallOpen.svg: Added.
11360        * UserInterface/Images/DisclosureTriangleTinyClosed.svg: Added.
11361        * UserInterface/Images/DisclosureTriangleTinyOpen.svg: Added.
11362        * UserInterface/Images/DockBottom.svg: Added.
11363        * UserInterface/Images/DockRight.svg: Added.
11364        * UserInterface/Images/Error.pdf: Removed.
11365        * UserInterface/Images/Error.svg: Added.
11366        * UserInterface/Images/ErrorSmall.pdf: Removed.
11367        * UserInterface/Images/Errors.svg:
11368        * UserInterface/Images/ErrorsEnabled.svg:
11369        * UserInterface/Images/EventListener.pdf: Removed.
11370        * UserInterface/Images/EventListener.svg: Added.
11371        * UserInterface/Images/Exception.pdf: Removed.
11372        * UserInterface/Images/Exception.svg: Added.
11373        * UserInterface/Images/FilterFieldGlyph.pdf: Removed.
11374        * UserInterface/Images/FilterFieldGlyph.svg: Added.
11375        * UserInterface/Images/ForwardArrow.svg: Added.
11376        * UserInterface/Images/Function.pdf: Removed.
11377        * UserInterface/Images/Function.svg: Added.
11378        * UserInterface/Images/GoToArrow.svg: Added.
11379        * UserInterface/Images/HierarchicalNavigationItemChevron.pdf: Removed.
11380        * UserInterface/Images/HierarchicalNavigationItemChevron.svg: Added.
11381        * UserInterface/Images/IndeterminateProgressSpinner1.pdf: Removed.
11382        * UserInterface/Images/IndeterminateProgressSpinner1.svg: Added.
11383        * UserInterface/Images/IndeterminateProgressSpinner10.pdf: Removed.
11384        * UserInterface/Images/IndeterminateProgressSpinner10.svg: Added.
11385        * UserInterface/Images/IndeterminateProgressSpinner11.pdf: Removed.
11386        * UserInterface/Images/IndeterminateProgressSpinner11.svg: Added.
11387        * UserInterface/Images/IndeterminateProgressSpinner12.pdf: Removed.
11388        * UserInterface/Images/IndeterminateProgressSpinner12.svg: Added.
11389        * UserInterface/Images/IndeterminateProgressSpinner2.pdf: Removed.
11390        * UserInterface/Images/IndeterminateProgressSpinner2.svg: Added.
11391        * UserInterface/Images/IndeterminateProgressSpinner3.pdf: Removed.
11392        * UserInterface/Images/IndeterminateProgressSpinner3.svg: Added.
11393        * UserInterface/Images/IndeterminateProgressSpinner4.pdf: Removed.
11394        * UserInterface/Images/IndeterminateProgressSpinner4.svg: Added.
11395        * UserInterface/Images/IndeterminateProgressSpinner5.pdf: Removed.
11396        * UserInterface/Images/IndeterminateProgressSpinner5.svg: Added.
11397        * UserInterface/Images/IndeterminateProgressSpinner6.pdf: Removed.
11398        * UserInterface/Images/IndeterminateProgressSpinner6.svg: Added.
11399        * UserInterface/Images/IndeterminateProgressSpinner7.pdf: Removed.
11400        * UserInterface/Images/IndeterminateProgressSpinner7.svg: Added.
11401        * UserInterface/Images/IndeterminateProgressSpinner8.pdf: Removed.
11402        * UserInterface/Images/IndeterminateProgressSpinner8.svg: Added.
11403        * UserInterface/Images/IndeterminateProgressSpinner9.pdf: Removed.
11404        * UserInterface/Images/IndeterminateProgressSpinner9.svg: Added.
11405        * UserInterface/Images/Issues.svg:
11406        * UserInterface/Images/IssuesEnabled.svg:
11407        * UserInterface/Images/LayerBorders.svg: Added.
11408        * UserInterface/Images/LessColumns.svg: Added.
11409        * UserInterface/Images/Locked.svg: Added.
11410        * UserInterface/Images/Logs.svg:
11411        * UserInterface/Images/Memory.svg:
11412        * UserInterface/Images/MoreColumns.svg: Added.
11413        * UserInterface/Images/Native.pdf: Removed.
11414        * UserInterface/Images/Native.svg: Added.
11415        * UserInterface/Images/NavigationItemAngleBrackets.svg: Added.
11416        * UserInterface/Images/NavigationItemBrushAndRuler.svg: Added.
11417        * UserInterface/Images/NavigationItemBug.svg: Added.
11418        * UserInterface/Images/NavigationItemCurleyBraces.svg: Added.
11419        * UserInterface/Images/NavigationItemFile.svg: Added.
11420        * UserInterface/Images/NavigationItemLayers.svg: Added.
11421        * UserInterface/Images/NavigationItemLog.svg: Added.
11422        * UserInterface/Images/NavigationItemMagnifyingGlass.svg: Added.
11423        * UserInterface/Images/NavigationItemStopwatch.svg: Added.
11424        * UserInterface/Images/NavigationItemStorage.svg: Added.
11425        * UserInterface/Images/NavigationItemTrash.svg: Added.
11426        * UserInterface/Images/NavigationItemVariable.svg: Added.
11427        * UserInterface/Images/NetworkBarLabelCalloutLeft.pdf: Removed.
11428        * UserInterface/Images/NetworkBarLabelCalloutLeft.svg: Added.
11429        * UserInterface/Images/NetworkBarLabelCalloutRight.pdf: Removed.
11430        * UserInterface/Images/NetworkBarLabelCalloutRight.svg: Added.
11431        * UserInterface/Images/NetworkBarLabelCalloutWhiteLeft.pdf: Removed.
11432        * UserInterface/Images/NetworkBarLabelCalloutWhiteLeft.svg: Added.
11433        * UserInterface/Images/NetworkBarLabelCalloutWhiteRight.pdf: Removed.
11434        * UserInterface/Images/NetworkBarLabelCalloutWhiteRight.svg: Added.
11435        * UserInterface/Images/Pause.svg: Added.
11436        * UserInterface/Images/Percent.svg: Added.
11437        * UserInterface/Images/Plus.svg: Added.
11438        * UserInterface/Images/PseudoElement.pdf: Removed.
11439        * UserInterface/Images/PseudoElement.svg: Added.
11440        * UserInterface/Images/Reflection.pdf: Removed.
11441        * UserInterface/Images/Reflection.svg: Added.
11442        * UserInterface/Images/Reload.svg:
11443        * UserInterface/Images/ReloadSelected.svg:
11444        * UserInterface/Images/Request.pdf: Removed.
11445        * UserInterface/Images/Request.svg: Added.
11446        * UserInterface/Images/Resources.svg:
11447        * UserInterface/Images/Response.pdf: Removed.
11448        * UserInterface/Images/Response.svg: Added.
11449        * UserInterface/Images/ResultLine.pdf: Removed.
11450        * UserInterface/Images/ResultLine.svg: Added.
11451        * UserInterface/Images/Resume.svg: Added.
11452        * UserInterface/Images/ShadowDOM.svg: Added.
11453        * UserInterface/Images/SortIndicatorDownArrow.svg: Added.
11454        * UserInterface/Images/SortIndicatorUpArrow.svg: Added.
11455        * UserInterface/Images/SourceCode.pdf: Removed.
11456        * UserInterface/Images/SourceCode.svg: Added.
11457        * UserInterface/Images/SplitToggleDown.svg: Added.
11458        * UserInterface/Images/SplitToggleUp.svg: Added.
11459        * UserInterface/Images/StepInto.svg: Added.
11460        * UserInterface/Images/StepOut.svg: Added.
11461        * UserInterface/Images/StepOver.svg: Added.
11462        * UserInterface/Images/StyleRuleAuthor.pdf: Removed.
11463        * UserInterface/Images/StyleRuleAuthor.svg: Added.
11464        * UserInterface/Images/StyleRuleInherited.pdf: Removed.
11465        * UserInterface/Images/StyleRuleInherited.svg: Added.
11466        * UserInterface/Images/StyleRuleInheritedElement.pdf: Removed.
11467        * UserInterface/Images/StyleRuleInheritedElement.svg: Added.
11468        * UserInterface/Images/StyleRuleInspector.pdf: Removed.
11469        * UserInterface/Images/StyleRuleInspector.svg: Added.
11470        * UserInterface/Images/StyleRuleUser.pdf: Removed.
11471        * UserInterface/Images/StyleRuleUser.svg: Added.
11472        * UserInterface/Images/StyleRuleUserAgent.pdf: Removed.
11473        * UserInterface/Images/StyleRuleUserAgent.svg: Added.
11474        * UserInterface/Images/Time.svg:
11475        * UserInterface/Images/Undock.svg: Added.
11476        * UserInterface/Images/UpDownArrows.svg:
11477        * UserInterface/Images/UserInputPrompt.pdf: Removed.
11478        * UserInterface/Images/UserInputPrompt.svg: Added.
11479        * UserInterface/Images/UserInputPromptPrevious.pdf: Removed.
11480        * UserInterface/Images/UserInputPromptPrevious.svg: Added.
11481        * UserInterface/Images/UserInputPromptPreviousSelected.pdf: Removed.
11482        * UserInterface/Images/UserInputPromptPreviousSelected.svg: Added.
11483        * UserInterface/Images/UserInputResult.pdf: Removed.
11484        * UserInterface/Images/UserInputResult.svg: Added.
11485        * UserInterface/Images/UserInputResultSelected.pdf: Removed.
11486        * UserInterface/Images/UserInputResultSelected.svg: Added.
11487        * UserInterface/Images/Warning.pdf: Removed.
11488        * UserInterface/Images/Warning.svg: Added.
11489        * UserInterface/Images/WarningSmall.pdf: Removed.
11490        * UserInterface/Images/Weight.svg:
11491        * UserInterface/IndeterminateProgressSpinner.css:
11492        * UserInterface/LayerTreeSidebarPanel.css:
11493        * UserInterface/LogContentView.css:
11494        * UserInterface/Main.css:
11495        * UserInterface/NetworkTimeline.css:
11496        * UserInterface/PathComponentIcons.css:
11497        * UserInterface/QuickConsole.css:
11498        * UserInterface/RulesStyleDetailsPanel.css:
11499        * UserInterface/SearchIcons.css:
11500        * UserInterface/StyleRuleIcons.css:
11501
115022013-07-23  David Farler  <dfarler@apple.com>
11503
11504        Provide optional OTHER_CFLAGS, OTHER_CPPFLAGS, OTHER_LDFLAGS additions for building with ASAN
11505        https://bugs.webkit.org/show_bug.cgi?id=117762
11506
11507        Reviewed by Mark Rowe.
11508
11509        * Configurations/DebugRelease.xcconfig:
11510        Add ASAN_OTHER_CFLAGS, CPLUSPLUSFLAGS, LDFLAGS.
11511
115122013-07-30  Roland Takács  <rtakacs@inf.u-szeged.hu>
11513
11514        Web Inspector: doesn't use localized user interface at remote inspector
11515        https://bugs.webkit.org/show_bug.cgi?id=119252
11516
11517        Reviewed by Timothy Hatcher.
11518
11519        Added a flag in order to not use localizedStrings in remote inspector.
11520
11521        * UserInterface/InspectorFrontendHostStub.js:
11522        * UserInterface/LoadLocalizedStrings.js:
11523        * UserInterface/Main.js:
11524        (WebInspector.UIString):
11525
115262013-07-24  Antoine Quint  <graouts@apple.com>
11527
11528        Web Inspector: control+clicking on a numeric token should not show the context menu
11529        https://bugs.webkit.org/show_bug.cgi?id=119048
11530
11531        Reviewed by Timothy Hatcher.
11532
11533        Track "contextmenu" events when we're hovering a token containing a numeric value
11534        and call preventDefault() in the event handler to ensure that the context menu does
11535        not appear.
11536
11537        * UserInterface/CodeMirrorDragToAlterNumberController.js:
11538        (WebInspector.CodeMirrorDragToAlterNumberController.prototype.handleEvent):
11539        (WebInspector.CodeMirrorDragToAlterNumberController.prototype._setTracksMouseClickAndDrag):
11540
115412013-07-24  Antoine Quint  <graouts@apple.com>
11542
11543        Web Inspector: support click-and-drag editing of CSS numeric values
11544        https://bugs.webkit.org/show_bug.cgi?id=118896
11545
11546        Reviewed by Timothy Hatcher.
11547
11548        Add support for adjustment of numeric values in the various CodeMirror editors
11549        by holding the option key and dragging the mouse. By default, dragging one pixel
11550        changes the value by 1, but key modifiers allow to customize that behavior by using
11551        the control key to change the value to 0.1 and the shift key to change the value to 10.
11552
11553        * UserInterface/CodeMirrorAdditions.js:
11554        Split adjustNumber() into two methods such that we may use its logic from the
11555        CodeMirrorDragToAlterNumberController. The new method, CodeMirror.prototype.alterNumberInRange()
11556        allow to set begin and end CodeMirror positions such that the existing alterNumber()
11557        can use information based on the current cursor position, and CodeMirrorDragToAlterNumberController
11558        can use information based on the hovered token.
11559
11560        * UserInterface/CodeMirrorDragToAlterNumberController.css: Added.
11561        (.CodeMirror.drag-to-adjust .CodeMirror-lines):
11562        Set the cursor to "col-resize" when a number token is hovered and the option key
11563        modifier is pressed.
11564
11565        * UserInterface/CodeMirrorDragToAlterNumberController.js: Added.
11566        (WebInspector.CodeMirrorDragToAlterNumberController):
11567        We define the new "dragToAdjustNumbers" CodeMirror option.
11568
11569        (WebInspector.CodeMirrorDragToAlterNumberController.prototype.set enabled):
11570        The "enabled" property controls whether the associated CodeMirror instance
11571        may act upon hovering numeric values to adjust them via a drag interaction.
11572
11573        (WebInspector.CodeMirrorDragToAlterNumberController.prototype.handleEvent):
11574        Proxy for various event-specific methods to deal with mouse events. We also bind
11575        the value of the "active" property to the "mouseenter" and "mouseleave" events
11576        if we're not currently dragging-to-adjust.
11577
11578        (WebInspector.CodeMirrorDragToAlterNumberController.prototype._setActive):
11579        The "active" property is set when the mouse is over the associated CodeMirror
11580        editor and when it's on we track all "mousemove" events such that we may
11581        identify tokens containing numeric values. We also start tracking changes to the
11582        option modifier key press state such that we may change the cursor accordingly.
11583        We ensure that the CodeMirror instance is not read-only such that we don't
11584        allow adjustment of numeric values in places where they couldn't be committed.
11585
11586        (WebInspector.CodeMirrorDragToAlterNumberController.prototype._setDragging):
11587        The "dragging" property reflects whether a dragging-to-adjust interaction
11588        is underway. We call into WebInspector.elementDragStart() and WebInspector.elementDragEnd()
11589        to set the cursor to "col-resize" for the whole document while tracking mousemove
11590        and mouseup events at the window level such that we can drag-to-adjust even outside
11591        of the inspector window.
11592
11593        (WebInspector.CodeMirrorDragToAlterNumberController.prototype._setTracksMouseClickAndDrag):
11594        The "tracksMouseClickAndDrag" property is set to true whenever the controller
11595        has detected that a token containing a numeric value is being hovered and the
11596        option modifier key is pressed. This property controls the cursor value for the
11597        hovered token to reflect that a drag-to-adjust interaction is allowed and tracks
11598        "mousedown" events for when a dragging interaction may be initiated.
11599
11600        (WebInspector.CodeMirrorDragToAlterNumberController.prototype._modifiersDidChange):
11601        Sets the "tracksMouseClickAndDrag" property depending on the availability of a hovered
11602        token containing a numeric value and the pressed state of the option modified key.
11603
11604        (WebInspector.CodeMirrorDragToAlterNumberController.prototype._mouseMoved):
11605        Handles "mousemove" events when we're not in the "dragging" state such that we
11606        check the currently hovered token, if any, to see if it contains a number that
11607        we may drag-to-adjust. Subsequently, we may enter the "tracksMouseClickAndDrag"
11608        state.
11609
11610        (WebInspector.CodeMirrorDragToAlterNumberController.prototype._mouseWasPressed):
11611        Handles "mousedown" events during a drag-to-adjust interaction. We simply track
11612        the current mouse position in the x-axis and enter the "dragging" state.
11613
11614        (WebInspector.CodeMirrorDragToAlterNumberController.prototype._mouseWasDragged):
11615        Handles "mousemove" events when we are in the "dragging" state. We compare the
11616        current mouse position in the x-axis with the last recoreded value and determine
11617        the amount by which we should adjust the value, taking into account the shift and
11618        control modifier keys. We then call into WebInspector.alterNumberInRange() to
11619        apply the change amount to the associated CodeMirror editor.
11620
11621        (WebInspector.CodeMirrorDragToAlterNumberController.prototype._mouseWasReleased):
11622        Handles "mouseup" events, simply exiting the "dragging" state and resetting other
11623        parameters we would have customized as a result of the drag-to-adjust interaction.
11624
11625        (WebInspector.CodeMirrorDragToAlterNumberController.prototype._reset):
11626        Resetting some parameters we would have customized as a result of the drag-to-adjust
11627        interaction.
11628
11629        * UserInterface/Main.html:
11630        Include the new CodeMirrorDragToAlterNumberController.{js|css} files.
11631
11632        * UserInterface/Main.js:
11633        (WebInspector.elementDragStart):
11634        (WebInspector.elementDragEnd):
11635        Add an extra parameter to elementDragStart() such that the caller may specify the event
11636        target for the "mousemove" and "mouseup" events.
11637
116382013-07-23  Roland Takacs  <rtakacs@inf.u-szeged.hu>
11639
11640        WebSocket initialization to use remote inspector
11641        https://bugs.webkit.org/show_bug.cgi?id=118678
11642
11643        Reviewed by Timothy Hatcher.
11644
11645        Add WebSocket initialization and define a 'connect-src' directive in the
11646        Content-Security-Policy HTTP header to enable the connection.
11647
11648        * UserInterface/InspectorFrontendHostStub.js:
11649        (.WebInspector.InspectorFrontendHostStub.prototype.sendMessageToBackend):
11650        * UserInterface/Main.html:
11651        * UserInterface/Main.js:
11652        (WebInspector.loaded):
11653        (WebInspector._initializeWebSocketIfNeeded.createSocket.WebInspector):
11654        (WebInspector._initializeWebSocketIfNeeded.createSocket):
11655        (WebInspector._initializeWebSocketIfNeeded):
11656
116572013-07-22  Diego Pino Garcia  <dpino@igalia.com>
11658
11659        Web Inspector: When right-clicking on a DataGrid column, show editing
11660        menu option as "Edit <columnName>" instead of just "Edit"
11661        https://bugs.webkit.org/show_bug.cgi?id=118970
11662
11663        Reviewed by Timothy Hatcher.
11664
11665        * Localizations/en.lproj/localizedStrings.js: Add literal "Edit '%s'"
11666        * UserInterface/DataGrid.js: Change "Edit" for "Edit <columnTitle>"
11667        (WebInspector.DataGrid.prototype._contextMenuInDataTable):
11668
116692013-07-21  Seokju Kwon  <seokju.kwon@gmail.com>
11670
11671        Web Inspector: Cleanup InspectorFrontendHostStub.js
11672        https://bugs.webkit.org/show_bug.cgi?id=118959
11673
11674        Reviewed by Timothy Hatcher.
11675
11676        Remove some functions because we dont use on New Inspector.
11677
11678        * UserInterface/InspectorFrontendHostStub.js:
11679        (.WebInspector.InspectorFrontendHostStub):
11680        (.WebInspector.InspectorFrontendHostStub.prototype.save):
11681
116822013-07-17  Seokju Kwon  <seokju.kwon@gmail.com>
11683
11684        Web Inspector: Fix a typo in WebInspector.loaded
11685        https://bugs.webkit.org/show_bug.cgi?id=118834
11686
11687        Reviewed by Timothy Hatcher.
11688
11689        * UserInterface/Main.js:
11690        (WebInspector.loaded):
11691
116922013-07-16  Seokju Kwon  <seokju.kwon@gmail.com>
11693
11694        Web Inspector: InspectorFrontendHost is undefined
11695        https://bugs.webkit.org/show_bug.cgi?id=118715
11696
11697        Reviewed by Timothy Hatcher.
11698
11699        Add InspectorFrontendHostStub.js to New Inspector because of the InspectorFrontendHost initialization.
11700
11701        * UserInterface/InspectorFrontendHostStub.js: Added.
11702        (.WebInspector.InspectorFrontendHostStub):
11703        (.WebInspector.InspectorFrontendHostStub.prototype.platform):
11704        (.WebInspector.InspectorFrontendHostStub.prototype.port):
11705        (.WebInspector.InspectorFrontendHostStub.prototype.bringToFront):
11706        (.WebInspector.InspectorFrontendHostStub.prototype.closeWindow):
11707        (.WebInspector.InspectorFrontendHostStub.prototype.requestSetDockSide):
11708        (.WebInspector.InspectorFrontendHostStub.prototype.setAttachedWindowHeight):
11709        (.WebInspector.InspectorFrontendHostStub.prototype.setAttachedWindowWidth):
11710        (.WebInspector.InspectorFrontendHostStub.prototype.setToolbarHeight):
11711        (.WebInspector.InspectorFrontendHostStub.prototype.moveWindowBy):
11712        (.WebInspector.InspectorFrontendHostStub.prototype.loaded):
11713        (.WebInspector.InspectorFrontendHostStub.prototype.localizedStringsURL):
11714        (.WebInspector.InspectorFrontendHostStub.prototype.inspectedURLChanged):
11715        (.WebInspector.InspectorFrontendHostStub.prototype.copyText):
11716        (.WebInspector.InspectorFrontendHostStub.prototype.openInNewTab):
11717        (.WebInspector.InspectorFrontendHostStub.prototype.canSave):
11718        (.WebInspector.InspectorFrontendHostStub.prototype.save):
11719        (.WebInspector.InspectorFrontendHostStub.prototype.append):
11720        (.WebInspector.InspectorFrontendHostStub.prototype.close.cleanup):
11721        (.WebInspector.InspectorFrontendHostStub.prototype.close):
11722        (.WebInspector.InspectorFrontendHostStub.prototype.sendMessageToBackend):
11723        (.WebInspector.InspectorFrontendHostStub.prototype.loadResourceSynchronously):
11724        * UserInterface/Main.html:
11725
117262013-07-15  Seokju Kwon  <seokju.kwon@gmail.com>
11727
11728        Web Inspector: Remove unused columns from select query in ImageUtilities.js
11729        https://bugs.webkit.org/show_bug.cgi?id=118694
11730
11731        Reviewed by Timothy Hatcher.
11732
11733        * UserInterface/ImageUtilities.js: Remove pixelRatio and formatVersion from select query.
11734
117352013-07-15  Timothy Hatcher  <timothy@apple.com>
11736
11737        Update CodeMirror to 3.14.1.
11738
11739        https://bugs.webkit.org/show_bug.cgi?id=118605
11740
11741        Reviewed by Joseph Pecoraro.
11742
11743        * Scripts/update-codemirror-resources.rb: Updated the list to add closebrackets.js and sorted the files.
11744        * Tools/PrettyPrinting/CodeMirrorFormatters.js:
11745        * Tools/PrettyPrinting/Formatter.js:
11746        * Tools/PrettyPrinting/FormatterContentBuilder.js:
11747        * Tools/PrettyPrinting/codemirror.css:
11748        * Tools/PrettyPrinting/codemirror.js:
11749        * Tools/PrettyPrinting/css.js:
11750        * Tools/PrettyPrinting/javascript.js:
11751        * UserInterface/External/CodeMirror/closebrackets.js:
11752        * UserInterface/External/CodeMirror/codemirror.css:
11753        * UserInterface/External/CodeMirror/codemirror.js:
11754        * UserInterface/External/CodeMirror/coffeescript.js:
11755        * UserInterface/External/CodeMirror/comment.js:
11756        * UserInterface/External/CodeMirror/css.js:
11757        * UserInterface/External/CodeMirror/javascript.js:
11758        * UserInterface/External/CodeMirror/matchbrackets.js:
11759        * UserInterface/External/CodeMirror/sql.js:
11760        * UserInterface/External/CodeMirror/xml.js:
11761
117622013-07-15  Timothy Hatcher  <timothy@apple.com>
11763
11764        Make sure to add main resources for sub-frames to the Network Timeline.
11765
11766        https://bugs.webkit.org/show_bug.cgi?id=118649
11767
11768        Reviewed by Joseph Pecoraro.
11769
11770        * UserInterface/TimelineManager.js:
11771        (WebInspector.TimelineManager.prototype._mainResourceDidChange): Remove the
11772        call to _clear() and early return for event.target.isMainFrame(). The _clear()
11773        is already handled if needed by the call to _startAutoRecording(), so it was
11774        redundant here and caused the erroneous addition of isMainFrame() early return.
11775
117762013-07-15  Timothy Hatcher  <timothy@apple.com>
11777
11778        Properly handle style text changes while the color popover is open.
11779
11780        https://bugs.webkit.org/show_bug.cgi?id=118575
11781
11782        Reviewed by Joseph Pecoraro.
11783
11784        * UserInterface/CSSStyleDeclarationTextEditor.js:
11785        (WebInspector.CSSStyleDeclarationTextEditor.prototype._colorSwatchClicked.updateCodeMirror):
11786        The original text marker might have been cleared by a style update, in this case we need to
11787        find the new color text marker so we know the right range for the new style color text.
11788
117892013-07-14  Commit Queue  <commit-queue@webkit.org>
11790
11791        Unreviewed, rolling out r152598.
11792        http://trac.webkit.org/changeset/152598
11793        https://bugs.webkit.org/show_bug.cgi?id=118658
11794
11795        totally broke the web inspector (JS ERROR: SyntaxError:
11796        Expected token '}') (Requested by thorton on #webkit).
11797
11798        * Tools/PrettyPrinting/CodeMirrorFormatters.js:
11799        * Tools/PrettyPrinting/Formatter.js:
11800        * Tools/PrettyPrinting/FormatterContentBuilder.js:
11801        * Tools/PrettyPrinting/codemirror.css:
11802        (.CodeMirror-scrollbar-filler):
11803        (.CodeMirror-gutters):
11804        (.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler):
11805        (.CodeMirror-widget):
11806        * Tools/PrettyPrinting/codemirror.js:
11807        (window.CodeMirror):
11808        (window.CodeMirror.):
11809        (.do):
11810        (moveVisually):
11811        * Tools/PrettyPrinting/css.js:
11812        (.):
11813        (CodeMirror):
11814        * Tools/PrettyPrinting/javascript.js:
11815        (.):
11816        * UserInterface/External/CodeMirror/codemirror.css:
11817        (.CodeMirror-widget):
11818        * UserInterface/External/CodeMirror/codemirror.js:
11819        (window.CodeMirror):
11820        (window.CodeMirror.):
11821        * UserInterface/External/CodeMirror/coffeescript.js:
11822        * UserInterface/External/CodeMirror/comment.js:
11823        (.):
11824        * UserInterface/External/CodeMirror/css.js:
11825        (.):
11826        (CodeMirror):
11827        * UserInterface/External/CodeMirror/javascript.js:
11828        (.):
11829        * UserInterface/External/CodeMirror/matchbrackets.js:
11830        (.):
11831        * UserInterface/External/CodeMirror/sql.js:
11832        * UserInterface/External/CodeMirror/xml.js:
11833
118342013-07-12  Timothy Hatcher  <timothy@apple.com>
11835
11836        Update CodeMirror to 7f560afa1c (3.14+).
11837
11838        https://bugs.webkit.org/show_bug.cgi?id=118605
11839
11840        Reviewed by Sam Weinig.
11841
11842        * Tools/PrettyPrinting/CodeMirrorFormatters.js:
11843        * Tools/PrettyPrinting/Formatter.js:
11844        * Tools/PrettyPrinting/FormatterContentBuilder.js:
11845        * Tools/PrettyPrinting/codemirror.css:
11846        * Tools/PrettyPrinting/codemirror.js:
11847        * Tools/PrettyPrinting/css.js:
11848        * Tools/PrettyPrinting/javascript.js:
11849        * UserInterface/External/CodeMirror/codemirror.css:
11850        * UserInterface/External/CodeMirror/codemirror.js:
11851        * UserInterface/External/CodeMirror/coffeescript.js:
11852        * UserInterface/External/CodeMirror/comment.js:
11853        * UserInterface/External/CodeMirror/css.js:
11854        * UserInterface/External/CodeMirror/javascript.js:
11855        * UserInterface/External/CodeMirror/matchbrackets.js:
11856        * UserInterface/External/CodeMirror/sql.js:
11857        * UserInterface/External/CodeMirror/xml.js:
11858
118592013-07-12  Seokju Kwon  <seokju.kwon@gmail.com>
11860
11861        Web Inspector: Pass null for sidebarPanels and role in WebInspector.Sidebar()
11862        https://bugs.webkit.org/show_bug.cgi?id=118589
11863
11864        Reviewed by Timothy Hatcher.
11865
11866        sidebarPanels : It is necessary to get correct argument after r152141.
11867        Without this, error messages can be displayed.
11868        role : Could pass null for it since default value is "group".
11869
11870        * UserInterface/Main.js:
11871        (WebInspector.contentLoaded):
11872
118732013-07-03  Timothy Hatcher  <timothy@apple.com>
11874
11875        Guard remaining calls to decodeURIComponent with a try/catch.
11876
11877        https://bugs.webkit.org/show_bug.cgi?id=118371
11878
11879        Reviewed by Joseph Pecoraro.
11880
11881        * UserInterface/Main.js:
11882        (WebInspector.displayNameForURL):
11883        (WebInspector.updateWindowTitle):
11884        * UserInterface/Utilities.js:
11885        (arrayResult):
11886        (queryString):
11887
118882013-07-03  Jessie Berlin  <jberlin@apple.com>
11889
11890        Ran update-webkit-localizable-strings.
11891
11892        Rubber-stamped by Joseph Pecoraro.
11893
11894        * Localizations/en.lproj/localizedStrings.js:
11895
118962013-06-28  Dean Jackson  <dino@apple.com>
11897
11898        Update Apple System fonts in auto-complete
11899        https://bugs.webkit.org/show_bug.cgi?id=118205
11900        <rdar://problem/14308488>
11901
11902        Reviewed by Joseph Pecoraro.
11903
11904        Update for the new Apple System font names, and remove some invalid entries.
11905
11906        * UserInterface/CSSKeywordCompletions.js: General cleanup. Note that
11907        "apple-system-short-caption2" looks like it was accidentally omitted. It wasn't :)
11908
119092013-06-28  James Craig  <james@cookiecrook.com>
11910
11911        Web Inspector: AX: VoiceOver speaks all inspector search fields as 'required'
11912        https://bugs.webkit.org/show_bug.cgi?id=118122
11913
11914        Reviewed by Timothy Hatcher.
11915
11916        Removed bogus "required" state, and switched :valid selector to use :not(:placeholder-shown)
11917        so that screen readers will not indicate a bogus :required/:invalid state to the user.
11918        Minor cosmetic difference blocked by http://webkit.org/b/118162
11919
11920        * UserInterface/FilterBar.css:
11921        (.filter-bar > input[type="search"]:focus):
11922        (.filter-bar > input[type="search"]:not(:placeholder-shown)):
11923        * UserInterface/FilterBar.js:
11924        (WebInspector.FilterBar):
11925        * UserInterface/ResourceSidebarPanel.js:
11926        (WebInspector.ResourceSidebarPanel):
11927        * UserInterface/SearchBar.css:
11928        (.search-bar > input[type="search"]:focus):
11929        (.search-bar > input[type="search"]:not(:placeholder-shown)):
11930        * UserInterface/SearchBar.js:
11931        (WebInspector.SearchBar):
11932
119332013-06-27  James Craig  <james@cookiecrook.com>
11934
11935        Web Inspector: AX: Add container ARIA roles (toolbar, main, labeled regions, etc.)
11936        so the layout is more discoverable to screen reader users
11937        https://bugs.webkit.org/show_bug.cgi?id=118104
11938
11939        Reviewed by Timothy Hatcher.
11940
11941        Made the basic layout (toolbar, sidebars, main) of the Web Inspector understandable
11942        and navigable with VoiceOver.
11943
11944        * Localizations/en.lproj/localizedStrings.js:
11945        * UserInterface/ButtonNavigationItem.js:
11946        * UserInterface/CSSStyleDetailsSidebarPanel.js:
11947        * UserInterface/DashboardManager.js:
11948        * UserInterface/Main.js:
11949        * UserInterface/NavigationBar.js:
11950        * UserInterface/NavigationItem.js:
11951        * UserInterface/NavigationSidebarPanel.js:
11952        * UserInterface/RadioButtonNavigationItem.js:
11953        * UserInterface/Sidebar.js:
11954        * UserInterface/SidebarPanel.js:
11955        * UserInterface/Toolbar.js:
11956
119572013-06-27  James Craig  <james@cookiecrook.com>
11958
11959        Web Inspector: AX: Console log of the Inspector does not announce output for screen readers
11960        https://bugs.webkit.org/show_bug.cgi?id=115976
11961
11962        Reviewed by Timothy Hatcher.
11963
11964        Main console log area (div.console-messages) is now an ARIA live region (role="log")
11965        so screen readers speak plain text updates.
11966
11967        Also added contextual labels (e.g. input/output) but speech output verification of
11968        those is currently blocked by http://webkit.org/b/118096
11969
11970        * Localizations/en.lproj/localizedStrings.js:
11971        * UserInterface/ConsoleCommand.js:
11972        (WebInspector.ConsoleCommand.prototype.toMessageElement):
11973        * UserInterface/ConsoleCommandResult.js:
11974        (WebInspector.ConsoleCommandResult.prototype.toMessageElement):
11975        * UserInterface/LogContentView.css:
11976        (@media reader):
11977        * UserInterface/LogContentView.js:
11978        (WebInspector.LogContentView):
11979
11980
119812013-06-27  Matthew Holden  <jftholden@yahoo.com>
11982
11983        Web Inspector: Display color picker in popover on color swatch click
11984        https://bugs.webkit.org/show_bug.cgi?id=117919
11985
11986        Reviewed by Timothy Hatcher.
11987
11988        Includes fixes from second code review.
11989
11990        * Localizations/en.lproj/localizedStrings.js:
11991        * UserInterface/CSSColorPicker.css: Added.
11992        (.colorpicker-container):
11993        (.colorpicker-fill-parent):
11994        (.colorpicker-top):
11995        (.colorpicker-color):
11996        (.colorpicker-bottom span):
11997        (.colorpicker-text):
11998        (.colorpicker-color-text-value):
11999        (.colorpicker-hue):
12000        (.colorpicker-fill):
12001        (.colorpicker-range-container):
12002        (.colorpicker-range-container *):
12003        (.colorpicker-range-container label):
12004        (.colorpicker-range-container input):
12005        (.colorpicker-saturation):
12006        (.colorpicker-value):
12007        (.colorpicker-dragger):
12008        (.colorpicker-slider):
12009        (.colorpicker-container .swatch):
12010        (.colorpicker-container .swatch-inner):
12011        * UserInterface/CSSColorPicker.js: Added.
12012        (WebInspector.CSSColorPicker.consume):
12013        (WebInspector.CSSColorPicker.move):
12014        (WebInspector.CSSColorPicker.start):
12015        (WebInspector.CSSColorPicker.stop):
12016        (WebInspector.CSSColorPicker.makeDraggable):
12017        (WebInspector.CSSColorPicker.hueDrag):
12018        (WebInspector.CSSColorPicker.colorDragStart):
12019        (WebInspector.CSSColorPicker.colorDrag):
12020        (WebInspector.CSSColorPicker.alphaDrag):
12021        (WebInspector.CSSColorPicker.colorSwatchClicked):
12022        (WebInspector.CSSColorPicker):
12023        (WebInspector.CSSColorPicker.prototype.get element):
12024        (WebInspector.CSSColorPicker.prototype.set color):
12025        (WebInspector.CSSColorPicker.prototype.get color):
12026        (WebInspector.CSSColorPicker.prototype.get outputColorFormat):
12027        (WebInspector.CSSColorPicker.prototype.get colorHueOnly):
12028        (WebInspector.CSSColorPicker.prototype.set displayText):
12029        (WebInspector.CSSColorPicker.prototype.shown):
12030        (WebInspector.CSSColorPicker.prototype._updateHelperLocations):
12031        (WebInspector.CSSColorPicker.prototype._updateDisplay):
12032        (WebInspector.CSSColorPicker.hsvaToRGBA):
12033        (WebInspector.CSSColorPicker.rgbaToHSVA):
12034        * UserInterface/CSSStyleDeclarationTextEditor.js:
12035        (WebInspector.CSSStyleDeclarationTextEditor.prototype.didDismissPopover):
12036        (WebInspector.CSSStyleDeclarationTextEditor.prototype.):
12037        (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches):
12038        (WebInspector.CSSStyleDeclarationTextEditor.prototype.event.newColorText.colorTextMarker):
12039        (WebInspector.CSSStyleDeclarationTextEditor.prototype.event.newColorText):
12040        * UserInterface/Main.html:
12041
120422013-06-26  Antoine Quint  <graouts@apple.com>
12043
12044        Web Inspector: stepping through while paused in debugger makes a popover appear
12045        https://bugs.webkit.org/show_bug.cgi?id=117994
12046
12047        There is no obvious need to call tokenTrackingControllerNewHighlightCandidate when the
12048        active call frame changes and it leads to an extraneous display of the popover.
12049
12050        Reviewed by Timothy Hatcher.
12051
12052        * UserInterface/SourceCodeTextEditor.js:
12053        (WebInspector.SourceCodeTextEditor.prototype._activeCallFrameDidChange):
12054
120552013-06-24  Antoine Quint  <graouts@apple.com>
12056
12057        Web Inspector: WebInspector.displayNameForURL() failure prevents DOM inspection
12058        https://bugs.webkit.org/show_bug.cgi?id=117927
12059
12060        Handle possible mis-encoded URI fragments passed to decodeURIComponent() which
12061        could prevent inspection of the DOM.
12062
12063        Reviewed by Timothy Hatcher.
12064
12065        * UserInterface/Main.js:
12066        (WebInspector.displayNameForURL):
12067
120682013-06-17  Darin Adler  <darin@apple.com>
12069
12070        Sort all the Xcode project files
12071        https://bugs.webkit.org/show_bug.cgi?id=117696
12072
12073        Reviewed by Anders Carlsson.
12074
12075        * WebInspectorUI.xcodeproj/project.pbxproj: Ran the sort-Xcode-project-file script.
12076
120772013-06-21  Joseph Pecoraro  <pecoraro@apple.com>
12078
12079        Web Inspector: Uncaught exception when pretty printing WebInspector.Script
12080        https://bugs.webkit.org/show_bug.cgi?id=117893
12081
12082        This was an issue with an earlier refactoring. The sourceCode is a Script,
12083        so replace the non-existent local variable "script" with "this._sourceCode".
12084
12085        Reviewed by Timothy Hatcher.
12086
12087        * UserInterface/SourceCodeTextEditor.js:
12088        (WebInspector.SourceCodeTextEditor.prototype.textEditorUpdatedFormatting):
12089
120902013-06-21  Timothy Hatcher  <timothy@apple.com>
12091
12092        Stop removing and re-adding breakpoints from the backend on reload.
12093
12094        On reload the sourceCode for breakpoints are nulled out, which fires DisplayLocationDidChange.
12095        Then the sourceCode is reassociated, firing DisplayLocationDidChange again. In these cases we
12096        don't need to update the backend, since nothing really changed.
12097
12098        https://bugs.webkit.org/show_bug.cgi?id=117877
12099
12100        Reviewed by Joseph Pecoraro.
12101
12102        * UserInterface/DebuggerManager.js:
12103        (WebInspector.DebuggerManager.prototype._breakpointDisplayLocationDidChange): Return early when
12104        _ignoreBreakpointDisplayLocationDidChangeEvent is true.
12105        (WebInspector.DebuggerManager.prototype.reset): Set _ignoreBreakpointDisplayLocationDidChangeEvent.
12106        (WebInspector.DebuggerManager.prototype._associateBreakpointsWithSourceCode): Ditto.
12107
121082013-06-19  Antoine Quint  <graouts@apple.com>
12109
12110        Web Inspector: Copying array or object output does not contain values
12111        https://bugs.webkit.org/show_bug.cgi?id=117669
12112
12113        ConsoleCommandResult was overriding toClipboardString() but wasn't using the complex code
12114        in ConsoleMessageImpl's toClipboardString() to provide a nicely formatted output for objects.
12115        We now use a "clipboarPrefixString" property to customize the prefix used in the clipboard
12116        and, additionally, only use that prefix if we're copying more than a single message since it's
12117        the only situation where it's useful to have the ">" or "<" prefix shown. Console messages with
12118        a log level always print the level and when saving the console log using Cmd+S, all messages
12119        contain their prefix as well.
12120
12121        Reviewed by Timothy Hatcher.
12122
12123        * UserInterface/ConsoleCommand.js:
12124        (WebInspector.ConsoleCommand.prototype.toClipboardString):
12125        Handle the new isPrefixOptional argument.
12126
12127        * UserInterface/ConsoleCommandResult.js:
12128        (WebInspector.ConsoleCommandResult.prototype.get clipboarPrefixString):
12129        Provide a custom "< " prefix and set "enforcesClipboardPrefixString" to false such that
12130        the prefix isn't printed out in situations when it may not.
12131
12132        * UserInterface/ConsoleMessageImpl.js:
12133        Set "enforcesClipboardPrefixString" to true since we always want to log the log level
12134        prefix in all situations.
12135
12136        (WebInspector.ConsoleMessageImpl.prototype.get clipboarPrefixString):
12137        Implement this new getter to return our clipboard string such that subclasses may
12138        customize it.
12139
12140        (WebInspector.ConsoleMessageImpl.prototype.toClipboardString):
12141        Take into account both isPrefixOptional and the "enforcesClipboardPrefixString" property
12142        to only log the prefix if necessary.
12143
12144        * UserInterface/LogContentView.js:
12145        (WebInspector.LogContentView.prototype._formatMessagesAsData):
12146        Make the logging of prefix optional when we have a single message selected and we're
12147        not saving via Cmd+S.
12148
121492013-06-18  Joseph Pecoraro  <pecoraro@apple.com>
12150
12151        Web Inspector: Infrequent uncaught exception with debugger popovers breaks inspector
12152        https://bugs.webkit.org/show_bug.cgi?id=117755
12153
12154        Create the ZERO_SIZE and ZERO_RECT objects after we've setup the Size
12155        and Rect prototypes, so they get the expected methods. We then need to
12156        handle the ZERO_RECT case better, and not attempt to draw a background
12157        in a canvas with a 0 size, which would produce an exception.
12158
12159        Reviewed by Timothy Hatcher.
12160
12161        * UserInterface/Geometry.js:
12162        * UserInterface/Popover.js:
12163        (WebInspector.Popover.prototype._update):
12164
121652013-06-18  Timothy Hatcher  <timothy@apple.com>
12166
12167        If the tree outline is processing a selection currently, then don't change the selection.
12168
12169        This is needed to allow breakpoints tree elements to be selected without jumping back to
12170        selecting the resource tree element.
12171
12172        https://bugs.webkit.org/show_bug.cgi?id=117746
12173
12174        Reviewed by Joseph Pecoraro.
12175
12176        * UserInterface/Main.js:
12177        (WebInspector._revealAndSelectRepresentedObjectInNavigationSidebar):
12178        * UserInterface/TreeOutline.js:
12179        (TreeElement.prototype.select):
12180
121812013-06-18  Timothy Hatcher  <timothy@apple.com>
12182
12183        Update breakpoints to match Xcode 5.
12184
12185        This updates the breakpoint images, line colors, and moves breakpoints toggle button
12186        to the Debugger sidebar navigation bar.
12187
12188        https://bugs.webkit.org/show_bug.cgi?id=117723
12189
12190        Reviewed by Joseph Pecoraro.
12191
12192        * Localizations/en.lproj/localizedStrings.js: Updated.
12193        * UserInterface/DebuggerSidebarPanel.css: Removed custom toggle button rules.
12194        * UserInterface/DebuggerSidebarPanel.js:
12195        (WebInspector.DebuggerSidebarPanel):
12196        (WebInspector.DebuggerSidebarPanel.prototype._breakpointsToggleButtonClicked):
12197        * UserInterface/Images/Breakpoint.png: Updated.
12198        * UserInterface/Images/Breakpoints.pdf: Added.
12199        * UserInterface/Images/Breakpoint@2x.png: Updated.
12200        * UserInterface/Images/BreakpointButton.pdf: Updated.
12201        * UserInterface/Images/BreakpointInactive.png: Updated.
12202        * UserInterface/Images/BreakpointInactive@2x.png: Updated.
12203        * UserInterface/Images/BreakpointInactiveButton.pdf: Updated.
12204        * UserInterface/Images/InstructionPointer.png: Updated.
12205        * UserInterface/Images/InstructionPointer@2x.png: Updated.
12206        * UserInterface/SourceCodeTextEditor.css:
12207        (.source-code.text-editor > .CodeMirror .error): Updated background-color and removed box-shadow.
12208        (.source-code.text-editor > .CodeMirror .warning): Ditto.
12209        * UserInterface/TextEditor.css:
12210        (.text-editor > .CodeMirror .has-breakpoint .CodeMirror-linenumber::before): Changed left position to 0.
12211        (.text-editor > .CodeMirror .execution-line .CodeMirror-linenumber::after): Updated position.
12212        (.text-editor > .CodeMirror .execution-line): Updated background-color and removed box-shadow.
12213
122142013-06-13  Joseph Pecoraro  <pecoraro@apple.com>
12215
12216        <http://webkit.org/b/117615> Web Inspector: JS PrettyPrinting Should have space between "do" and "{"
12217
12218        Reviewed by Timothy Hatcher.
12219
12220        * UserInterface/CodeMirrorFormatters.js:
12221
122222013-06-13  Joseph Pecoraro  <pecoraro@apple.com>
12223
12224        <http://webkit.org/b/117612> Web Inspector: "Search Resource Content" should cancel when I remove all text search text
12225
12226        Reviewed by Timothy Hatcher.
12227
12228        * UserInterface/ResourceSidebarPanel.js:
12229        (WebInspector.ResourceSidebarPanel):
12230        (WebInspector.ResourceSidebarPanel.prototype._searchFieldInput):
12231
12232== Rolled over to ChangeLog-2013-06-11 ==
12233