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