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