blob: f9b7550fdfc527eab10d9a3dc8f6115a265b5ccc [file] [log] [blame]
jond@apple.comc123fc32018-03-12 19:35:00 +000012018-03-12 Jon Davis <jond@apple.com>
2
3 Web Inspector: Remove redundant tooltips
4 https://bugs.webkit.org/show_bug.cgi?id=183099
5
6 Reviewed by Matt Baker.
7
8 * Localizations/en.lproj/localizedStrings.js:
9 * UserInterface/Base/Main.js:
10 (WI.contentLoaded):
11 Instantiate ConsoleDrawer so the keyboard shortcuts for FindBanner are available.
12
13 * UserInterface/Views/BreakpointTreeElement.js:
14 (WI.BreakpointTreeElement):
15 Suppress tooltips by setting the tooltipHandledSeprately flag with no custom handler.
16
17 * UserInterface/Views/ButtonNavigationItem.js:
18 (WI.ButtonNavigationItem):
19 Only show tooltips when the button style is an image.
20
21 * UserInterface/Views/ConsoleDrawer.js:
22 (WI.ConsoleDrawer):
23 (WI.ConsoleDrawer.prototype.toggleButtonShortcutTooltip):
24 Added helper to set the toggle button keyboard shortcut tooltip.
25
26 * UserInterface/Views/DOMBreakpointTreeElement.js:
27 (WI.DOMBreakpointTreeElement):
28 Suppress tooltips by setting the tooltipHandledSeprately flag with no custom handler.
29
30 * UserInterface/Views/DOMNodeTreeElement.js:
31 (WI.DOMNodeTreeElement):
32 Suppress tooltips by setting the tooltipHandledSeprately flag with no custom handler.
33
34 * UserInterface/Views/FindBanner.js:
35 (WI.FindBanner):
36 * UserInterface/Views/HierarchicalPathComponent.js:
37 (WI.HierarchicalPathComponent):
38 (WI.HierarchicalPathComponent.prototype.get tooltip):
39 (WI.HierarchicalPathComponent.prototype.set tooltip):
40 (WI.HierarchicalPathComponent.prototype.get hideTooltip):
41 (WI.HierarchicalPathComponent.prototype.set hideTooltip):
42 (WI.HierarchicalPathComponent.prototype._updateElementTitleAndText):
43 Add tooltip management features to manage tooltips separately of the displayName,
44 and provide a behavior to hide tooltips while retaining the tooltip data.
45
46 * UserInterface/Views/HierarchicalPathNavigationItem.js:
47 (WI.HierarchicalPathNavigationItem.prototype.updateLayout):
48 Hide tooltips when fully visible, show tooltips for collapsed items.
49
50 * UserInterface/Views/PinnedTabBarItem.js:
51 (WI.PinnedTabBarItem.prototype.titleDidChange):
52 Set tooltips for pinned tab bar items.
53
54 * UserInterface/Views/QuickConsole.js:
55 (WI.QuickConsole):
56 Set the ConsoleDrawer toggle button tooltip after the keyboard shortcut is registered.
57
58 * UserInterface/Views/StorageTreeElement.js:
59 (WI.StorageTreeElement):
60 Suppress tooltips by setting the tooltipHandledSeprately flag with no custom handler.
61
62 * UserInterface/Views/TabBarItem.js:
63 (WI.TabBarItem.prototype.get title):
64 (WI.TabBarItem.prototype.set title):
65 (WI.TabBarItem.prototype.titleDidChange):
66 (WI.TabBarItem):
67 Add title property management with an overridable titleDidChange handler for
68 setting tooltips when needed.
69
70 * UserInterface/Views/TimelineTreeElement.js:
71 (WI.TimelineTreeElement):
72 Suppress tooltips by setting the tooltipHandledSeprately flag with no custom handler.
73
74 * UserInterface/Views/ToggleButtonNavigationItem.js:
75 (WI.ToggleButtonNavigationItem.prototype.set defaultToolTip):
76 Added a setter for manging the default tooltip of a toggle button.
77
78 * UserInterface/Views/XHRBreakpointTreeElement.js:
79 (WI.XHRBreakpointTreeElement):
80 Suppress tooltips by setting the tooltipHandledSeprately flag with no custom handler.
81
nvasilyev@apple.comcf2bf4d2018-03-10 01:24:24 +0000822018-03-09 Nikita Vasilyev <nvasilyev@apple.com>
83
84 Web Inspector: Sources: Open all resources in Sources tab instead of Resources/Debugger
85 https://bugs.webkit.org/show_bug.cgi?id=183317
86 <rdar://problem/38108455>
87
88 Reviewed by Matt Baker.
89
90 * Localizations/en.lproj/localizedStrings.js:
91 * UserInterface/Base/Main.js:
92 * UserInterface/Views/ContextMenuUtilities.js:
93 (WI.appendContextMenuItemsForURL):
94 Introduce preferredTabType option instead of listing ignoreResourcesTab, ignoreDebuggerTab, ignoreSearchTab, and ignoreNetworkTab.
95 The only correct outcome of selecting "Reveal in Sources Tab" context menu is to open Sources tab, not any other tab.
96
97 * UserInterface/Views/SourceCodeTextEditor.js:
98 (WI.SourceCodeTextEditor.prototype.textEditorGutterContextMenu):
99 * UserInterface/Views/TabBrowser.js:
100 (WI.TabBrowser.prototype.bestTabContentViewForRepresentedObject):
101
nvasilyev@apple.comb2dd5972018-03-09 01:32:51 +00001022018-03-08 Nikita Vasilyev <nvasilyev@apple.com>
103
104 Web Inspector: Sources: add SourcesTabContentView and SourceSidebarPanel classes
105 https://bugs.webkit.org/show_bug.cgi?id=183316
106 <rdar://problem/38107639>
107
108 Reviewed by Matt Baker.
109
110 Add Sources tab and sidebar panel, which are copies of the corresponding Resources classes.
111 The Sources tab is shown when it's enabled in the experimental settings. This patch doesn't
112 remove existing Resources and Debugger tabs.
113
114 * UserInterface/Base/Main.js:
115 (WI.contentLoaded):
116 * UserInterface/Main.html:
117 * UserInterface/Views/SourcesSidebarPanel.css: Added.
118 (.sidebar > .panel.navigation.sources > .content):
119 (.sidebar > .panel.navigation.sources > .navigation-bar):
120 * UserInterface/Views/SourcesSidebarPanel.js: Added.
121 (WI.SourcesSidebarPanel):
122 (WI.SourcesSidebarPanel.shouldPlaceResourcesAtTopLevel):
123 (WI.SourcesSidebarPanel.prototype.get minimumWidth):
124 (WI.SourcesSidebarPanel.prototype.closed):
125 (WI.SourcesSidebarPanel.prototype.showDefaultContentView):
126 (WI.SourcesSidebarPanel.prototype.treeElementForRepresentedObject.isAncestor):
127 (WI.SourcesSidebarPanel.prototype.treeElementForRepresentedObject.getParent):
128 (WI.SourcesSidebarPanel.prototype.treeElementForRepresentedObject):
129 (WI.SourcesSidebarPanel.prototype.initialLayout):
130 (WI.SourcesSidebarPanel.prototype.hasCustomFilters):
131 (WI.SourcesSidebarPanel.prototype.matchTreeElementAgainstCustomFilters.match):
132 (WI.SourcesSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
133 (WI.SourcesSidebarPanel.prototype._mainResourceDidChange):
134 (WI.SourcesSidebarPanel.prototype._mainFrameDidChange):
135 (WI.SourcesSidebarPanel.prototype._mainFrameMainResourceDidChange.delayedWork):
136 (WI.SourcesSidebarPanel.prototype._mainFrameMainResourceDidChange):
137 (WI.SourcesSidebarPanel.prototype._scriptWasAdded):
138 (WI.SourcesSidebarPanel.prototype._addScript):
139 (WI.SourcesSidebarPanel.prototype._scriptWasRemoved):
140 (WI.SourcesSidebarPanel.prototype._scriptsCleared):
141 (WI.SourcesSidebarPanel.prototype._styleSheetAdded):
142 (WI.SourcesSidebarPanel.prototype._addTargetWithMainResource):
143 (WI.SourcesSidebarPanel.prototype._targetRemoved):
144 (WI.SourcesSidebarPanel.prototype._treeSelectionDidChange):
145 (WI.SourcesSidebarPanel.prototype._compareTreeElements):
146 (WI.SourcesSidebarPanel.prototype._extraDomainsActivated):
147 (WI.SourcesSidebarPanel.prototype._scopeBarSelectionDidChange):
148 * UserInterface/Views/SourcesTabContentView.js: Added.
149 (WI.SourcesTabContentView):
150 (WI.SourcesTabContentView.tabInfo):
151 (WI.SourcesTabContentView.isTabAllowed):
152 (WI.SourcesTabContentView.prototype.get type):
153 (WI.SourcesTabContentView.prototype.get supportsSplitContentBrowser):
154 (WI.SourcesTabContentView.prototype.canShowRepresentedObject):
155
webkit@devinrousso.comd457ef42018-03-07 23:09:00 +00001562018-03-07 Devin Rousso <webkit@devinrousso.com>
157
158 Web Inspector: Canvas tab: ensure that the Recording TreeOutline has a specified height for virtualization
159 https://bugs.webkit.org/show_bug.cgi?id=183015
160
161 Reviewed by Matt Baker.
162
163 * UserInterface/Views/CanvasSidebarPanel.js:
164 (WI.CanvasSidebarPanel):
165
166 * UserInterface/Views/CanvasSidebarPanel.css:
167 (.sidebar > .panel.navigation.canvas > .content):
168 (.sidebar > .panel.navigation.canvas > .content > .navigation-bar):
169 (.sidebar > .panel.navigation.canvas.has-recordings > .content > .recording-content):
170 (.sidebar > .panel.navigation.canvas:not(.has-recordings) > .filter-bar,):
171 (.sidebar > .panel.navigation.canvas > .content > .recording-content > .navigation-bar): Deleted.
172 (.sidebar > .panel.navigation.canvas.has-recordings > .content > .tree-outline.canvas): Deleted.
173
174 * UserInterface/Views/TreeElement.js:
175 (WI.TreeElement.prototype._detach):
176
webkit@devinrousso.com0263b9a2018-02-26 23:52:09 +00001772018-02-26 Devin Rousso <webkit@devinrousso.com>
178
179 Web Inspector: Canvas Tab: Scroll into view / Inspect element if Canvas has DOM node
180 https://bugs.webkit.org/show_bug.cgi?id=181769
181
182 Reviewed by Matt Baker.
183
184 * Localizations/en.lproj/localizedStrings.js:
185
186 * UserInterface/Images/Markup.svg: Added.
187
188 * UserInterface/Views/CanvasContentView.js:
189 (WI.CanvasContentView):
190 (WI.CanvasContentView.prototype.initialLayout):
191 (WI.CanvasContentView.prototype._canvasElementButtonClicked):
192
mattbaker@apple.com6b1a54a2018-02-20 02:04:30 +00001932018-02-19 Matt Baker <mattbaker@apple.com>
194
195 Web Inspector: Canvas tab: hide navigation sidebar when viewing the overview
196 https://bugs.webkit.org/show_bug.cgi?id=182597
197 <rdar://problem/37341564>
198
199 Reviewed by Devin Rousso.
200
201 Support showing/hiding the navigation sidebar panel based on the current
202 represented object. Individual TabContentViews can opt-in to this behavior,
203 by overriding TabContentView.prototype.managesNavigationSidebarPanel.
204
205 * UserInterface/Views/CanvasSidebarPanel.js:
206 (WI.CanvasSidebarPanel.prototype.canShowRepresentedObject):
207 * UserInterface/Views/CanvasTabContentView.js:
208 (WI.CanvasTabContentView.prototype.get managesNavigationSidebarPanel):
209 Hide the Canvas navigation sidebar when viewing the overview.
210
211 * UserInterface/Views/ContentBrowserTabContentView.js:
212 (WI.ContentBrowserTabContentView):
213 (WI.ContentBrowserTabContentView.prototype.showNavigationSidebarPanel):
214 (WI.ContentBrowserTabContentView.prototype._navigationSidebarCollapsedStateDidChange):
215 (WI.ContentBrowserTabContentView.prototype._contentBrowserCurrentRepresentedObjectsDidChange):
216
217 * UserInterface/Views/NavigationSidebarPanel.js:
218 (WI.NavigationSidebarPanel.prototype.canShowRepresentedObject):
219 Provide default implementation that just defers to the TabContentView.
220 This exists so that a NavigationSidebarPanel that implements canShowRepresentedObject
221 will have a meaningful default to fall back on.
222
223 * UserInterface/Views/TabBrowser.js:
224 (WI.TabBrowser.prototype._sidebarCollapsedStateDidChange):
225 (WI.TabBrowser.prototype._showNavigationSidebarPanelForTabContentView):
226
227 * UserInterface/Views/TabContentView.js:
228 (WI.TabContentView.prototype.get managesNavigationSidebarPanel):
229
mattbaker@apple.com50344de2018-02-16 20:59:55 +00002302018-02-16 Matt Baker <mattbaker@apple.com>
231
mattbaker@apple.comedefb682018-02-16 22:06:01 +0000232 Web Inspector: TabBar redesign: remove top-level search field and pin the Search tab
233 https://bugs.webkit.org/show_bug.cgi?id=182353
234 <rdar://problem/37088644>
235
236 Reviewed by Devin Rousso.
237
238 * Localizations/en.lproj/localizedStrings.js:
239
240 * UserInterface/Base/Main.js:
241 (WI.contentLoaded):
242 Create Search UI based on experimental setting. When the new TabBar is
243 enabled, the Search tab is a pinned tab. Since it is also saveable, it
244 needs to be added to the TabBrowser (the browser adds the item to the bar).
245
246 When restoring saved tabs, make an additional check to prevent a tab
247 from being added twice. This can occur now that the Search tab is pinned.
248
249 * UserInterface/Images/Search.svg:
250 Update art to better match Safari/macOS. Slightly increase the radius of
251 the lens, and shorten the length of the handle.
252
253 * UserInterface/Views/GoToLineDialog.css:
254 (.go-to-line-dialog > div::before):
255 Update styles for new Search icon.
256
257 * UserInterface/Views/LegacyTabBar.js:
258 (WI.LegacyTabBar.prototype.get saveableTabCount):
259 Backported new TabBar method which is called by TabBrowser.
260
261 * UserInterface/Views/OpenResourceDialog.css:
262 (.open-resource-dialog > .field::before):
263 Update styles for new Search icon.
264
265 * UserInterface/Views/PinnedTabBarItem.js:
266 (WI.PinnedTabBarItem.prototype.fromTabInfo):
267 Match GeneralTabBarItem.fromTabInfo.
268
269 * UserInterface/Views/SearchTabContentView.js:
270 (WI.SearchTabContentView):
271 (WI.SearchTabContentView.tabInfo):
272 New image (magnifying glass without border) when new TabBar is enabled.
273
274 * UserInterface/Views/SettingsTabContentView.js:
275 (WI.SettingsTabContentView):
276
277 * UserInterface/Views/TabBar.js:
278 (WI.TabBar):
279 Move creation of the Settings item out of TabBar. The TabBar should
280 only be concerned with managing tabs.
281
282 (WI.TabBar.prototype.get saveableTabCount):
283 (WI.TabBar.prototype._handleContextMenu):
284 (WI.TabBar.prototype.get normalNonEphemeralTabCount): Deleted.
285 Now that the Search tab is pinned, there aren't any normal tabs that
286 are also ephemeral. For the LegacyTabBar, both the Search and New Tab
287 tabs are still in this category.
288
289 * UserInterface/Views/TabBrowser.js:
290 (WI.TabBrowser.prototype.addTabForContentView):
291 (WI.TabBrowser.prototype.closeTabForContentView):
292 (WI.TabBrowser.prototype._tabBarItemSelected):
293 (WI.TabBrowser._tabBarItemRemoved):
294 Recent tab list should be validated against the list of saveable tabs,
295 since the Search tab is no longer a normal tab (a GeneralTabBarItem),
296 but is still persisted across Inspector sessions.
297
2982018-02-16 Matt Baker <mattbaker@apple.com>
299
mattbaker@apple.com50344de2018-02-16 20:59:55 +0000300 Web Inspector: TabBar redesign: TabBarItem close button is incorrectly positioned
301 https://bugs.webkit.org/show_bug.cgi?id=182844
302 <rdar://problem/37586749>
303
304 Reviewed by Timothy Hatcher.
305
306 * UserInterface/Views/GeneralTabBarItem.js:
307 (WI.GeneralTabBarItem.prototype.set title):
308 Insert the title before the last flexible space item.
309
310 * UserInterface/Views/TabBar.css:
311 (.tab-bar > .item):
312 (.tab-bar > .item > .close):
313 (.tab-bar > .item > .flex-space):
314 (.tab-bar > .item.ephemeral > .flex-space:last-child):
315 (.tab-bar.collapsed > .item):
316 (.tab-bar.collapsed > .item > .flex-space):
317 (.tab-bar.collapsed > .item > .close):
318 (.tab-bar.collapsed > .item:hover > .close):
319 (.tab-bar.collapsed > .item.ephemeral:hover > .icon):
320 (.tab-bar > .item:hover > .close): Deleted.
321 (.tab-bar:not(.collapsed) > .item.ephemeral:hover > .icon): Deleted.
322
323 * UserInterface/Views/TabBarItem.js:
324 (WI.TabBarItem):
325 Restore flexible space items before and after the icon.
326
nvasilyev@apple.com0eb9f1a2018-02-14 22:45:50 +00003272018-02-14 Nikita Vasilyev <nvasilyev@apple.com>
328
329 Web Inspector: Styles: completion popover doesn't hide when switching panels
330 https://bugs.webkit.org/show_bug.cgi?id=182464
331 <rdar://problem/37202763>
332
333 Reviewed by Timothy Hatcher.
334
335 Save the position of the anchor, an element the popover is shown for, and hide the completion popover
336 when the position changes.
337
338 * UserInterface/Views/CompletionSuggestionsView.js:
339 (WI.CompletionSuggestionsView.prototype.showUntilAnchorMoves):
340 When the popover is visible, check every 200ms if the anchor moved.
341
342 (WI.CompletionSuggestionsView.prototype.hide):
343 * UserInterface/Views/SpreadsheetTextField.js:
344 (WI.SpreadsheetTextField.prototype._updateCompletions):
345 (WI.SpreadsheetTextField.prototype._getCaretRect):
346 getBoundingClientRect returns {x: 0, y: 0} when it can't determine node's position.
347 This happens when a node isn't attached to DOM, attached to DOM but not visible, and
348 a number of odd cases.
349
mattbaker@apple.com9ae2c002018-02-14 20:17:30 +00003502018-02-14 Matt Baker <mattbaker@apple.com>
351
352 Web Inspector: TabBar redesign: only show allowed tabs in the available tabs context menu
353 https://bugs.webkit.org/show_bug.cgi?id=182721
354 <rdar://problem/37479019>
355
356 Reviewed by Timothy Hatcher.
357
358 In addition to only including allowed tabs in the TabBar context menu,
359 perform a sanity check when setting the selected tab item, since the
360 serialized selection index could refer to a tab that is no longer allowed.
361
362 * UserInterface/Views/LegacyTabBar.js:
363 (WI.LegacyTabBar.prototype.set selectedTabBarItem):
364 (WI.LegacyTabBar.prototype._handleContextMenu):
365
366 * UserInterface/Views/TabBar.js:
367 (WI.TabBar.prototype.set selectedTabBarItem):
368 (WI.TabBar.prototype._handleContextMenu):
369
mattbaker@apple.com2df6e952018-02-09 20:40:10 +00003702018-02-09 Matt Baker <mattbaker@apple.com>
371
mattbaker@apple.com87a77562018-02-10 06:15:46 +0000372 Web Inspector: Canvas tab: tree selection abruptly changes when selecting a recording frame
373 https://bugs.webkit.org/show_bug.cgi?id=182667
374 <rdar://problem/37412639>
375
376 Reviewed by Devin Rousso.
377
378 * UserInterface/Views/CanvasSidebarPanel.css:
379 (.sidebar > .panel.navigation.canvas > .content > .recording-content > .navigation-bar):
380 (.sidebar > .panel.navigation.canvas:not(.has-recordings) > .filter-bar,):
381 (.sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline .item.recording > .icon):
382 (.sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline .item.folder-icon > .icon):
383 (.sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline .item.folder-icon > .status):
384 (.sidebar > .panel.navigation.canvas > .content > .navigation-bar): Deleted.
385 (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.recording > .icon): Deleted.
386 (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.folder-icon > .icon): Deleted.
387 (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.folder-icon > .status): Deleted.
388 Style changes for the additional DOM element required to virtualize the recording tree outline.
389
390 * UserInterface/Views/CanvasSidebarPanel.js:
391 (WI.CanvasSidebarPanel):
392 In order to be virtualized, the tree must be the only child of its parent.
393
394 (WI.CanvasSidebarPanel.prototype.set action):
395 Ensure that a frame tree element isn't deselected when the last action
396 in the frame becomes selected in the RecordingContentView.
397
398 (WI.CanvasSidebarPanel.prototype.shown):
399 Refresh the sidebar, as represented objects may have changed while hidden.
400
401 (WI.CanvasSidebarPanel.prototype._currentRepresentedObjectsDidChange):
402 Unset the recording when no valid represented objects are found, to
403 prevent a stale recording tree from being shown when viewing the overview.
404
405 (WI.CanvasSidebarPanel.prototype._canvasChanged):
406 (WI.CanvasSidebarPanel.prototype._recordingChanged):
407 (WI.CanvasSidebarPanel.prototype._updateRecordingScopeBar):
408 Moved toggling of the "has-recordings" style to _canvasChanged, since
409 the navigation bar should be hidden when no canvas exists.
410
411 * UserInterface/Views/CollectionContentView.js:
412 (WI.CollectionContentView.prototype.addContentViewForItem):
413 (WI.CollectionContentView.prototype.removeContentViewForItem):
414 Drive by fixes for child view visible state.
415
416 * UserInterface/Views/TreeOutline.css:
417 (.tree-outline:not(.large):matches(:focus, .force-focus) .item.selected .status .indeterminate-progress-spinner):
418 Make spinner easier to see against the selection background color.
419
4202018-02-09 Matt Baker <mattbaker@apple.com>
421
mattbaker@apple.com2df6e952018-02-09 20:40:10 +0000422 Web Inspector: Object.shallowEqual always fails when comparing array property values
423 https://bugs.webkit.org/show_bug.cgi?id=182634
424 <rdar://problem/37374639>
425
426 Reviewed by Devin Rousso.
427
428 Object.shallowEqual should use Array.shallowEqual when comparing property
429 values, since strictly comparing objects/arrays is only true if both
430 operands reference the same Object.
431
432 * UserInterface/Base/Utilities.js:
433 (value):
434
mattbaker@apple.comb8adaba2018-02-09 00:52:28 +00004352018-02-08 Matt Baker <mattbaker@apple.com>
436
437 Web Inspector: add listing of Canvases/Programs/Recordings to the NavigationSidebar
438 https://bugs.webkit.org/show_bug.cgi?id=178744
439 <rdar://problem/35374379>
440
441 Reviewed by Devin Rousso.
442
443 * Localizations/en.lproj/localizedStrings.js:
444
445 * UserInterface/Images/Canvas2D.svg:
446 * UserInterface/Images/Canvas3D.svg:
447 * UserInterface/Images/Recording.svg:
448 Update canvas icons to be monochrome. Simplified the recording icon.
449
450 * UserInterface/Main.html:
451
452 * UserInterface/Models/RecordingAction.js:
453 (WI.RecordingAction.prototype.get state):
454 (WI.RecordingAction.prototype.set state):
455 Allow (2D) snapshot state to be associated with the action. Used by
456 RecordingActionDetailsSidebarPanel to retrieve the snapshot state.
457
458 * UserInterface/Views/CanvasContentView.css:
459 (.content-view.canvas:not(.tab)):
460 (.content-view.canvas:not(.tab) > .progress): Deleted.
461 (.content-view.canvas:not(.tab) > .progress > .frame-count): Deleted.
462
463 * UserInterface/Views/CanvasContentView.js:
464 (WI.CanvasContentView):
465 (WI.CanvasContentView.prototype.get navigationItems):
466 (WI.CanvasContentView.prototype.layout):
467 (WI.CanvasContentView.prototype.shown):
468 (WI.CanvasContentView.prototype._recordingStarted):
469 (WI.CanvasContentView.prototype._recordingProgress):
470 (WI.CanvasContentView.prototype._recordingStopped):
471 (WI.CanvasContentView.prototype._updateRecordNavigationItem):
472 (WI.CanvasContentView.prototype._updateProgressView):
473 Replace progress UI with a reusable ProgressView class.
474 When in the overview, clicking the CanvasContentView shows a dedicated
475 CanvasContentView for inspecting shaders and recordings. This behavior
476 is controlled by CollectionContentView, so we need to prevent it when
477 clicking inside the header and footer elements, which contain clickable UI.
478
479 * UserInterface/Views/CanvasDetailsSidebarPanel.js:
480 (WI.CanvasDetailsSidebarPanel.prototype.inspect):
481
482 * UserInterface/Views/CanvasOverviewContentView.css:
483 (.content-view.canvas-overview .content-view.canvas):
484 (.content-view.canvas-overview .content-view.canvas.is-recording):
485 (.content-view.canvas-overview .content-view.canvas > :matches(header, footer)):
486 (.content-view.canvas-overview .content-view.canvas > header):
487 (.content-view.canvas-overview .content-view.canvas.is-recording > header):
488 (.content-view.canvas-overview .content-view.canvas > header > .navigation-bar):
489 (.content-view.canvas-overview .content-view.canvas:matches(:hover, .is-recording) > header > .navigation-bar):
490 (.content-view.canvas-overview .content-view.canvas.is-recording > .progress-view,):
491 (.content-view.canvas-overview .content-view.canvas.is-recording > .preview):
492 (.content-view.canvas-overview .content-view.canvas > :matches(header, .progress, .preview, footer)): Deleted.
493 (.content-view.canvas-overview .content-view.canvas.selected > :matches(.progress, .preview, footer),): Deleted.
494 (.content-view.canvas-overview .content-view.canvas:not(:hover, .is-recording, .selected) > header > .navigation-bar): Deleted.
495 (.content-view.canvas-overview .content-view.canvas > :matches(.progress, .preview)): Deleted.
496 (.content-view.canvas-overview .content-view.canvas > .preview): Deleted.
497 (.content-view.canvas-overview .content-view.canvas > .progress ~ .preview): Deleted.
498 Clean up styles, and remove selection styles as canvases are no longer selectable in the overview.
499
500 * UserInterface/Views/CanvasOverviewContentView.js:
501 (WI.CanvasOverviewContentView):
502 (WI.CanvasOverviewContentView.prototype.get navigationItems):
503 (WI.CanvasOverviewContentView.prototype.attached):
504 (WI.CanvasOverviewContentView.prototype.detached):
505 (WI.CanvasOverviewContentView.prototype.get selectionPathComponents): Deleted.
506 (WI.CanvasOverviewContentView.prototype._changeSelectedItemVertically): Deleted.
507 (WI.CanvasOverviewContentView.prototype._changeSelectedItemHorizontally): Deleted.
508 (WI.CanvasOverviewContentView.prototype._selectionPathComponentsChanged): Deleted.
509 (WI.CanvasOverviewContentView.prototype._handleUp): Deleted.
510 (WI.CanvasOverviewContentView.prototype._handleRight): Deleted.
511 (WI.CanvasOverviewContentView.prototype._handleDown): Deleted.
512 (WI.CanvasOverviewContentView.prototype._handleLeft): Deleted.
513 (WI.CanvasOverviewContentView.prototype._handleSpace): Deleted.
514 (WI.CanvasOverviewContentView.prototype._supplementalRepresentedObjectsDidChange): Deleted.
515 Disable canvas selection. Remove logic for supplemental represented objects,
516 path components, and selection keyboard shortcuts.
517
518 * UserInterface/Views/CanvasSidebarPanel.css: Added.
519 (.sidebar > .panel.navigation.canvas > .content):
520 (.sidebar > .panel.navigation.canvas > .navigation-bar > .item.record-start-stop.disabled):
521 (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.canvas.canvas-2d .icon):
522 (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.canvas.webgl .icon):
523 (.sidebar > .panel.navigation.canvas > .content > .navigation-bar):
524 (.sidebar > .panel.navigation.canvas.has-recordings > .content > .tree-outline.canvas):
525 (.sidebar > .panel.navigation.canvas:not(.has-recordings) > .filter-bar,):
526 (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.recording > .icon):
527 (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.shader-program > .icon):
528 (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.folder-icon > .icon):
529 (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.folder-icon > .status):
530
531 * UserInterface/Views/CanvasSidebarPanel.js: Added.
532 (WI.CanvasSidebarPanel):
533 (WI.CanvasSidebarPanel.prototype.get canvas):
534 (WI.CanvasSidebarPanel.prototype.set canvas):
535 (WI.CanvasSidebarPanel.prototype.set recording):
536 (WI.CanvasSidebarPanel.prototype.set action):
537 (WI.CanvasSidebarPanel.prototype.shown):
538 (WI.CanvasSidebarPanel.prototype.hidden):
539 (WI.CanvasSidebarPanel.prototype.hasCustomFilters):
540 (WI.CanvasSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
541 (WI.CanvasSidebarPanel.prototype.initialLayout):
542 (WI.CanvasSidebarPanel.prototype._recordingAdded):
543 (WI.CanvasSidebarPanel.prototype._recordingRemoved):
544 (WI.CanvasSidebarPanel.prototype._scopeBarSelectionChanged):
545 (WI.CanvasSidebarPanel.prototype._toggleRecording):
546 (WI.CanvasSidebarPanel.prototype._currentRepresentedObjectsDidChange):
547 (WI.CanvasSidebarPanel.prototype._treeOutlineSelectionDidChange):
548 (WI.CanvasSidebarPanel.prototype._canvasChanged):
549 (WI.CanvasSidebarPanel.prototype._recordingChanged):
550 (WI.CanvasSidebarPanel.prototype._updateRecordNavigationItem):
551 (WI.CanvasSidebarPanel.prototype._updateRecordingScopeBar):
552 Add new navigation sidebar, split into two sections. The upper section
553 contains a tree with a single element for the current canvas, and child
554 elements for any shader programs. The maximum height of this section is 50%
555 of the sidebar's height. The lower section contains a tree for the selected
556 recording, and a scope bar for choosing between recordings.
557
558 * UserInterface/Views/CanvasTabContentView.css:
559 (.content-view.tab.canvas .navigation-bar > .item .canvas-overview .icon):
560 (.content-view.tab.canvas .navigation-bar > .item .canvas.canvas-2d .icon):
561 (.content-view.tab.canvas .navigation-bar > .item .canvas.webgl .icon):
562 (.content-view.tab.canvas .navigation-bar > .item .shader-program > .icon):
563 (.content-view.tab.canvas .navigation-bar > .item > .hierarchical-path-component > .icon): Deleted.
564 (.content-view.tab.canvas .navigation-bar > .item .canvas .icon): Deleted.
565
566 * UserInterface/Views/CanvasTabContentView.js:
567 (WI.CanvasTabContentView):
568 (WI.CanvasTabContentView.prototype.canShowRepresentedObject):
569 (WI.CanvasTabContentView.prototype.attached):
570 (WI.CanvasTabContentView.prototype._addCanvas):
571 (WI.CanvasTabContentView.prototype._removeCanvas):
572 (WI.CanvasTabContentView.prototype._canvasTreeOutlineSelectionDidChange):
573 (WI.CanvasTabContentView.prototype._recordingAdded):
574 (WI.CanvasTabContentView.prototype._handleSpace):
575 (WI.CanvasTabContentView.prototype.showRepresentedObject): Deleted.
576 (WI.CanvasTabContentView.prototype._navigationSidebarTreeOutlineSelectionChanged): Deleted.
577 (WI.CanvasTabContentView.prototype._recordingActionIndexChanged): Deleted.
578 (WI.CanvasTabContentView.prototype._updateActionIndex): Deleted.
579 The canvas tab now maintains a tree outline of all canvases, with an
580 "Overview" element as the root. The Overview element is always the first
581 item of content browser's hierarchical path.
582
583 * UserInterface/Views/CanvasTreeElement.js:
584 (WI.CanvasTreeElement.createRecordingTreeElement):
585 (WI.CanvasTreeElement):
586 (WI.CanvasTreeElement.prototype.onattach):
587 (WI.CanvasTreeElement.prototype.onpopulate):
588 (WI.CanvasTreeElement.prototype._updateStatus):
589 (WI.CanvasTreeElement.prototype.ondetach): Deleted.
590 Make it possible to not show recordings under the Canvas element.
591 Create `isRecording` status element (spinner).
592
593 * UserInterface/Views/CollectionContentView.js:
594 (WI.CollectionContentView.prototype.shown):
595 (WI.CollectionContentView.prototype.hidden):
596 Child ContentViews need to be updated when the collection's visibility changes.
597
598 * UserInterface/Views/ContentView.js:
599 (WI.ContentView.isViewable):
600
601 * UserInterface/Views/ProgressView.css: Added.
602 (.progress-view):
603 (.progress-view > .titles):
604 (.progress-view > .titles > .title):
605 (.progress-view > .titles > .subtitle):
606 (.progress-view > .titles > .subtitle::before):
607 (.progress-view > .indeterminate-progress-spinner):
608
609 * UserInterface/Views/ProgressView.js: Added.
610 (WI.ProgressView):
611 (WI.ProgressView.prototype.get title):
612 (WI.ProgressView.prototype.set title):
613 (WI.ProgressView.prototype.get subtitle):
614 (WI.ProgressView.prototype.set subtitle):
615 (WI.ProgressView.prototype.get visible):
616 (WI.ProgressView.prototype.set visible):
617 (WI.ProgressView.prototype.initialLayout):
618 (WI.ProgressView.prototype._updateTitles):
619 New view class (not a ContentView) for showing a generic progress message,
620 with a title, subtitle, and progress spinner.
621
622 * UserInterface/Views/RecordingContentView.css:
623 (.content-view:not(.tab).recording > .preview-container):
624 Remove unnecessary styles.
625
626 * UserInterface/Views/RecordingContentView.js:
627 (WI.RecordingContentView):
628 (WI.RecordingContentView.prototype.get navigationItems):
629 (WI.RecordingContentView.prototype.get supplementalRepresentedObjects):
630 (WI.RecordingContentView.prototype.updateActionIndex):
631 (WI.RecordingContentView.prototype.get saveData):
632 (WI.RecordingContentView.prototype._exportRecording):
633 Relocate the recording export logic and UI.
634 (WI.RecordingContentView.prototype.async._generateContentCanvas2D):
635 (WI.RecordingContentView.prototype.async._generateContentCanvasWebGL):
636 (WI.RecordingContentView.prototype._sliderChanged):
637 Refactor logic for notifying the rest of the UI of changes to the action slider.
638 The selected action is now exposed as a supplemental represented object, and a
639 corresponding SupplementalRepresentedObjectsDidChange event.
640
641 * UserInterface/Views/RecordingStateDetailsSidebarPanel.js:
642 (WI.RecordingStateDetailsSidebarPanel.prototype.inspect):
643 (WI.RecordingStateDetailsSidebarPanel.prototype.set action):
644 (WI.RecordingStateDetailsSidebarPanel.prototype._generateDetailsCanvas2D):
645 (WI.RecordingStateDetailsSidebarPanel):
646 (WI.RecordingStateDetailsSidebarPanel.prototype.updateAction): Deleted.
647
648 * UserInterface/Views/RecordingTraceDetailsSidebarPanel.js:
649 (WI.RecordingTraceDetailsSidebarPanel.prototype.inspect):
650 (WI.RecordingTraceDetailsSidebarPanel.prototype.set action):
651 (WI.RecordingTraceDetailsSidebarPanel):
652 (WI.RecordingTraceDetailsSidebarPanel.prototype.updateAction): Deleted.
653 Now that the selected action is exposed to the UI as a supplemental
654 represented object, details sidebars can be more decoupled from the
655 canvas tab, and be notified of changes to the selection via `inspect()`.
656
657 * UserInterface/Views/ResourceIcons.css:
658 (.canvas > .icon): Deleted.
659 (.shader-program .icon): Deleted.
660
nvasilyev@apple.comc3a927d2018-02-08 23:18:28 +00006612018-02-08 Nikita Vasilyev <nvasilyev@apple.com>
662
663 Web Inspector: Styles: Typing value and quickly moving focus away may display outdated value in UI
664 https://bugs.webkit.org/show_bug.cgi?id=182588
665 <rdar://problem/37332161>
666
667 Reviewed by Matt Baker.
668
669 CSSProperty models were updated with a 250ms delay. Quickly adding a blank property after modifying
670 an existing property could result in outdated values being shown.
671
672 This patch removes the 250ms delay.
673
674 * UserInterface/Views/SpreadsheetStyleProperty.js:
675 (WI.SpreadsheetStyleProperty.prototype.spreadsheetTextFieldDidChange):
676
mattbaker@apple.com029ef7a2018-02-08 00:58:25 +00006772018-02-07 Matt Baker <mattbaker@apple.com>
678
679 Web Inspector: replace isAncestor with Node.contains() in LegacyTabBar
680 https://bugs.webkit.org/show_bug.cgi?id=182586
681
682 Reviewed by Timothy Hatcher.
683
684 * UserInterface/Views/LegacyTabBar.js:
685
nvasilyev@apple.com92717732018-02-07 19:01:16 +00006862018-02-07 Nikita Vasilyev <nvasilyev@apple.com>
687
688 Web Inspector: Styles: completion popover doesn't hide when switching panels
689 https://bugs.webkit.org/show_bug.cgi?id=182464
690 <rdar://problem/37202763>
691
692 Reviewed by Timothy Hatcher.
693
694 Hide completion popover by triggering blur event on the focused text field.
695 Removing text fields from the DOM tree would hide the completion popovers as well,
696 but switching sidebar panels doesn't remove them from the DOM.
697
698 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
699 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.hidden):
700 * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
701 (WI.SpreadsheetCSSStyleDeclarationSection.prototype.hidden):
702 * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:
703 (WI.SpreadsheetRulesStyleDetailsPanel.prototype.hidden):
704 * UserInterface/Views/SpreadsheetStyleProperty.js:
705 (WI.SpreadsheetStyleProperty.prototype.hidden):
706
webkit@devinrousso.come1775ce2018-02-07 03:20:01 +00007072018-02-06 Devin Rousso <webkit@devinrousso.com>
708
webkit@devinrousso.com7f34f522018-02-07 03:27:00 +0000709 Web Inspector: Replace isAncestor and isDescendant with native DOM contains method
710 https://bugs.webkit.org/show_bug.cgi?id=182069
711
712 Reviewed by Brian Burg.
713
714 * UserInterface/Base/Main.js:
715 (WI.restoreFocusFromElement):
716 (WI._mouseDown):
717 (WI._focusedContentBrowser):
718 (WI._focusedContentView):
719 * UserInterface/Base/Utilities.js:
720 (Node.prototype.traverseNextNode):
721 (Node.prototype.isAncestor): Deleted.
722 (Node.prototype.isDescendant): Deleted.
723 (Node.prototype.isSelfOrAncestor): Deleted.
724 (Node.prototype.isSelfOrDescendant): Deleted.
725 * UserInterface/Views/BoxModelDetailsSectionRow.js:
726 (WI.BoxModelDetailsSectionRow.prototype._handleKeyDown):
727 * UserInterface/Views/CSSStyleDeclarationSection.js:
728 (WI.CSSStyleDeclarationSection.prototype._handleSelectorPaste):
729 * UserInterface/Views/DOMTreeOutline.js:
730 (WI.DOMTreeOutline.prototype._onmouseout):
731 * UserInterface/Views/DetailsSection.js:
732 (WI.DetailsSection.prototype._headerElementClicked):
733 * UserInterface/Views/EditingSupport.js:
734 (WI.incrementElementValue):
735 * UserInterface/Views/LogContentView.js:
736 (WI.LogContentView.prototype._handleContextMenuEvent):
737 * UserInterface/Views/ShaderProgramTreeElement.js:
738 (WI.ShaderProgramTreeElement.prototype.selectOnMouseDown):
739 * UserInterface/Views/SoftContextMenu.js:
740 (WI.SoftContextMenu.prototype._menuItemMouseOut):
741 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
742 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.initialLayout):
743 * UserInterface/Views/TabBar.js:
744 (WI.TabBar.prototype.insertTabBarItem):
745
7462018-02-06 Devin Rousso <webkit@devinrousso.com>
747
webkit@devinrousso.come1775ce2018-02-07 03:20:01 +0000748 Web Inspector: Elements tab should have "Jump to Layer" functionality
749 https://bugs.webkit.org/show_bug.cgi?id=181800
750
751 Reviewed by Joseph Pecoraro.
752
753 * Localizations/en.lproj/localizedStrings.js:
754
755 * UserInterface/Base/Main.js:
756 (WI.isShowingElementsTab):
757 (WI.showLayersTab):
758 (WI.isShowingLayersTab):
759
760 * UserInterface/Views/ContextMenuUtilities.js:
761 (WI.appendContextMenuItemsForDOMNode):
762
763 * UserInterface/Views/LayersTabContentView.js:
764 (WI.LayersTabContentView.prototype.selectLayerForNode):
765
766 * UserInterface/Views/Layers3DContentView.js:
767 (WI.Layers3DContentView):
768 (WI.Layers3DContentView.prototype.selectLayerForNode):
769 (WI.Layers3DContentView.prototype.layout):
770
771 * UserInterface/Views/LayerDetailsSidebarPanel.js:
772 (WI.LayerDetailsSidebarPanel):
773 (WI.LayerDetailsSidebarPanel.prototype.selectNodeByLayerId):
774 (WI.LayerDetailsSidebarPanel.prototype._updateDataGrid):
775
nvasilyev@apple.coma9e56da2018-02-07 03:05:54 +00007762018-02-06 Nikita Vasilyev <nvasilyev@apple.com>
777
778 Web Inspector: Rename String.prototype.trimEnd to avoid conflicts with native trimEnd
779 https://bugs.webkit.org/show_bug.cgi?id=182545
780
781 Reviewed by Brian Burg.
782
783 Rename:
784 - trimEnd to truncateEnd
785 - trimMiddle to truncateMiddle
786
787 * UserInterface/Base/Utilities.js:
788 (String.prototype.trimMiddle): Deleted.
789 (String.prototype.trimEnd): Deleted.
790 (String.prototype.truncateMiddle): Added.
791 (String.prototype.truncateEnd): Added.
792 Use strict mode. Scrict mode allows `this` to be a primitive (a string, in our case).
793 In non-strict mode, `this` is always an object. Without the strict mode,
794 "a".truncateEnd(42) !== "a", because truncateEnd returns a string object.
795
796 * UserInterface/Views/DOMTreeElement.js:
797 (WI.DOMTreeElement.prototype._buildAttributeDOM):
798 * UserInterface/Views/DOMTreeElementPathComponent.js:
799 (WI.DOMTreeElementPathComponent):
800 * UserInterface/Views/SearchResultTreeElement.js:
801 Remove an obvious comment.
802
803 (WI.SearchResultTreeElement.truncateAndHighlightTitle):
804 * UserInterface/Views/SpreadsheetStyleProperty.js:
805 (WI.SpreadsheetStyleProperty.prototype._renderValue):
806
nvasilyev@apple.com2b126eb2018-02-05 22:37:51 +00008072018-02-05 Nikita Vasilyev <nvasilyev@apple.com>
808
809 Web Inspector: Add an experimental setting to enable Sources tab
810 https://bugs.webkit.org/show_bug.cgi?id=182461
811
812 Reviewed by Brian Burg.
813
814 This patch only adds a setting. It doesn't add the Sources tab.
815
816 * Localizations/en.lproj/localizedStrings.js:
817 * UserInterface/Base/Setting.js:
818 * UserInterface/Views/SettingsTabContentView.js:
819
webkit@devinrousso.comdb33a6a2018-02-02 22:52:56 +00008202018-02-02 Devin Rousso <webkit@devinrousso.com>
821
822 Web Inspector: Styles Redesign: Pasting multiple properties should create properties instead of a bad property
823 https://bugs.webkit.org/show_bug.cgi?id=179622
824 <rdar://problem/35511170>
825
826 Reviewed by Matt Baker.
827
828 * UserInterface/Views/SpreadsheetStyleProperty.js:
829 (WI.SpreadsheetStyleProperty.prototype._remove):
830 (WI.SpreadsheetStyleProperty.prototype._update):
831 (WI.SpreadsheetStyleProperty.prototype.spreadsheetTextFieldDidCommit):
832 (WI.SpreadsheetStyleProperty.prototype._handleNamePaste):
833 When the user pastes into the name field, parse the text for a list of name-value pairs and
834 replace the property being edited with the text of those pairs.
835
836 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
837 (WI.SpreadsheetCSSStyleDeclarationEditor):
838 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.layout):
839 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.addBlankProperty):
840 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyFocusMoved):
841 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyAddBlankPropertySoon):
842 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyRemoved):
843 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._propertiesChanged):
844 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetCSSStyleDeclarationEditorFocusMoved): Deleted.
845 Calling `addBlankProperty` will trigger a layout on the next frame, but that might be before
846 the CSSAgent has had a chance to finish refreshing, so we need a way to defer the creation
847 of a new property until after we have finished the next layout (which is after the refresh).
848 Drive-by: fix naming of some delegate functions.
849
850 * UserInterface/Models/CSSProperty.js:
851 (WI.CSSProperty.prototype.replaceWithText):
852 Provide a way for replacing the property with new text.
853
mattbaker@apple.com0ea61b62018-02-02 21:04:52 +00008542018-02-02 Matt Baker <mattbaker@apple.com>
855
856 Web Inspector: TabBar redesign: remove New Tab button and add experimental feature flag
857 https://bugs.webkit.org/show_bug.cgi?id=182342
858 <rdar://problem/37078662>
859
860 Reviewed by Devin Rousso.
861
862 This patch adds a new experimental setting group, "User Interface", with
863 a single setting, "Enable New TabBar". When enabled, the New Tab button is
864 no longer available in the top-level TabBar. The 'open tabs' context menu
865 no longer allows the last non-ephemeral open tab to be closed (unchecked).
866
867 * Localizations/en.lproj/localizedStrings.js:
868
869 * UserInterface/Base/Main.js:
870 (WI.contentLoaded):
871 (WI._tryToRestorePendingTabs):
872 Retain legacy behavior behind experimental feature setting.
873 (WI.isNewTabWithTypeAllowed):
874
875 * UserInterface/Base/Setting.js:
876 * UserInterface/Main.html:
877
878 * UserInterface/Views/CanvasTabContentView.js:
879 (WI.CanvasTabContentView):
880 * UserInterface/Views/ConsoleTabContentView.js:
881 (WI.ConsoleTabContentView):
882 * UserInterface/Views/DebuggerTabContentView.js:
883 (WI.DebuggerTabContentView):
884 * UserInterface/Views/ElementsTabContentView.js:
885 (WI.ElementsTabContentView):
886
887 * UserInterface/Views/GeneralTabBarItem.js:
888 (WI.GeneralTabBarItem):
889 (WI.GeneralTabBarItem.prototype.fromTabInfo):
890 (WI.GeneralTabBarItem.prototype.get isEphemeral):
891 (WI.GeneralTabBarItem.fromTabContentViewConstructor): Deleted.
892
893 * UserInterface/Views/LayersTabContentView.js:
894 (WI.LayersTabContentView):
895
896 * UserInterface/Views/LegacyTabBar.js: Copied from Source/WebInspectorUI/UserInterface/Views/TabBar.js.
897 (WI.LegacyTabBar):
898 (WI.LegacyTabBar.prototype.get newTabTabBarItem):
899 (WI.LegacyTabBar.prototype.updateNewTabTabBarItemState):
900 (WI.LegacyTabBar.prototype.addTabBarItem):
901 (WI.LegacyTabBar.prototype.insertTabBarItem.animateTabs):
902 (WI.LegacyTabBar.prototype.insertTabBarItem.removeStyles):
903 (WI.LegacyTabBar.prototype.insertTabBarItem):
904 (WI.LegacyTabBar.prototype.removeTabBarItem.animateTabs):
905 (WI.LegacyTabBar.prototype.removeTabBarItem.removeStyles):
906 (WI.LegacyTabBar.prototype.removeTabBarItem):
907 (WI.LegacyTabBar.prototype.selectPreviousTab):
908 (WI.LegacyTabBar.prototype.selectNextTab):
909 (WI.LegacyTabBar.prototype.get selectedTabBarItem):
910 (WI.LegacyTabBar.prototype.set selectedTabBarItem):
911 (WI.LegacyTabBar.prototype.get tabBarItems):
912 (WI.LegacyTabBar.prototype.get normalTabCount):
913 (WI.LegacyTabBar.prototype.layout.forceItemHidden):
914 (WI.LegacyTabBar.prototype.layout):
915 (WI.LegacyTabBar.prototype._tabBarItemsFromLeftToRight):
916 (WI.LegacyTabBar.prototype._findTabBarItem):
917 (WI.LegacyTabBar.prototype._hasMoreThanOneNormalTab):
918 (WI.LegacyTabBar.prototype._openDefaultTab):
919 (WI.LegacyTabBar.prototype._recordTabBarItemSizesAndPositions):
920 (WI.LegacyTabBar.prototype._applyTabBarItemSizesAndPositions):
921 (WI.LegacyTabBar.prototype._clearTabBarItemSizesAndPositions):
922 (WI.LegacyTabBar.prototype._finishExpandingTabsAfterClose.):
923 (WI.LegacyTabBar.prototype._finishExpandingTabsAfterClose):
924 (WI.LegacyTabBar.prototype._handleMouseDown):
925 (WI.LegacyTabBar.prototype._handleClick):
926 (WI.LegacyTabBar.prototype._handleMouseMoved):
927 (WI.LegacyTabBar.prototype._handleMouseUp):
928 (WI.LegacyTabBar.prototype._handleMouseLeave):
929 (WI.LegacyTabBar.prototype._handleContextMenu):
930 (WI.LegacyTabBar.prototype._handleNewTabClick):
931 (WI.LegacyTabBar.prototype._handleTabPickerTabContextMenu):
932 (WI.LegacyTabBar.prototype._handleNewTabMouseEnter):
933
934 * UserInterface/Views/NetworkTabContentView.js:
935 (WI.NetworkTabContentView):
936 * UserInterface/Views/NewTabContentView.js:
937 (WI.NewTabContentView):
938 (WI.NewTabContentView.tabInfo):
939 (WI.NewTabContentView.isEphemeral): Deleted.
940 * UserInterface/Views/ResourcesTabContentView.js:
941 (WI.ResourcesTabContentView):
942 * UserInterface/Views/SearchTabContentView.js:
943 (WI.SearchTabContentView):
944 (WI.SearchTabContentView.tabInfo):
945 (WI.SearchTabContentView.isEphemeral): Deleted.
946
947 * UserInterface/Views/SettingsTabContentView.js:
948 (WI.SettingsTabContentView.tabInfo):
949 (WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
950 (WI.SettingsTabContentView.isEphemeral): Deleted.
951
952 * UserInterface/Views/StorageTabContentView.js:
953 (WI.StorageTabContentView):
954
955 * UserInterface/Views/TabBar.css:
956 * UserInterface/Views/TabBar.js:
957 (WI.TabBar):
958 (WI.TabBar.prototype.insertTabBarItem):
959 (WI.TabBar.prototype.removeTabBarItem):
960 (WI.TabBar.prototype.set selectedTabBarItem):
961 (WI.TabBar.prototype.get normalNonEphemeralTabCount):
962 (WI.TabBar.prototype._handleMouseDown):
963 (WI.TabBar.prototype._handleClick):
964 (WI.TabBar.prototype._handleMouseMoved):
965 (WI.TabBar.prototype._handleMouseLeave):
966 (WI.TabBar.prototype._handleContextMenu):
967 (WI.TabBar.prototype._handleTabPickerTabContextMenu):
968 (WI.TabBar.prototype.get newTabTabBarItem): Deleted.
969 (WI.TabBar.prototype.updateNewTabTabBarItemState): Deleted.
970 (WI.TabBar.prototype._openDefaultTab): Deleted.
971 (WI.TabBar.prototype._handleNewTabClick): Deleted.
972 (WI.TabBar.prototype._handleNewTabMouseEnter): Deleted.
973 Remove support for the New Tab button and default tab. Without a default
974 tab, there is nothing to display when no tabs are open, so prevent the
975 last non-pinned tab from being removed.
976
977 * UserInterface/Views/TabBrowser.js:
978 (WI.TabBrowser._tabBarItemRemoved):
979 * UserInterface/Views/TabContentView.js:
980 (WI.TabContentView.isEphemeral): Deleted.
981 * UserInterface/Views/TimelineTabContentView.js:
982 (WI.TimelineTabContentView):
983
webkit@devinrousso.com594aa702018-01-31 00:39:18 +00009842018-01-30 Devin Rousso <webkit@devinrousso.com>
985
986 Web Inspector: Replace Object.shallowMerge with ES2018 spread operator
987 https://bugs.webkit.org/show_bug.cgi?id=182219
988
989 Reviewed by Brian Burg.
990
991 * UserInterface/Base/Utilities.js:
992 (Object.shallowMerge): Deleted.
993 * UserInterface/Base/DOMUtilities.js:
994 (WI.linkifyNodeReference):
995 * UserInterface/Base/Main.js:
996 (WI.handlePossibleLinkClick):
997 (WI.openURL):
998 (WI.showSourceCodeLocation):
999 (WI.showOriginalUnformattedSourceCodeLocation):
1000 (WI.showOriginalOrFormattedSourceCodeLocation):
1001 (WI.showOriginalOrFormattedSourceCodeTextRange):
1002 (WI.linkifyLocation):
1003 * UserInterface/Views/DOMTreeElement.js:
1004 (WI.DOMTreeElement.prototype._insertAdjacentHTML):
1005 * UserInterface/Views/WebSocketContentView.js:
1006 (WI.WebSocketContentView.prototype._addRow):
1007
mattbaker@apple.com73348012018-01-27 00:49:10 +000010082018-01-26 Matt Baker <mattbaker@apple.com>
1009
mattbaker@apple.com0ead9da2018-01-27 01:36:36 +00001010 Web Inspector: Timelines content browser NavigationBar is squashed at narrow heights
1011 https://bugs.webkit.org/show_bug.cgi?id=182196
1012 <rdar://problem/36929899>
1013
1014 Reviewed by Joseph Pecoraro.
1015
1016 * UserInterface/Views/NavigationBar.css:
1017 (.navigation-bar):
1018
10192018-01-26 Matt Baker <mattbaker@apple.com>
1020
mattbaker@apple.com73348012018-01-27 00:49:10 +00001021 Web Inspector: TabBar redesign: improvements to tab layout and resize behavior
1022 https://bugs.webkit.org/show_bug.cgi?id=181468
1023 <rdar://problem/36395439>
1024
1025 Reviewed by Devin Rousso.
1026
1027 * Localizations/en.lproj/localizedStrings.js:
1028
1029 * UserInterface/Images/TabPicker.svg: Added.
1030 New ">>" icon for the tab picker button.
1031
1032 * UserInterface/Views/CanvasTabContentView.js:
1033 (WI.CanvasTabContentView):
1034 * UserInterface/Views/ConsoleTabContentView.js:
1035 (WI.ConsoleTabContentView):
1036 * UserInterface/Views/DebuggerTabContentView.js:
1037 (WI.DebuggerTabContentView):
1038 * UserInterface/Views/ElementsTabContentView.js:
1039 (WI.ElementsTabContentView):
1040
1041 * UserInterface/Views/GeneralTabBarItem.js:
1042 (WI.GeneralTabBarItem):
1043 (WI.GeneralTabBarItem.fromTabContentViewConstructor):
1044 (WI.GeneralTabBarItem.prototype.get title):
1045 Add missing override for getter/setter pair.
1046 (WI.GeneralTabBarItem.prototype.set title):
1047 (WI.GeneralTabBarItem.prototype._handleContextMenuEvent):
1048 Show the close button on ephemeral tabs only (Search, New Tab).
1049 Replace unused `representedObject` parameter with `isEphemeral`, which
1050 determines whether to show a close button for the tab.
1051
1052 * UserInterface/Views/LayersTabContentView.js:
1053 (WI.LayersTabContentView):
1054
1055 * UserInterface/Views/NavigationBar.js:
1056 Remove unused symbol.
1057
1058 * UserInterface/Views/NetworkTabContentView.js:
1059 (WI.NetworkTabContentView):
1060 * UserInterface/Views/NewTabContentView.js:
1061 (WI.NewTabContentView):
1062
1063 * UserInterface/Views/PinnedTabBarItem.js:
1064 (WI.PinnedTabBarItem):
1065 Remove unused parameter.
1066
1067 * UserInterface/Views/ResourcesTabContentView.js:
1068 (WI.ResourcesTabContentView):
1069 * UserInterface/Views/SearchTabContentView.js:
1070 (WI.SearchTabContentView):
1071 * UserInterface/Views/StorageTabContentView.js:
1072 (WI.StorageTabContentView):
1073
1074 * UserInterface/Views/TabBar.css:
1075 (.tab-bar > .item):
1076 (.tab-bar.calculate-width > .item):
1077 (.tab-bar > .item.pinned.tab-picker):
1078 (.tab-bar > .item > .close):
1079 (.tab-bar > .item > .title):
1080 (.tab-bar:not(.collapsed) > .item > .title):
1081 (.tab-bar.collapsed > .item:not(.pinned) > .icon):
1082 (.tab-bar > .item:hover > .close):
1083 (.tab-bar.collapsed > .item:hover > .close):
1084 (.tab-bar:not(.collapsed) > .item.ephemeral:hover > .icon):
1085 (.tab-bar.collapsed > .item.ephemeral:hover > .title):
1086 (body[dir=ltr] .tab-bar > .item > .close): Deleted.
1087 (body[dir=rtl] .tab-bar > .item > .close): Deleted.
1088 (.tab-bar > .item > .flex-space): Deleted.
1089 (.tab-bar > .item:not(.pinned) > .flex-space:last-child): Deleted.
1090 (body[dir=ltr] .tab-bar > .item:not(.pinned) > .flex-space:last-child): Deleted.
1091 (body[dir=rtl] .tab-bar > .item:not(.pinned) > .flex-space:last-child): Deleted.
1092 (body[dir=ltr] .tab-bar > .item > .title): Deleted.
1093 (body[dir=rtl] .tab-bar > .item > .title): Deleted.
1094 (.tab-bar.collapsed > .item): Deleted.
1095 (.tab-bar.collapsed > .item > .flex-space): Deleted.
1096 (.tab-bar.collapsed > .item > .close): Deleted.
1097 (body[dir=ltr] .tab-bar.collapsed > .item > .close): Deleted.
1098 (body[dir=rtl] .tab-bar.collapsed > .item > .close): Deleted.
1099 (.tab-bar.hide-titles > .item > .title): Deleted.
1100 (.tab-bar.collapsed:not(.hide-titles) > .item:not(.pinned):hover > .icon,): Deleted.
1101 (.tab-bar.collapsed:not(.hide-titles) > .item:hover > .close,): Deleted.
1102 Clean up tab styles and prevent tabs from shrinking during flex layout.
1103 Added new `calculate-width` class, to disable flex layout when measuring
1104 the minimum width of the TabBar required to fit all tab items.
1105
1106 * UserInterface/Views/TabBar.js:
1107 (WI.TabBar):
1108 (WI.TabBar.prototype.set selectedTabBarItem):
1109 (WI.TabBar.prototype.layout.forceItemHidden):
1110 (WI.TabBar.prototype.layout):
1111 Perform two layout passes, similar to NavigationBar. The first pass disables
1112 flex layout and measures tab items at full size. If the bar isn't wide enough
1113 to show all the tabs, hide their icons and measure again. If there still isn't
1114 room, hide tabs starting from the end of the bar and display the tab picker.
1115
1116 (WI.TabBar.prototype._handleMouseDown):
1117 (WI.TabBar.prototype._handleTabPickerTabContextMenu):
1118
1119 * UserInterface/Views/TabBarItem.js:
1120 (WI.TabBarItem):
1121
1122 * UserInterface/Views/TimelineTabContentView.js:
1123 (WI.TimelineTabContentView):
1124
commit-queue@webkit.orge4720eb2018-01-26 04:58:33 +000011252018-01-25 Joseph Pecoraro <pecoraro@apple.com>
1126
commit-queue@webkit.orgf8bef1a2018-01-26 05:30:29 +00001127 Web Inspector: Network Table: Sort indicator is not displayed when sorted column is hidden and re-shown
1128 https://bugs.webkit.org/show_bug.cgi?id=182164
1129 <rdar://problem/36892619>
1130
1131 Reviewed by Brian Burg.
1132
1133 * UserInterface/Views/Table.js:
1134 (WI.Table.prototype.showColumn):
1135 Re-add the sort classes if the column being shown is the active sort column.
1136
11372018-01-25 Joseph Pecoraro <pecoraro@apple.com>
1138
commit-queue@webkit.orgec61d272018-01-26 05:22:24 +00001139 Web Inspector: Network - Cookies view should behave better at narrow widths, all data is hidden
1140 https://bugs.webkit.org/show_bug.cgi?id=182163
1141 <rdar://problem/36893241>
1142
1143 Reviewed by Brian Burg.
1144
1145 * UserInterface/Views/ResourceCookiesContentView.css:
1146 (.resource-cookies .table):
1147 Give these tables a reasonable minimum size so that if the inspector
1148 is narrow, the content view can still be scrolled to see all of
1149 the table data.
1150
1151 * UserInterface/Views/Table.css:
1152 (.table > .header):
1153 Match the data-container and mark overflow as hidden, otherwise
1154 super narrow widths show header content beyond the edge.
1155
11562018-01-25 Joseph Pecoraro <pecoraro@apple.com>
1157
commit-queue@webkit.orge4720eb2018-01-26 04:58:33 +00001158 Web Inspector: "Displayed Columns" should not be displayed in context menu if all columns are required columns
1159 https://bugs.webkit.org/show_bug.cgi?id=182162
1160 <rdar://problem/36893758>
1161
1162 Reviewed by Matt Baker.
1163
1164 * UserInterface/Views/Table.js:
1165 (WI.Table.prototype._handleHeaderContextMenu):
1166 Only add the header column when we know there are hideable columns.
1167
commit-queue@webkit.orga9791512018-01-25 00:22:29 +000011682018-01-24 Joseph Pecoraro <pecoraro@apple.com>
1169
1170 Web Inspector: Simplify update-LegacyInspectorBackendCommands.rb
1171 https://bugs.webkit.org/show_bug.cgi?id=182067
1172
1173 Reviewed by Brian Burg.
1174
1175 * Scripts/update-LegacyInspectorBackendCommands.rb:
1176 Remove stale dependency_json, it has always been empty for a while now.
1177 Switch to framework WebInspectorUI to generate only the backend commands
1178 and not spend time generating a bunch of cpp files.
1179
nvasilyev@apple.comeca9aec2018-01-25 00:15:39 +000011802018-01-24 Nikita Vasilyev <nvasilyev@apple.com>
1181
1182 REGRESSION (r226994): Web Inspector: Styles: Suggestions popover floats in top-left corner of Web Inspector after tabbing
1183 https://bugs.webkit.org/show_bug.cgi?id=182027
1184
1185 Reviewed by Matt Baker.
1186
1187 r226994 added a layout of all properties on property removal. Layout caused
1188 a property element to be removed from DOM right before dislaying the suggestion
1189 popover, resulting in the popover being displayed at the top left corner.
1190
1191 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
1192 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.layout):
1193 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyRemoved):
1194 Only update property view indices when a property is removed.
1195
1196 * UserInterface/Views/SpreadsheetStyleProperty.js:
1197 (WI.SpreadsheetStyleProperty):
1198 (WI.SpreadsheetStyleProperty.prototype.set index):
1199
1200 * UserInterface/Views/SpreadsheetTextField.js:
1201 (WI.SpreadsheetTextField.prototype._updateCompletions):
1202 Checking this._element.parentNode to see if the element is attached to the DOM tree is unreliable,
1203 since the element may have a non-null parent node that is detached from the DOM tree. To fix that,
1204 we could traverse element's ancestors, but I used a concise isConnected property instead.
1205
commit-queue@webkit.org5e6bd7d2018-01-24 22:26:17 +000012062018-01-24 Joseph Pecoraro <pecoraro@apple.com>
1207
1208 ReferenceError:​ Can't find variable:​ DOMAgent (at ScriptSyntaxTree.js:​178:​22)​
1209 https://bugs.webkit.org/show_bug.cgi?id=182059
1210
1211 Reviewed by Matt Baker.
1212
1213 * UserInterface/Models/ScriptSyntaxTree.js:
1214 (WI.ScriptSyntaxTree.functionReturnDivot):
1215 DOMAgent won't be available in a ServiceWorker or JSContext inspector. So add
1216 a check for DOMAgent, and assume if DOMAgent doesn't exist that we should fall
1217 back to the latest path (non-iOS 9) target.
1218
commit-queue@webkit.org45355c82018-01-24 00:46:39 +000012192018-01-23 Joseph Pecoraro <pecoraro@apple.com>
1220
1221 Web Inspector: Network's columns shake when scrolling at non-default zoom level
1222 https://bugs.webkit.org/show_bug.cgi?id=181998
1223 <rdar://problem/36449808>
1224
1225 Reviewed by Matt Baker.
1226
1227 * UserInterface/Views/Table.js:
1228 When zoomed the bounding client rect values were fractional, which was
1229 unexpected by this area of code. Floor the values to get a value we expect
1230 to be able to evenly distribute.
1231
nvasilyev@apple.comda0a57c2018-01-23 00:52:32 +000012322018-01-22 Nikita Vasilyev <nvasilyev@apple.com>
1233
1234 Web Inspector: Styles Redesign: data corruption when updating values quickly
1235 https://bugs.webkit.org/show_bug.cgi?id=179461
1236 <rdar://problem/35431882>
1237
1238 Reviewed by Joseph Pecoraro.
1239
1240 Data corruption used to happen because CSSStyleDeclaration.prototype.text didn't
1241 update synchronously. Making two or more quick changes resulted in corrupted data.
1242
1243 Imagine we modify a CSS value 3 times:
1244
1245 Front-end: (1)-(2)---(3)
1246 Back-end: (1)-----(2)-(3)
1247
1248 The first response from the backend could happen after the 2nd edit. In this patch,
1249 CSSStyleDeclaration is locked when its view is being edited.
1250
1251 To correctly display invalid and overridden properties, the backend is allowed to update
1252 CSSStyleDeclaration and CSSProperty when they're locked if the text from the backend
1253 matches the model's text. This should happen when the backend is caught up with the
1254 front-end changes.
1255
1256 * UserInterface/Models/CSSProperty.js:
1257 (WI.CSSProperty.prototype.update):
1258 * UserInterface/Models/CSSStyleDeclaration.js:
1259 (WI.CSSStyleDeclaration):
1260 (WI.CSSStyleDeclaration.prototype.get locked):
1261 (WI.CSSStyleDeclaration.prototype.set locked):
1262 (WI.CSSStyleDeclaration.prototype.set text):
1263
1264 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
1265 (WI.SpreadsheetCSSStyleDeclarationEditor):
1266 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.initialLayout):
1267 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.detached):
1268 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.get editing):
1269 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.set focused):
1270 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.set inlineSwatchActive):
1271 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.stylePropertyInlineSwatchActivated):
1272 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.stylePropertyInlineSwatchDeactivated):
1273 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._propertiesChanged):
1274 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._updateStyleLock):
1275 Lock CSSStyleDeclaration when a CSS property name or value is focused or
1276 an inline widget is active.
1277
1278 * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
1279 (WI.SpreadsheetCSSStyleDeclarationSection):
1280 (WI.SpreadsheetCSSStyleDeclarationSection.prototype._handleMouseDown):
1281 (WI.SpreadsheetCSSStyleDeclarationSection.prototype._handleClick):
1282 * UserInterface/Views/SpreadsheetStyleProperty.js:
1283 (WI.SpreadsheetStyleProperty):
1284 (WI.SpreadsheetStyleProperty.prototype._createInlineSwatch):
1285 When selector is focused, clicking on the white-space should not add a new blank property.
1286
ross.kirsling@sony.com56b55eb2018-01-19 23:18:44 +000012872018-01-19 Ross Kirsling <ross.kirsling@sony.com>
1288
1289 Web Inspector: Layers tab should do away with popovers (if possible)
1290 https://bugs.webkit.org/show_bug.cgi?id=181805
1291
1292 Reviewed by Matt Baker.
1293
1294 * Localizations/en.lproj/localizedStrings.js:
1295 Remove superfluous colon from a string.
1296
1297 * UserInterface/Main.html:
1298 * UserInterface/Views/LayerDetailsSidebarPanel.css:
1299 * UserInterface/Views/Layers3DContentView.css: Added.
1300 Remove popover styling from sidebar, add new file with similar styling for canvas overlay.
1301
1302 * UserInterface/Views/LayerDetailsSidebarPanel.js:
1303 (WI.LayerDetailsSidebarPanel):
1304 (WI.LayerDetailsSidebarPanel.prototype.selectNodeByLayerId):
1305 (WI.LayerDetailsSidebarPanel.prototype._dataGridSelectedNodeChanged):
1306 (WI.LayerDetailsSidebarPanel.prototype._updateLayers):
1307 (WI.LayerDetailsSidebarPanel.prototype._updateBottomBar):
1308 (WI.LayerDetailsSidebarPanel.prototype.willDismissPopover): Deleted.
1309 (WI.LayerDetailsSidebarPanel.prototype._showPopoverForSelectedNode): Deleted.
1310 (WI.LayerDetailsSidebarPanel.prototype._presentPopover): Deleted.
1311 (WI.LayerDetailsSidebarPanel.prototype._contentForPopover): Deleted.
1312 (WI.LayerDetailsSidebarPanel.prototype._populateListOfCompositingReasons.addReason): Deleted.
1313 (WI.LayerDetailsSidebarPanel.prototype._populateListOfCompositingReasons): Deleted.
1314 * UserInterface/Views/Layers3DContentView.js:
1315 (WI.Layers3DContentView):
1316 (WI.Layers3DContentView.prototype.shown):
1317 (WI.Layers3DContentView.prototype.selectLayerById):
1318 (WI.Layers3DContentView.prototype._canvasMouseDown):
1319 (WI.Layers3DContentView.prototype._buildLayerInfoElement):
1320 (WI.Layers3DContentView.prototype._updateLayerInfoElement):
1321 (WI.Layers3DContentView.prototype._updateReasonsList):
1322 Remove popover from sidebar table, overlay div with same data arrangement on top of the canvas.
1323 Also reverse the fix from r226671 since the visualization is no longer unusable without the sidebar!
1324
mattbaker@apple.com94f98b92018-01-19 23:01:11 +000013252018-01-19 Matt Baker <mattbaker@apple.com>
1326
1327 Web Inspector: Canvas Tab: Multiple "waiting for frames" messages displayed
1328 https://bugs.webkit.org/show_bug.cgi?id=181865
1329 <rdar://problem/36664737>
1330
1331 Reviewed by Devin Rousso.
1332
1333 * UserInterface/Views/CanvasContentView.js:
1334 (WI.CanvasContentView.prototype._recordingStarted):
1335 (WI.CanvasContentView.prototype._recordingStopped):
1336
nvasilyev@apple.com4f2ceb42018-01-19 20:13:20 +000013372018-01-19 Nikita Vasilyev <nvasilyev@apple.com>
1338
nvasilyev@apple.com98b5d642018-01-19 21:36:58 +00001339 Web Inspector: Styles Redesign: tabbing on commented out property throws exception
1340 https://bugs.webkit.org/show_bug.cgi?id=180676
1341 <rdar://problem/35981058>
1342
1343 Reviewed by Joseph Pecoraro.
1344
1345 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
1346 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.startEditingFirstProperty):
1347 Tabbing from the selector field should focus on the first editable property.
1348 When no editable properties are present, a new blank property should be added after the commented out ones.
1349
1350 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.startEditingLastProperty):
1351 Shift-tabbing from the selector field should focus on the last editable property of the previous CSS rule.
1352 When no editable properties are present, a new blank property should be added after the commented out ones.
1353
1354 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetCSSStyleDeclarationEditorFocusMoved):
1355 When navigating between properties skip the commented out ones.
1356
1357 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._editablePropertyAfter):
1358 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._editablePropertyBefore):
1359 * UserInterface/Views/SpreadsheetStyleProperty.js:
1360 (WI.SpreadsheetStyleProperty.prototype.get enabled):
1361 (WI.SpreadsheetStyleProperty.prototype._update):
1362
13632018-01-19 Nikita Vasilyev <nvasilyev@apple.com>
1364
nvasilyev@apple.com4f2ceb42018-01-19 20:13:20 +00001365 Web Inspector: Make styles sidebar always LTR
1366 https://bugs.webkit.org/show_bug.cgi?id=175357
1367 <rdar://problem/33787988>
1368
1369 Reviewed by Joseph Pecoraro.
1370
1371 * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:
1372 (WI.SpreadsheetRulesStyleDetailsPanel):
1373
keith_miller@apple.combd951472018-01-19 18:33:52 +000013742018-01-19 Keith Miller <keith_miller@apple.com>
1375
1376 HaveInternalSDK includes should be "#include?"
1377 https://bugs.webkit.org/show_bug.cgi?id=179670
1378
1379 Reviewed by Dan Bernstein.
1380
1381 * Configurations/Base.xcconfig:
1382
mitz@apple.come8cb0be2018-01-18 19:49:51 +000013832018-01-18 Dan Bernstein <mitz@apple.com>
1384
1385 [Xcode] Streamline and future-proof target-macOS-version-dependent build setting definitions
1386 https://bugs.webkit.org/show_bug.cgi?id=181803
1387
1388 Reviewed by Tim Horton.
1389
1390 * Configurations/Base.xcconfig: Updated.
1391 * Configurations/DebugRelease.xcconfig: Ditto.
1392 * Configurations/Version.xcconfig: Ditto.
1393
webkit@devinrousso.com37da84f2018-01-18 19:41:00 +000013942018-01-18 Devin Rousso <webkit@devinrousso.com>
1395
1396 Web Inspector: Canvas Tab: record button on canvas card doesn't always show on hover, or is misplaced
1397 https://bugs.webkit.org/show_bug.cgi?id=179183
1398
1399 Reviewed by Joseph Pecoraro.
1400
1401 * UserInterface/Views/CanvasOverviewContentView.css:
1402 (.content-view.canvas-overview .content-view.canvas:not(.is-recording) > header > .navigation-bar > .item.record-start-stop): Deleted.
1403
webkit@devinrousso.com035c5722018-01-18 05:03:26 +000014042018-01-17 Devin Rousso <webkit@devinrousso.com>
1405
1406 Web Inspector: clicking on a path component that has no siblings should select it
1407 https://bugs.webkit.org/show_bug.cgi?id=181772
1408
1409 Reviewed by Joseph Pecoraro.
1410
1411 * UserInterface/Views/HierarchicalPathComponent.js:
1412 (WI.HierarchicalPathComponent.prototype._updateSelectElement):
1413 (WI.HierarchicalPathComponent.prototype._selectElementMouseDown):
1414
commit-queue@webkit.org5c38b6c2018-01-17 18:41:56 +000014152018-01-17 Joseph Pecoraro <pecoraro@apple.com>
1416
commit-queue@webkit.orgb27a05e2018-01-17 20:25:02 +00001417 Web Inspector: Add back localized strings for Styles sidebar panels
1418 https://bugs.webkit.org/show_bug.cgi?id=181748
1419 <rdar://problem/36583184>
1420
1421 Reviewed by Brian Burg.
1422
1423 * Localizations/en.lproj/localizedStrings.js:
1424 * UserInterface/Views/ComputedStyleDetailsSidebarPanel.js:
1425 (WI.ComputedStyleDetailsSidebarPanel):
1426 * UserInterface/Views/RulesStyleDetailsSidebarPanel.js:
1427 (WI.RulesStyleDetailsSidebarPanel):
1428 * UserInterface/Views/VisualStyleDetailsSidebarPanel.js:
1429 (WI.VisualStyleDetailsSidebarPanel):
1430 Add back localized strings for panel titles lost in r225547.
1431
14322018-01-17 Joseph Pecoraro <pecoraro@apple.com>
1433
commit-queue@webkit.org5c38b6c2018-01-17 18:41:56 +00001434 Web Inspector: Super long URL string causes bad wrapping in Resources detail sidebar
1435 https://bugs.webkit.org/show_bug.cgi?id=181617
1436
1437 Reviewed by Brian Burg.
1438
1439 * UserInterface/Views/DetailsSection.css:
1440 (.details-section > .content > .group > .row.simple > .value):
1441 Set the break to all characters.
1442
mattbaker@apple.comf13364d2018-01-16 23:17:36 +000014432018-01-16 Matt Baker <mattbaker@apple.com>
1444
1445 Web Inspector: Canvas tab: typing a "space" in the QuickConsole shouldn't trigger a recording
1446 https://bugs.webkit.org/show_bug.cgi?id=181706
1447 <rdar://problem/36558221>
1448
1449 Reviewed by Joseph Pecoraro.
1450
1451 * UserInterface/Views/CanvasOverviewContentView.js:
1452 (WI.CanvasOverviewContentView):
1453 (WI.CanvasOverviewContentView.prototype._handleSpace):
1454
commit-queue@webkit.org4b0009c2018-01-16 22:26:26 +000014552018-01-16 Joseph Pecoraro <pecoraro@apple.com>
1456
1457 Web Inspector: Make Console's Execution Context picker stand out when it is non-default
1458 https://bugs.webkit.org/show_bug.cgi?id=181628
1459 <rdar://problem/36492044>
1460
1461 Reviewed by Matt Baker.
1462
1463 * UserInterface/Views/HierarchicalPathComponent.css:
1464 (.hierarchical-path-component > .selector-arrows):
1465 * UserInterface/Views/HierarchicalPathComponent.js:
1466 (WI.HierarchicalPathComponent.prototype.set selectorArrows):
1467 Switch to SVG element so we can style the arrows.
1468
1469 * UserInterface/Views/QuickConsole.css:
1470 (.quick-console > .navigation-bar > .hierarchical-path .execution-context):
1471 (.quick-console > .navigation-bar > .hierarchical-path .execution-context .separator):
1472 (.quick-console > .navigation-bar > .hierarchical-path.non-default-execution-context .execution-context):
1473 (.quick-console > .navigation-bar > .hierarchical-path.non-default-execution-context .execution-context .selector-arrows):
1474 Styles for the execution context picker. We hide the unused separator
1475 and instead use margin so that the selected background and border don't
1476 have an extra 7px on the right/end side.
1477
1478 * UserInterface/Views/QuickConsole.js:
1479 (WI.QuickConsole.prototype._activeExecutionContextChanged):
1480 Toggle the non-default class name on the path.
1481
nvasilyev@apple.com1a133f32018-01-16 20:23:12 +000014822018-01-16 Nikita Vasilyev <nvasilyev@apple.com>
1483
nvasilyev@apple.com00c66e32018-01-16 20:54:04 +00001484 Web Inspector: Styles: pressing down key should select first item from completion list when focusing on empty value
1485 https://bugs.webkit.org/show_bug.cgi?id=181633
1486 <rdar://problem/36501797>
1487
1488 Reviewed by Joseph Pecoraro.
1489
1490 * UserInterface/Views/SpreadsheetTextField.js:
1491 (WI.SpreadsheetTextField.prototype._updateCompletions):
1492
14932018-01-16 Nikita Vasilyev <nvasilyev@apple.com>
1494
nvasilyev@apple.com7afead02018-01-16 20:31:54 +00001495 Web Inspector: Styles Redesign: Long value causes bad wrapping
1496 https://bugs.webkit.org/show_bug.cgi?id=181618
1497 <rdar://problem/36485175>
1498
1499 Reviewed by Joseph Pecoraro.
1500
1501 Wrap long values only when editing.
1502
1503 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
1504 (.spreadsheet-style-declaration-editor .value.editing):
1505
15062018-01-16 Nikita Vasilyev <nvasilyev@apple.com>
1507
nvasilyev@apple.com1a133f32018-01-16 20:23:12 +00001508 Web Inspector: Styles Redesign: clicking on the white space after the property sometimes places a blank property at the wrong index
1509 https://bugs.webkit.org/show_bug.cgi?id=179585
1510 <rdar://problem/35490780>
1511
1512 Reviewed by Joseph Pecoraro.
1513
1514 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
1515 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyRemoved):
1516 Layout call is needed to update data-property-index attributes on the property views.
1517
commit-queue@webkit.orgad830a32018-01-16 20:20:35 +000015182018-01-16 Joseph Pecoraro <pecoraro@apple.com>
1519
1520 Web Inspector: Network Tab - Export HAR Context Menu not working
1521 https://bugs.webkit.org/show_bug.cgi?id=181694
1522 <rdar://problem/36479197>
1523
1524 Reviewed by Brian Burg.
1525
1526 * UserInterface/Views/NetworkTableContentView.js:
1527 (WI.NetworkTableContentView.prototype.tableCellContextMenuClicked):
1528 Ensure `this` works in the handler.
1529
mattbaker@apple.com34822982018-01-16 07:03:57 +000015302018-01-15 Matt Baker <mattbaker@apple.com>
1531
1532 Web Inspector: TabBar redesign: add context menu to TabBar for toggling available tabs
1533 https://bugs.webkit.org/show_bug.cgi?id=181448
1534 <rdar://problem/36383298>
1535
1536 Reviewed by Devin Rousso.
1537
1538 * UserInterface/Base/Main.js:
1539 (WI.loaded):
1540 (WI.contentLoaded):
1541 Reorder production tab classes and default (open) tabs.
1542 (WI.registerTabClass): Removed.
1543 Not used.
1544
1545 * UserInterface/Base/Object.js:
1546 Remove notification that is no longer used.
1547
1548 * UserInterface/Views/GeneralTabBarItem.js:
1549 (WI.GeneralTabBarItem):
1550 (WI.GeneralTabBarItem.prototype.set title):
1551 (WI.GeneralTabBarItem.prototype._handleContextMenuEvent): Deleted.
1552 Remove per-tab context menu (provided Close Tab and Close Other Tabs).
1553
1554 * UserInterface/Views/NewTabContentView.js:
1555 (WI.NewTabContentView):
1556
1557 * UserInterface/Views/TabBar.js:
1558 (WI.TabBar):
1559 (WI.TabBar.prototype._handleContextMenu):
1560
1561 * UserInterface/Views/TabBrowser.js:
1562 (WI.TabBrowser):
1563 (WI.TabBrowser._handleNewTabContextMenu): Deleted.
1564 No longer needed.
1565
nvasilyev@apple.com460e7352018-01-14 04:06:15 +000015662018-01-13 Nikita Vasilyev <nvasilyev@apple.com>
1567
1568 Web Inspector: Styles Redesign: properties should never be semitransparent or crossed out while editing
1569 https://bugs.webkit.org/show_bug.cgi?id=180793
1570 <rdar://problem/36038813>
1571
1572 Reviewed by Devin Rousso.
1573
1574 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
1575 (.spreadsheet-style-declaration-editor .value.editing):
1576 (.spreadsheet-style-declaration-editor .property:matches(.invalid-name, .other-vendor, .overridden):not(.disabled) .content > *):
1577 (.spreadsheet-style-declaration-editor .property.invalid-name:not(.disabled) .content > *):
1578 (.spreadsheet-style-declaration-editor .property.invalid-value:not(.disabled) .content .value):
1579 (.spreadsheet-style-declaration-editor .property.not-inherited .content > *):
1580 * UserInterface/Views/SpreadsheetStyleProperty.js:
1581 (WI.SpreadsheetStyleProperty.prototype._update):
1582
commit-queue@webkit.org53962592018-01-12 21:03:22 +000015832018-01-12 Joseph Pecoraro <pecoraro@apple.com>
1584
commit-queue@webkit.org0b67c282018-01-12 21:47:07 +00001585 Web Inspector: Drop support for iOS 7 targets
1586 https://bugs.webkit.org/show_bug.cgi?id=181549
1587 <rdar://problem/36444813>
1588
1589 Reviewed by Brian Burg.
1590
1591 * Versions/Inspector-iOS-7.0.json: Removed.
1592 * UserInterface/Protocol/Legacy/7.0/InspectorBackendCommands.js: Removed.
1593 Remove protocol snapshot and generated commands for iOS 7.
1594
1595 * UserInterface/Base/Main.js:
1596 * UserInterface/Controllers/BreakpointPopoverController.js:
1597 (WI.BreakpointPopoverController.prototype._createPopoverContent):
1598 * UserInterface/Controllers/DebuggerManager.js:
1599 (WI.DebuggerManager.prototype._setBreakpoint):
1600 * UserInterface/Controllers/SourceMapManager.js:
1601 (WI.SourceMapManager.prototype._loadAndParseSourceMap):
1602 * UserInterface/Models/Instrument.js:
1603 (WI.Instrument.startLegacyTimelineAgent):
1604 * UserInterface/Models/ResourceTimingData.js:
1605 * UserInterface/Models/ScriptTimelineRecord.js:
1606 (WI.ScriptTimelineRecord.EventType.displayName):
1607 * UserInterface/Models/SourceMapResource.js:
1608 (WI.SourceMapResource.prototype.requestContentFromBackend):
1609 * UserInterface/Protocol/CSSObserver.js:
1610 (WI.CSSObserver.prototype.regionLayoutUpdated): Deleted.
1611 * UserInterface/Protocol/RemoteObject.js:
1612 (WI.RemoteObject.fromPayload):
1613 Remove code that was only necessary to support iOS 7.
1614
16152018-01-12 Joseph Pecoraro <pecoraro@apple.com>
1616
commit-queue@webkit.org53962592018-01-12 21:03:22 +00001617 Web Inspector: Support JSX (React) syntax highlighting
1618 https://bugs.webkit.org/show_bug.cgi?id=181607
1619 <rdar://problem/36442564>
1620
1621 Reviewed by Brian Burg.
1622
1623 * UserInterface/Base/MIMETypeUtilities.js:
1624 (WI.mimeTypeForFileExtension):
1625 (WI.fileExtensionForMIMEType):
1626 * UserInterface/Models/Resource.js:
1627 Support the jsx extension and mime types.
1628
1629 * UserInterface/Main.html:
1630 * Scripts/update-codemirror-resources.rb:
1631 * UserInterface/External/CodeMirror/jsx.js: Added.
1632 Include new mode from CodeMirror@d8926768.
1633
commit-queue@webkit.orgecdf31a2018-01-11 08:19:08 +000016342018-01-11 Joseph Pecoraro <pecoraro@apple.com>
1635
commit-queue@webkit.orgc47e70e2018-01-12 00:30:45 +00001636 Web Inspector: Rename "Query String" section as "Query String Parameters" for clarity
1637 https://bugs.webkit.org/show_bug.cgi?id=181464
1638
1639 Reviewed by Darin Adler.
1640
1641 * Localizations/en.lproj/localizedStrings.js:
1642 * UserInterface/Views/ResourceHeadersContentView.js:
1643 (WI.ResourceHeadersContentView.prototype.initialLayout):
1644
16452018-01-11 Joseph Pecoraro <pecoraro@apple.com>
1646
commit-queue@webkit.orgecdf31a2018-01-11 08:19:08 +00001647 Web Inspector: Remove unused variable in WI.DebuggerSidebarPanel
1648 https://bugs.webkit.org/show_bug.cgi?id=181517
1649
1650 Reviewed by Matt Baker.
1651
1652 * UserInterface/Views/DebuggerSidebarPanel.js:
1653
commit-queue@webkit.orgd0acc272018-01-11 07:05:12 +000016542018-01-10 Joseph Pecoraro <pecoraro@apple.com>
1655
commit-queue@webkit.org2f64c112018-01-11 07:07:52 +00001656 REGRESSION(r218975): Web Inspector: Add back NavigationSidebarPanel initialization parameter used by SearchSidebarPanel (top overflow shadow)
1657 https://bugs.webkit.org/show_bug.cgi?id=181518
1658 <rdar://problem/36427197>
1659
1660 Reviewed by Matt Baker.
1661
1662 * UserInterface/Views/NavigationSidebarPanel.css:
1663 (.sidebar > .panel.navigation > .overflow-shadow.top):
1664 * UserInterface/Views/NavigationSidebarPanel.js:
1665 (WI.NavigationSidebarPanel):
1666 Add back the initialization parameter still used by SearchSidebarPanel
1667 and add back its implementation. There were still references to
1668 dynamically update _topOverflowShadowElement in NavigationSidebarPanel.
1669
16702018-01-10 Joseph Pecoraro <pecoraro@apple.com>
1671
commit-queue@webkit.orgd0acc272018-01-11 07:05:12 +00001672 Web Inspector: Incorrect check with WI.debuggableType
1673 https://bugs.webkit.org/show_bug.cgi?id=181515
1674 <rdar://problem/36425509>
1675
1676 Reviewed by Brian Burg.
1677
1678 * UserInterface/Base/Main.js:
1679 (WI.contentLoaded):
1680 This moved to WI.sharedApp a while ago.
1681
mattbaker@apple.comef5b4372018-01-11 03:36:29 +000016822018-01-10 Matt Baker <mattbaker@apple.com>
1683
1684 Web Inspector: Canvas tab: throttle recording slider updates
1685 https://bugs.webkit.org/show_bug.cgi?id=180839
1686 <rdar://problem/36057849>
1687
1688 Reviewed by Joseph Pecoraro
1689
1690 * UserInterface/Base/Utilities.js:
1691 Add Object.throttle and Function.cancelThrottle. Repeated calls to a
1692 function on a throttled object are delayed, so that the function isn't
1693 invoked more frequently than the specified delay value.
1694
1695 For a description of throttling behavior see:
1696 - http://www.chrislondon.co/throttling-vs-debouncing
1697 - http://benalman.com/projects/jquery-throttle-debounce-plugin
1698
1699 * UserInterface/Views/RecordingContentView.js:
1700 (WI.RecordingContentView.prototype.updateActionIndex):
1701 Throttle frequency of canvas snapshot creation to 200ms.
1702 (WI.RecordingContentView.prototype.hidden):
1703 Prevent trailing edge call after hiding the view.
1704
commit-queue@webkit.org97cca382018-01-10 20:19:20 +000017052018-01-10 Joseph Pecoraro <pecoraro@apple.com>
1706
1707 Web Inspector: Should not try to autocomplete subsections of a string
1708 https://bugs.webkit.org/show_bug.cgi?id=181461
1709 <rdar://problem/36369421>
1710
1711 Reviewed by Brian Burg.
1712
1713 * UserInterface/Controllers/CodeMirrorCompletionController.js:
1714 (WI.CodeMirrorCompletionController.prototype._completeAtCurrentPosition):
1715 Disable autocompletion within strings.
1716
commit-queue@webkit.org2b3c6662018-01-10 03:17:27 +000017172018-01-09 Joseph Pecoraro <pecoraro@apple.com>
1718
1719 REGRESSION(r201855): Web Inspector: Should see "length" autocompletion suggestion on a string literal
1720 https://bugs.webkit.org/show_bug.cgi?id=181462
1721 <rdar://problem/36390699>
1722
1723 Reviewed by Matt Baker.
1724
1725 * UserInterface/Controllers/JavaScriptRuntimeCompletionProvider.js:
1726 (WI.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded.inspectedPage_evalResult_getCompletions):
1727 This is code that runs on the inspected target, which may have an old version of
1728 WebKit/JavaScriptCore, so don't use new syntax like this.
1729
1730 (WI.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded):
1731 We intended to return the result by as a JSON value instead of a RemoteObject.
1732
ross.kirsling@sony.comc9167ef2018-01-10 02:43:36 +000017332018-01-09 Ross Kirsling <ross.kirsling@sony.com>
1734
1735 Web Inspector: Layers sidebar shows popover on selection even when collapsed
1736 https://bugs.webkit.org/show_bug.cgi?id=181465
1737
1738 Reviewed by Matt Baker.
1739
1740 * UserInterface/Views/LayerDetailsSidebarPanel.js:
1741 (WI.LayerDetailsSidebarPanel.prototype.selectNodeByLayerId):
1742 Have sidebar show itself if necessary before displaying popover.
1743
commit-queue@webkit.orgba467f22018-01-08 17:42:17 +000017442018-01-08 Joseph Pecoraro <pecoraro@apple.com>
1745
1746 Web Inspector: Find next / previous within a resource content view does not have bouncy highlight when editor scrolls
1747 https://bugs.webkit.org/show_bug.cgi?id=181279
1748 <rdar://problem/36291097>
1749
1750 Reviewed by Brian Burg.
1751
1752 * UserInterface/Views/TextEditor.js:
1753 (WI.TextEditor.prototype._revealSearchResult):
1754 Reposition the bouncy highlight on scroll based on the CodeMirror
1755 line/ch position of the search result.
1756
1757 (WI.TextEditor.prototype._removeBouncyHighlightElementIfNeeded):
1758 Track the bouncy highlight scroll handler in a member variable so that
1759 we always remember to remove it and don't leak scroll handlers.
1760
ddkilzer@apple.com925e86e2018-01-08 06:00:43 +000017612018-01-07 David Kilzer <ddkilzer@apple.com>
1762
1763 Enable -Wcast-qual for WebInspectorUI, WebKitLegacy, WebKit projects
1764 <https://webkit.org/b/181256>
1765 <rdar://problem/36281730>
1766
1767 Reviewed by Darin Adler.
1768
1769 * Configurations/Base.xcconfig:
1770 (WARNING_CFLAGS): Add -Wcast-qual.
1771
commit-queue@webkit.org8f8a4b92018-01-06 01:29:12 +000017722018-01-05 Joseph Pecoraro <pecoraro@apple.com>
1773
1774 Web Inspector: Add another Protocol Version
1775 https://bugs.webkit.org/show_bug.cgi?id=181354
1776 <rdar://problem/35432817>
1777
1778 Reviewed by Matt Baker.
1779
1780 * UserInterface/Protocol/Legacy/11.3/InspectorBackendCommands.js: Added.
1781 * Versions/Inspector-iOS-11.3.json: Added.
1782
webkit@devinrousso.com9cefadd2018-01-05 06:40:30 +000017832018-01-04 Devin Rousso <webkit@devinrousso.com>
1784
1785 Web Inspector: replace HTMLCanvasElement with CanvasRenderingContext for instrumentation logic
1786 https://bugs.webkit.org/show_bug.cgi?id=180770
1787
1788 Reviewed by Joseph Pecoraro.
1789
1790 * UserInterface/Models/Canvas.js:
1791 (WI.Canvas.fromPayload):
1792 (WI.Canvas.prototype.get contextType):
1793 (WI.Canvas.prototype.saveIdentityToCookie):
1794 (WI.Canvas.prototype.get frame): Deleted.
1795
commit-queue@webkit.orgb8865be2018-01-05 04:34:07 +000017962018-01-04 Joseph Pecoraro <pecoraro@apple.com>
1797
1798 REGRESSION (r225709): Web Inspector: CSS Source maps not loading
1799 https://bugs.webkit.org/show_bug.cgi?id=181314
1800 <rdar://problem/36177620>
1801
1802 Reviewed by Brian Burg.
1803
1804 * UserInterface/Controllers/SourceMapManager.js:
1805 (WI.SourceMapManager.prototype._loadAndParseSourceMap):
1806 * UserInterface/Models/SourceMapResource.js:
1807 (WI.SourceMapResource.prototype.requestContentFromBackend):
1808 Correct this so that we only fall back to a reasonable frame id
1809 if we couldn't determine a frame id from earlier. Previously this
1810 was incorrectly clearing the frame id if we had gotten it earlier.
1811
1812 * UserInterface/Test.html:
1813 * UserInterface/Test/Test.js:
1814 (WI.loaded):
1815 Add SourceMap related files for tests.
1816
bburg@apple.com948fbb62018-01-04 21:29:13 +000018172018-01-04 Brian Burg <bburg@apple.com>
1818
bburg@apple.comd4373572018-01-05 00:00:25 +00001819 Web Inspector: Capture Element Screenshot looks fuzzy
1820 https://bugs.webkit.org/show_bug.cgi?id=175734
1821 <rdar://problem/33803377>
1822
1823 Reviewed by Joseph Pecoraro and Simon Fraser.
1824
1825 Spruce up these functions a bit. They now optionally return a promise
1826 if no callback is supplied. They now can take either a WI.DOMNode or a node id.
1827
1828 * UserInterface/Controllers/DOMTreeManager.js:
1829 (WI.DOMTreeManager.prototype.querySelector):
1830 (WI.DOMTreeManager.prototype.querySelectorAll):
1831
18322018-01-04 Brian Burg <bburg@apple.com>
1833
bburg@apple.com948fbb62018-01-04 21:29:13 +00001834 Web Inspector: add RemoteObject.fetchProperties and some basic tests for RemoteObject API
1835 https://bugs.webkit.org/show_bug.cgi?id=180945
1836
1837 Reviewed by Joseph Pecoraro.
1838
1839 Add a new method, fetchProperties, which async fetches an arbitrary list of properties
1840 from a RemoteObject. This is intended for writing tests and other quick evaluations,
1841 so it has some behaviors that are suitable in these situations:
1842 - If the evaluation throws an exception, the result will reject with that exception.
1843 - If there is a protocol error for some reason, the result will reject with an exception.
1844 - Non-string and non-number keys cause an exception, as this is probably not intended.
1845 - Does not accept a callback, returns a promise only. New code should use async.
1846
1847 For full fidelity introspection of property descriptors, clients should use the existing
1848 getOwnPropertyDescriptor[s] class of methods.
1849
1850 * UserInterface/Protocol/RemoteObject.js:
1851 (WI.RemoteObject.prototype.async.fetchProperties): Added.
1852 - Validate specified keys and remove duplicates.
1853 - Request properties one-by-one to avoid fetching all descriptors and dealing with previews.
1854 - Unwrap returned primitive values to avoid unnecessary munging in tests.
1855
1856 (WI.RemoteObject.prototype.getProperty):
1857 - Rework this to return a promise if no callback was supplied.
1858 - Introduce stricter property type checking to avoid unintended mistakes.
1859
1860 (WI.RemoteObject.prototype.callFunction):
1861 - Rework this to return a promise if no callback was supplied.
1862 - Turn thrown exceptions and protocol errors into rejected promises.
1863
commit-queue@webkit.orgdde3a322018-01-04 20:56:43 +000018642018-01-04 Joseph Pecoraro <pecoraro@apple.com>
1865
1866 Web Inspector: ⌘G / ⇧⌘G text search does not working after closing find banner
1867 https://bugs.webkit.org/show_bug.cgi?id=181280
1868 <rdar://problem/36291175>
1869
1870 Reviewed by Matt Baker.
1871
1872 * UserInterface/Views/ContentBrowser.js:
1873 (WI.ContentBrowser.prototype._findBannerDidHide):
1874 When the find banner is hidden trigger a new ContentView method,
1875 searchHidden instead of the destructive searchCleared. This allows
1876 most content views (text editors, DOM tree, Network Headers view)
1877 to keep their populated search results.
1878
1879 * UserInterface/Views/ContentView.js:
1880 (WI.ContentView.prototype.searchHidden):
1881 * UserInterface/Views/LogContentView.js:
1882 (WI.LogContentView.prototype.searchHidden):
1883 By default searchHidden does nothing. The Console's LogContentView
1884 treats the find banner differently and clears its search results.
1885
1886 * UserInterface/Views/TextEditor.js:
1887 (WI.TextEditor.prototype.searchCleared):
1888 Modernize some code while working in this area.
1889
1890 * UserInterface/Views/Main.css:
1891 (.bouncy-highlight):
1892 Ensure black text on yellow background in the bouncy highlight. In the
1893 DOM Tree it could have been white if the find banner was closed.
1894
commit-queue@webkit.org026ee042018-01-04 07:18:18 +000018952018-01-03 Ting-Wei Lan <lantw44@gmail.com>
1896
1897 Replace hard-coded paths in shebangs with #!/usr/bin/env
1898 https://bugs.webkit.org/show_bug.cgi?id=181040
1899
1900 Reviewed by Alex Christensen.
1901
1902 * Scripts/combine-resources.pl:
1903 * Scripts/copy-user-interface-resources-dryrun.rb:
1904 * Scripts/copy-user-interface-resources.pl:
1905 * Scripts/fix-worker-imports-for-optimized-builds.pl:
1906 * Scripts/remove-console-asserts-dryrun.rb:
1907 * Scripts/remove-console-asserts.pl:
1908 * Scripts/update-LegacyInspectorBackendCommands.rb:
1909 * Scripts/update-codemirror-resources.rb:
1910 * WebInspectorUI.vcxproj/build-webinspectorui.pl:
1911
commit-queue@webkit.orgc45f9572018-01-03 22:46:33 +000019122018-01-03 Joseph Pecoraro <pecoraro@apple.com>
1913
commit-queue@webkit.orgf95124f2018-01-04 05:58:24 +00001914 Web Inspector: "Log Value" context menu is sometimes unavailable
1915 https://bugs.webkit.org/show_bug.cgi?id=181278
1916 <rdar://problem/36281649>
1917
1918 Reviewed by Devin Rousso.
1919
1920 * UserInterface/Views/ObjectPreviewView.css:
1921 (.object-preview > .title):
1922 * UserInterface/Views/ObjectTreeView.css:
1923 (.object-tree.expanded > .title):
1924 Make the expanded object title information 16px tall to match ObjectTree
1925 tree element row heights. This eliminates the floating console message
1926 location from overlapping the first ObjectTree's TreeElement and causing
1927 truncation and other behavior issues (like Context Menu identification).
1928
19292018-01-03 Joseph Pecoraro <pecoraro@apple.com>
1930
commit-queue@webkit.orgf0c1ef42018-01-04 05:57:23 +00001931 Web Inspector: RTL - DOM Tree Element selection doesn't work
1932 https://bugs.webkit.org/show_bug.cgi?id=181275
1933 <rdar://problem/36290450>
1934
1935 Reviewed by Devin Rousso.
1936
1937 * UserInterface/Views/TreeOutline.js:
1938 (WI.TreeOutline.prototype.treeElementFromEvent):
1939 Provide a better explanation for why we are making the `x` adjustment here,
1940 to detect the inner most tree element along the horizontal. Fix the algorithm
1941 for RTL, since the intent is to adjust to the trailing edge of the container
1942 which is on the opposite side in RTL.
1943
19442018-01-03 Joseph Pecoraro <pecoraro@apple.com>
1945
commit-queue@webkit.org273c4b32018-01-04 00:46:52 +00001946 Web Inspector: Find banner sometimes does not work (when already populated and shown for first time on resource)
1947 https://bugs.webkit.org/show_bug.cgi?id=181255
1948 <rdar://problem/36248855>
1949
1950 Reviewed by Matt Baker.
1951
1952 * UserInterface/Views/TextEditor.js:
1953 (WI.TextEditor.prototype.set string):
1954 Defer any early searches until the initial content of a TextEditor has been set.
1955 Such searches can happen when the FindBanner already has content when a
1956 ContentView is first opened and needs to load its content from the backend.
1957 Further, even though the content may be loaded from the backend before the
1958 search results, microtask hops might cause the content to get to the TextEditor
1959 after the search results.
1960
19612018-01-03 Joseph Pecoraro <pecoraro@apple.com>
1962
commit-queue@webkit.orgc45f9572018-01-03 22:46:33 +00001963 REGRESSION: Web Inspector: Debugger tab doesn't restore selected resource on reload
1964 https://bugs.webkit.org/show_bug.cgi?id=181253
1965 <rdar://problem/36280564>
1966
1967 Reviewed by Matt Baker.
1968
1969 * UserInterface/Views/DebuggerSidebarPanel.js:
1970 (WI.DebuggerSidebarPanel.prototype.restoreStateFromCookie):
1971 Add braces to ensure the trailing else is actually trailing the outer
1972 chain as it was intended to be.
1973
commit-queue@webkit.orgd76347e2018-01-03 02:52:04 +000019742018-01-02 Joseph Pecoraro <pecoraro@apple.com>
1975
1976 Web Inspector: Clicking source location link in Console unexpectedly jumps to Network tab
1977 https://bugs.webkit.org/show_bug.cgi?id=181229
1978 <rdar://problem/36075219>
1979
1980 Reviewed by Matt Baker.
1981
1982 * UserInterface/Base/Main.js:
1983 Cleanup linkifyURLAsNode. Ignore Search tab in generic handlePossibleLinkClick
1984 when not already in the Search tab.
1985
1986 * UserInterface/Views/CallFrameView.js:
1987 (WI.CallFrameView):
1988 Ignore Search and Network tab in CallFrame links.
1989
1990 * UserInterface/Views/TabBrowser.js:
1991 (WI.TabBrowser.prototype.bestTabContentViewForRepresentedObject):
1992 Improve style.
1993
mcatanzaro@igalia.com3fcf3c32018-01-02 04:27:34 +00001994== Rolled over to ChangeLog-2018-01-01 ==