blob: cf161ea9e9ff975e0491736d5922879d7e70bdf0 [file] [log] [blame]
mattbaker@apple.com857a0552019-01-28 19:53:20 +000012019-01-28 Matt Baker <mattbaker@apple.com>
2
3 REGRESSION(?): Web Inspector: Can have multiple Timelines selected after edit mode
4 https://bugs.webkit.org/show_bug.cgi?id=193808
5 <rdar://problem/47537734>
6
7 Reviewed by Devin Rousso.
8
9 * UserInterface/Controllers/SelectionController.js:
10 (WI.SelectionController.prototype.didRemoveItems):
11
12 * UserInterface/Views/TreeOutline.js:
13 (WI.TreeOutline.prototype._indexesForSubtree):
14 Fix a bug where no IndexSet was returned when passed a TreeElement with
15 no children. This caused the Timelines tree selection to be corrupted when
16 entering and exiting edit mode, as TreeElements are inserted and removed.
17
nvasilyev@apple.com8b627d02019-01-28 09:29:20 +0000182019-01-28 Nikita Vasilyev <nvasilyev@apple.com>
19
20 Web Inspector: Add Changes panel to Elements tab
21 https://bugs.webkit.org/show_bug.cgi?id=193803
22
23 Reviewed by Devin Rousso.
24
25 Introduce the new experimental Changes Panel. It shows a list of CSS changes
26 made via Web Inspector, so the changes could be copied to the source files.
27
28 * Localizations/en.lproj/localizedStrings.js:
29 * UserInterface/Base/Setting.js:
30 * UserInterface/Base/Utilities.js:
31 (Array.diffArrays): Added.
32
33 * UserInterface/Controllers/CSSManager.js:
34 (WI.CSSManager):
35 (WI.CSSManager.prototype.get modifiedCSSRules):
36 (WI.CSSManager.prototype.addModifiedCSSRule):
37 (WI.CSSManager.prototype.removeModifiedCSSRule):
38 (WI.CSSManager.prototype._mainResourceDidChange):
39
40 * UserInterface/Main.html:
41 * UserInterface/Models/CSSProperty.js:
42 (WI.CSSProperty):
43 (WI.CSSProperty.prototype.remove):
44 (WI.CSSProperty.prototype.replaceWithText):
45 (WI.CSSProperty.prototype.commentOut):
46 (WI.CSSProperty.prototype.set text):
47 (WI.CSSProperty.prototype.get modified):
48 (WI.CSSProperty.prototype.set name):
49 (WI.CSSProperty.prototype.set rawValue):
50 (WI.CSSProperty.prototype.get initialState):
51 (WI.CSSProperty.prototype._updateOwnerStyleText):
52 (WI.CSSProperty.prototype._markModified):
53 Mark CSSProperty modified *before* making any changes to copy its initial state.
54
55 * UserInterface/Models/CSSRule.js:
56 (WI.CSSRule):
57 (WI.CSSRule.prototype.get id):
58 (WI.CSSRule.prototype.get initialState):
59 (WI.CSSRule.prototype.get stringId):
60 (WI.CSSRule.prototype.markModified):
61
62 * UserInterface/Models/CSSStyleDeclaration.js:
63 (WI.CSSStyleDeclaration):
64 (WI.CSSStyleDeclaration.prototype.get initialState):
65 (WI.CSSStyleDeclaration.prototype.get enabledProperties):
66 (WI.CSSStyleDeclaration.prototype.get properties):
67 (WI.CSSStyleDeclaration.prototype.set properties):
68 (WI.CSSStyleDeclaration.prototype.propertyForName):
69 (WI.CSSStyleDeclaration.prototype.newBlankProperty):
70 (WI.CSSStyleDeclaration.prototype.markModified):
71
72 * UserInterface/Views/ChangesDetailsSidebarPanel.css: Added.
73 (.sidebar > .panel.changes-panel):
74 (.sidebar > .panel.changes-panel:not(.empty)):
75 (.sidebar > .panel.changes-panel.empty):
76 (.changes-panel ins):
77 (.changes-panel del):
78 (.changes-panel del.css-property::before):
79 (.changes-panel ins.css-property::before):
80 (@media (prefers-color-scheme: dark)):
81
82 * UserInterface/Views/ChangesDetailsSidebarPanel.js: Added.
83 (WI.ChangesDetailsSidebarPanel):
84 (WI.ChangesDetailsSidebarPanel.prototype.inspect):
85 (WI.ChangesDetailsSidebarPanel.prototype.supportsDOMNode):
86 (WI.ChangesDetailsSidebarPanel.prototype.shown):
87 (WI.ChangesDetailsSidebarPanel.prototype.detached):
88 (WI.ChangesDetailsSidebarPanel.prototype.layout):
89 (WI.ChangesDetailsSidebarPanel.prototype._mainResourceDidChange):
90
91 * UserInterface/Views/ElementsTabContentView.js:
92 (WI.ElementsTabContentView):
93
94 * UserInterface/Views/SettingsTabContentView.js:
95 (WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
96
97 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
98 (.spreadsheet-style-declaration-editor .property):
99 (.spreadsheet-style-declaration-editor .property.modified):
100 (.spreadsheet-style-declaration-editor .property.modified:not(.selected)):
101 (@media (prefers-color-scheme: dark)):
102
103 * UserInterface/Views/SpreadsheetStyleProperty.js:
104 (WI.SpreadsheetStyleProperty.prototype.updateStatus):
105
drousso@apple.comc9a88bd2019-01-26 22:32:38 +00001062019-01-26 Devin Rousso <drousso@apple.com>
107
drousso@apple.come1b98f6e2019-01-26 23:54:29 +0000108 Web Inspector: handle CSS Color 4 color syntaxes
109 https://bugs.webkit.org/show_bug.cgi?id=193166
110 <rdar://problem/47062403>
111
112 Reviewed by Simon Fraser.
113
114 * UserInterface/Models/Color.js:
115 (WI.Color.fromString):
116 (WI.Color.fromString.splitFunctionString): Added.
117 (WI.Color.fromString.parseFunctionAlpha): Added.
118 (WI.Color.fromString.parseFunctionComponent): Added.
119 (WI.Color.fromString.parseHueComponent): Added.
120 (WI.Color.fromString.parsePercentageComponent): Added.
121
1222019-01-26 Devin Rousso <drousso@apple.com>
123
drousso@apple.comc9a88bd2019-01-26 22:32:38 +0000124 Web Inspector: provide a way to edit the user agent of a remote target
125 https://bugs.webkit.org/show_bug.cgi?id=193862
126 <rdar://problem/47359292>
127
128 Reviewed by Joseph Pecoraro.
129
130 * UserInterface/Base/Main.js:
131 (WI.loaded):
132 (WI.contentLoaded):
133 (WI.initializeTarget):
134 (WI._handleDeviceSettingsToolbarButtonClicked):
135 (WI._handleDeviceSettingsToolbarButtonClicked.updateActivatedState):
136 (WI._handleDeviceSettingsToolbarButtonClicked.applyOverriddenUserAgent):
137 (WI._handleDeviceSettingsToolbarButtonClicked.applyOverriddenSetting):
138 (WI._handleDeviceSettingsToolbarButtonClicked.createContainer):
139 (WI._handleDeviceSettingsToolbarButtonClicked.createColumns):
140 (WI._handleDeviceSettingsToolbarButtonClicked.calculateTargetFrame):
141 (WI._handleDeviceSettingsToolbarButtonClicked.showUserAgentInput):
142
143 * UserInterface/Views/Main.css:
144 (.device-settings-content):
145 (.device-settings-content .user-agent-value): Added.
146 (.device-settings-content .user-agent-value > select): Added.
147 (.device-settings-content .user-agent-value > input): Added.
148 (body[dir=ltr] .device-settings-content .user-agent-value > input): Added.
149 (body[dir=rtl] .device-settings-content .user-agent-value > input): Added.
150 (.device-settings-content label > input): Added.
151 (body[dir=ltr] .device-settings-content label > input): Deleted.
152 (body[dir=rtl] .device-settings-content label > input): Deleted.
153
154 * Localizations/en.lproj/localizedStrings.js:
155
drousso@apple.com830cd0b2019-01-26 01:06:51 +00001562019-01-25 Devin Rousso <drousso@apple.com>
157
drousso@apple.comcd962a92019-01-26 03:57:17 +0000158 Web Inspector: provide a way to edit page settings on a remote target
159 https://bugs.webkit.org/show_bug.cgi?id=193813
160 <rdar://problem/47359510>
161
162 Reviewed by Joseph Pecoraro.
163
164 Add toolbar button that shows a popover with the target's (page's) settings when clicked.
165
166 * UserInterface/Base/Main.js:
167 (WI.loaded):
168 (WI.contentLoaded):
169 (WI.initializeTarget): Added.
170 (WI._handleDeviceSettingsToolbarButtonClicked): Added.
171 (WI.didDismissPopover): Added.
172 * UserInterface/Views/Main.css:
173 (.device-settings-content): Added.
174 (.device-settings-content .columns): Added.
175 (.device-settings-content .columns > .column): Added.
176 (.device-settings-content .columns > .column + .column): Added.
177 (body[dir=ltr] .device-settings-content label > input): Added.
178 (body[dir=rtl] .device-settings-content label > input): Added.
179
180 * UserInterface/Views/Popover.js:
181 (WI.Popover.prototype._update.area):
182 (WI.Popover.prototype._update):
183 (WI.Popover.prototype._drawBackground):
184 (WI.Popover.prototype._bestMetricsForEdge):
185 (WI.Popover.prototype._drawFrame):
186 If the best area is negative, treat it as the worst area.
187 Allow areas to be clamped so long as the clamped edge is not the preferred edge.
188
189 * UserInterface/Base/Test.js:
190 (WI.initializeTarget): Added.
191
192 * UserInterface/Images/Device.svg: Added.
193 * Localizations/en.lproj/localizedStrings.js:
194
1952019-01-25 Devin Rousso <drousso@apple.com>
196
drousso@apple.comeadbdb52019-01-26 03:24:03 +0000197 Web Inspector: Audit: unable to import audits
198 https://bugs.webkit.org/show_bug.cgi?id=193861
199
200 Reviewed by Joseph Pecoraro.
201
202 * UserInterface/Controllers/AuditManager.js:
203 (WI.AuditManager.prototype.async processJSON):
204
2052019-01-25 Devin Rousso <drousso@apple.com>
206
drousso@apple.com830cd0b2019-01-26 01:06:51 +0000207 Web Inspector: Uncaught Exception: No node with given id found
208 https://bugs.webkit.org/show_bug.cgi?id=193833
209
210 Reviewed by Joseph Pecoraro.
211
212 * UserInterface/Views/CanvasContentView.js:
213 (WI.CanvasContentView):
214 (WI.CanvasContentView.prototype.initialLayout):
215 (WI.CanvasContentView.prototype.layout):
216 (WI.CanvasContentView.prototype._refreshPixelSize):
217 Drive-by: show the refresh button when viewing a specific canvas.
218
219 * UserInterface/Views/CanvasTabContentView.js:
220 (WI.CanvasTabContentView.prototype._removeCanvas):
221 Reset to the overview if the canvas is removed.
222
commit-queue@webkit.org68325d62019-01-25 23:31:17 +00002232019-01-25 Joseph Pecoraro <pecoraro@apple.com>
224
225 Web Inspector: Improve Dark Mode appearance within Memory timeline
226 https://bugs.webkit.org/show_bug.cgi?id=193804
227
228 Reviewed by Matt Baker.
229
230 * UserInterface/Views/TimelineOverview.css:
231 (.timeline-overview.edit-instruments > .tree-outline.timelines .item.selected):
232 (.timeline-overview > .tree-outline.timelines .item.selected + .item,):
233 (@media (prefers-color-scheme: dark)):
234 (.timeline-overview > .tree-outline.timelines .item.selected + .item): Deleted.
235 (body.window-inactive .timeline-overview > .tree-outline.timelines .item.selected + .item): Deleted.
236 Fix some colors for Timelines edit mode.
237
238 * UserInterface/Views/CPUTimelineOverviewGraph.css:
239 (.timeline-overview-graph.cpu:nth-child(even) > .legend):
240 (@media (prefers-color-scheme: dark)):
241 (.timeline-overview-graph.cpu > .legend):
242 (.timeline-overview-graph:nth-child(even) > .legend): Deleted.
243 * UserInterface/Views/MemoryTimelineOverviewGraph.css:
244 (.timeline-overview-graph.memory:nth-child(even) > .legend):
245 (@media (prefers-color-scheme: dark)):
246 (.timeline-overview-graph.memory > .legend):
247 (.timeline-overview-graph:nth-child(even) > .legend): Deleted.
248 Improved colors in CPU / Memory overview graph legends.
249
250 * UserInterface/Views/CPUUsageView.css:
251 (.cpu-usage-view > .details):
252 * UserInterface/Views/CircleChart.css:
253 (.circle-chart > svg > path.background):
254 * UserInterface/Views/MemoryCategoryView.css:
255 (.memory-category-view > .details):
256 (.memory-category-view > .details > .name):
257 * UserInterface/Views/MemoryTimelineView.css:
258 (.timeline-view.memory > .content > .overview .total-usage,):
259 (.timeline-view.memory .legend > .row > .size):
260 Improved colors in CPU / Memory detail views.
261
262 * UserInterface/Views/Variables.css:
263 (:root):
264 Add a default --text-secondary-color which will end up slightly
265 lighter in dark mode where it was already implemented.
266
267 (@media (prefers-color-scheme: dark)):
268 Improved max-comparison colors.
269
drousso@apple.com282b4002019-01-25 19:39:38 +00002702019-01-25 Devin Rousso <drousso@apple.com>
271
drousso@apple.comec640132019-01-25 22:05:09 +0000272 Web Inspector: Timelines: DOMContentLoaded and load event lines need to be more obvious
273 https://bugs.webkit.org/show_bug.cgi?id=193186
274 <rdar://problem/45100694>
275
276 Reviewed by Joseph Pecoraro.
277
278 Shift around z-index values to make Timelines markers appear behind record bars. Widen the
279 marker hit region to make it easier to see the tooltip.
280
281 * UserInterface/Views/Variables.css:
282 (:root):
283
284 * UserInterface/Views/TimelineRuler.css:
285 (.timeline-ruler):
286 (.timeline-ruler > .markers):
287 (.timeline-ruler > .markers > .marker):
288 (body[dir=ltr] .timeline-ruler > .markers > .marker):
289 (body[dir=rtl] .timeline-ruler > .markers > .marker):
290 (.timeline-ruler > .markers > .marker::before):
291 (body[dir=ltr] .timeline-ruler > .markers > .marker::before):
292 (body[dir=rtl] .timeline-ruler > .markers > .marker::before):
293 (.timeline-ruler > .markers > .marker::after): Added.
294 (body[dir=ltr] .timeline-ruler > .markers > .marker::after): Added.
295 (body[dir=rtl] .timeline-ruler > .markers > .marker::after): Added.
296 (.timeline-ruler > .markers > .marker.current-time):
297 (.timeline-ruler > .markers > .marker.current-time::after): Added.
298 (.timeline-ruler > .markers > .marker.load-event):
299 (.timeline-ruler > .markers > .marker.dom-content-event):
300 (.timeline-ruler > .markers > .marker.timestamp):
301 (.timeline-ruler > .selection-handle):
302 (.timeline-ruler.both-handles-clamped > .selection-handle):
303 (.timeline-ruler > .shaded-area):
304 (.timeline-ruler > .markers > .marker.current-time::before): Deleted.
305
306 * UserInterface/Views/TimelineRecordBar.css:
307 (.timeline-record-bar):
308 (.timeline-record-bar > .segment):
309
310 * UserInterface/Views/CPUTimelineOverviewGraph.css:
311 (.timeline-overview-graph.cpu > .legend):
312 * UserInterface/Views/MemoryTimelineOverviewGraph.css:
313 (.timeline-overview-graph.memory > .legend):
314
3152019-01-25 Devin Rousso <drousso@apple.com>
316
drousso@apple.come7343f32019-01-25 21:49:03 +0000317 Web Inspector: Audit: remove experimental setting
318 https://bugs.webkit.org/show_bug.cgi?id=193743
319 <rdar://problem/28234022>
320
321 Reviewed by Joseph Pecoraro.
322
323 * UserInterface/Base/Setting.js:
324 (WI.Setting):
325 (WI.Setting.localStorageKey): Added.
326 (WI.Setting.migrateValue):
327 Drive-by: add the localStorage key prefix to the key passed into `WI.Setting.migrateValue`.
328
329 * UserInterface/Base/Main.js:
330 (WI.loaded):
331
332 * UserInterface/Views/AuditTabContentView.js:
333 (WI.AuditTabContentView.isTabAllowed):
334
335 * UserInterface/Views/SettingsTabContentView.js:
336 (WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
337
338 * Localizations/en.lproj/localizedStrings.js:
339
3402019-01-25 Devin Rousso <drousso@apple.com>
341
drousso@apple.com42bac882019-01-25 21:35:03 +0000342 Web Inspector: show uncaught exception view for unhandled promise rejections
343 https://bugs.webkit.org/show_bug.cgi?id=193832
344
345 Reviewed by Matt Baker.
346
347 * UserInterface/Debug/UncaughtExceptionReporter.js:
348 (handleUnhandledPromiseRejection): Added.
349
3502019-01-25 Devin Rousso <drousso@apple.com>
351
drousso@apple.com282b4002019-01-25 19:39:38 +0000352 Web Inspector: REGRESSION (r237808): offscreen path warning doesn't work
353 https://bugs.webkit.org/show_bug.cgi?id=193830
354
355 Reviewed by Matt Baker.
356
357 * UserInterface/Models/RecordingAction.js:
358 (WI.RecordingAction.prototype.process):
359
commit-queue@webkit.orgefec1a92019-01-25 19:37:38 +00003602019-01-25 Joseph Pecoraro <pecoraro@apple.com>
361
362 Web Inspector: Add another Protocol Version (iOS 12.2)
363 https://bugs.webkit.org/show_bug.cgi?id=193810
364 <rdar://problem/42981838>
365
366 Reviewed by Matt Baker.
367
368 * UserInterface/Protocol/Legacy/12.2/InspectorBackendCommands.js: Added.
369 * Versions/Inspector-iOS-12.2.json: Added.
370
drousso@apple.com47d4b352019-01-25 09:27:50 +00003712019-01-25 Devin Rousso <drousso@apple.com>
372
drousso@apple.come1944032019-01-25 19:35:29 +0000373 Web Inspector: `WI.Setting.migrateValue` doesn't take into account the key prefix
374 https://bugs.webkit.org/show_bug.cgi?id=193814
375
376 Reviewed by Matt Baker.
377
378 * UserInterface/Base/Setting.js:
379 (WI.Setting):
380 (WI.Setting.migrateValue):
381 (WI.Setting._localStorageKey): Added.
382
3832019-01-25 Devin Rousso <drousso@apple.com>
384
drousso@apple.com47d4b352019-01-25 09:27:50 +0000385 Web Inspector: improve invalid Audit/Recording JSON error messages
386 https://bugs.webkit.org/show_bug.cgi?id=193476
387 <rdar://problem/47303659>
388
389 Reviewed by Joseph Pecoraro.
390
391 * UserInterface/Models/AuditTestBase.js:
392 (WI.AuditTestBase):
393 * UserInterface/Models/AuditTestCase.js:
394 (WI.AuditTestCase.async fromPayload):
395 * UserInterface/Models/AuditTestGroup.js:
396 (WI.AuditTestGroup.async fromPayload):
397 * UserInterface/Models/AuditTestCaseResult.js:
398 (WI.AuditTestCaseResult.async fromPayload.checkArray):
399 (WI.AuditTestCaseResult.async fromPayload):
400 * UserInterface/Models/AuditTestGroupResult.js:
401 (WI.AuditTestGroupResult.async fromPayload):
402 * UserInterface/Controllers/AuditManager.js:
403 (WI.AuditManager.synthesizeWarning): Added.
404 (WI.AuditManager.synthesizeError):
405 (WI.AuditManager.prototype.async processJSON):
406
407 * UserInterface/Models/Recording.js:
408 (WI.Recording.fromPayload):
409 (WI.Recording.synthesizeWarning): Added.
410 (WI.Recording.synthesizeError):
411 * UserInterface/Models/RecordingFrame.js:
412 (WI.RecordingFrame.fromPayload):
413 * UserInterface/Models/RecordingAction.js:
414 (WI.RecordingAction.fromPayload):
415 (WI.RecordingAction.prototype.async swizzle):
416 (WI.RecordingAction.prototype.apply):
417 * UserInterface/Controllers/CanvasManager.js:
418 (WI.CanvasManager.prototype.processJSON):
419
420 * Localizations/en.lproj/localizedStrings.js:
421
drousso@apple.com337c3e62019-01-25 06:47:49 +00004222019-01-24 Devin Rousso <drousso@apple.com>
423
424 Web Inspector: Audit: add supports key to test/group for compatibility
425 https://bugs.webkit.org/show_bug.cgi?id=193686
426 <rdar://problem/47460872>
427
428 Reviewed by Joseph Pecoraro.
429
430 * UserInterface/Models/AuditTestBase.js:
431 (WI.AuditTestBase):
432 (WI.AuditTestBase.prototype.get supported): Added.
433 (WI.AuditTestBase.prototype.set supported): Added.
434 (WI.AuditTestBase.prototype.set disabled):
435 (WI.AuditTestBase.prototype.async start):
436 (WI.AuditTestBase.prototype.stop):
437 (WI.AuditTestBase.toJSON):
438 * UserInterface/Models/AuditTestCase.js:
439 (WI.AuditTestCase.async fromPayload):
440 * UserInterface/Models/AuditTestGroup.js:
441 (WI.AuditTestGroup):
442 (WI.AuditTestGroup.async fromPayload):
443 (WI.AuditTestGroup.prototype.get supported): Added.
444 (WI.AuditTestGroup.prototype.set supported): Added.
445 Add support for a "supports" key in the test JSON that prevents the test from being run if
446 it's value is lower than the frontend/backend version.
447
448 * UserInterface/Views/AuditTreeElement.js:
449 (WI.AuditTreeElement.prototype.onattach):
450 (WI.AuditTreeElement.prototype.ondelete):
451 (WI.AuditTreeElement.prototype.populateContextMenu):
452 (WI.AuditTreeElement.prototype._updateStatus): Added.
453 (WI.AuditTreeElement.prototype._showRunningSpinner):
454 (WI.AuditTreeElement.prototype._showRunningProgress):
455 (WI.AuditTreeElement.prototype._updateTestGroupDisabled):
456 (WI.AuditTreeElement.prototype._handleTestCaseCompleted):
457 (WI.AuditTreeElement.prototype._handleTestResultCleared):
458 (WI.AuditTreeElement.prototype._handleTestGroupCompleted):
459 (WI.AuditTreeElement.prototype._handleManagerEditingChanged):
460 (WI.AuditTreeElement.prototype.canSelectOnMouseDown): Deleted.
461 (WI.AuditTreeElement.prototype._updateLevel): Deleted.
462 * UserInterface/Views/AuditTreeElement.css:
463 (.tree-outline .item.audit:matches(.test-case, .test-group):not(.unsupported, .manager-active) > .status:hover > img): Added.
464 (.tree-outline .item.audit > .status:not(:hover) > img.show-on-hover, .tree-outline .item.audit.test-group.expanded:not(.unsupported, .editing-audits) > .status:not(:hover)): Added.
465 (.tree-outline .item.audit.manager-active > .status > img.show-on-hover, .tree-outline .item.audit.test-group.expanded:not(.editing-audits) > .status:hover > :not(img), .tree-outline .item.audit.test-group-result.expanded > .status, .tree-outline .item.audit.unsupported + .children .item.audit.unsupported > .status > img): Added.
466 (.tree-outline .item.audit.unsupported:not(.selected) > :matches(.icon, .titles)): Added.
467 (.tree-outline .item.audit.unsupported > .status > img): Added.
468 (.tree-outline .item.audit:matches(.test-case, .test-group):not(.manager-active) > .status:hover > img): Deleted.
469 (.tree-outline .item.audit > .status:not(:hover) > img.show-on-hover, .tree-outline .item.audit.test-group.expanded:not(.editing-audits) > .status:not(:hover)): Deleted.
470 (.tree-outline .item.audit.manager-active > .status > img.show-on-hover, .tree-outline .item.audit.test-group.expanded:not(.editing-audits) > .status:hover > :not(img), .tree-outline .item.audit.test-group-result.expanded > .status): Deleted.
471 Hide unsupported tests unless in edit mode, where they are greyed out and cannot be enabled.
472 Drive-by: only allow tests to be deleted when in edit mode.
473
474 * UserInterface/Views/AuditNavigationSidebarPanel.js:
475 (WI.AuditNavigationSidebarPanel.prototype._treeSelectionDidChange):
476
477 * Localizations/en.lproj/localizedStrings.js:
478
commit-queue@webkit.org5cbb2782019-01-25 01:06:17 +00004792019-01-24 Joseph Pecoraro <pecoraro@apple.com>
480
481 Web Inspector: CPU Usage Timeline
482 https://bugs.webkit.org/show_bug.cgi?id=193730
483 <rdar://problem/46797201>
484
485 Reviewed by Devin Rousso.
486
487 CPU Usage is gathered in the backend twice a second, the frequency of the
488 ResourceUsageThread in WebCore. The frontend displays cpu usage in a few
489 ways in the Timeline.
490
491 We use a column chart in the timeline overview to display the frequency and
492 relative distance of samples. This helps show if the samples were close
493 together or far apart, which indicates how meaningful they will be at a
494 particular scale.
495
496 We use a line chart in the timeline detail view which will be easier to see
497 the changes over a particular time range selection.
498
499 * Localizations/en.lproj/localizedStrings.js:
500 New strings.
501
502 * UserInterface/Main.html:
503 * UserInterface/Base/Main.js:
504 (WI.loaded):
505 * UserInterface/Test.html:
506 * UserInterface/Test/Test.js:
507 (WI.loaded):
508 * UserInterface/Protocol/CPUProfilerObserver.js:
509 (WI.CPUProfilerObserver.prototype.trackingStart):
510 (WI.CPUProfilerObserver.prototype.trackingUpdate):
511 (WI.CPUProfilerObserver.prototype.trackingComplete):
512 (WI.CPUProfilerObserver):
513 New files and default registration.
514
515 * UserInterface/Protocol/Target.js:
516 (WI.Target.prototype.get CPUProfilerAgent):
517 New Agent.
518
519 * UserInterface/Controllers/TimelineManager.js:
520 (WI.TimelineManager.availableTimelineTypes):
521 (WI.TimelineManager.prototype.cpuProfilerTrackingStarted):
522 (WI.TimelineManager.prototype.cpuProfilerTrackingUpdated):
523 (WI.TimelineManager.prototype.cpuProfilerTrackingCompleted):
524 (WI.TimelineManager.prototype._updateAutoCaptureInstruments):
525 (WI.TimelineManager.prototype.memoryTrackingStart): Renamed.
526 (WI.TimelineManager.prototype.memoryTrackingUpdate): Renamed.
527 (WI.TimelineManager.prototype.memoryTrackingComplete): Renamed.
528 * UserInterface/Models/CPUInstrument.js:
529 (WI.CPUInstrument):
530 (WI.CPUInstrument.supported):
531 (WI.CPUInstrument.prototype.get timelineRecordType):
532 (WI.CPUInstrument.prototype.startInstrumentation):
533 (WI.CPUInstrument.prototype.stopInstrumentation):
534 * UserInterface/Models/CPUTimelineRecord.js:
535 (WI.CPUTimelineRecord):
536 (WI.CPUTimelineRecord.prototype.get timestamp):
537 (WI.CPUTimelineRecord.prototype.get usage):
538 * UserInterface/Models/Instrument.js:
539 (WI.Instrument.createForTimelineType):
540 * UserInterface/Models/TimelineRecord.js:
541 * UserInterface/Models/TimelineRecording.js:
542 (WI.TimelineRecording.prototype.addRecord):
543 Expose a new CPU instrument and timeline.
544
545 * UserInterface/Views/ColumnChart.js: Added.
546 (WI.ColumnChart):
547 (WI.ColumnChart.prototype.get element):
548 (WI.ColumnChart.prototype.get bars):
549 (WI.ColumnChart.prototype.get size):
550 (WI.ColumnChart.prototype.set size):
551 (WI.ColumnChart.prototype.addBar):
552 (WI.ColumnChart.prototype.clear):
553 (WI.ColumnChart.prototype.needsLayout):
554 (WI.ColumnChart.prototype.updateLayout):
555 View that will draw vertical bars with independent widths.
556 This is meant to be used similiar to WI.LineChart.
557
558 * UserInterface/Images/CPUInstrument.svg: Added.
559 * UserInterface/Views/Variables.css:
560 (:root):
561 CPU timeline colors and icon.
562
563 * UserInterface/Views/CPUTimelineOverviewGraph.css:
564 (body .sidebar > .panel.navigation.timeline > .timelines-content li.item.cpu,):
565 (.timeline-overview-graph.cpu):
566 (.timeline-overview-graph.cpu > .legend):
567 (body[dir=ltr] .timeline-overview-graph.cpu > .legend):
568 (body[dir=rtl] .timeline-overview-graph.cpu > .legend):
569 (.timeline-overview-graph:nth-child(even) > .legend):
570 (body[dir=rtl] .timeline-overview-graph.cpu > .bar-chart):
571 (.timeline-overview-graph.cpu > .bar-chart > svg > g > rect):
572 * UserInterface/Views/CPUTimelineOverviewGraph.js: Added.
573 (WI.CPUTimelineOverviewGraph):
574 (WI.CPUTimelineOverviewGraph.prototype.get height):
575 (WI.CPUTimelineOverviewGraph.prototype.reset):
576 (WI.CPUTimelineOverviewGraph.prototype.layout.xScale):
577 (WI.CPUTimelineOverviewGraph.prototype.layout.yScale):
578 (WI.CPUTimelineOverviewGraph.prototype.layout.yScaleForRecord):
579 (WI.CPUTimelineOverviewGraph.prototype.layout):
580 (WI.CPUTimelineOverviewGraph.prototype._updateLegend):
581 (WI.CPUTimelineOverviewGraph.prototype._cpuTimelineRecordAdded):
582 * UserInterface/Views/CPUTimelineView.css:
583 (.timeline-view.cpu):
584 (.timeline-view.cpu > .content):
585 (.timeline-view.cpu > .content .subtitle):
586 (.timeline-view.cpu > .content > .details):
587 (.timeline-view.cpu > .content > .details > .timeline-ruler):
588 (body[dir=ltr] .timeline-view.cpu > .content > .details > .timeline-ruler):
589 (body[dir=rtl] .timeline-view.cpu > .content > .details > .timeline-ruler):
590 (.timeline-view.cpu > .content > .details > .subtitle):
591 (.cpu-usage-view .line-chart > svg > path):
592 (.timeline-view.cpu .legend > .row > .swatch.current):
593 * UserInterface/Views/CPUTimelineView.js: Added.
594 (WI.CPUTimelineView):
595 (WI.CPUTimelineView.prototype.shown):
596 (WI.CPUTimelineView.prototype.hidden):
597 (WI.CPUTimelineView.prototype.closed):
598 (WI.CPUTimelineView.prototype.reset):
599 (WI.CPUTimelineView.prototype.get scrollableElements):
600 (WI.CPUTimelineView.prototype.get showsFilterBar):
601 (WI.CPUTimelineView.prototype.layout.layoutView):
602 (WI.CPUTimelineView.prototype.layout.xScale):
603 (WI.CPUTimelineView.prototype.layout.yScale):
604 (WI.CPUTimelineView.prototype.layout):
605 (WI.CPUTimelineView.prototype._cpuTimelineRecordAdded):
606 * UserInterface/Views/CPUUsageView.css:
607 (.cpu-usage-view):
608 (.cpu-usage-view > .details):
609 (body[dir=ltr] .cpu-usage-view > .details):
610 (body[dir=rtl] .cpu-usage-view > .details):
611 (.cpu-usage-view > .graph):
612 (body[dir=rtl] .cpu-usage-view > .graph):
613 * UserInterface/Views/CPUUsageView.js:
614 (WI.CPUUsageView):
615 (WI.CPUUsageView.prototype.get element):
616 (WI.CPUUsageView.prototype.clear):
617 (WI.CPUUsageView.prototype.layoutWithDataPoints):
618 (WI.CPUUsageView.prototype._updateDetails):
619 * UserInterface/Views/ContentView.js:
620 (WI.ContentView.createFromRepresentedObject):
621 * UserInterface/Views/TimelineIcons.css:
622 (.cpu-icon .icon):
623 * UserInterface/Views/TimelineOverviewGraph.js:
624 (WI.TimelineOverviewGraph.createForTimeline):
625 * UserInterface/Views/TimelineTabContentView.js:
626 (WI.TimelineTabContentView.displayNameForTimelineType):
627 (WI.TimelineTabContentView.iconClassNameForTimelineType):
628 (WI.TimelineTabContentView.genericClassNameForTimelineType):
629 (WI.TimelineTabContentView.iconClassNameForRecord):
630 (WI.TimelineTabContentView.displayNameForRecord):
631 Timeline views for CPU usage.
632
633 * UserInterface/Views/MemoryCategoryView.js:
634 (WI.MemoryCategoryView):
635 * UserInterface/Views/MemoryTimelineView.js:
636 (WI.MemoryTimelineView.createChartContainer):
637 (WI.MemoryTimelineView):
638 (WI.MemoryTimelineView.prototype._clearMaxComparisonLegend):
639 Minor updates to style and comments.
640
nvasilyev@apple.comd4068252019-01-24 00:59:12 +00006412019-01-23 Nikita Vasilyev <nvasilyev@apple.com>
642
643 Web Inspector: Refactor WI.CSSStyleDeclaration.prototype.update
644 https://bugs.webkit.org/show_bug.cgi?id=193737
645
646 Reviewed by Matt Baker.
647
648 Remove unused event data from the WI.CSSStyleDeclaration.Event.PropertiesChanged event.
649
650 * UserInterface/Models/CSSStyleDeclaration.js:
651 (WI.CSSStyleDeclaration.prototype.update):
652
drousso@apple.comb7cdbe92019-01-23 19:29:18 +00006532019-01-23 Devin Rousso <drousso@apple.com>
654
655 WebInspector: Confusingly nested events in the timeline for Mutation Observers
656 https://bugs.webkit.org/show_bug.cgi?id=192884
657 <rdar://problem/46854178>
658
659 Reviewed by Joseph Pecoraro.
660
661 If a microtask event (e.g. `ObserverCallback`) is contained within a `EvaluatedScript`
662 event, move that microtask event to be a sibling of the `EvaluateScript`, subtracting the
663 microtask's time taken from the `EvaluateScript`'s time. If there are no other children
664 after this move, then remove the `EvaluateScript` altogether.
665
666 * UserInterface/Controllers/TimelineManager.js:
667 (WI.TimelineManager.prototype.eventRecorded.fixMicrotaskPlacement): Added.
668 (WI.TimelineManager.prototype.eventRecorded):
669 (WI.TimelineManager.prototype._mergeScriptProfileRecords):
670
commit-queue@webkit.orgd3f5c3e2019-01-23 18:46:56 +00006712019-01-23 Joseph Pecoraro <pecoraro@apple.com>
672
673 Web Inspector: Network Waterfall column should redraw when adding/removing new columns
674 https://bugs.webkit.org/show_bug.cgi?id=193696
675 <rdar://problem/47464149>
676
677 Reviewed by Devin Rousso.
678
679 * UserInterface/Views/TableColumn.js:
680 (WI.TableColumn.prototype.get needsReloadOnResize):
681 * UserInterface/Views/NetworkTableContentView.js:
682 (WI.NetworkTableContentView.prototype.initialLayout):
683 Mark the waterfall column as sensitive to any resizes.
684
685 * UserInterface/Views/Table.js:
686 (WI.Table.prototype.showColumn):
687 (WI.Table.prototype.hideColumn):
688 Update column widths and reload any columns that may be sensitive to resizes.
689
drousso@apple.come4982882019-01-23 04:17:06 +00006902019-01-22 Devin Rousso <drousso@apple.com>
691
drousso@apple.coma1d43a32019-01-23 04:51:45 +0000692 Web Inspector: InspectorInstrumentation::willEvaluateScript should include column number
693 https://bugs.webkit.org/show_bug.cgi?id=116191
694 <rdar://problem/13905910>
695
696 Reviewed by Joseph Pecoraro.
697
698 * UserInterface/Controllers/TimelineManager.js:
699 (WI.TimelineManager.prototype._processRecord):
700
7012019-01-22 Devin Rousso <drousso@apple.com>
702
drousso@apple.come4982882019-01-23 04:17:06 +0000703 Web Inspector: expose Audit and Recording versions to the frontend
704 https://bugs.webkit.org/show_bug.cgi?id=193262
705 <rdar://problem/47130684>
706
707 Reviewed by Joseph Pecoraro.
708
709 * UserInterface/Protocol/InspectorBackend.js:
710 (InspectorBackendClass.prototype.registerVersion): Added.
711
712 * UserInterface/Models/AuditTestCase.js:
713 * UserInterface/Models/Recording.js:
714 (WI.Recording.fromPayload):
715 Add Interface version values.
716
nvasilyev@apple.comf315cdd2019-01-23 01:46:01 +00007172019-01-22 Nikita Vasilyev <nvasilyev@apple.com>
718
719 Web Inspector: Styles: refactor properties/allProperties/visibleProperties/allVisibleProperties
720 https://bugs.webkit.org/show_bug.cgi?id=193615
721
722 Reviewed by Devin Rousso.
723
724 Remove unused visibleProperties.
725
726 Rename:
727 - properties to enabledProperties;
728 - allProperties to properties;
729 - allVisibleProperties to visibleProperties.
730
731 * UserInterface/Models/CSSProperty.js:
732 (WI.CSSProperty.prototype._prependSemicolonIfNeeded):
733 (WI.CSSProperty):
734 * UserInterface/Models/CSSStyleDeclaration.js:
735 (WI.CSSStyleDeclaration):
736 (WI.CSSStyleDeclaration.prototype.get enabledProperties):
737 (WI.CSSStyleDeclaration.prototype.get properties):
738 (WI.CSSStyleDeclaration.prototype.propertyForName):
739 (WI.CSSStyleDeclaration.prototype.newBlankProperty):
740 (WI.CSSStyleDeclaration.prototype.shiftPropertiesAfter):
741 (WI.CSSStyleDeclaration.prototype._rangeAfterPropertyAtIndex):
742 * UserInterface/Models/DOMNodeStyles.js:
743 (WI.DOMNodeStyles.prototype._parseStylePropertyPayload):
744 (WI.DOMNodeStyles.prototype._markOverriddenProperties):
745 (WI.DOMNodeStyles.prototype._associateRelatedProperties):
746 (WI.DOMNodeStyles.prototype._isPropertyFoundInMatchingRules):
747 (WI.DOMNodeStyles):
748 * UserInterface/Views/BoxModelDetailsSectionRow.js:
749 (WI.BoxModelDetailsSectionRow.prototype._updateMetrics):
750 * UserInterface/Views/ComputedStyleDetailsPanel.js:
751 (WI.ComputedStyleDetailsPanel.prototype._computePropertyTraces):
752 * UserInterface/Views/ComputedStyleSection.js:
753 (WI.ComputedStyleSection.prototype.get propertiesToRender):
754 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
755 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.get propertiesToRender):
756 * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:
757 (WI.SpreadsheetRulesStyleDetailsPanel.prototype.layout):
758 * UserInterface/Views/SpreadsheetStyleProperty.js:
759 (WI.SpreadsheetStyleProperty.prototype.updateStatus):
760
commit-queue@webkit.orgd4f50612019-01-22 21:23:31 +00007612019-01-22 Joseph Pecoraro <pecoraro@apple.com>
762
763 Web Inspector: Network Table appears broken after filter - rows look collapsed
764 https://bugs.webkit.org/show_bug.cgi?id=192730
765 <rdar://problem/46853158>
766
767 Reviewed by Devin Rousso.
768
769 * UserInterface/Views/Table.js:
770 (WI.Table.prototype._applyColumnWidthsToColumnsIfNeeded):
771 Affect the filler row like the other applyColumnWidths calls since this
772 now may be the initial call to size visible columns.
773
drousso@apple.com2df30452019-01-22 19:54:05 +00007742019-01-22 Devin Rousso <drousso@apple.com>
775
776 Web Inspector: Audit: use plural strings for Passed, Failed, and Unsupported
777 https://bugs.webkit.org/show_bug.cgi?id=193675
778 <rdar://problem/46628680>
779
780 Reviewed by Joseph Pecoraro.
781
782 * UserInterface/Views/AuditTestGroupContentView.js:
783 (WI.AuditTestGroupContentView.prototype.layout):
784
785 * Localizations/en.lproj/localizedStrings.js:
786
jer.noble@apple.comc7894752019-01-18 22:53:49 +00007872019-01-18 Jer Noble <jer.noble@apple.com>
788
789 SDK_VARIANT build destinations should be separate from non-SDK_VARIANT builds
790 https://bugs.webkit.org/show_bug.cgi?id=189553
791
792 Reviewed by Tim Horton.
793
794 * Configurations/Base.xcconfig:
795 * Configurations/SDKVariant.xcconfig: Added.
796
drousso@apple.com0042e322019-01-18 22:21:02 +00007972019-01-18 Devin Rousso <drousso@apple.com>
798
799 Web Inspector: Uncaught Exception: TypeError: undefined is not an object (evaluating 'resource.finished')
800 https://bugs.webkit.org/show_bug.cgi?id=193589
801
802 Reviewed by Joseph Pecoraro.
803
804 * UserInterface/Views/NetworkTableContentView.js:
805 (WI.NetworkTableContentView.prototype.get supportsSave):
806 (WI.NetworkTableContentView.prototype._HARResources):
807
tsavell@apple.come019d862019-01-18 00:43:25 +00008082019-01-17 Truitt Savell <tsavell@apple.com>
809
810 Unreviewed, rolling out r240124.
811
812 This commit broke an internal build.
813
814 Reverted changeset:
815
816 "SDK_VARIANT build destinations should be separate from non-
817 SDK_VARIANT builds"
818 https://bugs.webkit.org/show_bug.cgi?id=189553
819 https://trac.webkit.org/changeset/240124
820
jer.noble@apple.comfd905482019-01-17 20:46:05 +00008212019-01-17 Jer Noble <jer.noble@apple.com>
822
823 SDK_VARIANT build destinations should be separate from non-SDK_VARIANT builds
824 https://bugs.webkit.org/show_bug.cgi?id=189553
825
826 Reviewed by Tim Horton.
827
828 * Configurations/Base.xcconfig:
829 * Configurations/SDKVariant.xcconfig: Added.
830
mattbaker@apple.come2edb462019-01-16 22:04:35 +00008312019-01-16 Matt Baker <mattbaker@apple.com>
832
833 Web Inspector: Fix TreeOutline TypeError:​ this._indexesForSubtree is not a function
834 https://bugs.webkit.org/show_bug.cgi?id=193501
835 <rdar://problem/47323967>
836
837 Reviewed by Joseph Pecoraro.
838
839 * UserInterface/Views/TreeOutline.js:
840 (WI.TreeOutline.prototype.removeChildAtIndex):
841
drousso@apple.com3a3286d2019-01-15 08:25:33 +00008422019-01-15 Devin Rousso <drousso@apple.com>
843
844 Web Inspector: Audit: create new IDL type for exposing special functionality in test context
845 https://bugs.webkit.org/show_bug.cgi?id=193149
846 <rdar://problem/46801218>
847
848 Reviewed by Joseph Pecoraro.
849
850 Add `AuditAgent` getters and plumbing.
851
852 * UserInterface/Protocol/Target.js:
853 (WI.Target.prototype.get AuditAgent): Added.
854
855 * UserInterface/Models/AuditTestCase.js:
856 (WI.AuditTestCase.prototype.async run):
857
858 * UserInterface/Controllers/AuditManager.js:
859 (WI.AuditManager.prototype.async start):
860
861 * .eslintrc:
862
drousso@apple.com6874c1b2019-01-14 22:52:31 +00008632019-01-14 Devin Rousso <drousso@apple.com>
864
drousso@apple.com468a1112019-01-14 23:22:46 +0000865 Web Inspector: Event breakpoints: typing uppercase "DOM" doesn't show completions for events that start with "DOM"
866 https://bugs.webkit.org/show_bug.cgi?id=193384
867
868 Reviewed by Joseph Pecoraro.
869
870 * UserInterface/Views/EventBreakpointPopover.js:
871 (WI.EventBreakpointPopover.prototype.show):
872
8732019-01-14 Devin Rousso <drousso@apple.com>
874
drousso@apple.com6874c1b2019-01-14 22:52:31 +0000875 Web Inspector: Event breakpoints: text field and completion popover fonts should match
876 https://bugs.webkit.org/show_bug.cgi?id=193249
877
878 Reviewed by Matt Baker.
879
880 * UserInterface/Views/EventBreakpointPopover.css:
881 (.popover .event-breakpoint-content > .event-type > input): Added.
882 (.popover .event-breakpoint-content > .event-type > input::placeholder): Added.
883 * UserInterface/Views/EventBreakpointPopover.js:
884 (WI.EventBreakpointPopover.prototype.show):
885 (WI.EventBreakpointPopover.prototype._showSuggestionsView):
886 Subtract the <input> border and padding from the bounds position so the <input> text lines
887 up with the `WI.CompletionSuggestionsView` text.
888
889 * UserInterface/Views/CompletionSuggestionsView.js:
890 (WI.CompletionSuggestionsView):
891 Drive-by: force `dir=ltr` to match the `text-align: left;` CSS styling.
892
nvasilyev@apple.comcd736bb2019-01-14 21:07:57 +00008932019-01-14 Nikita Vasilyev <nvasilyev@apple.com>
894
895 Web Inspector: Styles: pressing Down key on empty value field shouldn't discard completion popover
896 https://bugs.webkit.org/show_bug.cgi?id=193098
897 <rdar://problem/47016036>
898
899 Reviewed by Devin Rousso.
900
901 Hide CompletionSuggestionsView when SpreadsheetTextField moves, e.g. by scrolling or resizing the sidebar.
902 Update CompletionSuggestionsView position after pressing Up or Down key, because SpreadsheetTextField may
903 move from wrapping text.
904
905 * UserInterface/Views/CompletionSuggestionsView.js:
906 (WI.CompletionSuggestionsView.prototype.hide):
907 (WI.CompletionSuggestionsView.prototype.show):
908 (WI.CompletionSuggestionsView.prototype.showUntilAnchorMoves): Removed.
909 (WI.CompletionSuggestionsView.prototype.hideWhenElementMoves): Added.
910 (WI.CompletionSuggestionsView.prototype._stopMoveTimer): Added.
911 (WI.CompletionSuggestionsView):
912
913 * UserInterface/Views/SpreadsheetTextField.js:
914 (WI.SpreadsheetTextField.prototype.set suggestionHint):
915 (WI.SpreadsheetTextField.prototype.completionSuggestionsSelectedCompletion):
916 (WI.SpreadsheetTextField.prototype._handleKeyDownForSuggestionView):
917 (WI.SpreadsheetTextField.prototype._updateCompletions):
918 (WI.SpreadsheetTextField.prototype._showSuggestionsView): Added.
919
920 (WI.SpreadsheetTextField.prototype._reAttachSuggestionHint):
921 Drive-by: abstract out repeating code into a private method.
922
drousso@apple.com72a93852019-01-14 20:17:24 +00009232019-01-14 Devin Rousso <drousso@apple.com>
924
925 Web Inspector: Settings: group titles should vertically align with the first editor
926 https://bugs.webkit.org/show_bug.cgi?id=193391
927
928 Reviewed by Dean Jackson.
929
930 * UserInterface/Views/SettingsTabContentView.css:
931 (.content-view.settings > .settings-view > .container):
932 (.content-view.settings > .settings-view > .container > .editor-group > .editor): Added.
933 (.content-view.settings > .settings-view > .container > .editor-group > .editor:first-child > *): Added.
934 (.content-view.settings > .settings-view > .container > .editor-group > .editor select):
935 (.content-view.settings > .settings-view > .container > .editor-group > .editor input[type="number"]):
936
mattbaker@apple.comfbe9d452019-01-11 21:02:28 +00009372019-01-11 Matt Baker <mattbaker@apple.com>
938
939 Web Inspector: REGRESSION: deleting an audit puts selection in a selected but invisible state
940 https://bugs.webkit.org/show_bug.cgi?id=192917
941 <rdar://problem/46875285>
942
943 Reviewed by Devin Rousso.
944
945 SelectionController should not be notified of removed children until the
946 child items have been removed from the TreeOutline. Doing so at this stage
947 is unsafe, since this method checks `this.selectedTreeElement`, which could
948 return the adjusted index from the SelectionController before anything has
949 actually been removed from the TreeOutline.
950
951 The number of calls to SelectionController.prototype.didRemoveItems is also
952 reduced somewhat, since we're no longer calling it for every TreeElement.
953
954 * UserInterface/Views/TreeOutline.js:
955 (WI.TreeOutline.prototype.removeChildAtIndex):
956 (WI.TreeOutline.prototype.removeChildren):
957 (WI.TreeOutline.prototype._forgetTreeElement):
958 (WI.TreeOutline.prototype._indexesForSubtree): Added.
959
drousso@apple.com38cc6402019-01-11 05:54:54 +00009602019-01-10 Devin Rousso <drousso@apple.com>
961
962 Web Inspector: Audit: allow audits to be enabled/disabled
963 https://bugs.webkit.org/show_bug.cgi?id=192210
964 <rdar://problem/46423583>
965
966 Reviewed by Joseph Pecoraro.
967
968 * UserInterface/Controllers/AuditManager.js:
969 (WI.AuditManager.prototype.get editing): Added.
970 (WI.AuditManager.prototype.set editing): Added.
971 (WI.AuditManager.prototype.stop):
972 (WI.AuditManager.prototype.addDefaultTestsIfNeeded):
973 Since default audits aren't stored, keep a list of disabled default tests in a `WI.Setting`.
974
975 * UserInterface/Models/AuditTestBase.js:
976 (WI.AuditTestBase):
977 (WI.AuditTestBase.prototype.get disabled): Added.
978 (WI.AuditTestBase.prototype.set disabled): Added.
979 (WI.AuditTestBase.prototype.async start):
980 (WI.AuditTestBase.prototype.stop):
981 (WI.AuditTestBase.toJSON):
982
983 * UserInterface/Models/AuditTestCase.js:
984 (WI.AuditTestCase):
985 (WI.AuditTestCase.async fromPayload):
986 (WI.AuditTestCase.prototype.toJSON):
987
988 * UserInterface/Models/AuditTestGroup.js:
989 (WI.AuditTestGroup):
990 (WI.AuditTestGroup.async fromPayload):
991 (WI.AuditTestGroup.prototype.get disabled): Added.
992 (WI.AuditTestGroup.prototype.set disabled): Added.
993 (WI.AuditTestGroup.prototype.toJSON):
994 (WI.AuditTestGroup.prototype.async run):
995 (WI.AuditTestGroup.prototype._handleTestDisabledChanged): Added.
996 (WI.AuditTestGroup.prototype._handleTestProgress):
997 Propagate `disabled` changes to all sub-tests, unless the change was caused by one of the
998 sub-tests, in which case we are now in an intermediate state.
999
1000 * UserInterface/Views/AuditNavigationSidebarPanel.js:
1001 (WI.AuditNavigationSidebarPanel):
1002 (WI.AuditNavigationSidebarPanel.prototype.showDefaultContentView):
1003 (WI.AuditNavigationSidebarPanel.prototype.initialLayout):
1004 (WI.AuditNavigationSidebarPanel.prototype.hasCustomFilters): Added.
1005 (WI.AuditNavigationSidebarPanel.prototype.matchTreeElementAgainstCustomFilters): Added.
1006 (WI.AuditNavigationSidebarPanel.prototype._addTest):
1007 (WI.AuditNavigationSidebarPanel.prototype._addResult):
1008 (WI.AuditNavigationSidebarPanel.prototype._updateStartStopButtonNavigationItemState):
1009 (WI.AuditNavigationSidebarPanel.prototype._updateEditButtonNavigationItemState): Added.
1010 (WI.AuditNavigationSidebarPanel.prototype._handleAuditManagerEditingChanged): Added.
1011 (WI.AuditNavigationSidebarPanel.prototype._handleAuditTestRemoved):
1012 (WI.AuditNavigationSidebarPanel.prototype._handleAuditTestScheduled):
1013 (WI.AuditNavigationSidebarPanel.prototype._treeSelectionDidChange):
1014 (WI.AuditNavigationSidebarPanel.prototype._handleEditButtonNavigationItemClicked): Added.
1015 * UserInterface/Views/AuditNavigationSidebarPanel.css:
1016 (.sidebar > .panel.navigation.audit > .content):
1017 (.sidebar > .panel.navigation.audit > .content > .tree-outline): Added.
1018 (.sidebar > .panel.navigation.audit > .content .edit-audits:not(.disabled):active): Added.
1019 (.sidebar > .panel.navigation.audit > .content .edit-audits:not(.disabled).activated): Added.
1020 (.sidebar > .panel.navigation.audit > .content .edit-audits:not(.disabled).activated:active): Added.
1021 (.sidebar > .panel.navigation.audit > .content .edit-audits.disabled): Added.
1022 (.finish-editing-audits-placeholder.message-text-view .navigation-item-help .navigation-bar): Added.
1023 Leverage custom filters to ensure that disabled audits arent shown when not editing and that
1024 result tree elements aren't shown while editing.
1025
1026 * UserInterface/Views/AuditTestGroupContentView.js:
1027 (WI.AuditTestGroupContentView.prototype.shown):
1028
1029 * UserInterface/Views/AuditTreeElement.js:
1030 (WI.AuditTreeElement.prototype.onattach):
1031 (WI.AuditTreeElement.prototype.canSelectOnMouseDown): Added.
1032 (WI.AuditTreeElement.prototype._updateTestGroupDisabled): Added.
1033 (WI.AuditTreeElement.prototype._handleTestDisabledChanged): Added.
1034 (WI.AuditTreeElement.prototype._handleManagerEditingChanged): Added.
1035 * UserInterface/Views/AuditTreeElement.css:
1036 (.tree-outline .item.audit > .status:not(:hover) > img.show-on-hover, .tree-outline .item.audit.test-group.expanded:not(.editing-audits) > .status:not(:hover)): Added.
1037 (.tree-outline .item.audit.manager-active > .status > img.show-on-hover, .tree-outline .item.audit.test-group.expanded:not(.editing-audits) > .status:hover > :not(img), .tree-outline .item.audit.test-group-result.expanded > .status): Added.
1038 (.tree-outline .item.audit > .status:not(:hover) > img.show-on-hover, .tree-outline .item.audit.test-group.expanded > .status:not(:hover)): Deleted.
1039 (.tree-outline .item.audit.manager-active > .status > img.show-on-hover, .tree-outline .item.audit.test-group.expanded > .status:hover > :not(img), .tree-outline .item.audit.test-group-result.expanded > .status): Deleted.
1040 Prevent selection and running when editing.
1041
1042 * UserInterface/Views/TreeOutline.css:
1043 (.tree-outline .children.expanded:not([hidden])): Added.
1044 (.tree-outline .children.expanded): Deleted.
1045
1046 * UserInterface/Base/ObjectStore.js:
1047 (WI.ObjectStore._open):
1048 Batch operations together to help avoid multiple simultaneous `indexedDB.open` calls. This
1049 should also help preserve the order of operations, as once the database is open, operations
1050 are executed in the order they were enqueued.
1051
1052 (WI.ObjectStore.prototype.async.addObject):
1053 Pass a unique `Symbol` to the `toJSON` call on the given object so that the object can save
1054 additional values that wouldn't normally be saved. This doesn't conflict with normal usage
1055 of `toJSON` (e.g. `JSON.stringify`) because that case also passes in a value:
1056 - `undefined`, if it was called directly on the object
1057 - the key for this object in the containing object
1058 - the index of this object in the containing array
1059 In any case, the value can never equal the unique `Symbol`, so it's guaranteed that the code
1060 will only run for `WI.ObjectStore` operations.
1061
1062 (WI.ObjectStore.prototype.async.clear): Added.
1063
1064 * Localizations/en.lproj/localizedStrings.js:
1065
drousso@apple.com212b0272019-01-09 19:38:45 +000010662019-01-09 Devin Rousso <drousso@apple.com>
1067
1068 Web Inspector: Protocol Logging: log messages as objects if inspector^2 is open
1069 https://bugs.webkit.org/show_bug.cgi?id=193284
1070
1071 Reviewed by Joseph Pecoraro.
1072
1073 If inspector^2 is closed, stringify all messages.
1074 If inspector^2 is open, log each message JSON object without modifying it.
1075
1076 * UserInterface/Protocol/LoggingProtocolTracer.js:
1077 (WI.LoggingProtocolTracer.prototype._processEntry):
1078
nvasilyev@apple.com91bddca2019-01-09 08:34:15 +000010792019-01-09 Nikita Vasilyev <nvasilyev@apple.com>
1080
1081 Web Inspector: Styles: clicking on property that soon to be discarded shouldn't start selection
1082 https://bugs.webkit.org/show_bug.cgi?id=193218
1083 <rdar://problem/47098303>
1084
1085 Reviewed by Devin Rousso.
1086
1087 * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
1088 (WI.SpreadsheetCSSStyleDeclarationSection.prototype._handleMouseDown):
1089 A style property may get removed on blur event, so propertyElement may get removed from the DOM right when mousedown event happens.
1090
1091 (WI.SpreadsheetCSSStyleDeclarationSection.prototype._handleWindowClick):
1092 (WI.SpreadsheetCSSStyleDeclarationSection.prototype._handleClick):
1093 (WI.SpreadsheetCSSStyleDeclarationSection.prototype._stopSelection):
1094
nvasilyev@apple.come81bcfc2019-01-09 02:03:03 +000010952019-01-08 Nikita Vasilyev <nvasilyev@apple.com>
1096
nvasilyev@apple.coma943bea2019-01-09 03:29:18 +00001097 Web Inspector: Styles: Undo reverts all changes at once
1098 https://bugs.webkit.org/show_bug.cgi?id=177676
1099 <rdar://problem/34745031>
1100
1101 Reviewed by Devin Rousso.
1102
1103 Command-Z used to revert all changes at once because Web Inspector never
1104 set any history checkpoints in the style editor.
1105
1106 * UserInterface/Views/SpreadsheetStyleProperty.js:
1107 (WI.SpreadsheetStyleProperty.prototype.spreadsheetTextFieldDidBlur):
1108 * UserInterface/Views/SpreadsheetTextField.js:
1109 (WI.SpreadsheetTextField.prototype._handleBlur):
1110
11112019-01-08 Nikita Vasilyev <nvasilyev@apple.com>
1112
nvasilyev@apple.come81bcfc2019-01-09 02:03:03 +00001113 Web Inspector: Use prefers-color-scheme instead of prefers-dark-interface
1114 https://bugs.webkit.org/show_bug.cgi?id=193265
1115
1116 Reviewed by Timothy Hatcher.
1117
1118 * UserInterface/Views/AuditTestContentView.css:
1119 (@media (prefers-color-scheme: dark)):
1120 * UserInterface/Views/AuditTestGroupContentView.css:
1121 (@media (prefers-color-scheme: dark)):
1122 * UserInterface/Views/BezierEditor.css:
1123 (@media (prefers-color-scheme: dark)):
1124 * UserInterface/Views/BoxModelDetailsSectionRow.css:
1125 (@media (prefers-color-scheme: dark)):
1126 * UserInterface/Views/BreakpointActionView.css:
1127 (@media (prefers-color-scheme: dark)):
1128 * UserInterface/Views/BreakpointPopoverController.css:
1129 (@media (prefers-color-scheme: dark)):
1130 * UserInterface/Views/ButtonNavigationItem.css:
1131 (@media (prefers-color-scheme: dark)):
1132 * UserInterface/Views/ButtonToolbarItem.css:
1133 (@media (prefers-color-scheme: dark)):
1134 * UserInterface/Views/CallFrameView.css:
1135 (@media (prefers-color-scheme: dark)):
1136 * UserInterface/Views/CanvasContentView.css:
1137 (@media (prefers-color-scheme: dark)):
1138 * UserInterface/Views/CanvasOverviewContentView.css:
1139 (@media (prefers-color-scheme: dark)):
1140 * UserInterface/Views/CanvasSidebarPanel.css:
1141 (@media (prefers-color-scheme: dark)):
1142 * UserInterface/Views/CanvasTabContentView.css:
1143 (@media (prefers-color-scheme: dark)):
1144 * UserInterface/Views/CodeMirrorOverrides.css:
1145 (@media (prefers-color-scheme: dark)):
1146 * UserInterface/Views/CompletionSuggestionsView.css:
1147 (@media (prefers-color-scheme: dark)):
1148 * UserInterface/Views/ComputedStyleDetailsPanel.css:
1149 (@media (prefers-color-scheme: dark)):
1150 * UserInterface/Views/ComputedStyleSection.css:
1151 (@media (prefers-color-scheme: dark)):
1152 * UserInterface/Views/ConsoleMessageView.css:
1153 (@media (prefers-color-scheme: dark)):
1154 * UserInterface/Views/ConsolePrompt.css:
1155 (@media (prefers-color-scheme: dark)):
1156 * UserInterface/Views/DOMNodeDetailsSidebarPanel.css:
1157 (@media (prefers-color-scheme: dark)):
1158 * UserInterface/Views/DOMTreeOutline.css:
1159 (@media (prefers-color-scheme: dark)):
1160 * UserInterface/Views/DataGrid.css:
1161 (@media (prefers-color-scheme: dark)):
1162 * UserInterface/Views/DebuggerDashboardView.css:
1163 (@media (prefers-color-scheme: dark)):
1164 * UserInterface/Views/DebuggerSidebarPanel.css:
1165 (@media (prefers-color-scheme: dark)):
1166 * UserInterface/Views/DefaultDashboardView.css:
1167 (@media (prefers-color-scheme: dark)):
1168 * UserInterface/Views/DetailsSection.css:
1169 (@media (prefers-color-scheme: dark)):
1170 * UserInterface/Views/DividerNavigationItem.css:
1171 (@media (prefers-color-scheme: dark)):
1172 * UserInterface/Views/Editing.css:
1173 (@media (prefers-color-scheme: dark)):
1174 * UserInterface/Views/FindBanner.css:
1175 (@media (prefers-color-scheme: dark)):
1176 * UserInterface/Views/FontResourceContentView.css:
1177 (@media (prefers-color-scheme: dark)):
1178 * UserInterface/Views/FormattedValue.css:
1179 (@media (prefers-color-scheme: dark)):
1180 * UserInterface/Views/GeneralStyleDetailsSidebarPanel.css:
1181 (@media (prefers-color-scheme: dark)):
1182 * UserInterface/Views/HoverMenu.css:
1183 (@media (prefers-color-scheme: dark)):
1184 * UserInterface/Views/ImageResourceContentView.css:
1185 (@media (prefers-color-scheme: dark)):
1186 * UserInterface/Views/IndexedDatabaseObjectStoreContentView.css:
1187 (@media (prefers-color-scheme: dark)):
1188 * UserInterface/Views/LogContentView.css:
1189 (@media (prefers-color-scheme: dark)):
1190
1191 * UserInterface/Views/Main.css:
1192 (:root):
1193
1194 (@media (prefers-color-scheme: dark)):
1195 * UserInterface/Views/NetworkDetailView.css:
1196 (@media (prefers-color-scheme: dark)):
1197 * UserInterface/Views/NetworkTableContentView.css:
1198 (@media (prefers-color-scheme: dark)):
1199 * UserInterface/Views/NewTabContentView.css:
1200 (@media (prefers-color-scheme: dark)):
1201 * UserInterface/Views/ObjectPreviewView.css:
1202 (@media (prefers-color-scheme: dark)):
1203 * UserInterface/Views/ObjectTreePropertyTreeElement.css:
1204 (@media (prefers-color-scheme: dark)):
1205 * UserInterface/Views/OpenResourceDialog.css:
1206 (@media (prefers-color-scheme: dark)):
1207 * UserInterface/Views/ProgressView.css:
1208 (@media (prefers-color-scheme: dark)):
1209 * UserInterface/Views/QuickConsole.css:
1210 (@media (prefers-color-scheme: dark)):
1211 * UserInterface/Views/RecordingActionTreeElement.css:
1212 (@media (prefers-color-scheme: dark)):
1213 * UserInterface/Views/RecordingContentView.css:
1214 (@media (prefers-color-scheme: dark)):
1215 * UserInterface/Views/RecordingStateDetailsSidebarPanel.css:
1216 (@media (prefers-color-scheme: dark)):
1217 * UserInterface/Views/ResourceSecurityContentView.css:
1218 (@media (prefers-color-scheme: dark)):
1219 * UserInterface/Views/ResourceSizesContentView.css:
1220 (@media (prefers-color-scheme: dark)):
1221 * UserInterface/Views/ResourceTimingBreakdownView.css:
1222 (@media (prefers-color-scheme: dark)):
1223 * UserInterface/Views/ScopeBar.css:
1224 (@media (prefers-color-scheme: dark)):
1225 * UserInterface/Views/ScopeChainDetailsSidebarPanel.css:
1226 (@media (prefers-color-scheme: dark)):
1227 * UserInterface/Views/SearchBar.css:
1228 (@media (prefers-color-scheme: dark)):
1229 * UserInterface/Views/SearchSidebarPanel.css:
1230 (@media (prefers-color-scheme: dark)):
1231 * UserInterface/Views/SettingsTabContentView.css:
1232 (@media (prefers-color-scheme: dark)):
1233 * UserInterface/Views/ShaderProgramContentView.css:
1234 (@media (prefers-color-scheme: dark)):
1235 * UserInterface/Views/ShaderProgramTreeElement.css:
1236 (@media (prefers-color-scheme: dark)):
1237 * UserInterface/Views/SourceCodeTextEditor.css:
1238 (@media (prefers-color-scheme: dark)):
1239 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
1240 (@media (prefers-color-scheme: dark)):
1241 * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.css:
1242 (@media (prefers-color-scheme: dark)):
1243 * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.css:
1244 (@media (prefers-color-scheme: dark)):
1245 * UserInterface/Views/SyntaxHighlightingDefaultTheme.css:
1246 (@media (prefers-color-scheme: dark)):
1247 * UserInterface/Views/TabBar.css:
1248 (@media (prefers-color-scheme: dark)):
1249 * UserInterface/Views/Table.css:
1250 (@media (prefers-color-scheme: dark)):
1251 * UserInterface/Views/TextEditor.css:
1252 (@media (prefers-color-scheme: dark)):
1253 * UserInterface/Views/TimelineDataGrid.css:
1254 (@media (prefers-color-scheme: dark)):
1255 * UserInterface/Views/TimelineIcons.css:
1256 (@media (prefers-color-scheme: dark)):
1257 * UserInterface/Views/TimelineOverview.css:
1258 (@media (prefers-color-scheme: dark)):
1259 * UserInterface/Views/Toolbar.css:
1260 (@media (prefers-color-scheme: dark)):
1261 * UserInterface/Views/TreeOutline.css:
1262 (@media (prefers-color-scheme: dark)):
1263 * UserInterface/Views/URLBreakpointPopover.css:
1264 (@media (prefers-color-scheme: dark)):
1265 * UserInterface/Views/Variables.css:
1266 (@media (prefers-color-scheme: dark)):
1267 * UserInterface/Views/WebSocketContentView.css:
1268 (@media (prefers-color-scheme: dark)):
1269
drousso@apple.com073a7b62019-01-07 22:18:59 +000012702019-01-07 Devin Rousso <drousso@apple.com>
1271
drousso@apple.comc73e1f32019-01-07 23:22:10 +00001272 Web Inspector: Audit: run arrow shouldn't be visible when running tests
1273 https://bugs.webkit.org/show_bug.cgi?id=192209
1274 <rdar://problem/46423615>
1275
1276 Reviewed by Brian Burg.
1277
1278 * UserInterface/Views/AuditTreeElement.js:
1279 (WI.AuditTreeElement.prototype.onattach):
1280 (WI.AuditTreeElement.prototype.ondetach):
1281 (WI.AuditTreeElement.prototype._updateLevel):
1282 (WI.AuditTreeElement.prototype._handleAuditManagerTestScheduled): Added.
1283 (WI.AuditTreeElement.prototype._handleAuditManagerTestCompleted): Added.
1284 * UserInterface/Views/AuditTreeElement.css: Added.
1285 (.tree-outline .item.audit:matches(.test-case, .test-group):not(.manager-active) > .status:hover > img): Added.
1286 (.tree-outline .item.audit.manager-active > .status > img.show-on-hover, .tree-outline .item.audit.test-group.expanded > .status:hover > :not(img), .tree-outline .item.audit.test-group-result.expanded > .status): Added.
1287 (.tree-outline .item.audit:matches(.test-case, .test-group) > .status:hover > img): Deleted.
1288 (.tree-outline .item.audit.test-group.expanded > .status:hover > :not(img), .tree-outline .item.audit.test-group-result.expanded > .status): Deleted.
1289
12902019-01-07 Devin Rousso <drousso@apple.com>
1291
drousso@apple.com20b43822019-01-07 22:41:29 +00001292 Web Inspector: extend XHR breakpoints to work with fetch
1293 https://bugs.webkit.org/show_bug.cgi?id=185843
1294 <rdar://problem/40431027>
1295
1296 Reviewed by Matt Baker.
1297
1298 * UserInterface/Controllers/DOMDebuggerManager.js:
1299 (WI.DOMDebuggerManager):
1300 (WI.DOMDebuggerManager.supportsURLBreakpoints): Added.
1301 (WI.DOMDebuggerManager.prototype.get urlBreakpoints): Added.
1302 (WI.DOMDebuggerManager.prototype.urlBreakpointForURL): Added.
1303 (WI.DOMDebuggerManager.prototype.addURLBreakpoint): Added.
1304 (WI.DOMDebuggerManager.prototype.removeURLBreakpoint): Added.
1305 (WI.DOMDebuggerManager.prototype._speculativelyResolveBreakpoints):
1306 (WI.DOMDebuggerManager.prototype._updateURLBreakpoint): Added.
1307 (WI.DOMDebuggerManager.prototype._resolveURLBreakpoint): Added.
1308 (WI.DOMDebuggerManager.prototype._saveURLBreakpoints): Added.
1309 (WI.DOMDebuggerManager.prototype._urlBreakpointDisabledStateDidChange): Added.
1310 (WI.DOMDebuggerManager.prototype.get xhrBreakpoints): Deleted.
1311 (WI.DOMDebuggerManager.prototype.xhrBreakpointForURL): Deleted.
1312 (WI.DOMDebuggerManager.prototype.addXHRBreakpoint): Deleted.
1313 (WI.DOMDebuggerManager.prototype.removeXHRBreakpoint): Deleted.
1314 (WI.DOMDebuggerManager.prototype._updateXHRBreakpoint.breakpointUpdated): Deleted.
1315 (WI.DOMDebuggerManager.prototype._updateXHRBreakpoint): Deleted.
1316 (WI.DOMDebuggerManager.prototype._resolveXHRBreakpoint): Deleted.
1317 (WI.DOMDebuggerManager.prototype._saveXHRBreakpoints): Deleted.
1318 (WI.DOMDebuggerManager.prototype._xhrBreakpointDisabledStateDidChange): Deleted.
1319
1320 * UserInterface/Controllers/DebuggerManager.js:
1321 (WI.DebuggerManager.prototype._pauseReasonFromPayload):
1322
1323 * UserInterface/Views/DebuggerSidebarPanel.js:
1324 (WI.DebuggerSidebarPanel):
1325 (WI.DebuggerSidebarPanel.prototype.willDismissPopover):
1326 (WI.DebuggerSidebarPanel.prototype._addBreakpoint):
1327 (WI.DebuggerSidebarPanel.prototype._treeSelectionDidChange):
1328 (WI.DebuggerSidebarPanel.prototype._addTreeElement):
1329 (WI.DebuggerSidebarPanel.prototype._updatePauseReasonSection):
1330 (WI.DebuggerSidebarPanel.prototype._handleCreateBreakpointClicked):
1331
1332 * UserInterface/Views/NavigationSidebarPanel.js:
1333 (WI.NavigationSidebarPanel.prototype._isTreeElementWithoutRepresentedObject):
1334
1335 * UserInterface/Models/URLBreakpoint.js: Renamed from Source/WebInspectorUI/UserInterface/Models/XHRBreakpoint.js.
1336 * UserInterface/Views/URLBreakpointPopover.css: Renamed from Source/WebInspectorUI/UserInterface/Views/XHRBreakpointPopover.css.
1337 * UserInterface/Views/URLBreakpointPopover.js: Renamed from Source/WebInspectorUI/UserInterface/Views/XHRBreakpointPopover.js.
1338 * UserInterface/Views/URLBreakpointTreeElement.css: Renamed from Source/WebInspectorUI/UserInterface/Views/XHRBreakpointTreeElement.css.
1339 * UserInterface/Views/URLBreakpointTreeElement.js: Renamed from Source/WebInspectorUI/UserInterface/Views/XHRBreakpointTreeElement.js.
1340
1341 * UserInterface/Base/Setting.js:
1342 (WI.Setting.migrateValue): Added.
1343
1344 * UserInterface/Main.html:
1345 * UserInterface/Test.html:
1346
1347 * Localizations/en.lproj/localizedStrings.js:
1348
13492019-01-07 Devin Rousso <drousso@apple.com>
1350
drousso@apple.com073a7b62019-01-07 22:18:59 +00001351 Web Inspector: Network: show secure connection details per-request
1352 https://bugs.webkit.org/show_bug.cgi?id=191539
1353 <rdar://problem/45979891>
1354
1355 Reviewed by Joseph Pecoraro.
1356
1357 * UserInterface/Models/Resource.js:
1358 (WI.Resource):
1359 (WI.Resource.prototype.get security): Added.
1360 (WI.Resource.prototype.updateForResponse):
1361 (WI.Resource.prototype.updateWithMetrics):
1362 (WI.Resource.prototype.get responseSecurity): Deleted.
1363
1364 * UserInterface/Views/ResourceSecurityContentView.js:
1365 (WI.ResourceSecurityContentView):
1366 (WI.ResourceSecurityContentView.prototype.initialLayout):
1367 (WI.ResourceSecurityContentView.prototype.layout):
1368 (WI.ResourceSecurityContentView.prototype._refreshConnectionSection): Added.
1369 (WI.ResourceSecurityContentView.prototype._refreshCetificateSection):
1370 (WI.ResourceSecurityContentView.prototype._handleResourceMetricsDidChange): Added.
1371 * UserInterface/Views/ResourceSecurityContentView.css:
1372 (body[dir] .resource-security > section:matches(.connection, .certificate) > .details): Added.
1373 (@media (prefers-dark-interface) body[dir] .resource-security > section:matches(.connection, .certificate) > .details): Added.
1374 (body[dir] .resource-security > section.certificate > .details): Deleted.
1375 (@media (prefers-dark-interface) body[dir] .resource-security > section.certificate > .details): Deleted.
1376
1377 * Localizations/en.lproj/localizedStrings.js:
1378
nvasilyev@apple.com2a644aa2019-01-07 20:20:17 +000013792019-01-07 Nikita Vasilyev <nvasilyev@apple.com>
1380
1381 Web Inspector: "white" isn't recognized as a color keyword
1382 https://bugs.webkit.org/show_bug.cgi?id=193173
1383 <rdar://problem/47068595>
1384
1385 Reviewed by Joseph Pecoraro.
1386
1387 Attempt to parse "atom" token types as colors.
1388
1389 Display color picker only for color-aware properties. For instance,
1390 display it for "color: white" but not for "-apple-pay-button-style: white".
1391
1392 * UserInterface/Models/CSSKeywordCompletions.js:
1393 (addKeywordsForName):
1394 (WI.CSSKeywordCompletions.forProperty):
1395 (WI.CSSKeywordCompletions.isColorAwareProperty):
1396 * UserInterface/Views/SpreadsheetStyleProperty.js:
1397 (WI.SpreadsheetStyleProperty.prototype._renderValue):
1398 (WI.SpreadsheetStyleProperty.prototype._addColorTokens):
1399
commit-queue@webkit.org89c5f8d2019-01-05 01:23:52 +000014002019-01-04 Joseph Pecoraro <pecoraro@apple.com>
1401
1402 Web Inspector: subclasses of WI.ClusterContentView don't save/restore content views after the initial view
1403 https://bugs.webkit.org/show_bug.cgi?id=192451
1404 <rdar://problem/46800958>
1405
1406 Reviewed by Devin Rousso.
1407
1408 * UserInterface/Models/BackForwardEntry.js:
1409 (WI.BackForwardEntry.prototype.prepareToHide):
1410 * UserInterface/Views/ClusterContentView.js:
1411 (WI.ClusterContentView.prototype.get shouldSaveStateOnHide):
1412 * UserInterface/Views/ContentView.js:
1413 (WI.ContentView.prototype.get shouldSaveStateOnHide):
1414 Allow ClusterContentViews to save its state whenever its hidden,
1415 this means it can be properly restored to the last state it had
1416 instead of the initial state it was shown with.
1417
drousso@apple.comba007362019-01-05 00:28:57 +000014182019-01-04 Devin Rousso <drousso@apple.com>
1419
1420 Web Inspector: Audit: disable breakpoints when running Audit
1421 https://bugs.webkit.org/show_bug.cgi?id=193158
1422 <rdar://problem/47057083>
1423
1424 Reviewed by Joseph Pecoraro.
1425
1426 * UserInterface/Controllers/DebuggerManager.js:
1427 (WI.DebuggerManager):
1428 (WI.DebuggerManager.prototype._startDisablingBreakpointsTemporarily):
1429 (WI.DebuggerManager.prototype._stopDisablingBreakpointsTemporarily):
1430 (WI.DebuggerManager.prototype._handleAuditManagerTestScheduled): Added.
1431 (WI.DebuggerManager.prototype._handleAuditManagerTestCompleted): Added.
1432
1433 * UserInterface/Views/DebuggerSidebarPanel.js:
1434 (WI.DebuggerSidebarPanel.prototype._timelineCapturingWillStart):
1435 (WI.DebuggerSidebarPanel.prototype._timelineCapturingStopped):
1436 (WI.DebuggerSidebarPanel.prototype._handleAuditManagerTestScheduled): Added.
1437 (WI.DebuggerSidebarPanel.prototype._handleAuditManagerTestCompleted): Added.
1438 (WI.DebuggerSidebarPanel.prototype._updateBreakpointsDisabledBanner):
1439 * UserInterface/Views/DebuggerSidebarPanel.css:
1440 (.sidebar > .panel.navigation.debugger .warning-banner + .warning-banner): Added.
1441
1442 * UserInterface/Base/Main.js:
1443 (WI.loaded):
1444 * UserInterface/Test/Test.js:
1445 (WI.loaded):
1446 Move `WI.auditManager` higher in the managers list so that it can be used in
1447 `WI.DebuggerManager`'s constructor.
1448
1449 * Localizations/en.lproj/localizedStrings.js:
1450
commit-queue@webkit.org14a38762019-01-04 20:29:24 +000014512019-01-04 Joseph Pecoraro <pecoraro@apple.com>
1452
commit-queue@webkit.org23589572019-01-04 21:27:34 +00001453 Web Inspector: Add a Setting Toggle for Source Maps
1454 https://bugs.webkit.org/show_bug.cgi?id=193148
1455
1456 Reviewed by Devin Rousso.
1457
1458 * UserInterface/Controllers/NetworkManager.js:
1459 (WI.NetworkManager.prototype.downloadSourceMap):
1460 Don't download source maps if the setting is disabled.
1461
1462 * UserInterface/Base/Setting.js:
1463 * UserInterface/Views/SettingsTabContentView.js:
1464 (WI.SettingsTabContentView.prototype._createGeneralSettingsView):
1465 Settings toggle for source maps. Enabled by default.
1466
1467 * Localizations/en.lproj/localizedStrings.js:
1468
14692019-01-04 Joseph Pecoraro <pecoraro@apple.com>
1470
commit-queue@webkit.org14a38762019-01-04 20:29:24 +00001471 Web Inspector: Include `globalThis` in default JavaScript completions
1472 https://bugs.webkit.org/show_bug.cgi?id=193147
1473
1474 Reviewed by Devin Rousso.
1475
1476 * UserInterface/Controllers/CodeMirrorCompletionController.js:
1477 Add `globalThis` which is a new global value.
1478
drousso@apple.comf5630702019-01-03 21:58:23 +000014792019-01-03 Devin Rousso <drousso@apple.com>
1480
1481 Web Inspector: conic-gradient color picker doesn't accurately show color when saturation value is not 100%
1482 https://bugs.webkit.org/show_bug.cgi?id=192729
1483 <rdar://problem/46746815>
1484
1485 Reviewed by Joseph Pecoraro.
1486
1487 Rework `WI.ColorWheel` to use similar canvas drawing logic as `WI.LegacyColorWheel` so that
1488 it's able to adjust the saturation value as the pixels gets closer to the center.
1489
1490 * UserInterface/Models/Color.js:
1491 (WI.Color.rgb2hsl): Added.
1492 (WI.Color.hsl2rgb): Added.
1493 (WI.Color.cmyk2rgb):
1494 (WI.Color.prototype.isKeyword):
1495 (WI.Color.prototype._toRGBString):
1496 (WI.Color.prototype._toRGBAString):
1497 (WI.Color.prototype._toHSLString):
1498 (WI.Color.prototype._toHSLAString):
1499 (WI.Color.prototype._rgbaToHSLA):
1500 (WI.Color.prototype._hslaToRGBA):
1501 (WI.Color.rgb2hsv): Deleted.
1502 (WI.Color.hsv2rgb): Deleted.
1503 (WI.Color.prototype._rgbToHSL): Deleted.
1504 (WI.Color.prototype._hslToRGB): Deleted.
1505 Adjust the conversion functions of `WI.Color` to be more accurate.
1506
1507 * UserInterface/Views/ColorWheel.js:
1508 (WI.ColorWheel):
1509 (WI.ColorWheel.prototype.set dimension):
1510 (WI.ColorWheel.prototype.set brightness):
1511 (WI.ColorWheel.prototype.get tintedColor):
1512 (WI.ColorWheel.prototype.set tintedColor):
1513 (WI.ColorWheel.prototype._updateColorForMouseEvent):
1514 (WI.ColorWheel.prototype._updateCanvas): Added.
1515 (WI.ColorWheel.prototype._updateGradient): Deleted.
1516 * UserInterface/Views/ColorWheel.css:
1517 (.color-wheel > canvas): Added.
1518 (.color-wheel > .gradient): Deleted.
1519
1520 * UserInterface/Views/ColorPicker.js:
1521 (WI.ColorPicker):
1522 (WI.ColorPicker.prototype.set color):
1523 (WI.ColorPicker.prototype.sliderValueDidChange):
1524 (WI.ColorPicker.prototype._updateSliders):
1525 (WI.ColorPicker.prototype._showColorComponentInputs):
1526 (WI.ColorPicker.supportsConicGradient): Deleted.
1527
1528 * UserInterface/Main.html:
1529
1530 * UserInterface/Views/LegacyColorWheel.js: Removed.
1531
nvasilyev@apple.com0aaf6f12019-01-03 04:05:04 +000015322019-01-02 Nikita Vasilyev <nvasilyev@apple.com>
1533
nvasilyev@apple.com482ac3e2019-01-03 07:18:32 +00001534 Web Inspector: Styles: selection lost when inspector is blurred
1535 https://bugs.webkit.org/show_bug.cgi?id=192124
1536 <rdar://problem/46800965>
1537
1538 Reviewed by Devin Rousso.
1539
1540 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
1541 (body:matches(.window-docked-inactive, .window-inactive) .spreadsheet-style-declaration-editor .property.selected):
1542 Selection should be gray when Web Inspector window isn't focused.
1543
1544 * UserInterface/Views/SpreadsheetStyleProperty.js:
1545
15462019-01-02 Nikita Vasilyev <nvasilyev@apple.com>
1547
nvasilyev@apple.com0aaf6f12019-01-03 04:05:04 +00001548 Web Inspector: Styles: it shouldn't be possible to delete read-only properties
1549 https://bugs.webkit.org/show_bug.cgi?id=193099
1550 <rdar://problem/47016335>
1551
1552 Reviewed by Devin Rousso.
1553
1554 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
1555 (WI.SpreadsheetCSSStyleDeclarationEditor):
1556 Drive-by: Forward Delete should work the same way as Delete (Backspace).
1557
webkit@devinrousso.coma247fcb2019-01-03 03:48:19 +000015582019-01-02 Devin Rousso <webkit@devinrousso.com>
1559
1560 Web Inspector: Implement `queryObjects` Command Line API
1561 https://bugs.webkit.org/show_bug.cgi?id=176766
1562 <rdar://problem/34890689>
1563
1564 Reviewed by Joseph Pecoraro.
1565
1566 * UserInterface/Controllers/JavaScriptRuntimeCompletionProvider.js:
1567 (WI.JavaScriptRuntimeCompletionProvider.completionControllerCompletionsNeeded.receivedPropertyNames):
1568 Add `queryObjects` to the list of command line functions.
1569
drousso@apple.com7a217f32018-12-22 00:39:04 +000015702018-12-21 Devin Rousso <drousso@apple.com>
1571
1572 Web Inspector: Styles Redesign: remove unused CSS style icons
1573 https://bugs.webkit.org/show_bug.cgi?id=192999
1574 <rdar://problem/46912094>
1575
1576 Reviewed by Matt Baker.
1577
1578 * UserInterface/Main.html:
1579 * UserInterface/Views/StyleRuleIcons.css: Removed.
1580 * UserInterface/Images/StyleRule.svg: Removed.
1581 * UserInterface/Images/StyleRuleInheritedElement.svg: Removed.
1582 * UserInterface/Images/StyleRulePseudoElement.svg: Removed.
1583
1584 * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
1585 * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
1586
nvasilyev@apple.com66d75da2018-12-22 00:16:20 +000015872018-12-21 Nikita Vasilyev <nvasilyev@apple.com>
1588
1589 Web Inspector: Styles: editing focus lost when inspector is blurred
1590 https://bugs.webkit.org/show_bug.cgi?id=192123
1591 <rdar://problem/46800966>
1592
1593 Reviewed by Devin Rousso.
1594
1595 * UserInterface/Views/SpreadsheetSelectorField.js:
1596 (WI.SpreadsheetSelectorField.prototype._handleBlur):
1597 * UserInterface/Views/SpreadsheetTextField.js:
1598 (WI.SpreadsheetTextField.prototype._handleBlur):
1599
drousso@apple.comcadc3d62018-12-21 22:27:50 +000016002018-12-21 Devin Rousso <drousso@apple.com>
1601
drousso@apple.comc1b06c62018-12-21 23:10:11 +00001602 Web Inspector: Settings: experimental setting editors are misaligned in other locales
1603 https://bugs.webkit.org/show_bug.cgi?id=192971
1604 <rdar://problem/46718451>
1605
1606 Reviewed by Joseph Pecoraro.
1607
1608 * UserInterface/Views/SettingsTabContentView.css:
1609 (.content-view.settings > .settings-view > .container):
1610 (.content-view.settings > .settings-view > .container > .title):
1611
16122018-12-21 Devin Rousso <drousso@apple.com>
1613
drousso@apple.comcadc3d62018-12-21 22:27:50 +00001614 Web Inspector: update scroll position when revealing a virtualized WI.DataGridNode
1615 https://bugs.webkit.org/show_bug.cgi?id=192992
1616 <rdar://problem/46886427>
1617
1618 Reviewed by Joseph Pecoraro.
1619
1620 When `reveal`ing a `WI.DataGridNode`, if it is not currently in the DOM tree (e.g. it's been
1621 virtualized by it's owner `WI.DataGrid`), we need to scroll to it's position so that it gets
1622 added to the DOM tree before it can be revealed/selected.
1623
1624 * UserInterface/Views/DataGrid.js:
1625 (WI.DataGrid.prototype.layout):
1626 (WI.DataGrid.prototype.updateVisibleRows):
1627 (WI.DataGrid.prototype._updateVisibleRows): Deleted.
1628
1629 * UserInterface/Views/DataGridNode.js:
1630 (WI.DataGridNode.prototype.reveal):
1631
nvasilyev@apple.comdd3297c2018-12-21 01:29:54 +000016322018-12-20 Nikita Vasilyev <nvasilyev@apple.com>
1633
nvasilyev@apple.combd9baf32018-12-21 01:44:07 +00001634 Web Inspector: Dark Mode: Type profiler popovers have black text on dark background
1635 https://bugs.webkit.org/show_bug.cgi?id=192916
1636 <rdar://problem/46863518>
1637
1638 Reviewed by Devin Rousso.
1639
1640 * UserInterface/Views/SourceCodeTextEditor.css:
1641 (.popover .debugger-popover-content > .body):
1642 * UserInterface/Views/TypeTreeElement.css:
1643 (.item.type-tree-element.prototype):
1644 (.item.type-tree-element.prototype:hover,):
1645 * UserInterface/Views/TypeTreeView.css:
1646 (.type-tree):
1647 * UserInterface/Views/Variables.css:
1648 (:root):
1649
16502018-12-20 Nikita Vasilyev <nvasilyev@apple.com>
1651
nvasilyev@apple.comdd3297c2018-12-21 01:29:54 +00001652 Web Inspector: Styles: Pressing Esc when editing name/value should select entire property
1653 https://bugs.webkit.org/show_bug.cgi?id=192919
1654
1655 Reviewed by Devin Rousso.
1656
1657 - Esc still hides the completion popover.
1658 - Esc still discards changes.
1659 - When there's no completion popover, Esc selects outer scope.
1660 I.e., it goes from editing name/value to selecting the entire property.
1661 - Pressing Esc for newly added properties discards those properties.
1662
1663 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
1664 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyRemoved):
1665 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyDidPressEsc):
1666 * UserInterface/Views/SpreadsheetStyleProperty.js:
1667 (WI.SpreadsheetStyleProperty.prototype.spreadsheetTextFieldDidPressEsc):
1668 * UserInterface/Views/SpreadsheetTextField.js:
1669 (WI.SpreadsheetTextField.prototype._discardChange):
1670 (WI.SpreadsheetTextField.prototype._handleKeyDown):
1671
commit-queue@webkit.orgaef3eed2018-12-20 20:05:34 +000016722018-12-20 Joseph Pecoraro <pecoraro@apple.com>
1673
commit-queue@webkit.org91dea982018-12-21 00:58:45 +00001674 Web Inspector: Charles Proxy errors opening har files exported from Safari (invalid startedDateTime)
1675 https://bugs.webkit.org/show_bug.cgi?id=192959
1676 <rdar://problem/46863411>
1677
1678 Reviewed by Brian Burg.
1679
1680 * UserInterface/Views/NetworkTableContentView.js:
1681 (WI.NetworkTableContentView.prototype.tableCellContextMenuClicked):
1682 (WI.NetworkTableContentView.prototype._updateExportButton):
1683 (WI.NetworkTableContentView.prototype._canExportHAR):
1684 Disallow HAR export if we don't have load data, such as the requestSentDate for
1685 the main resource or sub-resources.
1686
1687 (WI.NetworkTableContentView.prototype._HARResources):
1688 Only export resources that have load data.
1689
16902018-12-20 Joseph Pecoraro <pecoraro@apple.com>
1691
joepeck@webkit.org673205b2018-12-20 23:15:56 +00001692 Web Inspector: Autoformat doesn't work on icloud.com (javascript-packed.js)
1693 https://bugs.webkit.org/show_bug.cgi?id=192946
1694 <rdar://problem/42546126>
1695
1696 Rubber-stamped by Devin Rousso.
1697
1698 * UserInterface/Base/Utilities.js:
1699 (whitespaceRatio):
1700 (isTextLikelyMinified):
1701 Check the first 2500 and the last 2500 characters whitespace ratio.
1702 If either is below 20% then treat as minified.
1703
17042018-12-20 Joseph Pecoraro <pecoraro@apple.com>
1705
commit-queue@webkit.org1bf25702018-12-20 20:08:27 +00001706 ITMLKit Inspector: Elements tab does not show DOM Tree
1707 https://bugs.webkit.org/show_bug.cgi?id=192910
1708 <rdar://problem/46680585>
1709
1710 Reviewed by Brian Burg.
1711
1712 * UserInterface/Protocol/Connection.js:
1713 (InspectorBackend.Connection.prototype._dispatchEvent):
1714 Better logging for errors.
1715
1716 * UserInterface/Base/Main.js:
1717 * UserInterface/Controllers/AppController.js:
1718 (WI.AppController.prototype.activateExtraDomains):
1719 Let Targets get a chance to activate extra domains.
1720 Perform a little more work in these cases.
1721
1722 * UserInterface/Protocol/Target.js:
1723 (WI.Target):
1724 (WI.Target.prototype.activateExtraDomain):
1725 Expose agents for domains that are active.
1726 Expose agents for extra domains when they are activated.
1727
17282018-12-20 Joseph Pecoraro <pecoraro@apple.com>
1729
commit-queue@webkit.orgaef3eed2018-12-20 20:05:34 +00001730 ITMLKit Inspector: Computed Style Box Model section throws exceptions
1731 https://bugs.webkit.org/show_bug.cgi?id=192911
1732 <rdar://problem/46861112>
1733
1734 Reviewed by Matt Baker.
1735
1736 * UserInterface/Views/BoxModelDetailsSectionRow.js:
1737 (WI.BoxModelDetailsSectionRow.prototype._updateMetrics.createBoxPartElement):
1738 (WI.BoxModelDetailsSectionRow.prototype._updateMetrics.createContentAreaElement):
1739 (WI.BoxModelDetailsSectionRow.prototype._updateMetrics):
1740 ITMLKit doesn't always provide a display/position/width/height etc properties.
1741 Protect against this, and just show an empty message in the box model section
1742 if those properties do not exist.
1743
drousso@apple.com8b6993e2018-12-20 17:37:56 +000017442018-12-20 Devin Rousso <drousso@apple.com>
1745
drousso@apple.comcce34112018-12-20 18:29:45 +00001746 Web Inspector: UIString should take an optional key and description to aid localization
1747 https://bugs.webkit.org/show_bug.cgi?id=153962
1748 <rdar://problem/24542505>
1749
1750 Reviewed by Brian Burg.
1751
1752 * UserInterface/Base/LoadLocalizedStrings.js:
1753 (WI.UIString):
1754
1755 * UserInterface/Test/Test.js:
1756 (WI.UIString):
1757
1758 * UserInterface/Views/AuditTestGroupContentView.js:
1759 (WI.AuditTestGroupContentView.prototype.initialLayout):
1760
17612018-12-20 Devin Rousso <drousso@apple.com>
1762
drousso@apple.com802506a2018-12-20 18:15:46 +00001763 Web Inspector: Audits: don't cache default audits
1764 https://bugs.webkit.org/show_bug.cgi?id=192918
1765 <rdar://problem/46626543>
1766
1767 Reviewed by Brian Burg.
1768
1769 Instead of adding the default audits to the "audits" `WI.ObjectStore`, which preserves them
1770 across WebInspector sessions, load them every time WebInspector is opened (unless there are
1771 existing audits) so that the localized strings are able to respond to locale changes.
1772
1773 * UserInterface/Controllers/AuditManager.js:
1774 (WI.AuditManager.prototype.removeTest):
1775 (WI.AuditManager.prototype.addDefaultTestsIfNeeded):
1776
17772018-12-20 Devin Rousso <drousso@apple.com>
1778
drousso@apple.com8b6993e2018-12-20 17:37:56 +00001779 Web Inspector: Dark Mode: unreadable background color for tables containing object previews
1780 https://bugs.webkit.org/show_bug.cgi?id=192887
1781 <rdar://problem/46855270>
1782
1783 Reviewed by Brian Burg.
1784
1785 * UserInterface/Views/LogContentView.css:
1786 (.console-messages:focus .console-item .data-grid tr.selected td:not(:last-child)): Added.
1787 (@media (prefers-dark-interface) .console-item .data-grid tr.selected): Added.
1788 (@media (prefers-dark-interface) .console-messages:focus .console-item.selected .data-grid tr.selected): Added.
1789 (@media (prefers-dark-interface) .console-messages:focus .console-item .data-grid tr.selected td:not(:last-child)): Added.
1790
1791 * UserInterface/Views/IndexedDatabaseObjectStoreContentView.css:
1792 (.content-view.indexed-database-object-store > .data-grid tr.selected):
1793 (.content-view.indexed-database-object-store > .data-grid:focus tr.selected): Added.
1794 (@media (prefers-dark-interface) .content-view.indexed-database-object-store > .data-grid tr.selected): Added.
1795 (@media (prefers-dark-interface) .content-view.indexed-database-object-store > .data-grid:focus tr.selected): Added.
1796 (@media (prefers-dark-interface) .content-view.indexed-database-object-store > .data-grid:focus tr.selected td:not(:last-child)): Added.
1797
drousso@apple.comd3cc9f72018-12-20 06:48:32 +000017982018-12-19 Devin Rousso <drousso@apple.com>
1799
1800 Web Inspector: Audit: fix descriptions for default tests
1801 https://bugs.webkit.org/show_bug.cgi?id=192764
1802 <rdar://problem/46729437>
1803
1804 Reviewed by Matt Baker.
1805
1806 * UserInterface/Controllers/AuditManager.js:
1807 (WI.AuditManager.prototype.addDefaultTestsIfNeeded):
1808
1809 * Localizations/en.lproj/localizedStrings.js:
1810
nvasilyev@apple.com785037d2018-12-20 06:21:06 +000018112018-12-19 Nikita Vasilyev <nvasilyev@apple.com>
1812
nvasilyev@apple.comeebe5162018-12-20 06:39:19 +00001813 Web Inspector: "E" icon on debugger dashboard is too close to current function name
1814 https://bugs.webkit.org/show_bug.cgi?id=192915
1815
1816 Reviewed by Matt Baker.
1817
1818 * UserInterface/Views/DebuggerDashboardView.css:
1819 (.dashboard.debugger > .location):
1820 (body[dir=ltr] .dashboard.debugger > .location :matches(.function-icon, .event-listener-icon)):
1821 (body[dir=rtl] .dashboard.debugger > .location :matches(.function-icon, .event-listener-icon)):
1822 (.dashboard.debugger > .location .function-icon): Deleted.
1823 (body[dir=ltr] .dashboard.debugger > .location .function-icon): Deleted.
1824 (body[dir=rtl] .dashboard.debugger > .location .function-icon): Deleted.
1825
18262018-12-19 Nikita Vasilyev <nvasilyev@apple.com>
1827
nvasilyev@apple.com785037d2018-12-20 06:21:06 +00001828 Web Inspector: Dark Mode: ThreadTreeElement status icon is hard to see when hovered
1829 https://bugs.webkit.org/show_bug.cgi?id=192097
1830 <rdar://problem/46318421>
1831
1832 Reviewed by Matt Baker.
1833
1834 * UserInterface/Views/ThreadTreeElement.css:
1835 (.tree-outline > .item.thread .status-button.resume):
1836 (.tree-outline > .item.thread .status-button.resume:active):
1837
drousso@apple.com36d7cfc2018-12-20 03:56:27 +000018382018-12-19 Devin Rousso <drousso@apple.com>
1839
drousso@apple.comed164f22018-12-20 04:00:01 +00001840 Web Inspector: Uncaught Exception: TypeError: null is not an object (evaluating 'effectiveDOMNode.enabledPseudoClasses')
1841 https://bugs.webkit.org/show_bug.cgi?id=192783
1842
1843 Reviewed by Joseph Pecoraro.
1844
1845 * UserInterface/Views/GeneralStyleDetailsSidebarPanel.js:
1846 (WI.GeneralStyleDetailsSidebarPanel.prototype._forcedPseudoClassCheckboxChanged):
1847 (WI.GeneralStyleDetailsSidebarPanel.prototype._updatePseudoClassCheckboxes):
1848
18492018-12-19 Devin Rousso <drousso@apple.com>
1850
drousso@apple.come972bdb2018-12-20 03:57:10 +00001851 Web Inspector: REGRESSION (r237195): Timelines: selecting a rendering frame row moves the time selection
1852 https://bugs.webkit.org/show_bug.cgi?id=192773
1853 <rdar://problem/46782446>
1854
1855 Reviewed by Joseph Pecoraro.
1856
1857 * UserInterface/Views/TimelineOverview.js:
1858 (WI.TimelineOverview.prototype._recordSelected):
1859 The Frames timeline uses `frameIndex` instead of `startTime`/`endTime`, so when trying to
1860 ensure that the selected record is within the filtered range, use `frameIndex` instead.
1861 The associated `WI.TimelineRuler` will already be using an index-based approach for
1862 selection, so this will match.
1863
18642018-12-19 Devin Rousso <drousso@apple.com>
1865
drousso@apple.com36d7cfc2018-12-20 03:56:27 +00001866 Web Inspector: Canvas: the recording auto-capture input shouldn't start focused
1867 https://bugs.webkit.org/show_bug.cgi?id=192454
1868
1869 Reviewed by Joseph Pecoraro.
1870
1871 * UserInterface/Views/CanvasOverviewContentView.js:
1872 (WI.CanvasOverviewContentView.prototype._updateRecordingAutoCaptureCheckboxLabel):
1873 (WI.CanvasOverviewContentView.prototype._handleCanvasRecordingAutoCaptureFrameCountChanged):
1874
nvasilyev@apple.com5a73cf42018-12-20 01:22:39 +000018752018-12-19 Nikita Vasilyev <nvasilyev@apple.com>
1876
1877 Web Inspector: Styles: shift-clicking a color-swatch to change formats starts editing the color
1878 https://bugs.webkit.org/show_bug.cgi?id=192784
1879 <rdar://problem/46801028>
1880
1881 Reviewed by Devin Rousso.
1882
1883 * UserInterface/Views/SpreadsheetStyleProperty.js:
1884 (WI.SpreadsheetStyleProperty.prototype._createInlineSwatch):
1885
mattbaker@apple.com2bd73bc2018-12-20 00:46:10 +000018862018-12-19 Matt Baker <mattbaker@apple.com>
1887
1888 Web Inspector: Elements tab: arrow key after undoing a DOM node delete selects the wrong element
1889 https://bugs.webkit.org/show_bug.cgi?id=192871
1890 <rdar://problem/46849060>
1891
1892 Reviewed by Devin Rousso.
1893
1894 Undoing a DOM node removal reinserts the node into the DOMTreeOutline.
1895 When the reinserted node precedes the selected node in the tree, the
1896 SelectionController should update `_lastSelectedIndex`.
1897
1898 * UserInterface/Controllers/SelectionController.js:
1899 (WI.SelectionController.prototype.didInsertItem):
1900
drousso@apple.com0e6a4872018-12-20 00:31:27 +000019012018-12-19 Devin Rousso <drousso@apple.com>
1902
1903 Web Inspector: Audit: provide localization support for % pass display
1904 https://bugs.webkit.org/show_bug.cgi?id=192870
1905 <rdar://problem/46779245>
1906
1907 Reviewed by Brian Burg.
1908
1909 * UserInterface/Views/AuditTestGroupContentView.js:
1910 (WI.AuditTestGroupContentView.prototype.initialLayout):
1911 (WI.AuditTestGroupContentView.prototype.layout):
1912 * UserInterface/Views/AuditTestGroupContentView.css:
1913 (.content-view.audit-test-group > header > .percentage-pass):
1914 (.content-view.audit-test-group > header > .percentage-pass > span): Added.
1915 (@media (prefers-dark-interface) .content-view.audit-test-group > header > .percentage-pass): Added.
1916 (@media (prefers-dark-interface) .content-view.audit-test-group > header > .percentage-pass > span): Added.
1917 (.content-view.audit-test-group > header > .percentage-pass:not(:empty)::after): Deleted.
1918
1919 * Localizations/en.lproj/localizedStrings.js:
1920
nvasilyev@apple.com94708322018-12-19 23:28:58 +000019212018-12-19 Nikita Vasilyev <nvasilyev@apple.com>
1922
1923 Web Inspector: Computed: make UI more usable when the panel is narrow
1924 https://bugs.webkit.org/show_bug.cgi?id=192578
1925 <rdar://problem/46615753>
1926
1927 Reviewed by Devin Rousso.
1928
1929 * UserInterface/Views/ComputedStyleSection.css:
1930 (.computed-style-section .computed-property-item .property-traces):
1931 (.computed-style-section .computed-property-item.expanded .disclosure-button):
1932 (.computed-style-section .computed-property-item .property-trace-item):
1933 (.computed-style-section .computed-property-item .property-trace-item::before):
1934 (.computed-style-section .computed-property-item .property):
1935 (.computed-style-section .computed-property-item .property-trace-item .selector):
1936 Allow CSS property values and selectors to take more than one line.
1937
1938 (.computed-style-section .property-trace-item .property .name,):
1939 * UserInterface/Views/ComputedStyleSection.js:
1940 (WI.ComputedStyleSection.prototype._createTrace):
1941 * UserInterface/Views/SpreadsheetStyleProperty.js:
1942 (WI.SpreadsheetStyleProperty.prototype.update):
1943
simon.fraser@apple.comd8828472018-12-19 23:17:31 +000019442018-12-18 Simon Fraser <simon.fraser@apple.com>
1945
1946 Web Inspector: Timelines: correctly label Intersection Observer callbacks
1947 https://bugs.webkit.org/show_bug.cgi?id=192669
1948 <rdar://problem/46702490>
1949
1950 Reviewed by Joseph Pecoraro.
1951
1952 Add InspectorInstrumentation::willFireObserverCallback() and use it to wrap calls
1953 to Intersection Observer, Performance Observer and Mutation Observer callbacks so
1954 that they get correctly labeled in the Inspector timeline.
1955
1956 * Localizations/en.lproj/localizedStrings.js:
1957 * UserInterface/Controllers/TimelineManager.js:
1958 (WI.TimelineManager.prototype._processRecord):
1959 * UserInterface/Models/ScriptTimelineRecord.js:
1960 (WI.ScriptTimelineRecord.EventType.displayName):
1961 * UserInterface/Views/TimelineTabContentView.js:
1962 (WI.TimelineTabContentView.iconClassNameForRecord):
1963
drousso@apple.com78d8c5e2018-12-19 22:09:22 +000019642018-12-19 Devin Rousso <drousso@apple.com>
1965
1966 Web Inspector: Audit: "Clear Filters" button gets clipped when window is vertically small
1967 https://bugs.webkit.org/show_bug.cgi?id=192868
1968 <rdar://problem/46780400>
1969
1970 Reviewed by Matt Baker.
1971
1972 * UserInterface/Views/Main.css:
1973 (.message-text-view):
1974
nvasilyev@apple.comf08294f2018-12-19 21:08:53 +000019752018-12-19 Nikita Vasilyev <nvasilyev@apple.com>
1976
nvasilyev@apple.comfaf0a522018-12-19 21:09:43 +00001977 Web Inspector: Dark Mode: selected text is too light when Inspector window is inactive
1978 https://bugs.webkit.org/show_bug.cgi?id=190542
1979 <rdar://problem/45238712>
1980
1981 Reviewed by Devin Rousso.
1982
1983 * UserInterface/Views/CodeMirrorOverrides.css:
1984 (.CodeMirror .CodeMirror-selected):
1985
19862018-12-19 Nikita Vasilyev <nvasilyev@apple.com>
1987
nvasilyev@apple.comf08294f2018-12-19 21:08:53 +00001988 Web Inspector: column sort controls in Layers tab sidebar don't render correctly in dark mode
1989 https://bugs.webkit.org/show_bug.cgi?id=192845
1990
1991 Reviewed by Devin Rousso.
1992
1993 * UserInterface/Views/DataGrid.css:
1994 (@media (prefers-dark-interface)):
1995 (.data-grid th.sortable:active):
1996 Drive-by: replace obnoxiously light background of the pressed header with a more subtle gray.
1997
1998 (.data-grid th.sort-ascending > div:first-child::after, .data-grid th.sort-descending > div:first-child::after):
1999 Invert colors of the arrow glyph.
2000
drousso@apple.com49d4b7e2018-12-18 19:43:55 +000020012018-12-18 Devin Rousso <drousso@apple.com>
2002
2003 Web Inspector: Layers: increase default column width for other localizations
2004 https://bugs.webkit.org/show_bug.cgi?id=192812
2005 <rdar://problem/46628625>
2006
2007 Reviewed by Brian Burg.
2008
2009 * UserInterface/Views/LayerDetailsSidebarPanel.js:
2010 (WI.LayerDetailsSidebarPanel.prototype._buildDataGrid):
2011 * UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
2012 (WI.LayerTreeDetailsSidebarPanel.prototype._buildDataGridSection):
2013
joepeck@webkit.org7626fce2018-12-18 19:18:44 +000020142018-12-18 Joseph Pecoraro <pecoraro@apple.com>
2015
2016 Web Inspector: m3u8 content not shown, it should be text
2017 https://bugs.webkit.org/show_bug.cgi?id=192731
2018 <rdar://problem/46747728>
2019
2020 Reviewed by Devin Rousso.
2021
2022 * UserInterface/Base/MIMETypeUtilities.js:
2023 (WI.shouldTreatMIMETypeAsText):
2024 Support m3u8/m3u files as text.
2025
drousso@apple.comdfc917c2018-12-17 21:15:39 +000020262018-12-17 Devin Rousso <drousso@apple.com>
2027
drousso@apple.com1d45b962018-12-18 02:45:05 +00002028 Web Inspector: Canvas: path view is misaligned
2029 https://bugs.webkit.org/show_bug.cgi?id=192761
2030
2031 Reviewed by Joseph Pecoraro.
2032
2033 * UserInterface/Views/RecordingContentView.css:
2034 (.content-view:not(.tab).recording :matches(img, canvas)):
2035 (.content-view:not(.tab).recording canvas.path):
2036
20372018-12-17 Devin Rousso <drousso@apple.com>
2038
drousso@apple.come2d4e142018-12-17 21:16:30 +00002039 Web Inspector: Audit: add plural result strings
2040 https://bugs.webkit.org/show_bug.cgi?id=192769
2041 <rdar://problem/46628680>
2042
2043 Reviewed by Brian Burg.
2044
2045 * UserInterface/Views/AuditTestContentView.js:
2046 (WI.AuditTestContentView.prototype.showNoResultDataPlaceholder):
2047
2048 * UserInterface/Views/AuditTestGroupContentView.js:
2049 (WI.AuditTestGroupContentView.prototype.layout):
2050
2051 * Localizations/en.lproj/localizedStrings.js:
2052
20532018-12-17 Devin Rousso <drousso@apple.com>
2054
drousso@apple.comdfc917c2018-12-17 21:15:39 +00002055 Web Inspector: Settings: add singular "space" UIString
2056 https://bugs.webkit.org/show_bug.cgi?id=192766
2057 <rdar://problem/46776948>
2058
2059 Reviewed by Brian Burg.
2060
2061 * UserInterface/Views/SettingEditor.js:
2062 (WI.SettingEditor):
2063 (WI.SettingEditor.prototype.get label):
2064 (WI.SettingEditor.prototype.set label): Added.
2065
2066 * UserInterface/Views/SettingsTabContentView.js:
2067 (WI.SettingsTabContentView.prototype._createGeneralSettingsView):
2068 (WI.SettingsTabContentView.prototype._createGeneralSettingsView.addSpacesSetting): Added.
2069 (WI.SettingsTabContentView.prototype._createGeneralSettingsView.addSpacesSetting.updateLabel): Added.
2070
2071 * Localizations/en.lproj/localizedStrings.js:
2072
nvasilyev@apple.com77eba412018-12-15 10:03:19 +000020732018-12-15 Nikita Vasilyev <nvasilyev@apple.com>
2074
2075 Web Inspector: Styles: toggling selected properties may cause data corruption
2076 https://bugs.webkit.org/show_bug.cgi?id=192396
2077 <rdar://problem/46478383>
2078
2079 Reviewed by Devin Rousso.
2080
2081 Uncommenting a property after a commented out property used to insert an unnecessary semicolon,
2082 and not updating ranges of the following properties.
2083
2084 For example:
2085
2086 /* color: red; */
2087 /* font-size: 12px */
2088
2089 Uncommenting `font-size` would result in something like this:
2090
2091 /* color: red; */; font-size: 12px
2092 ^
2093 unnecessary semicolon
2094
2095 Now the semicolon doesn't get inserted and the white space is preserved better:
2096
2097 /* color: red; */
2098 font-size: 12px
2099
2100 * UserInterface/Models/CSSProperty.js:
2101 (WI.CSSProperty.prototype._updateOwnerStyleText):
2102 (WI.CSSProperty.prototype._appendSemicolonIfNeeded): Removed.
2103 (WI.CSSProperty.prototype._prependSemicolonIfNeeded): Added.
2104
2105 * UserInterface/Views/SpreadsheetStyleProperty.js:
2106 (WI.SpreadsheetStyleProperty.prototype.remove):
2107 (WI.SpreadsheetStyleProperty.prototype.update):
2108 (WI.SpreadsheetStyleProperty.prototype._handleNameChange):
2109 (WI.SpreadsheetStyleProperty.prototype._handleValueChange):
2110 Style declaration should be locked while editing. Add asserts to ensure this.
2111
mattbaker@apple.come01e54f2018-12-14 20:41:31 +000021122018-12-14 Matt Baker <mattbaker@apple.com>
2113
mattbaker@apple.com4b62826a2018-12-15 03:34:54 +00002114 Web Inspector: REGRESSION(r238599): Uncaught Exception: TypeError: null is not an object (evaluating 'treeElement.listItemElement.classList')
2115 https://bugs.webkit.org/show_bug.cgi?id=192090
2116 <rdar://problem/46318614>
2117
2118 Reviewed by Devin Rousso.
2119
2120 * UserInterface/Views/TreeOutline.js:
2121 (WI.TreeOutline.prototype.selectionControllerSelectionDidChange):
2122 Check that `listItemElement` is valid before accessing it to update class
2123 names. The selection can change before the TreeElement has been attached.
2124
21252018-12-14 Matt Baker <mattbaker@apple.com>
2126
mattbaker@apple.come01e54f2018-12-14 20:41:31 +00002127 Web Inspector: Cookies view should use model objects instead of raw payload data
2128 https://bugs.webkit.org/show_bug.cgi?id=189533
2129 <rdar://problem/44364183>
2130
2131 Reviewed by Joseph Pecoraro and Devin Rousso.
2132
2133 * UserInterface/Models/Cookie.js:
2134 (WI.Cookie):
2135 (WI.Cookie.fromPayload):
2136 (WI.Cookie.parseSetCookieResponseHeader):
2137 (WI.Cookie.prototype.get type):
2138 (WI.Cookie.prototype.get name):
2139 (WI.Cookie.prototype.get value):
2140 (WI.Cookie.prototype.get header):
2141 (WI.Cookie.prototype.get expires):
2142 (WI.Cookie.prototype.get maxAge):
2143 (WI.Cookie.prototype.get path):
2144 (WI.Cookie.prototype.get domain):
2145 (WI.Cookie.prototype.get secure):
2146 (WI.Cookie.prototype.get httpOnly):
2147 (WI.Cookie.prototype.get sameSite):
2148 (WI.Cookie.prototype.get size):
2149 (WI.Cookie.prototype.get url):
2150 (WI.Cookie.prototype.expirationDate):
2151 Cleanup Cookie object; add pubic getters for data, `url` property,
2152 static `fromPayload` method, and calculate `_size` if missing.
2153
2154 * UserInterface/Views/CookieStorageContentView.js:
2155 (WI.CookieStorageContentView.prototype.tableDidRemoveRows):
2156 (WI.CookieStorageContentView.prototype._reloadCookies):
2157 Create Cookie objects from the payload instead of using raw payload data.
2158
drousso@apple.com51f344f22018-12-13 22:31:25 +000021592018-12-13 Devin Rousso <drousso@apple.com>
2160
drousso@apple.com52652272018-12-13 23:20:35 +00002161 Web Inspector: remove DOM.BackendNodeId and associated commands/events
2162 https://bugs.webkit.org/show_bug.cgi?id=192478
2163
2164 Reviewed by Matt Baker.
2165
2166 * Versions/Inspector-iOS-8.0.json:
2167 * Versions/Inspector-iOS-9.0.json:
2168 * Versions/Inspector-iOS-9.3.json:
2169 * Versions/Inspector-iOS-10.0.json:
2170 * Versions/Inspector-iOS-10.3.json:
2171 * Versions/Inspector-iOS-11.0.json:
2172 * Versions/Inspector-iOS-11.3.json:
2173 * Versions/Inspector-iOS-12.0.json:
2174 * UserInterface/Protocol/Legacy/8.0/InspectorBackendCommands.js:
2175 * UserInterface/Protocol/Legacy/9.0/InspectorBackendCommands.js:
2176 * UserInterface/Protocol/Legacy/9.3/InspectorBackendCommands.js:
2177 * UserInterface/Protocol/Legacy/10.0/InspectorBackendCommands.js:
2178 * UserInterface/Protocol/Legacy/10.3/InspectorBackendCommands.js:
2179 * UserInterface/Protocol/Legacy/11.0/InspectorBackendCommands.js:
2180 * UserInterface/Protocol/Legacy/11.3/InspectorBackendCommands.js:
2181 * UserInterface/Protocol/Legacy/12.0/InspectorBackendCommands.js:
2182
21832018-12-13 Devin Rousso <drousso@apple.com>
2184
drousso@apple.com51f344f22018-12-13 22:31:25 +00002185 Web Inspector: experimental settings reload button disappears after changing more than one setting
2186 https://bugs.webkit.org/show_bug.cgi?id=192645
2187 <rdar://problem/46626204>
2188
2189 Reviewed by Joseph Pecoraro.
2190
2191 * UserInterface/Views/SettingsTabContentView.js:
2192 (WI.SettingsTabContentView.prototype._createExperimentalSettingsView.listenForChange):
2193 (WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
2194
mattbaker@apple.com670d8662018-12-13 20:46:59 +000021952018-12-13 Matt Baker <mattbaker@apple.com>
2196
mattbaker@apple.comae8f6982018-12-13 22:29:07 +00002197 Web Inspector: REGRESSION(r238602): Elements: deleting multiple DOM nodes doesn't select the nearest node after deletion
2198 https://bugs.webkit.org/show_bug.cgi?id=192116
2199 <rdar://problem/46344339>
2200
2201 Reviewed by Devin Rousso.
2202
2203 * UserInterface/Controllers/SelectionController.js:
2204 (WI.SelectionController.prototype.removeSelectedItems):
2205 Finding a new index to select should go through the delegate instead of
2206 naively advancing the index.
2207
2208 * UserInterface/Views/DOMTreeElement.js:
2209 (WI.DOMTreeElement.prototype._populateNodeContextMenu):
2210 (WI.DOMTreeElement.prototype.ondelete): Deleted.
2211 The menu item for removing the DOM node is now managed by the parent
2212 DOMTreeOutline, since its UI and behavior now depend on whether there
2213 are multiple elements selected.
2214
2215 * UserInterface/Views/DOMTreeOutline.js:
2216 (WI.DOMTreeOutline.prototype.populateContextMenu):
2217 (WI.DOMTreeOutline.prototype.ondelete.level):
2218 (WI.DOMTreeOutline.prototype.ondelete):
2219 Implement `ondelete` to remove selected DOM nodes using the delete and
2220 backspace keys. Also used by the DOMTreeOutline's context menu handler.
2221
22222018-12-13 Matt Baker <mattbaker@apple.com>
2223
mattbaker@apple.com670d8662018-12-13 20:46:59 +00002224 Web Inspector: Table selection becomes corrupted when deleting selected cookies
2225 https://bugs.webkit.org/show_bug.cgi?id=192388
2226 <rdar://problem/46472364>
2227
2228 Reviewed by Devin Rousso.
2229
2230 * UserInterface/Controllers/SelectionController.js:
2231 (WI.SelectionController):
2232 (WI.SelectionController.prototype.didRemoveItems):
2233 (WI.SelectionController.prototype._updateSelectedItems):
2234 (WI.SelectionController.prototype.didRemoveItem): Deleted.
2235 Replace `didRemoveItem` with a method taking an IndexSet. Calling the
2236 single-index version while iterating over multiple rows in ascending
2237 order is unsafe, a detail best left to the SelectionController.
2238
2239 * UserInterface/Views/Table.js:
2240 (WI.Table.prototype.removeRow):
2241 (WI.Table.prototype._removeRows):
2242 Notify SelectionController of removed rows.
2243
2244 * UserInterface/Views/TreeOutline.js:
2245 (WI.TreeOutline.prototype.insertChild):
2246 (WI.TreeOutline.prototype.removeChildAtIndex):
2247 Remove the child from the element's `children` after calling `_forgetTreeElement`,
2248 which needs to calculate the child's index to pass to the SelectionController.
2249
2250 (WI.TreeOutline.prototype.removeChildren):
2251 Remove child items during iteration so that `children` doesn't contain
2252 detached TreeElements while calling `_forgetTreeElement`.
2253
2254 (WI.TreeOutline.prototype._rememberTreeElement):
2255 (WI.TreeOutline.prototype._forgetTreeElement):
2256
mattbaker@apple.com5caa9382018-12-10 22:03:13 +000022572018-12-10 Matt Baker <mattbaker@apple.com>
2258
mattbaker@apple.combd91cda2018-12-11 03:50:25 +00002259 Web Inspector: REGRESSION (r238599): unable to select specific timeline
2260 https://bugs.webkit.org/show_bug.cgi?id=192443
2261 <rdar://problem/46608087>
2262
2263 Reviewed by Joseph Pecoraro.
2264
2265 When determining the trailing horizontal edge for TreeElement mouse
2266 events, TreeOutline should not assume that its containing DOM element
2267 is only as wide as its <ol> element.
2268
2269 * UserInterface/Views/TreeOutline.js:
2270 (WI.TreeOutline.prototype.treeElementFromEvent):
2271
22722018-12-10 Matt Baker <mattbaker@apple.com>
2273
mattbaker@apple.com5caa9382018-12-10 22:03:13 +00002274 Web Inspector: Move TreeOutlineGroup coordination out of TreeElement
2275 https://bugs.webkit.org/show_bug.cgi?id=192487
2276 <rdar://problem/46543431>
2277
2278 Reviewed by Devin Rousso.
2279
2280 * UserInterface/Views/TreeElement.js:
2281 (WI.TreeElement.prototype.select):
2282 (WI.TreeElement.prototype.deselect):
2283
2284 * UserInterface/Views/TreeOutlineGroup.js:
2285 (WI.TreeOutlineGroup):
2286 (WI.TreeOutlineGroup.prototype.itemAdded):
2287 (WI.TreeOutlineGroup.prototype.itemRemoved):
2288 (WI.TreeOutlineGroup.prototype._removeConflictingTreeSelections):
2289 (WI.TreeOutlineGroup.prototype._treeOutlineSelectionDidChange):
2290 (WI.TreeOutlineGroup.groupForTreeOutline): Deleted.
2291 (WI.TreeOutlineGroup.prototype.didSelectTreeElement): Deleted.
2292 make the group responsible for listening to selection changes from the
2293 TreeOutlines it manages, and synchronizing the selection between them.
2294
dino@apple.com22655bc2018-12-10 19:45:45 +000022952018-12-10 Dean Jackson <dino@apple.com>
2296
2297 Use text/javascript as recommended by the HTML specification
2298 https://bugs.webkit.org/show_bug.cgi?id=192525
2299 <rdar://problem/46569636>
2300
2301 Reviewed by Jon Lee.
2302
2303 The HTML specification says we should use text/javascript for
2304 JavaScript files:
2305 https://html.spec.whatwg.org/multipage/scripting.html#scriptingLanguages:javascript-mime-type
2306
2307 * UserInterface/Base/MIMETypeUtilities.js:
2308 (WI.mimeTypeForFileExtension):
2309 * UserInterface/Views/TextEditor.js:
2310 (WI.TextEditor.prototype._attemptToDetermineMIMEType):
2311
mattbaker@apple.coma9693d12018-12-06 20:37:55 +000023122018-12-06 Matt Baker <mattbaker@apple.com>
2313
2314 Web Inspector: REGRESSION(r238602): Elements: collapsing a DOM node with the left arrow doesn't work
2315 https://bugs.webkit.org/show_bug.cgi?id=192353
2316 <rdar://problem/46455019>
2317
2318 Reviewed by Devin Rousso.
2319
2320 * UserInterface/Views/TreeElement.js:
2321 (WI.TreeElement.prototype.deselect):
2322 Don't early return when the element is not the selected tree element.
2323 This condition no longer holds now that TreeOutline supports multiple selection.
2324
mattbaker@apple.com12e1de22018-12-05 23:50:08 +000023252018-12-05 Matt Baker <mattbaker@apple.com>
2326
2327 Web Inspector: SelectionController should not extend the selection when allowsMultipleSelection is false
2328 https://bugs.webkit.org/show_bug.cgi?id=192390
2329 <rdar://problem/46473624>
2330
2331 Reviewed by Devin Rousso.
2332
2333 * UserInterface/Controllers/SelectionController.js:
2334 (WI.SelectionController.prototype.selectItem):
2335
nvasilyev@apple.com2c073612018-12-05 01:37:03 +000023362018-12-04 Nikita Vasilyev <nvasilyev@apple.com>
2337
2338 Web Inspector: Add style editing debug mode
2339 https://bugs.webkit.org/show_bug.cgi?id=192282
2340 <rdar://problem/46399176>
2341
2342 Reviewed by Matt Baker.
2343
2344 Introduce a style editing debug mode to help to troubleshoot complex bugs in the style editor.
2345
2346 - Log CSS changes;
2347 - Display red border for locked style declarations.
2348
2349 * UserInterface/Base/Setting.js:
2350 * UserInterface/Models/CSSProperty.js:
2351 (WI.CSSProperty.prototype._updateOwnerStyleText):
2352 * UserInterface/Views/SettingsTabContentView.js:
2353 (WI.SettingsTabContentView.prototype._createDebugSettingsView):
2354 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
2355 (.spreadsheet-style-declaration-editor.debug-style-locked::after):
2356 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
2357 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.layout):
2358 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._updateStyleLock):
2359 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._updateDebugLockStatus):
2360
mattbaker@apple.comda99a652018-12-04 20:07:09 +000023612018-12-04 Matt Baker <mattbaker@apple.com>
2362
2363 Web Inspector: REGRESSION(r238602): Elements: changing selection no longer highlights the selected node
2364 https://bugs.webkit.org/show_bug.cgi?id=192354
2365 <rdar://problem/46444438>
2366
2367 Reviewed by Joseph Pecoraro.
2368
2369 * UserInterface/Views/TreeOutline.js:
2370 (WI.TreeOutline.prototype._treeKeyDown):
2371 (WI.TreeOutline.prototype._handleMouseDown):
2372
joepeck@webkit.org196d77d2018-12-04 19:07:57 +000023732018-12-04 Joseph Pecoraro <pecoraro@apple.com>
2374
2375 Web Inspector: REGRESSION(r238330): Timeline auto-capture does not work after page transition
2376 https://bugs.webkit.org/show_bug.cgi?id=192248
2377 <rdar://problem/46390199>
2378
2379 Reviewed by Devin Rousso.
2380
2381 * UserInterface/Base/Main.js:
2382 (WI.transitionPageTarget):
2383 Let the TimelineManager perform work on page transitions.
2384
2385 * UserInterface/Controllers/TimelineManager.js:
2386 (WI.TimelineManager.prototype.initializeTarget):
2387 Initialize the autocapture state of the target.
2388
2389 (WI.TimelineManager.prototype.transitionPageTarget):
2390 When transitioning pages perform a legacy (frontend based) timeline capture.
2391
mattbaker@apple.com3ef72142018-12-04 18:14:28 +000023922018-12-04 Matt Baker <mattbaker@apple.com>
2393
mattbaker@apple.com205489c2018-12-04 18:17:16 +00002394 Web Inspector: Elements: $0 is shown for all selected elements
2395 https://bugs.webkit.org/show_bug.cgi?id=192119
2396 <rdar://problem/46327554>
2397
2398 Reviewed by Devin Rousso.
2399
2400 * UserInterface/Views/ContentBrowserTabContentView.js:
2401 (WI.ContentBrowserTabContentView.prototype._revealAndSelectRepresentedObject):
2402 * UserInterface/Views/DOMTreeContentView.js:
2403 (WI.DOMTreeContentView):
2404 (WI.DOMTreeContentView.prototype.layout):
2405 (WI.DOMTreeContentView.prototype._domTreeSelectionDidChange):
2406 Update the selected DOM node using the TreeOutline's selection change
2407 event, instead of in `onselect`, which wasn't always called.
2408
2409 * UserInterface/Views/DOMTreeElement.js:
2410 (WI.DOMTreeElement.prototype.onselect): Deleted.
2411 (WI.DOMTreeElement.prototype.ondeselect): Deleted.
2412 Eliminate `onselect` and `ondeselect`. TreeOutline clients should use
2413 the TreeOutline.Event.SelectedDidChange event instead.
2414
2415 * UserInterface/Views/DOMTreeOutline.css:
2416 (.tree-outline.dom li.last-selected > span::after):
2417 (.tree-outline.dom:focus li.last-selected > span::after):
2418 (.tree-outline.dom li.selected > span::after): Deleted.
2419 (.tree-outline.dom:focus li.selected > span::after): Deleted.
2420 * UserInterface/Views/DOMTreeOutline.js:
2421 (WI.DOMTreeOutline.prototype.updateSelection): Deleted.
2422
2423 * UserInterface/Views/DebuggerSidebarPanel.js:
2424 (WI.DebuggerSidebarPanel.prototype._handleDebuggerObjectDisplayLocationDidChange):
2425 * UserInterface/Views/FolderizedTreeElement.js:
2426 (WI.FolderizedTreeElement.prototype._addTreeElement):
2427 * UserInterface/Views/NavigationSidebarPanel.js:
2428 (WI.NavigationSidebarPanel.prototype.showDefaultContentViewForTreeElement):
2429 (WI.NavigationSidebarPanel.prototype._treeElementWasFiltered):
2430 (WI.NavigationSidebarPanel):
2431 * UserInterface/Views/OpenResourceDialog.js:
2432 (WI.OpenResourceDialog.prototype._populateResourceTreeOutline):
2433 (WI.OpenResourceDialog.prototype._handleKeydownEvent):
2434 * UserInterface/Views/SourceCodeTreeElement.js:
2435 (WI.SourceCodeTreeElement.prototype.descendantResourceTreeElementTypeDidChange):
2436 * UserInterface/Views/TreeElement.js:
2437 (WI.TreeElement.prototype.select):
2438 (WI.TreeElement.prototype.revealAndSelect):
2439 (WI.TreeElement.prototype.deselect):
2440 Remove `suppressOnDeselect` and rename `suppressOnSelect` to `suppressNotification`.
2441 Now that `ondeselect` has been removed `suppressOnDeselect` is no longer
2442 meaningful, as TreeOutline generates a single `SelectedDidChange` event
2443 when the selected item changes. In the case of `revealAndSelect`, both
2444 arguments had the same value.
2445
2446 * UserInterface/Views/TreeOutline.js:
2447 (WI.TreeOutline):
2448 (WI.TreeOutline.prototype.selectionControllerSelectionDidChange):
2449 Add a unique class name to the last selected TreeElement to distinguish
2450 it from other selected elements.
2451
24522018-12-04 Matt Baker <mattbaker@apple.com>
2453
mattbaker@apple.com3ef72142018-12-04 18:14:28 +00002454 Web Inspector: Elements: ⌘-A should select all visible nodes
2455 https://bugs.webkit.org/show_bug.cgi?id=192120
2456 <rdar://problem/46344435>
2457
2458 Reviewed by Devin Rousso.
2459
2460 * UserInterface/Views/TreeOutline.js:
2461 (WI.TreeOutline.prototype._treeKeyDown):
2462 Remove an early return, allowing `WI.SelectionController` to handle ⌘-A
2463 and select all items.
2464
drousso@apple.com8a0bc012018-12-04 09:08:42 +000024652018-12-04 Devin Rousso <drousso@apple.com>
2466
2467 Web Inspector: Audit: tests should support async operations
2468 https://bugs.webkit.org/show_bug.cgi?id=192171
2469 <rdar://problem/46423562>
2470
2471 Reviewed by Joseph Pecoraro.
2472
2473 * UserInterface/Controllers/RuntimeManager.js:
2474 (WI.RuntimeManager.supportsAwaitPromise): Added.
2475
2476 * UserInterface/Models/AuditTestCase.js:
2477 (WI.AuditTestCase.prototype.async run.async parseResponse.checkResultProperty.addErrorForValueType): Deleted.
2478 (WI.AuditTestCase.prototype.async run.async parseResponse.checkResultProperty): Deleted.
2479 (WI.AuditTestCase.prototype.async run.async parseResponse.async resultArrayForEach): Deleted.
2480 (WI.AuditTestCase.prototype.async run.async parseResponse): Added.
2481 (WI.AuditTestCase.prototype.async run):
2482 (WI.AuditTestCase.prototype.async run.checkResultProperty.addErrorForValueType): Deleted.
2483 (WI.AuditTestCase.prototype.async run.checkResultProperty): Deleted.
2484 (WI.AuditTestCase.prototype.async run.async resultArrayForEach): Deleted.
2485
2486 * UserInterface/Models/AuditTestCaseResult.js:
2487 (WI.AuditTestCaseResult.async fromPayload):
2488 (WI.AuditTestCaseResult.prototype.toJSON):
2489
2490 * UserInterface/Views/AuditTestCaseContentView.js:
2491 (WI.AuditTestCaseContentView.prototype.layout):
2492
drousso@apple.come0585f22018-12-04 00:15:22 +000024932018-12-03 Devin Rousso <drousso@apple.com>
2494
drousso@apple.com7740b002018-12-04 06:01:16 +00002495 Web Inspector: Audit: save the expanded state of test groups
2496 https://bugs.webkit.org/show_bug.cgi?id=192346
2497 <rdar://problem/46440704>
2498
2499 Reviewed by Matt Baker.
2500
2501 * UserInterface/Views/AuditTreeElement.js:
2502 (WI.AuditTreeElement):
2503 (WI.AuditTreeElement.prototype.onattach):
2504 (WI.AuditTreeElement.prototype.onexpand): Added.
2505 (WI.AuditTreeElement.prototype.oncollapse): Added.
2506
25072018-12-03 Devin Rousso <drousso@apple.com>
2508
drousso@apple.com4233f5d2018-12-04 04:06:55 +00002509 Web Inspector: Audit: sidebar briefly shows "No Filter Results" before populating default audits
2510 https://bugs.webkit.org/show_bug.cgi?id=192341
2511 <rdar://problem/46436550>
2512
2513 Reviewed by Matt Baker.
2514
2515 * UserInterface/Views/AuditNavigationSidebarPanel.js:
2516 (WI.AuditNavigationSidebarPanel.prototype.initialLayout):
2517 (WI.AuditNavigationSidebarPanel.prototype._addTest):
2518 (WI.AuditNavigationSidebarPanel.prototype._addResult):
2519 (WI.AuditNavigationSidebarPanel.prototype.applyFiltersToTreeElement): Deleted.
2520 Delay the construction of the "Results" folder until it's needed, since adding a hidden
2521 `WI.TreeElement` will cause the placeholder to appear.
2522
25232018-12-03 Devin Rousso <drousso@apple.com>
2524
drousso@apple.com48207222018-12-04 04:06:31 +00002525 Web Inspector: Audit: navigating while tests are running should stop and clear all results
2526 https://bugs.webkit.org/show_bug.cgi?id=192317
2527 <rdar://problem/46435222>
2528
2529 Reviewed by Joseph Pecoraro.
2530
2531 * UserInterface/Controllers/AuditManager.js:
2532 (WI.AuditManager.prototype.async start):
2533 (WI.AuditManager.prototype._handleFrameMainResourceDidChange):
2534
2535 * UserInterface/Views/AuditNavigationSidebarPanel.js:
2536 (WI.AuditNavigationSidebarPanel.prototype.initialLayout):
2537 Drive-by: pass the index of the saved result.
2538
25392018-12-03 Devin Rousso <drousso@apple.com>
2540
drousso@apple.com6200f7d2018-12-04 00:57:36 +00002541 Web Inspector: Audit: "Add Default Audits" shown when there are no filter results
2542 https://bugs.webkit.org/show_bug.cgi?id=192105
2543
2544 Reviewed by Matt Baker.
2545
2546 * UserInterface/Views/NavigationSidebarPanel.js:
2547 (WI.NavigationSidebarPanel):
2548 (WI.NavigationSidebarPanel.prototype.get hasActiveFilters): Added.
2549 (WI.NavigationSidebarPanel.prototype.suppressFilteringOnTreeElements):
2550 (WI.NavigationSidebarPanel.prototype.showEmptyContentPlaceholder):
2551 (WI.NavigationSidebarPanel.prototype.hideEmptyContentPlaceholder):
2552 (WI.NavigationSidebarPanel.prototype.updateEmptyContentPlaceholder):
2553 (WI.NavigationSidebarPanel.prototype.updateFilter):
2554 (WI.NavigationSidebarPanel.prototype._checkForEmptyFilterResults.checkTreeOutlineForEmptyFilterResults):
2555 (WI.NavigationSidebarPanel.prototype._filterDidChange):
2556 (WI.NavigationSidebarPanel.prototype._updateFilter): Deleted.
2557 (WI.NavigationSidebarPanel.prototype._createEmptyContentPlaceholderIfNeeded): Deleted.
2558
2559 * UserInterface/Views/AuditNavigationSidebarPanel.js:
2560 (WI.AuditNavigationSidebarPanel.prototype._handleAuditTestRemoved):
2561 Drive-by: change capitalization for consistency with other navigation sidebars.
2562
2563 * Localizations/en.lproj/localizedStrings.js:
2564
25652018-12-03 Devin Rousso <drousso@apple.com>
2566
drousso@apple.come0585f22018-12-04 00:15:22 +00002567 Web Inspector: Canvas: add singular localized string for "Record first %s frames"
2568 https://bugs.webkit.org/show_bug.cgi?id=192189
2569
2570 Reviewed by Joseph Pecoraro.
2571
2572 * UserInterface/Views/CanvasOverviewContentView.js:
2573 (WI.CanvasOverviewContentView):
2574 (WI.CanvasOverviewContentView.prototype._setRecordingAutoCaptureFrameCount):
2575 (WI.CanvasOverviewContentView.prototype._updateRecordingAutoCaptureCheckboxLabel): Added.
2576 (WI.CanvasOverviewContentView.prototype._handleRecordingAutoCaptureInput):
2577 (WI.CanvasOverviewContentView.prototype._handleCanvasRecordingAutoCaptureFrameCountChanged):
2578 (WI.CanvasOverviewContentView.prototype.initialLayout): Deleted.
2579 Drive-by: update the auto-capture navigation item when the view is first created so there is
2580 no flashing of in the navigation bar (before `initialLayout` is called).
2581
2582 * UserInterface/Views/CheckboxNavigationItem.js:
2583 (WI.CheckboxNavigationItem):
2584 (WI.CheckboxNavigationItem.prototype.set label): Added.
2585
2586 * Localizations/en.lproj/localizedStrings.js:
2587
mattbaker@apple.com22988c72018-12-03 23:16:25 +000025882018-12-03 Matt Baker <mattbaker@apple.com>
2589
2590 Web Inspector: REGRESSION(r238599): Multiple Selection: restoring selection when opening WebInspector puts the TreeElement into a permanent selected state
2591 https://bugs.webkit.org/show_bug.cgi?id=192091
2592 <rdar://problem/46321795>
2593
2594 Reviewed by Devin Rousso.
2595
2596 * UserInterface/Controllers/SelectionController.js:
2597 (WI.SelectionController.prototype.didInsertItem):
2598 Fix a bug where selected indexes were overwritten by the inserted index.
2599
2600 * UserInterface/Views/TreeOutline.js:
2601 (WI.TreeOutline):
2602 (WI.TreeOutline.prototype.insertChild):
2603 Update the SelectionController with the newly inserted index before
2604 attaching the TreeElement. Attaching the TreeElement can cause it to
2605 become selected, which would add the index to the SelectionController,
2606 only to have it immediately incremented by the call to `didInsertItem`.
2607 Additionally, change `insertionIndex` to be the index of the inserted
2608 item instead of the inserted item's previous sibling.
2609
2610 (WI.TreeOutline.prototype._rememberTreeElement):
2611 (WI.TreeOutline.prototype._forgetTreeElement):
2612 (WI.TreeOutline.prototype._indexOfTreeElement.previousElement): Deleted.
2613 Eliminate TreeElement index caching, which could become stale and cause
2614 the wrong index to be calculated. Additionally, instead of walking up the
2615 parent chain to determine the index, start at the root and use existing
2616 method `traverseNextTreeElement`.
2617
drousso@apple.com08918db2018-12-03 22:28:35 +000026182018-12-03 Devin Rousso <drousso@apple.com>
2619
2620 Web Inspector: Audit: test tree elements should start out collapsed
2621 https://bugs.webkit.org/show_bug.cgi?id=192107
2622
2623 Reviewed by Matt Baker.
2624
2625 * UserInterface/Views/AuditTreeElement.js:
2626 (WI.AuditTreeElement.prototype.onattach):
2627
nvasilyev@apple.com6d3434f2018-12-03 20:37:10 +000026282018-12-03 Nikita Vasilyev <nvasilyev@apple.com>
2629
2630 Web Inspector: Styles: can't select properties of read-only rules
2631 https://bugs.webkit.org/show_bug.cgi?id=192266
2632
2633 Reviewed by Devin Rousso.
2634
2635 Implement multiple properties selection for read-only rules (such as User Agent Stylesheets)
2636 in the Styles panel.
2637
2638 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
2639 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.initialLayout):
2640 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.layout):
2641 Keep selection on layout.
2642
2643 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.startEditingFirstProperty):
2644 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.startEditingLastProperty):
2645 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyBlur):
2646 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyMouseEnter):
2647 SpreadsheetCSSStyleDeclarationEditor is used by ComputedStyleDetailsPanel, which doesn't have:
2648 - spreadsheetCSSStyleDeclarationEditorPropertyBlur
2649 - spreadsheetCSSStyleDeclarationEditorPropertyMouseEnter
2650
2651 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyFocusMoved):
2652 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._handleKeyDown):
2653 * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
2654 (WI.SpreadsheetCSSStyleDeclarationSection.prototype.initialLayout):
2655 * UserInterface/Views/SpreadsheetStyleProperty.js:
2656 (WI.SpreadsheetStyleProperty.prototype.startEditingName):
2657 (WI.SpreadsheetStyleProperty.prototype.startEditingValue):
2658
bburg@apple.com59fa88c2018-12-03 19:13:17 +000026592018-11-30 Brian Burg <bburg@apple.com>
2660
2661 Web Inspector: resource combining should be more robust against missing WebKitAdditions
2662 https://bugs.webkit.org/show_bug.cgi?id=192255
2663 <rdar://problem/46042879>
2664
2665 Reviewed by Joseph Pecoraro.
2666
2667 * Scripts/copy-user-interface-resources.pl:
2668 (combineOrStripResourcesForWebKitAdditions):
2669
nvasilyev@apple.combd15c462018-12-01 00:15:16 +000026702018-11-30 Nikita Vasilyev <nvasilyev@apple.com>
2671
2672 Web Inspector: Jumping from Computed to Styles should select property
2673 https://bugs.webkit.org/show_bug.cgi?id=192198
2674
2675 Reviewed by Devin Rousso.
2676
2677 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
2678 (.spreadsheet-style-declaration-editor .property.highlighted): Deleted.
2679 (@keyframes style-property-highlight): Deleted.
2680 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
2681 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.highlightProperty):
2682 Remove unnecessary `__propertyView` property.
2683
2684 * UserInterface/Views/SpreadsheetStyleProperty.js:
2685 (WI.SpreadsheetStyleProperty.prototype.detached):
2686 (WI.SpreadsheetStyleProperty.prototype.highlight): Deleted.
2687
mattbaker@apple.com9bc5e7d2018-11-30 22:40:52 +000026882018-11-30 Matt Baker <mattbaker@apple.com>
2689
2690 Web Inspector: REGRESSION(r238599): Multiple Selection: selecting a breakpoint will change the selection to it's parent on the first click
2691 https://bugs.webkit.org/show_bug.cgi?id=192093
2692 <rdar://problem/46318466>
2693
2694 Reviewed by Devin Rousso.
2695
2696 * UserInterface/Views/TreeElement.js:
2697 (WI.TreeElement.prototype.select):
2698 TreeElement shouldn't manage the TreeOutline's selection barrier.
2699
2700 * UserInterface/Views/TreeOutline.js:
2701 (WI.TreeOutline):
2702 (WI.TreeOutline.prototype.get processingSelectionChange):
2703 (WI.TreeOutline.prototype.selectionControllerSelectionDidChange):
2704 (WI.TreeOutline.prototype.selectTreeElementInternal):
2705 The selection re-entry barrier `processingSelectionChange` should be
2706 managed internally by TreeOutline, and exposed as a read-only property.
2707 Fix a bug where the barrier was cleared before dispatching the change
2708 notification, which can cause re-entry as a side effect.
2709
drousso@apple.comd01aed32018-11-30 21:27:54 +000027102018-11-30 Devin Rousso <drousso@apple.com>
2711
2712 Web Inspector: Settings: reload button needs horizontal spacing
2713 https://bugs.webkit.org/show_bug.cgi?id=192231
2714 <rdar://problem/46274363>
2715
2716 Reviewed by Matt Baker.
2717
2718 * UserInterface/Views/SettingsTabContentView.css:
2719 (.content-view.settings > .settings-view > .container button):
2720 (.content-view.settings > .settings-view > .container > .title):
2721 (.content-view.settings > .settings-view > .container > .editor-group > .editor input[type="checkbox"]):
2722 (body[dir=ltr] .content-view.settings > .settings-view > .container > .title): Deleted.
2723 (body[dir=rtl] .content-view.settings > .settings-view > .container > .title): Deleted.
2724 (body[dir=ltr] .content-view.settings > .settings-view > .container > .editor-group > .editor input[type="checkbox"]): Deleted.
2725 (body[dir=rtl] .content-view.settings > .settings-view > .container > .editor-group > .editor input[type="checkbox"]): Deleted.
2726 Drive-by: replace `dir=*` attribute rules with `-webkit-margin-*` properties.
2727
joepeck@webkit.org2b4ec822018-11-30 21:13:27 +000027282018-11-30 Joseph Pecoraro <pecoraro@apple.com>
2729
2730 Web Inspector: Uncaught Exception opening Web Inspector to Debugger Tab
2731 https://bugs.webkit.org/show_bug.cgi?id=192174
2732
2733 Reviewed by Devin Rousso.
2734
2735 * UserInterface/Protocol/InspectorBackend.js:
2736 (InspectorBackendClass.prototype.runAfterPendingDispatches):
2737 Dispatch the callback with a timeout if there is no backend target yet
2738 so it doesn't get lost.
2739
2740 * UserInterface/Protocol/Connection.js:
2741 (InspectorBackend.Connection.prototype.runAfterPendingDispatches):
2742 Change the ambiguous name "script" to the more familiar "callback".
2743
drousso@apple.comb11427e2018-11-30 18:55:38 +000027442018-11-30 Devin Rousso <drousso@apple.com>
2745
2746 Web Inspector: replace all unicode characters with the escaped character code
2747 https://bugs.webkit.org/show_bug.cgi?id=192216
2748 <rdar://problem/46275637>
2749
2750 Reviewed by Brian Burg.
2751
2752 * Localizations/en.lproj/localizedStrings.js:
2753 * UserInterface/Controllers/BreakpointPopoverController.js:
2754 * UserInterface/Debug/UncaughtExceptionReporter.js:
2755 * UserInterface/Models/AuditTestCase.js:
2756 * UserInterface/Models/Canvas.js:
2757 * UserInterface/Models/RecordingAction.js:
2758 * UserInterface/Models/ScriptTimelineRecord.js:
2759 * UserInterface/Views/AuditTestCaseContentView.js:
2760 * UserInterface/Views/AuditTestContentView.js:
2761 * UserInterface/Views/AuditTestGroupContentView.js:
2762 * UserInterface/Views/CallFrameView.js:
2763 * UserInterface/Views/CanvasContentView.js:
2764 * UserInterface/Views/CanvasOverviewContentView.css:
2765 * UserInterface/Views/ConsoleMessageView.css:
2766 * UserInterface/Views/ContextMenuUtilities.js:
2767 * UserInterface/Views/DOMEventsBreakdownView.js:
2768 * UserInterface/Views/DataGrid.css:
2769 * UserInterface/Views/DataGrid.js:
2770 * UserInterface/Views/DatabaseTableContentView.js:
2771 * UserInterface/Views/DebuggerDashboardView.css:
2772 * UserInterface/Views/DebuggerSidebarPanel.js:
2773 * UserInterface/Views/ErrorObjectView.js:
2774 * UserInterface/Views/EventBreakpointPopover.js:
2775 * UserInterface/Views/InlineSwatch.js:
2776 * UserInterface/Views/LayerTreeDataGridNode.js:
2777 * UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
2778 * UserInterface/Views/Layers3DContentView.js:
2779 * UserInterface/Views/LayoutTimelineDataGridNode.js:
2780 * UserInterface/Views/NetworkTableContentView.css:
2781 * UserInterface/Views/NetworkTableContentView.js:
2782 * UserInterface/Views/ObjectPreviewView.js:
2783 * UserInterface/Views/ProfileDataGridNode.js:
2784 * UserInterface/Views/ResourceTimelineDataGridNode.js:
2785 * UserInterface/Views/ScriptDetailsTimelineView.css:
2786 * UserInterface/Views/TextEditor.css:
2787 * UserInterface/Views/TreeOutline.css:
2788
mattbaker@apple.com4a9cfd62018-11-30 00:39:02 +000027892018-11-29 Matt Baker <mattbaker@apple.com>
2790
2791 Web Inspector: RTL: disclosure triangles should be flipped and aligned right
2792 https://bugs.webkit.org/show_bug.cgi?id=192089
2793 <rdar://problem/46316753>
2794
2795 Reviewed by Devin Rousso.
2796
2797 * UserInterface/Views/ComputedStyleSection.css:
2798 (.computed-style-section .computed-property-item .disclosure-button):
2799 (body[dir=rtl] .computed-style-section .computed-property-item .disclosure-button):
2800
2801 * UserInterface/Views/ConsoleMessageView.css:
2802 (.console-message.expandable .console-top-level-message::before):
2803 (body[dir=rtl] .console-message.expandable .console-top-level-message::before):
2804
2805 * UserInterface/Views/ErrorObjectView.css:
2806 (.error-object > .formatted-error::before):
2807 (body[dir=rtl] .error-object > .formatted-error::before):
2808 (.error-object .content):
2809
2810 * UserInterface/Views/LogContentView.css:
2811 (.console-group-title::before):
2812 (body[dir=ltr] .console-group-title::before):
2813 (body[dir=rtl] .console-group-title::before):
2814
2815 * UserInterface/Views/ObjectTreeView.css:
2816 (body[dir=rtl] .object-tree > :matches(.title, .object-preview)::before):
2817
2818 * UserInterface/Views/TypeTreeElement.css:
2819 (body[dir=rtl] .item.type-tree-element.parent > .disclosure-button):
2820
dino@apple.com83016b32018-11-29 18:26:44 +000028212018-11-28 Dean Jackson <dino@apple.com>
2822
2823 [ES Modules] Allow .mjs content when loaded from file://
2824 https://bugs.webkit.org/show_bug.cgi?id=192100
2825 <rdar://problem/46320065>
2826
2827 Reviewed by Sam Weinig.
2828
2829 Add a mapping from .mjs to application/javascript.
2830
2831 * UserInterface/Base/MIMETypeUtilities.js:
2832 (WI.mimeTypeForFileExtension):
2833
mattbaker@apple.com59102622018-11-29 17:50:21 +000028342018-11-29 Matt Baker <mattbaker@apple.com>
2835
2836 Web Inspector: Elements: selecting more than one DOM node causes the scope highlight to contrast
2837 https://bugs.webkit.org/show_bug.cgi?id=192118
2838 <rdar://problem/46325664>
2839
2840 Reviewed by Devin Rousso.
2841
2842 Use an alpha blended border for the "selected" DOM scope highlight,
2843 matching the "hovered" scope highlight.
2844
2845 * UserInterface/Views/DOMTreeOutline.css:
2846 (.tree-outline.dom li.selected + ol.children.expanded):
2847
joepeck@webkit.org1c556cd2018-11-29 04:39:45 +000028482018-11-28 Joseph Pecoraro <pecoraro@apple.com>
2849
2850 Web Inspector: REGRESSION(?): all "Show *" develop menu items cause the page to crash
2851 https://bugs.webkit.org/show_bug.cgi?id=192016
2852 <rdar://problem/46284417>
2853
2854 Reviewed by Devin Rousso.
2855
2856 * UserInterface/Base/Main.js:
2857 (WI.loaded):
2858 (WI.initializeBackendTarget):
2859 (WI.contentLoaded):
2860 (WI.whenTargetsAvailable):
2861 Don't evaluate any InspectorFrontendAPI commands until the frontend
2862 has initialized a main target and the user interface.
2863
nvasilyev@apple.com1a802e72018-11-29 01:11:10 +000028642018-11-28 Nikita Vasilyev <nvasilyev@apple.com>
2865
2866 Web Inspector: Styles: enable selection of multiple properties by default
2867 https://bugs.webkit.org/show_bug.cgi?id=192109
2868 <rdar://problem/46323565>
2869
2870 Reviewed by Devin Rousso.
2871
2872 * UserInterface/Base/Setting.js:
2873 * UserInterface/Views/SettingsTabContentView.js:
2874 (WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
2875 Remove the checkbox.
2876
2877 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
2878 (.spreadsheet-style-declaration-editor .property):
2879 (.spreadsheet-style-declaration-editor :matches(.name, .value):not(.editing)):
2880 (.spreadsheet-style-declaration-editor .property.selected):
2881 (.spreadsheet-style-declaration-editor .property.selected:focus):
2882 (.multiple-properties-selection .spreadsheet-style-declaration-editor .property): Deleted.
2883 (.multiple-properties-selection .spreadsheet-style-declaration-editor :matches(.name, .value):not(.editing)): Deleted.
2884 (.multiple-properties-selection .spreadsheet-style-declaration-editor .property.selected): Deleted.
2885 (.multiple-properties-selection .spreadsheet-style-declaration-editor .property.selected:focus): Deleted.
2886 Remove `.multiple-properties-selection` class.
2887
2888 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
2889 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.initialLayout):
2890 * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
2891 (WI.SpreadsheetCSSStyleDeclarationSection):
2892 (WI.SpreadsheetCSSStyleDeclarationSection.prototype._handleMouseDown):
2893 * UserInterface/Views/SpreadsheetStyleProperty.js:
2894 (WI.SpreadsheetStyleProperty.prototype._createInlineSwatch):
2895 * UserInterface/Views/SpreadsheetTextField.js:
2896 (WI.SpreadsheetTextField):
2897 (WI.SpreadsheetTextField.prototype._handleFocus): Deleted.
2898
drousso@apple.com8f9bd722018-11-29 00:09:51 +000028992018-11-28 Devin Rousso <drousso@apple.com>
2900
2901 Web Inspector: Audit: empty results folder is shown after clearing filters
2902 https://bugs.webkit.org/show_bug.cgi?id=192106
2903
2904 Reviewed by Matt Baker.
2905
2906 * UserInterface/Views/AuditNavigationSidebarPanel.js:
2907 (WI.AuditNavigationSidebarPanel.prototype.applyFiltersToTreeElement): Added.
2908
mattbaker@apple.com54754372018-11-28 19:47:01 +000029092018-11-28 Matt Baker <mattbaker@apple.com>
2910
2911 Web Inspector: Remove unused DataGrid and TreeOutline code
2912 https://bugs.webkit.org/show_bug.cgi?id=191622
2913 <rdar://problem/46052014>
2914
2915 Reviewed by Devin Rousso.
2916
2917 * UserInterface/Views/CanvasDetailsSidebarPanel.js:
2918 (WI.CanvasDetailsSidebarPanel.prototype.initialLayout):
2919
2920 * UserInterface/Views/DOMTreeElement.js:
2921 (WI.DOMTreeElement.prototype.insertChildElement):
2922
2923 * UserInterface/Views/DOMTreeOutline.js:
2924 (WI.DOMTreeOutline):
2925 (WI.DOMTreeOutline.prototype.update):
2926
2927 * UserInterface/Views/DataGrid.js:
2928 (WI.DataGrid.prototype.removeChildrenRecursive): Deleted.
2929
2930 * UserInterface/Views/DataGridNode.js:
2931 (WI.DataGridNode.prototype.removeChildren):
2932 (WI.DataGridNode.prototype.removeChildrenRecursive): Deleted.
2933
2934 * UserInterface/Views/ErrorObjectView.css:
2935 (.error-object:not(.expanded) .content):
2936 (.error-object .content):
2937 (.error-object:not(.expanded) .tree-outline): Deleted.
2938 (.error-object .tree-outline): Deleted.
2939
2940 * UserInterface/Views/ErrorObjectView.js:
2941 (WI.ErrorObjectView):
2942 (WI.ErrorObjectView.prototype.get treeOutline): Deleted.
2943 Use a simple container since TreeOutline features aren't used,
2944 and remove unused property `treeOutline`.
2945
2946 * UserInterface/Views/RecordingTraceDetailsSidebarPanel.js:
2947 (WI.RecordingTraceDetailsSidebarPanel):
2948
2949 * UserInterface/Views/TreeElement.js:
2950 (WI.TreeElement.prototype.removeChildren):
2951 (WI.TreeElement.prototype.removeChildrenRecursive): Deleted.
2952
2953 * UserInterface/Views/TreeOutline.js:
2954 (WI.TreeOutline):
2955 (WI.TreeOutline.prototype.removeChildrenRecursive): Deleted.
2956 (WI.TreeOutline.prototype.reattachIfIndexChanged): Deleted.
2957 Removed `element` parameter now that the only use case has been removed.
2958
mattbaker@apple.coma5893f82018-11-28 02:55:42 +000029592018-11-27 Matt Baker <mattbaker@apple.com>
2960
mattbaker@apple.comdff9b242018-11-28 06:49:34 +00002961 Web Inspector: Elements tab should allow selecting/deleting multiple DOM nodes
2962 https://bugs.webkit.org/show_bug.cgi?id=192059
2963 <rdar://problem/46294827>
2964
2965 Reviewed by Devin Rousso.
2966
2967 Enable multiple DOM node selection in the DOMTreeContentView.
2968
2969 * UserInterface/Controllers/SelectionController.js:
2970 (WI.SelectionController):
2971 (WI.SelectionController.prototype.get allowsEmptySelection):
2972 (WI.SelectionController.prototype.set allowsEmptySelection):
2973 Allow clients to control whether the last selected item can be deselected.
2974 (WI.SelectionController.prototype.deselectItem):
2975 (WI.SelectionController.prototype.didInsertItem):
2976 Rewritten to prevent infinite loop.
2977 (WI.SelectionController.prototype.didRemoveItem):
2978 (WI.SelectionController.prototype._updateSelectedItems):
2979 (WI.SelectionController.prototype._adjustIndexesAfter): Deleted.
2980
2981 * UserInterface/Views/DOMTreeContentView.js:
2982 (WI.DOMTreeContentView):
2983
2984 * UserInterface/Views/DOMTreeElement.js:
2985 (WI.DOMTreeElement.prototype.updateSelectionArea):
2986 * UserInterface/Views/DOMTreeOutline.js:
2987 (WI.DOMTreeOutline.prototype.updateSelection):
2988 Updating the selection area DOM element should not assume that only one
2989 TreeElement is selected at a time.
2990
2991 * UserInterface/Views/TreeOutline.js:
2992 (WI.TreeOutline.prototype.get allowsEmptySelection):
2993 (WI.TreeOutline.prototype.set allowsEmptySelection):
2994 (WI.TreeOutline.prototype.set selectedTreeElement):
2995 (WI.TreeOutline.prototype.get selectedTreeElements):
2996 (WI.TreeOutline.prototype._treeKeyDown):
2997
2998 * UserInterface/Views/TreeOutlineGroup.js:
2999 (WI.TreeOutlineGroup):
3000 (WI.TreeOutlineGroup.prototype._removeConflictingTreeSelections):
3001 Eliminate use of `TreeElement.prototype.deselect`.
3002
30032018-11-27 Matt Baker <mattbaker@apple.com>
3004
mattbaker@apple.coma5893f82018-11-28 02:55:42 +00003005 Web Inspector: TreeOutline should re-use multiple-selection logic from Table
3006 https://bugs.webkit.org/show_bug.cgi?id=191483
3007 <rdar://problem/45953305>
3008
3009 Reviewed by Devin Rousso.
3010
3011 Update TreeOutline to use SelectionController. Adopting SelectionController
3012 in TreeOutline is not as straightforward as it was in Table. Selected items
3013 are tracked by index, and TreeElement lacks an explicit index. As a consequence
3014 TreeElement indexes are calcualted as needed and cached. The cache is cleared
3015 whenever an element is added or removed.
3016
3017 * UserInterface/Controllers/SelectionController.js:
3018 (WI.SelectionController.prototype.didInsertItem):
3019 (WI.SelectionController.prototype.didRemoveItem):
3020 (WI.SelectionController.prototype.handleKeyDown):
3021 Drive-by syntax error fix.
3022 (WI.SelectionController.prototype._adjustIndexesAfter):
3023 (WI.SelectionController):
3024
3025 * UserInterface/Views/DOMTreeElement.js:
3026 (WI.DOMTreeElement.prototype.canSelectOnMouseDown):
3027 (WI.DOMTreeElement.prototype.selectOnMouseDown): Deleted.
3028
3029 * UserInterface/Views/DOMTreeOutline.js:
3030 (WI.DOMTreeOutline.prototype._onmousedown):
3031 Item selection is now handled by SelectionController.
3032
3033 * UserInterface/Views/ShaderProgramTreeElement.js:
3034 (WI.ShaderProgramTreeElement.prototype.canSelectOnMouseDown):
3035 (WI.ShaderProgramTreeElement.prototype.selectOnMouseDown): Deleted.
3036
3037 * UserInterface/Views/TreeElement.js:
3038 (WI.TreeElement.prototype.canSelectOnMouseDown):
3039 (WI.TreeElement.prototype._attach):
3040 (WI.TreeElement.prototype.select):
3041 (WI.TreeElement.prototype.deselect):
3042 Route item selection through the parent TreeOutline, in order to go though
3043 the TreeOutline's SelectionController.
3044
3045 (WI.TreeElement.treeElementMouseDown): Deleted.
3046 Moved handler to TreeOutline, which owns the SelectionController that
3047 needs to respond to mouse events.
3048
3049 * UserInterface/Views/TreeOutline.js:
3050 (WI.TreeOutline):
3051 (WI.TreeOutline.prototype.get allowsMultipleSelection):
3052 (WI.TreeOutline.prototype.set allowsMultipleSelection):
3053 (WI.TreeOutline.prototype.get selectedTreeElement):
3054 (WI.TreeOutline.prototype.set selectedTreeElement):
3055 (WI.TreeOutline.prototype.insertChild):
3056 (WI.TreeOutline.prototype.removeChildAtIndex):
3057 (WI.TreeOutline.prototype._rememberTreeElement):
3058 (WI.TreeOutline.prototype._forgetTreeElement):
3059 (WI.TreeOutline.prototype._treeKeyDown):
3060 (WI.TreeOutline.prototype.selectionControllerNumberOfItems):
3061 (WI.TreeOutline.prototype.selectionControllerSelectionDidChange):
3062 (WI.TreeOutline.prototype.selectionControllerNextSelectableIndex):
3063 (WI.TreeOutline.prototype.selectionControllerPreviousSelectableIndex):
3064 (WI.TreeOutline.prototype.selectTreeElementInternal):
3065 (WI.TreeOutline._generateStyleRulesIfNeeded._indexOfTreeElement.previousElement):
3066 (WI.TreeOutline._generateStyleRulesIfNeeded):
3067
nvasilyev@apple.comf000b0a2018-11-28 00:28:06 +000030682018-11-27 Nikita Vasilyev <nvasilyev@apple.com>
3069
nvasilyev@apple.comb92c36c2018-11-28 01:45:17 +00003070 Web Inspector: Experimental Computed panel is unreadable in Dark Mode
3071 https://bugs.webkit.org/show_bug.cgi?id=192053
3072
3073 Reviewed by Matt Baker.
3074
3075 * UserInterface/Views/ComputedStyleDetailsPanel.css:
3076 (@media (prefers-dark-interface)):
3077 (.computed-with-traces .details-section.computed-style-properties:not(.collapsed) > :matches(.header, .content)):
3078 * UserInterface/Views/ComputedStyleSection.css:
3079 (.computed-style-section .computed-property-item.expanded):
3080 (.computed-style-section .computed-property-item.expanded + .computed-property-item):
3081 (@media (prefers-dark-interface)):
3082
30832018-11-27 Nikita Vasilyev <nvasilyev@apple.com>
3084
nvasilyev@apple.comf000b0a2018-11-28 00:28:06 +00003085 Web Inspector: Computed panel: allow to expand properties to show list of overridden values
3086 https://bugs.webkit.org/show_bug.cgi?id=191984
3087
3088 Reviewed by Devin Rousso.
3089
3090 Introduce the new experimental Computed Style Cascades.
3091
3092 Each property now can expand to show a list of overridden values, their corresponding
3093 selectors, and source locations.
3094
3095 * Localizations/en.lproj/localizedStrings.js:
3096 * UserInterface/Base/Setting.js:
3097 * UserInterface/Main.html:
3098 * UserInterface/Models/DOMNodeStyles.js:
3099 (WI.DOMNodeStyles.prototype.get uniqueOrderedStyles):
3100 Move `uniqueOrderedStyles` function unmodified from SpreadsheetRulesStyleDetailsPanel so it can be used by ComputedStyleDetailsPanel, too.
3101
3102 * UserInterface/Views/ComputedStyleDetailsPanel.css:
3103 (.computed-with-traces .computed-style-properties):
3104 (.computed-with-traces .details-section.computed-style-properties:not(.collapsed) > :matches(.header, .content)):
3105 (.computed-with-traces .details-section.computed-style-properties > .content):
3106 (.computed-with-traces .computed-style-properties .property .go-to-arrow):
3107
3108 * UserInterface/Views/ComputedStyleDetailsPanel.js:
3109 (WI.ComputedStyleDetailsPanel.prototype.refresh):
3110 (WI.ComputedStyleDetailsPanel.prototype.applyFilter):
3111 (WI.ComputedStyleDetailsPanel.prototype.focusFirstSection):
3112 (WI.ComputedStyleDetailsPanel.prototype.initialLayout):
3113 (WI.ComputedStyleDetailsPanel.prototype._computePropertyTraces):
3114 (WI.ComputedStyleDetailsPanel.prototype._computedStyleShowAllCheckboxValueChanged):
3115 (WI.ComputedStyleDetailsPanel.prototype._handlePropertiesSectionCollapsedStateChanged):
3116 (WI.ComputedStyleDetailsPanel.prototype._handleEditorFilterApplied):
3117 (WI.ComputedStyleDetailsPanel):
3118 Use the new Computed section (WI.ComputedStyleSection) only when it's enabled in the experimental settings.
3119 Otherwise, use the current Computed section.
3120
3121 * UserInterface/Views/ComputedStyleDetailsSidebarPanel.js:
3122 (WI.ComputedStyleDetailsSidebarPanel):
3123
3124 * UserInterface/Views/ComputedStyleSection.css: Added.
3125 (.computed-style-section):
3126 (.computed-style-section .computed-property-item):
3127 (.computed-style-section .computed-property-item.expanded):
3128 (.computed-style-section .computed-property-item.expanded + .computed-property-item):
3129 (.computed-style-section .computed-property-item .disclosure-button):
3130 (.computed-style-section .computed-property-item .property-traces):
3131 (.computed-style-section .computed-property-item.expanded .property-traces):
3132 (.computed-style-section .computed-property-item.expanded .disclosure-button):
3133 (.computed-style-section .computed-property-item .property-trace-item):
3134 (.computed-style-section .computed-property-item .property-trace-item .property.overridden .value):
3135 (.computed-style-section .property-trace-item-left,):
3136 (.computed-style-section .property-trace-item-right):
3137 (.computed-style-section .computed-property-item .property-trace-item .value):
3138 (.computed-style-section .property .value):
3139 (.computed-style-section .computed-property-item .property):
3140 (.computed-style-section .computed-property-item .property .name):
3141 (.computed-style-section .computed-property-item .property-trace-item .selector):
3142 (.computed-style-section .computed-property-item .origin):
3143 (.computed-style-section .computed-property-item .go-to-link):
3144 (.computed-style-section .property-trace-item .property .name,):
3145 (.computed-style-section .property-trace-item .property .value + span):
3146 (.computed-style-properties.details-section > .content,):
3147
3148 * UserInterface/Views/ComputedStyleSection.js: Added.
3149 (WI.ComputedStyleSection):
3150 (WI.ComputedStyleSection.prototype.get style):
3151 (WI.ComputedStyleSection.prototype.set style):
3152 (WI.ComputedStyleSection.prototype.get styleTraces):
3153 (WI.ComputedStyleSection.prototype.set styleTraces):
3154 (WI.ComputedStyleSection.prototype.set showsImplicitProperties):
3155 (WI.ComputedStyleSection.prototype.set alwaysShowPropertyNames):
3156 (WI.ComputedStyleSection.prototype.set propertyVisibilityMode):
3157 (WI.ComputedStyleSection.prototype.set hideFilterNonMatchingProperties):
3158 (WI.ComputedStyleSection.prototype.get propertiesToRender):
3159 (WI.ComputedStyleSection.prototype.layout):
3160 (WI.ComputedStyleSection.prototype.detached):
3161 (WI.ComputedStyleSection.prototype.hidden):
3162 (WI.ComputedStyleSection.prototype.applyFilter):
3163 (WI.ComputedStyleSection.prototype.spreadsheetStylePropertyShowProperty):
3164 (WI.ComputedStyleSection.prototype._createTrace):
3165 (WI.ComputedStyleSection.prototype._handlePropertiesChanged):
3166
3167 * UserInterface/Views/ExpandableView.js: Added.
3168 (WI.ExpandableView):
3169 (WI.ExpandableView.prototype.get element):
3170 (WI.ExpandableView.prototype._onDisclosureButtonClick):
3171 (WI.ExpandableView.prototype._update):
3172
3173 * UserInterface/Views/SettingsTabContentView.js:
3174 (WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
3175
3176 * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
3177 (WI.SpreadsheetCSSStyleDeclarationSection.prototype.initialLayout):
3178 (WI.SpreadsheetCSSStyleDeclarationSection.prototype.layout):
3179 Replace `_renderOrigin` with WI.StyleOriginView so it could be used by WI.ComputedStyleSection.
3180
3181 * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:
3182 (WI.SpreadsheetRulesStyleDetailsPanel.prototype.layout):
3183
3184 * UserInterface/Views/SpreadsheetStyleProperty.js:
3185 (WI.SpreadsheetStyleProperty.prototype.update):
3186 (WI.SpreadsheetStyleProperty.prototype._isEditable):
3187 (WI.SpreadsheetStyleProperty.prototype._createInlineSwatch):
3188 Introduce `readOnly` option so WI.SpreadsheetStyleProperty could be used by WI.ComputedStyleSection.
3189
3190 * UserInterface/Views/StyleOriginView.js: Added.
3191 (WI.StyleOriginView):
3192
timothy@apple.comced37162018-11-27 21:16:07 +000031932018-11-27 Timothy Hatcher <timothy@apple.com>
3194
3195 Web Inspector: Add support for forcing color scheme appearance in DOM tree.
3196 https://bugs.webkit.org/show_bug.cgi?id=191820
3197 rdar://problem/46153172
3198
3199 Reviewed by Devin Rousso.
3200
3201 * Localizations/en.lproj/localizedStrings.js: Updated.
3202 * UserInterface/Controllers/CSSManager.js:
3203 (WI.CSSManager):
3204 (WI.CSSManager.prototype.get defaultAppearance): Added.
3205 (WI.CSSManager.prototype.get forcedAppearance): Added.
3206 (WI.CSSManager.prototype.set forcedAppearance): Added.
3207 (WI.CSSManager.prototype.canForceAppearance): Added.
3208 (WI.CSSManager.prototype.defaultAppearanceDidChange): Added.
3209 * UserInterface/Images/Appearance.svg: Added.
3210 * UserInterface/Protocol/PageObserver.js:
3211 (WI.PageObserver.prototype.defaultAppearanceChanged): Added.
3212 * UserInterface/Views/DOMTreeContentView.js:
3213 (WI.DOMTreeContentView):
3214 (WI.DOMTreeContentView.prototype.get navigationItems):
3215 (WI.DOMTreeContentView.prototype._defaultAppearanceDidChange): Added.
3216 (WI.DOMTreeContentView.prototype._toggleAppearance): Added.
3217
mattbaker@apple.com6077fe62018-11-27 19:41:17 +000032182018-11-27 Matt Baker <mattbaker@apple.com>
3219
mattbaker@apple.comd8a45b62018-11-27 21:06:52 +00003220 Web Inspector: Cookies table needs copy keyboard shortcut and context menu support
3221 https://bugs.webkit.org/show_bug.cgi?id=191482
3222 <rdar://problem/45953002>
3223
3224 Reviewed by Joseph Pecoraro.
3225
3226 * UserInterface/Views/CookieStorageContentView.js:
3227 (WI.CookieStorageContentView.prototype.handleCopyEvent):
3228 (WI.CookieStorageContentView.prototype.tableCellContextMenuClicked):
3229 As with Delete, if the target row is selected, all selected rows are copied.
3230 Otherwise only the target row is copied. This distinction will be surfaced
3231 in the UI in https://webkit.org/b/191095.
3232
3233 (WI.CookieStorageContentView.prototype.tablePopulateCell):
3234 (WI.CookieStorageContentView.prototype._cookiesAtIndexes):
3235 (WI.CookieStorageContentView.prototype._formatCookiesAsText):
3236 (WI.CookieStorageContentView.prototype._formatCookiePropertyForColumn):
3237 (WI.CookieStorageContentView):
3238 Break Cookie property formatting into a helper method, which is used for
3239 formatting Table cells and creating plain text for the clipboard.
3240
3241 * UserInterface/Views/Table.js:
3242 (WI.Table.prototype.get columns):
3243
32442018-11-27 Matt Baker <mattbaker@apple.com>
3245
mattbaker@apple.com6077fe62018-11-27 19:41:17 +00003246 Web Inspector: Table selection should be handled by a SelectionController
3247 https://bugs.webkit.org/show_bug.cgi?id=191977
3248 <rdar://problem/46253093>
3249
3250 Reviewed by Devin Rousso.
3251
3252 Add a SelectionController class, which manages an IndexSet of selected
3253 items, and provides operations for adding and removing items from the
3254 selection. Complex behaviors such as shift-clicking to select a range of
3255 items, and updating the selection using the keyboard, are forwarded to
3256 the controller using special-purpose methods that accept DOM Event objects.
3257
3258 * UserInterface/Base/Utilities.js:
3259
3260 * UserInterface/Controllers/SelectionController.js: Added.
3261 (WI.SelectionController):
3262 (WI.SelectionController.prototype.get delegate):
3263 (WI.SelectionController.prototype.get lastSelectedItem):
3264 (WI.SelectionController.prototype.get selectedItems):
3265 (WI.SelectionController.prototype.get allowsMultipleSelection):
3266 (WI.SelectionController.prototype.set allowsMultipleSelection):
3267 (WI.SelectionController.prototype.get numberOfItems):
3268 (WI.SelectionController.prototype.hasSelectedItem):
3269 (WI.SelectionController.prototype.selectItem):
3270 (WI.SelectionController.prototype.deselectItem):
3271 (WI.SelectionController.prototype.selectAll):
3272 (WI.SelectionController.prototype.deselectAll):
3273 (WI.SelectionController.prototype.removeSelectedItems):
3274 (WI.SelectionController.prototype.reset):
3275 (WI.SelectionController.prototype.didRemoveItem):
3276 (WI.SelectionController.prototype.handleKeyDown):
3277 (WI.SelectionController.prototype.handleItemMouseDown.normalizeRange):
3278 (WI.SelectionController.prototype.handleItemMouseDown):
3279 (WI.SelectionController.prototype._deselectAllAndSelect):
3280 (WI.SelectionController.prototype._selectItemsFromArrowKey):
3281 (WI.SelectionController.prototype._nextSelectableIndex):
3282 (WI.SelectionController.prototype._previousSelectableIndex):
3283 (WI.SelectionController.prototype._updateSelectedItems):
3284
3285 * UserInterface/Main.html:
3286 * UserInterface/Test.html:
3287
3288 * UserInterface/Views/Table.js:
3289 (WI.Table):
3290 (WI.Table.prototype.get selectedRow):
3291 (WI.Table.prototype.get selectedRows):
3292 (WI.Table.prototype.get allowsMultipleSelection):
3293 (WI.Table.prototype.set allowsMultipleSelection):
3294 (WI.Table.prototype.isRowSelected):
3295 (WI.Table.prototype.reloadData):
3296 (WI.Table.prototype.selectRow):
3297 (WI.Table.prototype.deselectRow):
3298 (WI.Table.prototype.selectAll):
3299 (WI.Table.prototype.deselectAll):
3300 (WI.Table.prototype.removeRow):
3301 (WI.Table.prototype.removeSelectedRows):
3302 (WI.Table.prototype.selectionControllerSelectionDidChange):
3303 (WI.Table.prototype.selectionControllerNumberOfItems):
3304 (WI.Table.prototype.selectionControllerNextSelectableIndex):
3305 (WI.Table.prototype.selectionControllerPreviousSelectableIndex):
3306 (WI.Table.prototype._handleKeyDown):
3307 (WI.Table.prototype._handleMouseDown):
3308 (WI.Table.prototype._removeRows):
3309 (WI.Table.prototype._toggleSelectedRowStyle):
3310 (WI.Table.prototype._selectRowsFromArrowKey): Deleted.
3311 (WI.Table.prototype._handleMouseDown.normalizeRange): Deleted.
3312 (WI.Table.prototype._deselectAllAndSelect): Deleted.
3313 (WI.Table.prototype._notifySelectionDidChange): Deleted.
3314 (WI.Table.prototype._updateSelectedRows): Deleted.
3315
drousso@apple.com3842b8e2018-11-26 18:20:55 +000033162018-11-26 Devin Rousso <drousso@apple.com>
3317
drousso@apple.com4ff7fa12018-11-26 19:01:04 +00003318 Web Inspector: "No Filter Results" in navigation sidebar should have a button to clear filters
3319 https://bugs.webkit.org/show_bug.cgi?id=191916
3320
3321 Reviewed by Joseph Pecoraro.
3322
3323 * UserInterface/Views/NavigationSidebarPanel.js:
3324 (WI.NavigationSidebarPanel.prototype.resetFilter): Added.
3325 (WI.NavigationSidebarPanel.prototype._checkForEmptyFilterResults.checkTreeOutlineForEmptyFilterResults):
3326
3327 * UserInterface/Views/FilterBar.js:
3328 (WI.FilterBar.prototype.clear):
3329
3330 * UserInterface/Views/FilterBarButton.js:
3331 (WI.FilterBarButton.prototype.toggle):
3332
3333 * UserInterface/Views/ResourceSidebarPanel.js:
3334 (WI.ResourceSidebarPanel.prototype.resetFilter): Added.
3335 * UserInterface/Views/StorageSidebarPanel.js:
3336 (WI.StorageSidebarPanel.prototype.resetFilter): Added.
3337
3338 * UserInterface/Views/AuditTestContentView.js:
3339 (WI.AuditTestContentView.prototype.showFilteredPlaceholder):
3340 * UserInterface/Views/NetworkTableContentView.js:
3341 (WI.NetworkTableContentView.prototype._showEmptyFilterResultsMessage):
3342
3343 * UserInterface/Views/Main.css:
3344 (.message-text-view > .message + button): Added.
3345
3346 * Localizations/en.lproj/localizedStrings.js:
3347
33482018-11-26 Devin Rousso <drousso@apple.com>
3349
drousso@apple.com3842b8e2018-11-26 18:20:55 +00003350 Web Inspector: Audit: automatically add to tab bar when the experimental setting is enabled
3351 https://bugs.webkit.org/show_bug.cgi?id=191659
3352
3353 Reviewed by Joseph Pecoraro.
3354
3355 * UserInterface/Views/SettingsTabContentView.js:
3356 (WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
3357
3358 * UserInterface/Base/Main.js:
3359 (WI.loaded):
3360 Drive-by: use existing constants instead of hard-coded strings for consistency.
3361
drousso@apple.com1a4ff492018-11-25 22:11:24 +000033622018-11-25 Devin Rousso <drousso@apple.com>
3363
3364 Web Inspector: Timelines: add Media timeline
3365 https://bugs.webkit.org/show_bug.cgi?id=191625
3366
3367 Reviewed by Matt Baker.
3368
3369 Add a new timeline to Timelines for media related events (e.g. event/fullscreen/low-power).
3370 Mimics what is visible by using the same instrumentation points as the Network tab when
3371 "Group Media Requests" is enabled.
3372
3373 * UserInterface/Models/MediaInstrument.js: Added.
3374 (WI.MediaInstrument):
3375 (WI.MediaInstrument.supported):
3376 (WI.MediaInstrument.prototype.get timelineRecordType):
3377 (WI.MediaInstrument.prototype.startInstrumentation):
3378 (WI.MediaInstrument.prototype.stopInstrumentation):
3379
3380 * UserInterface/Models/MediaTimelineRecord.js: Added.
3381 (WI.MediaTimelineRecord):
3382 (WI.MediaTimelineRecord.prototype.get eventType):
3383 (WI.MediaTimelineRecord.prototype.get domNode):
3384 (WI.MediaTimelineRecord.prototype.get domEvent):
3385 (WI.MediaTimelineRecord.prototype.get isLowPower):
3386 (WI.MediaTimelineRecord.prototype.get displayName):
3387 (WI.MediaTimelineRecord.prototype.saveIdentityToCookie):
3388
3389 * UserInterface/Views/MediaTimelineDataGridNode.js: Added.
3390 (WI.MediaTimelineDataGridNode):
3391 (WI.MediaTimelineDataGridNode.prototype.get records):
3392 (WI.MediaTimelineDataGridNode.prototype.get data):
3393 (WI.MediaTimelineDataGridNode.prototype.createCellContent):
3394 (WI.MediaTimelineDataGridNode.prototype.iconClassNames):
3395 (WI.MediaTimelineDataGridNode.prototype.filterableDataForColumn):
3396
3397 * UserInterface/Views/MediaTimelineOverviewGraph.js: Added.
3398 (WI.MediaTimelineOverviewGraph):
3399 (WI.MediaTimelineOverviewGraph.prototype.reset):
3400 (WI.MediaTimelineOverviewGraph.prototype.shown):
3401 (WI.MediaTimelineOverviewGraph.prototype.hidden):
3402 (WI.MediaTimelineOverviewGraph.prototype.layout):
3403 (WI.MediaTimelineOverviewGraph.prototype.updateSelectedRecord):
3404 (WI.MediaTimelineOverviewGraph.prototype._handleRecordAdded):
3405 * UserInterface/Views/MediaTimelineOverviewGraph.css: Added.
3406 (.timeline-overview-graph.media > .timeline-record-bar):
3407 (.timeline-overview-graph.media > .timeline-record-bar > .segment):
3408
3409 * UserInterface/Views/MediaTimelineView.js: Added.
3410 (WI.MediaTimelineView):
3411 (WI.MediaTimelineView.prototype.get secondsPerPixel):
3412 (WI.MediaTimelineView.prototype.get selectionPathComponents):
3413 (WI.MediaTimelineView.prototype.closed):
3414 (WI.MediaTimelineView.prototype.reset):
3415 (WI.MediaTimelineView.prototype.dataGridSortComparator.compareDOMNodes):
3416 (WI.MediaTimelineView.prototype.dataGridSortComparator.):
3417 (WI.MediaTimelineView.prototype.dataGridSortComparator):
3418 (WI.MediaTimelineView.prototype.layout):
3419 (WI.MediaTimelineView.prototype._processPendingRecords):
3420 (WI.MediaTimelineView.prototype._handleRecordAdded):
3421 (WI.MediaTimelineView.prototype._handleSelectionPathComponentSiblingSelected):
3422 * UserInterface/Views/MediaTimelineView.css: Added.
3423 (.timeline-view.media > .data-grid):
3424
3425 * UserInterface/Views/DOMEventsBreakdownView.js:
3426 (WI.DOMEventsBreakdownView.prototype.layout):
3427 * UserInterface/Views/DOMNodeEventsContentView.js:
3428 (WI.DOMNodeEventsContentView.prototype.initialLayout):
3429 * UserInterface/Views/NetworkDOMNodeDetailView.js:
3430 (WI.NetworkDOMNodeDetailView):
3431 (WI.NetworkDOMNodeDetailView.prototype.showContentViewForIdentifier):
3432 * UserInterface/Views/NetworkTableContentView.js:
3433 (WI.NetworkTableContentView):
3434 (WI.NetworkTableContentView.prototype.get filterNavigationItems):
3435 (WI.NetworkTableContentView.prototype._populateWaterfallGraph):
3436 (WI.NetworkTableContentView.prototype._showDetailView):
3437 (WI.NetworkTableContentView.prototype._waterfallPopoverContentForNodeEntry):
3438 Remove passing of `startTimestamp` to `WI.DOMEventsBreakdownView`, as we should be showing
3439 absolute timestamps for each event, not relative to the start of the recording.
3440
3441 * UserInterface/Views/TimelineIcons.css:
3442 (.media-icon .icon): Added.
3443 (.dom-event-record .icon): Added.
3444 (.dom-event-record.fullscreen .icon): Added.
3445 (.low-power-record .icon): Added.
3446
3447 * UserInterface/Controllers/TimelineManager.js:
3448 (WI.TimelineManager.availableTimelineTypes):
3449 (WI.TimelineManager.prototype.capturingStarted):
3450 (WI.TimelineManager.prototype.capturingStopped):
3451 (WI.TimelineManager.prototype._updateAutoCaptureInstruments):
3452 (WI.TimelineManager.prototype._handleDOMNodeDidFireEvent): Added.
3453 (WI.TimelineManager.prototype._handleDOMNodeLowPowerChanged): Added.
3454
3455 * UserInterface/Views/TimelineRuler.js:
3456 (WI.TimelineRuler.prototype.clearMarkers):
3457 (WI.TimelineRuler.prototype._handleClick):
3458 * UserInterface/Views/TimelineOverview.js:
3459 (WI.TimelineOverview.prototype._timelineRulerMouseClicked):
3460 * UserInterface/Models/TimelineRecording.js:
3461 (WI.TimelineRecording.prototype.reset):
3462 (WI.TimelineRecording.prototype.addEventMarker):
3463 (WI.TimelineRecording.prototype.addRecord):
3464 (WI.TimelineRecording.prototype._keyForRecord):
3465 Drive-by: rework the logic for "click" event pass-through to the graph underneath.
3466
3467 * UserInterface/Models/Instrument.js:
3468 (WI.Instrument.createForTimelineType):
3469
3470 * UserInterface/Models/TimelineRecord.js:
3471
3472 * UserInterface/Views/TimelineTabContentView.js:
3473 (WI.TimelineTabContentView.displayNameForTimelineType):
3474 (WI.TimelineTabContentView.iconClassNameForTimelineType):
3475 (WI.TimelineTabContentView.genericClassNameForTimelineType):
3476 (WI.TimelineTabContentView.iconClassNameForRecord):
3477 (WI.TimelineTabContentView.displayNameForRecord):
3478 * UserInterface/Views/TimelineRecordBar.css:
3479 (.timeline-record-bar.timeline-record-type-media > .segment): Added.
3480
3481 * UserInterface/Views/ContentView.js:
3482 (WI.ContentView.createFromRepresentedObject):
3483 * UserInterface/Views/TimelineOverviewGraph.js:
3484 (WI.TimelineOverviewGraph.createForTimeline):
3485
3486 * UserInterface/Models/ScriptTimelineRecord.js:
3487 (WI.ScriptTimelineRecord.EventType.displayName):
3488
3489 * UserInterface/Main.html:
3490 * UserInterface/Test.html:
3491 * Localizations/en.lproj/localizedStrings.js:
3492 * UserInterface/Images/DOMEvent.svg: Added.
3493 * UserInterface/Images/DOMEventFullscreen.svg: Added.
3494 * UserInterface/Images/LowPower.svg: Added.
3495 * UserInterface/Images/MediaInstrument.svg: Added.
3496
mattbaker@apple.com58ce0e12018-11-25 21:44:43 +000034972018-11-25 Matt Baker <mattbaker@apple.com>
3498
3499 Web Inspector: Remove parameters from TreeOutline SelectionDidChange event
3500 https://bugs.webkit.org/show_bug.cgi?id=191770
3501
3502 Reviewed by Devin Rousso.
3503
3504 * UserInterface/Controllers/CallFrameTreeController.js:
3505 (WI.CallFrameTreeController.prototype._treeSelectionDidChange):
3506 * UserInterface/Views/AuditNavigationSidebarPanel.js:
3507 (WI.AuditNavigationSidebarPanel.prototype._treeSelectionDidChange):
3508 * UserInterface/Views/CanvasSidebarPanel.js:
3509 (WI.CanvasSidebarPanel):
3510 (WI.CanvasSidebarPanel.prototype._treeSelectionDidChange):
3511 (WI.CanvasSidebarPanel.prototype._treeOutlineSelectionDidChange): Deleted.
3512 * UserInterface/Views/CanvasTabContentView.js:
3513 (WI.CanvasTabContentView.prototype._canvasTreeOutlineSelectionDidChange):
3514 * UserInterface/Views/DebuggerSidebarPanel.js:
3515 (WI.DebuggerSidebarPanel.prototype._treeSelectionDidChange):
3516 * UserInterface/Views/OpenResourceDialog.js:
3517 (WI.OpenResourceDialog.prototype._treeSelectionDidChange):
3518 * UserInterface/Views/ResourceSidebarPanel.js:
3519 (WI.ResourceSidebarPanel.prototype._treeSelectionDidChange):
3520 * UserInterface/Views/SearchSidebarPanel.js:
3521 (WI.SearchSidebarPanel.prototype._treeSelectionDidChange):
3522 * UserInterface/Views/StorageSidebarPanel.js:
3523 (WI.StorageSidebarPanel._treeSelectionDidChange):
3524 * UserInterface/Views/TimelineDataGrid.js:
3525 (WI.TimelineDataGrid.prototype._popoverCallStackTreeSelectionDidChange):
3526 (WI.TimelineDataGrid):
3527 * UserInterface/Views/TimelineTabContentView.js:
3528 (WI.TimelineTabContentView.prototype._recordingsTreeSelectionDidChange):
3529 Use `event.target.selectedTreeElement` instead of `event.data.selectedElement`.
3530
3531 * UserInterface/Views/TimelineOverview.js:
3532 (WI.TimelineOverview.prototype._timelinesTreeSelectionDidChange):
3533 (WI.TimelineOverview.prototype._timelinesTreeSelectionDidChange.updateGraphSelectedState): Deleted.
3534 Refactor away the single place `event.data.deselectedElement` was used.
3535
3536 * UserInterface/Views/TreeElement.js:
3537 (WI.TreeElement.prototype.select):
3538 (WI.TreeElement.prototype.deselect):
3539 Remove `selectedElement` and `deselectedElement` from event data.
3540
drousso@apple.com024edb42018-11-20 01:15:15 +000035412018-11-19 Devin Rousso <drousso@apple.com>
3542
3543 Web Inspector: Audit: removing and re-adding the tab will duplicate tests
3544 https://bugs.webkit.org/show_bug.cgi?id=191843
3545
3546 Reviewed by Matt Baker.
3547
3548 * UserInterface/Controllers/AuditManager.js:
3549 (WI.AuditManager.prototype.loadStoredTests):
3550 If we already have tests, don't attempt to load any stored tests.
3551
joepeck@webkit.orgba4c46c2018-11-19 20:51:40 +000035522018-11-19 Joseph Pecoraro <pecoraro@apple.com>
3553
3554 Web Inspector: "Reload Web Inspector" button no longer partially works
3555 https://bugs.webkit.org/show_bug.cgi?id=191773
3556 <rdar://problem/46139932>
3557
3558 Reviewed by Devin Rousso.
3559
3560 * UserInterface/Base/Main.js:
3561 * UserInterface/Debug/UncaughtExceptionReporter.js:
3562 (sheetElement.innerHTML):
3563 * UserInterface/Views/SettingsTabContentView.js:
3564
drousso@apple.coma91d8ee2018-11-17 18:27:42 +000035652018-11-17 Devin Rousso <drousso@apple.com>
3566
3567 Web Inspector: Network: add button to show system certificate dialog
3568 https://bugs.webkit.org/show_bug.cgi?id=191458
3569 <rdar://problem/45977019>
3570
3571 Reviewed by Joseph Pecoraro.
3572
3573 * UserInterface/Controllers/NetworkManager.js:
3574 (WI.NetworkManager.supportsShowCertificate): Added.
3575
3576 * UserInterface/Models/Resource.js:
3577 (WI.Resource.prototype.showCertificate): Added.
3578
3579 * UserInterface/Views/ResourceSecurityContentView.js:
3580 (WI.ResourceSecurityContentView.prototype._refreshCetificateSection):
3581 * UserInterface/Views/ResourceSecurityContentView.css:
3582 (.resource-security .details > .show-certificate > .key): Added.
3583 (.resource-security .details > .show-certificate > .key > .error): Added.
3584
3585 * Localizations/en.lproj/localizedStrings.js:
3586
drousso@apple.comada025932018-11-17 02:10:43 +000035872018-11-16 Devin Rousso <drousso@apple.com>
3588
drousso@apple.com131eb812018-11-17 02:14:44 +00003589 Web Inspector: Audit: add default tests
3590 https://bugs.webkit.org/show_bug.cgi?id=191758
3591
3592 Reviewed by Matt Baker.
3593
3594 * UserInterface/Controllers/AuditManager.js:
3595 (WI.AuditManager.prototype.loadStoredTests):
3596 (WI.AuditManager.prototype.addDefaultTestsIfNeeded): Added.
3597 If there are no previously saved tests in the database, automatically add the default set.
3598
3599 * UserInterface/Views/AuditNavigationSidebarPanel.js:
3600 (WI.AuditNavigationSidebarPanel.prototype._addTest):
3601 (WI.AuditNavigationSidebarPanel.prototype._addResult):
3602 (WI.AuditNavigationSidebarPanel.prototype._handleAuditTestRemoved):
3603 * UserInterface/Views/AuditNavigationSidebarPanel.css:
3604 (.sidebar > .panel.navigation.audit.has-results:not(.has-tests) > .content > .message-text-view): Added.
3605 (.sidebar > .panel.navigation.audit.has-results:not(.has-tests) > .content > .message-text-view > .message): Added.
3606 (.sidebar > .panel.navigation.audit.has-results:not(.has-tests) > .content > .message-text-view > button): Added.
3607 When the last test is removed, show a placeholder message that allows the user to re-add the
3608 default set of tests.
3609
3610 * UserInterface/Views/NavigationSidebarPanel.js:
3611 (WI.NavigationSidebarPanel.prototype.showEmptyContentPlaceholder):
3612 (WI.NavigationSidebarPanel.prototype._createEmptyContentPlaceholderIfNeeded):
3613
3614 * Localizations/en.lproj/localizedStrings.js:
3615
36162018-11-16 Devin Rousso <drousso@apple.com>
3617
drousso@apple.comada025932018-11-17 02:10:43 +00003618 Web Inspector: Audit: minor style improvements
3619 https://bugs.webkit.org/show_bug.cgi?id=191727
3620
3621 Reviewed by Joseph Pecoraro.
3622
3623 * UserInterface/Controllers/AuditManager.js:
3624 (WI.AuditManager):
3625 (WI.AuditManager.prototype._handleFrameMainResourceDidChange): Added.
3626 Clear test results when the main frame navigates, but don't clear the saved results.
3627
3628 * UserInterface/Models/AuditTestCase.js:
3629 (WI.AuditTestCase.prototype.async run):
3630 * UserInterface/Models/AuditTestCaseResult.js:
3631 (WI.AuditTestCaseResult):
3632 (WI.AuditTestCaseResult.async fromPayload):
3633 (WI.AuditTestCaseResult.prototype.get resolvedDOMNodes): Added.
3634 (WI.AuditTestCaseResult.prototype.toJSON):
3635 Capture the full CSS path for any returned DOM nodes when the test finishes running, so that
3636 if the node moves around the path isn't modified as well.
3637
3638 * UserInterface/Views/AuditTestCaseContentView.js:
3639 (WI.AuditTestCaseContentView.prototype.layout):
3640 Always show the URL for the test when viewing a saved result.
3641
3642 * UserInterface/Views/AuditTestContentView.css:
3643 (.content-view-container > .content-view.audit-test > header p):
3644 (.content-view.audit-test > header):
3645 * UserInterface/Views/AuditTestCaseContentView.css:
3646 (.content-view.audit-test-case > header): Added.
3647 (.content-view.audit-test-case > header h1 > img):
3648 (.content-view.audit-test-case > header > .metadata > .source): Added.
3649 (.content-view.audit-test-case > header > .metadata > .duration):
3650 (.content-view.audit-test-case > section table > tr > td:first-child):
3651 * UserInterface/Views/AuditTestGroupContentView.css:
3652 (.content-view.audit-test-group > header):
3653 Horizontally align items in the header for visual consistency.
3654
joepeck@webkit.org405b46f2018-11-17 01:28:41 +000036552018-11-16 Joseph Pecoraro <pecoraro@apple.com>
3656
joepeck@webkit.orgb143ce22018-11-17 01:28:44 +00003657 Web Inspector: Include default filtering of InspectorBackend.dumpInspectorProtocolMessages with multi target backend
3658 https://bugs.webkit.org/show_bug.cgi?id=191785
3659
3660 Reviewed by Matt Baker.
3661
3662 * UserInterface/Debug/Bootstrap.js:
3663 (dumpMessagesCurrentState):
3664 (applyDumpMessagesState):
3665 (WI.runBootstrapOperations):
3666 Include tri-state for the logs button.
3667
3668 * UserInterface/Protocol/InspectorBackend.js:
3669 (InspectorBackendClass.prototype.set filterMultiplexingBackendInspectorProtocolMessages):
3670 (InspectorBackendClass.prototype.get filterMultiplexingBackendInspectorProtocolMessages):
3671 (InspectorBackendClass.prototype._startOrStopAutomaticTracing):
3672 Add new filtering state (the Setting already got added in the past).
3673
3674 * UserInterface/Protocol/LoggingProtocolTracer.js:
3675 (WI.LoggingProtocolTracer):
3676 (WI.LoggingProtocolTracer.prototype.set filterMultiplexingBackend):
3677 (WI.LoggingProtocolTracer.prototype.get filterMultiplexingBackend):
3678 (WI.LoggingProtocolTracer.prototype._processEntry):
3679 Perform new filtering.
3680
36812018-11-16 Joseph Pecoraro <pecoraro@apple.com>
3682
joepeck@webkit.org405b46f2018-11-17 01:28:41 +00003683 Web Inspector: Keep Web Inspector window alive across process swaps (PSON) (Local Inspector)
3684 https://bugs.webkit.org/show_bug.cgi?id=191740
3685 <rdar://problem/45470897>
3686
3687 Reviewed by Timothy Hatcher.
3688
3689 * UserInterface/Protocol/Connection.js:
3690 (InspectorBackend.Connection.prototype._dispatchResponse):
3691 Hide the TargetAgent does not exist message. This is necessary so that WebKitLegacy
3692 tests don't include this line in output each test.
3693
3694 * UserInterface/Test.html:
3695 * UserInterface/Test/Test.js:
3696 (WI.loaded):
3697 (WI.resetMainExecutionContext):
3698 (WI.performOneTimeFrontendInitializationsUsingTarget):
3699 Behave more like Main.js and initialize a MultiplexingBackendTarget when the
3700 TargetAgent is available.
3701
3702 * UserInterface/Protocol/InspectorBackend.js:
3703 (InspectorBackendClass.prototype.runAfterPendingDispatches):
3704 Use the main target, a.k.a. the page connection. The backend target's
3705 messages don't have any responses, so this was effectively not waiting
3706 at all.
3707
mattbaker@apple.comb9d3ef02018-11-16 22:45:13 +000037082018-11-16 Matt Baker <mattbaker@apple.com>
3709
3710 Web Inspector: TreeOutline shouldn't select first child of an expanded element on right arrow key
3711 https://bugs.webkit.org/show_bug.cgi?id=191766
3712
3713 Reviewed by Devin Rousso.
3714
3715 * UserInterface/Views/TreeOutline.js:
3716 (WI.TreeOutline.prototype._treeKeyDown):
3717
mattbaker@apple.com19ad3fb2018-11-14 22:54:18 +000037182018-11-14 Matt Baker <mattbaker@apple.com>
3719
3720 Web Inspector: Table should recalculate scrollable height when resized
3721 https://bugs.webkit.org/show_bug.cgi?id=191328
3722 <rdar://problem/45854412>
3723
3724 Reviewed by Devin Rousso.
3725
3726 * UserInterface/Views/NetworkTableContentView.js:
3727 (WI.NetworkTableContentView.prototype._hideDetailView):
3728 Force table columns to layout after hiding the detail view.
3729
3730 * UserInterface/Views/Table.js:
3731 (WI.Table):
3732 (WI.Table.prototype.showColumn):
3733 Call `_resizeColumnsAndFiller` instead of `resize`. The latter also cleared
3734 `_cachedWidth`, which isn't unnecessary since the width hasn't changed.
3735
3736 (WI.Table.prototype.layout):
3737 previously `_resizeColumnsAndFiller` always occurred after `_updateVisibleRows`,
3738 it was just a matter of whether the cached width and height were cleared first.
3739 That now happens in `sizeDidChange`.
3740
3741 (WI.Table.prototype.sizeDidChange):
3742 (WI.Table.prototype._updateVisibleRows):
3743 (WI.Table.prototype.resize): Deleted.
3744 Internally this cleared the cached width and height, which moved to `sizeDidChange`.
3745 Externally this was used by NetworkTableContentView to force columns to
3746 layout after hiding the details view. Calling `updateLayout` on the table
3747 accomplishes the same thing using the standard View API.
3748
3749 (WI.Table.prototype._resizeColumnsAndFiller):
3750 Only update the cached width, since the height will already have been
3751 updated. The number of rows doesn't change during this method, so that
3752 check was removed.
3753
drousso@apple.com1a95e122018-11-14 22:39:25 +000037542018-11-14 Devin Rousso <drousso@apple.com>
3755
3756 Web Inspector: REGRESSION(r236540): Debugger: breakpoints are sorted alphabetically instead of numerically
3757 https://bugs.webkit.org/show_bug.cgi?id=191560
3758
3759 Reviewed by Joseph Pecoraro.
3760
3761 When sorting breakpoints, if the `WI.TreeElement`s being compared both contain instances of
3762 `WI.Breakpoint`, sort by `WI.SourceCodeLocation` instead of title.
3763
3764 We only do this for `WI.Breakpoint` because they are the only debuggable item that has a
3765 `WI.SourceCodeLocation` (e.g. `WI.EventBreakpoint` is just an event name string).
3766
3767 * UserInterface/Views/DebuggerSidebarPanel.js:
3768 (WI.DebuggerSidebarPanel.prototype._addTreeElement):
3769 (WI.DebuggerSidebarPanel.prototype._compareBreakpointTreeElements): Added.
3770 (WI.DebuggerSidebarPanel.prototype._addIssue):
3771 (WI.DebuggerSidebarPanel.prototype._addTreeElement.comparator): Deleted.
3772 (WI.DebuggerSidebarPanel.prototype._compareTreeElements): Deleted.
3773
nvasilyev@apple.comd65334b2018-11-14 22:28:52 +000037742018-11-14 Nikita Vasilyev <nvasilyev@apple.com>
3775
3776 Web Inspector: Styles: shift-clicking on a property should extend selection
3777 https://bugs.webkit.org/show_bug.cgi?id=191575
3778 <rdar://problem/46012855>
3779
3780 Reviewed by Devin Rousso.
3781
3782 When there's at least one property is selected, Shift-clicking another property should extend the selection.
3783 Pressing Up or Down keys while holding Shift also extends the selection.
3784
3785 Remove unnecessary `_startedSelection`. Use `hasSelectedProperties` and `_isMousePressed` instead.
3786
3787 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
3788 `_isMousePressed` was set to `true` by mistake, causing numerous assertion fails.
3789
3790 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.set focusIndex):
3791 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.hasSelectedProperties): Renamed from _hasSelectedProperties.
3792 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.extendSelectedProperties): Added.
3793 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyMouseLeave): Removed.
3794 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyCopy):
3795
3796 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._handleKeyDown):
3797 Implement Shift-ArrowUp/ArrowDown keys.
3798
3799 * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
3800 (WI.SpreadsheetCSSStyleDeclarationSection):
3801 (WI.SpreadsheetCSSStyleDeclarationSection.prototype.spreadsheetCSSStyleDeclarationEditorPropertyBlur):
3802 (WI.SpreadsheetCSSStyleDeclarationSection.prototype.spreadsheetCSSStyleDeclarationEditorPropertyMouseLeave): Removed.
3803 This was only used to set _startedSelection.
3804
3805 (WI.SpreadsheetCSSStyleDeclarationSection.prototype._handleMouseDown):
3806 (WI.SpreadsheetCSSStyleDeclarationSection.prototype._handleWindowClick):
3807 (WI.SpreadsheetCSSStyleDeclarationSection.prototype._handleClick):
3808 Remove _startedSelection and use hasSelectedProperties method instead.
3809
3810 * UserInterface/Views/SpreadsheetStyleProperty.js:
3811 (WI.SpreadsheetStyleProperty):
3812 Remove spreadsheetStylePropertyMouseLeave since it is no longer used.
3813
drousso@apple.com1d97eb62018-11-14 22:01:03 +000038142018-11-14 Devin Rousso <drousso@apple.com>
3815
drousso@apple.com298739e2018-11-14 22:03:14 +00003816 Web Inspector: Canvas: send a call stack with each action instead of an array of call frames
3817 https://bugs.webkit.org/show_bug.cgi?id=191628
3818
3819 Reviewed by Dean Jackson.
3820
3821 * UserInterface/Models/Recording.js:
3822 (WI.Recording.prototype.async swizzle):
3823
3824 * UserInterface/Models/RecordingAction.js:
3825 (WI.RecordingAction.fromPayload):
3826 (WI.RecordingAction.prototype.async swizzle):
3827
38282018-11-14 Devin Rousso <drousso@apple.com>
3829
drousso@apple.com1d97eb62018-11-14 22:01:03 +00003830 Web Inspector: add drag+drop for importing Audits and Recordings
3831 https://bugs.webkit.org/show_bug.cgi?id=191566
3832
3833 Reviewed by Joseph Pecoraro.
3834
3835 Reorganize the file loading logic for the Audit and Canvas tabs/managers. Add "drop" event
3836 handlers to the tabs that add and show the corresponding object for the imported data.
3837
3838 * UserInterface/Views/AuditTabContentView.js:
3839 (WI.AuditTabContentView):
3840 (WI.AuditTabContentView.prototype._handleDragOver): Added.
3841 (WI.AuditTabContentView.prototype._handleDrop): Added.
3842 * UserInterface/Views/CanvasTabContentView.js:
3843 (WI.CanvasTabContentView):
3844 (WI.CanvasTabContentView.prototype._addCanvas):
3845 (WI.CanvasTabContentView.prototype._recordingImportedOrStopped):
3846 (WI.CanvasTabContentView.prototype._handleDragOver): Added.
3847 (WI.CanvasTabContentView.prototype._handleDrop): Added.
3848
3849 * UserInterface/Controllers/AuditManager.js:
3850 (WI.AuditManager.prototype.async processJSON): Added.
3851 (WI.AuditManager.prototype.export):
3852 (WI.AuditManager.prototype.import): Deleted.
3853 * UserInterface/Controllers/CanvasManager.js:
3854 (WI.CanvasManager.prototype.processJSON): Added.
3855 (WI.CanvasManager.prototype.importRecording): Deleted.
3856
3857 * UserInterface/Views/AuditNavigationSidebarPanel.js:
3858 (WI.AuditNavigationSidebarPanel):
3859 (WI.AuditNavigationSidebarPanel.prototype.showDefaultContentView):
3860 (WI.AuditNavigationSidebarPanel.prototype._handleImportButtonNavigationItemClicked):
3861 * UserInterface/Views/CanvasSidebarPanel.js:
3862 (WI.CanvasSidebarPanel):
3863 (WI.CanvasSidebarPanel.prototype._handleImportButtonNavigationItemClicked): Added.
3864 (WI.CanvasSidebarPanel.prototype._recordingChanged):
3865 (WI.CanvasSidebarPanel.prototype._updateRecordNavigationItem):
3866
3867 * UserInterface/Views/CanvasOverviewContentView.js:
3868 (WI.CanvasOverviewContentView):
3869 (WI.CanvasOverviewContentView.prototype._handleImportButtonNavigationItemClicked): Added.
3870
3871 * UserInterface/Base/FileUtilities.js:
3872 (WI.FileUtilities.save): Added.
3873 (WI.FileUtilities.importText): Added.
3874 (WI.FileUtilities.importJSON): Added.
3875 (WI.FileUtilities.async readText): Added.
3876 (WI.FileUtilities.async readJSON): Added.
3877 (WI.saveDataToFile): Deleted.
3878 (WI.loadDataFromFile): Deleted.
3879 * UserInterface/Base/Main.js:
3880 (WI._contextMenuRequested):
3881 (WI._save):
3882 (WI._saveAs):
3883 * UserInterface/Views/ContextMenuUtilities.js:
3884 (WI.appendContextMenuItemsForSourceCode):
3885 * UserInterface/Views/LogContentView.js:
3886 (WI.LogContentView.prototype._handleContextMenuEvent):
3887 * UserInterface/Views/NetworkTableContentView.js:
3888 (WI.NetworkTableContentView.prototype._exportHAR):
3889 * UserInterface/Views/RecordingContentView.js:
3890 (WI.RecordingContentView.prototype._exportRecording):
3891 * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
3892 (WI.SpreadsheetCSSStyleDeclarationSection.prototype._save):
3893 Move file related functions into a static class container.
3894
3895 * Localizations/en.lproj/localizedStrings.js:
3896
joepeck@webkit.org2c9574f2018-11-14 21:03:49 +000038972018-11-14 Joseph Pecoraro <pecoraro@apple.com>
3898
joepeck@webkit.org6accdc12018-11-14 21:59:06 +00003899 Web Inspector: Include target identifier in protocol logging
3900 https://bugs.webkit.org/show_bug.cgi?id=191478
3901
3902 Reviewed by Devin Rousso.
3903
3904 * UserInterface/Protocol/Connection.js:
3905 (InspectorBackend.Connection.prototype._dispatchResponse):
3906 (InspectorBackend.Connection.prototype._dispatchEvent):
3907 (InspectorBackend.Connection.prototype._sendMessageToBackend):
3908 Call tracer log methods with the connection.
3909
3910 * UserInterface/Debug/CapturingProtocolTracer.js:
3911 * UserInterface/Protocol/ProtocolTracer.js:
3912 * UserInterface/Protocol/LoggingProtocolTracer.js:
3913 (WI.LoggingProtocolTracer):
3914 (WI.LoggingProtocolTracer.prototype.logFrontendException):
3915 (WI.LoggingProtocolTracer.prototype.logFrontendRequest):
3916 (WI.LoggingProtocolTracer.prototype.logWillHandleResponse):
3917 (WI.LoggingProtocolTracer.prototype.logDidHandleResponse):
3918 (WI.LoggingProtocolTracer.prototype.logDidHandleEvent):
3919 Include the connection in log methods.
3920
3921 (WI.LoggingProtocolTracer.prototype.logProtocolError):
3922 Removed, this is never called.
3923
3924 (WI.LoggingProtocolTracer.prototype._processEntry):
3925 Include the target identifier in entry messages.
3926
39272018-11-14 Joseph Pecoraro <pecoraro@apple.com>
3928
joepeck@webkit.org2c9574f2018-11-14 21:03:49 +00003929 Web Inspector: Keep Web Inspector window alive across process swaps (PSON) (Remote Inspector)
3930 https://bugs.webkit.org/show_bug.cgi?id=191494
3931 <rdar://problem/45469854>
3932
3933 Reviewed by Devin Rousso.
3934
3935 This starts introducing multi-target support into the Web Inspector frontend.
3936 Specifically a backend connection that is persistent, but has the ability to
3937 connect to and transition between Page targets received through that backend
3938 connection.
3939
3940 This patch introduces the concept of a "Backend Target" which is the single
3941 connection that the frontend contains to a backend. The old way of connecting
3942 directly to a target is still supported. In that case the frontend constructs
3943 a DirectBackendTarget for the debuggable type the frontend was spawns for.
3944 However, if the frontend opens and has a TargetAgent, then it is likely
3945 connected to a multi-target supporting backend and instead constructs a
3946 MultiplexingBackendTarget, and will receive further information about
3947 sub-targets to connect to. The only sub-target at the moment is a Page
3948 sub-target.
3949
3950 As part of bringing up multi-target support this adds a few measures to
3951 handle situations where the frontend is playing fast and loose with agents.
3952 When the frontend does `FooAgent.method` it intends that to be performed
3953 on the "main" target being debugged. Likewise when the frontend loops
3954 over targets it expects them to be the debuggable targets. This patch
3955 profiles a new implementation of `WI.mainTarget` and `WI.targets` to
3956 match the assumptions being made by the frontend.
3957
3958 - In a direct-target world, there is a single target which
3959 should be used for global agents and in WI.targets.
3960
3961 - In a multi-target world, the page target is the one that
3962 should be used for global agents and WI.targets is the list
3963 of sub-targets (excluding the MultiplexingBackendTarget).
3964
3965 In a multi-target world, there are now commonly two Targets. The
3966 MultiplexingBackendTarget and a PageTarget sub-target. In the future
3967 this may include more targets, such as ServiceWorkers, DedicatedWorkers,
3968 and perhaps even frames.
3969
3970 In a multi-target world, the frontend is immediately told about targets
3971 as soon as it opens (via Target.targetCreated). In order to support
3972 this, frontend initialization happens without a main target being available.
3973 So this makes a few small changes to frontend initialization to perform
3974 a bit of work once we know what the main target is.
3975
3976 During a page transition the frontend is told to destroy existing targets
3977 and is soon after told about any new page targets (via Target.targetDestroyed
3978 and Target.targetCreated). The frontend special cases this page transition.
3979 It expects only one Page target to be alive at any time, accessible through
3980 WI.pageTarget. When a page transition happens the WI.pageTarget changes, and
3981 the frontend performs a bit of work to prepare the UI to handle the transition:
3982 `<Manager>.transitionPageTarget` / WI.Notification.TransitionPageTarget.
3983 For the most part the UI behaves fine as long once there are main frame
3984 change and main resource change events, but those other events allow
3985 the frontend to respond to the specific page transition cases.
3986
3987 * UserInterface/Base/Main.js:
3988 (WI.loaded):
3989 (WI.initializeBackendTarget):
3990 (WI.initializePageTarget):
3991 (WI.transitionPageTarget):
3992 (WI.terminatePageTarget):
3993 (WI.resetMainExecutionContext):
3994 (WI.redirectGlobalAgentsToConnection):
3995 (WI.contentLoaded):
3996 New global functions for target initialization
3997 and page transitioning.
3998
3999 * UserInterface/Test/Test.js:
4000 (WI.loaded):
4001 (WI.initializeBackendTarget):
4002 (WI.initializePageTarget):
4003 (WI.transitionPageTarget):
4004 (WI.terminatePageTarget):
4005 (WI.resetMainExecutionContext):
4006 (WI.redirectGlobalAgentsToConnection):
4007 New global functions for target initialization.
4008 Tests continue to be a direct connection to the Page.
4009
4010 * UserInterface/Protocol/TargetObserver.js:
4011 (WI.TargetObserver.prototype.targetCreated):
4012 (WI.TargetObserver.prototype.targetDestroyed):
4013 (WI.TargetObserver.prototype.dispatchMessageFromTarget):
4014 New observer goes to the manager.
4015
4016 * UserInterface/Controllers/TargetManager.js:
4017 (WI.TargetManager):
4018 (WI.TargetManager.prototype.get targets):
4019 (WI.TargetManager.prototype.get allTargets):
4020 (WI.TargetManager.prototype.targetForIdentifier):
4021 (WI.TargetManager.prototype.targetCreated):
4022 (WI.TargetManager.prototype.targetDestroyed):
4023 (WI.TargetManager.prototype.dispatchMessageFromTarget):
4024 (WI.TargetManager.prototype.createMultiplexingBackendTarget):
4025 (WI.TargetManager.prototype.createDirectBackendTarget):
4026 (WI.TargetManager.prototype._addTarget):
4027 (WI.TargetManager.prototype._removeTarget):
4028 (WI.TargetManager.prototype._createTarget):
4029 (WI.TargetManager.prototype._checkAndHandlePageTargetTransition):
4030 (WI.TargetManager.prototype._checkAndHandlePageTargetTermination):
4031 (WI.TargetManager.prototype.addTarget): Deleted.
4032 (WI.TargetManager.prototype.removeTarget): Deleted.
4033 (WI.TargetManager.prototype.initializeMainTarget): Deleted.
4034 TargetManager is where we handle creating and destroying targets
4035 and their connections. In order to simplify things a bit we make
4036 `WI.targets`, which goes through `get targets()` an array instead
4037 of a Set. And this includes only the sub-targets.
4038
4039 * UserInterface/Controllers/WorkerManager.js:
4040 (WI.WorkerManager.prototype.workerCreated):
4041 (WI.WorkerManager.prototype.workerTerminated):
4042 Workers are still special-target-like things that multiplex through
4043 WorkerAgent instead of TargetAgent. We'd like to promote these to
4044 be full targets in the future.
4045
4046 * UserInterface/Protocol/DirectBackendTarget.js: Renamed from Source/WebInspectorUI/UserInterface/Protocol/MainTarget.js.
4047 (WI.DirectBackendTarget):
4048 (WI.DirectBackendTarget.connectionInfoForDebuggable):
4049 (WI.DirectBackendTarget.prototype.get mainResource):
4050 (WI.DirectBackendTarget.prototype.set mainResource):
4051 This is the only "MainTarget" class. It is the backend target for a direct connection.
4052
4053 * UserInterface/Protocol/MultiplexingBackendTarget.js:
4054 (WI.MultiplexingBackendTarget):
4055 (WI.MultiplexingBackendTarget.prototype.initialize):
4056 (WI.MultiplexingBackendTarget.prototype.get name):
4057 (WI.MultiplexingBackendTarget.prototype.get executionContext):
4058 (WI.MultiplexingBackendTarget.prototype.get mainResource):
4059 This is the new backend target for a multi-target connection.
4060 We don't expect it to be treated like other targets, so we don't
4061 expect anyone to ask it for resources/executionContext/name info.
4062
4063 * UserInterface/Controllers/RuntimeManager.js:
4064 (WI.TargetManager.prototype.evaluateInInspectedWindow):
4065 This can be triggered by watch expressions before any target, and
4066 therefore execution context, is available. Just return null, when
4067 an execution context is available those clients will try again.
4068
4069 * UserInterface/Debug/Bootstrap.js:
4070 Provide an WI.isEngineeringBuild boolean that can be used for various
4071 debugging features.
4072
4073 * UserInterface/Main.html:
4074 * UserInterface/Test.html:
4075 New resources.
4076
4077 * UserInterface/Protocol/InspectorBackend.js:
4078 (InspectorBackendClass.prototype.dispatch):
4079 (InspectorBackendClass.prototype.runAfterPendingDispatches):
4080 (InspectorBackend.Agent):
4081 `InspectorBackend.mainConnection` was renamed `InspectorBackend.backendConnection`.
4082
4083 * UserInterface/Protocol/Connection.js:
4084 (InspectorBackend.Connection):
4085 (InspectorBackend.Connection.prototype._dispatchResponse):
4086 (InspectorBackend.Connection.prototype._sendCommandToBackendWithCallback):
4087 (InspectorBackend.Connection.prototype._sendCommandToBackendExpectingPromise):
4088 (InspectorBackend.BackendConnection):
4089 (InspectorBackend.BackendConnection.prototype.sendMessageToBackend):
4090 (InspectorBackend.WorkerConnection):
4091 (InspectorBackend.TargetConnection):
4092 (InspectorBackend.TargetConnection.sendMessageToBackend):
4093 Use a global sequence id to make filtering a bit easier in protocol tracing.
4094 TargetConnection is identical to WorkerConnection except it uses TargetAgent
4095 instead of WorkerAgent to perform multiplexing.
4096
4097 * UserInterface/Protocol/JavaScriptContextTarget.js:
4098 (WI.JavaScriptContextTarget):
4099 * UserInterface/Protocol/PageTarget.js:
4100 (WI.PageTarget):
4101 (WI.PageTarget.prototype.get displayName):
4102 Specialized target types.
4103
4104 * UserInterface/Views/DebuggerSidebarPanel.js:
4105 (WI.DebuggerSidebarPanel):
4106 (WI.DebuggerSidebarPanel.prototype._targetAdded):
4107 (WI.DebuggerSidebarPanel.prototype._targetRemoved):
4108 (WI.DebuggerSidebarPanel.prototype._updateCallStackTreeOutline):
4109 * UserInterface/Views/SourceCodeTextEditor.js:
4110 (WI.SourceCodeTextEditor.prototype._targetAdded):
4111 (WI.SourceCodeTextEditor.prototype._targetRemoved):
4112 (WI.SourceCodeTextEditor.prototype._callFramesDidChange):
4113 (WI.SourceCodeTextEditor.prototype._updateThreadIndicatorWidget):
4114 (WI.SourceCodeTextEditor.prototype._reinsertAllThreadIndicators):
4115 * UserInterface/Views/QuickConsole.js:
4116 (WI.QuickConsole.prototype.initializeMainExecutionContextPathComponent):
4117 (WI.QuickConsole.prototype._targetAdded):
4118 (WI.QuickConsole.prototype._targetRemoved):
4119 We make target added get called with all targets, including the
4120 MultiplexingBackendTarget and PageTargets, both of which would
4121 not have happened before. Before it was only WorkerTargets. Make
4122 these sites a little more robust for the type of target they expect
4123 to be able to handle.
4124
4125 * UserInterface/Base/Object.js:
4126 * UserInterface/Controllers/DOMManager.js:
4127 (WI.DOMManager):
4128 (WI.DOMManager.prototype.transitionPageTarget):
4129 (WI.DOMManager.prototype.requestDocument):
4130 (WI.DOMManager.prototype._setDocument):
4131 * UserInterface/Controllers/NetworkManager.js:
4132 (WI.NetworkManager):
4133 (WI.NetworkManager.prototype.transitionPageTarget):
4134 (WI.NetworkManager.prototype.executionContextCreated):
4135 (WI.NetworkManager.prototype._processMainFrameResourceTreePayload):
4136 * UserInterface/Models/DefaultDashboard.js:
4137 (WI.DefaultDashboard):
4138 (WI.DefaultDashboard.prototype._mainResourceDidChange):
4139 (WI.DefaultDashboard.prototype._transitionPageTarget):
4140 * UserInterface/Views/NetworkTableContentView.js:
4141 (WI.NetworkTableContentView):
4142 (WI.NetworkTableContentView.prototype._mainResourceDidChange):
4143 (WI.NetworkTableContentView.prototype._transitionPageTarget):
4144 Special case handling when performing a page transition.
4145
4146 * UserInterface/Views/SettingsTabContentView.js:
4147 * UserInterface/Debug/UncaughtExceptionReporter.js:
4148 Document reloads are not supported right now.
4149
drousso@apple.com705f27f2018-11-14 09:26:23 +000041502018-11-14 Devin Rousso <drousso@apple.com>
4151
drousso@apple.com205c1e72018-11-14 12:01:31 +00004152 Web Inspector: Canvas: don't start with auto-capture enabled
4153 https://bugs.webkit.org/show_bug.cgi?id=191553
4154
4155 Reviewed by Matt Baker.
4156
4157 * UserInterface/Views/CanvasOverviewContentView.js:
4158 (WI.CanvasOverviewContentView.prototype._setRecordingAutoCaptureFrameCount):
4159 (WI.CanvasOverviewContentView.prototype._updateRecordingAutoCaptureInputElementSize):
4160 (WI.CanvasOverviewContentView.prototype._handleRecordingAutoCaptureInput):
4161 * UserInterface/Views/CanvasOverviewContentView.css:
4162 (.navigation-bar > .item.canvas-recording-auto-capture > label > input):
4163
41642018-11-14 Devin Rousso <drousso@apple.com>
4165
drousso@apple.com705f27f2018-11-14 09:26:23 +00004166 Web Inspector: Network Graphs are missing minimum sizes, might have no graph at all
4167 https://bugs.webkit.org/show_bug.cgi?id=191208
4168
4169 Reviewed by Joseph Pecoraro.
4170
4171 `WI.NetworkTableContentView` used to rely on the `WI.timelineManager.persistentNetworkTimeline`
4172 for events when a new resource is added. It also listened for `WI.Frame.Event.MainResourceDidChange`
4173 on it's own, which was also listened to by `WI.timelineManager.persistentNetworkTimeline`.
4174 Due to the order in which these listeners are added, the new main resource would get added
4175 to the `WI.timelineManager.persistentNetworkTimeline` (and the `WI.NetworkTableContentView`
4176 shortly after), and right after that the `WI.NetworkTableContentView` would reset the graph
4177 in it's own listener for `WI.Frame.Event.MainResourceDidChange`.
4178
4179 This patch removes `WI.timelineManager.persistentNetworkTimeline` and instead makes it so
4180 that `WI.NetworkTableContentView` listens for resource added and main frame changed events
4181 on its own (similar to other views that follow this pattern), ensuring that there are no
4182 event races.
4183
4184 Also relaxes the "requirement" that prevented 0 width blocks from being drawn, allowing
4185 requests served from memory/disk to appear in the graph (their time is effectively 0).
4186
4187 * UserInterface/Views/NetworkTableContentView.js:
4188 (WI.NetworkTableContentView):
4189 (WI.NetworkTableContentView.prototype.closed):
4190 (WI.NetworkTableContentView.prototype._populateWaterfallGraph):
4191 (WI.NetworkTableContentView.prototype._populateWaterfallGraph.appendBlock):
4192 (WI.NetworkTableContentView.prototype._updateWaterfallTimeRange): Added.
4193 (WI.NetworkTableContentView.prototype._resourceLoadingDidFinish):
4194 (WI.NetworkTableContentView.prototype._resourceLoadingDidFail):
4195 (WI.NetworkTableContentView.prototype._handleResourceAdded): Added.
4196 (WI.NetworkTableContentView.prototype._insertResourceAndReloadTable):
4197 (WI.NetworkTableContentView.prototype._handleNodeDidFireEvent):
4198 (WI.NetworkTableContentView.prototype._handleNodeLowPowerChanged):
4199 * UserInterface/Views/NetworkTableContentView.css:
4200 (.network-table .waterfall .block:matches(.mouse-tracking, .filler) + .block:not(.mouse-tracking, .filler)): Added.
4201 (.network-table .waterfall .block.filler + .block): Deleted.
4202
4203 * UserInterface/Controllers/TimelineManager.js:
4204 (WI.TimelineManager):
4205 (WI.TimelineManager.prototype._mainResourceDidChange):
4206 (WI.TimelineManager.prototype._resourceWasAdded):
4207 (WI.TimelineManager.prototype.get persistentNetworkTimeline): Deleted.
4208
mattbaker@apple.come37e9252018-11-13 19:41:39 +000042092018-11-13 Matt Baker <mattbaker@apple.com>
4210
mattbaker@apple.com41508a52018-11-13 20:44:36 +00004211 Web Inspector: Table should support select all (Cmd-A)
4212 https://bugs.webkit.org/show_bug.cgi?id=190299
4213 <rdar://problem/45029170>
4214
4215 Reviewed by Devin Rousso.
4216
4217 * UserInterface/Views/Table.js:
4218 (WI.Table.prototype.selectAll):
4219 (WI.Table.prototype._handleKeyDown):
4220
42212018-11-13 Matt Baker <mattbaker@apple.com>
4222
mattbaker@apple.come37e9252018-11-13 19:41:39 +00004223 Web Inspector: Table with no selection should select the first/last row on down/up arrow key
4224 https://bugs.webkit.org/show_bug.cgi?id=190100
4225 <rdar://problem/44879243>
4226
4227 Reviewed by Devin Rousso.
4228
4229 Pressing the up or down arrow key when nothing is selected should select
4230 the last or first row, respectively. After selecting the row make sure
4231 it is visible by calling the new Table method `revealRow`.
4232
4233 * UserInterface/Views/Table.js:
4234 (WI.Table.prototype.revealRow):
4235 (WI.Table.prototype._handleKeyDown):
4236 (WI.Table.prototype._selectRowsFromArrowKey):
4237
nvasilyev@apple.com223936d2018-11-13 18:40:00 +000042382018-11-13 Nikita Vasilyev <nvasilyev@apple.com>
4239
4240 Web Inspector: Styles: Command-A should select all properties
4241 https://bugs.webkit.org/show_bug.cgi?id=191435
4242 <rdar://problem/45921373>
4243
4244 Reviewed by Devin Rousso.
4245
4246 When focused on a style property, Command-A on Mac (Control-A on other platforms)
4247 should select all properties of the style rule.
4248
4249 * UserInterface/Base/Utilities.js:
4250 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
4251 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.selectProperties):
4252 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._handleKeyDown):
4253
drousso@apple.com201d9022018-11-13 07:07:21 +000042542018-11-12 Devin Rousso <drousso@apple.com>
4255
4256 Web Inspector: Network: show secure certificate details per-request
4257 https://bugs.webkit.org/show_bug.cgi?id=191447
4258 <rdar://problem/30019476>
4259
4260 Reviewed by Joseph Pecoraro.
4261
4262 * UserInterface/Controllers/NetworkManager.js:
4263 (WI.NetworkManager.prototype.resourceRequestWasServedFromMemoryCache):
4264 (WI.NetworkManager.prototype.resourceRequestDidReceiveResponse):
4265
4266 * UserInterface/Models/Resource.js:
4267 (WI.Resource.prototype.get responseSecurity): Added.
4268 (WI.Resource.prototype.get loadedSecurely): Added.
4269 (WI.Resource.prototype.updateForResponse):
4270
4271 * UserInterface/Views/NetworkResourceDetailView.js:
4272 (WI.NetworkResourceDetailView):
4273 (WI.NetworkResourceDetailView.prototype.initialLayout):
4274 (WI.NetworkResourceDetailView.prototype.showContentViewForIdentifier):
4275 * UserInterface/Views/NetworkResourceDetailView.css:
4276 (.content-view.resource-details .go-to-arrow): Added.
4277 (.content-view.resource-details.showing-find-banner .search-highlight): Added.
4278
4279 * UserInterface/Views/ResourceSecurityContentView.js: Added.
4280 (WI.ResourceSecurityContentView):
4281 (WI.ResourceSecurityContentView.prototype.initialLayout):
4282 (WI.ResourceSecurityContentView.prototype.layout):
4283 (WI.ResourceSecurityContentView.prototype.closed):
4284 (WI.ResourceSecurityContentView.prototype.get supportsSearch):
4285 (WI.ResourceSecurityContentView.prototype.get numberOfSearchResults):
4286 (WI.ResourceSecurityContentView.prototype.get hasPerformedSearch):
4287 (WI.ResourceSecurityContentView.prototype.set automaticallyRevealFirstSearchResult):
4288 (WI.ResourceSecurityContentView.prototype.performSearch):
4289 (WI.ResourceSecurityContentView.prototype.searchCleared):
4290 (WI.ResourceSecurityContentView.prototype.revealPreviousSearchResult):
4291 (WI.ResourceSecurityContentView.prototype.revealNextSearchResult):
4292 (WI.ResourceSecurityContentView.prototype._refreshCetificateSection):
4293 (WI.ResourceSecurityContentView.prototype._perfomSearchOnKeyValuePairs):
4294 (WI.ResourceSecurityContentView.prototype._revealSearchResult):
4295 (WI.ResourceSecurityContentView.prototype._handleResourceResponseReceived):
4296 * UserInterface/Views/ResourceSecurityContentView.css: Added.
4297 (body[dir] .resource-security > section.certificate > .details):
4298 (.resource-security .details .key):
4299 (.resource-security .dns-name + .dns-name > .key,):
4300 (.resource-security .show-more):
4301 (@media (prefers-dark-interface) body[dir] .resource-security > section.certificate > .details):
4302 (@media (prefers-dark-interface) .resource-security .details .key):
4303
4304 * UserInterface/Views/ResourceCookiesContentView.js:
4305 (WI.ResourceCookiesContentView.prototype._refreshRequestCookiesSection):
4306 (WI.ResourceCookiesContentView.prototype._refreshResponseCookiesSection):
4307 (WI.ResourceCookiesContentView.prototype._markIncompleteSectionWithMessage): Deleted.
4308 (WI.ResourceCookiesContentView.prototype._markIncompleteSectionWithLoadingIndicator): Deleted.
4309 * UserInterface/Views/ResourceHeadersContentView.js:
4310 (WI.ResourceHeadersContentView.prototype._refreshSummarySection):
4311 (WI.ResourceHeadersContentView.prototype._refreshRedirectHeadersSections):
4312 (WI.ResourceHeadersContentView.prototype._refreshRequestHeadersSection):
4313 (WI.ResourceHeadersContentView.prototype._refreshResponseHeadersSection):
4314 (WI.ResourceHeadersContentView.prototype._refreshQueryStringSection):
4315 (WI.ResourceHeadersContentView.prototype._refreshRequestDataSection):
4316 (WI.ResourceHeadersContentView.prototype._markIncompleteSectionWithMessage): Deleted.
4317 (WI.ResourceHeadersContentView.prototype._markIncompleteSectionWithLoadingIndicator): Deleted.
4318 (WI.ResourceHeadersContentView.prototype._appendKeyValuePair): Deleted.
4319 * UserInterface/Views/ResourceHeadersContentView.css:
4320 (.resource-headers .h1-status > .key,):
4321 (body[dir] .resource-headers > section.error > .details): Deleted.
4322 (.resource-headers > section.error .key): Deleted.
4323 (.resource-headers .details): Deleted.
4324 (.resource-headers .details .pair): Deleted.
4325 (body[dir=rtl] .resource-headers .details .pair): Deleted.
4326 (.resource-headers .details .key): Deleted.
4327 (.resource-headers .value): Deleted.
4328 (.resource-headers .go-to-arrow): Deleted.
4329 (.resource-headers.showing-find-banner .search-highlight): Deleted.
4330 * UserInterface/Views/ResourceDetailsSection.js:
4331 (WI.ResourceDetailsSection.prototype.markIncompleteSectionWithMessage): Added.
4332 (WI.ResourceDetailsSection.prototype.markIncompleteSectionWithLoadingIndicator): Added.
4333 (WI.ResourceDetailsSection.prototype.appendKeyValuePair): Added.
4334 * UserInterface/Views/ResourceDetailsSection.css:
4335 (.resource-details > section > .details): Added.
4336 (.resource-details > section > .details > .pair): Added.
4337 (body[dir=rtl] .resource-details > section > .details > .pair): Added.
4338 (.resource-details > section > .details > .pair > .key): Added.
4339 (.resource-details > section > .details > .pair > .value): Added.
4340 (body[dir] .resource-details > section.error > .details): Added.
4341 (.resource-details > section.error > .details > .pair > .key): Added.
4342 Move commonly used functions/styles from container classes onto this object.
4343
4344 * UserInterface/Main.html:
4345 * Localizations/en.lproj/localizedStrings.js:
4346
mattbaker@apple.comf3770852018-11-13 05:13:02 +000043472018-11-12 Matt Baker <mattbaker@apple.com>
4348
4349 Web Inspector: Table should support shift-extending the row selection
4350 https://bugs.webkit.org/show_bug.cgi?id=189718
4351 <rdar://problem/44577942>
4352
4353 Reviewed by Devin Rousso.
4354
4355 Allow the table selection to be extended by shift-clicking a row, or by
4356 holding shift and pressing either the up or down arrow key. If both command
4357 and shift are pressed, shift is ignored. The selection behavior is modeled
4358 after AppKit's NSTableView.
4359
4360 * UserInterface/Base/IndexSet.js:
4361 (WI.IndexSet.prototype.addRange):
4362 (WI.IndexSet.prototype.deleteRange):
4363 (WI.IndexSet.prototype.equals):
4364 (WI.IndexSet.prototype.difference):
4365
4366 * UserInterface/Views/Table.js:
4367 (WI.Table):
4368 (WI.Table.prototype.set allowsMultipleSelection):
4369 (WI.Table.prototype.reloadData):
4370 (WI.Table.prototype.selectRow):
4371 (WI.Table.prototype.deselectRow):
4372 (WI.Table.prototype._handleKeyDown):
4373 Holding shift and pressing either the up or down arrow key extends the
4374 selection to the next unselected row adjacent to the anchor row, or causes
4375 the anchor row to be deselected, decreasing the selection. The table chooses
4376 the action to take based on the direction of movement (up or down), and
4377 the currently selected rows.
4378
4379 (WI.Table.prototype._selectRowsFromArrowKey):
4380 (WI.Table.prototype._handleMouseDown.normalizeRange):
4381 (WI.Table.prototype._handleMouseDown):
4382 Clicking a row while holding down shift extends the selection to include
4383 the rows between the anchor row (exclusive) and clicked row (inclusive).
4384 The anchor row is equal to the value of `_selectedRowIndex` prior to
4385 clicking a new row.
4386
4387 (WI.Table.prototype._deselectAllAndSelect):
4388 (WI.Table.prototype._removeRows):
4389 (WI.Table.prototype._toggleSelectedRowStyle):
4390 (WI.Table.prototype._updateSelectedRows):
4391 Helper method for updating the selection to the specified rows, and updating
4392 DOM styles for rows that are added to or removed from the selection.
4393
nvasilyev@apple.comadd39ce2018-11-13 04:43:41 +000043942018-11-12 Nikita Vasilyev <nvasilyev@apple.com>
4395
4396 Web Inspector: Styles: inline swatches don't work when Multiple Properties Selection is enabled
4397 https://bugs.webkit.org/show_bug.cgi?id=191165
4398 <rdar://problem/45737972>
4399
4400 Reviewed by Devin Rousso.
4401
4402 * UserInterface/Views/SpreadsheetStyleProperty.js:
4403 (WI.SpreadsheetStyleProperty.prototype._createInlineSwatch):
4404 * UserInterface/Views/SpreadsheetTextField.js:
4405 (WI.SpreadsheetTextField):
4406 `click` is fired after `mouseup` and inline swatches are activated by `click` event.
4407 Changing this to `click` allows swatches to activate before editing starts.
4408
4409 (WI.SpreadsheetTextField.prototype._handleMouseDown):
4410 Clicking on the field that is being edited should't restart editing. It should move the text caret.
4411
don.olmstead@sony.combdca1fc2018-11-12 21:41:20 +000044122018-11-12 Don Olmstead <don.olmstead@sony.com>
4413
4414 Shipped PNGs include bad profiles: iCCP: known incorrect sRGB profile
4415 https://bugs.webkit.org/show_bug.cgi?id=189230
4416 <rdar://problem/44050379>
4417
4418 Reviewed by Joseph Pecoraro.
4419
4420 Runs all png images through zopflipng. This results in a smaller file
4421 size and takes care of this issue as a byproduct.
4422
4423 * UserInterface/Images/ApplicationCache.png:
4424 * UserInterface/Images/ApplicationCache@2x.png:
4425 * UserInterface/Images/ApplicationCacheManifest.png:
4426 * UserInterface/Images/ApplicationCacheManifest@2x.png:
4427 * UserInterface/Images/Breakpoint.png:
4428 * UserInterface/Images/Breakpoint@2x.png:
4429 * UserInterface/Images/BreakpointInactive.png:
4430 * UserInterface/Images/BreakpointInactive@2x.png:
4431 * UserInterface/Images/ClippingCSS.png:
4432 * UserInterface/Images/ClippingCSS@2x.png:
4433 * UserInterface/Images/ClippingCSSLarge.png:
4434 * UserInterface/Images/ClippingCSSLarge@2x.png:
4435 * UserInterface/Images/ClippingGeneric.png:
4436 * UserInterface/Images/ClippingGeneric@2x.png:
4437 * UserInterface/Images/ClippingGenericLarge.png:
4438 * UserInterface/Images/ClippingGenericLarge@2x.png:
4439 * UserInterface/Images/ClippingJS.png:
4440 * UserInterface/Images/ClippingJS@2x.png:
4441 * UserInterface/Images/ClippingJSLarge.png:
4442 * UserInterface/Images/ClippingJSLarge@2x.png:
4443 * UserInterface/Images/ColorIcon.png:
4444 * UserInterface/Images/ColorIcon@2x.png:
4445 * UserInterface/Images/Cookie.png:
4446 * UserInterface/Images/Cookie@2x.png:
4447 * UserInterface/Images/Database.png:
4448 * UserInterface/Images/Database@2x.png:
4449 * UserInterface/Images/DatabaseTable.png:
4450 * UserInterface/Images/DatabaseTable@2x.png:
4451 * UserInterface/Images/DocumentCSS.png:
4452 * UserInterface/Images/DocumentCSS@2x.png:
4453 * UserInterface/Images/DocumentCSSLarge.png:
4454 * UserInterface/Images/DocumentCSSLarge@2x.png:
4455 * UserInterface/Images/DocumentFont.png:
4456 * UserInterface/Images/DocumentFont@2x.png:
4457 * UserInterface/Images/DocumentFontLarge.png:
4458 * UserInterface/Images/DocumentFontLarge@2x.png:
4459 * UserInterface/Images/DocumentGL.png:
4460 * UserInterface/Images/DocumentGL@2x.png:
4461 * UserInterface/Images/DocumentGeneric.png:
4462 * UserInterface/Images/DocumentGeneric@2x.png:
4463 * UserInterface/Images/DocumentGenericLarge.png:
4464 * UserInterface/Images/DocumentGenericLarge@2x.png:
4465 * UserInterface/Images/DocumentImage.png:
4466 * UserInterface/Images/DocumentImage@2x.png:
4467 * UserInterface/Images/DocumentImageLarge.png:
4468 * UserInterface/Images/DocumentImageLarge@2x.png:
4469 * UserInterface/Images/DocumentJS.png:
4470 * UserInterface/Images/DocumentJS@2x.png:
4471 * UserInterface/Images/DocumentJSLarge.png:
4472 * UserInterface/Images/DocumentJSLarge@2x.png:
4473 * UserInterface/Images/DocumentMarkup.png:
4474 * UserInterface/Images/DocumentMarkup@2x.png:
4475 * UserInterface/Images/DocumentMarkupLarge.png:
4476 * UserInterface/Images/DocumentMarkupLarge@2x.png:
4477 * UserInterface/Images/FolderGeneric.png:
4478 * UserInterface/Images/FolderGeneric@2x.png:
4479 * UserInterface/Images/GradientStop.png:
4480 * UserInterface/Images/GradientStop@2x.png:
4481 * UserInterface/Images/GradientStopSelected.png:
4482 * UserInterface/Images/GradientStopSelected@2x.png:
4483 * UserInterface/Images/HoverMenuButton.png:
4484 * UserInterface/Images/HoverMenuButton@2x.png:
4485 * UserInterface/Images/InstructionPointer.png:
4486 * UserInterface/Images/InstructionPointer@2x.png:
4487 * UserInterface/Images/LocalStorage.png:
4488 * UserInterface/Images/LocalStorage@2x.png:
4489 * UserInterface/Images/SessionStorage.png:
4490 * UserInterface/Images/SessionStorage@2x.png:
4491 * UserInterface/Images/SliderThumb.png:
4492 * UserInterface/Images/SliderThumb@2x.png:
4493 * UserInterface/Images/SliderThumbPressed.png:
4494 * UserInterface/Images/SliderThumbPressed@2x.png:
4495 * UserInterface/Images/WebSocket.png:
4496 * UserInterface/Images/WebSocket@2x.png:
4497 * UserInterface/Images/WebSocketLarge.png:
4498 * UserInterface/Images/WebSocketLarge@2x.png:
4499 * UserInterface/Images/WorkerScript.png:
4500 * UserInterface/Images/WorkerScript@2x.png:
4501 * UserInterface/Images/WorkerScriptLarge.png:
4502 * UserInterface/Images/WorkerScriptLarge@2x.png:
4503
nvasilyev@apple.comfb01a782018-11-12 18:09:23 +000045042018-11-12 Nikita Vasilyev <nvasilyev@apple.com>
4505
4506 Web Inspector: Styles: Pressing Tab or Enter should start editing focused property
4507 https://bugs.webkit.org/show_bug.cgi?id=191510
4508 <rdar://problem/45970897>
4509
4510 Reviewed by Dean Jackson.
4511
4512 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
4513 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._handleKeyDown):
4514
joepeck@webkit.org412b9422018-11-09 19:23:42 +000045152018-11-08 Joseph Pecoraro <pecoraro@apple.com>
4516
4517 Web Inspector: Start moving toward better multi-target support
4518 https://bugs.webkit.org/show_bug.cgi?id=191345
4519
4520 Reviewed by Devin Rousso.
4521
4522 This change continues the move toward better multi-target support
4523 by explicitly using explicit target agents in more places, and
4524 converting generalized feature checks into target agnostic versions
4525 that use the new InspectorBackend.domains, which does not vary based
4526 on the connected targets / debuggable type.
4527
4528 I also audited uses of RuntimeAgent, ConsoleAgent, and DebuggerAgent
4529 for better multi-target support since these agents should already
4530 have complete multi-target support.
4531
4532 * UserInterface/Protocol/Target.js:
4533 (WI.Target.prototype.initialize):
4534 Move explicitly to target.Agent feature checks with a known target.
4535
4536 * UserInterface/Controllers/DebuggerManager.js:
4537 (WI.DebuggerManager.prototype.initializeTarget):
4538 (WI.DebuggerManager.prototype._pauseForInternalScriptsDidChange):
4539 Move explicitly to target.DebuggerAgent for feature checks with a known target.
4540
4541 * UserInterface/Controllers/NetworkManager.js:
4542 (WI.NetworkManager.prototype.initializeTarget):
4543 Move explicitly to target.NetworkAgent for feature checks with a known target.
4544
4545 * UserInterface/Controllers/RuntimeManager.js:
4546 (WI.RuntimeManager.prototype.initializeTarget):
4547 (WI.RuntimeManager.prototype.saveResult):
4548 * UserInterface/Protocol/RemoteObject.js:
4549 (WI.RemoteObject.prototype.updatePreview):
4550 (WI.RemoteObject.prototype.getDisplayablePropertyDescriptors):
4551 (WI.RemoteObject.prototype.deprecatedGetDisplayableProperties):
4552 * UserInterface/Views/SourceCodeTextEditor.js:
4553 (WI.SourceCodeTextEditor.prototype._createTypeTokenAnnotator):
4554 (WI.SourceCodeTextEditor.prototype._createBasicBlockAnnotator):
4555 Move explicitly to target.RuntimeAgent for feature checks with a known target.
4556
4557 * UserInterface/Models/CSSCompletions.js:
4558 (WI.CSSCompletions.initializeCSSCompletions):
4559 Move explicitly to target.CSSAgent for feature checks with a known target.
4560
4561 * UserInterface/Views/ContextMenuUtilities.js:
4562 Use the DebuggerAgent from the target associated with the DOMNode's
4563 remote object instead of assuming the main target.
4564
4565 * UserInterface/Views/SettingsTabContentView.js:
4566 (WI.SettingsTabContentView.prototype._createGeneralSettingsView):
4567 Update the ConsoleAgent setting on all targets that support it.
4568
4569 * UserInterface/Views/BreakpointActionView.js:
4570 (WI.BreakpointActionView):
4571 All backends support BreakpointActionType, the assertion can go away.
4572
4573 * UserInterface/Views/LogContentView.js:
4574 (WI.LogContentView.prototype.get navigationItems):
4575 * UserInterface/Views/DOMTreeContentView.js:
4576 (WI.DOMTreeContentView.prototype.get navigationItems):
4577 Include additional `window.FooAgent` checks for these since they will need
4578 to be revisited in the future.
4579
4580 * UserInterface/Protocol/InspectorBackend.js:
4581 (InspectorBackendClass.prototype.get domains):
4582 (InspectorBackendClass.prototype.activateDomain):
4583 Expose InspectorBackend.domains.<Domain> for feature checking.
4584
4585 * UserInterface/Controllers/BreakpointPopoverController.js:
4586 (WI.BreakpointPopoverController.prototype._createPopoverContent):
4587 * UserInterface/Controllers/CSSManager.js:
4588 (WI.CSSManager):
4589 (WI.CSSManager.prototype._mainResourceDidChange):
4590 * UserInterface/Controllers/TimelineManager.js:
4591 (WI.TimelineManager.prototype._attemptAutoCapturingForFrame):
4592 (WI.TimelineManager.prototype._updateAutoCaptureInstruments):
4593 (WI.TimelineManager):
4594 * UserInterface/Models/Canvas.js:
4595 (WI.Canvas.prototype.startRecording):
4596 (WI.Canvas.prototype.recordingFinished):
4597 * UserInterface/Models/ScriptSyntaxTree.js:
4598 (WI.ScriptSyntaxTree.functionReturnDivot):
4599 * UserInterface/Protocol/DebuggerObserver.js:
4600 (WI.DebuggerObserver):
4601 * UserInterface/Protocol/NetworkObserver.js:
4602 (WI.NetworkObserver.prototype.requestWillBeSent):
4603 * UserInterface/Views/DebuggerSidebarPanel.js:
4604 (WI.DebuggerSidebarPanel):
4605 (WI.DebuggerSidebarPanel.prototype._handleCreateBreakpointClicked):
4606 * UserInterface/Views/NetworkTimelineView.js:
4607 (WI.NetworkTimelineView):
4608 * UserInterface/Views/ResourceDetailsSidebarPanel.js:
4609 (WI.ResourceDetailsSidebarPanel.prototype._refreshRequestAndResponse):
4610 * UserInterface/Views/WebSocketContentView.js:
4611 (WI.WebSocketContentView):
4612 (WI.NetworkManager.prototype.webSocketWillSendHandshakeRequest):
4613 (WI.DebuggerManager.prototype.debuggerDidResume):
4614 Feature check in a target agnostic way.
4615
mattbaker@apple.comba3bf282018-11-09 07:13:25 +000046162018-11-08 Matt Baker <mattbaker@apple.com>
4617
4618 Web Inspector: ResourceQueryController should early return when query is longer than search string
4619 https://bugs.webkit.org/show_bug.cgi?id=191436
4620
4621 Reviewed by Devin Rousso.
4622
4623 * UserInterface/Controllers/ResourceQueryController.js:
4624
4625 * UserInterface/Models/ResourceQueryMatch.js:
4626 (WI.ResourceQueryMatch):
4627 Drive-by fixes.
4628
joepeck@webkit.orgbad8c782018-11-08 20:27:04 +000046292018-11-08 Joseph Pecoraro <pecoraro@apple.com>
4630
commit-queue@webkit.org69b02f12018-11-09 06:07:20 +00004631 Uncaught Exception: undefined is not an object (evaluating 'treeElement.parent.removeChild')
4632 https://bugs.webkit.org/show_bug.cgi?id=191454
4633
4634 Reviewed by Matt Baker.
4635
4636 * UserInterface/Views/ResourceSidebarPanel.js:
4637 (WI.ResourceSidebarPanel.prototype._scriptsCleared):
4638 This was intending to iterate the Map's values, which are tree elements.
4639
46402018-11-08 Joseph Pecoraro <pecoraro@apple.com>
4641
commit-queue@webkit.org51461012018-11-08 23:44:22 +00004642 Web Inspector: Potential for watch expressions to never show results
4643 https://bugs.webkit.org/show_bug.cgi?id=191438
4644
4645 Reviewed by Matt Baker.
4646
4647 * UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
4648 (WI.ScopeChainDetailsSidebarPanel.prototype._generateWatchExpressionsSection):
4649 If there was no object don't bail, continue and resolve the Promise.
4650 In this case we can fallback to show `undefined`. This code might not be
4651 reachable right now, but is wrong as is.
4652
46532018-11-08 Joseph Pecoraro <pecoraro@apple.com>
4654
commit-queue@webkit.orgd7dc1cb2018-11-08 22:43:52 +00004655 Web Inspector: Debugger Popover does not work when paused in Worker
4656 https://bugs.webkit.org/show_bug.cgi?id=191342
4657
4658 Reviewed by Devin Rousso.
4659
4660 * UserInterface/Views/SourceCodeTextEditor.js:
4661 (WI.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedJavaScriptExpression.populate):
4662 (WI.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedJavaScriptExpression):
4663 When receiving the result of the popover evaluation associate the RemoteObject with
4664 the target we used to evaluate (such as the Debugger call frame), not the target
4665 associated with the editor.
4666
46672018-11-08 Joseph Pecoraro <pecoraro@apple.com>
4668
joepeck@webkit.orgbad8c782018-11-08 20:27:04 +00004669 Web Inspector: Restrict domains at the target level instead of only at the window level
4670 https://bugs.webkit.org/show_bug.cgi?id=191344
4671
4672 Reviewed by Devin Rousso.
4673
4674 With this change the list of agents available on the target should accurately
4675 reflect the domains that target supports. We should start moving in the direction
4676 that if we are checking for, or using, a feature, we should ideally be using
4677 code that looks like `target.FooAgent.method` and not `window.FooAgent` or
4678 an unprefixed `FooAgent`. More changes to follow.
4679
4680 * UserInterface/Controllers/AppControllerBase.js:
4681 * UserInterface/Base/DebuggableType.js: Added.
4682 Extract debuggable type enum out into its own file loaded early on.
4683
4684 * UserInterface/Main.html:
4685 * UserInterface/Test.html:
4686 Load DebuggableType.js.
4687
4688 * UserInterface/Controllers/NetworkManager.js:
4689 (WI.NetworkManager.prototype.initializeTarget):
4690 With these changes target.ServiceWorker is only exposed on a ServiceWorker target.
4691
4692 * UserInterface/Protocol/Connection.js:
4693 (InspectorBackend.WorkerConnection):
4694 With these changes Target.js restricts the domains exposed on the Target so just
4695 clone all of the agents (we don't need to do anything special).
4696
4697 * UserInterface/Protocol/InspectorBackend.js:
4698 (InspectorBackendClass.prototype.activateDomain):
4699 Update supported domains per-type. If there is no explicit availability
4700 then the domain is supported on all types.
4701
4702 (InspectorBackendClass.prototype.supportedDomainsForDebuggableType):
4703 Get supported domains per-type.
4704
4705 (InspectorBackendClass.prototype.get workerSupportedDomains): Deleted.
4706 (InspectorBackendClass.prototype.workerSupportedDomain): Deleted.
4707 workerSupportedDomains is now unnecessary.
4708
4709 * UserInterface/Protocol/Target.js:
4710 (WI.Target.prototype._supportedDomainsForTargetType):
4711 Restrict supported domains for this target based on its type.
4712
4713 * UserInterface/Protocol/Legacy/10.3/InspectorBackendCommands.js:
4714 * UserInterface/Protocol/Legacy/11.0/InspectorBackendCommands.js:
4715 * UserInterface/Protocol/Legacy/11.3/InspectorBackendCommands.js:
4716 * UserInterface/Protocol/Legacy/12.0/InspectorBackendCommands.js:
4717 * Versions/Inspector-iOS-10.3.json:
4718 * Versions/Inspector-iOS-11.0.json:
4719 * Versions/Inspector-iOS-11.3.json:
4720 * Versions/Inspector-iOS-12.0.json:
4721 Regenerate protocol files now that workerSupportedDomains is unnecessary
4722 and explicit availability has been added to other domains.
4723
nvasilyev@apple.com230cf2d2018-11-08 02:00:49 +000047242018-11-07 Nikita Vasilyev <nvasilyev@apple.com>
4725
4726 REGRESSION(r236705): Web Inspector: wrong text color for selected DataGrid row
4727 https://bugs.webkit.org/show_bug.cgi?id=191405
4728 <rdar://problem/45893283>
4729
4730 Reviewed by Matt Baker.
4731
4732 Selection background color for both Dark Mode mode and Light Mode is dark blue.
4733 The text color for both cases should be white.
4734
4735 * UserInterface/Views/DataGrid.css:
4736 (body:not(.window-inactive, .window-docked-inactive) .data-grid:focus tr.editable.selected .cell-content > input):
4737
commit-queue@webkit.org2a5d5f92018-11-07 19:48:04 +000047382018-11-07 Joseph Pecoraro <pecoraro@apple.com>
4739
4740 Web Inspector: Fix "Javascript" => "JavaScript" enum in protocol generated objects
4741 https://bugs.webkit.org/show_bug.cgi?id=191340
4742
4743 Reviewed by Devin Rousso.
4744
4745 * UserInterface/Models/Canvas.js:
4746 (WI.Canvas.fromPayload):
4747 Insert a missing break statement for the WebGPU case.
4748
4749 * UserInterface/Models/MemoryTimelineRecord.js:
4750 (WI.MemoryTimelineRecord.memoryCategoriesFromProtocol):
4751 Use new enum name.
4752
4753 * UserInterface/Protocol/Legacy/10.0/InspectorBackendCommands.js:
4754 * UserInterface/Protocol/Legacy/10.3/InspectorBackendCommands.js:
4755 * UserInterface/Protocol/Legacy/11.0/InspectorBackendCommands.js:
4756 * UserInterface/Protocol/Legacy/11.3/InspectorBackendCommands.js:
4757 * UserInterface/Protocol/Legacy/12.0/InspectorBackendCommands.js:
4758 * UserInterface/Protocol/Legacy/8.0/InspectorBackendCommands.js:
4759 * UserInterface/Protocol/Legacy/9.0/InspectorBackendCommands.js:
4760 * UserInterface/Protocol/Legacy/9.3/InspectorBackendCommands.js:
4761 Update enums with new generator.
4762
commit-queue@webkit.org74f9a672018-11-06 21:34:27 +000047632018-11-06 Joseph Pecoraro <pecoraro@apple.com>
4764
4765 REGRESSION: Web Inspector: Popovers drawing incorrectly in Network Tab (clicking between a few items)
4766 https://bugs.webkit.org/show_bug.cgi?id=191323
4767
4768 Reviewed by Devin Rousso.
4769
4770 * UserInterface/Views/Popover.js:
4771 (WI.Popover.prototype._drawBackground):
4772 Save and restore the context state between updates. Something
4773 was affecting the clearRect, making it so that it didn't actually
4774 clear the entire rect each time.
4775
drousso@apple.com79d66762018-11-05 22:03:47 +000047762018-11-05 Devin Rousso <drousso@apple.com>
4777
4778 Web Inspector: Audit: turn off Start button when all tests are removed
4779 https://bugs.webkit.org/show_bug.cgi?id=191235
4780
4781 Reviewed by Matt Baker.
4782
4783 * UserInterface/Views/AuditNavigationSidebarPanel.js:
4784 (WI.AuditNavigationSidebarPanel.prototype._handleAuditTestRemoved):
4785
mattbaker@apple.com23265c72018-11-05 19:01:30 +000047862018-11-05 Matt Baker <mattbaker@apple.com>
4787
4788 Web Inspector: Table selection should not require that rows be in the cache
4789 https://bugs.webkit.org/show_bug.cgi?id=190993
4790 <rdar://problem/45613812>
4791
4792 Reviewed by Devin Rousso.
4793
4794 Deselecting a table row shouldn't depend on it being in the cache. This
4795 allows us to implement select all, and other kinds of bulk selection
4796 actions that affect rows that haven't been revealed.
4797
4798 * UserInterface/Views/Table.js:
4799 (WI.Table.prototype.deselectRow):
4800
drousso@apple.come239de22018-11-05 17:34:48 +000048012018-11-05 Devin Rousso <drousso@apple.com>
4802
4803 Web Inspector: show save/restore stack for recorded 2D Canvases
4804 https://bugs.webkit.org/show_bug.cgi?id=175283
4805 <rdar://problem/34040756>
4806
4807 Reviewed by Matt Baker.
4808
4809 Instead of using plain objects for holding the `WI.Recording`'s state, use a model object
4810 so that more data can be passed around. When visualizing the state, show any previously
4811 saved states in a `WI.DetailsSection` underneath the current state. If there are no saved
4812 states (meaning there is only the current state), don't use a `WI.DetailsSection`.
4813
4814 * UserInterface/Models/RecordingState.js: Added.
4815 (WI.RecordingState):
4816 (WI.RecordingState.fromContext):
4817 (WI.RecordingState.async swizzleInitialState):
4818 (WI.RecordingState.prototype.get source):
4819 (WI.RecordingState.prototype.has):
4820 (WI.RecordingState.prototype.get return):
4821 (WI.RecordingState.prototype.toJSON):
4822 (WI.RecordingState.prototype.[Symbol.iterator]):
4823
4824 * UserInterface/Models/Recording.js:
4825 (WI.Recording.prototype.async _process):
4826 (WI.Recording.prototype.async _swizzleState): Deleted.
4827
4828 * UserInterface/Models/RecordingAction.js:
4829 (WI.RecordingAction.prototype.process):
4830 (WI.RecordingAction.deriveCurrentState): Deleted.
4831
4832 * UserInterface/Views/RecordingContentView.js:
4833 (WI.RecordingContentView.prototype._generateContentCanvas2D):
4834
4835 * UserInterface/Views/RecordingStateDetailsSidebarPanel.js:
4836 (WI.RecordingStateDetailsSidebarPanel):
4837 (WI.RecordingStateDetailsSidebarPanel.prototype.get scrollElement):
4838 (WI.RecordingStateDetailsSidebarPanel.prototype.sizeDidChange): Added.
4839 (WI.RecordingStateDetailsSidebarPanel.prototype._generateDetailsCanvas2D):
4840 (WI.RecordingStateDetailsSidebarPanel.prototype._generateDetailsCanvas2D.isColorProperty): Deleted.
4841 (WI.RecordingStateDetailsSidebarPanel.prototype._generateDetailsCanvas2D.createInlineSwatch): Deleted.
4842 * UserInterface/Views/RecordingStateDetailsSidebarPanel.css:
4843 (.sidebar > .panel.details.recording-state > .content .details-section > .header .source): Added.
4844 (.sidebar > .panel.details.recording-state > .content .data-grid tr.modified): Added.
4845 (.sidebar > .panel.details.recording-state > .content .data-grid tr:not(.selected).non-standard .name-column): Added.
4846 (.sidebar > .panel.details.recording-state > .content .data-grid tr:not(.selected) .unavailable): Added.
4847 (.sidebar > .panel.details.recording-state > .content .data-grid .inline-swatch): Added.
4848 (.sidebar > .panel.details.recording-state > .content > .data-grid tr.modified): Deleted.
4849 (.sidebar > .panel.details.recording-state > .content > .data-grid tr:not(.selected).non-standard): Deleted.
4850 (.sidebar > .panel.details.recording-state > .content > .data-grid tr:not(.selected) .unavailable): Deleted.
4851 (.sidebar > .panel.details.recording-state > .content > .data-grid .inline-swatch): Deleted.
4852
4853 * UserInterface/Main.html:
4854 * UserInterface/Test.html:
4855
4856 * Localizations/en.lproj/localizedStrings.js:
4857
drousso@apple.comb64bb152018-11-03 23:24:35 +000048582018-11-03 Devin Rousso <drousso@apple.com>
4859
4860 Web Inspector: Canvas: capture changes to <canvas> that would affect the recorded context
4861 https://bugs.webkit.org/show_bug.cgi?id=190854
4862
4863 Reviewed by Matt Baker.
4864
4865 * UserInterface/Models/RecordingAction.js:
4866 (WI.RecordingAction):
4867 (WI.RecordingAction.isFunctionForType):
4868 (WI.RecordingAction.constantNameForParameter):
4869 (WI.RecordingAction.prototype.get contextReplacer): Added.
4870 (WI.RecordingAction.prototype.async.swizzle):
4871 (WI.RecordingAction.prototype.apply):
4872 Create a constant list of actions for each recording type that need to replace the context
4873 with a different value before being applied (e.g. `width` should be applied to the
4874 `context`'s `canvas` instead of directly to the `context`).
4875
4876 * UserInterface/Views/RecordingContentView.js:
4877 (WI.RecordingContentView.prototype._generateContentCanvas2D.actionModifiesPath): Added.
4878 (WI.RecordingContentView.prototype._generateContentCanvas2D):
4879 (WI.RecordingContentView._actionModifiesPath): Deleted.
4880 Generate the path context after the actions are applied to the preview context so that the
4881 final width/height are known and can be used. This is needed because changing the
4882 width/height causes the content to be erased.
4883
4884 * UserInterface/Views/RecordingActionTreeElement.js:
4885 (WI.RecordingActionTreeElement._generateDOM):
4886 (WI.RecordingActionTreeElement._classNameForAction):
4887 * UserInterface/Views/RecordingActionTreeElement.css:
4888 (.tree-outline:focus .item.action.selected:not(.invalid, .initial-state, .has-context-replacer) > .icon): Added.
4889 (.item.action > .titles .context-replacer::after): Added.
4890 (.item.action.has-context-replacer > .icon): Added.
4891 (@media (prefers-dark-interface) .item.action:not(.invalid, .initial-state, .has-context-replacer) > .icon): Added.
4892 (.tree-outline:focus .item.action.selected:not(.initial-state, .invalid) > .icon): Deleted.
4893 (@media (prefers-dark-interface) .item.action:not(.initial-state) > .icon): Deleted.
4894 (@media (prefers-dark-interface) .tree-outline:not(.hide-disclosure-buttons) .item.action:not(.initial-state, .parent) > .icon): Deleted.
4895 Add the context replacer text to the beginning of the action's name if it exists.
4896
4897 * UserInterface/Views/CanvasContentView.js:
4898 (WI.CanvasContentView.prototype._refreshPixelSize):
4899 (WI.CanvasContentView.prototype._updatePixelSize): Deleted.
4900 Update preview image when the canvas' size changes.
4901
mattbaker@apple.com097aa8e2018-11-02 19:39:01 +000049022018-11-02 Matt Baker <mattbaker@apple.com>
4903
4904 Web Inspector: support multiple selection/deletion of cookie records
4905 https://bugs.webkit.org/show_bug.cgi?id=66381
4906 <rdar://problem/19281525>
4907
4908 Reviewed by Devin Rousso.
4909
4910 * Localizations/en.lproj/localizedStrings.js:
4911
4912 * UserInterface/Views/CookieStorageContentView.js:
4913 (WI.CookieStorageContentView):
4914 (WI.CookieStorageContentView.prototype.get scrollableElements):
4915 (WI.CookieStorageContentView.prototype.tableNumberOfRows):
4916 (WI.CookieStorageContentView.prototype.tableSortChanged):
4917 (WI.CookieStorageContentView.prototype.tableCellContextMenuClicked):
4918 (WI.CookieStorageContentView.prototype.tableDidRemoveRows):
4919 (WI.CookieStorageContentView.prototype.tablePopulateCell):
4920 (WI.CookieStorageContentView.prototype.initialLayout):
4921 (WI.CookieStorageContentView.prototype._generateSortComparator):
4922 (WI.CookieStorageContentView.prototype._refreshButtonClicked):
4923 (WI.CookieStorageContentView.prototype._reloadCookies):
4924 (WI.CookieStorageContentView.prototype._updateSort):
4925 (WI.CookieStorageContentView.prototype._handleTableKeyDown):
4926 (WI.CookieStorageContentView.prototype.update): Deleted.
4927 (WI.CookieStorageContentView.prototype._rebuildTable): Deleted.
4928 (WI.CookieStorageContentView.prototype._sortDataGrid.localeCompare): Deleted.
4929 (WI.CookieStorageContentView.prototype._sortDataGrid.numberCompare): Deleted.
4930 (WI.CookieStorageContentView.prototype._sortDataGrid.expiresCompare): Deleted.
4931 (WI.CookieStorageContentView.prototype._sortDataGrid): Deleted.
4932 (WI.CookieStorageContentView.prototype._deleteCallback): Deleted.
4933 Replace DataGrid with Table. The content view serves as the table
4934 delegate and data source, and handles delete and backspace key events
4935 to allow deleting the selected cookies. Cookies may also be deleted from
4936 the table context menu and a new button in the navigation bar.
4937
4938 * UserInterface/Views/Table.js:
4939 (WI.Table.prototype.isRowSelected):
4940 (WI.Table.prototype.selectRow):
4941 (WI.Table.prototype.deselectRow):
4942 (WI.Table.prototype.removeRow):
4943 (WI.Table.prototype._getOrCreateRow):
4944 (WI.Table.prototype._handleMouseDown):
4945 (WI.Table.prototype._removeRows):
4946 (WI.Table.prototype._isRowSelected): Deleted.
4947 Make `isSelectedRow` public. It is more convenient and efficient than
4948 calling `Table.prototype.selectedRows.includes(rowIndex)`.
4949
drousso@apple.com7bb5ed62018-11-01 23:49:32 +000049502018-11-01 Devin Rousso <drousso@apple.com>
4951
drousso@apple.com00079a92018-11-02 04:11:57 +00004952 Web Inspector: View: introduce a didLayoutSubtree
4953 https://bugs.webkit.org/show_bug.cgi?id=191176
4954
4955 Reviewed by Matt Baker.
4956
4957 Introduce logic to allow subclasses of `WI.View` to perform logic after every `WI.View` in
4958 their subtree has finished `layout`.
4959
4960 * UserInterface/Views/View.js:
4961 (WI.View.prototype.didLayoutSubtree): Added.
4962 (WI.View.prototype._layoutSubtree):
4963
4964 * UserInterface/Views/NetworkTableContentView.js:
4965 (WI.NetworkTableContentView.prototype.layout):
4966 (WI.NetworkTableContentView.prototype.didLayoutSubtree): Added.
4967
49682018-11-01 Devin Rousso <drousso@apple.com>
4969
drousso@apple.com23eb3022018-11-02 00:27:19 +00004970 Web Inspector: Network: remove unnecessary media event tracking
4971 https://bugs.webkit.org/show_bug.cgi?id=191174
4972
4973 Reviewed by Joseph Pecoraro.
4974
4975 Renames "Group by Node" to "Group Media Requests" for clarity.
4976
4977 * UserInterface/Views/NetworkTableContentView.js:
4978 (WI.NetworkTableContentView):
4979 (WI.NetworkTableContentView.prototype.reset):
4980 (WI.NetworkTableContentView.prototype.showRepresentedObject):
4981 (WI.NetworkTableContentView.prototype.networkDetailViewClose):
4982 (WI.NetworkTableContentView.prototype._populateNameCell):
4983 (WI.NetworkTableContentView.prototype._populateWaterfallGraph.createDOMEventLine):
4984 (WI.NetworkTableContentView.prototype._populateWaterfallGraph):
4985 (WI.NetworkTableContentView.prototype.layout):
4986 (WI.NetworkTableContentView.prototype._entryForDOMNode):
4987 (WI.NetworkTableContentView.prototype._handleGroupByDOMNodeCheckedDidChange):
4988 (WI.NetworkTableContentView.prototype._restoreSelectedRow):
4989 (WI.NetworkTableContentView.prototype._handleResourceEntryMousedownWaterfall):
4990 (WI.NetworkTableContentView.prototype._handleNodeEntryMousedownWaterfall):
4991 (WI.NetworkTableContentView.prototype._handleMousedownWaterfall):
4992 * UserInterface/Views/NetworkTableContentView.css:
4993 (.network-table .data-container .cell.name .range): Added.
4994 (.network-table .data-container .cell.name .range::before): Added.
4995 (.network-table:focus .data-container li.selected .cell.name .range): Added.
4996 (@media (prefers-dark-interface) .network-table .data-container .cell.name .range): Added.
4997 Always display the "Byte Range" title as a "subtitle", regardless of the media requests
4998 setting being toggled.
4999 Drive-by: update the position of the waterfall popover whenever the time range changes.
5000 Drive-by: close the details view if a node is selected and the media requests setting is
5001 turned off.
5002
5003 * UserInterface/Views/Popover.js:
5004 (WI.Popover.prototype.resize): Added.
5005 (WI.Popover.prototype.handleEvent):
5006
5007 * Localizations/en.lproj/localizedStrings.js:
5008
50092018-11-01 Devin Rousso <drousso@apple.com>
5010
drousso@apple.com7bb5ed62018-11-01 23:49:32 +00005011 Web Inspector: Uncaught Exception: TypeError: null is not an object (evaluating 'mouseBlock.addEventListener')
5012 https://bugs.webkit.org/show_bug.cgi?id=191020
5013
5014 Reviewed by Joseph Pecoraro.
5015
5016 * UserInterface/Views/TimelineRuler.js:
5017 (WI.TimelineRuler):
5018 Since `undefined` is not a number, it isn't less than `0`, which caused us to divide by
5019 `undefined` (equivalent to dividing by `0`), resulting in `NaN`.
5020
nvasilyev@apple.com71cf0722018-11-01 18:57:27 +000050212018-11-01 Nikita Vasilyev <nvasilyev@apple.com>
5022
nvasilyev@apple.comfae90c22018-11-01 23:24:16 +00005023 Uncaught Exception: TypeError: undefined is not an object (evaluating 'WI.modifierKeys.metaKey') (at ScopeBarItem.js:87:67)
5024 https://bugs.webkit.org/show_bug.cgi?id=191173
5025
5026 Reviewed by Devin Rousso.
5027
5028 WI.modifierKeys was accessed before it was initialized. Move it from WI.contentLoaded to WI.loaded,
5029 which happens before WI.contentLoaded.
5030
5031 * UserInterface/Base/Main.js:
5032 (WI.loaded):
5033 (WI.contentLoaded):
5034
50352018-11-01 Nikita Vasilyev <nvasilyev@apple.com>
5036
nvasilyev@apple.com6fe6f512018-11-01 19:13:27 +00005037 REGRESSION(r237652): Web Inspector: dumpInspectorProtocolMessages is always enabled
5038 https://bugs.webkit.org/show_bug.cgi?id=191161
5039
5040 Reviewed by Joseph Pecoraro.
5041
5042 * UserInterface/Protocol/InspectorBackend.js:
5043 (InspectorBackendClass.prototype.get dumpInspectorProtocolMessages):
5044
50452018-11-01 Nikita Vasilyev <nvasilyev@apple.com>
5046
nvasilyev@apple.com71cf0722018-11-01 18:57:27 +00005047 Web Inspector: Styles: Toggle selected properties by pressing Space or Command+/
5048 https://bugs.webkit.org/show_bug.cgi?id=181145
5049 <rdar://problem/36203388>
5050
5051 Reviewed by Brian Burg.
5052
5053 Pressing Space key or Command-/ toggles (comments out or uncomments) selected properties.
5054
5055 This patch only works with "Enable Selection of Multiple Properties" checked. It shouldn't introduce any
5056 changes when this setting is unchecked.
5057
5058 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
5059 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.get selectionRange):
5060 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.selectProperties):
5061 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyCopy):
5062 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._handleKeyDown):
5063 * UserInterface/Views/SpreadsheetStyleProperty.js:
5064 (WI.SpreadsheetStyleProperty):
5065 (WI.SpreadsheetStyleProperty.prototype.update): Renamed from _update.
5066 (WI.SpreadsheetStyleProperty.prototype.updateStatus):
5067 (WI.SpreadsheetStyleProperty.prototype.applyFilter):
5068 (WI.SpreadsheetStyleProperty.prototype.handleCopyEvent):
5069 Make `update` method public. No other changes were made.
5070
drousso@apple.com4ed15ac2018-11-01 01:18:07 +000050712018-10-31 Devin Rousso <drousso@apple.com>
5072
drousso@apple.com9c2dc262018-11-01 04:13:41 +00005073 Web Inspector: Canvas: create a setting for auto-recording newly created contexts
5074 https://bugs.webkit.org/show_bug.cgi?id=190856
5075
5076 Reviewed by Brian Burg.
5077
5078 * UserInterface/Controllers/CanvasManager.js:
5079 (WI.CanvasManager.supportsRecordingAutoCapture): Added.
5080 (WI.CanvasManager.prototype.setRecordingAutoCaptureFrameCount): Added.
5081
5082 * UserInterface/Models/Canvas.js:
5083 (WI.Canvas.prototype.startRecording):
5084 (WI.Canvas.prototype.recordingStarted):
5085 (WI.Canvas.prototype.recordingFinished):
5086
5087 * UserInterface/Models/Recording.js:
5088
5089 * UserInterface/Views/CanvasOverviewContentView.js:
5090 (WI.CanvasOverviewContentView):
5091 (WI.CanvasOverviewContentView.prototype.get navigationItems):
5092 (WI.CanvasOverviewContentView.prototype.initialLayout): Added.
5093 (WI.CanvasOverviewContentView.prototype.attached):
5094 (WI.CanvasOverviewContentView.prototype.detached):
5095 (WI.CanvasOverviewContentView.prototype._setRecordingAutoCaptureFrameCount): Added.
5096 (WI.CanvasOverviewContentView.prototype._updateRecordingAutoCaptureInputElementSize): Added.
5097 (WI.CanvasOverviewContentView.prototype._handleRecordingAutoCaptureInput): Added.
5098 (WI.CanvasOverviewContentView.prototype._handleRecordingAutoCaptureCheckedDidChange): Added.
5099 (WI.CanvasOverviewContentView.prototype._handleCanvasRecordingAutoCaptureEnabledChanged): Added.
5100 (WI.CanvasOverviewContentView.prototype._handleCanvasRecordingAutoCaptureFrameCountChanged): Added.
5101 * UserInterface/Views/CanvasOverviewContentView.css:
5102 (.navigation-bar > .item.canvas-recording-auto-capture > label): Added.
5103 (.navigation-bar > .item.canvas-recording-auto-capture > label > input): Added.
5104 (.navigation-bar > .item.canvas-recording-auto-capture > label > input::-webkit-inner-spin-button): Added.
5105 (.popover-content > .tree-outline .item.recording > .icon): Deleted.
5106 (.popover-content > .tree-outline .item.recording:hover): Deleted.
5107 (.popover-content > .tree-outline .item.recording:hover > .icon): Deleted.
5108 Drive-by: removed unused CSS rules.
5109
5110 * UserInterface/Views/CanvasContentView.js:
5111 (WI.CanvasContentView.prototype.initialLayout):
5112 (WI.CanvasContentView.prototype._updateProgressView):
5113 (WI.CanvasContentView.prototype._updateViewRelatedItems):
5114
5115 * UserInterface/Views/CanvasTabContentView.js:
5116 (WI.CanvasTabContentView.prototype._recordingImportedOrStopped):
5117
5118 * UserInterface/Views/CheckboxNavigationItem.js:
5119 (WI.CheckboxNavigationItem):
5120 (WI.CheckboxNavigationItem.prototype._handleLabelClick): Added.
5121
5122 * UserInterface/Base/Setting.js:
5123
5124 * Localizations/en.lproj/localizedStrings.js:
5125
51262018-10-31 Devin Rousso <drousso@apple.com>
5127
drousso@apple.comf0aebde2018-11-01 04:12:59 +00005128 Web Inspector: display low-power enter/exit events in Timelines and Network node waterfalls
5129 https://bugs.webkit.org/show_bug.cgi?id=190641
5130 <rdar://problem/45319049>
5131
5132 Reviewed by Joseph Pecoraro.
5133
5134 * UserInterface/Protocol/DOMObserver.js:
5135 (WI.DOMObserver.prototype.videoLowPowerChanged): Added.
5136
5137 * UserInterface/Controllers/DOMManager.js:
5138 (WI.DOMManager.prototype.videoLowPowerChanged): Added.
5139
5140 * UserInterface/Models/DOMNode.js:
5141 (WI.DOMNode):
5142 (WI.DOMNode.prototype.get lowPowerRanges): Added.
5143 (WI.DOMNode.prototype.videoLowPowerChanged): Added.
5144 (WI.DOMNode.prototype.canEnterLowPowerMode): Added.
5145
5146 * UserInterface/Views/NetworkTableContentView.js:
5147 (WI.NetworkTableContentView.prototype._populateDomainCell):
5148 (WI.NetworkTableContentView.prototype._tryLinkResourceToDOMNode):
5149 (WI.NetworkTableContentView.prototype._handleNodeLowPowerChanged): Added.
5150 * UserInterface/Views/NetworkTableContentView.css:
5151 (.network-table :not(.header) .cell.waterfall .waterfall-container > .area):
5152 (.network-table :not(.header) .cell.waterfall .waterfall-container > .area.dom-fullscreen): Added.
5153 (.network-table :not(.header) .cell.waterfall .waterfall-container > .area.low-power): Added.
5154 (.network-table :not(.header) .cell.waterfall .waterfall-container > .dom-fullscreen): Deleted.
5155
5156 * UserInterface/Views/DOMNodeEventsContentView.js:
5157 (WI.DOMNodeEventsContentView):
5158 (WI.DOMNodeEventsContentView.prototype.initialLayout):
5159 (WI.DOMNodeEventsContentView.prototype.closed): Deleted.
5160 (WI.DOMNodeEventsContentView.prototype._handleDOMNodeDidFireEvent): Deleted.
5161
5162 * UserInterface/Views/DOMEventsBreakdownView.js:
5163 (WI.DOMEventsBreakdownView):
5164 (WI.DOMEventsBreakdownView.prototype.initialLayout):
5165 (WI.DOMEventsBreakdownView.prototype.layout): Added.
5166 (WI.DOMEventsBreakdownView.prototype._handleDOMNodeDidFireEvent): Added.
5167 (WI.DOMEventsBreakdownView.prototype._handleDOMNodeLowPowerChanged): Added.
5168 (WI.DOMEventsBreakdownView.prototype.addEvent): Deleted.
5169 (WI.DOMEventsBreakdownView.prototype._populateTable.percentOfTotalTime): Deleted.
5170 (WI.DOMEventsBreakdownView.prototype._populateTable): Deleted.
5171 * UserInterface/Views/DOMEventsBreakdownView.css:
5172 (.dom-events-breakdown .graph > .area): Added.
5173 (.dom-events-breakdown .graph > .area.fullscreen):
5174 (.dom-events-breakdown .graph > .area.low-power): Added.
5175
5176 * Localizations/en.lproj/localizedStrings.js:
5177
51782018-10-31 Devin Rousso <drousso@apple.com>
5179
drousso@apple.com4ed15ac2018-11-01 01:18:07 +00005180 Web Inspector: Audit: save imported audits across WebInspector sessions
5181 https://bugs.webkit.org/show_bug.cgi?id=190858
5182 <rdar://problem/45527625>
5183
5184 Reviewed by Brian Burg.
5185
5186 * UserInterface/Base/ObjectStore.js: Added.
5187 (WI.ObjectStore):
5188 (WI.ObjectStore.supported):
5189 (WI.ObjectStore._open):
5190 (WI.ObjectStore.get _databaseName):
5191 (WI.ObjectStore.prototype.associateObject):
5192 (WI.ObjectStore.prototype.async getAll):
5193 (WI.ObjectStore.prototype.async add):
5194 (WI.ObjectStore.prototype.async addObject):
5195 (WI.ObjectStore.prototype.async delete):
5196 (WI.ObjectStore.prototype.async deleteObject):
5197 (WI.ObjectStore.prototype._resolveKeyPath):
5198 (WI.ObjectStore.prototype.async _operation.listener):
5199 (WI.ObjectStore.prototype.async _operation):
5200 Wrapper for a global `IndexedDB` instance for all of WebInspector (per level). Instances of
5201 `WI.ObjectStore` are able to control a given `IDBObjectStore` using a promise-based API.
5202
5203 *NOTE*: due to the constraint that `IDBObjectStore`s are only able to be created when the
5204 owner `IndexedDB` is "upgrade"d, all `WI.ObjectStore` must be declared before the database
5205 is opened for the first time. Additionally, any time a new `WI.ObjectStore` is added, the
5206 `version` needs to be incremented to ensure that the "upgrade" event fires.
5207
5208 To use any of the `*Object` functions, one must implement a `toJSON` on the object provided.
5209 This is so that `WI.ObjectStore` is able to add the resulting identifier value to the owner
5210 object while storing its `toJSON` value in the IndexedDB (e.g. for objects that have cycles).
5211
5212 * UserInterface/Controllers/AuditManager.js:
5213 (WI.AuditManager.prototype.import):
5214 (WI.AuditManager.prototype.loadStoredTests): Added.
5215 (WI.AuditManager.prototype.removeTest): Added.
5216 (WI.AuditManager.prototype._addTest):
5217
5218 * UserInterface/Views/AuditTabContentView.js:
5219 (WI.AuditTabContentView.prototype.initialLayout): Added.
5220 Attempt to load stored audits when the Audit tab is first shown (lazy-load).
5221
5222 * UserInterface/Views/AuditNavigationSidebarPanel.js:
5223 (WI.AuditNavigationSidebarPanel.prototype.initialLayout):
5224 (WI.AuditNavigationSidebarPanel.prototype._handleAuditTestRemoved): Added.
5225
5226 * UserInterface/Views/AuditTreeElement.js:
5227 (WI.AuditTreeElement.prototype.ondelete):
5228 Only allow top-level audits to be deleted, as that is what matches the `WI.ObjectStore`.
5229
5230 * UserInterface/Main.html:
5231 * UserInterface/Test.html:
5232
commit-queue@webkit.org5e0ac952018-11-01 00:37:37 +000052332018-10-31 Joseph Pecoraro <pecoraro@apple.com>
5234
5235 Web Inspector: Move a few remaining global WI settings to WI.settings
5236 https://bugs.webkit.org/show_bug.cgi?id=191137
5237
5238 Reviewed by Brian Burg.
5239
5240 Move and better name some of the WI.settings created in Main.js
5241 to WI.settings, alongside other global settings.
5242
5243 * UserInterface/Base/Main.js:
5244 (WI.loaded):
5245 Move settings, and register for settings changes in contentLoaded.
5246
5247 * UserInterface/Base/Setting.js:
5248 New settings, and sort values.
5249
5250 * UserInterface/Test/Test.js:
5251 (WI.loaded):
5252 Update setting values for tests.
5253
5254 * UserInterface/Controllers/NetworkManager.js:
5255 (WI.NetworkManager.prototype.initializeTarget):
5256 * UserInterface/Controllers/RuntimeManager.js:
5257 (WI.RuntimeManager.prototype.initializeTarget):
5258 * UserInterface/Models/DOMNode.js:
5259 (WI.DOMNode.prototype.get children):
5260 (WI.DOMNode.prototype.get nextSibling):
5261 (WI.DOMNode.prototype.get previousSibling):
5262 (WI.DOMNode.prototype.get childNodeCount):
5263 * UserInterface/Protocol/Target.js:
5264 (WI.Target.prototype.initialize):
5265 * UserInterface/Views/DOMTreeContentView.js:
5266 (WI.DOMTreeContentView):
5267 (WI.DOMTreeContentView.prototype.closed):
5268 (WI.DOMTreeContentView.prototype._togglePaintFlashing):
5269 (WI.DOMTreeContentView.prototype._showPaintRectsSettingChanged):
5270 (WI.DOMTreeContentView.prototype._showShadowDOMSettingChanged):
5271 (WI.DOMTreeContentView.prototype._toggleShowsShadowDOMSetting):
5272 * UserInterface/Views/DOMTreeOutline.js:
5273 (WI.DOMTreeOutline):
5274 (WI.DOMTreeOutline.prototype.close):
5275 (WI.DOMTreeOutline.prototype._revealAndSelectNode):
5276 * UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
5277 (WI.LayerTreeDetailsSidebarPanel.prototype.initialLayout):
5278 (WI.LayerTreeDetailsSidebarPanel.prototype._updateDisplayWithLayers):
5279 * UserInterface/Views/Layers3DContentView.js:
5280 (WI.Layers3DContentView):
5281 (WI.Layers3DContentView.prototype.closed):
5282 (WI.Layers3DContentView.prototype._showPaintRectsSettingChanged):
5283 (WI.Layers3DContentView.prototype._togglePaintFlashing):
5284 * UserInterface/Views/NetworkTableContentView.js:
5285 (WI.NetworkTableContentView):
5286 (WI.NetworkTableContentView.prototype.closed):
5287 (WI.NetworkTableContentView.prototype._resourceCachingDisabledSettingChanged):
5288 (WI.NetworkTableContentView.prototype._toggleDisableResourceCache):
5289 * UserInterface/Views/ScriptContentView.js:
5290 (WI.ScriptContentView):
5291 (WI.ScriptContentView.prototype.closed):
5292 (WI.ScriptContentView.prototype._contentDidPopulate):
5293 (WI.ScriptContentView.prototype._enableControlFlowProfilerSettingChanged):
5294 (WI.ScriptContentView.prototype._showJavaScriptTypeInformationSettingChanged):
5295 * UserInterface/Views/SourceCodeTextEditor.js:
5296 (WI.SourceCodeTextEditor.prototype.shown):
5297 (WI.SourceCodeTextEditor.prototype._proceedPopulateWithContent):
5298 (WI.SourceCodeTextEditor.prototype._setTypeTokenAnnotatorEnabledState):
5299 (WI.SourceCodeTextEditor.prototype.set _basicBlockAnnotatorEnabled):
5300 * UserInterface/Views/TextResourceContentView.js:
5301 (WI.TextResourceContentView):
5302 (WI.TextResourceContentView.prototype.closed):
5303 (WI.TextResourceContentView.prototype._contentDidPopulate):
5304 (WI.TextResourceContentView.prototype._enableControlFlowProfilerSettingChanged):
5305 (WI.TextResourceContentView.prototype._showJavaScriptTypeInformationSettingChanged):
5306 Renamed setting.
5307
drousso@apple.comf7078c12018-10-31 23:57:30 +000053082018-10-31 Devin Rousso <drousso@apple.com>
5309
5310 Web Inspector: Styles: missing contextmenu items for links
5311 https://bugs.webkit.org/show_bug.cgi?id=191021
5312
5313 Reviewed by Joseph Pecoraro.
5314
5315 * UserInterface/Views/SpreadsheetStyleProperty.js:
5316 (WI.SpreadsheetStyleProperty.prototype._renderValue):
5317 (WI.SpreadsheetStyleProperty.prototype._handleLinkContextMenu): Added.
5318 If the token is subtype of "link", add contextmenu items to the wrapper element.
5319
5320 * UserInterface/Views/ContextMenuUtilities.js:
5321 (WI.appendContextMenuItemsForURL.showResourceWithOptions):
5322 (WI.appendContextMenuItemsForURL):
5323 Drive-by: don't assume that `options` will be provided.
5324
5325 * Localizations/en.lproj/localizedStrings.js:
5326
nvasilyev@apple.com12f97492018-10-31 22:52:11 +000053272018-10-31 Nikita Vasilyev <nvasilyev@apple.com>
5328
5329 Web Inspector: Styles: implement copying and deletion of multiple properties
5330 https://bugs.webkit.org/show_bug.cgi?id=191037
5331 <rdar://problem/45650078>
5332
5333 Reviewed by Brian Burg.
5334
5335 This patch should only work with "Enable Selection of Multiple Properties" checked. It shouldn't introduce any
5336 changes when this setting is unchecked.
5337
5338 Mousedown on a property (1) and moving the mouse cursor to another property (2) should select properties 1, 2, and
5339 all properties between them until mouseup is fired.
5340
5341 Once selected:
5342 - Pressing Command-C should copy the selected properties.
5343 - Pressing Delete should remove the properties.
5344
5345 * UserInterface/Models/CSSProperty.js:
5346 (WI.CSSProperty.prototype.get formattedText):
5347 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
5348 (.spreadsheet-style-declaration-editor):
5349 (.multiple-properties-selection .spreadsheet-style-declaration-editor .property):
5350 (.multiple-properties-selection .spreadsheet-style-declaration-editor :matches(.name, .value):not(.editing)):
5351 (.multiple-properties-selection .spreadsheet-style-declaration-editor .property.selected):
5352 (.multiple-properties-selection .spreadsheet-style-declaration-editor .property.selected:focus):
5353 (@media (prefers-dark-interface)):
5354
5355 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
5356 (WI.SpreadsheetCSSStyleDeclarationEditor):
5357 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.initialLayout):
5358 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.selectProperties):
5359 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.deselectProperties):
5360 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyBlur):
5361 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyMouseEnter):
5362 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyMouseLeave):
5363 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyCopy):
5364 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._handleKeyDown):
5365 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._hasSelectedProperties):
5366 Property selection is defined as two numbers: anchorIndex and focusIndex.
5367 The property with focusIndex is actually focused. The focus outline is replaced by a more subtle left blue border.
5368
5369 * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.css:
5370 (.spreadsheet-css-declaration.selecting,):
5371 * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
5372 (WI.SpreadsheetCSSStyleDeclarationSection):
5373 (WI.SpreadsheetCSSStyleDeclarationSection.prototype.spreadsheetCSSStyleDeclarationEditorPropertyBlur):
5374 (WI.SpreadsheetCSSStyleDeclarationSection.prototype.spreadsheetCSSStyleDeclarationEditorPropertyMouseEnter):
5375 (WI.SpreadsheetCSSStyleDeclarationSection.prototype.spreadsheetCSSStyleDeclarationEditorPropertyMouseLeave):
5376 (WI.SpreadsheetCSSStyleDeclarationSection.prototype._handleMouseDown):
5377 (WI.SpreadsheetCSSStyleDeclarationSection.prototype._handleWindowMouseUp):
5378 (WI.SpreadsheetCSSStyleDeclarationSection.prototype._handleClick):
5379 * UserInterface/Views/SpreadsheetStyleProperty.js:
5380 (WI.SpreadsheetStyleProperty):
5381 Implement copying the same way it's done for DataGrid: by adding copyHandler property to the focused element.
5382 Add `tabIndex=-1` so the property element can be focused.
5383
5384 (WI.SpreadsheetStyleProperty.prototype.get property):
5385 (WI.SpreadsheetStyleProperty.prototype.get selected):
5386 (WI.SpreadsheetStyleProperty.prototype.set selected):
5387 (WI.SpreadsheetStyleProperty.prototype.remove):
5388 (WI.SpreadsheetStyleProperty.prototype.updateStatus):
5389 (WI.SpreadsheetStyleProperty.prototype.handleCopyEvent):
5390 (WI.SpreadsheetStyleProperty.prototype.spreadsheetTextFieldDidCommit):
5391 (WI.SpreadsheetStyleProperty.prototype.spreadsheetTextFieldDidBlur):
5392 (WI.SpreadsheetStyleProperty.prototype._handleNamePaste):
5393
drousso@apple.comb92b7282018-10-31 22:00:34 +000053942018-10-31 Devin Rousso <drousso@apple.com>
5395
5396 Web Inspector: Audit: attempt to re-link DOM nodes for imported results
5397 https://bugs.webkit.org/show_bug.cgi?id=191044
5398 <rdar://problem/45687364>
5399
5400 Reviewed by Brian Burg.
5401
5402 When importing a `WI.AuditTestCaseResult`, attempt to `querySelector` for each item in
5403 `data.domNodes`. If a node is found, replace it with that node and show a tree instead.
5404
5405 * UserInterface/Models/AuditTestCase.js:
5406 (WI.AuditTestCase.async fromPayload): Added.
5407 (WI.AuditTestCase.fromPayload): Deleted.
5408
5409 * UserInterface/Models/AuditTestGroup.js:
5410 (WI.AuditTestGroup.async fromPayload): Added.
5411 (WI.AuditTestGroup.fromPayload): Deleted.
5412
5413 * UserInterface/Models/AuditTestCaseResult.js:
5414 (WI.AuditTestCaseResult.async fromPayload): Added.
5415 (WI.AuditTestCaseResult.fromPayload): Deleted.
5416
5417 * UserInterface/Models/AuditTestGroupResult.js:
5418 (WI.AuditTestGroupResult.async fromPayload): Added.
5419 (WI.AuditTestGroupResult.fromPayload): Deleted.
5420
5421 * UserInterface/Controllers/AuditManager.js:
5422 (WI.AuditManager.prototype.import):
5423
joepeck@webkit.org83c76912018-10-31 21:19:11 +000054242018-10-31 Joseph Pecoraro <pecoraro@apple.com>
5425
joepeck@webkit.org10adb122018-10-31 21:48:01 +00005426 Follow-up review comment to r237652.
5427
5428 Reviewed by Brian Burg.
5429
5430 * UserInterface/Controllers/DebuggerManager.js:
5431 (WI.DebuggerManager):
5432
54332018-10-31 Joseph Pecoraro <pecoraro@apple.com>
5434
joepeck@webkit.org83c76912018-10-31 21:19:11 +00005435 Web Inspector: Separate target initialization from frontend initialization
5436 https://bugs.webkit.org/show_bug.cgi?id=191052
5437 <rdar://problem/45658384>
5438
5439 Reviewed by Brian Burg.
5440
5441 * UserInterface/Base/Main.js:
5442 (WI.loaded):
5443 (WI.performOneTimeFrontendInitializationsUsingTarget):
5444 Create the targets after the rest of frontend initialization. This is a step
5445 toward a frontend opening and being told about multiple targets instead of
5446 knowing in advance a single target it is connected to. All backend
5447 messages during frontend initialization now happen with an explicit target.
5448
5449 * UserInterface/Controllers/ApplicationCacheManager.js:
5450 (WI.ApplicationCacheManager):
5451 (WI.ApplicationCacheManager.prototype.initializeTarget):
5452 (WI.ApplicationCacheManager.prototype.initialize):
5453 * UserInterface/Controllers/CSSManager.js:
5454 (WI.CSSManager):
5455 (WI.CSSManager.prototype.initializeTarget):
5456 * UserInterface/Controllers/CanvasManager.js:
5457 (WI.CanvasManager):
5458 (WI.CanvasManager.prototype.initializeTarget):
5459 * UserInterface/Controllers/ConsoleManager.js:
5460 (WI.ConsoleManager):
5461 (WI.ConsoleManager.prototype.initializeLogChannels):
5462 * UserInterface/Controllers/DOMManager.js:
5463 (WI.DOMManager):
5464 (WI.DOMManager.prototype.initializeTarget):
5465 * UserInterface/Controllers/DOMStorageManager.js:
5466 (WI.DOMStorageManager):
5467 (WI.DOMStorageManager.prototype.initializeTarget):
5468 * UserInterface/Controllers/DatabaseManager.js:
5469 (WI.DatabaseManager):
5470 (WI.DatabaseManager.prototype.initializeTarget):
5471 * UserInterface/Controllers/DebuggerManager.js:
5472 (WI.DebuggerManager):
5473 (WI.DebuggerManager.prototype.initializeTarget):
5474 (WI.DebuggerManager.restoreBreakpointsSoon): Deleted.
5475 * UserInterface/Controllers/HeapManager.js:
5476 (WI.HeapManager.prototype.initializeTarget):
5477 * UserInterface/Controllers/IndexedDBManager.js:
5478 (WI.IndexedDBManager):
5479 (WI.IndexedDBManager.prototype.initializeTarget):
5480 * UserInterface/Controllers/LayerTreeManager.js:
5481 (WI.LayerTreeManager.prototype.initializeTarget):
5482 * UserInterface/Controllers/MemoryManager.js:
5483 (WI.MemoryManager.prototype.initializeTarget):
5484 * UserInterface/Controllers/NetworkManager.js:
5485 (WI.NetworkManager):
5486 (WI.NetworkManager.prototype.initializeTarget):
5487 * UserInterface/Controllers/RuntimeManager.js:
5488 (WI.RuntimeManager):
5489 (WI.RuntimeManager.prototype.initializeTarget):
5490 * UserInterface/Controllers/TargetManager.js:
5491 (WI.TargetManager):
5492 (WI.TargetManager.prototype.initializeTargetsWithMainTarget):
5493 * UserInterface/Controllers/TimelineManager.js:
5494 (WI.TimelineManager):
5495 (WI.TimelineManager.prototype.initializeTarget):
5496 (WI.TimelineManager.prototype.set enabledTimelineTypes):
5497 (WI.TimelineManager.prototype._updateAutoCaptureInstruments):
5498 * UserInterface/Controllers/WorkerManager.js:
5499 (WI.WorkerManager):
5500 (WI.WorkerManager.prototype.initializeTarget):
5501 Move Target initialization out of the constructor into a top level
5502 `initializeTarget` function. This will be expected to be called
5503 by any target that the frontend connects to.
5504
5505 (WI.DebuggerManager.prototype._pauseForInternalScriptsDidChange):
5506 Drive-by fix. Update all targets if the setting changes.
5507
5508 (WI.WorkerManager.prototype.workerCreated):
5509 Call initialize on the new target.
5510
5511 * UserInterface/Models/CSSCompletions.js:
5512 (WI.CSSCompletions.initializeCSSCompletions):
5513 (WI.CSSCompletions.requestCSSCompletions): Deleted.
5514 Rename requestCSSCompletions to initializeCSSCompletions to try
5515 and standardize on "initialize" being used for most frontend one
5516 time initialization tasks. This being one such operation that
5517 only needs to be performed once on a target that supports it.
5518
5519 * UserInterface/Protocol/Target.js:
5520 (WI.Target):
5521 (WI.Target.prototype.initialize):
5522 Perform explicit target initialization, such as initializing
5523 the state of all backend domains / agents. This is done by asking
5524 each of the managers to do initialization work for this target.
5525
5526 (WI.Target.prototype.get ApplicationCacheAgent):
5527 (WI.Target.prototype.get CSSAgent):
5528 (WI.Target.prototype.get CanvasAgent):
5529 (WI.Target.prototype.get ConsoleAgent):
5530 (WI.Target.prototype.get DOMAgent):
5531 (WI.Target.prototype.get DOMDebuggerAgent):
5532 (WI.Target.prototype.get DOMStorageAgent):
5533 (WI.Target.prototype.get DatabaseAgent):
5534 (WI.Target.prototype.get DebuggerAgent):
5535 (WI.Target.prototype.get HeapAgent):
5536 (WI.Target.prototype.get IndexedDBAgent):
5537 (WI.Target.prototype.get InspectorAgent):
5538 (WI.Target.prototype.get LayerTreeAgent):
5539 (WI.Target.prototype.get MemoryAgent):
5540 (WI.Target.prototype.get NetworkAgent):
5541 (WI.Target.prototype.get PageAgent):
5542 (WI.Target.prototype.get RecordingAgent):
5543 (WI.Target.prototype.get RuntimeAgent):
5544 (WI.Target.prototype.get ScriptProfilerAgent):
5545 (WI.Target.prototype.get ServiceWorkerAgent):
5546 (WI.Target.prototype.get TargetAgent):
5547 (WI.Target.prototype.get TimelineAgent):
5548 (WI.Target.prototype.get WorkerAgent):
5549 Accessors for all of the agents on a Target.
5550
5551 * UserInterface/Protocol/WorkerTarget.js:
5552 (WI.WorkerTarget):
5553 This is now automatically done in the base class.
5554
5555 * UserInterface/Test/Test.js:
5556 (WI.loaded):
5557 (WI.performOneTimeFrontendInitializationsUsingTarget):
5558 New necessary top level hooks, and initialize more like Main.js.
5559
drousso@apple.com400408f2018-10-31 18:25:54 +000055602018-10-31 Devin Rousso <drousso@apple.com>
5561
5562 Web Inspector: Audit: show metadata for results
5563 https://bugs.webkit.org/show_bug.cgi?id=190853
5564 <rdar://problem/45527623>
5565
5566 Reviewed by Brian Burg.
5567
5568 * UserInterface/Models/AuditTestCase.js:
5569 (WI.AuditTestCase.prototype.async run):
5570 Capture timestamps around the `RunetimeAgent.evaluate` call, as well as the URL of the page.
5571
5572 * UserInterface/Models/AuditTestCaseResult.js:
5573 (WI.AuditTestCaseResult):
5574 (WI.AuditTestCaseResult.fromPayload):
5575 (WI.AuditTestCaseResult.prototype.get metadata): Added.
5576 (WI.AuditTestCaseResult.prototype.toJSON):
5577
5578 * UserInterface/Views/AuditTestCaseContentView.js:
5579 (WI.AuditTestCaseContentView.prototype.initialLayout):
5580 (WI.AuditTestCaseContentView.prototype.layout):
5581 * UserInterface/Views/AuditTestCaseContentView.css:
5582 (.content-view.audit-test-case > header h1): Added.
5583 (.content-view.audit-test-case > header h1 > img): Added.
5584 (.content-view.audit-test-case > header > .metadata): Added.
5585 (.content-view.audit-test-case > header > .metadata > .source > time): Added.
5586 (.content-view.audit-test-case > header > .metadata > .source > a): Added.
5587 (.content-view.audit-test-case > header > .metadata > .duration): Added.
5588 (.content-view.audit-test-case > header > h1): Deleted.
5589 (.content-view.audit-test-case > header > h1 > img): Deleted.
5590 Display any metadata information where the `WI.ScopeBar` is for `WI.AuditTestGroupContentView`s.
5591
5592 * UserInterface/Views/AuditTestContentView.css:
5593 (.content-view.audit-test > header):
5594 (.content-view.audit-test > header > .information): Added.
5595 * UserInterface/Views/AuditTestGroupContentView.css:
5596 (.content-view.audit-test-group > header):
5597 (.content-view.audit-test-group > header > .percentage-pass):
5598 (.content-view.audit-test-group > header > .information): Deleted.
5599 Move common CSS rules to common parent class.
5600
5601 * UserInterface/Base/Utilities.js:
5602
drousso@apple.comdb0b54b2018-10-30 17:48:15 +000056032018-10-30 Devin Rousso <drousso@apple.com>
5604
drousso@apple.comfc989ab2018-10-31 01:11:36 +00005605 Web Inspector: Audit: create Audit Tab
5606 https://bugs.webkit.org/show_bug.cgi?id=190754
5607
5608 Reviewed by Matt Baker.
5609
5610 Create an Audit tab for running audits on the inspected page. Leverage `Runtime.evaluate`
5611 for running the audit tests (arbitrary JavaScript), and use the returned value to generate
5612 a preview UI of the results. All tests/results can be exported/imported to formatted JSON:
5613
5614 `AuditTestCase` JSON:
5615 {
5616 "type": "test-case",
5617 "name": <string>,
5618 <optional> "description": <string>,
5619 "test": <stringified JavaScript function>,
5620 }
5621
5622 `AuditTestGroup` JSON:
5623 {
5624 "type": "test-group",
5625 "name": <string>,
5626 <optional> "description": <string>,
5627 "tests": [...<AuditTestCase, AuditTestGroup>],
5628 }
5629
5630 `AuditTestCaseResult` JSON:
5631 {
5632 "type": "test-case-result",
5633 "name": <string>,
5634 <optional> "description": <string>,
5635 "level": <"pass", "warn", "fail", "error", "unsupported">,
5636 "data": {
5637 "domNodes": [...<stringified CSS path>],
5638 "domAttributes": [...<string>],
5639 "errors": [...<string>],
5640 },
5641 }
5642
5643 `AuditTestGroupResult` JSON:
5644 {
5645 "type": "test-group-result",
5646 "name": <string>,
5647 <optional> "description": <string>,
5648 "results": [...<AuditTestCaseResult, AuditTestGroupResult>],
5649 }
5650
5651 More keys may be added in the future (especially for `AuditTestCaseResult.data`).
5652
5653 * UserInterface/Controllers/AuditManager.js:
5654 (WI.AuditManager):
5655 (WI.AuditManager.synthesizeError): Added.
5656 (WI.AuditManager.prototype.get tests): Added.
5657 (WI.AuditManager.prototype.get results): Added.
5658 (WI.AuditManager.prototype.get runningState): Added.
5659 (WI.AuditManager.prototype.start): Added.
5660 (WI.AuditManager.prototype.stop): Added.
5661 (WI.AuditManager.prototype.import): Added.
5662 (WI.AuditManager.prototype.export): Added.
5663 (WI.AuditManager.prototype._addTest): Added.
5664 (WI.AuditManager.prototype._addResult): Added.
5665 (WI.AuditManager.prototype.get testSuites): Deleted.
5666 (WI.AuditManager.prototype.get reports): Deleted.
5667 (WI.AuditManager.prototype.async runAuditTestByRepresentedObject): Deleted.
5668 (WI.AuditManager.prototype.reportForId): Deleted.
5669 (WI.AuditManager.prototype.removeAllReports): Deleted.
5670 (WI.AuditManager.prototype.async _runTestCase): Deleted.
5671
5672 * UserInterface/Models/AuditTestBase.js: Added.
5673 (WI.AuditTestBases):
5674 (WI.AuditTestBases.prototype.get name):
5675 (WI.AuditTestBases.prototype.get description):
5676 (WI.AuditTestBases.prototype.get runningState):
5677 (WI.AuditTestBases.prototype.get result):
5678 (WI.AuditTestBases.prototype.async start):
5679 (WI.AuditTestBases.prototype.stop):
5680 (WI.AuditTestBases.prototype.clearResult):
5681 (WI.AuditTestBases.prototype.saveIdentityToCookie):
5682 (WI.AuditTestBases.prototype.toJSON):
5683 (WI.AuditTestBases.prototype.async run):
5684
5685 * UserInterface/Models/AuditTestCase.js:
5686 (WI.AuditTestCase):
5687 (WI.AuditTestCase.fromPayload): Added.
5688 (WI.AuditTestCase.prototype.toJSON): Added.
5689 (WI.AuditTestCase.prototype.async run): Added.
5690 (WI.AuditTestCase.prototype.async run.setLevel): Added.
5691 (WI.AuditTestCase.prototype.async run.addError): Added.
5692 (WI.AuditTestCase.prototype.async run.checkResultProperty.addErrorForValueType): Added.
5693 (WI.AuditTestCase.prototype.async run.checkResultProperty): Added.
5694 (WI.AuditTestCase.prototype.async run.async resultArrayForEach): Added.
5695 (WI.AuditTestCase.prototype.get id): Deleted.
5696 (WI.AuditTestCase.prototype.get name): Deleted.
5697 (WI.AuditTestCase.prototype.get suite): Deleted.
5698 (WI.AuditTestCase.prototype.get setup): Deleted.
5699 (WI.AuditTestCase.prototype.get tearDown): Deleted.
5700 (WI.AuditTestCase.prototype.get errorDetails): Deleted.
5701
5702 * UserInterface/Models/AuditTestGroup.js: Added.
5703 (WI.AuditTestGroup):
5704 (WI.AuditTestGroup.fromPayload):
5705 (WI.AuditTestGroup.prototype.get tests):
5706 (WI.AuditTestGroup.prototype.stop):
5707 (WI.AuditTestGroup.prototype.clearResult):
5708 (WI.AuditTestGroup.prototype.async run):
5709 (WI.AuditTestGroup.prototype.toJSON):
5710 (WI.AuditTestGroup.prototype._updateResult):
5711 (WI.AuditTestGroup.prototype._handleTestCompleted):
5712 (WI.AuditTestGroup.prototype._handleTestProgress):
5713
5714 * UserInterface/Models/AuditTestResultBase.js: Added.
5715 (WI.AuditTestResultBase):
5716 (WI.AuditTestResultBase.prototype.get name):
5717 (WI.AuditTestResultBase.prototype.get description):
5718 (WI.AuditTestResultBase.prototype.get result):
5719 (WI.AuditTestResultBase.prototype.get didPass):
5720 (WI.AuditTestResultBase.prototype.get didWarn):
5721 (WI.AuditTestResultBase.prototype.get didFail):
5722 (WI.AuditTestResultBase.prototype.get didError):
5723 (WI.AuditTestResultBase.prototype.get unsupported):
5724 (WI.AuditTestResultBase.prototype.saveIdentityToCookie):
5725 (WI.AuditTestResultBase.prototype.toJSON):
5726
5727 * UserInterface/Models/AuditTestCaseResult.js: Added.
5728 (WI.AuditTestCaseResult):
5729 (WI.AuditTestCaseResult.fromPayload.checkArray):
5730 (WI.AuditTestCaseResult.fromPayload):
5731 (WI.AuditTestCaseResult.prototype.get level):
5732 (WI.AuditTestCaseResult.prototype.get data):
5733 (WI.AuditTestCaseResult.prototype.get didPass):
5734 (WI.AuditTestCaseResult.prototype.get didWarn):
5735 (WI.AuditTestCaseResult.prototype.get didFail):
5736 (WI.AuditTestCaseResult.prototype.get didError):
5737 (WI.AuditTestCaseResult.prototype.get unsupported):
5738 (WI.AuditTestCaseResult.prototype.toJSON):
5739
5740 * UserInterface/Models/AuditTestGroupResult.js: Added.
5741 (WI.AuditTestGroupResult):
5742 (WI.AuditTestGroupResult.fromPayload):
5743 (WI.AuditTestGroupResult.prototype.get results):
5744 (WI.AuditTestGroupResult.prototype.get levelCounts):
5745 (WI.AuditTestGroupResult.prototype.get didPass):
5746 (WI.AuditTestGroupResult.prototype.get didWarn):
5747 (WI.AuditTestGroupResult.prototype.get didFail):
5748 (WI.AuditTestGroupResult.prototype.get didError):
5749 (WI.AuditTestGroupResult.prototype.get unsupported):
5750 (WI.AuditTestGroupResult.prototype.toJSON):
5751
5752 * UserInterface/Views/AuditTabContentView.js: Added.
5753 (WI.AuditTabContentView):
5754 (WI.AuditTabContentView.tabInfo):
5755 (WI.AuditTabContentView.isTabAllowed):
5756 (WI.AuditTabContentView.prototype.get type):
5757 (WI.AuditTabContentView.prototype.get supportsSplitContentBrowser):
5758 (WI.AuditTabContentView.prototype.canShowRepresentedObject):
5759 (WI.AuditTabContentView.prototype.shown):
5760 (WI.AuditTabContentView.prototype.hidden):
5761 (WI.AuditTabContentView.prototype._handleSpace):
5762
5763 * UserInterface/Views/AuditNavigationSidebarPanel.js: Added.
5764 (WI.AuditNavigationSidebarPanel):
5765 (WI.AuditNavigationSidebarPanel.prototype.showDefaultContentView):
5766 (WI.AuditNavigationSidebarPanel.prototype.initialLayout):
5767 (WI.AuditNavigationSidebarPanel.prototype.closed):
5768 (WI.AuditNavigationSidebarPanel.prototype._addTest):
5769 (WI.AuditNavigationSidebarPanel.prototype._addResult):
5770 (WI.AuditNavigationSidebarPanel.prototype._updateStartStopButtonNavigationItemState):
5771 (WI.AuditNavigationSidebarPanel.prototype._handleAuditTestAdded):
5772 (WI.AuditNavigationSidebarPanel.prototype._handleAuditTestCompleted):
5773 (WI.AuditNavigationSidebarPanel.prototype._handleAuditTestScheduled):
5774 (WI.AuditNavigationSidebarPanel.prototype._treeSelectionDidChange):
5775 (WI.AuditNavigationSidebarPanel.prototype._handleStartStopButtonNavigationItemClicked):
5776 (WI.AuditNavigationSidebarPanel.prototype._handleImportButtonNavigationItemClicked):
5777 * UserInterface/Views/AuditNavigationSidebarPanel.css: Added.
5778 (.sidebar > .panel.navigation.audit > .content):
5779
5780 * UserInterface/Views/AuditTreeElement.js: Added.
5781 (WI.AuditTreeElement):
5782 (WI.AuditTreeElement.prototype.get result):
5783 (WI.AuditTreeElement.prototype.onattach):
5784 (WI.AuditTreeElement.prototype.ondetach):
5785 (WI.AuditTreeElement.prototype.onpopulate):
5786 (WI.AuditTreeElement.prototype.populateContextMenu):
5787 (WI.AuditTreeElement.prototype._start):
5788 (WI.AuditTreeElement.prototype._updateLevel):
5789 (WI.AuditTreeElement.prototype._showRunningSpinner):
5790 (WI.AuditTreeElement.prototype._showRunningProgress):
5791 (WI.AuditTreeElement.prototype._handleTestCaseCompleted):
5792 (WI.AuditTreeElement.prototype._handleTestResultCleared):
5793 (WI.AuditTreeElement.prototype._handleTestCaseScheduled):
5794 (WI.AuditTreeElement.prototype._handleTestGroupCompleted):
5795 (WI.AuditTreeElement.prototype._handleTestGroupProgress):
5796 (WI.AuditTreeElement.prototype._handleTestGroupScheduled):
5797 (WI.AuditTreeElement.prototype._handleStatusClick):
5798 * UserInterface/Views/AuditTreeElement.css: Added.
5799 (.tree-outline .item.audit > .status):
5800 (.tree-outline .item.audit > .status > img):
5801 (.tree-outline .item.audit:matches(.test-case, .test-group) > .status:hover > img):
5802 (.tree-outline .item.audit > .status:not(:hover) > img.show-on-hover, .tree-outline .item.audit.test-group.expanded > .status:not(:hover)):
5803 (.tree-outline .item.audit.test-group.expanded > .status:hover > :not(img), .tree-outline .item.audit.test-group-result.expanded > .status):
5804 (.tree-outline .item.audit > .status > img.pass):
5805 (.tree-outline .item.audit > .status > img.warn):
5806 (.tree-outline .item.audit > .status > img.fail):
5807 (.tree-outline .item.audit > .status > img.error):
5808 (.tree-outline .item.audit > .status > img.unsupported):
5809 (.audit.test-case .icon):
5810 (.audit.test-group .icon):
5811 (.audit.test-case-result .icon):
5812 (.audit.test-group-result .icon):
5813
5814 * UserInterface/Views/AuditTestContentView.js: Added.
5815 (WI.AuditTestContentView):
5816 (WI.AuditTestContentView.prototype.get navigationItems):
5817 (WI.AuditTestContentView.prototype.get headerView):
5818 (WI.AuditTestContentView.prototype.get contentView):
5819 (WI.AuditTestContentView.prototype.get supportsSave):
5820 (WI.AuditTestContentView.prototype.get saveData):
5821 (WI.AuditTestContentView.prototype.initialLayout):
5822 (WI.AuditTestContentView.prototype.layout):
5823 (WI.AuditTestContentView.prototype.shown):
5824 (WI.AuditTestContentView.prototype.hidden):
5825 (WI.AuditTestContentView.prototype.get placeholderElement):
5826 (WI.AuditTestContentView.prototype.set placeholderElement):
5827 (WI.AuditTestContentView.prototype.showRunningPlaceholder):
5828 (WI.AuditTestContentView.prototype.showStoppingPlaceholder):
5829 (WI.AuditTestContentView.prototype.showNoResultPlaceholder):
5830 (WI.AuditTestContentView.prototype.showNoResultDataPlaceholder):
5831 (WI.AuditTestContentView.prototype.showFilteredPlaceholder):
5832 (WI.AuditTestContentView.prototype.hidePlaceholder):
5833 (WI.AuditTestContentView.prototype.applyFilter):
5834 (WI.AuditTestContentView.prototype.resetFilter):
5835 (WI.AuditTestContentView.prototype._exportAudit):
5836 (WI.AuditTestContentView.prototype._updateExportButtonNavigationItemState):
5837 (WI.AuditTestContentView.prototype._showPlaceholder):
5838 (WI.AuditTestContentView.prototype._handleExportButtonNavigationItemClicked):
5839 (WI.AuditTestContentView.prototype._handleTestChanged):
5840 * UserInterface/Views/AuditTestContentView.css: Added.
5841 (.content-view-container > .content-view.audit-test):
5842 (.content-view-container > .content-view.audit-test > header):
5843 (.content-view-container > .content-view.audit-test > header h1):
5844 (.content-view-container > .content-view.audit-test > header p):
5845 (.content-view.audit-test):
5846 (.content-view.audit-test h1):
5847 (.content-view.audit-test > header):
5848 (.content-view.audit-test > header p):
5849 (.content-view.audit-test .audit-test.filtered, .content-view.audit-test .audit-test .message-text-view):
5850 (.content-view.audit-test > section):
5851 (.content-view.audit-test > section > .message-text-view):
5852 (.content-view.audit-test.showing-placeholder):
5853 (.content-view.audit-test.showing-placeholder > section):
5854 (.content-view.audit-test.showing-placeholder > section > :not(.message-text-view)):
5855 (@media (prefers-dark-interface) .content-view.audit-test):
5856
5857 * UserInterface/Views/AuditTestCaseContentView.js: Added.
5858 (WI.AuditTestCaseContentView):
5859 (WI.AuditTestCaseContentView.prototype.initialLayout):
5860 (WI.AuditTestCaseContentView.prototype.layout):
5861 (WI.AuditTestCaseContentView.prototype.showRunningPlaceholder):
5862 * UserInterface/Views/AuditTestCaseContentView.css: Added.
5863 (.content-view-container > .content-view.audit-test-case > header):
5864 (.content-view-container > .content-view.audit-test-case > section > :not(.message-text-view):first-child):
5865 (.content-view.audit-test-case > header > h1):
5866 (.content-view.audit-test-case > header > h1 > img):
5867 (.content-view.audit-test-case > section > :not(.message-text-view)):
5868 (.content-view.audit-test-case > section > :not(.message-text-view):last-child):
5869 (.content-view.audit-test-case > section > :not(.message-text-view) + :not(.message-text-view)):
5870 (.content-view.audit-test-case > section h1):
5871 (.content-view.audit-test-case > section table):
5872 (.content-view.audit-test-case > section table > tr + tr > td):
5873 (.content-view.audit-test-case > section table > tr > td > :not(.tree-outline)):
5874 (.content-view.audit-test-case > section table > tr > td:first-child):
5875 (.content-view.audit-test-case > section > .dom-nodes > table > tr > td:first-child):
5876 (.content-view.audit-test-case > section code):
5877 (.content-view.audit-test-case > section mark):
5878
5879 * UserInterface/Views/AuditTestGroupContentView.js: Added.
5880 (WI.AuditTestGroupContentView):
5881 (WI.AuditTestGroupContentView.prototype.initialLayout):
5882 (WI.AuditTestGroupContentView.prototype.layout):
5883 (WI.AuditTestGroupContentView.prototype.shown):
5884 (WI.AuditTestGroupContentView.prototype.hidden):
5885 (WI.AuditTestGroupContentView.prototype.applyFilter):
5886 (WI.AuditTestGroupContentView.prototype.resetFilter):
5887 (WI.AuditTestGroupContentView.prototype.showRunningPlaceholder):
5888 (WI.AuditTestGroupContentView.prototype._subobjects):
5889 (WI.AuditTestGroupContentView.prototype._updateLevelScopeBar):
5890 (WI.AuditTestGroupContentView.prototype._handleTestGroupCompleted):
5891 (WI.AuditTestGroupContentView.prototype._handleTestGroupProgress):
5892 (WI.AuditTestGroupContentView.prototype._handleTestGroupScheduled):
5893 (WI.AuditTestGroupContentView.prototype._handleLevelScopeBarSelectionChanged):
5894 * UserInterface/Views/AuditTestGroupContentView.css: Added.
5895 (.content-view-container > .content-view.audit-test-group > header):
5896 (.content-view.audit-test-group > header):
5897 (.content-view.audit-test-group.no-matches + .audit-test-group > header):
5898 (.content-view.audit-test-group > header, .content-view.audit-test-group:not(.filtered):last-child > header):
5899 (.content-view.audit-test-group.contains-test-case > header):
5900 (.content-view.audit-test-group.contains-test-case + .audit-test-group.contains-test-case):
5901 (.content-view.audit-test-group.contains-test-case:not(.contains-test-group) > section, .content-view.audit-test-group.contains-test-case.contains-test-group > section > .audit-test-case):
5902 (.content-view.audit-test-group > header > .information):
5903 (.content-view.audit-test-group > header > .information > p):
5904 (.content-view.audit-test-group > header > nav):
5905 (.content-view.audit-test-group > header > nav:empty):
5906 (.content-view.audit-test-group > header > nav:not(:empty):before):
5907 (.content-view.audit-test-group > header > nav > .scope-bar > li):
5908 (.content-view.audit-test-group > header > nav > .scope-bar > li:not(:hover, .selected)):
5909 (.content-view.audit-test-group > header > nav > .scope-bar > li:last-child):
5910 (.content-view.audit-test-group > header > nav > .scope-bar > li::before):
5911 (.content-view.audit-test-group > header > nav > .scope-bar > li.pass::before):
5912 (.content-view.audit-test-group > header > nav > .scope-bar > li.warn::before):
5913 (.content-view.audit-test-group > header > nav > .scope-bar > li.fail::before):
5914 (.content-view.audit-test-group > header > nav > .scope-bar > li.error::before):
5915 (.content-view.audit-test-group > header > nav > .scope-bar > li.unsupported::before):
5916 (.content-view.audit-test-group > header > .percentage-pass):
5917 (.content-view.audit-test-group > header > .percentage-pass:not(:empty)::after):
5918 (.content-view.audit-test-group > section > .audit-test-case:first-child, .content-view.audit-test-group > section > .audit-test-group + .audit-test-case, .content-view.audit-test-group > section > .audit-test-case + .audit-test-group):
5919 (.content-view.audit-test-group > section > .audit-test-case:last-child):
5920
5921 * UserInterface/Views/ScopeBarItem.js:
5922 (WI.ScopeBarItem):
5923 (WI.ScopeBarItem.prototype.set selected):
5924 * UserInterface/Views/MultipleScopeBarItem.js:
5925 (WI.MultipleScopeBarItem.prototype.set selectedScopeBarItem):
5926 Add an `independent` option that prevents selection changes from deselecting other
5927 `WI.ScopeBarItem`s in the same `WI.ScopeBar` (`exclusive` takes precedence).
5928
5929 * UserInterface/Views/DOMTreeElement.js:
5930 (WI.DOMTreeElement):
5931 (WI.DOMTreeElement.prototype.highlightAttribute):
5932 (WI.DOMTreeElement.prototype._buildAttributeDOM):
5933 * UserInterface/Views/DOMTreeOutline.css:
5934 (.tree-outline.dom li .highlight):
5935
5936 * UserInterface/Views/ToggleButtonNavigationItem.js:
5937 (WI.ToggleButtonNavigationItem.prototype.set toggled):
5938 Also change the `label` if the `ButtonStyle` has text.
5939
5940 * UserInterface/Base/Setting.js:
5941 * UserInterface/Views/SettingsTabContentView.js:
5942 (WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
5943
5944 * UserInterface/Views/DividerNavigationItem.css:
5945 (.navigation-bar .item.divider):
5946
5947 * UserInterface/Base/Utilities.js:
5948 (Promise.chain): Added.
5949
5950 * UserInterface/Views/ContentView.js:
5951 (WI.ContentView.createFromRepresentedObject):
5952 (WI.ContentView.isViewable):
5953
5954 * UserInterface/Main.html:
5955 * UserInterface/Base/Main.js:
5956 (WI.loaded):
5957 (WI.contentLoaded):
5958
5959 * UserInterface/Test.html:
5960 * UserInterface/Base/Test.js:
5961 (WI.loaded):
5962
5963 * UserInterface/Images/Audit.svg: Added.
5964 * UserInterface/Images/AuditStart.svg: Added.
5965 * UserInterface/Images/AuditStop.svg: Added.
5966 * UserInterface/Images/AuditTestCase.svg: Added.
5967 * UserInterface/Images/AuditTestCaseResult.svg: Added.
5968 * UserInterface/Images/AuditTestError.svg: Added.
5969 * UserInterface/Images/AuditTestFail.svg: Added.
5970 * UserInterface/Images/AuditTestGroup.svg: Added.
5971 * UserInterface/Images/AuditTestGroupResult.svg: Added.
5972 * UserInterface/Images/AuditTestNoResult.svg: Added.
5973 * UserInterface/Images/AuditTestPass.svg: Added.
5974 * UserInterface/Images/AuditTestUnsupported.svg: Added.
5975 * UserInterface/Images/AuditTestWarn.svg: Added.
5976
5977 * Localizations/en.lproj/localizedStrings.js:
5978
59792018-10-30 Devin Rousso <drousso@apple.com>
5980
drousso@apple.comed2946e2018-10-30 23:06:23 +00005981 Web Inspector: provide options to WI.cssPath for more verbosity
5982 https://bugs.webkit.org/show_bug.cgi?id=190987
5983
5984 Reviewed by Brian Burg.
5985
5986 * UserInterface/Base/DOMUtilities.js:
5987 (WI.cssPath):
5988 (WI.cssPathComponent):
5989 When the option `full` is true, print every attribute along with every node in the hierarchy
5990 until the root is reached. This partially duplicates the effect of an XPath, but instead
5991 uses CSS selectors, making it much more human readable and recognizable.
5992
59932018-10-30 Devin Rousso <drousso@apple.com>
5994
drousso@apple.com4431aba2018-10-30 22:15:16 +00005995 Web Inspector: change WI.ColorWheel to use conic-gradient()
5996 https://bugs.webkit.org/show_bug.cgi?id=189485
5997
5998 Reviewed by Brian Burg.
5999
6000 Use the ("new") HSL `WI.ColorPicker` if `conic-gradient` is supported. Otherwise, use the
6001 ("old") RGB `WI.LegacyColorPicker`.
6002
6003 * UserInterface/Views/ColorWheel.js:
6004 (WI.ColorWheel):
6005 (WI.ColorWheel.prototype.set dimension):
6006 (WI.ColorWheel.prototype.set brightness):
6007 (WI.ColorWheel.prototype.get tintedColor):
6008 (WI.ColorWheel.prototype.set tintedColor):
6009 (WI.ColorWheel.prototype.get rawColor):
6010 (WI.ColorWheel.prototype.get _hue): Added.
6011 (WI.ColorWheel.prototype.get _saturation): Added.
6012 (WI.ColorWheel.prototype._updateColorForMouseEvent):
6013 (WI.ColorWheel.prototype._setCrosshairPosition):
6014 (WI.ColorWheel.prototype._updateGradient): Added.
6015 (WI.ColorWheel.prototype._pointInCircleForEvent.distance): Deleted.
6016 (WI.ColorWheel.prototype._pointInCircleForEvent.angleFromCenterToPoint): Deleted.
6017 (WI.ColorWheel.prototype._pointInCircleForEvent.pointOnCircumference): Deleted.
6018 (WI.ColorWheel.prototype._pointInCircleForEvent): Deleted.
6019 (WI.ColorWheel.prototype._tintedColorToPointAndBrightness): Deleted.
6020 (WI.ColorWheel.prototype._drawRawCanvas): Deleted.
6021 (WI.ColorWheel.prototype._colorAtPointWithBrightness): Deleted.
6022 (WI.ColorWheel.prototype._drawTintedCanvas): Deleted.
6023 (WI.ColorWheel.prototype._draw): Deleted.
6024 * UserInterface/Views/ColorWheel.css:
6025 (.color-wheel > .gradient): Added.
6026 (.color-wheel > .crosshair): Added.
6027
6028 * UserInterface/Views/LegacyColorWheel.js: Copied from Source/WebInspectorUI/UserInterface/Views/ColorWheel.js.
6029
6030 * UserInterface/Views/ColorPicker.js:
6031 (WI.ColorPicker):
6032 (WI.ColorPicker.supportsConicGradient): Added.
6033 (WI.ColorPicker.prototype._updateSliders):
6034
6035 * UserInterface/Models/Geometry.js:
6036 (WI.Point.prototype.distance):
6037
6038 * UserInterface/Main.html:
6039
60402018-10-30 Devin Rousso <drousso@apple.com>
6041
drousso@apple.com7a92a152018-10-30 20:23:43 +00006042 Web Inspector: make the layers sidebar in the Elements tab always visible
6043 https://bugs.webkit.org/show_bug.cgi?id=190158
6044
6045 Reviewed by Brian Burg.
6046
6047 * UserInterface/Views/ElementsTabContentView.js:
6048 (WI.ElementsTabContentView):
6049 * UserInterface/Views/SearchTabContentView.js:
6050 (WI.SearchTabContentView):
6051
60522018-10-30 Devin Rousso <drousso@apple.com>
6053
drousso@apple.comdb0b54b2018-10-30 17:48:15 +00006054 Web Inspector: refactor WI.ScopeBarItem for better extensibility
6055 https://bugs.webkit.org/show_bug.cgi?id=190986
6056
6057 Reviewed by Brian Burg.
6058
6059 Renames `withModifier` to `extendSelection` for clarity of usage, and to allow the changes
6060 in <https://webkit.org/b/190754> (adding an option to allow `WI.ScopeBarItem`s to be
6061 selected without deselcting any other `WI.ScopeBarItem`s) to use the same variable.
6062
6063 * UserInterface/Views/ScopeBarItem.js:
6064 (WI.ScopeBarItem):
6065 (WI.ScopeBarItem.prototype.set selected):
6066 (WI.ScopeBarItem.prototype._handleMouseDown):
6067 (WI.ScopeBarItem.prototype.setSelected): Deleted.
6068
6069 * UserInterface/Views/ScopeBar.js:
6070 (WI.ScopeBar):
6071 (WI.ScopeBar.prototype._populate):
6072 (WI.ScopeBar.prototype._itemSelectionDidChange):
6073
6074 * UserInterface/Views/MultipleScopeBarItem.js:
6075 (WI.MultipleScopeBarItem.prototype.set selectedScopeBarItem):
6076
6077 * UserInterface/Views/CanvasSidebarPanel.js:
6078 (WI.CanvasSidebarPanel.prototype._updateRecordingScopeBar):
6079 * UserInterface/Views/LogContentView.js:
6080 (WI.LogContentView):
6081 * UserInterface/Views/NetworkTableContentView.js:
6082 (WI.NetworkTableContentView):
6083 * UserInterface/Views/ResourceSidebarPanel.js:
6084 (WI.ResourceSidebarPanel):
6085 * UserInterface/Views/StorageSidebarPanel.js:
6086 (WI.StorageSidebarPanel):
6087
nvasilyev@apple.comb151eae2018-10-30 03:26:57 +000060882018-10-29 Nikita Vasilyev <nvasilyev@apple.com>
6089
6090 Web Inspector: Flash views with red outline on initial layout
6091 https://bugs.webkit.org/show_bug.cgi?id=191048
6092
6093 Reviewed by Devin Rousso.
6094
6095 * UserInterface/Views/View.js:
6096 (WI.View.prototype._layoutSubtree):
6097 (WI.View.prototype._drawLayoutFlashingOutline):
6098
drousso@apple.com050c4592018-10-29 23:29:13 +000060992018-10-29 Devin Rousso <drousso@apple.com>
6100
drousso@apple.com67b02d32018-10-30 00:10:53 +00006101 Web Inspector: Canvas: show warning when path moves offscreen
6102 https://bugs.webkit.org/show_bug.cgi?id=191016
6103
6104 Reviewed by Joseph Pecoraro.
6105
6106 * UserInterface/Models/RecordingAction.js:
6107 (WI.RecordingAction):
6108 (WI.RecordingAction.deriveCurrentState):
6109 (WI.RecordingAction.prototype.get isVisual):
6110 (WI.RecordingAction.prototype.get warning): Added.
6111 (WI.RecordingAction.prototype.process.checkInvalidCurrentAxisPoint): Added.
6112 (WI.RecordingAction.prototype.process):
6113 (WI.RecordingAction.prototype.get hasVisibleEffect): Deleted.
6114 Replace `hasVisibleEffect` with a more general `warning` value, so that it can be used for
6115 more types of warnings.
6116
6117 * UserInterface/Views/RecordingActionTreeElement.js:
6118 (WI.RecordingActionTreeElement.prototype.onattach):
6119 * UserInterface/Views/RecordingActionTreeElement.css:
6120 (.item.action.visual.warning:not(.invalid) > .status > .warning): Added.
6121 (.item.action.visual.no-visible-effect:not(.invalid) > .status > .warning): Deleted.
6122
6123 * Localizations/en.lproj/localizedStrings.js:
6124
61252018-10-29 Devin Rousso <drousso@apple.com>
6126
drousso@apple.com050c4592018-10-29 23:29:13 +00006127 Web Inspector: refactor code for getting properties via WI.RemoteObject
6128 https://bugs.webkit.org/show_bug.cgi?id=190989
6129
6130 Reviewed by Matt Baker.
6131
6132 * UserInterface/Protocol/RemoteObject.js:
6133 (WI.RemoteObject.prototype.getPropertyDescriptors): Added.
6134 (WI.RemoteObject.prototype.getPropertyDescriptorsAsObject): Added.
6135 (WI.RemoteObject.prototype.getOwnPropertyDescriptors): Deleted.
6136 (WI.RemoteObject.prototype.getAllPropertyDescriptors): Deleted.
6137 (WI.RemoteObject.prototype._getPropertyDescriptors): Deleted.
6138 (WI.RemoteObject.prototype.getOwnPropertyDescriptorsAsObject): Deleted.
6139
6140 * UserInterface/Views/ErrorObjectView.js:
6141 (WI.ErrorObjectView.prototype.update):
6142 * UserInterface/Views/ObjectTreePropertyTreeElement.js:
6143 (WI.ObjectTreePropertyTreeElement.prototype._updateChildren):
6144 * UserInterface/Views/ObjectTreeView.js:
6145 (WI.ObjectTreeView.prototype.update):
6146
timothy_horton@apple.comb68592c2018-10-29 21:22:44 +000061472018-10-29 Tim Horton <timothy_horton@apple.com>
6148
6149 Modernize WebKit nibs and lprojs for localization's sake
6150 https://bugs.webkit.org/show_bug.cgi?id=190911
6151 <rdar://problem/45349466>
6152
6153 Reviewed by Dan Bernstein.
6154
6155 * WebInspectorUI.xcodeproj/project.pbxproj:
6156 English->en
6157
drousso@apple.com5ebf9a82018-10-29 19:13:00 +000061582018-10-29 Devin Rousso <drousso@apple.com>
6159
6160 Web Inspector: prevent Canvas tab from listening for "space" when not visibile
6161 https://bugs.webkit.org/show_bug.cgi?id=190988
6162
6163 Reviewed by Joseph Pecoraro.
6164
6165 * UserInterface/Views/CanvasTabContentView.js:
6166 (WI.CanvasTabContentView):
6167 (WI.CanvasTabContentView.prototype.shown):
6168 (WI.CanvasTabContentView.prototype.hidden): Added.
6169
mattbaker@apple.com572a2e22018-10-27 23:30:03 +000061702018-10-27 Matt Baker <mattbaker@apple.com>
6171
6172 Web Inspector: Table should support deleting rows
6173 https://bugs.webkit.org/show_bug.cgi?id=189803
6174 <rdar://problem/44655709>
6175
6176 Reviewed by Devin Rousso.
6177
6178 Add methods for removing rows from a Table without reloading the data
6179 source. This patch adds Table.prototype.removeRow for removing a single
6180 row, and Table.prototype.removeSelectedRows for removing the entire selection.
6181 The latter also attempts to select a new row, if possible, before removing
6182 the selection.
6183
6184 * UserInterface/Base/IndexSet.js:
6185 (WI.IndexSet.prototype.copy):
6186
6187 * UserInterface/Views/Table.js:
6188 (WI.Table):
6189 (WI.Table.prototype.get numberOfRows):
6190 Cache the number of rows in the table data source. Invalidate cached
6191 value whenever table data is reloaded. Removing rows immediately updates
6192 cached value, without incurring a potentially expensive reload.
6193
6194 (WI.Table.prototype.reloadData):
6195 (WI.Table.prototype.selectRow):
6196 (WI.Table.prototype.deselectRow):
6197 (WI.Table.prototype.removeRow):
6198 (WI.Table.prototype.removeSelectedRows):
6199 Remove the selected rows and select a new row, if possible.
6200 (WI.Table.prototype._updateVisibleRows):
6201 (WI.Table.prototype._handleKeyDown):
6202 (WI.Table.prototype._deselectAllAndSelect):
6203 Drive-by fix: should work when `rowToSelect` isn't already selected.
6204 (WI.Table.prototype._removeRows):
6205 Remove rows and adjust the indexes of rows that are shifted up as a result
6206 of preceding rows being removed.
6207
drousso@apple.com1aaecd82018-10-26 20:43:04 +000062082018-10-26 Devin Rousso <drousso@apple.com>
6209
drousso@apple.com1cf5c2b2018-10-26 21:03:47 +00006210 Web Inspector: simplify some editing code checks
6211 https://bugs.webkit.org/show_bug.cgi?id=190970
6212
6213 Reviewed by Joseph Pecoraro.
6214
6215 * UserInterface/Base/Main.js:
6216 (WI._focusChanged):
6217
6218 * UserInterface/Base/Utilities.js:
6219
6220 * UserInterface/Views/EditingSupport.js:
6221 (WI.enclosingCodeMirror): Added.
6222 (WI.isBeingEdited):
6223 (WI.isEventTargetAnEditableField):
6224
6225 * UserInterface/Views/QuickConsole.js:
6226 (WI.QuickConsole):
6227
62282018-10-26 Devin Rousso <drousso@apple.com>
6229
drousso@apple.com1aaecd82018-10-26 20:43:04 +00006230 Web Inspector: Uncaught Exception: undefined is not an object (evaluating 'this._classListContainer.children')
6231 https://bugs.webkit.org/show_bug.cgi?id=190966
6232
6233 Reviewed by Joseph Pecoraro.
6234
6235 * UserInterface/Views/GeneralStyleDetailsSidebarPanel.js:
6236 (WI.GeneralStyleDetailsSidebarPanel.prototype.layout):
6237 (WI.GeneralStyleDetailsSidebarPanel.prototype._classToggleButtonClicked):
6238 (WI.GeneralStyleDetailsSidebarPanel.prototype._populateClassToggles):
6239 Don't try to reload the class toggles if the we haven't `layout` yet, as the element won't
6240 yet exist.
6241
drousso@apple.comf48ce0e2018-10-25 23:59:43 +000062422018-10-25 Devin Rousso <drousso@apple.com>
6243
6244 Web Inspector: Canvas Recording loading goes significantly slower when "Frame" tree element is expanded
6245 https://bugs.webkit.org/show_bug.cgi?id=190497
6246
6247 Reviewed by Joseph Pecoraro.
6248
6249 Save the `WI.TreeElement` that are in the DOM, and compare that with any `WI.TreeElement`
6250 that would be added to the DOM. If all of the following are true, don't edit the DOM:
6251 - no focused `WI.TreeElement` that isn't currently visible (we would scroll otherwise)
6252 - the set of previously visible `WI.TreeElement`s (e.g. not used for scroll padding) has at
6253 least one of the `WI.TreeElement`s that would be added from this update
6254 - this means that the user hasn't scrolled beyond the padding `WI.TreeElement`
6255 - there are no `WI.TreeElement`s that would be added from this update that were NOT added
6256 in a previous update
6257 - this covers the case that a `WI.TreeElement` is inserted in the visible area
6258
6259 * UserInterface/Base/Utilities.js:
6260
6261 * UserInterface/Views/TreeOutline.js:
6262 (WI.TreeOutline):
6263 (WI.TreeOutline.prototype.registerScrollVirtualizer):
6264 (WI.TreeOutline.prototype.updateVirtualizedElements.walk):
6265 (WI.TreeOutline.prototype.updateVirtualizedElements):
6266
commit-queue@webkit.orga6762f82018-10-25 23:55:12 +000062672018-10-25 Joseph Pecoraro <pecoraro@apple.com>
6268
6269 JSContext Inspector: Broken frontend, DOMAgent is used but does not exist
6270 https://bugs.webkit.org/show_bug.cgi?id=190922
6271 <rdar://problem/45569827>
6272
6273 Reviewed by Devin Rousso.
6274
6275 * UserInterface/Controllers/DOMManager.js:
6276 (WI.DOMManager.prototype.requestDocument):
6277 Feature check for agents that may not exist in a JSContext.
6278
drousso@apple.com98a113e2018-10-25 22:57:45 +000062792018-10-25 Devin Rousso <drousso@apple.com>
6280
drousso@apple.com691b0c52018-10-25 23:09:59 +00006281 Web Inspector: add corner rounding to the network timing "blocks"
6282 https://bugs.webkit.org/show_bug.cgi?id=190379
6283
6284 Reviewed by Timothy Hatcher.
6285
6286 * UserInterface/Views/NetworkTableContentView.css:
6287 (.waterfall .block):
6288 (body[dir=ltr] .waterfall .block): Added.
6289 (body[dir=rtl] .waterfall .block): Added.
6290 (.network-table .waterfall .block + .block): Added.
6291 (.network-table .waterfall .block.filler + .block, .network-table .waterfall .block:not(.request, .response) + :matches(.request, .response)): Added.
6292 (.network-table .waterfall .block:last-child): Added.
6293
62942018-10-25 Devin Rousso <drousso@apple.com>
6295
drousso@apple.com492b7192018-10-25 22:59:29 +00006296 Web Inspector: display fullscreen enter/exit events in Timelines and Network node waterfalls
6297 https://bugs.webkit.org/show_bug.cgi?id=189874
6298 <rdar://problem/44700000>
6299
6300 Reviewed by Joseph Pecoraro.
6301
6302 * Localizations/en.lproj/localizedStrings.js:
6303
6304 * UserInterface/Protocol/DOMObserver.js:
6305 (WI.DOMObserver.prototype.didFireEvent):
6306 * UserInterface/Controllers/DOMManager.js:
6307 (WI.DOMManager.prototype.didFireEvent):
6308 Allow `data` to be passed to the frontend with `didFireEvent`.
6309
6310 * UserInterface/Models/DOMNode.js:
6311 (WI.DOMNode):
6312 (WI.DOMNode.getFullscreenDOMEvents): Added.
6313 (WI.DOMNode.prototype.didFireEvent):
6314 (WI.DOMNode.prototype._handleDOMNodeDidFireEvent): Added.
6315 (WI.DOMNode.prototype._addDOMEvent):
6316 (WI.DOMNode.prototype._shouldListenForEventListeners): Added.
6317 If an event is fired on an ancestor of this node, also record that event in this node's
6318 `domEvents`, including the `originator` node.
6319
6320 * UserInterface/Views/NetworkTableContentView.js:
6321 (WI.NetworkTableContentView.prototype._populateWaterfallGraph):
6322 * UserInterface/Views/NetworkTableContentView.css:
6323 (.network-table :not(.header) .cell.waterfall .waterfall-container > .dom-fullscreen): Added.
6324
6325 * UserInterface/Views/DOMEventsBreakdownView.js:
6326 (WI.DOMEventsBreakdownView.prototype.initialLayout):
6327 (WI.DOMEventsBreakdownView.prototype._populateTable):
6328 * UserInterface/Views/DOMEventsBreakdownView.css:
6329 (.dom-events-breakdown .graph > .area.fullscreen): Added.
6330 (.dom-events-breakdown .inherited > .name, .dom-events-breakdown .inherited > .graph > .point): Added.
6331 (.dom-events-breakdown:not(.has-inherited) .originator): Added.
6332
63332018-10-25 Devin Rousso <drousso@apple.com>
6334
drousso@apple.com98a113e2018-10-25 22:57:45 +00006335 Web Inspector: Network: more aggressively snap timing blocks together
6336 https://bugs.webkit.org/show_bug.cgi?id=190439
6337
6338 Reviewed by Timothy Hatcher.
6339
6340 * UserInterface/Views/NetworkTableContentView.js:
6341 (WI.NetworkTableContentView.prototype._populateWaterfallGraph.appendBlock):
6342 (WI.NetworkTableContentView.prototype._populateWaterfallGraph):
6343 If the time difference between the end of the previous block and the start of this block
6344 would result in less than 2px of space, extend the next block back to the previous block.
6345
drousso@apple.comae995422018-10-24 19:27:27 +000063462018-10-24 Devin Rousso <drousso@apple.com>
6347
drousso@apple.com17fa0662018-10-24 22:12:54 +00006348 Web Inspector: popovers for function source code are malformed
6349 https://bugs.webkit.org/show_bug.cgi?id=190859
6350
6351 Reviewed by Joseph Pecoraro.
6352
6353 Previously, the `WI.Popover` would be drawn twice: once when the
6354 `WI.CodeMirrorTokenTrackingController` determines that the user has hovered on a function
6355 token, and once again when the source for that function is formatted (after being retrieved).
6356 In the case that the formatter is able to return the prettified source within a frame (or
6357 two), the `WI.Popover` is still in the middle of animating to its new size, meaning that the
6358 changes made by the formatted `update` will be overridden on the next rAF (creates a flash).
6359
6360 * UserInterface/Views/Popover.js:
6361 (WI.Popover.prototype):
6362 (WI.Popover.prototype._animateFrame.drawBackground):
6363 (WI.Popover.prototype._drawBackground):
6364 Add a member variable to make sure that there is only ever one rAF firing at a time.
6365 Drive-by: rework the background code to only use one canvas.
6366
6367 * UserInterface/Views/SourceCodeTextEditor.js:
6368 (WI.SourceCodeTextEditor.prototype._showPopoverForFunction.didGetDetails):
6369 Don't show the `WI.Popover` until the formatter has finished prettifying the function's
6370 source code, as otherwise there is brief moment that the popover appears and is empty.
6371
63722018-10-24 Devin Rousso <drousso@apple.com>
6373
drousso@apple.coma9d4a382018-10-24 20:19:39 +00006374 Web Inspector: REGRESSION (r237232): changing resources via up/down blurs the TreeOutline in Resources
6375 https://bugs.webkit.org/show_bug.cgi?id=190862
6376
6377 Reviewed by Matt Baker.
6378
6379 * UserInterface/Views/TextEditor.js:
6380 (WI.TextEditor.prototype.set selectedTextRange):
6381 Don't `focus` unless the `activeElement` is not a WebInspector element (e.g. <body>),
6382 meaning that the previously focused element has been removed from the DOM and no longer
6383 needs to keep the focus.
6384
63852018-10-24 Devin Rousso <drousso@apple.com>
6386
drousso@apple.comae995422018-10-24 19:27:27 +00006387 Web Inspector: CSP request payload on medium.com is unreadable, should be pretty-printed
6388 https://bugs.webkit.org/show_bug.cgi?id=190354
6389 <rdar://problem/45090894>
6390
6391 Reviewed by Joseph Pecoraro.
6392
6393 * UserInterface/Views/TextEditor.js:
6394 (WI.TextEditor.prototype.set string.update):
6395 (WI.TextEditor.prototype._attemptToDetermineMIMEType): Added.
6396 If the content doesn't already have a MIME type, attempt to determine one by trying to
6397 format it as "javascript" (e.g. request JSON that is simply missing a MIME type).
6398
6399 * UserInterface/Views/TextContentView.js:
6400 (WI.TextContentView):
6401 (WI.TextContentView.prototype._handleTextEditorMIMETypeChanged): Added.
6402 * UserInterface/Views/TextResourceContentView.js:
6403 (WI.TextResourceContentView):
6404 (WI.TextResourceContentView.prototype._handleTextEditorMIMETypeChanged): Added.
6405 * UserInterface/Views/ScriptContentView.js:
6406 (WI.ScriptContentView):
6407 (WI.ScriptContentView.prototype._handleTextEditorMIMETypeChanged): Added.
6408 Enable the "Pretty Print" navigation button if the MIME type changes to something that is
6409 able to be formatted.
6410 Drive-by: reorder the creation of the "Pretty Print" button so that it exists if
6411 `_attemptToDetermineMIMEType` finishes synchronously.
6412
drousso@apple.comc2202bc2018-10-23 09:50:14 +000064132018-10-23 Devin Rousso <drousso@apple.com>
6414
drousso@apple.com20429f22018-10-23 09:52:54 +00006415 Uncaught Exception: TypeError: null is not an object (evaluating 'mouseBlock.addEventListener')
6416 https://bugs.webkit.org/show_bug.cgi?id=190766
6417
6418 Reviewed by Brian Burg.
6419
6420 * UserInterface/Views/NetworkTableContentView.js:
6421 (WI.NetworkTableContentView.prototype._populateWaterfallGraph):
6422 When creating the `mouseBlock`, if the `startTimestamp` and `endTimestamp` are equal, we
6423 don't create an element. If this is true for the total range of the `WI.Resouce` (meaning
6424 its `startTime` and `responseEnd`), don't even try to create blocks.
6425
64262018-10-23 Devin Rousso <drousso@apple.com>
6427
drousso@apple.comc2202bc2018-10-23 09:50:14 +00006428 Web Inspector: "Queued NaNms" in Network tab
6429 https://bugs.webkit.org/show_bug.cgi?id=190767
6430 <rdar://problem/45420859>
6431
6432 Reviewed by Brian Burg.
6433
6434 * UserInterface/Models/ResourceTimingData.js:
6435 (WI.ResourceTimingData.prototype.get fetchStart):
6436 If the `WI.ResourceTimingData` has no `fetchStart` use the associated `WI.Resource`'s
6437 `requestSentTimestamp` (just like `startTime`).
6438
commit-queue@webkit.org15bf58d2018-10-22 19:24:04 +000064392018-10-22 Joseph Pecoraro <pecoraro@apple.com>
6440
6441 Web Inspector: Open Quickly dialog doesn't show named scripts that appear in the debugger sidebar
6442 https://bugs.webkit.org/show_bug.cgi?id=190649
6443
6444 Reviewed by Devin Rousso.
6445
6446 * UserInterface/Views/OpenResourceDialog.js:
6447 (WI.OpenResourceDialog.prototype.didPresentDialog):
6448 (WI.OpenResourceDialog.prototype._addResourcesForTarget):
6449 (WI.OpenResourceDialog.prototype._addScriptsForTarget):
6450 Include non-resource named scripts from the main target in
6451 the open quickly dialog.
6452
commit-queue@webkit.orgc52a4802018-10-19 18:01:48 +000064532018-10-19 Joseph Pecoraro <pecoraro@apple.com>
6454
6455 Web Inspector: Remove unused member variable of DebuggerSidebarPanel
6456 https://bugs.webkit.org/show_bug.cgi?id=190743
6457
6458 Reviewed by Devin Rousso.
6459
6460 * UserInterface/Views/DebuggerSidebarPanel.js:
6461 (WI.DebuggerSidebarPanel):
6462
drousso@apple.com1cfcb802018-10-17 19:46:54 +000064632018-10-17 Devin Rousso <drousso@apple.com>
6464
6465 Web Inspector: Quickly Open to line/column does should have caret indicating where the position is
6466 https://bugs.webkit.org/show_bug.cgi?id=190643
6467
6468 Reviewed by Matt Baker.
6469
6470 * UserInterface/Views/TextEditor.js:
6471 (WI.TextEditor.prototype.set selectedTextRange):
6472 (WI.TextEditor.prototype.revealPosition):
6473 Ensure that CodeMirror is focused before attempting to `setSelection`.
6474 Drive-by: allow selections past the "end" of the line (since there is a `\n` or `\r`).
6475
6476 * UserInterface/Views/SourceCodeTextEditor.js:
6477 (WI.SourceCodeTextEditor.prototype.dialogWasDismissedWithRepresentedObject):
6478 Remove the extra `focus` call after dismissing the `WI.GoToLineDialog` since it is now
6479 handled by `WI.TextEditor` via `revealPosition`.
6480
commit-queue@webkit.org9298f2e2018-10-17 01:53:30 +000064812018-10-16 Joseph Pecoraro <pecoraro@apple.com>
6482
6483 Web Inspector: ⌃G to jump to line in CSS file wipes the line
6484 https://bugs.webkit.org/show_bug.cgi?id=190645
6485
6486 Reviewed by Devin Rousso.
6487
6488 * UserInterface/Base/Main.js:
6489 * UserInterface/Views/Dialog.js:
6490 (WI.Dialog.prototype.dismiss):
6491 * UserInterface/Views/SourceCodeTextEditor.js:
6492 (WI.SourceCodeTextEditor.prototype.dialogWasDismissed): Deleted.
6493 Rename the handler when dismissing a dialog with a value so that
6494 it is clear this is only on a successful value and not an invalid value.
6495 Dialog now only calls this delegate with a valid value. This addresses
6496 exceptions seen when the GoToLineDialog was dimissed via Escape and
6497 an unexpected `null` value was being handled in the delegate.
6498
6499 * UserInterface/Views/GoToLineDialog.js:
6500 (WI.GoToLineDialog.prototype._handleKeydownEvent):
6501 * UserInterface/Views/OpenResourceDialog.js:
6502 (WI.OpenResourceDialog.prototype._handleKeydownEvent):
6503 Prevent default on the event whenever we dismiss the dialog.
6504 Without this, the key event was also being sent to the editor.
6505 In this case, that meant an "Enter" key was replacing the new
6506 selection in the TextEditor with a newline!
6507
drousso@apple.com554bd6b2018-10-16 16:47:07 +000065082018-10-16 Devin Rousso <drousso@apple.com>
6509
drousso@apple.com798f34d2018-10-16 19:23:21 +00006510 Web Inspector: Canvas: capture previously saved states and add them to the recording payload
6511 https://bugs.webkit.org/show_bug.cgi?id=190473
6512
6513 Reviewed by Joseph Pecoraro.
6514
6515 Instead of sending a single object of the current state of the context, send an array of
6516 objects, one for each restore point. When replaying, recreate each restore point before
6517 applying the selected action(s).
6518
6519 * UserInterface/Models/Recording.js:
6520 (WI.Recording):
6521 (WI.Recording.fromPayload):
6522 (WI.Recording.prototype.toJSON):
6523 (WI.Recording.prototype.async._process):
6524 (WI.Recording.prototype.async._swizzleState): Added.
6525 * UserInterface/Models/RecordingAction.js:
6526 (WI.RecordingAction):
6527 (WI.RecordingAction.deriveCurrentState): Added.
6528 (WI.RecordingAction.prototype.get states): Added.
6529 (WI.RecordingAction.prototype.process):
6530 (WI.RecordingAction.prototype.get state): Deleted.
6531 Drive-by: when `process`ing, also check to see if any values in the current state changed
6532 outside of those expected in `_stateModifiers` (e.g. `restore` may modify some state values).
6533
6534 * UserInterface/Views/RecordingContentView.js:
6535 (WI.RecordingContentView.prototype._generateContentCanvas2D):
6536
6537 * UserInterface/Views/RecordingStateDetailsSidebarPanel.js:
6538 (WI.RecordingStateDetailsSidebarPanel.prototype._generateDetailsCanvas2D):
6539 Default to showing the most recent (current) state.
6540
6541 * UserInterface/Views/CanvasTabContentView.js:
6542 (WI.CanvasTabContentView.prototype.initialLayout): Added.
6543 (WI.CanvasTabContentView.prototype._addCanvas):
6544 (WI.CanvasTabContentView.prototype._removeCanvas):
6545 (WI.CanvasTabContentView.prototype._addRecording): Added.
6546 (WI.CanvasTabContentView.prototype._recordingImportedOrStopped):
6547 (WI.CanvasTabContentView.prototype._recordingAdded): Deleted.
6548 * UserInterface/Controllers/CanvasManager.js:
6549 (WI.CanvasManager):
6550 (WI.CanvasManager.prototype.get importedRecordings): Added.
6551 (WI.CanvasManager.prototype.importRecording):
6552 Drive-by: store imported recordings on `WI.CanvasManager` so that if the Canvas tab is
6553 closed we can still show the list of imported recordings.
6554
65552018-10-16 Devin Rousso <drousso@apple.com>
6556
drousso@apple.comd773d1d2018-10-16 19:13:15 +00006557 Web Inspector: Canvas recording sidebar scroll position lost after switching tabs
6558 https://bugs.webkit.org/show_bug.cgi?id=190482
6559
6560 Reviewed by Joseph Pecoraro.
6561
6562 * UserInterface/Views/Sidebar.js:
6563 (WI.Sidebar.prototype.removeSidebarPanel):
6564 (WI.Sidebar.prototype.set selectedSidebarPanel):
6565 Call `hidden` before setting `selected` to `false`, as that sets `display: none;` on the
6566 element, which sets the `scrollTop` to `0`.
6567
6568 * UserInterface/Views/SidebarPanel.js:
6569 (WI.SidebarPanel.prototype.shown):
6570 (WI.SidebarPanel.prototype.hidden):
6571 (WI.SidebarPanel.prototype.get scrollElement): Added.
6572 Allow subclasses to specify the scrolling element for saving/restoring the scroll position.
6573
6574 * UserInterface/Views/CanvasSidebarPanel.js:
6575 (WI.CanvasSidebarPanel.prototype.get scrollElement): Added.
6576 * UserInterface/Views/RecordingStateDetailsSidebarPanel.js:
6577 (WI.RecordingStateDetailsSidebarPanel.prototype.get scrollElement): Added.
6578
65792018-10-16 Devin Rousso <drousso@apple.com>
6580
drousso@apple.comf7aa1112018-10-16 19:09:29 +00006581 Web Inspector: Should be a way to go directly from an event in the overview view to the specialized timeline for that event
6582 https://bugs.webkit.org/show_bug.cgi?id=135307
6583 <rdar://problem/17273966>
6584
6585 Reviewed by Joseph Pecoraro.
6586
6587 When a `WI.TimelineRecordBar` is clicked, call up the delegate chain to the overview and
6588 adjust the currently selected `WI.TimelineRecordBar` among the `WI.TimelineOverviewGraph`s.
6589 Similarly, selecting a `WI.DataGridNode` in any `WI.TimelineView` subclass will use the same
6590 logic to select the corresponding `WI.TimelineRecordBar`.
6591
6592 * UserInterface/Views/TimelineOverview.js:
6593 (WI.TimelineOverview):
6594 (WI.TimelineOverview.prototype.reset):
6595 (WI.TimelineOverview.prototype._recordSelected):
6596
6597 * UserInterface/Views/TimelineOverviewGraph.js:
6598 (WI.TimelineOverviewGraph):
6599 (WI.TimelineOverviewGraph.prototype.set selectedRecord):
6600 (WI.TimelineOverviewGraph.prototype.get selectedRecordBar): Added.
6601 (WI.TimelineOverviewGraph.prototype.set selectedRecordBar): Added.
6602 (WI.TimelineOverviewGraph.prototype.timelineRecordBarClicked): Added.
6603 (WI.TimelineOverviewGraph.prototype._needsSelectedRecordLayout):
6604
6605 * UserInterface/Views/TimelineRecordBar.js:
6606 (WI.TimelineRecordBar):
6607 (WI.TimelineRecordBar.prototype.get selected): Added.
6608 (WI.TimelineRecordBar.prototype.set selected): Added.
6609 (WI.TimelineRecordBar.prototype._handleClick): Added.
6610 * UserInterface/Views/TimelineRecordBar.css:
6611 (.timeline-record-bar.selected > .segment): Added.
6612 Add a `delegate` that is notified whenever the element is clicked.
6613
6614 * UserInterface/Views/TimelineDataGridNode.js:
6615 (WI.TimelineDataGridNode.prototype.refreshGraph.createBar):
6616 * UserInterface/Views/LayoutTimelineOverviewGraph.js:
6617 (WI.LayoutTimelineOverviewGraph.prototype.updateSelectedRecord):
6618 (WI.LayoutTimelineOverviewGraph.prototype._updateRowLayout.createBar):
6619 * UserInterface/Views/NetworkTimelineOverviewGraph.js:
6620 (WI.NetworkTimelineOverviewGraph.prototype.layout.createBar):
6621 * UserInterface/Views/ScriptTimelineOverviewGraph.js:
6622 (WI.ScriptTimelineOverviewGraph.prototype.layout.createBar):
6623 (WI.ScriptTimelineOverviewGraph.prototype.updateSelectedRecord):
6624
6625 * UserInterface/Views/TimelineRecordingContentView.js:
6626 (WI.TimelineRecordingContentView.prototype.showTimelineViewForTimeline):
6627
66282018-10-16 Devin Rousso <drousso@apple.com>
6629
drousso@apple.com554bd6b2018-10-16 16:47:07 +00006630 Web Inspector: sequences of spaces longer than 16 don't show a dot
6631 https://bugs.webkit.org/show_bug.cgi?id=190528
6632
6633 Reviewed by Matt Baker.
6634
6635 * UserInterface/Views/CodeMirrorAdditions.js:
6636 Create a new CSS rule and add it to a unique <style> whenever a whitespace sequence with
6637 a length is seen for the first time.
6638
6639 * UserInterface/Views/CodeMirrorOverrides.css:
6640 (.show-whitespace-characters .CodeMirror .cm-whitespace-1::before): Deleted.
6641 (.show-whitespace-characters .CodeMirror .cm-whitespace-2::before): Deleted.
6642 (.show-whitespace-characters .CodeMirror .cm-whitespace-3::before): Deleted.
6643 (.show-whitespace-characters .CodeMirror .cm-whitespace-4::before): Deleted.
6644 (.show-whitespace-characters .CodeMirror .cm-whitespace-5::before): Deleted.
6645 (.show-whitespace-characters .CodeMirror .cm-whitespace-6::before): Deleted.
6646 (.show-whitespace-characters .CodeMirror .cm-whitespace-7::before): Deleted.
6647 (.show-whitespace-characters .CodeMirror .cm-whitespace-8::before): Deleted.
6648 (.show-whitespace-characters .CodeMirror .cm-whitespace-9::before): Deleted.
6649 (.show-whitespace-characters .CodeMirror .cm-whitespace-10::before): Deleted.
6650 (.show-whitespace-characters .CodeMirror .cm-whitespace-11::before): Deleted.
6651 (.show-whitespace-characters .CodeMirror .cm-whitespace-12::before): Deleted.
6652 (.show-whitespace-characters .CodeMirror .cm-whitespace-13::before): Deleted.
6653 (.show-whitespace-characters .CodeMirror .cm-whitespace-14::before): Deleted.
6654 (.show-whitespace-characters .CodeMirror .cm-whitespace-15::before): Deleted.
6655 (.show-whitespace-characters .CodeMirror .cm-whitespace-16::before): Deleted.
6656
commit-queue@webkit.org1e6bdf32018-10-15 23:10:20 +000066572018-10-15 Charles Vazac <cvazac@gmail.com>
6658
6659 Web Inspector: Expose Server Timing Response Headers in Network Tab
6660 https://bugs.webkit.org/show_bug.cgi?id=190440
6661
6662 Reviewed by Joseph Pecoraro.
6663
6664 * Localizations/en.lproj/localizedStrings.js: new key "Server Timing:"
6665 * UserInterface/Main.html: add reference to Models/ServerTimingEntry.js
6666 * UserInterface/Models/Resource.js:
6667 (WI.Resource.prototype.get serverTiming):
6668 (WI.Resource.prototype.updateForResponse):
6669 * UserInterface/Models/ServerTimingEntry.js: Added.
6670 (WI.ServerTimingEntry):
6671 (WI.ServerTimingEntry.parseHeaders): parse raw response headers into an array of ServerTimingEntry objects
6672 (WI.ServerTimingEntry.parseHeaders.consumeDelimiter):
6673 (WI.ServerTimingEntry.parseHeaders.consumeToken):
6674 (WI.ServerTimingEntry.):
6675 * UserInterface/Test.html: add reference to Models/ServerTimingEntry.js
6676 * UserInterface/Views/ResourceTimingBreakdownView.js:
6677 (WI.ResourceTimingBreakdownView.prototype._appendServerTimingRow): render a table row per ServerTimingEntry object
6678 (WI.ResourceTimingBreakdownView.prototype.initialLayout):
6679 (WI.ResourceTimingBreakdownView):
6680
nvasilyev@apple.comfcf8b512018-10-15 22:51:45 +000066812018-10-15 Nikita Vasilyev <nvasilyev@apple.com>
6682
6683 Web Inspector: Dark Mode: pseudo elements in DOM tree are too dark
6684 https://bugs.webkit.org/show_bug.cgi?id=190541
6685 <rdar://problem/45238443>
6686
6687 Reviewed by Matt Baker.
6688
6689 * UserInterface/Views/DOMTreeOutline.css:
6690 (@media (prefers-dark-interface)):
6691 (.tree-outline.dom .html-pseudo-element):
6692
mattbaker@apple.com297e4ae2018-10-15 21:21:16 +000066932018-10-15 Matt Baker <mattbaker@apple.com>
6694
6695 Web Inspector: REGRESSION (r233824): execution highlight range missing/incorrect in pretty printed code
6696 https://bugs.webkit.org/show_bug.cgi?id=188082
6697 <rdar://problem/42640580>
6698
6699 Reviewed by Joseph Pecoraro.
6700
6701 * UserInterface/Views/SourceCodeTextEditor.js:
6702 (WI.SourceCodeTextEditor.prototype.textEditorExecutionHighlightRange):
6703 TextEditor expects positions returned by the delegate to be relative to
6704 the editor's text content, not the original source code content.
6705
6706 * UserInterface/Views/TextEditor.js:
6707 (WI.TextEditor.prototype._updateExecutionRangeHighlight):
6708 Convert positions to CodeMirror format here rather than in the delegate
6709 method, which is a layer removed from CodeMirror.
6710
nvasilyev@apple.comaa4ad692018-10-15 17:27:02 +000067112018-10-15 Nikita Vasilyev <nvasilyev@apple.com>
6712
nvasilyev@apple.com0c0d3302018-10-15 21:14:52 +00006713 Web Inspector: Dark Mode: unreadable text when hovering CSS properties while holding Command
6714 https://bugs.webkit.org/show_bug.cgi?id=190548
6715 <rdar://problem/45242098>
6716
6717 Reviewed by Joseph Pecoraro.
6718
6719 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
6720 (.meta-key-pressed .spreadsheet-css-declaration:not(.locked) :matches(.name, .value):not(.editing):hover):
6721 In the light mode the color remained the same.
6722
67232018-10-15 Nikita Vasilyev <nvasilyev@apple.com>
6724
nvasilyev@apple.comaa4ad692018-10-15 17:27:02 +00006725 Web Inspector: Dark Mode: style editor warnings should not look like errors
6726 https://bugs.webkit.org/show_bug.cgi?id=190569
6727 <rdar://problem/45261689>
6728
6729 Reviewed by Matt Baker.
6730
6731 Make warnings in the style editor look the same as warnings in the content views.
6732 Unify warning and error background color variables.
6733
6734 * UserInterface/Views/LogContentView.css:
6735 (@media (prefers-dark-interface)):
6736 (.console-error-level):
6737 (.console-warning-level):
6738 * UserInterface/Views/SourceCodeTextEditor.css:
6739 (.source-code.text-editor > .CodeMirror .warning):
6740 (.source-code.text-editor > .CodeMirror .error):
6741 (.source-code.text-editor > .CodeMirror .issue-widget.warning):
6742 (.source-code.text-editor > .CodeMirror .issue-widget.inline.warning):
6743 (.source-code.text-editor > .CodeMirror .issue-widget.error):
6744 (.source-code.text-editor > .CodeMirror .issue-widget.inline.error):
6745 (@media (prefers-dark-interface)):
6746 (.source-code.text-editor > .CodeMirror .issue-widget):
6747 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
6748 (.spreadsheet-style-declaration-editor .property.has-warning):
6749 (.spreadsheet-style-declaration-editor .property.has-warning .warning):
6750 (@media (prefers-dark-interface)):
6751 (.spreadsheet-style-declaration-editor :matches(.name, .value).editing):
6752 * UserInterface/Views/Variables.css:
6753 (:root):
6754 (@media (prefers-dark-interface)):
6755
drousso@apple.comc0de3e02018-10-12 23:52:09 +000067562018-10-12 Devin Rousso <drousso@apple.com>
6757
6758 Web Inspector: Canvas: previews aren't removed when the parent view is hidden
6759 https://bugs.webkit.org/show_bug.cgi?id=190525
6760
6761 Reviewed by Matt Baker.
6762
6763 * UserInterface/Views/CanvasTabContentView.js:
6764 (WI.CanvasTabContentView.prototype.attached):
6765
6766 * UserInterface/Controllers/CanvasManager.js:
6767 (WI.CanvasManager.prototype.get canvases):
6768 (WI.CanvasManager.prototype.get shaderPrograms):
6769 Drive-by: simplify these getters.
6770
commit-queue@webkit.org9b2bca72018-10-12 22:59:47 +000067712018-10-12 Joseph Pecoraro <pecoraro@apple.com>
6772
6773 Web Inspector: Dark Mode: Highlight text in Network Headers search is too dark
6774 https://bugs.webkit.org/show_bug.cgi?id=190510
6775
6776 Reviewed by Devin Rousso.
6777
6778 * UserInterface/Views/ResourceHeadersContentView.css:
6779 (.resource-headers.showing-find-banner .search-highlight):
6780 Use adaptive text-color.
6781
nvasilyev@apple.comf0ef7e02018-10-12 21:30:17 +000067822018-10-12 Nikita Vasilyev <nvasilyev@apple.com>
6783
6784 Web Inspector: Dark Mode: wrong color used for "goto arrow" for selected DOM breakpoint tree element
6785 https://bugs.webkit.org/show_bug.cgi?id=190180
6786 <rdar://problem/44927654>
6787
6788 Reviewed by Matt Baker.
6789
6790 * UserInterface/Views/Main.css:
6791 (@media (prefers-dark-interface)):
6792 (:focus .selected .go-to-arrow):
6793
drousso@apple.com6c3e6ef2018-10-12 02:30:18 +000067942018-10-11 Devin Rousso <drousso@apple.com>
6795
6796 Web Inspector: Network: detail view reverts to "Response" when new requests are added
6797 https://bugs.webkit.org/show_bug.cgi?id=190443
6798
6799 Reviewed by Joseph Pecoraro.
6800
6801 * UserInterface/Views/NetworkTableContentView.js:
6802 (WI.NetworkTableContentView.prototype._showDetailView):
6803 Return early if we are already showing a detail view for the selected object.
6804
mattbaker@apple.com25d1c432018-10-11 21:46:43 +000068052018-10-11 Matt Baker <mattbaker@apple.com>
6806
6807 Web Inspector: remove unused TreeOutline style .force-focus
6808 https://bugs.webkit.org/show_bug.cgi?id=190480
6809 <rdar://problem/45203484>
6810
6811 Reviewed by Joseph Pecoraro.
6812
6813 * UserInterface/Views/CallFrameTreeElement.css:
6814 (.tree-outline:focus .item.call-frame.selected .status > .status-image):
6815 (.tree-outline:matches(:focus, .force-focus) .item.call-frame.selected .status > .status-image): Deleted.
6816
6817 * UserInterface/Views/CanvasSidebarPanel.css:
6818 (.sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline:focus .item.processing.selected .subtitle > progress):
6819 (.sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline:matches(:focus, .force-focus) .item.processing.selected .subtitle > progress): Deleted.
6820
6821 * UserInterface/Views/DataGrid.css:
6822 (body[dir=ltr] .data-grid:focus tr.selected td:not(:last-child)):
6823 (body[dir=rtl] .data-grid:focus tr.selected td:not(:last-child)):
6824 (.data-grid:focus tr.parent.selected td.disclosure::before):
6825 (.data-grid:focus tr.parent.expanded.selected td.disclosure::before):
6826 (.data-grid:focus tr.selected):
6827 (.data-grid:focus tr.selected td .subtitle):
6828 (body:not(.window-inactive, .window-docked-inactive) .data-grid:focus tr.editable.selected .cell-content > input):
6829 (@media (prefers-dark-interface)):
6830 (body[dir=ltr] .data-grid:matches(:focus, .force-focus) tr.selected td:not(:last-child)): Deleted.
6831 (body[dir=rtl] .data-grid:matches(:focus, .force-focus) tr.selected td:not(:last-child)): Deleted.
6832 (.data-grid:matches(:focus, .force-focus) tr.parent.selected td.disclosure::before): Deleted.
6833 (.data-grid:matches(:focus, .force-focus) tr.parent.expanded.selected td.disclosure::before): Deleted.
6834 (.data-grid:matches(:focus, .force-focus) tr.selected): Deleted.
6835 (.data-grid:matches(:focus, .force-focus) tr.selected td .subtitle): Deleted.
6836 (body:not(.window-inactive, .window-docked-inactive) .data-grid:matches(:focus, .force-focus) tr.editable.selected .cell-content > input): Deleted.
6837
6838 * UserInterface/Views/Main.css:
6839 (:focus .selected .go-to-arrow):
6840 (:focus .selected .go-to-arrow:active):
6841 (:matches(:focus, .force-focus) .selected .go-to-arrow): Deleted.
6842 (:matches(:focus, .force-focus) .selected .go-to-arrow:active): Deleted.
6843
6844 * UserInterface/Views/ProfileView.css:
6845 (.profile > .data-grid:focus tr.selected td .location):
6846 (.profile > .data-grid:matches(:focus, .force-focus) tr.selected td .location): Deleted.
6847
6848 * UserInterface/Views/RecordingActionTreeElement.css:
6849 (.tree-outline:focus .item.action.selected:not(.initial-state, .invalid) > .icon):
6850 (body:not(.window-inactive, .window-docked-inactive) .tree-outline:focus .item.action.selected > .titles .parameter.swizzled,):
6851 (.tree-outline:matches(:focus, .force-focus) .item.action.selected:not(.initial-state, .invalid) > .icon): Deleted.
6852 (body:not(.window-inactive, .window-docked-inactive) .tree-outline:matches(:focus, .force-focus) .item.action.selected > .titles .parameter.swizzled,): Deleted.
6853
6854 * UserInterface/Views/ScriptDetailsTimelineView.css:
6855 (.tree-outline:focus .item.selected .alternate-subtitle):
6856 (.tree-outline:matches(:focus, .force-focus) .item.selected .alternate-subtitle): Deleted.
6857
6858 * UserInterface/Views/ShaderProgramTreeElement.css:
6859 (.tree-outline:focus .item.shader-program.selected .status > img):
6860 (.tree-outline:matches(:focus, .force-focus) .item.shader-program.selected .status > img): Deleted.
6861
6862 * UserInterface/Views/ThreadTreeElement.css:
6863 (.tree-outline:focus > .item.thread.selected .status-button.resume):
6864 (.tree-outline:matches(:focus, .force-focus) > .item.thread.selected .status-button.resume): Deleted.
6865
6866 * UserInterface/Views/TimelineRecordBar.css:
6867 (:focus .selected .timeline-record-bar > .segment):
6868 (:focus .selected .timeline-record-bar > .segment.inactive):
6869 (body[dir=ltr] :focus .selected .timeline-record-bar.has-inactive-segment > .segment:not(.inactive)):
6870 (body[dir=rtl] :focus .selected .timeline-record-bar.has-inactive-segment > .segment:not(.inactive)):
6871 (:matches(:focus, .force-focus) .selected .timeline-record-bar > .segment): Deleted.
6872 (:matches(:focus, .force-focus) .selected .timeline-record-bar > .segment.inactive): Deleted.
6873 (body[dir=ltr] :matches(:focus, .force-focus) .selected .timeline-record-bar.has-inactive-segment > .segment:not(.inactive)): Deleted.
6874 (body[dir=rtl] :matches(:focus, .force-focus) .selected .timeline-record-bar.has-inactive-segment > .segment:not(.inactive)): Deleted.
6875
6876 * UserInterface/Views/TreeElementStatusButton.css:
6877 (:focus .item.selected > .status > .status-button):
6878 (:matches(:focus, .force-focus) .item.selected > .status > .status-button): Deleted.
6879
6880 * UserInterface/Views/TreeOutline.css:
6881 (.tree-outline:focus .item.selected .disclosure-button):
6882 (.tree-outline:focus .item.selected.expanded .disclosure-button):
6883 (.tree-outline:focus .item.selected):
6884 (.tree-outline:focus .item.selected .subtitle):
6885 (.tree-outline:not(.large):focus .item.selected .status .indeterminate-progress-spinner):
6886 (.tree-outline:matches(:focus, .force-focus) .item.selected .disclosure-button): Deleted.
6887 (.tree-outline:matches(:focus, .force-focus) .item.selected.expanded .disclosure-button): Deleted.
6888 (.tree-outline:matches(:focus, .force-focus) .item.selected): Deleted.
6889 (.tree-outline:matches(:focus, .force-focus) .item.selected .subtitle): Deleted.
6890 (.tree-outline:not(.large):matches(:focus, .force-focus) .item.selected .status .indeterminate-progress-spinner): Deleted.
6891
drousso@apple.com01f92562018-10-11 19:26:27 +000068922018-10-11 Devin Rousso <drousso@apple.com>
6893
6894 Web Inspector: detail view is not re-shown after sorting the Network table
6895 https://bugs.webkit.org/show_bug.cgi?id=190330
6896 <rdar://problem/45089607>
6897
6898 Reviewed by Matt Baker.
6899
6900 * UserInterface/Views/NetworkTableContentView.js:
6901 (WI.NetworkTableContentView.prototype._restoreSelectedRow):
6902
drousso@apple.comd44c4f52018-10-10 18:01:25 +000069032018-10-10 Devin Rousso <drousso@apple.com>
6904
drousso@apple.comb591eb82018-10-11 04:13:17 +00006905 Web Inspector: create special Network waterfall for media events
6906 https://bugs.webkit.org/show_bug.cgi?id=189773
6907 <rdar://problem/44626605>
6908
6909 Reviewed by Joseph Pecoraro.
6910
6911 * Localizations/en.lproj/localizedStrings.js:
6912 * UserInterface/Main.html:
6913 * UserInterface/Base/Utilities.js:
6914
6915 * UserInterface/Protocol/DOMObserver.js:
6916 (WI.DOMObserver.prototype.didFireEvent): Added.
6917 * UserInterface/Controllers/DOMManager.js:
6918 (WI.DOMManager.prototype.didFireEvent): Added.
6919 * UserInterface/Models/DOMNode.js:
6920 (WI.DOMNode):
6921 (WI.DOMNode.prototype.get domEvents): Added.
6922 (WI.DOMNode.prototype.didFireEvent): Added.
6923 (WI.DOMNode.prototype._addDOMEvent): Added.
6924
6925 * UserInterface/Views/NetworkTableContentView.js:
6926 (WI.NetworkTableContentView):
6927 (WI.NetworkTableContentView.prototype.shown):
6928 (WI.NetworkTableContentView.prototype.hidden):
6929 (WI.NetworkTableContentView.prototype.closed):
6930 (WI.NetworkTableContentView.prototype.reset):
6931 (WI.NetworkTableContentView.prototype.showRepresentedObject):
6932 (WI.NetworkTableContentView.prototype.networkDetailViewClose): Added.
6933 (WI.NetworkTableContentView.prototype.tableSortChanged):
6934 (WI.NetworkTableContentView.prototype.tableSelectionDidChange):
6935 (WI.NetworkTableContentView.prototype._populateNameCell):
6936 (WI.NetworkTableContentView.prototype._populateWaterfallGraph.positionByStartOffset): Added.
6937 (WI.NetworkTableContentView.prototype._populateWaterfallGraph.setWidthForDuration): Added.
6938 (WI.NetworkTableContentView.prototype._populateWaterfallGraph.createDOMEventLine): Added.
6939 (WI.NetworkTableContentView.prototype._populateWaterfallGraph.appendBlock):
6940 (WI.NetworkTableContentView.prototype._populateWaterfallGraph):
6941 (WI.NetworkTableContentView.prototype._processPendingEntries):
6942 (WI.NetworkTableContentView.prototype._rowIndexForRepresentedObject): Added.
6943 (WI.NetworkTableContentView.prototype._updateEntryForResource):
6944 (WI.NetworkTableContentView.prototype._hideDetailView): Added.
6945 (WI.NetworkTableContentView.prototype._showDetailView): Added.
6946 (WI.NetworkTableContentView.prototype._positionDetailView): Added.
6947 (WI.NetworkTableContentView.prototype._resourceTransferSizeDidChange):
6948 (WI.NetworkTableContentView.prototype._tryLinkResourceToDOMNode):
6949 (WI.NetworkTableContentView.prototype._handleNodeDidFireEvent): Added.
6950 (WI.NetworkTableContentView.prototype._updateFilteredEntries):
6951 (WI.NetworkTableContentView.prototype._typeFilterScopeBarSelectionChanged):
6952 (WI.NetworkTableContentView.prototype._urlFilterDidChange):
6953 (WI.NetworkTableContentView.prototype._restoreSelectedRow):
6954 (WI.NetworkTableContentView.prototype._waterfallPopoverContent): Added.
6955 (WI.NetworkTableContentView.prototype._waterfallPopoverContentForResourceEntry): Added.
6956 (WI.NetworkTableContentView.prototype._waterfallPopoverContentForNodeEntry): Added.
6957 (WI.NetworkTableContentView.prototype._handleResourceEntryMousedownWaterfall): Added.
6958 (WI.NetworkTableContentView.prototype._handleNodeEntryMousedownWaterfall): Added.
6959 (WI.NetworkTableContentView.prototype._handleMousedownWaterfall): Added.
6960 (WI.NetworkTableContentView.prototype.networkResourceDetailViewClose): Deleted.
6961 (WI.NetworkTableContentView.prototype._rowIndexForResource): Deleted.
6962 (WI.NetworkTableContentView.prototype._hideResourceDetailView): Deleted.
6963 (WI.NetworkTableContentView.prototype._showResourceDetailView): Deleted.
6964 (WI.NetworkTableContentView.prototype._waterfallPopoverContentForResource): Deleted.
6965 * UserInterface/Views/NetworkTableContentView.css:
6966 (.content-view.network .network-table): Added.
6967 (.network-table :not(.header) .cell.waterfall .waterfall-container > .dom-event): Added.
6968 (.network-table :not(.header) .cell.waterfall .waterfall-container > .dom-activity): Added.
6969 (.network-table :not(.header) .cell.waterfall .waterfall-container > .dom-activity.playing): Added.
6970
6971 * UserInterface/Views/NetworkDOMNodeDetailView.js: Added.
6972 (WI.NetworkDOMNodeDetailView):
6973 (WI.NetworkDOMNodeDetailView.prototype.initialLayout):
6974 (WI.NetworkDOMNodeDetailView.prototype.showContentViewForIdentifier):
6975
6976 * UserInterface/Views/NetworkResourceDetailView.css:
6977 (.content-view.resource-details):
6978 (.network-resource-detail): Deleted.
6979 (.network-resource-detail .navigation-bar): Deleted.
6980 (.network-resource-detail .item.close > .glyph): Deleted.
6981 (.network-resource-detail .item.close > .glyph:hover): Deleted.
6982 (.network-resource-detail .item.close > .glyph:active): Deleted.
6983 (.network .network-resource-detail .navigation-bar .item.radio.button.text-only): Deleted.
6984 (.network .network-resource-detail .navigation-bar .item.radio.button.text-only.selected): Deleted.
6985 (.network-resource-detail > .content-browser): Deleted.
6986 (@media (prefers-dark-interface)): Deleted.
6987 * UserInterface/Views/NetworkResourceDetailView.js:
6988 (WI.NetworkResourceDetailView):
6989 (WI.NetworkResourceDetailView.prototype.shown):
6990 (WI.NetworkResourceDetailView.prototype.headersContentViewGoToRequestData):
6991 (WI.NetworkResourceDetailView.prototype.sizesContentViewGoToHeaders):
6992 (WI.NetworkResourceDetailView.prototype.sizesContentViewGoToRequestBody):
6993 (WI.NetworkResourceDetailView.prototype.sizesContentViewGoToResponseBody):
6994 (WI.NetworkResourceDetailView.prototype.initialLayout):
6995 (WI.NetworkResourceDetailView.prototype.showContentViewForIdentifier):
6996 (WI.NetworkResourceDetailView.prototype.get resource): Deleted.
6997 (WI.NetworkResourceDetailView.prototype.hidden): Deleted.
6998 (WI.NetworkResourceDetailView.prototype.dispose): Deleted.
6999 (WI.NetworkResourceDetailView.prototype.willShowWithCookie): Deleted.
7000 (WI.NetworkResourceDetailView.prototype.initialLayout): Deleted.
7001 (WI.NetworkResourceDetailView.prototype._showPreferredContentView): Deleted.
7002 (WI.NetworkResourceDetailView.prototype._showContentViewForNavigationItem): Deleted.
7003 (WI.NetworkResourceDetailView.prototype._navigationItemSelected): Deleted.
7004 (WI.NetworkResourceDetailView.prototype._handleCloseButton): Deleted.
7005
7006 * UserInterface/Views/NetworkDetailView.js: Added.
7007 (WI.NetworkDetailView):
7008 (WI.NetworkDetailView.prototype.get representedObject):
7009 (WI.NetworkDetailView.prototype.shown):
7010 (WI.NetworkDetailView.prototype.hidden):
7011 (WI.NetworkDetailView.prototype.dispose):
7012 (WI.NetworkDetailView.prototype.willShowWithCookie):
7013 (WI.NetworkDetailView.prototype.initialLayout):
7014 (WI.NetworkDetailView.prototype.createDetailNavigationItem):
7015 (WI.NetworkDetailView.prototype.detailNavigationItemForIdentifier):
7016 (WI.NetworkDetailView.prototype.showContentViewForIdentifier):
7017 (WI.NetworkDetailView.prototype._showPreferredContentView):
7018 (WI.NetworkDetailView.prototype._navigationItemSelected):
7019 (WI.NetworkDetailView.prototype._handleCloseButton):
7020 * UserInterface/Views/NetworkDetailView.css: Added.
7021 (.network-detail):
7022 (.network-detail .navigation-bar):
7023 (.network-detail .item.close > .glyph):
7024 (.network-detail .item.close > .glyph:hover):
7025 (.network-detail .item.close > .glyph:active):
7026 (.network .network-detail .navigation-bar .item.radio.button.text-only):
7027 (.network .network-detail .navigation-bar .item.radio.button.text-only.selected):
7028 (.network-detail > .content-browser):
7029 (@media (prefers-dark-interface)):
7030 Create base class for detail views shown in the Network tab.
7031
7032 * UserInterface/Views/DOMNodeEventsContentView.js: Added.
7033 (WI.DOMNodeEventsContentView):
7034 (WI.DOMNodeEventsContentView.prototype.initialLayout):
7035 (WI.DOMNodeEventsContentView.prototype.closed):
7036 (WI.DOMNodeEventsContentView.prototype._handleDOMNodeDidFireEvent):
7037 * UserInterface/Views/DOMNodeEventsContentView.css: Added.
7038 (.dom-node-details.dom-events):
7039
7040 * UserInterface/Views/DOMEventsBreakdownView.js: Added.
7041 (WI.DOMEventsBreakdownView):
7042 (WI.DOMEventsBreakdownView.prototype.addEvent):
7043 (WI.DOMEventsBreakdownView.prototype.initialLayout):
7044 (WI.DOMEventsBreakdownView.prototype._populateTable.percentOfTotalTime):
7045 (WI.DOMEventsBreakdownView.prototype._populateTable):
7046 * UserInterface/Views/DOMEventsBreakdownView.css: Added.
7047 (.waterfall-popover-content .dom-events-breakdown):
7048 (.dom-events-breakdown):
7049 (.dom-events-breakdown table):
7050 (.dom-events-breakdown tr > :matches(th, td)):
7051 (.dom-events-breakdown tbody > tr):
7052 (.dom-events-breakdown .graph):
7053 (.dom-events-breakdown .graph > :matches(.point, .area)):
7054 (.dom-events-breakdown .graph > .point):
7055 (.dom-events-breakdown .time):
7056
7057 * UserInterface/Views/ResourceTimingBreakdownView.css:
7058 (.resource-timing-breakdown > table > tr.header:not(.total-row) > td): Added.
7059 (.popover.waterfall-popover): Deleted.
7060
70612018-10-10 Devin Rousso <drousso@apple.com>
7062
drousso@apple.com36489392018-10-10 22:41:25 +00007063 Web Inspector: REGRESSION(r236853): Uncaught Exception: undefined is not an object (evaluating 'entry.resource')
7064 https://bugs.webkit.org/show_bug.cgi?id=190442
7065
7066 Reviewed by Joseph Pecoraro.
7067
7068 * UserInterface/Views/NetworkTableContentView.js:
7069 (WI.NetworkTableContentView.prototype.reset):
7070 It's unnecessary to deselect rows in the `WI.Table` when we're about to remove them.
7071
70722018-10-10 Devin Rousso <drousso@apple.com>
7073
drousso@apple.com3df5ab82018-10-10 20:52:12 +00007074 Web Inspector: REGRESSION: selection in network table is lost when new entries are added
7075 https://bugs.webkit.org/show_bug.cgi?id=190362
7076
7077 Reviewed by Matt Baker.
7078
7079 The `_selectedRows` list is cleared each time `reloadData` is called, meaning that
7080 `WI.Table` expects its "owner" to restore the selection (since it doesn't know how). As a
7081 result, `WI.NetworkTableContentView` needs to call `selectRow` _after_ `reloadData` is
7082 called, not before.
7083
7084 * UserInterface/Views/NetworkTableContentView.js:
7085 (WI.NetworkTableContentView.prototype.tableSortChanged):
7086 (WI.NetworkTableContentView.prototype._populateNameCell):
7087 (WI.NetworkTableContentView.prototype._processPendingEntries):
7088 (WI.NetworkTableContentView.prototype._insertResourceAndReloadTable):
7089 (WI.NetworkTableContentView.prototype._updateSort): Added.
7090 (WI.NetworkTableContentView.prototype._updateFilteredEntries):
7091 (WI.NetworkTableContentView.prototype._reloadTable): Added.
7092 (WI.NetworkTableContentView.prototype._resetFilters):
7093 (WI.NetworkTableContentView.prototype._typeFilterScopeBarSelectionChanged):
7094 (WI.NetworkTableContentView.prototype._handleGroupByDOMNodeCheckedDidChange):
7095 (WI.NetworkTableContentView.prototype._urlFilterDidChange):
7096 (WI.NetworkTableContentView.prototype._updateSortAndFilteredEntries): Deleted.
7097
7098 * UserInterface/Views/Table.js:
7099 (WI.Table.prototype.reloadData):
7100 Ensure that the `_selectedRowIndex` is also reset.
7101
71022018-10-10 Devin Rousso <drousso@apple.com>
7103
drousso@apple.com644cfac2018-10-10 18:34:49 +00007104 Web Inspector: notify the frontend when a canvas has started recording via console.record
7105 https://bugs.webkit.org/show_bug.cgi?id=190306
7106
7107 Reviewed by Brian Burg.
7108
7109 * UserInterface/Protocol/CanvasObserver.js:
7110 (WI.CanvasObserver.prototype.recordingStarted): Added.
7111
7112 * UserInterface/Protocol/CanvasManager.js:
7113 (WI.CanvasManager.prototype.recordingStarted): Added.
7114
7115 * UserInterface/Models/Canvas.js:
7116 (WI.Canvas.prototype.startRecording):
7117 (WI.Canvas.prototype.recordingStarted): Added.
7118 (WI.Canvas.prototype.recordingFinished):
7119
71202018-10-10 Devin Rousso <drousso@apple.com>
7121
drousso@apple.comd44c4f52018-10-10 18:01:25 +00007122 Web Inspector: indent all network entries when "Group by Node" is checked
7123 https://bugs.webkit.org/show_bug.cgi?id=190388
7124
7125 Reviewed by Timothy Hatcher.
7126
7127 * UserInterface/Views/NetworkTableContentView.js:
7128 (WI.NetworkTableContentView.prototype._populateNameCell):
7129 (WI.NetworkTableContentView.prototype._handleGroupByDOMNodeCheckedDidChange):
7130
7131 * UserInterface/Views/NetworkTableContentView.css:
7132 (.network-table.grouped .data-container .cell.name): Added.
7133 (.network-table.grouped .data-container .cell:not(.parent).name): Added.
7134 (.network-table.grouped .data-container .cell.child.name): Added.
7135 (.network-table .cell.grouped-by-node.name): Deleted.
7136 (body[dir=ltr] .network-table .cell.grouped-by-node.name): Deleted.
7137 (body[dir=rtl] .network-table .cell.grouped-by-node.name): Deleted.
7138 Apply a padding to all nodes when the `WI.Table` is grouped.
7139
drousso@apple.coma4a2ee32018-10-09 19:04:18 +000071402018-10-09 Devin Rousso <drousso@apple.com>
7141
drousso@apple.com3f5bc8d2018-10-10 02:49:52 +00007142 Web Inspector: show redirect requests in Network and Timelines tabs
7143 https://bugs.webkit.org/show_bug.cgi?id=150005
7144 <rdar://problem/5378164>
7145
7146 Reviewed by Joseph Pecoraro.
7147
7148 * Localizations/en.lproj/localizedStrings.js:
7149 * UserInterface/Views/Variables.css:
7150 * UserInterface/Main.html:
7151 * UserInterface/Test.html:
7152
7153 * UserInterface/Controllers/NetworkManager.js:
7154 (WI.NetworkManager.prototype.resourceRequestWillBeSent):
7155
7156 * UserInterface/Models/Resource.js:
7157 (WI.Resource):
7158 (WI.Resource.prototype.get redirects): Added.
7159 (WI.Resource.prototype.get lastRedirectReceivedTimestamp):
7160 (WI.Resource.prototype.updateForRedirectResponse):
7161 Save each redirect in an array instead of just remembering the last timestamp.
7162
7163 * UserInterface/Models/ResourceTimingData.js:
7164 (WI.ResourceTimingData):
7165 (WI.ResourceTimingData.fromPayload.offsetToTimestamp):
7166 (WI.ResourceTimingData.fromPayload):
7167 (WI.ResourceTimingData.prototype.get redirectStart): Added.
7168 (WI.ResourceTimingData.prototype.get redirectEnd): Added.
7169 (WI.ResourceTimingData.prototype.get fetchStart): Added.
7170 Add missing fields for `Network.types.ResourceTiming`.
7171
7172 * UserInterface/Models/Redirect.js: Added.
7173 (WI.Redirect):
7174 (WI.Redirect.prototype.get url):
7175 (WI.Redirect.prototype.get requestMethod):
7176 (WI.Redirect.prototype.get requestHeaders):
7177 (WI.Redirect.prototype.get responseStatusCode):
7178 (WI.Redirect.prototype.get responseStatusText):
7179 (WI.Redirect.prototype.get responseHeaders):
7180 (WI.Redirect.prototype.get timestamp):
7181 (WI.Redirect.prototype.get urlComponents):
7182
7183 * UserInterface/Views/ResourceHeadersContentView.js:
7184 (WI.ResourceHeadersContentView):
7185 (WI.ResourceHeadersContentView.prototype.initialLayout):
7186 (WI.ResourceHeadersContentView.prototype.layout):
7187 (WI.ResourceHeadersContentView.prototype._refreshRedirectHeadersSections): Added.
7188 (WI.ResourceHeadersContentView.prototype._resourceRequestHeadersDidChange):
7189 * UserInterface/Views/ResourceHeadersContentView.css:
7190 (body[dir] .resource-headers > section.summary > .details): Added.
7191 (body[dir] .resource-headers > section:matches(.redirect, .headers) > .details): Added.
7192 (.resource-headers .details .key):
7193 (.resource-headers .summary .key):
7194 (body[dir] .resource-headers > section > .details): Deleted.
7195 (body[dir] .resource-headers > section.headers > .details): Deleted.
7196 (.resource-headers .value): Deleted.
7197 Add a request/response header section for each redirect.
7198
7199 * UserInterface/Views/NetworkTableContentView.js:
7200 (WI.NetworkTableContentView.prototype._populateWaterfallGraph.appendBlock):
7201 (WI.NetworkTableContentView.prototype._populateWaterfallGraph):
7202 (WI.NetworkTableContentView.prototype._checkURLFilterAgainstResource):
7203 (WI.NetworkTableContentView.prototype._waterfallPopoverContentForResource):
7204 * UserInterface/Views/NetworkTableContentView.css:
7205 (.waterfall .block.redirect): Added.
7206 (.waterfall .block.queue):
7207 * UserInterface/Views/ResourceTimelineDataGridNode.js:
7208 (WI.ResourceTimelineDataGridNode.prototype._mouseoverRecordBar):
7209 * UserInterface/Views/ResourceTimingBreakdownView.js:
7210 (WI.ResourceTimingBreakdownView.prototype.initialLayout):
7211 Add timeline/waterfall entries for total redirect time.
7212
72132018-10-09 Devin Rousso <drousso@apple.com>
7214
drousso@apple.come9090592018-10-09 22:31:55 +00007215 Web Inspector: Canvas Tab: grayed out Record button in navigator is nearly invisible
7216 https://bugs.webkit.org/show_bug.cgi?id=190365
7217 <rdar://problem/45097739>
7218
7219 Reviewed by Brian Burg.
7220
7221 * UserInterface/Views/CanvasSidebarPanel.css:
7222 (@media (prefers-dark-interface)): Added.
7223 (.sidebar > .panel.navigation.canvas > .navigation-bar > .item.record-start-stop.disabled): Added.
7224
72252018-10-09 Devin Rousso <drousso@apple.com>
7226
drousso@apple.coma4a2ee32018-10-09 19:04:18 +00007227 Web Inspector: REGRESSION: fix canvas test failures after r236952 and r236954
7228 https://bugs.webkit.org/show_bug.cgi?id=190403
7229
7230 Reviewed by Joseph Pecoraro.
7231
7232 * UserInterface/Controllers/CanvasManager.js:
7233 (WI.CanvasManager.prototype._removeCanvas):
7234 Clear the `shaderProgramCollection` when a `WI.Canvas` is removed so that a remove event is
7235 fired for each `WI.ShaderProgram`.
7236
justin_fan@apple.com947003f2018-10-09 01:37:30 +000072372018-10-08 Justin Fan <justin_fan@apple.com>
7238
7239 WebGPU: Rename old WebGPU prototype to WebMetal
7240 https://bugs.webkit.org/show_bug.cgi?id=190325
7241 <rdar://problem/44990443>
7242
7243 Reviewed by Dean Jackson.
7244
7245 Rename WebGPU prototype files to WebMetal in preparation for implementing the new (Oct 2018) WebGPU interface.
7246 For WebInspector, add WebMetal to valid enums for canvas types.
7247
7248 * UserInterface/Models/Canvas.js:
7249 (WI.Canvas.fromPayload):
7250 (WI.Canvas.displayNameForContextType):
7251
drousso@apple.comb5626cf2018-10-08 17:15:19 +000072522018-10-08 Devin Rousso <drousso@apple.com>
7253
drousso@apple.com0de9a8b2018-10-09 00:19:40 +00007254 Web Inspector: Dark Mode: canvas recording glyph is black on gray
7255 https://bugs.webkit.org/show_bug.cgi?id=190367
7256 <rdar://problem/45099304>
7257
7258 Reviewed by Joseph Pecoraro.
7259
7260 * UserInterface/Views/CanvasOverviewContentView.css:
7261 (.content-view.canvas-overview .content-view.canvas > footer .view-recording): Added.
7262 (.content-view.canvas-overview .content-view.canvas > footer > .recordings::before): Deleted.
7263
72642018-10-08 Devin Rousso <drousso@apple.com>
7265
drousso@apple.com9ba2f602018-10-09 00:14:52 +00007266 Web Inspector: allow multiple canvases to be recorded at the same time
7267 https://bugs.webkit.org/show_bug.cgi?id=190305
7268
7269 Reviewed by Brian Burg.
7270
7271 Moved the logic for maintaining whether a canvas is actively recording from
7272 `WI.CanvasManager` to `WI.Canvas`, meaning that each canvas can now record independently of
7273 every other canvas in the page. If multiple recordings are all finished simultaneously, only
7274 show the first one to be recieved by the frontend.
7275
7276 * UserInterface/Controllers/CanvasManager.js:
7277 (WI.CanvasManager):
7278 (WI.CanvasManager.prototype.recordingProgress):
7279 (WI.CanvasManager.prototype.recordingFinished):
7280 (WI.CanvasManager.prototype.programCreated):
7281 (WI.CanvasManager.prototype.programDeleted):
7282 (WI.CanvasManager.prototype._removeCanvas):
7283 (WI.CanvasManager.prototype._mainResourceDidChange):
7284 (WI.CanvasManager.prototype.get recordingCanvas): Deleted.
7285 (WI.CanvasManager.prototype.startRecording): Deleted.
7286 (WI.CanvasManager.prototype.stopRecording): Deleted.
7287 (WI.CanvasManager.prototype._dispatchShaderProgramRemoved): Deleted.
7288
7289 * UserInterface/Models/Canvas.js:
7290 (WI.Canvas.prototype.get recordingFrameCount): Added.
7291 (WI.Canvas.prototype.get recordingBufferUsed): Added.
7292 (WI.Canvas.prototype.get recordingActive): Added.
7293 (WI.Canvas.prototype.get isRecording): Deleted.
7294 (WI.Canvas.prototype.startRecording): Added.
7295 (WI.Canvas.prototype.stopRecording): Added.
7296 (WI.Canvas.prototype.recordingProgress): Added.
7297 (WI.Canvas.prototype.recordingFinished): Added.
7298
7299 * UserInterface/Views/CanvasTabContentView.js:
7300 (WI.CanvasTabContentView.prototype.attached):
7301 (WI.CanvasTabContentView.prototype.detached):
7302 (WI.CanvasTabContentView.prototype._recordingImportedOrStopped):
7303 (WI.CanvasTabContentView.prototype._handleSpace):
7304 (WI.CanvasTabContentView):
7305
7306 * UserInterface/Views/CanvasOverviewContentView.css:
7307 (.content-view.canvas-overview .content-view.canvas.recording-active): Added.
7308 (.content-view.canvas-overview .content-view.canvas.recording-active > header): Added.
7309 (.content-view.canvas-overview .content-view.canvas.recording-active > header > .titles > .title): Added.
7310 (.content-view.canvas-overview .content-view.canvas.recording-active > header > .titles > .subtitle): Added.
7311 (.content-view.canvas-overview .content-view.canvas.recording-active > header > .navigation-bar > .item): Added.
7312 (.content-view.canvas-overview .content-view.canvas:matches(:hover, .recording-active) > header > .navigation-bar): Added.
7313 (.content-view.canvas-overview .content-view.canvas:not(.recording-active) > header > .navigation-bar > .item.record-start-stop.disabled): Added.
7314 (.content-view.canvas-overview .content-view.canvas:not(.recording-active) > header > .navigation-bar > .item.record-start-stop:not(.disabled):hover): Added.
7315 (.content-view.canvas-overview .content-view.canvas:not(.recording-active) > header > .navigation-bar > .item.record-start-stop:not(.disabled):active): Added.
7316 (.content-view.canvas-overview .content-view.canvas.recording-active > .progress-vie): Added.
7317 (.content-view.canvas-overview .content-view.canvas.recording-active > .preview): Added.
7318 (.content-view.canvas-overview .content-view.canvas.recording-active): Added.
7319 (.content-view.canvas-overview .content-view.canvas.recording-active > header): Added.
7320 (.content-view.canvas-overview .content-view.canvas.recording-active > header > .titles > .subtitle): Added.
7321 (.content-view.canvas-overview .content-view.canvas.is-recording): Deleted.
7322 (.content-view.canvas-overview .content-view.canvas.is-recording > header): Deleted.
7323 (.content-view.canvas-overview .content-view.canvas.is-recording > header > .titles > .title): Deleted.
7324 (.content-view.canvas-overview .content-view.canvas.is-recording > header > .titles > .subtitle): Deleted.
7325 (.content-view.canvas-overview .content-view.canvas.is-recording > header > .navigation-bar > .item): Deleted.
7326 (.content-view.canvas-overview .content-view.canvas:matches(:hover, .is-recording) > header > .navigation-bar): Deleted.
7327 (.content-view.canvas-overview .content-view.canvas:not(.is-recording) > header > .navigation-bar > .item.record-start-stop.disabled): Deleted.
7328 (.content-view.canvas-overview .content-view.canvas:not(.is-recording) > header > .navigation-bar > .item.record-start-stop:not(.disabled):hover): Deleted.
7329 (.content-view.canvas-overview .content-view.canvas:not(.is-recording) > header > .navigation-bar > .item.record-start-stop:not(.disabled):active): Deleted.
7330 (.content-view.canvas-overview .content-view.canvas.is-recording > .progress-vie): Deleted.
7331 (.content-view.canvas-overview .content-view.canvas.is-recording > .preview): Deleted.
7332 (.content-view.canvas-overview .content-view.canvas.is-recording): Deleted.
7333 (.content-view.canvas-overview .content-view.canvas.is-recording > header): Deleted.
7334 (.content-view.canvas-overview .content-view.canvas.is-recording > header > .titles > .subtitle): Deleted.
7335
7336 * UserInterface/Views/CanvasContentView.js:
7337 (WI.CanvasContentView.prototype.attached):
7338 (WI.CanvasContentView.prototype.detached):
7339 (WI.CanvasContentView.prototype._toggleRecording):
7340 (WI.CanvasContentView.prototype._recordingProgress):
7341 (WI.CanvasContentView.prototype._recordingStopped):
7342 (WI.CanvasContentView.prototype._shaderProgramAdded):
7343 (WI.CanvasContentView.prototype._shaderProgramRemoved):
7344 (WI.CanvasContentView.prototype._updateRecordNavigationItem):
7345 (WI.CanvasContentView.prototype._updateProgressView):
7346
7347 * UserInterface/Views/CanvasSidebarPanel.js:
7348 (WI.CanvasSidebarPanel):
7349 (WI.CanvasSidebarPanel.prototype.set canvas):
7350 (WI.CanvasSidebarPanel.prototype._toggleRecording):
7351 (WI.CanvasSidebarPanel.prototype._updateRecordNavigationItem):
7352
7353 * UserInterface/Views/CanvasTreeElement.js:
7354 (WI.CanvasTreeElement):
7355 (WI.CanvasTreeElement.prototype._updateStatus):
7356
73572018-10-08 Devin Rousso <drousso@apple.com>
7358
drousso@apple.comd1c75cd2018-10-09 00:07:24 +00007359 Web Inspector: replace Range.svg icon
7360 https://bugs.webkit.org/show_bug.cgi?id=190372
7361
7362 Reviewed by Joseph Pecoraro.
7363
7364 * UserInterface/Images/Range.svg:
7365 * UserInterface/Images/RangeLarge.svg: Added.
7366
7367 * UserInterface/Models/Resource.js:
7368 (WI.Resource.classNameForResource): Added.
7369 Create a static function for specializing the `className` of `WI.Resource` objects.
7370
7371 * UserInterface/Views/NetworkTableContentView.js:
7372 (WI.NetworkTableContentView.prototype._populateNameCell):
7373
7374 * UserInterface/Views/ResourceTreeElement.js:
7375 (WI.ResourceTreeElement):
7376
7377 * UserInterface/Views/ResourceIcons.css:
7378 (.resource-icon.resource-type-ping .icon, .resource-icon.resource-type-beacon .icon, .large .resource-icon.resource-type-ping .icon, .large .resource-icon.resource-type-beacon .icon):
7379 (.resource-icon.resource-type-range .icon):
7380 (.large .resource-icon.resource-type-range .icon): Added.
7381 Drive-by: added `.large` versions of `ping` and `beacon` icons for the
7382 `WI.OpenResourceDialog` elements.
7383
73842018-10-08 Devin Rousso <drousso@apple.com>
7385
drousso@apple.com21748ed2018-10-08 18:25:52 +00007386 Web Inspector: group media network entries by the node that triggered the request
7387 https://bugs.webkit.org/show_bug.cgi?id=189606
7388 <rdar://problem/44438527>
7389
7390 Reviewed by Brian Burg.
7391
7392 Introduces a `WI.NavigationItem` for changing whether network entries are grouped by the
7393 node that initiated the load (if applicable). When grouped by node, a tree-like layout of
7394 the table cells (including expand/collapse) is used for resources that share the same
7395 initiator node. The values for the node's cell are based on it's initated resources.
7396
7397 * Localizations/en.lproj/localizedStrings.js:
7398 * UserInterface/Base/Setting.js:
7399
7400 * UserInterface/Controllers/DOMManager.js:
7401 (WI.DOMManager):
7402 (WI.DOMManager.prototype._mainResourceDidChange): Added.
7403 Whenever the frame navigates, re-request the document so that `NetworkAgent` is able to send
7404 valid `nodeId` for each request's `initiatorNode`. This means that the document should
7405 always be available.
7406
7407 * UserInterface/Views/NetworkTableContentView.js:
7408 (WI.NetworkTableContentView):
7409 (WI.NetworkTableContentView.prototype.get filterNavigationItems):
7410 (WI.NetworkTableContentView.prototype.closed):
7411 (WI.NetworkTableContentView.prototype.reset):
7412 (WI.NetworkTableContentView.prototype.tableSortChanged):
7413 (WI.NetworkTableContentView.prototype.tableSelectedRowChanged):
7414 (WI.NetworkTableContentView.prototype.tablePopulateCell):
7415 (WI.NetworkTableContentView.prototype._populateNameCell.createIconElement): Added.
7416 (WI.NetworkTableContentView.prototype._populateNameCell):
7417 (WI.NetworkTableContentView.prototype._populateDomainCell.createIconAndText): Added.
7418 (WI.NetworkTableContentView.prototype._populateDomainCell):
7419 (WI.NetworkTableContentView.prototype._populateInitiatorCell):
7420 (WI.NetworkTableContentView.prototype._populateTransferSizeCell):
7421 (WI.NetworkTableContentView.prototype._generateSortComparator):
7422 (WI.NetworkTableContentView.prototype._processPendingEntries):
7423 (WI.NetworkTableContentView.prototype._updateEntryForResource.updateExistingEntry): Added.
7424 (WI.NetworkTableContentView.prototype._updateEntryForResource):
7425 (WI.NetworkTableContentView.prototype._insertResourceAndReloadTable):
7426 (WI.NetworkTableContentView.prototype._entryForDOMNode): Added.
7427 (WI.NetworkTableContentView.prototype._tryLinkResourceToDOMNode): Added.
7428 (WI.NetworkTableContentView.prototype._uniqueValuesForDOMNodeEntry): Added.
7429 (WI.NetworkTableContentView.prototype._updateFilteredEntries):
7430 (WI.NetworkTableContentView.prototype._handleGroupByDOMNodeCheckedDidChange): Added.
7431 * UserInterface/Views/NetworkTableContentView.css:
7432 (.network-table .cell.dom-node.name .icon): Added.
7433 (.network-table .cell.dom-node.name .disclosure): Added.
7434 (body[dir=rtl] .network-table .cell.dom-node.name .disclosure): Added.
7435 (.network-table:focus li.selected .cell.dom-node.name .disclosure): Added.
7436 (.network-table .cell.dom-node.name .disclosure.expanded): Added.
7437 (.network-table:focus li.selected .cell.node.name .disclosure.expanded): Added.
7438 (.network-table .cell.grouped-by-node.name): Added.
7439 (body[dir=ltr] .network-table .cell.grouped-by-node.name): Added.
7440 (body[dir=rtl] .network-table .cell.grouped-by-node.name): Added.
7441 (.network-table li:not(.selected) .cell:matches(.cache-type, .multiple)): Added.
7442 (.network-table li.selected .cell.domain > .lock): Added.
7443 (.network-table .cache-type): Deleted.
7444 When two resources are added that share the same `initiatorNode`, insert a node entry into
7445 the `WI.Table` before the first resource entry for that node (based on the current sort).
7446 This node entry is added after the resource entries are filtered, so they won't appear in
7447 the default entries list.
7448
7449 * UserInterface/Models/Resource.js:
7450 (WI.Resource):
7451 (WI.Resource.prototype.initiatorNode): Added.
7452 (WI.Resource.prototype.requestedByteRange): Added.
7453 * UserInterface/Controllers/NetworkManager.js:
7454 (WI.NetworkManager.prototype.resourceRequestWillBeSent):
7455 (WI.NetworkManager.prototype.resourceRequestWasServedFromMemoryCache):
7456 (WI.NetworkManager.prototype._initiatorNodeFromPayload): Added.
7457
7458 * UserInterface/Images/Range.svg: Added.
7459 * UserInterface/Views/ResourceIcons.css:
7460 (.resource-icon.resource-type-range .icon): Added.
7461
74622018-10-08 Devin Rousso <drousso@apple.com>
7463
drousso@apple.come3c64a52018-10-08 17:24:15 +00007464 Web Inspector: clicking initiator link in Network Tab table doesn't automatically switch to Preview section
7465 https://bugs.webkit.org/show_bug.cgi?id=190286
7466
7467 Reviewed by Brian Burg.
7468
7469 * UserInterface/Views/NetworkResourceDetailView.js:
7470 (WI.NetworkResourceDetailView.prototype.shown):
7471 (WI.NetworkResourceDetailView.prototype._showContentViewForNavigationItem):
7472
74732018-10-08 Devin Rousso <drousso@apple.com>
7474
drousso@apple.comb7680c32018-10-08 17:17:21 +00007475 Web Inspector: be more specific as to what types of WI.Collection are allowed for the Resources tab
7476 https://bugs.webkit.org/show_bug.cgi?id=190304
7477
7478 Reviewed by Brian Burg.
7479
7480 * UserInterface/Base/Main.js:
7481 (WI.tabContentViewClassForRepresentedObject):
7482 * UserInterface/Views/ResourcesTabContentView.js:
7483 (WI.ResourcesTabContentView.prototype.canShowRepresentedObject):
7484
74852018-10-08 Devin Rousso <drousso@apple.com>
7486
drousso@apple.comb5626cf2018-10-08 17:15:19 +00007487 Web Inspector: Open Resource Dialog should show path to resource (to disambiguate resources with same name)
7488 https://bugs.webkit.org/show_bug.cgi?id=178153
7489 <rdar://problem/34925686>
7490
7491 Reviewed by Brian Burg.
7492
7493 * UserInterface/Views/OpenResourceDialog.js:
7494 (WI.OpenResourceDialog.prototype._populateResourceTreeOutline):
7495 * UserInterface/Views/OpenResourceDialog.css:
7496 (.open-resource-dialog .tree-outline.large .item .titles[data-path]): Added.
7497 (.open-resource-dialog .tree-outline.large .item .titles[data-path]::after): Added.
7498 (.open-resource-dialog .tree-outline.large .item .titles .title): Added.
7499 (.open-resource-dialog .tree-outline.large .item .titles .subtitle): Added.
7500 (.open-resource-dialog .tree-outline.large .item .titles): Deleted.
7501
drousso@apple.com23ddbe62018-10-05 21:12:48 +000075022018-10-05 Devin Rousso <drousso@apple.com>
7503
drousso@apple.com7b7625a2018-10-06 01:06:20 +00007504 Web Inspector: add WebVTT MIME/file type mappings to the frontend
7505 https://bugs.webkit.org/show_bug.cgi?id=190288
7506
7507 Reviewed by Brian Burg.
7508
7509 * UserInterface/Base/MIMETypeUtilities.js:
7510 (WI.mimeTypeForFileExtension):
7511 (WI.fileExtensionForMIMEType):
7512
7513 * UserInterface/Views/NetworkTableContentView.js:
7514 (WI.NetworkTableContentView.displayNameForResource):
7515 Also attempt to use the mime-type-to-extension when the `WI.Resource` is of type `Other`.
7516
75172018-10-05 Devin Rousso <drousso@apple.com>
7518
drousso@apple.com68eb1312018-10-06 00:20:54 +00007519 Web Inspector: refactor constructor of WI.Resource
7520 https://bugs.webkit.org/show_bug.cgi?id=190318
7521
7522 Reviewed by Joseph Pecoraro.
7523
7524 Reworked constructor of `WI.Resource` to use an optional object for any non-essential arguments.
7525
7526 Drive-by: moved some simple getters to the top of the class to save space.
7527
7528 * UserInterface/Models/Resource.js:
7529 (WI.Resource):
7530
7531 * UserInterface/Models/SourceMapResource.js:
7532 (WI.SourceMapResource):
7533
7534 * UserInterface/Models/WebSocketResource.js:
7535 (WI.WebSocketResource):
7536
7537 * UserInterface/Controllers/NetworkManager.js:
7538 (WI.NetworkManager.prototype.frameDidNavigate):
7539 (WI.NetworkManager.prototype.resourceRequestWillBeSent):
7540 (WI.NetworkManager.prototype.webSocketWillSendHandshakeRequest):
7541 (WI.NetworkManager.prototype.resourceRequestWasServedFromMemoryCache):
7542 (WI.NetworkManager.prototype.resourceRequestDidReceiveResponse):
7543 (WI.NetworkManager.prototype._addNewResourceToFrameOrTarget):
7544 (WI.NetworkManager.prototype._createFrame):
7545 (WI.NetworkManager.prototype._createResource):
7546
75472018-10-05 Devin Rousso <drousso@apple.com>
7548
drousso@apple.com23ddbe62018-10-05 21:12:48 +00007549 Web Inspector: use iframe's name attribute for FrameTreeElement
7550 https://bugs.webkit.org/show_bug.cgi?id=190275
7551
7552 Reviewed by Joseph Pecoraro.
7553
7554 * UserInterface/Views/FrameTreeElement.js:
7555 (WI.FrameTreeElement.prototype.get mainTitleText): Added.
7556
7557 * UserInterface/Views/ResourceTreeElement.js:
7558 (WI.ResourceTreeElement.prototype.get mainTitleText): Added.
7559 (WI.ResourceTreeElement.prototype._updateTitles):
7560 Provide a way for subclasses to override what is used for the `mainTitle`.
7561
7562 * UserInterface/Views/QuickConsole.js:
7563 (WI.QuickConsole.prototype._createExecutionContextPathComponentFromFrame):
7564 Update the execution context picker to match what `WI.FrameTreeElement`s show.
7565
mattbaker@apple.com511954f2018-10-04 21:54:14 +000075662018-10-04 Matt Baker <mattbaker@apple.com>
7567
mattbaker@apple.come2e32902018-10-05 04:04:10 +00007568 Web Inspector: REGRESSION (r236766): Storage tab no longer updates after main frame navigation
7569 https://bugs.webkit.org/show_bug.cgi?id=190298
7570
7571 Reviewed by Joseph Pecoraro.
7572
7573 Handle Cleared events from storage managers separately, so that successive
7574 events during page load does not cause the Storage tab to destroy newly
7575 created tree elements.
7576
7577 * UserInterface/Views/StorageSidebarPanel.js:
7578 (WI.StorageSidebarPanel):
7579 (WI.StorageSidebarPanel.prototype._closeContentViewForTreeElement):
7580 (WI.StorageSidebarPanel.prototype._domStorageCleared):
7581 (WI.StorageSidebarPanel.prototype._applicationCacheCleared):
7582 (WI.StorageSidebarPanel.prototype._indexedDatabaseCleared):
7583 (WI.StorageSidebarPanel.prototype._databaseCleared):
7584 (WI.StorageSidebarPanel.prototype._storageCleared): Deleted.
7585
75862018-10-04 Matt Baker <mattbaker@apple.com>
7587
mattbaker@apple.com511954f2018-10-04 21:54:14 +00007588 Web Inspector: Table should support multiple selection and Cmd-click behavior
7589 https://bugs.webkit.org/show_bug.cgi?id=189705
7590 <rdar://problem/44571170>
7591
7592 Reviewed by Devin Rousso.
7593
7594 Add multiple row selection to Table, with new methods for programmatic
7595 selection (deselectRow, deselectAll), and Command-click support for
7596 selecting/deselecting Table rows.
7597
7598 * UserInterface/Base/IndexSet.js: Added.
7599 (WI.IndexSet):
7600 (WI.IndexSet.prototype.get size):
7601 (WI.IndexSet.prototype.get firstIndex):
7602 (WI.IndexSet.prototype.get lastIndex):
7603 (WI.IndexSet.prototype.add):
7604 (WI.IndexSet.prototype.delete):
7605 (WI.IndexSet.prototype.has):
7606 (WI.IndexSet.prototype.clear):
7607 (WI.IndexSet.prototype.indexGreaterThan):
7608 (WI.IndexSet.prototype.indexLessThan):
7609 (WI.IndexSet.prototype.Symbol.iterator):
7610 (WI.IndexSet.prototype._indexClosestTo):
7611 (WI.IndexSet.prototype._validateIndex):
7612 Helper container for managing an ordered sequence of unique positive
7613 integers, with set semantics, backed by a sorted array. Used by Table,
7614 and eventually by TreeOutline.
7615
7616 * UserInterface/Main.html:
7617 * UserInterface/Test.html:
7618 * UserInterface/Test/Test.js:
7619 New files and stubs to make Table layout tests possible.
7620
7621 * UserInterface/Views/NetworkTableContentView.js:
7622 (WI.NetworkTableContentView.prototype.reset):
7623 (WI.NetworkTableContentView.prototype.showRepresentedObject):
7624 (WI.NetworkTableContentView.prototype.networkResourceDetailViewClose):
7625 (WI.NetworkTableContentView.prototype.tableSelectionDidChange):
7626 (WI.NetworkTableContentView.prototype._restoreSelectedRow):
7627 (WI.NetworkTableContentView.prototype.tableSelectedRowChanged): Deleted.
7628 Replace uses of `clearSelectedRow` with `deselectAll`, and updated
7629 selection changed delegate.
7630
7631 * UserInterface/Views/Table.css:
7632 (.table > .data-container > .data-list > li):
7633 (.table > .data-container > .data-list > li.selected):
7634 (@media (prefers-dark-interface)):
7635 (.table,): Deleted.
7636 Removed styles that are no longer needed after https://webkit.org/b/189766,
7637 and provide a visual separation between adjacent selected rows.
7638
7639 * UserInterface/Views/Table.js:
7640 (WI.Table):
7641 (WI.Table.prototype.get selectedRows):
7642 (WI.Table.prototype.get allowsMultipleSelection):
7643 (WI.Table.prototype.set allowsMultipleSelection):
7644 (WI.Table.prototype.reloadData):
7645 (WI.Table.prototype.selectRow):
7646 (WI.Table.prototype.deselectRow):
7647 (WI.Table.prototype.deselectAll):
7648 (WI.Table.prototype._getOrCreateRow):
7649 (WI.Table.prototype._handleMouseDown):
7650 (WI.Table.prototype._deselectAllAndSelect):
7651 (WI.Table.prototype._isRowSelected):
7652 (WI.Table.prototype._notifySelectionDidChange):
7653 (WI.Table.prototype.clearSelectedRow): Deleted.
7654 Table now tracks selected rows using an IndexSet. selectRow accepts an
7655 optional parameter, `extendSelection`, for adding rows to the selection.
7656 _selectedRowIndex is now used to track the most recently selected row.
7657 This will be the only selected row unless multiple selection is enabled,
7658 in which case it is the row that has the "focus", for purposes of selecting
7659 a new row using the up or down arrow keys.
7660
drousso@apple.come1d55862018-10-04 20:58:14 +000076612018-10-04 Devin Rousso <drousso@apple.com>
7662
7663 Web Inspector: REGRESSION(r236540): Uncaught Exception: TypeError: pauseReasonBreakpointTreeElement.removeStatusImage is not a function.
7664 https://bugs.webkit.org/show_bug.cgi?id=190230
7665
7666 Reviewed by Matt Baker.
7667
7668 * UserInterface/Views/DebuggerSidebarPanel.js:
7669 (WI.DebuggerSidebarPanel._removeBreakpoint):
7670 Leverage existing `status` getter/setter for creating/removing the breakpoint icon element.
7671
7672 * UserInterface/Views/BreakpointTreeElement.js:
7673 (WI.BreakpointTreeElement):
7674 (WI.BreakpointTreeElement.prototype.populateContextMenu):
7675 (WI.BreakpointTreeElement.prototype._updateStatus):
7676 (WI.BreakpointTreeElement.prototype.removeStatusImage): Deleted.
7677
7678 * UserInterface/Views/DOMBreakpointTreeElement.js:
7679 (WI.DOMBreakpointTreeElement):
7680 (WI.DOMBreakpointTreeElement.prototype.onattach):
7681 (WI.DOMBreakpointTreeElement.prototype.ondetach):
7682 (WI.DOMBreakpointTreeElement.prototype._updateStatus):
7683
7684 * UserInterface/Views/EventBreakpointTreeElement.js:
7685 (WI.EventBreakpointTreeElement):
7686 (WI.EventBreakpointTreeElement.prototype.onattach):
7687 (WI.EventBreakpointTreeElement.prototype.ondetach):
7688 (WI.EventBreakpointTreeElement.prototype._updateStatus):
7689
7690 * UserInterface/Views/XHRBreakpointTreeElement.js:
7691 (WI.XHRBreakpointTreeElement):
7692 (WI.XHRBreakpointTreeElement.prototype.onattach):
7693 (WI.XHRBreakpointTreeElement.prototype.ondetach):
7694 (WI.XHRBreakpointTreeElement.prototype._updateStatus):
7695
mitz@apple.com06365072018-10-04 20:36:56 +000076962018-10-04 Dan Bernstein <mitz@apple.com>
7697
7698 WebInspectorUI part of [Xcode] Update some build settings as recommended by Xcode 10
7699 https://bugs.webkit.org/show_bug.cgi?id=190250
7700
7701 Reviewed by Andy Estes.
7702
7703 * Configurations/Base.xcconfig: Enabled CLANG_WARN_COMMA, CLANG_WARN_INFINITE_RECURSION,
7704 CLANG_WARN_SUSPICIOUS_MOVE, CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS, and
7705 CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF.
7706
7707 * WebInspectorUI.xcodeproj/project.pbxproj: Let Xcode update LastUpgradeCheck.
7708
drousso@apple.com038c7012018-10-04 20:03:50 +000077092018-10-04 Devin Rousso <drousso@apple.com>
7710
drousso@apple.comb8f699c2018-10-04 20:27:45 +00007711 Web Inspector: merge ProbeManager into DebuggerManager
7712 https://bugs.webkit.org/show_bug.cgi?id=190225
7713
7714 Reviewed by Joseph Pecoraro.
7715
7716 * UserInterface/Main.html:
7717 * UserInterface/Base/Main.js:
7718 (WI.loaded):
7719 * UserInterface/Test.html:
7720 * UserInterface/Test/Test.js:
7721 (WI.loaded):
7722
7723 * UserInterface/Controllers/DebuggerManager.js:
7724 (WI.DebuggerManager.prototype.get probeSets): Added.
7725 (WI.DebuggerManager.prototype.probeForIdentifier): Added.
7726 (WI.DebuggerManager.prototype.addBreakpoint):
7727 (WI.DebuggerManager.prototype.removeBreakpoint):
7728 (WI.DebuggerManager.prototype.didSampleProbe): Added.
7729 (WI.DebuggerManager.prototype._handleBreakpointActionsDidChange): Added.
7730 (WI.DebuggerManager.prototype._addProbesForBreakpoint): Added.
7731 (WI.DebuggerManager.prototype._removeProbesForBreakpoint): Added.
7732 (WI.DebuggerManager.prototype._updateProbesForBreakpoint): Added.
7733 (WI.DebuggerManager.prototype._probeSetForBreakpoint): Added.
7734 * UserInterface/Controllers/ProbeManager.js: Removed.
7735
7736 * UserInterface/Protocol/DebuggerObserver.js:
7737 (WI.DebuggerObserver.prototype.didSampleProbe):
7738
7739 * UserInterface/Controllers/TimelineManager.js:
7740 (WI.TimelineManager.prototype._processRecord):
7741
7742 * UserInterface/Views/BreakpointTreeElement.js:
7743 (WI.BreakpointTreeElement.prototype.onattach):
7744
7745 * UserInterface/Views/ProbeDetailsSidebarPanel.js:
7746 (WI.ProbeDetailsSidebarPanel.prototype.closed):
7747 (WI.ProbeDetailsSidebarPanel.prototype.initialLayout):
7748
7749 * UserInterface/Views/TextResourceContentView.js:
7750 (WI.TextResourceContentView):
7751 (WI.TextResourceContentView.prototype.get supplementalRepresentedObjects):
7752 (WI.TextResourceContentView.prototype.closed):
7753
77542018-10-04 Devin Rousso <drousso@apple.com>
7755
drousso@apple.com06583182018-10-04 20:08:54 +00007756 Web Inspector: some files not listed in OpenResourceDialog
7757 https://bugs.webkit.org/show_bug.cgi?id=190272
7758
7759 Reviewed by Joseph Pecoraro.
7760
7761 * UserInterface/Controllers/ResourceQueryController.js:
7762 (WI.ResourceQueryController.prototype._findQueryMatches):
7763 Allow the `searchIndex` to go past the end of the `searchString` to allow for backtracking
7764 if the last character of `searchString` is not found in `query`.
7765
77662018-10-04 Devin Rousso <drousso@apple.com>
7767
drousso@apple.com038c7012018-10-04 20:03:50 +00007768 Web Inspector: REGRESSION(r236783): Uncaught Exception: Can't find variable: sourceMapURL
7769 https://bugs.webkit.org/show_bug.cgi?id=190276
7770
7771 Reviewed by Joseph Pecoraro.
7772
7773 * UserInterface/Controllers/NetworkManager.js:
7774 (WI.NetworkManager.prototype._sourceMapLoadAndParseFailed):
7775
drousso@apple.comcd352af2018-10-03 01:49:05 +000077762018-10-02 Devin Rousso <drousso@apple.com>
7777
7778 Web Inspector: merge SourceMapManager into NetworkManager
7779 https://bugs.webkit.org/show_bug.cgi?id=190224
7780
7781 Reviewed by Joseph Pecoraro.
7782
7783 * UserInterface/Main.html:
7784 * UserInterface/Base/Main.js:
7785 (WI.loaded):
7786 * UserInterface/Test.html:
7787 * UserInterface/Test/Test.js:
7788 (WI.loaded):
7789
7790 * UserInterface/Controllers/NetworkManager.js:
7791 (WI.NetworkManager):
7792 (WI.NetworkManager.prototype.downloadSourceMap): Added.
7793 (WI.NetworkManager.prototype.resourceRequestWasServedFromMemoryCache):
7794 (WI.NetworkManager.prototype.resourceRequestDidFinishLoading):
7795 (WI.NetworkManager.prototype._createResource):
7796 (WI.NetworkManager.prototype._loadAndParseSourceMap): Added.
7797 (WI.NetworkManager.prototype._sourceMapLoadAndParseFailed): Added.
7798 (WI.NetworkManager.prototype._sourceMapLoadAndParseSucceeded): Added.
7799 (WI.NetworkManager.prototype._handleFrameMainResourceDidChange): Added.
7800 * UserInterface/Controllers/SourceMapManager.js: Removed.
7801
7802 * UserInterface/Models/Script.js:
7803 (WI.Script):
7804
7805 * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
7806 * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
7807
nvasilyev@apple.com978300b2018-10-03 00:29:42 +000078082018-10-02 Nikita Vasilyev <nvasilyev@apple.com>
7809
7810 Web Inspector: Styles: start editing property name/value on mouseup instead of mousedown
7811 https://bugs.webkit.org/show_bug.cgi?id=190114
7812 <rdar://problem/44891030>
7813
7814 Reviewed by Matt Baker.
7815
7816 This change only affects the experimental multiple properties selection.
7817
7818 * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
7819 (WI.SpreadsheetCSSStyleDeclarationSection):
7820 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
7821 (.multiple-properties-selection .spreadsheet-style-declaration-editor :matches(.name, .value):not(.editing)):
7822 Without this code, the focus outline flickers on click (after mousedown but before mouseup event).
7823
7824 * UserInterface/Views/SpreadsheetTextField.js:
7825 (WI.SpreadsheetTextField):
7826 (WI.SpreadsheetTextField.prototype._handleMouseUp):
7827
drousso@apple.com0941a942018-10-02 08:00:37 +000078282018-10-02 Devin Rousso <drousso@apple.com>
7829
drousso@apple.comaaeb7472018-10-03 00:25:10 +00007830 Web Inspector: prevent layer events from firing until the layer information is re-requested
7831 https://bugs.webkit.org/show_bug.cgi?id=190159
7832
7833 Reviewed by Joseph Pecoraro.
7834
7835 * UserInterface/Controllers/LayerTreeManager.js:
7836 (WI.LayerTreeManager):
7837 (WI.LayerTreeManager.prototype.get supported):
7838 Remove `supported` member variable in favor of re-evaluating its value.
7839
7840 * UserInterface/Protocol/LayerTreeObserver.js:
7841 (WI.LayerTreeObserver.prototype.layerTreeDidChange):
7842
78432018-10-02 Devin Rousso <drousso@apple.com>
7844
drousso@apple.com28832dc2018-10-03 00:21:57 +00007845 Web Inspector: REGRESSION(r236766): WI.IssueManager no longer exists
7846 https://bugs.webkit.org/show_bug.cgi?id=190226
7847
7848 Reviewed by Joseph Pecoraro.
7849
7850 * UserInterface/Controllers/ConsoleManager.js:
7851 (WI.ConsoleManager.prototype.issuesForSourceCode):
7852
78532018-10-02 Devin Rousso <drousso@apple.com>
7854
drousso@apple.com01202012018-10-02 22:14:52 +00007855 Web Inspector: rename frontend managers to be more consistent with backend agents
7856 https://bugs.webkit.org/show_bug.cgi?id=190160
7857
7858 Reviewed by Joseph Pecoraro.
7859
7860 * UserInterface/Test.html:
7861 * UserInterface/Test/Test.js:
7862 * UserInterface/Main.html:
7863 * UserInterface/Base/Main.js:
7864 * UserInterface/Base/DOMUtilities.js:
7865 * UserInterface/Controllers/ApplicationCacheManager.js:
7866 * UserInterface/Controllers/CSSManager.js: Renamed from Source/WebInspectorUI/UserInterface/Controllers/CSSStyleManager.js.
7867 * UserInterface/Controllers/ConsoleManager.js: Renamed from Source/WebInspectorUI/UserInterface/Controllers/LogManager.js.
7868 * UserInterface/Controllers/DOMDebuggerManager.js:
7869 * UserInterface/Controllers/DOMManager.js: Renamed from Source/WebInspectorUI/UserInterface/Controllers/DOMTreeManager.js.
7870 * UserInterface/Controllers/DOMStorageManager.js: Renamed from Source/WebInspectorUI/UserInterface/Controllers/StorageManager.js.
7871 * UserInterface/Controllers/DashboardManager.js: Removed.
7872 * UserInterface/Controllers/DatabaseManager.js: Copied from Source/WebInspectorUI/UserInterface/Controllers/DOMStorageManager.js.
7873 * UserInterface/Controllers/HARBuilder.js:
7874 * UserInterface/Controllers/IndexedDBManager.js: Copied from Source/WebInspectorUI/UserInterface/Controllers/DOMStorageManager.js.
7875 * UserInterface/Controllers/IssueManager.js: Removed.
7876 * UserInterface/Controllers/JavaScriptLogViewController.js:
7877 * UserInterface/Controllers/NetworkManager.js: Renamed from Source/WebInspectorUI/UserInterface/Controllers/FrameResourceManager.js.
7878 * UserInterface/Controllers/SourceMapManager.js:
7879 * UserInterface/Controllers/TimelineManager.js:
7880 * UserInterface/Debug/UncaughtExceptionReporter.js:
7881 * UserInterface/Models/CSSProperty.js:
7882 * UserInterface/Models/CSSSelector.js:
7883 * UserInterface/Models/CallFrame.js:
7884 * UserInterface/Models/Canvas.js:
7885 * UserInterface/Models/ConsoleMessage.js:
7886 * UserInterface/Models/DOMBreakpoint.js:
7887 * UserInterface/Models/DOMNode.js:
7888 * UserInterface/Models/DOMNodeStyles.js:
7889 * UserInterface/Models/DOMTree.js:
7890 * UserInterface/Models/DefaultDashboard.js:
7891 * UserInterface/Models/Script.js:
7892 * UserInterface/Models/ScriptTimelineRecord.js:
7893 * UserInterface/Models/SourceMapResource.js:
7894 * UserInterface/Models/TimelineRecording.js:
7895 * UserInterface/Protocol/CSSObserver.js:
7896 * UserInterface/Protocol/ConsoleObserver.js:
7897 * UserInterface/Protocol/DOMObserver.js:
7898 * UserInterface/Protocol/DOMStorageObserver.js:
7899 * UserInterface/Protocol/DatabaseObserver.js:
7900 * UserInterface/Protocol/InspectorFrontendAPI.js:
7901 * UserInterface/Protocol/InspectorObserver.js:
7902 * UserInterface/Protocol/MainTarget.js:
7903 * UserInterface/Protocol/NetworkObserver.js:
7904 * UserInterface/Protocol/PageObserver.js:
7905 * UserInterface/Protocol/RemoteObject.js:
7906 * UserInterface/Protocol/RuntimeObserver.js:
7907 * UserInterface/Protocol/WorkerTarget.js:
7908 * UserInterface/Views/BoxModelDetailsSectionRow.js:
7909 * UserInterface/Views/CanvasOverviewContentView.js:
7910 * UserInterface/Views/CanvasTreeElement.js:
7911 * UserInterface/Views/ContentView.js:
7912 * UserInterface/Views/ContextMenuUtilities.js:
7913 * UserInterface/Views/CookieStorageContentView.js:
7914 * UserInterface/Views/DOMDetailsSidebarPanel.js:
7915 * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
7916 * UserInterface/Views/DOMNodeTreeElement.js:
7917 * UserInterface/Views/DOMTreeContentView.js:
7918 * UserInterface/Views/DOMTreeDataGrid.js:
7919 * UserInterface/Views/DOMTreeElement.js:
7920 * UserInterface/Views/DOMTreeElementPathComponent.js:
7921 * UserInterface/Views/DOMTreeOutline.js:
7922 * UserInterface/Views/DOMTreeUpdater.js:
7923 * UserInterface/Views/DebuggerSidebarPanel.js:
7924 * UserInterface/Views/ElementsTabContentView.js:
7925 * UserInterface/Views/EventBreakpointPopover.js:
7926 * UserInterface/Views/EventBreakpointTreeElement.js:
7927 * UserInterface/Views/EventListenerSectionGroup.js:
7928 * UserInterface/Views/FormattedValue.js:
7929 * UserInterface/Views/FrameTreeElement.js:
7930 * UserInterface/Views/GeneralStyleDetailsSidebarPanel.js:
7931 * UserInterface/Views/IndexedDatabaseObjectStoreContentView.js:
7932 * UserInterface/Views/LayerDetailsSidebarPanel.js:
7933 * UserInterface/Views/LayerTreeDataGridNode.js:
7934 * UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
7935 * UserInterface/Views/Layers3DContentView.js:
7936 * UserInterface/Views/LogContentView.js:
7937 * UserInterface/Views/NetworkTableContentView.js:
7938 * UserInterface/Views/ObjectTreeBaseTreeElement.js:
7939 * UserInterface/Views/ObjectTreeView.js:
7940 * UserInterface/Views/OpenResourceDialog.js:
7941 * UserInterface/Views/ResourceSidebarPanel.js:
7942 * UserInterface/Views/SearchSidebarPanel.js:
7943 * UserInterface/Views/SettingsTabContentView.js:
7944 * UserInterface/Views/SourceCodeTextEditor.js:
7945 * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
7946 * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:
7947 * UserInterface/Views/StorageSidebarPanel.js:
7948 * UserInterface/Views/StyleDetailsPanel.js:
7949 * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
7950 * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
7951
79522018-10-02 Devin Rousso <drousso@apple.com>
7953
drousso@apple.com0941a942018-10-02 08:00:37 +00007954 Web Inspector: Canvas: replace constant numbers with their associated name on WebGL contexts
7955 https://bugs.webkit.org/show_bug.cgi?id=190026
7956
7957 Reviewed by Joseph Pecoraro.
7958
7959 * UserInterface/Models/RecordingAction.js:
7960 (WI.RecordingAction.constantNameForParameter): Added.
7961 (WI.RecordingAction.prototype.getColorParameters):
7962 (WI.RecordingAction.prototype.getImageParameters):
7963 Drive-by: add additional swatches to color/image arguments for WebGL actions.
7964
7965 * UserInterface/Views/CanvasSidebarPanel.js:
7966 (WI.CanvasSidebarPanel.prototype._treeOutlineSelectionDidChange):
7967 Drive-by: ensure that the `WI.RecordingContentView` is showing before applying the action.
7968
7969 * UserInterface/Views/RecordingActionTreeElement.js:
7970 (WI.RecordingActionTreeElement._generateDOM.createParameterElement):
7971 (WI.RecordingActionTreeElement._generateDOM):
7972 * UserInterface/Views/RecordingActionTreeElement.css:
7973 (.item.action > .titles .parameter.constant): Added.
7974
commit-queue@webkit.org787386f2018-10-02 06:59:46 +000079752018-10-01 Joseph Pecoraro <pecoraro@apple.com>
7976
7977 Web Inspector: Fix a typo for execution context identifier
7978 https://bugs.webkit.org/show_bug.cgi?id=190185
7979
7980 Reviewed by Matt Baker.
7981
7982 * UserInterface/Protocol/MainTarget.js:
7983 (WI.MainTarget):
7984 * UserInterface/Protocol/WorkerTarget.js:
7985 (WI.WorkerTarget):
7986
drousso@apple.comc35243c2018-10-02 02:27:11 +000079872018-10-01 Devin Rousso <drousso@apple.com>
7988
7989 Web Inspector: remove analyzer manager
7990 https://bugs.webkit.org/show_bug.cgi?id=190162
7991
7992 Reviewed by Joseph Pecoraro.
7993
7994 * UserInterface/Main.html:
7995 * UserInterface/Base/Main.js:
7996 (WI.loaded):
7997
7998 * UserInterface/Controllers/AnalyzerManager.js: Removed.
7999 * UserInterface/Models/AnalyzerMessage.js: Removed.
8000
8001 * Scripts/copy-user-interface-resources.pl:
8002 * UserInterface/External/ESLint/LICENSE: Removed.
8003 * UserInterface/External/ESLint/eslint.js: Removed.
8004
nvasilyev@apple.com83f109a2018-10-02 01:31:37 +000080052018-10-01 Nikita Vasilyev <nvasilyev@apple.com>
8006
nvasilyev@apple.comba20b1c2018-10-02 01:37:43 +00008007 Web Inspector: Styles: add an experimental setting for multi-property selection
8008 https://bugs.webkit.org/show_bug.cgi?id=190053
8009 <rdar://problem/44842787>
8010
8011 Reviewed by Matt Baker.
8012
8013 This patch only adds a setting. It doesn't change property selection behavior.
8014
8015 * Localizations/en.lproj/localizedStrings.js:
8016 * UserInterface/Base/Setting.js:
8017 * UserInterface/Views/SettingsTabContentView.js:
8018 (WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
8019
80202018-10-01 Nikita Vasilyev <nvasilyev@apple.com>
8021
nvasilyev@apple.com83f109a2018-10-02 01:31:37 +00008022 Web Inspector: Dark Mode: use the same CSS variables for dark and light modes
8023 https://bugs.webkit.org/show_bug.cgi?id=189766
8024 <rdar://problem/44619650>
8025
8026 Use --text-color and --background-color CSS variables for both dark and light modes.
8027
8028 Reviewed by Matt Baker.
8029
8030 * UserInterface/Views/BreakpointPopoverController.css:
8031 (.popover .edit-breakpoint-popover-content > label.toggle):
8032 Color of the label matches the color of the popover, no need to specify it.
8033
8034 (.edit-breakpoint-popover-condition):
8035 (@media (prefers-dark-interface)):
8036 (.popover .edit-breakpoint-popover-content > table > tr > th):
8037 * UserInterface/Views/CompletionSuggestionsView.css:
8038 (.completion-suggestions-container > .item):
8039 (@media (prefers-dark-interface)):
8040 (.completion-suggestions):
8041 * UserInterface/Views/ComputedStyleDetailsPanel.css:
8042 (.details-section:matches(.computed-style-properties, .computed-style-box-model):not(.collapsed) > :matches(.header, .content)):
8043 (.computed-style-properties .property:hover .go-to-arrow):
8044 (@media (prefers-dark-interface)): Deleted.
8045 (.computed-style-properties.details-section): Deleted.
8046 (.details-section.style-box-model:not(.collapsed) > :matches(.header, .content)): Deleted.
8047 * UserInterface/Views/DOMTreeOutline.css:
8048 (.tree-outline.dom):
8049 (@media (prefers-dark-interface)):
8050 * UserInterface/Views/DataGrid.css:
8051 (.data-grid th):
8052 (body:not(.window-inactive, .window-docked-inactive) .data-grid:matches(:focus, .force-focus) tr.editable.selected .cell-content > input):
8053 (@media (prefers-dark-interface)):
8054 * UserInterface/Views/GeneralStyleDetailsSidebarPanel.css:
8055 (.sidebar > .panel.details.css-style > .content ~ .options-container > .toggle-class-toggle):
8056 (@media (prefers-dark-interface)):
8057 (.sidebar > .panel.details.css-style > .content ~ .options-container > .new-rule):
8058 * UserInterface/Views/InlineSwatch.css:
8059 (.inline-swatch):
8060 (.inline-swatch-variable-popover .CodeMirror pre):
8061 (@media (prefers-dark-interface)): Deleted.
8062 * UserInterface/Views/NetworkResourceDetailView.css:
8063 (.network-resource-detail):
8064 (.network .network-resource-detail .navigation-bar .item.radio.button.text-only.selected):
8065 (@media (prefers-dark-interface)):
8066 (.resource-headers .value): Deleted.
8067 Move this rule to ResourceHeadersContentView.css.
8068
8069 * UserInterface/Views/ObjectPreviewView.css:
8070 (.object-preview):
8071 (@media (prefers-dark-interface)):
8072 (.object-preview .name):
8073 * UserInterface/Views/ObjectTreeView.css:
8074 (.object-tree):
8075 (.object-tree-property :matches(.formatted-string, .formatted-regexp)):
8076 (@media (prefers-dark-interface)): Deleted.
8077 (.object-tree,): Deleted.
8078
8079 (.object-preview .name): Deleted.
8080 (.object-preview > .size): Deleted.
8081 Move these rules to ObjectPreviewView.css.
8082
8083 * UserInterface/Views/QuickConsole.css:
8084 (.quick-console):
8085 (@media (prefers-dark-interface)):
8086 * UserInterface/Views/ResourceHeadersContentView.css:
8087 (.resource-headers .value):
8088 (.resource-headers.showing-find-banner .search-highlight):
8089 (@media (prefers-dark-interface)): Deleted.
8090 * UserInterface/Views/ResourceTimingBreakdownView.css:
8091 (.resource-timing-breakdown > table > tr.header:not(.total-row) > td):
8092 (@media (prefers-dark-interface)):
8093 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
8094 (.spreadsheet-style-declaration-editor .property:not(.disabled) .value):
8095 (.spreadsheet-style-declaration-editor .property:matches(.invalid-name, .other-vendor, .overridden):not(.disabled) .content > *):
8096 (@media (prefers-dark-interface)):
8097 (.spreadsheet-style-declaration-editor .property.has-warning .warning):
8098 * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.css:
8099 (.spreadsheet-css-declaration .media-label):
8100 (.spreadsheet-css-declaration .selector:focus,):
8101 (@media (prefers-dark-interface)):
8102 (.spreadsheet-css-declaration .origin .go-to-link,):
8103 * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.css:
8104 (.sidebar > .panel.details.css-style > .content > .rules .section-header .node-link:hover):
8105 (@media (prefers-dark-interface)):
8106 (.sidebar > .panel.details.css-style > .content > .rules .section-header):
8107 * UserInterface/Views/SyntaxHighlightingDefaultTheme.css:
8108 (.cm-s-default,):
8109 (@media (prefers-dark-interface)):
8110 (.syntax-highlighted,): Deleted.
8111 * UserInterface/Views/Table.css:
8112 (.table):
8113 (.table > .header):
8114 * UserInterface/Views/TimelineOverview.css:
8115 (.timeline-overview > .navigation-bar.timelines):
8116 (@media (prefers-dark-interface)):
8117 * UserInterface/Views/TimelineRecordingContentView.css:
8118 (.content-view.timeline-recording > .content-browser > .navigation-bar > .item.scope-bar.default-item-selected > .multiple):
8119 (.content-view.timeline-recording > .content-browser > .navigation-bar > .item.scope-bar.default-item-selected > .multiple .arrows):
8120 (.content-view.timeline-recording > .content-browser .recording-progress > .status > .indeterminate-progress-spinner):
8121 (@media (prefers-dark-interface)): Deleted.
8122 * UserInterface/Views/Variables.css:
8123 (:root):
8124 (@media (prefers-dark-interface)):
8125 * UserInterface/Views/XHRBreakpointPopover.css:
8126 (.popover .xhr-breakpoint-content > .editor-wrapper > .editor):
8127 (@media (prefers-dark-interface)):
8128
aestes@apple.com7b544a82018-09-28 22:06:02 +000081292018-09-28 Andy Estes <aestes@apple.com>
8130
aestes@apple.com3e3bef42018-09-28 23:13:38 +00008131 REGRESSION (r236091): CSSKeywordCompletions.js has "checkout" instead of "check-out" as a value for -apple-pay-button-type
8132 https://bugs.webkit.org/show_bug.cgi?id=190096
8133
8134 Reviewed by Ryosuke Niwa.
8135
8136 I changed "checkout" to "check-out" in r235754, but it somehow got flipped back to "checkout" in r236091.
8137
8138 * UserInterface/Models/CSSKeywordCompletions.js:
8139
81402018-09-28 Andy Estes <aestes@apple.com>
8141
aestes@apple.com7b544a82018-09-28 22:06:02 +00008142 [Apple Pay] Remove the "in-store" button type
8143 https://bugs.webkit.org/show_bug.cgi?id=190079
8144
8145 Reviewed by Tim Horton.
8146
8147 * UserInterface/Models/CSSKeywordCompletions.js:
8148
drousso@apple.come3dfef52018-09-28 08:04:10 +000081492018-09-28 Devin Rousso <drousso@apple.com>
8150
8151 Web Inspector: image resources without content are still shown when the Images folder is selected
8152 https://bugs.webkit.org/show_bug.cgi?id=190072
8153
8154 Reviewed by Matt Baker.
8155
8156 * UserInterface/Views/ResourceContentView.js:
8157 (WI.ResourceContentView.prototype.showGenericNoContentMessage):
8158 Treat paths that result in a "Resource has no content" message as a "content error".
8159
drousso@apple.come74f81c2018-09-27 06:09:48 +000081602018-09-26 Devin Rousso <drousso@apple.com>
8161
drousso@apple.com035a11b2018-09-27 06:24:39 +00008162 Web Inspector: Hide DOM and XHR breakpoint sections when they are empty
8163 https://bugs.webkit.org/show_bug.cgi?id=182406
8164 <rdar://problem/37131512>
8165
8166 Reviewed by Joseph Pecoraro.
8167
8168 Combine all breakpoint sections (e.g. DOM, XHR, and Event) into the main "Breakpoints"
8169 section, including all the various "+" buttons for creating different types of breakpoints.
8170
8171 Global breakpoints (except "All Exceptions" and "Uncaught Exceptions") are now deletable,
8172 and can be re-added via the "+" button of the "Breakpoints" section. Deletable global
8173 breakpoints (e.g. "Assertion Failures" and "All Requests") are able to remain visible while
8174 disabled, and will only be hidden when the user specifically deletes them.
8175
8176 * Localizations/en.lproj/localizedStrings.js:
8177 * UserInterface/Base/Setting.js:
8178 * UserInterface/Main.html:
8179
8180 * UserInterface/Controllers/DOMBreakpointTreeController.js: Removed.
8181 * UserInterface/Controllers/EventBreakpointTreeController.js: Removed.
8182 * UserInterface/Controllers/XHRBreakpointTreeController.js: Removed.
8183
8184 * UserInterface/Controllers/DebuggerManager.js:
8185 (WI.DebuggerManager.prototype.get uncaughtExceptionsBreakpoint): Added.
8186 (WI.DebuggerManager.prototype.get assertionFailuresBreakpoint): Added.
8187 (WI.DebuggerManager.prototype.isBreakpointRemovable):
8188 (WI.DebuggerManager.prototype.isBreakpointSpecial): Added.
8189 (WI.DebuggerManager.prototype.isBreakpointEditable):
8190 (WI.DebuggerManager.prototype.addBreakpoint):
8191 (WI.DebuggerManager.prototype.removeBreakpoint):
8192 (WI.DebuggerManager.prototype.initializeTarget):
8193 (WI.DebuggerManager.prototype._breakpointDisabledStateDidChange):
8194 (WI.DebuggerManager.prototype._updateBreakOnExceptionsState):
8195 (WI.DebuggerManager.prototype.get allUncaughtExceptionsBreakpoint): Deleted.
8196 (WI.DebuggerManager.prototype.get assertionsBreakpoint): Deleted.
8197 * UserInterface/Controllers/DOMDebuggerManager.js:
8198 (WI.DOMDebuggerManager.prototype.isBreakpointSpecial): Added.
8199 (WI.DOMDebuggerManager.prototype.addDOMBreakpoint):
8200 (WI.DOMDebuggerManager.prototype.removeDOMBreakpoint):
8201 (WI.DOMDebuggerManager.prototype.addEventBreakpoint):
8202 (WI.DOMDebuggerManager.prototype.removeEventBreakpoint):
8203 (WI.DOMDebuggerManager.prototype.addXHRBreakpoint):
8204 (WI.DOMDebuggerManager.prototype.removeXHRBreakpoint):
8205 (WI.DOMDebuggerManager.prototype.isBreakpointRemovable): Deleted.
8206 Always fire add/remove events, including for special breakpoints, so that any listeners will
8207 be able to adjust accordingly. Even though special breakpoints don't get stored in the lists
8208 held by each manager, we are still able to enable/disable them, and that should be reported.
8209
8210 * UserInterface/Views/DebuggerSidebarPanel.js:
8211 (WI.DebuggerSidebarPanel):
8212 (WI.DebuggerSidebarPanel.prototype.closed):
8213 (WI.DebuggerSidebarPanel.prototype.saveStateToCookie):
8214 (WI.DebuggerSidebarPanel.prototype.restoreStateFromCookie.revealAndSelect):
8215 (WI.DebuggerSidebarPanel.prototype.restoreStateFromCookie):
8216 (WI.DebuggerSidebarPanel.prototype.willDismissPopover):
8217 (WI.DebuggerSidebarPanel.prototype._addBreakpoint):
8218 (WI.DebuggerSidebarPanel.prototype._removeBreakpoint): Added.
8219 (WI.DebuggerSidebarPanel.prototype._addTreeElementForSourceCodeToTreeOutline):
8220 (WI.DebuggerSidebarPanel.prototype._mainResourceDidChange):
8221 (WI.DebuggerSidebarPanel.prototype._breakpointRemoved):
8222 (WI.DebuggerSidebarPanel.prototype._removeDebuggerTreeElement):
8223 (WI.DebuggerSidebarPanel.prototype._treeSelectionDidChange):
8224 (WI.DebuggerSidebarPanel.prototype._addTreeElement.comparator): Added.
8225 (WI.DebuggerSidebarPanel.prototype._addTreeElement): Added.
8226 (WI.DebuggerSidebarPanel.prototype._updatePauseReasonSection):
8227 (WI.DebuggerSidebarPanel.prototype._domBreakpointResolvedStateDidChange): Added.
8228 (WI.DebuggerSidebarPanel.prototype._handleBreakpointElementAddedOrRemoved): Added.
8229 (WI.DebuggerSidebarPanel.prototype._handleCreateBreakpointClicked): Added.
8230 (WI.DebuggerSidebarPanel.prototype._compareTopLevelTreeElements.isSpecialBreakpoint): Deleted.
8231 (WI.DebuggerSidebarPanel.prototype._compareTopLevelTreeElements): Deleted.
8232 (WI.DebuggerSidebarPanel.prototype._domBreakpointAddedOrRemoved): Deleted.
8233 (WI.DebuggerSidebarPanel.prototype._eventBreakpointAddedOrRemoved): Deleted.
8234 (WI.DebuggerSidebarPanel.prototype._addEventBreakpointButtonClicked): Deleted.
8235 (WI.DebuggerSidebarPanel.prototype._addXHRBreakpointButtonClicked): Deleted.
8236 * UserInterface/Views/DebuggerSidebarPanel.css:
8237 (.sidebar > .panel.navigation.debugger .details-section.dom-breakpoints .item.dom-node .titles): Deleted.
8238 (.sidebar > .panel.navigation.debugger .details-section.dom-breakpoints .item.dom-node .icon): Deleted.
8239 (.sidebar > .panel.navigation.debugger .details-section.dom-breakpoints .item.dom-node:not(:hover, .selected) .status .go-to-arrow): Deleted.
8240 (.sidebar > .panel.navigation.debugger .details-section.xhr-breakpoints .item.breakpoint .subtitle): Deleted.
8241 Unify the logic for adding/removing breakpoints of all types.
8242
8243 * UserInterface/Views/BreakpointTreeElement.js:
8244 (WI.BreakpointTreeElement):
8245 (WI.BreakpointTreeElement.prototype.ondelete):
8246 * UserInterface/Views/DOMBreakpointTreeElement.js:
8247 (WI.DOMBreakpointTreeElement):
8248 (WI.DOMBreakpointTreeElement.prototype.ondelete):
8249 * UserInterface/Views/DOMNodeTreeElement.js:
8250 (WI.DOMNodeTreeElement):
8251 (WI.DOMNodeTreeElement.prototype.ondelete):
8252 (WI.DOMNodeTreeElement.prototype.populateContextMenu):
8253 * UserInterface/Views/EventBreakpointTreeElement.js:
8254 (WI.EventBreakpointTreeElement):
8255 (WI.EventBreakpointTreeElement.prototype.ondelete):
8256 (WI.EventBreakpointTreeElement.prototype.populateContextMenu):
8257 * UserInterface/Views/XHRBreakpointTreeElement.js:
8258 (WI.XHRBreakpointTreeElement):
8259 (WI.XHRBreakpointTreeElement.prototype.ondelete):
8260 (WI.XHRBreakpointTreeElement.prototype.populateContextMenu):
8261 * UserInterface/Views/XHRBreakpointTreeElement.css: Added.
8262 (.breakpoint.xhr .subtitle):
8263 Add/remove checks for whether the associated breakpoint can be deleted.
8264
8265 * UserInterface/Views/DOMNodeTreeElement.css: Added.
8266 (.tree-outline .item.dom-node .titles):
8267 (.tree-outline .item.dom-node .icon):
8268 (.tree-outline .item.dom-node:not(:hover, .selected) .status .go-to-arrow):
8269
8270 * UserInterface/Views/ContextMenuUtilities.js:
8271 (WI.appendContextMenuItemsForDOMNode):
8272 (WI.appendContextMenuItemsForDOMNodeBreakpoints): Added.
8273 * UserInterface/Views/DOMTreeElement.js:
8274 (WI.DOMTreeElement.prototype._statusImageContextmenu):
8275
8276 * UserInterface/Views/XHRBreakpointPopover.js:
8277 (WI.XHRBreakpointPopover):
8278 (WI.XHRBreakpointPopover.prototype.get breakpoint): Added.
8279 (WI.XHRBreakpointPopover.prototype.show):
8280 (WI.XHRBreakpointPopover.prototype.dismiss): Added.
8281 (WI.XHRBreakpointPopover.prototype._createEditor):
8282 (WI.XHRBreakpointPopover.prototype._updateEditor):
8283 (WI.XHRBreakpointPopover.prototype.get result): Deleted.
8284 (WI.XHRBreakpointPopover.prototype.get type): Deleted.
8285 (WI.XHRBreakpointPopover.prototype.get value): Deleted.
8286 Drive-by: remove the erroneous usage of `WI.InputPopover.Result`.
8287
82882018-09-26 Devin Rousso <drousso@apple.com>
8289
drousso@apple.come74f81c2018-09-27 06:09:48 +00008290 Web Inspector: determine hasVisibleEffect for each RecordingAction as it's processed
8291 https://bugs.webkit.org/show_bug.cgi?id=189860
8292
8293 Reviewed by Joseph Pecoraro.
8294
8295 * Localizations/en.lproj/localizedStrings.js:
8296 * UserInterface/Base/Setting.js:
8297 * UserInterface/Base/Utilities.js:
8298
8299 * UserInterface/Models/RecordingAction.js:
8300 (WI.RecordingAction.prototype.process.getContent):
8301 (WI.RecordingAction.prototype.process):
8302
8303 * UserInterface/Views/RecordingActionTreeElement.js:
8304 (WI.RecordingActionTreeElement.prototype.onattach):
8305
8306 * UserInterface/Views/SettingsTabContentView.js:
8307 (WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
8308
8309 * UserInterface/Views/RecordingContentView.js:
8310 (WI.RecordingContentView.prototype._updateImageGrid):
8311 Drive-by: don't attempt to show the image grid if we haven't called initialized yet.
8312
8313 * UserInterface/Views/CanvasSidebarPanel.js:
8314 (WI.CanvasSidebarPanel.prototype._treeOutlineSelectionDidChange):
8315 Drive-by: ensure that the `WI.RecordingContentView` is showing before applying the action.
8316
nvasilyev@apple.com3f004852018-09-26 23:23:53 +000083172018-09-26 Nikita Vasilyev <nvasilyev@apple.com>
8318
8319 Web Inspector: Dark Mode: new watch expression popover has light background
8320 https://bugs.webkit.org/show_bug.cgi?id=190013
8321 <rdar://problem/44810000>
8322
8323 Reviewed by Matt Baker.
8324
8325 Make the background dark to match the CodeMirror editor background.
8326
8327 * UserInterface/Views/ScopeChainDetailsSidebarPanel.css:
8328 (@media (prefers-dark-interface)):
8329 (.watch-expression-editor):
8330
nvasilyev@apple.coma9170722018-09-21 21:04:56 +000083312018-09-21 Nikita Vasilyev <nvasilyev@apple.com>
8332
8333 REGRESSION(r236237): Web Inspector: DarkMode: white background in Elements and Timelines
8334 https://bugs.webkit.org/show_bug.cgi?id=189852
8335
8336 Reviewed by Joseph Pecoraro.
8337
8338 * UserInterface/Views/Main.css:
8339 (body):
8340 (#main):
8341
bburg@apple.comd26b1ff2018-09-21 20:32:09 +000083422018-09-21 Brian Burg <bburg@apple.com>
8343
8344 Web Inspector: remove unnecessary WI.Platform.version checks
8345 https://bugs.webkit.org/show_bug.cgi?id=189845
8346
8347 Reviewed by Matt Baker.
8348
8349 * UserInterface/Base/Platform.js:
8350 (osVersionMatch): Add name for macOS Mojave.
8351
8352 * UserInterface/Base/Main.js:
8353 * UserInterface/Views/Popover.js:
8354 Remove old logic that's no longer needed.
8355
drousso@apple.com1084e452018-09-21 18:56:00 +000083562018-09-21 Devin Rousso <drousso@apple.com>
8357
8358 Web Inspector: remove setting for Sources tab
8359 https://bugs.webkit.org/show_bug.cgi?id=189817
8360
8361 Reviewed by Joseph Pecoraro.
8362
8363 * Localizations/en.lproj/localizedStrings.js:
8364 * UserInterface/Base/Setting.js:
8365 * UserInterface/Main.html:
8366 * UserInterface/Base/Main.js:
8367 (WI.contentLoaded):
8368 (WI._debuggerDidPause):
8369 (WI.isShowingSourcesTab): Removed.
8370 (WI.showSourcesTab): Removed.
8371
8372 * UserInterface/Views/SourcesSidebarPanel.css: Removed.
8373 * UserInterface/Views/SourcesSidebarPanel.js: Removed.
8374 * UserInterface/Views/SourcesTabContentView.js: Removed.
8375
8376 * UserInterface/Views/ContextMenuUtilities.js:
8377 (WI.appendContextMenuItemsForURL):
8378
8379 * UserInterface/Views/SettingsTabContentView.js:
8380 (WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
8381
8382 * UserInterface/Views/SourceCodeTextEditor.js:
8383 (WI.SourceCodeTextEditor.prototype.textEditorGutterContextMenu):
8384
simon.fraser@apple.com223f6f82018-09-21 18:42:25 +000083852018-09-20 Simon Fraser <simon.fraser@apple.com>
8386
8387 Make "overflow: overlay" a synonym for "overflow: auto"
8388 https://bugs.webkit.org/show_bug.cgi?id=189811
8389
8390 Reviewed by Zalan Bujtas.
8391
8392 Remove "overlay" from the overflow values.
8393
8394 * UserInterface/Models/CSSKeywordCompletions.js:
8395 * UserInterface/Views/VisualStyleDetailsPanel.js:
8396 (WI.VisualStyleDetailsPanel.prototype._populateDisplaySection):
8397
drousso@apple.com9baf2de2018-09-21 18:30:10 +000083982018-09-21 Devin Rousso <drousso@apple.com>
8399
drousso@apple.comb66a41d2018-09-21 18:33:29 +00008400 Web Inspector: hide Accessibility Audit Tab setting
8401 https://bugs.webkit.org/show_bug.cgi?id=189816
8402
8403 Reviewed by Joseph Pecoraro.
8404
8405 Considering that this tab doesn't exist, there's no reason to have a setting/UI for it.
8406
8407 * UserInterface/Base/Setting.js:
8408 * UserInterface/Views/SettingsTabContentView.js:
8409 (WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
8410
84112018-09-21 Devin Rousso <drousso@apple.com>
8412
drousso@apple.com9baf2de2018-09-21 18:30:10 +00008413 Web Inspector: remove Legacy Style Editor
8414 https://bugs.webkit.org/show_bug.cgi?id=189808
8415
8416 Reviewed by Joseph Pecoraro.
8417
8418 The Legacy Style Editor has been hidden behind an "experimental" setting for almost a year.
8419 It's time that we remove it, especially since the new Style Editor is at a similar, if not
8420 more advanced, state.
8421
8422 * .eslintrc:
8423 * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
8424 * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
8425 * Localizations/en.lproj/localizedStrings.js:
8426 * Tools/PrettyPrinting/index.html:
8427 * UserInterface/Main.html:
8428 * UserInterface/Test.html:
8429 * UserInterface/Base/Setting.js:
8430
8431 * UserInterface/Base/TextUtilities.js: Removed.
8432 * UserInterface/Base/Utilities.js:
8433
8434 * UserInterface/Views/RulesStyleDetailsPanel.css: Removed.
8435 * UserInterface/Views/RulesStyleDetailsPanel.js: Removed.
8436 * UserInterface/Views/CSSStyleDeclarationSection.css: Removed.
8437 * UserInterface/Views/CSSStyleDeclarationSection.js: Removed.
8438 * UserInterface/Views/CSSStyleDeclarationTextEditor.css: Removed.
8439 * UserInterface/Views/CSSStyleDeclarationTextEditor.js: Removed.
8440
8441 * UserInterface/Models/CSSProperty.js:
8442 (WI.CSSProperty.prototype.get text):
8443 (WI.CSSProperty.prototype.get synthesizedText): Deleted.
8444
8445 * UserInterface/Models/CSSStyleDeclaration.js:
8446 (WI.CSSStyleDeclaration):
8447 (WI.CSSStyleDeclaration.prototype.set text):
8448 (WI.CSSStyleDeclaration.prototype.resetText): Deleted.
8449 (WI.CSSStyleDeclaration.prototype.get modified): Deleted.
8450 (WI.CSSStyleDeclaration.prototype.generateCSSRuleString): Deleted.
8451 (WI.CSSStyleDeclaration.prototype.isInspectorRule): Deleted.
8452
8453 * UserInterface/Models/CSSSelector.js:
8454 (WI.CSSSelector.prototype.isGreaterThan): Deleted.
8455
8456 * UserInterface/Models/CSSRule.js:
8457 (WI.CSSRule.prototype.update):
8458 (WI.CSSRule.prototype.get matchedSelectors): Deleted.
8459 (WI.CSSRule.prototype.get matchedSelectorText): Deleted.
8460 (WI.CSSRule.prototype.hasMatchedPseudoElementSelector): Deleted.
8461 (WI.CSSRule.prototype.get mediaText): Deleted.
8462 (WI.CSSRule.prototype.get mostSpecificSelector): Deleted.
8463 (WI.CSSRule.prototype.selectorIsGreater): Deleted.
8464 (WI.CSSRule.prototype._determineMostSpecificSelector): Deleted.
8465
8466 * UserInterface/Models/DOMNodeStyles.js:
8467 (WI.DOMNodeStyles.prototype.changeRule.changeCompleted): Deleted.
8468 (WI.DOMNodeStyles.prototype.changeRule.styleChanged): Deleted.
8469 (WI.DOMNodeStyles.prototype.changeRule.changeText): Deleted.
8470 (WI.DOMNodeStyles.prototype.changeRule.ruleSelectorChanged): Deleted.
8471 (WI.DOMNodeStyles.prototype.changeRule): Deleted.
8472
8473 * UserInterface/Models/CSSCompletions.js:
8474 (WI.CSSCompletions.prototype.isValidPropertyName):
8475 (WI.CSSCompletions):
8476 (WI.CSSCompletions.prototype.keySet): Deleted.
8477 (WI.CSSCompletions.prototype.propertyRequiresWebkitPrefix): Deleted.
8478 (WI.CSSCompletions.prototype.getClosestPropertyName): Deleted.
8479
8480 * UserInterface/Views/ComputedStyleDetailsPanel.js:
8481 (WI.ComputedStyleDetailsPanel.prototype.cssStyleDeclarationTextEditorStartEditingAdjacentRule): Deleted.
8482
8483 * UserInterface/Views/RulesStyleDetailsSidebarPanel.js:
8484 (WI.RulesStyleDetailsSidebarPanel):
8485
8486 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
8487 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyFocusMoved):
8488
8489 * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
8490 (WI.SpreadsheetCSSStyleDeclarationSection.prototype.spreadsheetCSSStyleDeclarationEditorStartEditingRuleSelector): Added.
8491 (WI.SpreadsheetCSSStyleDeclarationSection.prototype.cssStyleDeclarationTextEditorStartEditingRuleSelector): Deleted.
8492
8493 * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:
8494 (WI.SpreadsheetRulesStyleDetailsPanel):
8495 * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.css:
8496 (.sidebar > .panel.details.css-style .rules): Added.
8497 (.sidebar > .panel.details.css-style > .content > .rules .section-header): Added.
8498 (.sidebar > .panel.details.css-style > .content > .rules .section-header .node-link): Added.
8499 (.sidebar > .panel.details.css-style > .content > .rules .section-header .node-link:hover): Added.
8500 (.sidebar > .panel.details.css-style > .content > .rules > .message-text-view): Added.
8501 (.sidebar > .panel.details.css-style > .content > .rules:not(.filter-non-matching) > .message-text-view): Added.
8502 (@media (prefers-dark-interface)):
8503 (.sidebar > .panel.details.css-style > .content > .rules .section-header): Added.
8504 (.sidebar > .panel.details.css-style > .content > .rules .section-header .node-link:hover): Added.
8505 (.spreadsheet-style-panel .section-header): Deleted.
8506 (.spreadsheet-style-panel .section-header .node-link): Deleted.
8507 (.spreadsheet-style-panel .section-header .node-link:hover): Deleted.
8508 (.spreadsheet-style-panel .section-header): Deleted.
8509 (.spreadsheet-style-panel .section-header .node-link:hover): Deleted.
8510
8511 * UserInterface/Views/CodeMirrorAdditions.js:
8512 (extendedCSSRuleStartState): Removed.
8513 * UserInterface/Views/CodeMirrorFormatters.js:
8514 Remove "css-rule" CodeMirror mode.
8515
8516 * UserInterface/Views/CodeMirrorTextMarkers.js:
8517 (createCodeMirrorVariableTextMarkers): Deleted.
8518
8519 * UserInterface/Views/SettingsTabContentView.js:
8520 (WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
8521
commit-queue@webkit.org4f3ea9b2018-09-21 16:20:05 +000085222018-09-21 Mike Gorse <mgorse@suse.com>
8523
8524 Build tools should work when the /usr/bin/python is python3
8525 https://bugs.webkit.org/show_bug.cgi?id=156674
8526
8527 Reviewed by Michael Catanzaro.
8528
8529 * Scripts/copy-user-interface-resources.pl: Use $PYTHON if set
8530 in the environment.
8531
drousso@apple.com560dda42018-09-21 02:02:14 +000085322018-09-20 Devin Rousso <drousso@apple.com>
8533
drousso@apple.com9ff9def2018-09-21 02:04:57 +00008534 Web Inspector: remove Visual Style CSS details sidebar panel
8535 https://bugs.webkit.org/show_bug.cgi?id=189807
8536
8537 Reviewed by Joseph Pecoraro.
8538
8539 The Visual Style CSS details sidebar panel has been hidden behind an "experimental" setting
8540 for almost a year. It's time that we remove it.
8541
8542 * Localizations/en.lproj/localizedStrings.js:
8543 * UserInterface/Base/Setting.js:
8544 * UserInterface/Main.html:
8545
8546 * UserInterface/Views/ElementsTabContentView.js:
8547 (WI.ElementsTabContentView):
8548 * UserInterface/Views/SettingsTabContentView.js:
8549 (WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
8550
8551 * UserInterface/Images/AnimationPlayStatePaused.svg: Removed.
8552 * UserInterface/Images/AnimationPlayStateRunning.svg: Removed.
8553 * UserInterface/Images/ClearBoth.svg: Removed.
8554 * UserInterface/Images/ClearLeft.svg: Removed.
8555 * UserInterface/Images/ClearRight.svg: Removed.
8556 * UserInterface/Images/FloatLeft.svg: Removed.
8557 * UserInterface/Images/FloatRight.svg: Removed.
8558 * UserInterface/Images/FontStyleItalic.svg: Removed.
8559 * UserInterface/Images/FontStyleNormal.svg: Removed.
8560 * UserInterface/Images/ListStylePositionInside.svg: Removed.
8561 * UserInterface/Images/ListStylePositionOutside.svg: Removed.
8562 * UserInterface/Images/TextAlignCenter.svg: Removed.
8563 * UserInterface/Images/TextAlignJustify.svg: Removed.
8564 * UserInterface/Images/TextAlignLeft.svg: Removed.
8565 * UserInterface/Images/TextAlignRight.svg: Removed.
8566 * UserInterface/Images/TextDecorationLineThrough.svg: Removed.
8567 * UserInterface/Images/TextDecorationOverline.svg: Removed.
8568 * UserInterface/Images/TextDecorationUnderline.svg: Removed.
8569 * UserInterface/Images/TextTransformCapitalize.svg: Removed.
8570 * UserInterface/Images/TextTransformLowercase.svg: Removed.
8571 * UserInterface/Images/TextTransformUppercase.svg: Removed.
8572 * UserInterface/Images/VisualStyleNone.svg: Removed.
8573 * UserInterface/Images/VisualStylePropertyLinked.svg: Removed.
8574 * UserInterface/Images/VisualStylePropertyUnlinked.svg: Removed.
8575
8576 * UserInterface/Views/VisualStyleBackgroundPicker.css: Removed.
8577 * UserInterface/Views/VisualStyleBackgroundPicker.js: Removed.
8578 * UserInterface/Views/VisualStyleBasicInput.js: Removed.
8579 * UserInterface/Views/VisualStyleColorPicker.css: Removed.
8580 * UserInterface/Views/VisualStyleColorPicker.js: Removed.
8581 * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.css: Removed.
8582 * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.js: Removed.
8583 * UserInterface/Views/VisualStyleDetailsPanel.css: Removed.
8584 * UserInterface/Views/VisualStyleDetailsPanel.js: Removed.
8585 * UserInterface/Views/VisualStyleDetailsSidebarPanel.js: Removed.
8586 * UserInterface/Views/VisualStyleFontFamilyListEditor.js: Removed.
8587 * UserInterface/Views/VisualStyleFontFamilyTreeElement.js: Removed.
8588 * UserInterface/Views/VisualStyleKeywordCheckbox.css: Removed.
8589 * UserInterface/Views/VisualStyleKeywordCheckbox.js: Removed.
8590 * UserInterface/Views/VisualStyleKeywordIconList.css: Removed.
8591 * UserInterface/Views/VisualStyleKeywordIconList.js: Removed.
8592 * UserInterface/Views/VisualStyleKeywordPicker.js: Removed.
8593 * UserInterface/Views/VisualStyleNumberInputBox.css: Removed.
8594 * UserInterface/Views/VisualStyleNumberInputBox.js: Removed.
8595 * UserInterface/Views/VisualStylePropertyCombiner.js: Removed.
8596 * UserInterface/Views/VisualStylePropertyEditor.css: Removed.
8597 * UserInterface/Views/VisualStylePropertyEditor.js: Removed.
8598 * UserInterface/Views/VisualStylePropertyEditorLink.css: Removed.
8599 * UserInterface/Views/VisualStylePropertyEditorLink.js: Removed.
8600 * UserInterface/Views/VisualStylePropertyNameInput.js: Removed.
8601 * UserInterface/Views/VisualStyleRelativeNumberSlider.css: Removed.
8602 * UserInterface/Views/VisualStyleRelativeNumberSlider.js: Removed.
8603 * UserInterface/Views/VisualStyleSelectorSection.css: Removed.
8604 * UserInterface/Views/VisualStyleSelectorSection.js: Removed.
8605 * UserInterface/Views/VisualStyleSelectorTreeItem.css: Removed.
8606 * UserInterface/Views/VisualStyleSelectorTreeItem.js: Removed.
8607 * UserInterface/Views/VisualStyleTabbedPropertiesRow.css: Removed.
8608 * UserInterface/Views/VisualStyleTabbedPropertiesRow.js: Removed.
8609 * UserInterface/Views/VisualStyleTimingEditor.css: Removed.
8610 * UserInterface/Views/VisualStyleTimingEditor.js: Removed.
8611 * UserInterface/Views/VisualStyleURLInput.js: Removed.
8612 * UserInterface/Views/VisualStyleUnitSlider.css: Removed.
8613 * UserInterface/Views/VisualStyleUnitSlider.js: Removed.
8614
8615 * UserInterface/Controllers/VisualStyleCompletionsController.js: Removed.
8616
86172018-09-20 Devin Rousso <drousso@apple.com>
8618
drousso@apple.com560dda42018-09-21 02:02:14 +00008619 Web Inspector: Styles Redesign: rework Computed panel to use Spreadsheet classes
8620 https://bugs.webkit.org/show_bug.cgi?id=183627
8621
8622 Reviewed by Joseph Pecoraro.
8623
8624 * UserInterface/Views/ComputedStyleDetailsPanel.js:
8625 (WI.ComputedStyleDetailsPanel):
8626 (WI.ComputedStyleDetailsPanel.prototype.refresh):
8627 (WI.ComputedStyleDetailsPanel.prototype.applyFilter):
8628 (WI.ComputedStyleDetailsPanel.prototype.spreadsheetCSSStyleDeclarationEditorShowProperty):
8629 (WI.ComputedStyleDetailsPanel.prototype.initialLayout):
8630 (WI.ComputedStyleDetailsPanel.prototype.filterDidChange):
8631 (WI.ComputedStyleDetailsPanel.prototype._computedStyleShowAllCheckboxValueChanged):
8632 (WI.ComputedStyleDetailsPanel.prototype._handlePropertiesSectionCollapsedStateChanged):
8633 (WI.ComputedStyleDetailsPanel.prototype._handleVariablesSectionCollapsedStateChanged):
8634 (WI.ComputedStyleDetailsPanel.prototype._handleEditorFilterApplied):
8635 (WI.ComputedStyleDetailsPanel.prototype.cssStyleDeclarationTextEditorShowProperty.delegateShowProperty): Deleted.
8636 (WI.ComputedStyleDetailsPanel.prototype.cssStyleDeclarationTextEditorShowProperty): Deleted.
8637 Replace CSSStyleDeclarationTextEditor with SpreadsheetCSSStyleDeclarationEditor.
8638
8639 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
8640 (WI.SpreadsheetCSSStyleDeclarationEditor):
8641 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.initialLayout):
8642 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.layout):
8643 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.set showsImplicitProperties):
8644 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.set alwaysShowPropertyNames):
8645 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.set propertyVisibilityMode):
8646 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.set hideFilterNonMatchingProperties):
8647 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.set sortPropertiesByName): Added.
8648 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.get propertiesToRender):
8649 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.highlightProperty):
8650 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.applyFilter):
8651 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyShowProperty):
8652 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._updateStyleLock):
8653 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.get _propertiesToRender): Deleted.
8654 Create setters for the "special" functionality required by the Computed panel and tie them
8655 into the logic that determines what properties are rendered.
8656
8657 * UserInterface/Views/SpreadsheetStyleProperty.js:
8658 (WI.SpreadsheetStyleProperty.prototype._update):
8659 Create go-to arrow if the property has a shorthand version or a source code location.
8660
8661 * UserInterface/Views/GeneralStyleDetailsSidebarPanel.js:
8662 (WI.GeneralStyleDetailsSidebarPanel.prototype.initialLayout):
8663 Don't reapply the filter after refreshing, as the current panel will handle applying it.
8664
8665 * UserInterface/Views/ComputedStyleDetailsPanel.css:
8666 (.details-section:matches(.computed-style-properties, .computed-style-box-model):not(.collapsed) > :matches(.header, .content)):
8667 (.computed-style-properties .property .go-to-arrow):
8668 (.computed-style-properties .property:hover .go-to-arrow):
8669 (.computed-style-properties.details-section): Deleted.
8670 (.details-section > .content > .group > .row .CodeMirror-code pre .go-to-arrow): Deleted.
8671 (.details-section > .content > .group > .row .CodeMirror-code pre:hover .go-to-arrow): Deleted.
8672 (.details-section.style-box-model:not(.collapsed) > :matches(.header, .content)): Deleted.
8673 * UserInterface/Views/DetailsSection.css:
8674 (.details-section.computed-style-properties:not(.collapsed) > .header): Deleted.
8675 Consolidate Computed panel styles to it's respective CSS file.
8676
8677 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
8678 (.spreadsheet-style-declaration-editor):
8679 (.spreadsheet-style-declaration-editor .property:matches(.implicit, .not-inherited) .content > *):
8680 (.spreadsheet-style-declaration-editor .property.not-inherited .content > *): Deleted.
8681 * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.css:
8682 (.spreadsheet-css-declaration):
8683 * UserInterface/Views/Variables.css:
8684 (:root):
8685 Move `css-declaration` padding variables so they can be used by SpreadsheetCSSStyleDeclarationEditor
8686 without a parent SpreadsheetCSSStyleDeclarationSection.
8687
8688 * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.css:
8689 (.style-spreadsheet .style-rule): Deleted.
8690 (.style-spreadsheet .selector-line): Deleted.
8691 (.style-spreadsheet .selector): Deleted.
8692 (.style-spreadsheet :matches(.selector .matched, .selector:focus)): Deleted.
8693 (.style-spreadsheet .name): Deleted.
8694 (.style-spreadsheet .value): Deleted.
8695 (.style-spreadsheet :matches(.selector, .name, .value)): Deleted.
8696 (.style-spreadsheet :matches(.selector, .name, .value):focus): Deleted.
8697 (.style-spreadsheet .selector-inline): Deleted.
8698 (.style-spreadsheet .property): Deleted.
8699 (.style-spreadsheet .property-disabled,): Deleted.
8700 (.style-spreadsheet .property-disabled :matches(.name, .value)): Deleted.
8701 (.style-spreadsheet .styles-source): Deleted.
8702 (.style-spreadsheet :matches(a, .node-link)): Deleted.
8703 (.style-spreadsheet :matches(a, .node-link):hover): Deleted.
8704 (.style-spreadsheet .declarations): Deleted.
8705 (.style-spreadsheet input[type="checkbox"]): Deleted.
8706 (.style-spreadsheet input[type="checkbox"]:not(:checked)): Deleted.
8707 (.style-spreadsheet .declarations:hover input[type="checkbox"]): Deleted.
8708 Drive-by fix: remove styles that don't apply to anything.
8709
nvasilyev@apple.com19f4ba22018-09-20 02:31:42 +000087102018-09-19 Nikita Vasilyev <nvasilyev@apple.com>
8711
8712 Web Inspector: move DarkMode.css rules into appropriate CSS files
8713 https://bugs.webkit.org/show_bug.cgi?id=189673
8714
8715 Reviewed by Matt Baker.
8716
8717 * UserInterface/Main.html:
8718 * UserInterface/Views/BezierEditor.css:
8719 (@media (prefers-dark-interface)):
8720 (.bezier-editor > .bezier-preview-timing):
8721 (.bezier-editor > .bezier-container .bezier-curve):
8722 (.bezier-editor > .bezier-container .linear-curve):
8723 (.bezier-editor > .bezier-preview):
8724 (.bezier-editor > .bezier-preview > div):
8725 (.bezier-editor > .bezier-container .control-handle):
8726 (.bezier-editor > .bezier-container .control-line):
8727 * UserInterface/Views/BreakpointActionView.css:
8728 (@media (prefers-dark-interface)):
8729 (.breakpoint-action-block-body):
8730 (.breakpoint-action-block-body > .description):
8731 (.breakpoint-action-append-button,):
8732 (.breakpoint-action-eval-editor):
8733 * UserInterface/Views/BreakpointPopoverController.css:
8734 (@media (prefers-dark-interface)):
8735 (.popover .edit-breakpoint-popover-content > label.toggle):
8736 (.popover .edit-breakpoint-popover-content > table > tr > th):
8737 (.edit-breakpoint-popover-condition):
8738 * UserInterface/Views/ButtonNavigationItem.css:
8739 (@media (prefers-dark-interface)):
8740 (.navigation-bar .item.button):
8741 * UserInterface/Views/ButtonToolbarItem.css:
8742 (@media (prefers-dark-interface)):
8743 (.toolbar .item.button):
8744 (.toolbar .item.button:not(.disabled):active):
8745 (.toolbar .item.button:not(.disabled):matches(:focus, .activate.activated)):
8746 (.toolbar .item.button:not(.disabled):active:matches(:focus, .activate.activated)):
8747 * UserInterface/Views/CallFrameView.css:
8748 (@media (prefers-dark-interface)):
8749 (.call-frame .subtitle,):
8750 (.call-frame:hover .subtitle .source-link,):
8751 (.call-frame .separator):
8752 * UserInterface/Views/CanvasContentView.css:
8753 (@media (prefers-dark-interface)):
8754 (.content-view.canvas:not(.tab)):
8755 * UserInterface/Views/CanvasOverviewContentView.css:
8756 (@media (prefers-dark-interface)):
8757 (.content-view.canvas-overview):
8758 (.content-view.canvas-overview .content-view.canvas):
8759 (.content-view.canvas-overview .content-view.canvas.is-recording):
8760 (.content-view.canvas-overview .content-view.canvas.is-recording > header):
8761 (.content-view.canvas-overview .content-view.canvas > header > .titles > .title):
8762 (.content-view.canvas-overview .content-view.canvas > header > .titles > .subtitle,):
8763 (.content-view.canvas-overview .content-view.canvas > footer > .recordings::before):
8764 (.content-view.canvas-overview .content-view.canvas.is-recording > header > .titles > .subtitle):
8765 * UserInterface/Views/CanvasTabContentView.css:
8766 (@media (prefers-dark-interface)):
8767 (.content-view.tab.canvas .navigation-bar > .item .canvas-overview .icon):
8768 (.content-view.tab.canvas .navigation-bar > .item .canvas.canvas-2d .icon,):
8769 (.content-view.canvas > .preview > img,):
8770 * UserInterface/Views/CodeMirrorOverrides.css:
8771 (@media (prefers-dark-interface)):
8772 (.CodeMirror-cursor):
8773 (.CodeMirror .CodeMirror-gutters):
8774 (.cm-s-default .cm-link):
8775 (.CodeMirror .CodeMirror-lines .CodeMirror-matchingbracket):
8776 * UserInterface/Views/CompletionSuggestionsView.css:
8777 (@media (prefers-dark-interface)):
8778 (.completion-suggestions):
8779 (.completion-suggestions-container > .item):
8780 * UserInterface/Views/ComputedStyleDetailsPanel.css:
8781 (@media (prefers-dark-interface)):
8782 (.computed-style-properties.details-section):
8783 (.details-section.style-box-model:not(.collapsed) > :matches(.header, .content)):
8784 * UserInterface/Views/ConsoleMessageView.css:
8785 (@media (prefers-dark-interface)):
8786 (.console-message .syntax-highlighted):
8787 (.console-warning-level .console-message-text):
8788 (.console-error-level .console-message-text):
8789 (.console-user-command > .console-message-text):
8790 (.console-message .repeat-count):
8791 * UserInterface/Views/ConsolePrompt.css:
8792 (@media (prefers-dark-interface)):
8793 (.console-prompt):
8794 * UserInterface/Views/DOMNodeDetailsSidebarPanel.css:
8795 (@media (prefers-dark-interface)):
8796 (.sidebar > .panel.dom-node-details .details-section.dom-node-event-listeners > .header > .filter:hover):
8797 * UserInterface/Views/DOMTreeOutline.css:
8798 (@media (prefers-dark-interface)):
8799 (.tree-outline.dom):
8800 (.tree-outline.dom li.elements-drag-over .selection-area):
8801 (.tree-outline.dom li.selected .selection-area):
8802 (.tree-outline.dom:focus li.selected .selection-area):
8803 (.tree-outline.dom li.selected + ol.children.expanded):
8804 (.tree-outline.dom .shadow):
8805 (.tree-outline.dom li.parent.shadow + ol.children.expanded,):
8806 (.showing-find-banner .tree-outline.dom .search-highlight):
8807 * UserInterface/Views/DarkMode.css: Removed.
8808 * UserInterface/Views/DataGrid.css:
8809 (@media (prefers-dark-interface)):
8810 (.data-grid th):
8811 (.data-grid td .subtitle):
8812 (.data-grid:matches(:focus, .force-focus) tr.selected td .subtitle):
8813 (body:not(.window-inactive, .window-docked-inactive) .data-grid:matches(:focus, .force-focus) tr.editable.selected .cell-content > input):
8814 (.data-grid tr.editable .cell-content > input):
8815 (.data-grid td.spanning):
8816 * UserInterface/Views/DebuggerDashboardView.css:
8817 (@media (prefers-dark-interface)):
8818 (.toolbar .dashboard.debugger):
8819 (.dashboard.debugger .navigation-bar .item.button > .glyph):
8820 (.dashboard.debugger > .location .function-name):
8821 (.dashboard.debugger > .location .go-to-link):
8822 (.dashboard.debugger > .divider):
8823 * UserInterface/Views/DefaultDashboardView.css:
8824 (@media (prefers-dark-interface)):
8825 (.toolbar .dashboard.default > .item > div):
8826 (.toolbar .dashboard.default > .item.enabled > div):
8827 (.toolbar .dashboard.default > .item.enabled:hover):
8828 (.toolbar .dashboard.default > .item.enabled:hover > div):
8829 (.toolbar .dashboard.default > .resourcesCount > img,):
8830 (body.latest-mac .toolbar .dashboard .item.button):
8831 (.dashboard-container .advance-arrow):
8832 * UserInterface/Views/DetailsSection.css:
8833 (@media (prefers-dark-interface)):
8834 (.details-section > .header):
8835 (.details-section > .header > label):
8836 (.details-section .details-section,):
8837 (.details-section .details-section:not(.collapsed) > .header):
8838 (.details-section > .content > .group > .row.simple > .label):
8839 (.details-section > .content > .group:nth-child(even)):
8840 (.details-section > .content > .group > .row:matches(.empty, .text)):
8841 * UserInterface/Views/DividerNavigationItem.css:
8842 (@media (prefers-dark-interface)):
8843 (.navigation-bar .item.divider):
8844 * UserInterface/Views/Editing.css:
8845 (@media (prefers-dark-interface)):
8846 (.editing):
8847 (.editing, .editing *):
8848 * UserInterface/Views/FindBanner.css:
8849 (@media (prefers-dark-interface)):
8850 (.find-banner > input[type="search"]):
8851 (.find-banner.console-find-banner > input[type=search]:not(:placeholder-shown)):
8852 * UserInterface/Views/FontResourceContentView.css:
8853 (@media (prefers-dark-interface)):
8854 (.content-view.resource.font .preview > .line):
8855 (.content-view.resource.font .metric.top):
8856 (.content-view.resource.font .metric.baseline):
8857 (.content-view.resource.font .metric.middle):
8858 (.content-view.resource.font .metric.xheight):
8859 (.content-view.resource.font .metric.bottom):
8860 * UserInterface/Views/FormattedValue.css:
8861 (@media (prefers-dark-interface)):
8862 (.formatted-object,):
8863 (.formatted-null,):
8864 * UserInterface/Views/GeneralStyleDetailsSidebarPanel.css:
8865 (@media (prefers-dark-interface)):
8866 (.sidebar > .panel.details.css-style > .content > .pseudo-classes > .group > label):
8867 (.sidebar > .panel.details.css-style > .content ~ .options-container > .new-rule):
8868 (.sidebar > .panel.details.css-style > .content ~ .options-container > .toggle-class-toggle):
8869 * UserInterface/Views/HoverMenu.css:
8870 (@media (prefers-dark-interface)):
8871 (.hover-menu > svg > :matches(path, rect)):
8872 * UserInterface/Views/ImageResourceContentView.css:
8873 (@media (prefers-dark-interface)):
8874 (.content-view.resource.image):
8875 * UserInterface/Views/InlineSwatch.css:
8876 (@media (prefers-dark-interface)):
8877 (.inline-swatch):
8878 * UserInterface/Views/LogContentView.css:
8879 (@media (prefers-dark-interface)):
8880 (.console-messages):
8881 (.console-item):
8882 (.console-messages:focus .console-item.selected):
8883 (.console-messages:focus .console-item.selected + .console-item):
8884 (.console-session:first-of-type .console-session-header):
8885 (.console-session:not(:first-of-type) .console-session-header):
8886 (.console-messages a):
8887 (.console-messages a:hover):
8888 (.console-messages:focus .console-item.selected::after):
8889 (.console-error-level):
8890 (.console-error-level:not(.filtered-out, .filtered-out-by-search), .console-error-level:not(.filtered-out, .filtered-out-by-search) + .console-item):
8891 (.console-warning-level):
8892 (.console-warning-level:not(.filtered-out, .filtered-out-by-search), .console-warning-level:not(.filtered-out, .filtered-out-by-search) + .console-item):
8893 (.search-in-progress .console-item:not(.filtered-out-by-search) .highlighted):
8894 (.search-in-progress .console-item:not(.filtered-out-by-search) .highlighted.selected):
8895 * UserInterface/Views/Main.css:
8896 (#main):
8897 (@media (prefers-dark-interface)):
8898 (.go-to-arrow):
8899 (.resource-link,):
8900 (.expand-list-button):
8901 (:matches(img, canvas).show-grid):
8902 * UserInterface/Views/NetworkResourceDetailView.css:
8903 (@media (prefers-dark-interface)):
8904 (.network-resource-detail):
8905 (.network-resource-detail .item.close > .glyph):
8906 (.network .network-resource-detail .navigation-bar .item.radio.button.text-only.selected):
8907 (.resource-headers .value):
8908 * UserInterface/Views/NetworkTableContentView.css:
8909 (@media (prefers-dark-interface)):
8910 (.network-table .cell.domain > .lock):
8911 * UserInterface/Views/NewTabContentView.css:
8912 (@media (prefers-dark-interface)):
8913 (.new-tab.tab.content-view):
8914 * UserInterface/Views/ObjectTreePropertyTreeElement.css:
8915 (@media (prefers-dark-interface)):
8916 (.object-tree-property .getter,):
8917 (.item.object-tree-property.prototype-property):
8918 (.object-tree-property.prototype-property:hover,):
8919 (.object-tree-property .value.error):
8920 * UserInterface/Views/ObjectTreeView.css:
8921 (@media (prefers-dark-interface)):
8922 (.object-tree,):
8923 (.object-preview .name):
8924 (.object-preview > .size):
8925 * UserInterface/Views/OpenResourceDialog.css:
8926 (@media (prefers-dark-interface)):
8927 (.open-resource-dialog):
8928 (.open-resource-dialog > .field > input):
8929 (.open-resource-dialog > .field > input::placeholder):
8930 (.open-resource-dialog > .tree-outline .item.selected):
8931 (.open-resource-dialog > .field::before):
8932 * UserInterface/Views/ProgressView.css:
8933 (@media (prefers-dark-interface)):
8934 (.progress-view > .titles > .title):
8935 (.progress-view > .titles > .subtitle):
8936 (.indeterminate-progress-spinner):
8937 * UserInterface/Views/QuickConsole.css:
8938 (@media (prefers-dark-interface)):
8939 (.quick-console):
8940 (.CodeMirror .jump-to-symbol-highlight,):
8941 (.quick-console.showing-log):
8942 * UserInterface/Views/RecordingActionTreeElement.css:
8943 (@media (prefers-dark-interface)):
8944 (.item.action:not(.initial-state)::before):
8945 (.tree-outline .item.action.visual:not(.selected, .invalid)):
8946 (.item.action:not(.initial-state) > .icon):
8947 (.tree-outline:not(.hide-disclosure-buttons) .item.action:not(.initial-state, .parent) > .icon):
8948 * UserInterface/Views/RecordingContentView.css:
8949 (@media (prefers-dark-interface)):
8950 (.content-view:not(.tab).recording):
8951 (.content-view:not(.tab).recording > header > .slider-container):
8952 (.content-view:not(.tab).recording > header > .slider-container > input[type=range]):
8953 * UserInterface/Views/RecordingStateDetailsSidebarPanel.css:
8954 (@media (prefers-dark-interface)):
8955 (.sidebar > .panel.details.recording-state > .content > .data-grid tr.modified):
8956 * UserInterface/Views/ResourceHeadersContentView.css:
8957 (@media (prefers-dark-interface)):
8958 (.resource-headers .value):
8959 * UserInterface/Views/ResourceSizesContentView.css:
8960 (@media (prefers-dark-interface)):
8961 (.resource-sizes > .content .label):
8962 * UserInterface/Views/ResourceTimingBreakdownView.css:
8963 (@media (prefers-dark-interface)):
8964 (.popover.waterfall-popover):
8965 (.resource-timing-breakdown > table > tr.header:not(.total-row) > td):
8966 (.resource-timing-breakdown > table > tr > td.label,):
8967 (.resource-timing-breakdown > table hr):
8968 * UserInterface/Views/ScopeBar.css:
8969 (@media (prefers-dark-interface)):
8970 (.scope-bar > li):
8971 * UserInterface/Views/SearchBar.css:
8972 (@media (prefers-dark-interface)):
8973 (:matches(.search-bar, .filter-bar) > input[type="search"],):
8974 (:matches(.search-bar, .filter-bar) > input[type="search"]::placeholder):
8975 (:matches(.search-bar, .filter-bar) > input[type="search"]:focus):
8976 * UserInterface/Views/SearchSidebarPanel.css:
8977 (@media all):
8978 * UserInterface/Views/SettingsTabContentView.css:
8979 (@media (prefers-dark-interface)):
8980 (.content-view.settings .navigation-bar):
8981 (.content-view.settings .navigation-bar .item.radio.button.text-only.selected):
8982 * UserInterface/Views/ShaderProgramContentView.css:
8983 (@media (prefers-dark-interface)):
8984 (.content-view.shader-program > .text-editor.shader):
8985 (.content-view.shader-program > .text-editor.shader > .type-title):
8986 * UserInterface/Views/ShaderProgramTreeElement.css:
8987 (@media (prefers-dark-interface)):
8988 (.item.shader-program .status > img):
8989 * UserInterface/Views/SourceCodeTextEditor.css:
8990 (@media (prefers-dark-interface)):
8991 (.source-code.text-editor > .CodeMirror .error):
8992 (.source-code.text-editor > .CodeMirror .warning):
8993 (.source-code.text-editor > .CodeMirror .issue-widget):
8994 (.source-code.text-editor > .CodeMirror .issue-widget.warning,):
8995 (.source-code.text-editor > .CodeMirror .issue-widget.error,):
8996 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
8997 (@media (prefers-dark-interface)):
8998 (.spreadsheet-style-declaration-editor .property:not(.disabled) .value):
8999 (.spreadsheet-style-declaration-editor :matches(.name, .value).editing):
9000 (.spreadsheet-style-declaration-editor .property.has-warning):
9001 (.spreadsheet-style-declaration-editor .property.has-warning .warning):
9002 (.spreadsheet-style-declaration-editor .property:matches(.invalid-name, .other-vendor, .overridden):not(.disabled) .content > *):
9003 * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.css:
9004 (@media (prefers-dark-interface)):
9005 (.spreadsheet-css-declaration):
9006 (.spreadsheet-css-declaration.locked):
9007 (.spreadsheet-css-declaration .selector.style-attribute):
9008 (.spreadsheet-css-declaration .selector:focus,):
9009 (.spreadsheet-css-declaration.locked .origin::after):
9010 (.spreadsheet-css-declaration .origin .go-to-link,):
9011 (.spreadsheet-css-declaration .media-label):
9012 * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.css:
9013 (@media (prefers-dark-interface)):
9014 (.spreadsheet-style-panel .section-header):
9015 (.spreadsheet-style-panel .section-header .node-link:hover):
9016 * UserInterface/Views/SyntaxHighlightingDefaultTheme.css:
9017 (@media (prefers-dark-interface)):
9018 (.syntax-highlighted,):
9019 (.cm-s-default,):
9020 (.cm-s-default .cm-attribute):
9021 (.cm-s-default .cm-m-xml.cm-attribute,):
9022 (.cm-s-default .cm-meta):
9023 (.cm-s-default .cm-variable-3):
9024 (.cm-s-default .cm-builtin):
9025 * UserInterface/Views/TabBar.css:
9026 (@media (prefers-dark-interface)):
9027 (.tab-bar):
9028 (.tab-bar > .item):
9029 (.tab-bar > .item > .title):
9030 (.tab-bar > .item:not(.disabled).selected):
9031 (.tab-bar:not(.animating) > .item:not(.selected):hover):
9032 (.tab-bar > .item > .close,):
9033 (body.window-inactive .tab-bar):
9034 (body.window-inactive .tab-bar > .item):
9035 (body.window-inactive .tab-bar > .item.selected):
9036 (body.window-inactive .tab-bar > .item > .title):
9037 * UserInterface/Views/Table.css:
9038 (@media (prefers-dark-interface)):
9039 (.table,):
9040 (.table > .header > .sortable:active):
9041 (.table > .header > :matches(.sort-ascending, .sort-descending)):
9042 (.table > .header > :matches(.sort-ascending, .sort-descending)::after):
9043 * UserInterface/Views/TextEditor.css:
9044 (@media (prefers-dark-interface)):
9045 (.text-editor > .CodeMirror .execution-line):
9046 (.text-editor > .CodeMirror .execution-range-highlight:not(.CodeMirror-selectedtext),):
9047 * UserInterface/Views/TimelineDataGrid.css:
9048 (@media (prefers-dark-interface)):
9049 (.data-grid th:matches(.sort-ascending, .sort-descending)):
9050 * UserInterface/Views/TimelineIcons.css:
9051 (@media (prefers-dark-interface)):
9052 (.time-icon .icon):
9053 * UserInterface/Views/TimelineOverview.css:
9054 (@media (prefers-dark-interface)):
9055 (.timeline-overview > .navigation-bar.timelines):
9056 (.timeline-overview:not(.frames) > .graphs-container > .timeline-overview-graph:nth-child(even)):
9057 (.timeline-overview.edit-instruments > .tree-outline.timelines .item:not(:first-child),):
9058 * UserInterface/Views/TimelineRecordingContentView.css:
9059 (@media (prefers-dark-interface)):
9060 (.content-view.timeline-recording > .content-browser > .navigation-bar > .item.scope-bar.default-item-selected > .multiple):
9061 (.content-view.timeline-recording > .content-browser > .navigation-bar > .item.scope-bar.default-item-selected > .multiple .arrows):
9062 * UserInterface/Views/Toolbar.css:
9063 (@media (prefers-dark-interface)):
9064 (body .toolbar):
9065 (body.window-inactive .toolbar):
9066 (body.latest-mac .toolbar .item.button,):
9067 (body.latest-mac .toolbar .search-bar > input[type="search"]):
9068 (body.latest-mac .toolbar .search-bar > input[type="search"]:focus):
9069 (body.latest-mac .toolbar .search-bar > input[type="search"]::placeholder):
9070 (body.latest-mac.window-inactive .toolbar .search-bar > input[type="search"]::placeholder):
9071 (body.latest-mac.window-inactive .toolbar .search-bar > input[type="search"]::-webkit-search-results-button):
9072 (body.latest-mac .toolbar .dashboard-container):
9073 (body.latest-mac .toolbar .item.button:active):
9074 (body.latest-mac.window-inactive .toolbar .item.button,):
9075 * UserInterface/Views/TreeOutline.css:
9076 (@media (prefers-dark-interface)):
9077 (.tree-outline .item .subtitle):
9078 * UserInterface/Views/Variables.css:
9079 (@media (prefers-dark-interface)):
9080 (:root):
9081 (body.window-inactive):
9082 (body.window-inactive *):
9083 * UserInterface/Views/WebSocketContentView.css:
9084 (@media (prefers-dark-interface)):
9085 (.web-socket.content-view .data-grid table.data tr.revealed):
9086 (.web-socket.content-view .data-grid.variable-height-rows table.data tr.outgoing):
9087 (.web-socket.content-view .data-grid.variable-height-rows table.data tr.non-text-frame):
9088 * UserInterface/Views/XHRBreakpointPopover.css:
9089 (@media (prefers-dark-interface)):
9090 (.popover .xhr-breakpoint-content > .editor-wrapper > .editor):
9091
drousso@apple.com032169b2018-09-17 22:43:11 +000090922018-09-17 Devin Rousso <drousso@apple.com>
9093
9094 Web Inspector: generate CSSKeywordCompletions from backend values
9095 https://bugs.webkit.org/show_bug.cgi?id=189041
9096
9097 Reviewed by Joseph Pecoraro.
9098
9099 Moves the longhands map to `WI.CSSKeywordCompletions` for more global access. Creates an
9100 aliases map to support completions on aliases with the same values as the non-alias name.
9101 Removes all keyword-only properties from `WI.CSSKeywordCompletions._propertyKeywordMap` as
9102 they are now generated by the backend (kept for compatibility).
9103
9104 * UserInterface/Models/CSSCompletions.js:
9105 (WI.CSSCompletions):
9106 (WI.CSSCompletions.requestCSSCompletions.propertyNamesCallback):
9107 (WI.CSSCompletions.prototype.isShorthandPropertyName):
9108
9109 * UserInterface/Models/CSSKeywordCompletions.js:
9110 (WI.CSSKeywordCompletions.forProperty.addKeywordsForName): Added.
9111 (WI.CSSKeywordCompletions.forProperty):
9112 (WI.CSSKeywordCompletions.addCustomCompletions):
9113
9114 * UserInterface/Models/CSSProperty.js:
9115 (WI.CSSProperty.isInheritedPropertyName):
9116
drousso@apple.com58615a92018-09-15 18:41:58 +000091172018-09-15 Devin Rousso <drousso@apple.com>
9118
9119 Web Inspector: REGRESSION: breakpoint context menu appears twice in DOM tree
9120 https://bugs.webkit.org/show_bug.cgi?id=189308
9121
9122 Reviewed by Joseph Pecoraro.
9123
9124 * UserInterface/Controllers/DOMBreakpointTreeController.js:
9125 (WI.DOMBreakpointTreeController.appendBreakpointContextMenuItems):
9126 Set a symbol on the `contextMenu` to ensure that the same items are not added twice.
9127
commit-queue@webkit.org38d740d2018-09-15 00:39:59 +000091282018-09-14 Joseph Pecoraro <pecoraro@apple.com>
9129
9130 Web Inspector: Source View doesn't scroll to show line when breakpoint is hit inside of <script> in HTML resource
9131 https://bugs.webkit.org/show_bug.cgi?id=189638
9132 <rdar://problem/43359278>
9133
9134 Reviewed by Matt Baker.
9135
9136 Pausing in Document resources on page load have special considerations where we
9137 may not receive their full content immediately, so we may synthesize inline script
9138 content for the resource until we have full content. Unfortunately, when we get
9139 full content and update the TextEditor we were losing the revealed position and
9140 other editor information. This change specifically targets those cases, by
9141 re-applying editor state when updating such a resource from partial to full content.
9142
9143 * UserInterface/Views/SourceCodeTextEditor.js:
9144 (WI.SourceCodeTextEditor.prototype._contentAvailable):
9145 Signal to the editor that when updating the content it should carry
9146 over editor state. Only do this if we had partial content before.
9147
9148 * UserInterface/Views/TextEditor.js:
9149 (WI.TextEditor):
9150 (WI.TextEditor.prototype.set repeatReveal):
9151 Provide a way to signal we should restore state when update the content.
9152
9153 (WI.TextEditor.set string.update):
9154 (WI.TextEditor.prototype.set string):
9155 When repeatReveal was enabled, restore editor state such as the
9156 revealed location and text selection.
9157
webkit@devinrousso.com0a861ff2018-09-14 16:44:22 +000091582018-09-14 Devin Rousso <webkit@devinrousso.com>
9159
9160 Web Inspector: Record actions performed on ImageBitmapRenderingContext
9161 https://bugs.webkit.org/show_bug.cgi?id=181341
9162
9163 Reviewed by Joseph Pecoraro.
9164
9165 * UserInterface/Models/Recording.js:
9166 (WI.Recording.fromPayload):
9167 (WI.Recording.prototype.createContext):
9168
9169 * UserInterface/Models/RecordingAction.js:
9170 (WI.RecordingAction._prototypeForType):
9171 (WI.RecordingAction.prototype.getImageParameters):
9172
9173 * UserInterface/Views/RecordingActionTreeElement.js:
9174 (WI.RecordingActionTreeElement._classNameForAction.classNameForActionName):
9175
9176 * UserInterface/Views/RecordingContentView.js:
9177 (WI.RecordingContentView):
9178 (WI.RecordingContentView.prototype.get navigationItems):
9179 (WI.RecordingContentView.prototype.updateActionIndex):
9180 (WI.RecordingContentView.prototype.shown):
9181 (WI.RecordingContentView.prototype.hidden):
9182 (WI.RecordingContentView.prototype._generateContentFromSnapshot): Renamed.
9183 (WI.RecordingContentView.prototype._updateImageGrid):
9184 (WI.RecordingContentView.prototype._generateContentCanvasWebGL): Deleted.
9185
9186 * UserInterface/Views/CanvasContentView.js:
9187 (WI.CanvasContentView):
9188
commit-queue@webkit.org3a445192018-09-14 00:08:35 +000091892018-09-13 Jamal Nasser <jamaln@mail.com>
9190
9191 Web Inspector: Dark Mode: bezier curve editor should be updated
9192 https://bugs.webkit.org/show_bug.cgi?id=187657
9193
9194 Reviewed by Matt Baker.
9195
9196 * UserInterface/Views/DarkMode.css:
9197 (@media (prefers-dark-interface)):
9198 (.bezier-editor > .bezier-preview-timing):
9199 (.bezier-editor > .bezier-container .bezier-curve):
9200 (.bezier-editor > .bezier-container .linear-curve):
9201 (.bezier-editor > .bezier-preview):
9202 (.bezier-editor > .bezier-preview > div):
9203 (.bezier-editor > .bezier-container .control-handle):
9204 (.bezier-editor > .bezier-container .control-line):
9205
mattbaker@apple.com0d181ab2018-09-14 00:03:05 +000092062018-09-13 Matt Baker <mattbaker@apple.com>
9207
9208 Web Inspector: Timelines: clicking a row in Script > Events grid triggers Location popover when column is hidden
9209 https://bugs.webkit.org/show_bug.cgi?id=189603
9210 <rdar://problem/44431403>
9211
9212 Reviewed by Joseph Pecoraro.
9213
9214 TimelineDataGrid controls showing/hiding the call frame popover, with subclasses
9215 overriding callFramePopoverAnchorElement to position it. This patch adds
9216 another overridable base class method, shouldShowCallFramePopover, which subclasses
9217 can use to block the popover when the Location column is hidden.
9218
9219 * UserInterface/Views/DataGrid.js:
9220 (WI.DataGrid.prototype.layout):
9221 (WI.DataGrid.prototype._positionResizerElements):
9222 (WI.DataGrid.prototype._isColumnVisible): Deleted.
9223
9224 * UserInterface/Views/LayoutTimelineDataGrid.js:
9225 (WI.LayoutTimelineDataGrid.prototype.shouldShowCallFramePopover):
9226 (WI.LayoutTimelineDataGrid):
9227
9228 * UserInterface/Views/ScriptTimelineDataGrid.js:
9229 (WI.ScriptTimelineDataGrid.prototype.shouldShowCallFramePopover):
9230 (WI.ScriptTimelineDataGrid):
9231
9232 * UserInterface/Views/TimelineDataGrid.js:
9233 (WI.TimelineDataGrid.prototype.shouldShowCallFramePopover):
9234 (WI.TimelineDataGrid.prototype._dataGridSelectedNodeChanged):
9235
commit-queue@webkit.org99bc6f82018-09-13 23:58:41 +000092362018-09-13 Joseph Pecoraro <pecoraro@apple.com>
9237
9238 Web Inspector: Opening inspector with a selected element might immediately scroll that element off screen in the DOM Tree outline
9239 https://bugs.webkit.org/show_bug.cgi?id=189569
9240 <rdar://problem/44397098>
9241
9242 Reviewed by Devin Rousso.
9243
9244 * UserInterface/Views/DOMTreeContentView.js:
9245 (WI.DOMTreeContentView.prototype.layout):
9246 Re-select the selected DOM node in the DOM Tree when the view resizes.
9247 Typically this can happen if the sidebar opens/closes/resizes, in which
9248 case we will want the selected DOM node to stay in view even if the DOM
9249 tree starts wrapping earlier content.
9250
commit-queue@webkit.org46d0cf62018-09-12 16:34:09 +000092512018-09-12 Joseph Pecoraro <pecoraro@apple.com>
9252
9253 Web Inspector: fix test case failures in js-isLikelyStackTrace.html
9254 https://bugs.webkit.org/show_bug.cgi?id=180664
9255
9256 Reviewed by Devin Rousso.
9257
9258 * UserInterface/Models/StackTrace.js:
9259 (WI.StackTrace.isLikelyStackTrace):
9260 In a quick benchmark 50% of the time was rebuilding the same complex regular
9261 expression over and over again. Instead just build the regex once and reset
9262 it before each use.
9263
drousso@apple.com7ae28d12018-09-12 16:10:59 +000092642018-09-12 Devin Rousso <drousso@apple.com>
9265
9266 Web Inspector: imported recordings are unable to be viewed after navigation
9267 https://bugs.webkit.org/show_bug.cgi?id=189208
9268
9269 Reviewed by Joseph Pecoraro.
9270
9271 Move the "Imported Recordings" folder to the top level (instead of under "Overview") so that
9272 it is selectable when there are no canvases but there is an imported recording.
9273
9274 * UserInterface/Controllers/CanvasManager.js:
9275 (WI.CanvasManager.prototype._removeCanvas):
9276 Null out the `source` of each `WI.Recording` for the removed `WI.Canvas`.
9277
9278 * UserInterface/Views/CanvasTabContentView.js:
9279 (WI.CanvasTabContentView):
9280 (WI.CanvasTabContentView.prototype._removeCanvas):
9281 Add each `WI.Recording`for the removed `WI.Canvas` to the "Imported Recordings" folder.
9282
9283 * UserInterface/Views/CanvasContentView.js:
9284 (WI.CanvasContentView.prototype.refresh):
9285 (WI.CanvasContentView.prototype.initialLayout):
9286 (WI.CanvasContentView.prototype._showError):
9287 Drive-by: don't recreate the error preview element if it already exists.
9288
9289 * UserInterface/Views/CanvasSidebarPanel.js:
9290 (WI.CanvasSidebarPanel.prototype.updateRepresentedObjects): Added.
9291 (WI.CanvasSidebarPanel.prototype.shown):
9292 (WI.CanvasSidebarPanel.prototype._currentRepresentedObjectsDidChange): Deleted.
9293
commit-queue@webkit.org35c4bff2018-09-11 19:51:19 +000092942018-09-11 Joseph Pecoraro <pecoraro@apple.com>
9295
9296 Web Inspector: Fix typo "vritualized"
9297 https://bugs.webkit.org/show_bug.cgi?id=189511
9298
9299 Reviewed by Devin Rousso.
9300
9301 * UserInterface/Views/TreeOutline.js:
9302 (WI.TreeOutline):
9303 (WI.TreeOutline.prototype.registerScrollVirtualizer):
9304 (WI.TreeOutline.prototype.updateVirtualizedElements):
9305
joepeck@webkit.org31cd6c12018-09-10 23:47:05 +000093062018-09-10 Joseph Pecoraro <pecoraro@apple.com>
9307
9308 Web Inspector: Address some ESLint warnings
9309 https://bugs.webkit.org/show_bug.cgi?id=188824
9310
9311 Reviewed by Matt Baker.
9312
9313 * .eslintrc:
9314 * UserInterface/Base/Platform.js:
9315 * UserInterface/Controllers/AuditManager.js:
9316 * UserInterface/Controllers/BasicBlockAnnotator.js:
9317 * UserInterface/Controllers/CallFrameTreeController.js:
9318 * UserInterface/Controllers/HARBuilder.js:
9319 * UserInterface/Models/AuditReport.js:
9320 * UserInterface/Models/AuditResult.js:
9321 * UserInterface/Models/AuditTestCase.js:
9322 * UserInterface/Models/AuditTestSuite.js:
9323 * UserInterface/Models/Cookie.js:
9324 * UserInterface/Models/SourceCodePosition.js:
9325 * UserInterface/Test/FrontendTestHarness.js:
9326 * UserInterface/Test/TestSuite.js:
9327 * UserInterface/Views/CanvasContentView.js:
9328 * UserInterface/Views/CollectionContentView.js:
9329 * UserInterface/Views/ContentBrowser.js:
9330 * UserInterface/Views/CookieStorageContentView.js:
9331 * UserInterface/Views/DataGrid.js:
9332 * UserInterface/Views/DatabaseTableContentView.js:
9333 * UserInterface/Views/FindBanner.js:
9334 * UserInterface/Views/JSONResourceContentView.js:
9335 * UserInterface/Views/LogContentView.js:
9336 * UserInterface/Views/ResourceSidebarPanel.js:
9337 * UserInterface/Views/SourceCodeTextEditor.js:
9338 * UserInterface/Views/SpreadsheetTextField.js:
9339 * UserInterface/Workers/Formatter/FormatterUtilities.js:
9340
aestes@apple.com9b9a1342018-09-06 20:42:48 +000093412018-09-06 Andy Estes <aestes@apple.com>
9342
9343 [Apple Pay] Rename the -apple-pay-button-type value "checkout" to "check-out"
9344 https://bugs.webkit.org/show_bug.cgi?id=189366
9345 <rdar://problem/44193218>
9346
9347 Reviewed by Sam Weinig.
9348
9349 * UserInterface/Models/CSSKeywordCompletions.js:
9350
commit-queue@webkit.orgb4026742018-08-31 23:28:26 +000093512018-08-31 Jamal Nasser <xnasser@outlook.com>
9352
9353 Added a CSS rule to DarkMode.css to fix color on sidebar toggle.
9354 <https://webkit.org/b/189139>
9355
9356 Reviewed by Matt Baker.
9357
9358 * UserInterface/Views/DarkMode.css:
9359 (@media (prefers-dark-interface)):
9360 (.sidebar > .panel.details.css-style > .content ~ .options-container > .toggle-class-toggle):
9361
ddkilzer@apple.comdb6485c2018-08-29 16:25:15 +000093622018-08-29 David Kilzer <ddkilzer@apple.com>
9363
9364 Remove empty directories from from svn.webkit.org repository
9365 <https://webkit.org/b/189081>
9366
9367 * WebInspectorUI.esproj: Removed.
9368
drousso@apple.comaed11c92018-08-28 23:26:58 +000093692018-08-28 Devin Rousso <drousso@apple.com>
9370
drousso@apple.combfe43f52018-08-29 01:36:36 +00009371 console.log() shows (anonymous function) instead of the passed string when a certain format is used
9372 https://bugs.webkit.org/show_bug.cgi?id=188946
9373 <rdar://problem/43756428>
9374
9375 Reviewed by Brian Burg.
9376
9377 Stack trace URLs are much more likely to follow the following format:
9378
9379 <protocol>://<path>:<line>:<column>
9380
9381 Modify the test regexp to always require that a protocol exists and to check that there are
9382 no ":" inside the protocol or path. Additionally, stack traces usually have more than one
9383 frame, so return false if there isn't more than one line.
9384
9385 * UserInterface/Models/StackTrace.js:
9386 (WI.StackTrace.isLikelyStackTrace):
9387
93882018-08-28 Devin Rousso <drousso@apple.com>
9389
drousso@apple.com9781d032018-08-29 00:06:40 +00009390 Web Inspector: REGRESSION: CanvasSidebarPanel is empty for imported recordings
9391 https://bugs.webkit.org/show_bug.cgi?id=189061
9392
9393 Reviewed by Brian Burg.
9394
9395 When recordings are imported, they don't have an associated `WI.Canvas`, meaning that the
9396 `WI.Recording` is never added to the canvas' `WI.RecordingCollection`. Previously, the
9397 canvas sidebar relied upon the `ItemAdded` event to update the recording `WI.ScopeBar`.
9398 Since the imported recording isn't ever added to the collection, this is never fired.
9399
9400 This patch moves the function call that updates the `WI.ScopeBar` to a more universal path,
9401 ensuring that no matter how a `WI.Recording` is set for the sidebar, it will be shown.
9402
9403 * UserInterface/Views/CanvasSidebarPanel.js:
9404 (WI.CanvasSidebarPanel.prototype.set recording):
9405 (WI.CanvasSidebarPanel.prototype._recordingAdded):
9406 (WI.CanvasSidebarPanel.prototype._updateRecordingScopeBar):
9407
94082018-08-28 Devin Rousso <drousso@apple.com>
9409
drousso@apple.comaed11c92018-08-28 23:26:58 +00009410 Web Inspector: Search bar is too narrow in some localizations
9411 https://bugs.webkit.org/show_bug.cgi?id=189060
9412 <rdar://problem/43006369>
9413
9414 Reviewed by Brian Burg.
9415
9416 * UserInterface/Views/Toolbar.css:
9417 (.toolbar .search-bar):
9418
krollin@apple.com386872d2018-08-28 00:07:07 +000094192018-08-27 Keith Rollin <krollin@apple.com>
9420
9421 Unreviewed build fix -- disable LTO for production builds
9422
9423 * Configurations/Base.xcconfig:
9424
aestes@apple.com0303c0f2018-08-27 22:25:26 +000094252018-08-27 Andy Estes <aestes@apple.com>
9426
9427 Teach Web Inspector how to complete keywords for -apple-pay-button-style and -apple-pay-button-type
9428 https://bugs.webkit.org/show_bug.cgi?id=189001
9429
9430 Reviewed by Devin Rousso.
9431
9432 * UserInterface/Models/CSSKeywordCompletions.js:
9433
drousso@apple.com47b3ee32018-08-27 18:49:42 +000094342018-08-27 Devin Rousso <drousso@apple.com>
9435
drousso@apple.com674f4092018-08-27 21:27:58 +00009436 Web Inspector: when scrolling a virtualized TreeOutline, only update the DOM periodically
9437 https://bugs.webkit.org/show_bug.cgi?id=188960
9438
9439 Reviewed by Brian Burg.
9440
9441 After each `updateVirtualizedElements` call, remember the `WI.TreeElement` that is located
9442 halfway within the visible list. When handling each "scroll", only regenerate the
9443 `WI.TreeOutline` DOM if the user has scrolled `extraRows` distance.
9444
9445 * UserInterface/Views/TreeOutline.js:
9446 (WI.TreeOutline):
9447 (WI.TreeOutline.prototype.registerScrollVirtualizer):
9448 (WI.TreeOutline.prototype.updateVirtualizedElements):
9449 (WI.TreeOutline.prototype._calculateVirtualizedValues): Added.
9450
94512018-08-27 Devin Rousso <drousso@apple.com>
9452
drousso@apple.com47b3ee32018-08-27 18:49:42 +00009453 Web Inspector: provide autocompletion for event breakpoints
9454 https://bugs.webkit.org/show_bug.cgi?id=188717
9455
9456 Reviewed by Brian Burg.
9457
9458 * UserInterface/Controllers/DOMTreeManager.js:
9459 (WI.DOMTreeManager):
9460 (WI.DOMTreeManager.prototype.getSupportedEventNames): Added.
9461
9462 * UserInterface/Views/EventBreakpointPopover.js:
9463 (WI.EventBreakpointPopover):
9464 (WI.EventBreakpointPopover.prototype.show):
9465 (WI.EventBreakpointPopover.prototype.dismiss): Added.
9466 (WI.EventBreakpointPopover.prototype.completionSuggestionsClickedCompletion): Added.
9467 (WI.EventBreakpointPopover.prototype._presentOverTargetElement):
9468 (WI.EventBreakpointPopover.prototype._showSuggestionsView): Added.
9469
krollin@apple.com2ba23ff2018-08-27 17:16:17 +000094702018-08-27 Keith Rollin <krollin@apple.com>
9471
9472 Build system support for LTO
9473 https://bugs.webkit.org/show_bug.cgi?id=187785
9474 <rdar://problem/42353132>
9475
9476 Reviewed by Dan Bernstein.
9477
9478 Update Base.xcconfig and DebugRelease.xcconfig to optionally enable
9479 LTO.
9480
9481 * Configurations/Base.xcconfig:
9482 * Configurations/DebugRelease.xcconfig:
9483
drousso@apple.come3ef4fa2018-08-27 16:59:39 +000094842018-08-27 Devin Rousso <drousso@apple.com>
9485
9486 Web Inspector: REGRESSION: virtualized TreeOutline is empty when filtering
9487 https://bugs.webkit.org/show_bug.cgi?id=188959
9488
9489 Reviewed by Brian Burg.
9490
9491 * UserInterface/Views/TreeElement.js:
9492 (WI.TreeElement.prototype.set hidden):
9493 Only set `focusedTreeElement` if the `WI.TreeElement` is selected and not hidden. There is
9494 no reason to focus a hidden or unselected `WI.TreeElement`.
9495
drousso@apple.com7c7137d2018-08-24 04:55:28 +000094962018-08-23 Devin Rousso <drousso@apple.com>
9497
9498 Web Inspector: Color picker: can't enter decimal numbers for opacity
9499 https://bugs.webkit.org/show_bug.cgi?id=187026
9500 <rdar://problem/41446500>
9501
9502 Reviewed by Brian Burg.
9503
9504 After every "input" event, we update the `color` value of the `WI.ColorPicker` based on a
9505 generated string using the values of the various <input>. The issue with this approach is
9506 that adding a decimal point (e.g. "0.") would still be construed as 0, meaning that the
9507 color wouldn't change and would instead be reset back to it's old value. This patch adds an
9508 early return if the newly generated color has the same value as the current color, thereby
9509 meaning that the `color` wouldn't change when changing from "0" to "0.".
9510
9511 * UserInterface/Views/ColorPicker.js:
9512 (WI.ColorPicker):
9513 (WI.ColorPicker.createColorInput):
9514 (WI.ColorPicker.prototype._handleColorInputInput):
9515
simon.fraser@apple.com5cf2d3e2018-08-24 04:10:31 +000095162018-08-23 Simon Fraser <simon.fraser@apple.com>
9517
9518 Add support for dumping GC heap snapshots, and a viewer
9519 https://bugs.webkit.org/show_bug.cgi?id=186416
9520
9521 Reviewed by Joseph Pecoraro.
9522
9523 Make a way to dump information about the GC heap that is useful for looking for leaked
9524 or abandoned objects. This dump is obtained (on Apple platforms) via:
9525 notifyutil -p com.apple.WebKit.dumpGCHeap
9526 which writes a JSON file to /tmp which can then be loaded into the viewer in Tools/GCHeapInspector.
9527
9528 This leverages the heap snapshot used by Web Inspector, adding an alternate format for
9529 the snapshot JSON that adds additional data about objects and why they are GC roots.
9530
9531 The generated bindings code is changed to include the output root reason from isReachableFromOpaqueRoots(),
9532 and to implement heapSnapshot() which provides the address of the wrapped object. A new IDL attribute,
9533 CustomHeapSnapshot, is used to allow custom heapSnapshot() implementations for classes like JSDocument
9534 that need to decorate the heap snapshot cell data with things like the document URL.
9535
9536 GCController registers a notifyutil callback which gathers the debug heap snapshot, and dumps it
9537 to a file in /tmp. The file path is printed out to the system log.
9538
9539 * UserInterface/Workers/HeapSnapshot/HeapSnapshot.js:
9540 (HeapSnapshot):
9541
bburg@apple.com973aa892018-08-23 23:32:47 +000095422018-08-23 Brian Burg <bburg@apple.com>
9543
9544 Web Inspector: fix typos in some compositing reasons
9545 https://bugs.webkit.org/show_bug.cgi?id=188905
9546 <rdar://problem/43624825>
9547
9548 Reviewed by Simon Fraser.
9549
9550 * Localizations/en.lproj/localizedStrings.js:
9551 * UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
9552 (WI.LayerTreeDetailsSidebarPanel.prototype._populateListOfCompositingReasons):
9553 (WI.LayerTreeDetailsSidebarPanel):
9554 * UserInterface/Views/Layers3DContentView.js:
9555 (WI.Layers3DContentView.prototype._updateReasonsList):
9556 (WI.Layers3DContentView):
9557
drousso@apple.com687c5c32018-08-23 20:06:14 +000095582018-08-23 Devin Rousso <drousso@apple.com>
9559
drousso@apple.com422ab952018-08-23 21:36:40 +00009560 Web Inspector: support breakpoints for timers and animation-frame events
9561 https://bugs.webkit.org/show_bug.cgi?id=188778
9562
9563 Reviewed by Brian Burg.
9564
9565 Add a `type` to `WI.EventBreakpoint` that matches `DOMDebugger.EventBreakpointType`:
9566 - `AnimationFrame` for `requestAnimationFrame`
9567 - `Listener` for any named DOM Event
9568 - `Timer` for `setTimeout` and `setInterval`
9569
9570 Modified `WI.EventBreakpointPopover` to provide ways for selecting these other types, which
9571 is then passed to `WI.DOMDebuggerManager`, which now calls through to the newly added
9572 `DOMDebugger.removeEventBreakpoint` and `DOMDebugger.setEventBreakpoint` that sets
9573 breakpoints for all event types.
9574
9575 * Localizations/en.lproj/localizedStrings.js:
9576 * UserInterface/Images/EventBreakpointAnimationFrame.svg: Added.
9577 * UserInterface/Images/EventBreakpointListener.svg: Renamed from Source/WebInspectorUI/UserInterface/Images/EventBreakpoint.svg.
9578 * UserInterface/Images/EventBreakpointTimer.svg: Added.
9579
9580 * UserInterface/Controllers/DOMDebuggerManager.js:
9581 (WI.DOMDebuggerManager.supportsEventBreakpoints): Added.
9582 (WI.DOMDebuggerManager.prototype.eventBreakpointForTypeAndEventName): Added.
9583 (WI.DOMDebuggerManager.prototype.addEventBreakpoint):
9584 (WI.DOMDebuggerManager.prototype.removeEventBreakpoint.breakpointRemoved): Added.
9585 (WI.DOMDebuggerManager.prototype.removeEventBreakpoint):
9586 (WI.DOMDebuggerManager.prototype._updateEventBreakpoint):
9587 (WI.DOMDebuggerManager.prototype.eventBreakpointForEventName): Deleted.
9588
9589 * UserInterface/Controllers/DOMTreeManager.js:
9590 (WI.DOMTreeManager.prototype.setBreakpointForEventListener):
9591
9592 * UserInterface/Controllers/DebuggerManager.js:
9593 (WI.DebuggerManager.prototype._pauseReasonFromPayload):
9594
9595 * UserInterface/Models/EventBreakpoint.js:
9596 (WI.EventBreakpoint):
9597 (WI.EventBreakpoint.fromPayload):
9598 (WI.EventBreakpoint.prototype.get type): Added.
9599 (WI.EventBreakpoint.prototype.get serializableInfo):
9600 (WI.EventBreakpoint.prototype.saveIdentityToCookie):
9601
9602 * UserInterface/Views/DebuggerSidebarPanel.js:
9603 (WI.DebuggerSidebarPanel.prototype._updatePauseReasonSection):
9604 (WI.DebuggerSidebarPanel.prototype.willDismissPopover):
9605
9606 * UserInterface/Views/EventBreakpointPopover.js:
9607 (WI.EventBreakpointPopover):
9608 (WI.EventBreakpointPopover.prototype.get breakpoint): Added.
9609 (WI.EventBreakpointPopover.prototype.show):
9610 (WI.EventBreakpointPopover.prototype.show.createOption): Added.
9611 (WI.EventBreakpointPopover.prototype.dismiss): Added.
9612 (WI.EventBreakpointPopover.prototype._presentOverTargetElement):
9613 (WI.EventBreakpointPopover.prototype._handleTypeSelectChange): Added.
9614 (WI.EventBreakpointPopover.prototype.get result): Deleted.
9615 (WI.EventBreakpointPopover.prototype.get value): Deleted.
9616 * UserInterface/Views/EventBreakpointPopover.css:
9617 (.popover .event-breakpoint-content > .event-type): Added.
9618 (.popover .event-breakpoint-content > input): Deleted.
9619
9620 * UserInterface/Views/EventBreakpointTreeElement.js:
9621 (WI.EventBreakpointTreeElement):
9622 * UserInterface/Views/EventBreakpointTreeElement.css:
9623 (.breakpoint.event.animation-frame:not(.breakpoint-paused-icon) .icon): Added.
9624 (.breakpoint.event.listener:not(.breakpoint-paused-icon) .icon): Added.
9625 (.breakpoint.event.timer:not(.breakpoint-paused-icon) .icon): Added.
9626 (.breakpoint.event:not(.breakpoint-paused-icon) .icon): Deleted.
9627
96282018-08-23 Devin Rousso <drousso@apple.com>
9629
drousso@apple.comb3942382018-08-23 20:20:15 +00009630 Web Inspector: `console.inspect(sessionStorage)` first time does not show Session Storage content view if Storage tab was previously unvisited
9631 https://bugs.webkit.org/show_bug.cgi?id=188801
9632
9633 Reviewed by Matt Baker.
9634
9635 * UserInterface/Base/Main.js:
9636 (WI.tabContentViewClassForRepresentedObject):
9637 (WI._storageWasInspected):
9638 Since the `WI.StorageSidebarPanel` is not created until the `WI.StorageTabContentView` is
9639 created, the `WI.StorageManager.Event.DOMStorageObjectWasInspected` and
9640 `WI.StorageManager.Event.DatabaseWasInspected` events do not reach the sidebar. We should
9641 follow what `WI._domNodeWasInspected` does and additionally call `WI.showRepresentedObject`
9642 on the inspected object.
9643
96442018-08-23 Devin Rousso <drousso@apple.com>
9645
drousso@apple.com687c5c32018-08-23 20:06:14 +00009646 Web Inspector: REGRESSION: InspectorStyleSheet not visible in the resources sidebar
9647 https://bugs.webkit.org/show_bug.cgi?id=188819
9648 <rdar://problem/43579039>
9649
9650 Reviewed by Brian Burg.
9651
9652 * UserInterface/Models/ResourceCollection.js:
9653 (WI.ResourceCollection.prototype.objectIsRequiredType):
9654
commit-queue@webkit.orgdd75e002018-08-23 16:37:02 +000096552018-08-23 Joseph Pecoraro <pecoraro@apple.com>
9656
9657 JSContext Inspector: Scripts not showing up in Resources tab
9658 https://bugs.webkit.org/show_bug.cgi?id=188814
9659 <rdar://problem/43576117>
9660
9661 Reviewed by Brian Burg.
9662
9663 * UserInterface/Views/ResourceSidebarPanel.js:
9664 (WI.ResourceSidebarPanel.prototype._addScript):
9665 This path shouldn't apply to JSContext inspection which will
9666 never have a pageTarget and but doesn't have a mainResource.
9667
drousso@apple.com12df7852018-08-22 17:56:44 +000096682018-08-22 Devin Rousso <drousso@apple.com>
9669
9670 Web Inspector: cannot delete multiple event breakpoints by repeatedly hitting delete
9671 https://bugs.webkit.org/show_bug.cgi?id=188803
9672 <rdar://problem/43572838>
9673
9674 Reviewed by Matt Baker.
9675
9676 * UserInterface/Views/DebuggerSidebarPanel.js:
9677 (WI.DebuggerSidebarPanel.prototype._domBreakpointAddedOrRemoved):
9678 (WI.DebuggerSidebarPanel.prototype._eventBreakpointAddedOrRemoved):
9679
carlosgc@webkit.orgf7162422018-08-22 07:13:03 +000096802018-08-22 Carlos Garcia Campos <cgarcia@igalia.com>
9681
9682 Unreviewed. Do not include TreeOutlineDataGridSynchronizer.js in inspector main.
9683
9684 The script was removed in r235151.
9685
9686 * UserInterface/Main.html:
9687
mattbaker@apple.com65026172018-08-22 01:08:47 +000096882018-08-21 Matt Baker <mattbaker@apple.com>
9689
9690 Web Inspector: Remove TreeOutlineDataGridSynchronizer
9691 https://bugs.webkit.org/show_bug.cgi?id=188449
9692 <rdar://problem/43107980>
9693
9694 Reviewed by Devin Rousso.
9695
9696 * UserInterface/Views/HeapAllocationsTimelineView.js:
9697 (WI.HeapAllocationsTimelineView.prototype.layout):
9698 * UserInterface/Views/LayoutTimelineView.js:
9699 (WI.LayoutTimelineView.prototype._processPendingRecords):
9700 * UserInterface/Views/NetworkTimelineView.js:
9701 (WI.NetworkTimelineView.prototype._processPendingRecords):
9702 * UserInterface/Views/RenderingFrameTimelineView.js:
9703 (WI.RenderingFrameTimelineView.prototype._processPendingRecords):
9704 (WI.RenderingFrameTimelineView.prototype.dataGridNodeForTreeElement): Deleted.
9705 * UserInterface/Views/ScriptDetailsTimelineView.js:
9706 (WI.ScriptDetailsTimelineView.prototype._processPendingRecords):
9707 * UserInterface/Views/TimelineDataGrid.js:
9708 (WI.TimelineDataGrid):
9709 (WI.TimelineDataGrid.prototype.reset):
9710 (WI.TimelineDataGrid.prototype.shown):
9711 (WI.TimelineDataGrid.prototype.addRowInSortOrder):
9712 (WI.TimelineDataGrid.prototype._refreshDirtyDataGridNodes):
9713 (WI.TimelineDataGrid.prototype._sort):
9714 (WI.TimelineDataGrid.prototype.treeElementForDataGridNode): Deleted.
9715 (WI.TimelineDataGrid.prototype.dataGridNodeForTreeElement): Deleted.
9716 * UserInterface/Views/TreeOutlineDataGridSynchronizer.js: Removed.
9717
commit-queue@webkit.org92139ec2018-08-21 23:58:21 +000097182018-08-21 Joseph Pecoraro <pecoraro@apple.com>
9719
9720 Web Inspector: ⌘G does not while find banner is focused
9721 https://bugs.webkit.org/show_bug.cgi?id=188815
9722 <rdar://problem/43577158>
9723
9724 Reviewed by Matt Baker.
9725
9726 * UserInterface/Base/Main.js:
9727 Allow an <input> element to be the current focus element, which is what will
9728 our global KeyboardShortcut handlers will interact with. Also make sure
9729 that showing the find banner for the first time still focuses it.
9730
drousso@apple.com3a321562018-08-21 21:22:58 +000097312018-08-21 Devin Rousso <drousso@apple.com>
9732
drousso@apple.com4b2a92a2018-08-21 22:08:18 +00009733 Web Inspector: REGRESSION(r235095): duplicate actions existing in WI.CanvasSidebarPanel
9734 https://bugs.webkit.org/show_bug.cgi?id=188808
9735
9736 Reviewed by Joseph Pecoraro.
9737
9738 * UserInterface/Views/CanvasSidebarPanel.js:
9739 (WI.CanvasSidebarPanel.prototype._recordingChanged):
9740 Check that the `WI.RecordingAction` is not already represented in the `WI.TreeOutline`
9741 before adding it.
9742
9743 * UserInterface/Views/CanvasSidebarPanel.css:
9744 (.sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline .item.processing .subtitle > progress):
9745 Drive-by: vertically center the <progress> shown for `WI.RecordingFrame` during processing.
9746
97472018-08-21 Devin Rousso <drousso@apple.com>
9748
drousso@apple.com3a321562018-08-21 21:22:58 +00009749 Web Inspector: Canvas: provide default icon for all actions
9750 https://bugs.webkit.org/show_bug.cgi?id=188807
9751
9752 Reviewed by Matt Baker.
9753
9754 * UserInterface/Views/RecordingActionTreeElement.css:
9755 (.item.action > .icon):
9756 (.item.action.initial-state > .icon): Deleted.
9757
commit-queue@webkit.org10ef0562018-08-21 21:00:30 +000097582018-08-21 Joseph Pecoraro <pecoraro@apple.com>
9759
9760 Web Inspector: Rulers.svg is missing
9761 https://bugs.webkit.org/show_bug.cgi?id=188806
9762 <rdar://problem/43574273>
9763
9764 Reviewed by Devin Rousso.
9765
9766 * UserInterface/Images/Rulers.svg: Added.
9767
drousso@apple.com6cbb7b82018-08-20 21:31:55 +000097682018-08-20 Devin Rousso <drousso@apple.com>
9769
drousso@apple.com424f8312018-08-21 02:15:28 +00009770 Web Inspector: allow breakpoints to be set for specific event listeners
9771 https://bugs.webkit.org/show_bug.cgi?id=183138
9772
9773 Reviewed by Joseph Pecoraro.
9774
9775 * Localizations/en.lproj/localizedStrings.js:
9776
9777 * UserInterface/Models/EventBreakpoint.js:
9778 (WI.EventBreakpoint):
9779 (WI.EventBreakpoint.fromPayload): Added.
9780 (WI.EventBreakpoint.prototype.get eventListener): Added.
9781
9782 * UserInterface/Controllers/DOMDebuggerManager.js:
9783 (WI.DOMDebuggerManager):
9784
9785 * UserInterface/Controllers/DOMTreeManager.js:
9786 (WI.DOMTreeManager):
9787 (WI.DOMTreeManager.prototype.get eventBreakpoints): Added.
9788 (WI.DOMTreeManager.prototype._setDocument):
9789 (WI.DOMTreeManager.prototype.setEventListenerDisabled):
9790 (WI.DOMTreeManager.prototype.setBreakpointForEventListener): Added.
9791 (WI.DOMTreeManager.prototype.removeBreakpointForEventListener): Added.
9792 (WI.DOMTreeManager.prototype.breakpointForEventListenerId): Added.
9793
9794 * UserInterface/Controllers/EventBreakpointTreeController.js:
9795 (WI.EventBreakpointTreeController):
9796
9797 * UserInterface/Views/DebuggerSidebarPanel.js:
9798 (WI.DebuggerSidebarPanel.prototype._updatePauseReasonSection):
9799
9800 * UserInterface/Views/EventListenerSectionGroup.js:
9801 (WI.EventListenerSectionGroup):
9802 (WI.EventListenerSectionGroup.prototype._createDisabledToggleRow):
9803 (WI.EventListenerSectionGroup.prototype._createBreakpointToggleRow): Added.
9804
9805 * UserInterface/Views/EventBreakpointTreeElement.js:
9806 (WI.EventBreakpointTreeElement):
9807 (WI.EventBreakpointTreeElement.prototype.ondelete):
9808 (WI.EventBreakpointTreeElement.prototype.populateContextMenu):
9809 (WI.EventBreakpointTreeElement.prototype._toggleBreakpoint):
9810
98112018-08-20 Devin Rousso <drousso@apple.com>
9812
drousso@apple.com6cbb7b82018-08-20 21:31:55 +00009813 Web Inspector: Canvas tab: allow recording processing to be stopped midway
9814 https://bugs.webkit.org/show_bug.cgi?id=185152
9815
9816 Reviewed by Joseph Pecoraro.
9817
9818 Previously, `WI.Recording` used a `WI.YieldableTask` to process every action in such a way
9819 as to not block the UI. The downside to this approach was that it used a message view to
9820 indicate the progress of this process, and prevented the user from viewing the `WI.Recording`
9821 until that process was completed.
9822
9823 This patch changes `WI.Recording` to instead use `async/await` and fire events whenever a
9824 `WI.RecordingAction` (and `WI.RecordingFrame`) finished processing, allowing it to be added
9825 to the recording `WI.TreeOutline` and selected by the user. Additionally, a pause/resume
9826 button is added to the `WI.CanvasSidebarPanel` so the user has greater control over what
9827 how much of the `WI.Recording` they want to process.
9828
9829 * Localizations/en.lproj/localizedStrings.js:
9830
9831 * UserInterface/Base/Utilities.js:
9832 (Promise.delay)
9833 Utility function for promisifying `setTimeout`.
9834
9835 * UserInterface/Models/Recording.js:
9836 (WI.Recording):
9837 (WI.Recording.prototype.get processing): Added.
9838 (WI.Recording.prototype.get ready): Added.
9839 (WI.Recording.prototype.startProcessing): Added.
9840 (WI.Recording.prototype.stopProcessing): Added.
9841 (WI.Recording.prototype.async._process): Added.
9842 (WI.Recording.prototype.process): Deleted.
9843 (WI.Recording.prototype.async.yieldableTaskWillProcessItem): Deleted.
9844 (WI.Recording.prototype.async.yieldableTaskDidFinish): Deleted.
9845
9846 * UserInterface/Models/RecordingAction.js:
9847 (WI.RecordingAction):
9848 (WI.RecordingAction.prototype.get ready): Added.
9849 (WI.RecordingAction.prototype.async.swizzle):
9850 (WI.RecordingAction.prototype.apply):
9851
9852 * UserInterface/Models/RecordingInitialStateAction.js:
9853 (WI.RecordingInitialStateAction):
9854
9855 * UserInterface/Views/CanvasSidebarPanel.js:
9856 (WI.CanvasSidebarPanel):
9857 (WI.CanvasSidebarPanel.prototype.set recording):
9858 (WI.CanvasSidebarPanel.prototype.set action):
9859 (WI.CanvasSidebarPanel.prototype._recordingAdded):
9860 (WI.CanvasSidebarPanel.prototype._recordingRemoved):
9861 (WI.CanvasSidebarPanel.prototype._currentRepresentedObjectsDidChange):
9862 (WI.CanvasSidebarPanel.prototype._treeOutlineSelectionDidChange):
9863 (WI.CanvasSidebarPanel.prototype._recordingChanged):
9864 (WI.CanvasSidebarPanel.prototype._recordingChanged.createPauseButton): Added.
9865 (WI.CanvasSidebarPanel.prototype._recordingChanged.createResumeButton): Added.
9866 (WI.CanvasSidebarPanel.prototype._createRecordingFrameTreeElement): Added.
9867 (WI.CanvasSidebarPanel.prototype._createRecordingActionTreeElement): Added.
9868 (WI.CanvasSidebarPanel.prototype._handleRecordingProcessedAction): Added.
9869 (WI.CanvasSidebarPanel.prototype._handleRecordingStartProcessingFrame): Added.
9870 * UserInterface/Views/CanvasSidebarPanel.css:
9871 (.sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline .item.processing .subtitle > progress): Added.
9872 (.sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline:matches(:focus, .force-focus) .item.processing.selected .subtitle > progress): Added.
9873 (.sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline .item.processing .subtitle::before): Added.
9874 (.sidebar > .panel.navigation.canvas > .content > .recording-content > .recording-processing-options): Added.
9875 (.sidebar > .panel.navigation.canvas > .content > .recording-content > .recording-processing-options > .indeterminate-progress-spinner): Added.
9876 (.sidebar > .panel.navigation.canvas > .content > .recording-content > .indeterminate-progress-spinner): Deleted.
9877
9878 * UserInterface/Views/RecordingContentView.js:
9879 (WI.RecordingContentView):
9880 (WI.RecordingContentView.prototype.updateActionIndex):
9881 (WI.RecordingContentView.prototype.initialLayout):
9882 (WI.RecordingContentView.prototype._updateCanvasPath):
9883 (WI.RecordingContentView.prototype._handleRecordingProcessedAction): Added.
9884 (WI.RecordingContentView.prototype._updateProcessProgress): Deleted.
9885 (WI.RecordingContentView.prototype._handleRecordingProcessedActionSwizzle): Deleted.
9886 (WI.RecordingContentView.prototype._handleRecordingProcessedActionApply): Deleted.
9887 * UserInterface/Views/RecordingContentView.css:
9888 (.content-view:not(.tab).recording > header > .slider-container > .slider-value): Added.
9889
9890 * UserInterface/Views/FolderTreeElement.js:
9891 (WI.FolderTreeElement):
9892
9893 * UserInterface/Views/GeneralTreeElement.js:
9894 (WI.GeneralTreeElement.prototype.get statusElement): Added.
9895 (WI.GeneralTreeElement.prototype._updateTitleElements):
9896
9897 * UserInterface/Views/RecordingContentView.js:
9898 (WI.CanvasContentView.prototype._handleViewShaderButtonClicked):
9899 (WI.CanvasContentView.prototype._handleViewRecordingButtonClicked):
9900 Drive-by: `WI.Collection` doesn't have a `values()` accessor for the underlying `Set`.
9901
9902 * UserInterface/Views/RecordingNavigationSidebarPanel.css: Removed.
9903 * UserInterface/Views/RecordingNavigationSidebarPanel.js: Removed.
9904 These files are no longer used since they were "merged" into `WI.CanvasSidebarPanel`.
9905
webkit@devinrousso.combfca5b72018-08-20 20:30:50 +000099062018-08-20 Devin Rousso <webkit@devinrousso.com>
9907
9908 Web Inspector: Canvas tab: create icons for recordings/shaders in the preview tile
9909 https://bugs.webkit.org/show_bug.cgi?id=183650
9910
9911 Reviewed by Joseph Pecoraro.
9912
9913 * Localizations/en.lproj/localizedStrings.js:
9914
9915 * UserInterface/Views/CanvasContentView.js:
9916 (WI.CanvasContentView):
9917 (WI.CanvasContentView.prototype.initialLayout):
9918 (WI.CanvasContentView.prototype.attached):
9919 (WI.CanvasContentView.prototype._recordingStopped):
9920 (WI.CanvasContentView.prototype._shaderProgramAdded):
9921 (WI.CanvasContentView.prototype._shaderProgramRemoved):
9922 (WI.CanvasContentView.prototype._updateViewRelatedItems):
9923 (WI.CanvasContentView.prototype._handleViewShaderButtonClicked):
9924 (WI.CanvasContentView.prototype._handleViewRecordingButtonClicked):
9925 (WI.CanvasContentView.prototype._addRecording): Deleted.
9926 (WI.CanvasContentView.prototype._handleRecordingSelectElementChange): Deleted.
9927 * UserInterface/Views/CanvasOverviewContentView.css:
9928 (.content-view.canvas-overview .content-view.canvas > footer > .view-related-items):
9929 (.content-view.canvas-overview .content-view.canvas > footer > .view-related-items > :matches(.view-shader, .view-recording)):
9930 (.content-view.canvas-overview .content-view.canvas > footer > .view-related-items > img + img):
9931 (.content-view.canvas-overview .content-view.canvas > footer > .view-related-items > .view-shader):
9932 (.content-view.canvas-overview .content-view.canvas > footer > .view-related-items > .view-recording):
9933 (.content-view.canvas-overview .content-view.canvas > footer > .recordings): Deleted.
9934 (.content-view.canvas-overview .content-view.canvas > footer > .recordings::before): Deleted.
9935 (.content-view.canvas-overview .content-view.canvas > footer > .recordings > select): Deleted.
9936 (.content-view.canvas-overview .content-view.canvas > footer .recordings > select:focus): Deleted.
9937 Create two image buttons in the bottom left corner of each canvas tile that appear when the
9938 canvas has associated shaders and/or recordings. Clicking each image button will function
9939 similar to path components, in that if there is only one shader/recording, it is immediately
9940 selected, whereas if there are multiple a dropdown is shown.
9941
9942 * UserInterface/Views/CanvasSidebarPanel.js:
9943 (WI.CanvasSidebarPanel.prototype._currentRepresentedObjectsDidChange):
9944 (WI.CanvasSidebarPanel.prototype._recordingChanged):
9945 Drive-by: ensure that the selected recording action is properly updated when first loading a
9946 recording and when scrubbing through one.
9947
drousso@apple.com7a1bd382018-08-17 02:37:46 +000099482018-08-16 Devin Rousso <drousso@apple.com>
9949
9950 Web Inspector: support breakpoints for arbitrary event names
9951 https://bugs.webkit.org/show_bug.cgi?id=183118
9952
9953 Reviewed by Joseph Pecoraro.
9954
9955 Create UI for setting breakpoints on event names. Ties into renamed DOMDebugger commands,
9956 specifically `setEventBreakpoint` and `removeEventBreakpoint`, that will pause execution if
9957 any DOM event is fired that matches any previously registered breakpoints.
9958
9959 Event breakpoints are distinguished by name, and they currently apply globally, meaning
9960 that only one breakpoint per event name can be registered.
9961
9962 Event breakpoints are created in the Debugger tab in a new "Event Breakpoints" section in
9963 the Navigation sidebar. A new type of popover, EventBreakpointPopover, is used, but right
9964 now all it contains is a basic text input for the event name. Similarly, a new TreeElement
9965 subclass, EventBreakpointTreeElement, is used when showing the list of event listener
9966 breakpoints, but all it shows now is the event name.
9967
9968 The majority of the logic in this patch was derived from XHR breakpoints.
9969
9970 * Localizations/en.lproj/localizedStrings.js:
9971 * UserInterface/Main.html:
9972 * UserInterface/Test.html:
9973 * UserInterface/Images/EventBreakpoint.svg: Added.
9974
9975 * UserInterface/Models/EventBreakpoint.js: Added.
9976 (WI.EventBreakpoint):
9977 (WI.EventBreakpoint.prototype.get eventName):
9978 (WI.EventBreakpoint.prototype.get disabled):
9979 (WI.EventBreakpoint.prototype.set disabled):
9980 (WI.EventBreakpoint.prototype.get serializableInfo):
9981 (WI.EventBreakpoint.prototype.saveIdentityToCookie):
9982
9983 * UserInterface/Controllers/DOMDebuggerManager.js:
9984 (WI.DOMDebuggerManager):
9985 (WI.DOMDebuggerManager.prototype.get eventBreakpoints): Added.
9986 (WI.DOMDebuggerManager.prototype.eventBreakpointForEventName): Added.
9987 (WI.DOMDebuggerManager.prototype.addEventBreakpoint): Added.
9988 (WI.DOMDebuggerManager.prototype.removeEventBreakpoint): Added.
9989 (WI.DOMDebuggerManager.prototype._speculativelyResolveBreakpoints):
9990 (WI.DOMDebuggerManager.prototype._updateEventBreakpoint.breakpointUpdated): Added.
9991 (WI.DOMDebuggerManager.prototype._updateEventBreakpoint): Added.
9992 (WI.DOMDebuggerManager.prototype._resolveEventBreakpoint): Added.
9993 (WI.DOMDebuggerManager.prototype._saveEventBreakpoints): Added.
9994 (WI.DOMDebuggerManager.prototype._eventBreakpointDisabledStateDidChange): Added.
9995
9996 * UserInterface/Controllers/DebuggerManager.js:
9997 (WI.DebuggerManager.prototype._pauseReasonFromPayload):
9998
9999 * UserInterface/Controllers/EventBreakpointTreeController.js: Added.
10000 (WI.EventBreakpointTreeController):
10001 (WI.EventBreakpointTreeController.prototype.revealAndSelect):
10002 (WI.EventBreakpointTreeController.prototype._eventBreakpointAdded):
10003 (WI.EventBreakpointTreeController.prototype._eventBreakpointRemoved):
10004 (WI.EventBreakpointTreeController.prototype._addTreeElement):
10005
10006 * UserInterface/Views/DebuggerSidebarPanel.js:
10007 (WI.DebuggerSidebarPanel):
10008 (WI.DebuggerSidebarPanel.prototype._updatePauseReasonSection):
10009 (WI.DebuggerSidebarPanel.prototype._eventBreakpointAddedOrRemoved): Added.
10010 (WI.DebuggerSidebarPanel.prototype._addEventBreakpointButtonClicked): Added.
10011 (WI.DebuggerSidebarPanel.prototype.willDismissPopover):
10012
10013 * UserInterface/Views/EventBreakpointTreeElement.js: Added.
10014 (WI.EventBreakpointTreeElement):
10015 (WI.EventBreakpointTreeElement.prototype.onattach):
10016 (WI.EventBreakpointTreeElement.prototype.ondetach):
10017 (WI.EventBreakpointTreeElement.prototype.ondelete):
10018 (WI.EventBreakpointTreeElement.prototype.onenter):
10019 (WI.EventBreakpointTreeElement.prototype.onspace):
10020 (WI.EventBreakpointTreeElement.prototype.populateContextMenu):
10021 (WI.EventBreakpointTreeElement.prototype._statusImageElementClicked):
10022 (WI.EventBreakpointTreeElement.prototype._statusImageElementFocused):
10023 (WI.EventBreakpointTreeElement.prototype._statusImageElementMouseDown):
10024 (WI.EventBreakpointTreeElement.prototype._toggleBreakpoint):
10025 (WI.EventBreakpointTreeElement.prototype._updateStatus):
10026 * UserInterface/Views/EventBreakpointTreeElement.css: Added.
10027 (.breakpoint.event-listener:not(.breakpoint-paused-icon) .icon):
10028
10029 * UserInterface/Views/EventBreakpointPopover.js: Added.
10030 (WI.EventBreakpointPopover):
10031 (WI.EventBreakpointPopover.prototype.get result):
10032 (WI.EventBreakpointPopover.prototype.get value):
10033 (WI.EventBreakpointPopover.prototype.show):
10034 (WI.EventBreakpointPopover.prototype._presentOverTargetElement):
10035 * UserInterface/Views/EventBreakpointPopover.css: Added.
10036 (.popover .event-listener-breakpoint-content):
10037 (.popover .event-listener-breakpoint-content > input):
10038
10039 * UserInterface/Views/NavigationSidebarPanel.js:
10040 (WI.NavigationSidebarPanel.prototype._isTreeElementWithoutRepresentedObject):
10041
commit-queue@webkit.org9356f972018-08-16 18:41:30 +0000100422018-08-16 Joseph Pecoraro <pecoraro@apple.com>
10043
commit-queue@webkit.orge78cf802018-08-16 22:49:04 +000010044 Web Inspector: Show Initiator information in Network Table
10045 https://bugs.webkit.org/show_bug.cgi?id=188590
10046 <rdar://problem/43305488>
10047
10048 Reviewed by Matt Baker.
10049
10050 * UserInterface/Views/NetworkResourceDetailView.js:
10051 (WI.NetworkResourceDetailView):
10052 (WI.NetworkResourceDetailView.prototype.shown):
10053 (WI.NetworkResourceDetailView.prototype.willShowWithCookie):
10054 (WI.NetworkResourceDetailView.prototype._showContentViewForNavigationItem):
10055 When a ResourceDetailView gets shown, it may also want to show its initial content view
10056 with a cookie as the cookie may contain position highlight information.
10057
10058 * UserInterface/Views/NetworkTableContentView.js:
10059 (WI.NetworkTableContentView):
10060 (WI.NetworkTableContentView.prototype._showResourceDetailView):
10061 (WI.NetworkTableContentView.prototype.showRepresentedObject):
10062 When showing a represented object, pass the cookie information on to the detail
10063 view's so that it may include the cookie when showing the final content view.
10064
10065 (WI.NetworkTableContentView.prototype.tablePopulateCell):
10066 (WI.NetworkTableContentView.prototype._populateInitiatorCell):
10067 (WI.NetworkTableContentView.prototype.initialLayout):
10068 New initiator column contains a source code link to the call site.
10069
10070 (WI.NetworkTableContentView.prototype._generateSortComparator):
10071 (WI.NetworkTableContentView.prototype._entryForResource):
10072 Entry data for the initiator is a display string that can be sorted easily.
10073
100742018-08-16 Joseph Pecoraro <pecoraro@apple.com>
10075
commit-queue@webkit.org9356f972018-08-16 18:41:30 +000010076 LayoutTest inspector/worker/debugger-pause.html sometimes times out
10077 https://bugs.webkit.org/show_bug.cgi?id=188580
10078
10079 Reviewed by Matt Baker.
10080
10081 * UserInterface/Protocol/Target.js:
10082 (WI.Target.prototype.get mainResource):
10083 (WI.Target.prototype.set mainResource):
10084 Dispatch an event when the Main Resource is set.
10085
akeerthi@apple.coma1332872018-08-15 20:42:26 +0000100862018-08-15 Aditya Keerthi <akeerthi@apple.com>
10087
10088 [Datalist] Add button to TextFieldInputs with a datalist
10089 https://bugs.webkit.org/show_bug.cgi?id=187741
10090
10091 Reviewed by Tim Horton.
10092
10093 Add keyword completion for 'list-button'.
10094
10095 * UserInterface/External/CodeMirror/css.js:
10096 * UserInterface/Models/CSSKeywordCompletions.js:
10097
drousso@apple.comafbfd7c2018-08-15 17:29:14 +0000100982018-08-15 Devin Rousso <drousso@apple.com>
10099
10100 Web Inspector: REGRESSION(r?): the probe sidebar doesn't show up when adding probes
10101 https://bugs.webkit.org/show_bug.cgi?id=188594
10102
10103 Reviewed by Brian Burg.
10104
10105 * UserInterface/Views/ProbeDetailsSidebarPanel.js:
10106 (WI.ProbeDetailsSidebarPanel.prototype.set inspectedProbeSets):
10107 (WI.ProbeDetailsSidebarPanel.prototype.initialLayout):
10108 Add checks to ensure that DOM elements for each probe section exist before trying to
10109 add/remove them from the sidebar. This can happen if probes are inspected before the sidebar
10110 is shown for the first time.
10111
10112 * UserInterface/Views/ProbeSetDataGrid.js:
10113 (WI.ProbeSetDataGrid):
10114 (WI.ProbeSetDataGrid.columnIdentifierForProbe): Added.
10115 (WI.ProbeSetDataGrid.prototype._setupProbe):
10116 (WI.ProbeSetDataGrid.prototype._teardownProbe):
10117 (WI.ProbeSetDataGrid.prototype._probeExpressionChanged):
10118 * UserInterface/Views/ProbeSetDataGridNode.js:
10119 (WI.ProbeSetDataGridNode.prototype.set frame):
10120 Provide better column identifiers for each probe's `WI.DataGrid`. It's possible for the
10121 numeric probe ID value to be stringified when passing it into the constructor of
10122 `WI.DataGrid`, which will not match the original numeric value on later retrieval.
10123
mattbaker@apple.com8e8fd912018-08-15 06:10:34 +0000101242018-08-14 Matt Baker <mattbaker@apple.com>
10125
10126 Web Inspector: Table should not center rows when scrolling them into view
10127 https://bugs.webkit.org/show_bug.cgi?id=188593
10128 <rdar://problem/43311660>
10129
10130 Reviewed by Devin Rousso.
10131
10132 * UserInterface/Views/Table.js:
10133 (WI.Table.prototype._handleKeyDown):
10134
mattbaker@apple.com1df5c5d2018-08-13 22:44:18 +0000101352018-08-13 Matt Baker <mattbaker@apple.com>
10136
10137 Web Inspector: Table should handle row selection instead of the table delegate
10138 https://bugs.webkit.org/show_bug.cgi?id=188534
10139 <rdar://problem/43253335>
10140
10141 Reviewed by Joseph Pecoraro.
10142
10143 Row selection should be implemented by Table, rather than its delegate.
10144
10145 * UserInterface/Views/NetworkTableContentView.js:
10146 (WI.NetworkTableContentView.prototype.tableShouldSelectRow):
10147 (WI.NetworkTableContentView.prototype.tableCellMouseDown): Deleted.
10148 Prevent selection unless the clicked cell belongs to the name column.
10149
10150 * UserInterface/Views/ResourceCookiesContentView.js:
10151 (WI.ResourceCookiesContentView.prototype.tableShouldSelectRow):
10152 Always prevent selection.
10153
10154 * UserInterface/Views/Table.js:
10155 (WI.Table):
10156 (WI.Table.prototype._handleMouseDown):
10157
akeerthi@apple.com969f86d2018-08-12 20:19:25 +0000101582018-08-12 Aditya Keerthi <akeerthi@apple.com>
10159
10160 [macOS] Color wells should appear pressed when presenting a color picker
10161 https://bugs.webkit.org/show_bug.cgi?id=188477
10162
10163 Reviewed by Tim Horton.
10164
10165 Add keyword completion for 'color-well'.
10166
10167 * UserInterface/External/CodeMirror/css.js:
10168 * UserInterface/Models/CSSKeywordCompletions.js:
10169
nvasilyev@apple.com39754d82018-08-09 21:47:00 +0000101702018-08-09 Nikita Vasilyev <nvasilyev@apple.com>
10171
10172 Web Inspector: Dark Mode: SourceCodeTextEditor error/warning text widget is too light
10173 https://bugs.webkit.org/show_bug.cgi?id=188126
10174 <rdar://problem/42674963>
10175
10176 Reviewed by Matt Baker.
10177
10178 * UserInterface/Views/DarkMode.css:
10179 (@media (prefers-dark-interface)):
10180 (.source-code.text-editor > .CodeMirror .issue-widget.warning,): Added.
10181 (.source-code.text-editor > .CodeMirror .issue-widget.error,): Added.
10182
commit-queue@webkit.org23c57722018-08-07 16:19:44 +0000101832018-08-07 Joseph Pecoraro <pecoraro@apple.com>
10184
10185 Web Inspector: Add another Protocol Version (iOS 12)
10186 https://bugs.webkit.org/show_bug.cgi?id=188359
10187 <rdar://problem/42981364>
10188
10189 Reviewed by Brian Burg.
10190
10191 * UserInterface/Protocol/Legacy/12.0/InspectorBackendCommands.js: Added.
10192 * Versions/Inspector-iOS-12.0.json: Added.
10193
joepeck@webkit.org1a0f3762018-08-07 00:25:52 +0000101942018-08-06 Joseph Pecoraro <pecoraro@apple.com>
10195
10196 Web Inspector: Global search sometimes returns duplicate results for a resource
10197 https://bugs.webkit.org/show_bug.cgi?id=188270
10198 <rdar://problem/42867498>
10199
10200 Reviewed by Brian Burg.
10201
10202 * UserInterface/Views/SearchSidebarPanel.js:
10203 (WI.SearchSidebarPanel.prototype.performSearch.resourcesCallback):
10204 Avoid duplicate search results in the frontend. We should also fix the backend
10205 but a frontend fix will also be desired for backends that have the issue.
10206
commit-queue@webkit.org0406f9f2018-08-03 23:13:57 +0000102072018-08-03 Alex Christensen <achristensen@webkit.org>
10208
10209 Fix spelling of "overridden"
10210 https://bugs.webkit.org/show_bug.cgi?id=188315
10211
10212 Reviewed by Darin Adler.
10213
10214 * UserInterface/Views/ContentBrowserTabContentView.js:
10215 (WI.ContentBrowserTabContentView.prototype.treeElementForRepresentedObject):
10216 * UserInterface/Views/GeneralTreeElement.js:
10217 (WI.GeneralTreeElement.prototype.ondetach):
10218 * UserInterface/Views/NavigationBar.js:
10219 (WI.NavigationBar.prototype.get sizesToFit):
10220 * UserInterface/Views/NavigationSidebarPanel.js:
10221 (WI.NavigationSidebarPanel.prototype.shouldFilterPopulate):
10222 * UserInterface/Views/TextEditor.js:
10223 (WI.TextEditor.prototype.canBeFormatted):
10224 * UserInterface/Views/TreeElement.js:
10225 (WI.TreeElement.prototype.onpopulate):
10226
nvasilyev@apple.comd8194642018-08-01 18:09:38 +0000102272018-08-01 Nikita Vasilyev <nvasilyev@apple.com>
10228
nvasilyev@apple.comd21450e2018-08-01 18:12:17 +000010229 Web Inspector: Dark Mode: SourceCodeTextEditor thread indicator widget is too light
10230 https://bugs.webkit.org/show_bug.cgi?id=188119
10231 <rdar://problem/42670811>
10232
10233 Reviewed by Matt Baker.
10234
10235 Make the background of the thread indicator widget darker.
10236
10237 Reduce the number of HTML elements and simplify CSS by removing the HTML element that drew an arrow and using clip-path on inline widgets instead.
10238
10239 * UserInterface/Views/DarkMode.css:
10240 (@media (prefers-dark-interface)):
10241 (.text-editor > .CodeMirror .execution-line):
10242 (.text-editor > .CodeMirror .execution-range-highlight:not(.CodeMirror-selectedtext),):
10243 * UserInterface/Views/SourceCodeTextEditor.css:
10244 (.source-code.text-editor .CodeMirror-linewidget):
10245 (.source-code.text-editor > .CodeMirror .line-indicator-widget.inline):
10246 (@media (prefers-dark-interface)):
10247 (.source-code.text-editor > .CodeMirror .thread-widget.inline):
10248 * UserInterface/Views/SourceCodeTextEditor.js:
10249 (WI.SourceCodeTextEditor.prototype._updateThreadIndicatorWidget):
10250 (WI.SourceCodeTextEditor.prototype._updateIssueWidgetForIssues):
10251 * UserInterface/Views/TextEditor.css:
10252 (@media (prefers-dark-interface)):
10253 (.text-editor > .CodeMirror .execution-line.primary .CodeMirror-linenumber::after):
10254 * UserInterface/Views/Variables.css:
10255 (:root):
10256
102572018-08-01 Nikita Vasilyev <nvasilyev@apple.com>
10258
nvasilyev@apple.comd8194642018-08-01 18:09:38 +000010259 Web Inspector: Dark Mode: disabled breakpoints banner is too light
10260 https://bugs.webkit.org/show_bug.cgi?id=188120
10261 <rdar://problem/42671348>
10262
10263 Reviewed by Matt Baker.
10264
10265 * UserInterface/Views/DebuggerSidebarPanel.css:
10266 (@media (prefers-dark-interface)):
10267 (.sidebar > .panel.navigation.debugger .warning-banner):
10268
commit-queue@webkit.org97e13b12018-07-31 18:23:01 +0000102692018-07-31 Joseph Pecoraro <pecoraro@apple.com>
10270
10271 Web Inspector: Include a full URL tooltip when hovering the name in the Network Tab
10272 https://bugs.webkit.org/show_bug.cgi?id=188199
10273
10274 Reviewed by Matt Baker.
10275
10276 * UserInterface/Views/NetworkTableContentView.js:
10277 (WI.NetworkTableContentView.prototype._populateNameCell):
10278 Give a tooltip to the entire cell since the entire cell has interactivity.
10279
nvasilyev@apple.comd05f3642018-07-30 23:10:56 +0000102802018-07-30 Nikita Vasilyev <nvasilyev@apple.com>
10281
10282 Web Inspector: Dark Mode: Search sidebar panel text field has a white background
10283 https://bugs.webkit.org/show_bug.cgi?id=188128
10284 <rdar://problem/42678270>
10285
10286 Reviewed by Matt Baker.
10287
10288 Make the search bar in Search tab match the style of the filter bar.
10289
10290 * UserInterface/Views/DarkMode.css:
10291 (@media (prefers-dark-interface)):
10292 (:matches(.search-bar, .filter-bar) > input[type="search"],):
10293 (:matches(.search-bar, .filter-bar) > input[type="search"]::placeholder):
10294 (:matches(.search-bar, .filter-bar) > input[type="search"]:focus):
10295 (.filter-bar > input[type="search"]): Deleted.
10296 (.filter-bar > input[type="search"]::placeholder): Deleted.
10297 (.filter-bar > input[type="search"]:focus): Deleted.
10298
ryanhaddad@apple.comb8727ff2018-07-27 01:37:54 +0000102992018-07-26 Ryan Haddad <ryanhaddad@apple.com>
10300
10301 Unreviewed, rolling out r234281.
10302
10303 Broke internal builds.
10304
10305 Reverted changeset:
10306
10307 "[Datalist] Add button to TextFieldInputs with a datalist"
10308 https://bugs.webkit.org/show_bug.cgi?id=187741
10309 https://trac.webkit.org/changeset/234281
10310
commit-queue@webkit.org38893832018-07-26 23:12:23 +0000103112018-07-26 Aditya Keerthi <akeerthi@apple.com>
10312
10313 [Datalist] Add button to TextFieldInputs with a datalist
10314 https://bugs.webkit.org/show_bug.cgi?id=187741
10315
10316 Reviewed by Tim Horton.
10317
10318 Add keyword completion for 'list-button'.
10319
10320 * UserInterface/External/CodeMirror/css.js:
10321 * UserInterface/Models/CSSKeywordCompletions.js:
10322
nvasilyev@apple.com49e70b32018-07-26 00:19:45 +0000103232018-07-25 Nikita Vasilyev <nvasilyev@apple.com>
10324
10325 Web Inspector: Dark Mode: Breakpoint editor in JS debugger has inconsistent background
10326 https://bugs.webkit.org/show_bug.cgi?id=188026
10327
10328 Reviewed by Matt Baker.
10329
10330 * UserInterface/Views/DarkMode.css:
10331 (@media (prefers-dark-interface)):
10332 (.edit-breakpoint-popover-condition):
10333 (.breakpoint-action-eval-editor):
10334
nvasilyev@apple.comd256d632018-07-23 00:40:26 +0000103352018-07-22 Nikita Vasilyev <nvasilyev@apple.com>
10336
10337 Web Inspector: Dark Mode: remove odd-looking top border
10338 https://bugs.webkit.org/show_bug.cgi?id=187885
10339
10340 Reviewed by Matt Baker.
10341
10342 This border doesn't exist in the light mode, and it shouldn't be in the dark mode either.
10343
10344 * UserInterface/Views/DarkMode.css:
10345 (@media (prefers-dark-interface)):
10346 (body .toolbar):
10347
nvasilyev@apple.com79565b32018-07-21 00:30:09 +0000103482018-07-20 Nikita Vasilyev <nvasilyev@apple.com>
10349
10350 Web Inspector: Dark Mode: Layers tab background should be dark
10351 https://bugs.webkit.org/show_bug.cgi?id=187660
10352 <rdar://problem/42179616>
10353
10354 Reviewed by Brian Burg.
10355
10356 * UserInterface/Views/Layers3DContentView.js:
10357 (WI.Layers3DContentView.prototype.initialLayout):
10358 * UserInterface/Views/Variables.css:
10359 (:root):
10360
ross.kirsling@sony.comf8933cc2018-07-20 04:29:21 +0000103612018-07-19 Ross Kirsling <ross.kirsling@sony.com>
10362
10363 Web Inspector: Layers visualization shouldn't select on mousedown
10364 https://bugs.webkit.org/show_bug.cgi?id=187488
10365
10366 Reviewed by Matt Baker.
10367
10368 * UserInterface/Views/Layers3DContentView.js:
10369 (WI.Layers3DContentView):
10370 (WI.Layers3DContentView.prototype.initialLayout):
10371 (WI.Layers3DContentView.prototype._canvasMouseDown):
10372 (WI.Layers3DContentView.prototype._canvasMouseUp):
10373 Don't update selection on mousedown, update on mouseup!
10374 Specifically, only update when mousedown & mouseup targets are the same and mousemove hasn't been triggered.
10375
nvasilyev@apple.come763d212018-07-19 17:37:17 +0000103762018-07-19 Nikita Vasilyev <nvasilyev@apple.com>
10377
10378 Web Inspector: Dark Mode: poor contrast for Search Tab's "the page's content has changed" message
10379 https://bugs.webkit.org/show_bug.cgi?id=187792
10380
10381 Reviewed by Brian Burg.
10382
10383 * UserInterface/Views/DarkMode.css:
10384 (@media (prefers-dark-interface)):
10385 (:root):
10386 Make the background color slightly more yellow and less red. This slightly dicreases the contrast
10387 but makes the text look less like an error.
10388
10389 * UserInterface/Views/SearchSidebarPanel.css:
10390 (@media (prefers-dark-interface)):
10391 (.sidebar > .panel.navigation.search.changed > .banner):
10392
mattbaker@apple.com553c3e82018-07-18 18:40:14 +0000103932018-07-18 Matt Baker <mattbaker@apple.com>
10394
10395 Web Inspector: REGRESSION(r232591): CodeMirrorEditor should not use a RegExp lineSeparator option
10396 https://bugs.webkit.org/show_bug.cgi?id=187772
10397 <rdar://problem/42331640>
10398
10399 Reviewed by Joseph Pecoraro.
10400
10401 * UserInterface/Views/CodeMirrorEditor.js:
10402 (WI.CodeMirrorEditor.create):
10403 (WI.CodeMirrorEditor):
10404 CodeMirror should be left to auto-detect line separators. By default
10405 it detects \n, \r\n, and \r. By specifying a regular expression we
10406 merely cause problems when CodeMirror uses the supplied lineSeparator
10407 when joining its array of lines together.
10408
10409 * UserInterface/Views/TextEditor.js:
10410 (WI.TextEditor.set string.update):
10411 (WI.TextEditor.prototype.set string):
10412 This assertion was only true when we forced "\n" line endings everywhere.
10413 It no longer holds for source text with "\r\n" (Windows-style) line endings.
10414
mattbaker@apple.comfc115262018-07-16 20:06:52 +0000104152018-07-16 Matt Baker <mattbaker@apple.com>
10416
10417 Web Inspector: Fix execution highlighting after r233820
10418 https://bugs.webkit.org/show_bug.cgi?id=187703
10419 <rdar://problem/42246167>
10420
10421 Reviewed by Joseph Pecoraro.
10422
10423 * UserInterface/Views/SourceCodeTextEditor.js:
10424 (WI.SourceCodeTextEditor.prototype.textEditorExecutionHighlightRange):
10425 * UserInterface/Views/TextEditor.js:
10426 (WI.TextEditor.prototype.currentPositionToOriginalPosition):
10427 (WI.TextEditor.prototype._updateExecutionRangeHighlight):
10428
commit-queue@webkit.org62fe8802018-07-16 18:57:39 +0000104292018-07-16 Aaron Chu <aaron_chu@apple.com>
10430
10431 AX: Audit Tab should have an Audit Manager
10432 https://bugs.webkit.org/show_bug.cgi?id=184071
10433 <rdar://problem/38946364>
10434
10435 Reviewed by Brian Burg.
10436
10437 This implements the AuditManager for the audit feature. This patch revolves
10438 around building out an AuditManager that facilitates an audit. The AuditManager
10439 is responsible for managing and storing AuditReports and AuditTestSuites. It is
10440 also tasked to decide how to run a test -- whether as a test case or as a test
10441 suite. This patch also includes 4 models with which the AuditManager works to
10442 perform an audit and to generate a report. These models include AuditTestCase,
10443 which as a collection is stored inside an AuditTestSuite; and AuditResult,
10444 which, as a collection is stored inside an AuditReport.
10445
10446 * UserInterface/Controllers/AuditManager.js: Added.
10447 (WI.AuditManager):
10448 (WI.AuditManager.prototype.get testSuites):
10449 (WI.AuditManager.prototype.get reports):
10450 (WI.AuditManager.prototype.async.runAuditTestByRepresentedObject):
10451 (WI.AuditManager.prototype.reportForId):
10452 (WI.AuditManager.prototype.removeAllReports):
10453 (WI.AuditManager.prototype.async._runTestCase):
10454 * UserInterface/Main.html:
10455 * UserInterface/Models/AuditReport.js: Added.
10456 (WI.AuditReport):
10457 (WI.AuditReport.prototype.get representedTestCases):
10458 (WI.AuditReport.prototype.get representedTestSuite):
10459 (WI.AuditReport.prototype.get resultsData):
10460 (WI.AuditReport.prototype.get isWritable):
10461 (WI.AuditReport.prototype.get failedCount):
10462 (WI.AuditReport.prototype.addResult):
10463 (WI.AuditReport.prototype.close):
10464 * UserInterface/Models/AuditResult.js: Added.
10465 (WI.AuditResult):
10466 (WI.AuditResult.prototype.get testResult):
10467 (WI.AuditResult.prototype.get name):
10468 (WI.AuditResult.prototype.get logLevel):
10469 (WI.AuditResult.prototype.get failed):
10470 * UserInterface/Models/AuditTestCase.js: Added.
10471 (WI.AuditTestCase.prototype.get id):
10472 (WI.AuditTestCase.prototype.get name):
10473 (WI.AuditTestCase.prototype.get suite):
10474 (WI.AuditTestCase.prototype.get test):
10475 (WI.AuditTestCase.prototype.get setup):
10476 (WI.AuditTestCase.prototype.get tearDown):
10477 (WI.AuditTestCase.prototype.get errorDetails):
10478 (WI.AuditTestCase):
10479 * UserInterface/Models/AuditTestSuite.js: Added.
10480 (WI.AuditTestSuite):
10481 (WI.AuditTestSuite.testCaseDescriptors):
10482 (WI.AuditTestSuite.prototype.get id):
10483 (WI.AuditTestSuite.prototype.get name):
10484 (WI.AuditTestSuite.prototype.get testCases):
10485 (WI.AuditTestSuite.prototype._buildTestCasesFromDescriptors):
10486 * UserInterface/Test.html:
10487
nvasilyev@apple.com470ed7c2018-07-16 16:29:00 +0000104882018-07-16 Nikita Vasilyev <nvasilyev@apple.com>
10489
nvasilyev@apple.comf038b532018-07-16 16:37:34 +000010490 Web Inspector: Dark Mode: Console filter field buttons should be darker
10491 https://bugs.webkit.org/show_bug.cgi?id=187626
10492 <rdar://problem/42142744>
10493
10494 Reviewed by Brian Burg.
10495
10496 * UserInterface/Views/FindBanner.css:
10497 (@media (prefers-dark-interface)):
10498 (.find-banner > button.segmented):
10499 (.find-banner > button.segmented > .glyph):
10500
105012018-07-16 Nikita Vasilyev <nvasilyev@apple.com>
10502
nvasilyev@apple.com470ed7c2018-07-16 16:29:00 +000010503 Web Inspector: Dark Mode: selected item background color is too light
10504 https://bugs.webkit.org/show_bug.cgi?id=187691
10505 <rdar://problem/42225308>
10506
10507 Reviewed by Brian Burg.
10508
10509 * UserInterface/Views/DarkMode.css:
10510 (@media (prefers-dark-interface)):
10511 (:root):
10512 (.tree-outline.dom li.elements-drag-over .selection-area):
10513 (.tree-outline.dom:focus li.selected .selection-area):
10514
ap@apple.com32ffe412018-07-14 23:44:42 +0000105152018-07-14 Kocsen Chung <kocsen_chung@apple.com>
10516
10517 Ensure WebKit stack is ad-hoc signed
10518 https://bugs.webkit.org/show_bug.cgi?id=187667
10519
10520 Reviewed by Alexey Proskuryakov.
10521
10522 * Configurations/Base.xcconfig:
10523
mattbaker@apple.comc0e04c72018-07-13 17:10:28 +0000105242018-07-13 Matt Baker <mattbaker@apple.com>
10525
mattbaker@apple.comf5509302018-07-13 23:11:08 +000010526 Web Inspector: REGRESSION (r195723): Improve support for resources with '\r' and '\r\n' line endings
10527 https://bugs.webkit.org/show_bug.cgi?id=186453
10528 <rdar://problem/39689180>
10529
10530 Reviewed by Joseph Pecoraro.
10531
10532 Now that the frontend no longer uses offsets from the original source
10533 file to calculate positions within CodeMirror, it is possible to support
10534 resources with '\r' and '\r\n' line endings in the editor.
10535
10536 * UserInterface/Views/CodeMirrorEditor.js:
10537 (WI.CodeMirrorEditor.create):
10538 (WI.CodeMirrorEditor):
10539
105402018-07-13 Matt Baker <mattbaker@apple.com>
10541
mattbaker@apple.com75b367c2018-07-13 22:27:30 +000010542 Web Inspector: Basic blocks highlighting should use line/column locations instead of offsets
10543 https://bugs.webkit.org/show_bug.cgi?id=187613
10544 <rdar://problem/42131808>
10545
10546 Reviewed by Joseph Pecoraro.
10547
10548 * UserInterface/Controllers/BasicBlockAnnotator.js:
10549 Basic blocks sent from the backend include offsets into the original
10550 file, rather than line/column locations. In order to translate to positions
10551 within CodeMirror, we need to calculate the original line and column
10552 for each block.
10553
10554 (WI.BasicBlockAnnotator.prototype.insertAnnotations):
10555 (WI.BasicBlockAnnotator.prototype._calculateBasicBlockPositions.offsetToPosition):
10556 (WI.BasicBlockAnnotator.prototype._calculateBasicBlockPositions):
10557 (WI.BasicBlockAnnotator.prototype._annotateBasicBlockExecutionRanges.):
10558 (WI.BasicBlockAnnotator.prototype._annotateBasicBlockExecutionRanges):
10559 (WI.BasicBlockAnnotator.prototype._highlightTextForBasicBlock):
10560
10561 * UserInterface/Models/SourceCodePosition.js:
10562 (WI.SourceCodePosition.prototype.offsetColumn):
10563
10564 * UserInterface/Views/TextEditor.js:
10565 (WI.TextEditor.prototype.getTextInRange):
10566 (WI.TextEditor.prototype.addStyleToTextRange):
10567 Better encapsulation for CodeMirror positions.
10568
10569 * UserInterface/Workers/Formatter/FormatterUtilities.js:
10570 (get if):
10571 Update String.prototype.lineEndings to support additional line separators.
10572
105732018-07-13 Matt Baker <mattbaker@apple.com>
10574
mattbaker@apple.com0e226d22018-07-13 21:53:14 +000010575 Web Inspector: Execution highlighting in the frontend should be line/column-based
10576 https://bugs.webkit.org/show_bug.cgi?id=187532
10577 <rdar://problem/42035580>
10578
10579 Reviewed by Joseph Pecoraro.
10580
10581 Source code offsets from Esprima should not be used to calculate ranges
10582 in CodeMirror for expression highlighting.
10583
10584 This also fixes a long standing bug when adjusting for the starting
10585 position of an inline script. Previously the start offset from the script
10586 TextRange was used for this purpose, but the value is often incorrect (see
10587 https://bugs.webkit.org/show_bug.cgi?id=187532#c5). By using the starting
10588 line/column instead, we avoid the problem.
10589
10590 * UserInterface/Models/ScriptSyntaxTree.js:
10591 (WI.ScriptSyntaxTree.prototype.containersOfPosition):
10592 (WI.ScriptSyntaxTree.prototype.containersOfOffset): Deleted.
10593
10594 * UserInterface/Models/SourceCodePosition.js:
10595 (WI.SourceCodePosition.prototype.offsetColumn):
10596
10597 * UserInterface/Views/SourceCodeTextEditor.js:
10598 (WI.SourceCodeTextEditor.prototype.textEditorExecutionHighlightRange.toInlineScriptPosition):
10599 (WI.SourceCodeTextEditor.prototype.textEditorExecutionHighlightRange.fromInlineScriptPosition):
10600 (WI.SourceCodeTextEditor.prototype.textEditorExecutionHighlightRange):
10601 (WI.SourceCodeTextEditor.prototype.textEditorExecutionHighlightRange.convertRangeOffsetsToSourceCodeOffsets): Deleted.
10602
10603 * UserInterface/Views/TextEditor.js:
10604 (WI.TextEditor.prototype._updateExecutionRangeHighlight):
10605
106062018-07-13 Matt Baker <mattbaker@apple.com>
10607
mattbaker@apple.comc0e04c72018-07-13 17:10:28 +000010608 Web Inspector: SourceCodePosition.js missing from Test.html
10609 https://bugs.webkit.org/show_bug.cgi?id=187644
10610
10611 Reviewed by Brian Burg.
10612
10613 * UserInterface/Test.html:
10614
mattbaker@apple.com708a2f02018-07-13 02:06:48 +0000106152018-07-12 Matt Baker <mattbaker@apple.com>
10616
10617 Web Inspector: Type token positioning should use line/column locations from Esprima instead of offsets
10618 https://bugs.webkit.org/show_bug.cgi?id=187612
10619 <rdar://problem/42131910>
10620
10621 Reviewed by Joseph Pecoraro.
10622
10623 * UserInterface/Controllers/TypeTokenAnnotator.js:
10624 (WI.TypeTokenAnnotator.prototype.insertAnnotations):
10625 (WI.TypeTokenAnnotator.prototype._insertTypeToken):
10626 (WI.TypeTokenAnnotator.prototype._insertToken):
10627 Use line/column locations, instead of offsets, from the AST when calculating
10628 token positions for CodeMirror. Once in CodeMirror's string space, we
10629 can safely convert to/from offsets.
10630
10631 * UserInterface/Models/ScriptSyntaxTree.js:
10632 Retrieve line/column locations for AST nodes, in addition to offsets.
10633 Offsets into the original file are still needed for getting type information
10634 from the profiler in the backend.
10635
10636 (WI.ScriptSyntaxTree):
10637 (WI.ScriptSyntaxTree.prototype.filterByRange):
10638 Filter by positions, which can be safely used from CodeMirror, instead of offsets.
10639
10640 (WI.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
10641 (WI.ScriptSyntaxTree.prototype.filterByRange.filterForNodesInRange): Deleted.
10642
10643 * UserInterface/Models/SourceCodePosition.js:
10644 Add convenience methods for comparing line/column positions, and for
10645 converting to the format expected by CodeMirror. SourceCodePosition could
10646 be made to interoperate with CodeMirror by exposing properties `line`
10647 and `ch`, but making the conversion explicit improves code readability.
10648
10649 (WI.SourceCodePosition.prototype.equals):
10650 (WI.SourceCodePosition.prototype.isBefore):
10651 (WI.SourceCodePosition.prototype.isAfter):
10652 (WI.SourceCodePosition.prototype.isWithin):
10653 (WI.SourceCodePosition.prototype.toCodeMirror):
10654 (WI.SourceCodePosition):
10655
10656 * UserInterface/Views/TextEditor.js:
10657 (WI.TextEditor.prototype.visibleRangePositions):
10658 (WI.TextEditor.prototype.originalPositionToCurrentPosition):
10659 (WI.TextEditor.prototype.currentOffsetToCurrentPosition):
10660 (WI.TextEditor.prototype.currentPositionToCurrentOffset):
10661 (WI.TextEditor.prototype.setInlineWidget):
10662
Hironori.Fujii@sony.comc797e682018-07-11 01:03:18 +0000106632018-07-10 Fujii Hironori <Hironori.Fujii@sony.com>
10664
10665 REGRESSION(r229932) Use of uninitialized value in subroutine entry at copy-user-interface-resources.pl
10666 https://bugs.webkit.org/show_bug.cgi?id=187511
10667
10668 Reviewed by Brian Burg.
10669
10670 copy-user-interface-resources.pl output warning messages unless
10671 BUILT_PRODUCTS_DIR and BUILT_PRODUCTS_DIR env vars are defined.
10672
10673 * Scripts/copy-user-interface-resources.pl:
10674 (webInspectorUIAdditionsDir): Added. Return UNDEF if
10675 BUILT_PRODUCTS_DIR and SDKROOT env vars aren't defined.
10676 (combineOrStripResourcesForWebKitAdditions): Check
10677 $webInspectorUIAdditionsDir is defined.
10678
commit-queue@webkit.orgc11a4152018-07-10 20:09:28 +0000106792018-07-10 Ross Kirsling <rkirsling@gmail.com>
10680
10681 Web Inspector: Layers inspector should allow control-dragging to pan the 3D render
10682 https://bugs.webkit.org/show_bug.cgi?id=185109
10683
10684 Reviewed by Matt Baker.
10685
10686 Addressed in the three.js repo itself (https://github.com/mrdoob/three.js/pull/13972),
10687 so this patch simply updates three.js and its OrbitControls module.
10688
10689 * UserInterface/External/three.js/LICENSE:
10690 * UserInterface/External/three.js/three.js:
10691 Update to r94.
10692
10693 * UserInterface/External/three.js/OrbitControls.js:
10694 Update to latest.
10695
10696 * UserInterface/Views/Layers3DContentView.js:
10697 (WI.Layers3DContentView.prototype.initialLayout):
10698 (WI.Layers3DContentView.prototype._restrictPan):
10699 Adapt to recent changes in three.js.
10700
mattbaker@apple.comc3620cb2018-07-10 16:44:45 +0000107012018-07-10 Matt Baker <mattbaker@apple.com>
10702
mattbaker@apple.com6f70cb22018-07-10 19:14:59 +000010703 Web Inspector: Remove unused NavigationSidebarPanel.treeElementAddedOrChanged
10704 https://bugs.webkit.org/show_bug.cgi?id=187508
10705
10706 Reviewed by Joseph Pecoraro.
10707
10708 * UserInterface/Views/NavigationSidebarPanel.js:
10709 (WI.NavigationSidebarPanel.prototype._treeElementAddedOrChanged):
10710 (WI.NavigationSidebarPanel.prototype.treeElementAddedOrChanged): Deleted.
10711
107122018-07-10 Matt Baker <mattbaker@apple.com>
10713
mattbaker@apple.comc3620cb2018-07-10 16:44:45 +000010714 Web Inspector: REGRESSION (r217505): Debugger content view doesn't update when left sidebar is collapsed
10715 https://bugs.webkit.org/show_bug.cgi?id=187482
10716 <rdar://problem/41989190>
10717
10718 Reviewed by Brian Burg.
10719
10720 Subclasses of NavigationSidebarPanel must process tree selection changes
10721 even when collapsed. Sidebar panels perform critical controller tasks
10722 for their tabs, such as updating the view when pausing in the debugger,
10723 and when the hierarchical path component selection changes.
10724
10725 * UserInterface/Views/DebuggerSidebarPanel.js:
10726 (WI.DebuggerSidebarPanel.prototype._treeSelectionDidChange):
10727 * UserInterface/Views/ResourceSidebarPanel.js:
10728 (WI.ResourceSidebarPanel.prototype._treeSelectionDidChange):
10729 * UserInterface/Views/SearchSidebarPanel.js:
10730 (WI.SearchSidebarPanel.prototype._treeSelectionDidChange):
10731 * UserInterface/Views/SourcesSidebarPanel.js:
10732 (WI.SourcesSidebarPanel.prototype._treeSelectionDidChange):
10733 * UserInterface/Views/StorageSidebarPanel.js:
10734 (WI.StorageSidebarPanel._treeSelectionDidChange):
10735
bburg@apple.com5b907f82018-07-09 20:00:32 +0000107362018-07-09 Brian Burg <bburg@apple.com>
10737
10738 REGRESSION: Web Inspector no longer pauses in internal injected scripts like WDFindNodes.js
10739 https://bugs.webkit.org/show_bug.cgi?id=187350
10740 <rdar://problem/41728249>
10741
10742 Reviewed by Matt Baker.
10743
10744 * UserInterface/Base/Setting.js: Add a new setting to allow pausing in internal scripts.
10745 * UserInterface/Controllers/DebuggerManager.js: Listen to the setting change and toggle
10746 the backend setting accordingly. The default is to not break into internal scripts.
10747
10748 * UserInterface/Views/SettingsTabContentView.js:
10749 (WI.SettingsTabContentView.prototype._createDebugSettingsView):
10750 Expose the new setting in the Debug settings panel.
10751
nvasilyev@apple.com8d50f1a2018-07-07 00:44:29 +0000107522018-07-06 Nikita Vasilyev <nvasilyev@apple.com>
10753
10754 Web Inspector: Dark Mode: resource search field has white text on white background
10755 https://bugs.webkit.org/show_bug.cgi?id=187423
10756
10757 Reviewed by Timothy Hatcher.
10758
10759 Match the colors of sidebar filter fields.
10760
10761 * UserInterface/Views/DarkMode.css:
10762 (@media (prefers-dark-interface)):
10763 (.find-banner > input[type="search"]):
10764
timothy_horton@apple.com553ee992018-07-04 09:06:10 +0000107652018-07-04 Tim Horton <timothy_horton@apple.com>
10766
10767 Introduce PLATFORM(IOSMAC)
10768 https://bugs.webkit.org/show_bug.cgi?id=187315
10769
10770 Reviewed by Dan Bernstein.
10771
10772 * Configurations/Base.xcconfig:
10773
mattbaker@apple.com8508cfe2018-06-28 22:38:41 +0000107742018-06-28 Matt Baker <mattbaker@apple.com>
10775
10776 Web Inspector: REGRESSION (r213000): copy from Search results content view broken
10777 https://bugs.webkit.org/show_bug.cgi?id=187020
10778 <rdar://problem/40928766>
10779
10780 Reviewed by Timothy Hatcher.
10781
10782 Since WI._copy listens for a copy event from the document, it is called
10783 after CodeMirror handles the event and sets clipboard data. If WI._copy
10784 finds a custom copy handler to call, that handler can determine whether
10785 to overwrite the current clipboard data, or leave it alone.
10786
10787 SearchTabContentView's handleCopyEvent method should return early if the
10788 content tree outline doesn't have the focus. This prevents the selection
10789 in the TextEditor from being overwritten, without any special knowledge of
10790 the content browser's current view.
10791
10792 * UserInterface/Views/SearchTabContentView.js:
10793 (WI.SearchTabContentView.prototype.handleCopyEvent):
10794
nvasilyev@apple.comc39d86f2018-06-25 17:34:48 +0000107952018-06-25 Nikita Vasilyev <nvasilyev@apple.com>
10796
nvasilyev@apple.comc8b84c92018-06-26 00:43:32 +000010797 Web Inspector: Dark Mode: Box Model section should have dark background
10798 https://bugs.webkit.org/show_bug.cgi?id=186976
10799
10800 Reviewed by Brian Burg.
10801
10802 Replace all instances of black text on white background with the default text and background colors.
10803
10804 * UserInterface/Views/BoxModelDetailsSectionRow.css:
10805 (@media (prefers-dark-interface)):
10806 (.details-section .row.box-model):
10807 (.details-section .row.box-model .label):
10808 (.details-section .row.box-model :matches(.position, .margin, .border, .padding, .content)):
10809 (.details-section .row.box-model:not(.hovered) :matches(.margin, .border, .padding, .content),):
10810 (.details-section .row.box-model .margin):
10811 (.details-section .row.box-model .border):
10812
108132018-06-25 Nikita Vasilyev <nvasilyev@apple.com>
10814
nvasilyev@apple.comc9265c82018-06-25 17:42:03 +000010815 Web Inspector: Dark Mode: color outline is too dark
10816 https://bugs.webkit.org/show_bug.cgi?id=186975
10817
10818 Reviewed by Brian Burg.
10819
10820 Make the outline lighter than the background.
10821
10822 * UserInterface/Views/DarkMode.css:
10823 (@media (prefers-dark-interface)):
10824 (.hover-menu > svg > :matches(path, rect)):
10825
108262018-06-25 Nikita Vasilyev <nvasilyev@apple.com>
10827
nvasilyev@apple.com15a12fd2018-06-25 17:38:29 +000010828 Web Inspector: Dark Mode: Media query names are unreadable
10829 https://bugs.webkit.org/show_bug.cgi?id=186974
10830
10831 Reviewed by Brian Burg.
10832
10833 Change media query names from dark blue to light blue.
10834
10835 * UserInterface/Views/DarkMode.css:
10836 (@media (prefers-dark-interface)):
10837 (.CodeMirror .CodeMirror-lines .CodeMirror-matchingbracket):
10838 (.cm-s-default .cm-attribute):
10839
108402018-06-25 Nikita Vasilyev <nvasilyev@apple.com>
10841
nvasilyev@apple.comce7ecbd2018-06-25 17:35:51 +000010842 Web Inspector: Dark Mode: Network headers colors are too dim
10843 https://bugs.webkit.org/show_bug.cgi?id=186985
10844
10845 Reviewed by Brian Burg.
10846
10847 Increasing the luminance of network header colors by increasing lightness and brightness.
10848
10849 * UserInterface/Views/DarkMode.css:
10850 (@media (prefers-dark-interface)):
10851 (:root):
10852
108532018-06-25 Nikita Vasilyev <nvasilyev@apple.com>
10854
nvasilyev@apple.comc39d86f2018-06-25 17:34:48 +000010855 Web Inspector: Dark Mode: Font guideline colors are too bright
10856 https://bugs.webkit.org/show_bug.cgi?id=186986
10857
10858 Reviewed by Brian Burg.
10859
10860 Make the guidelines less distractive from the font glyphs.
10861
10862 * UserInterface/Views/DarkMode.css:
10863 (@media (prefers-dark-interface)):
10864 (.content-view.resource.font .preview > .line):
10865 (.content-view.resource.font .metric.top):
10866 (.content-view.resource.font .metric.baseline):
10867 (.content-view.resource.font .metric.middle):
10868 (.content-view.resource.font .metric.xheight):
10869 (.content-view.resource.font .metric.bottom):
10870
dbates@webkit.org9cdd6072018-06-21 00:08:53 +0000108712018-06-20 Daniel Bates <dabates@apple.com>
10872
10873 Web Inspector: All non-Same-Site cookies are marked as Same-Site Strict in Storage tab
10874 https://bugs.webkit.org/show_bug.cgi?id=186867
10875 <rdar://problem/41175424>
10876
10877 Reviewed by Matt Baker.
10878
10879 Fixes an issue where cookies that do not have a Same-Site policy would be marked up as Same-
10880 Site Strict in Web Inspector's cookie storage content view (under the storage tab).
10881
10882 * UserInterface/Views/CookieStorageContentView.js:
10883 (WI.CookieStorageContentView.prototype._rebuildTable): Only compute the display name if
10884 we cookie.sameSite is non-null and is not WI.Cookie.SameSiteType.None. Moreover, remove
10885 an extraneous call to WI.Cookie.parseSameSiteAttributeValue() as cookie.SameSite represents
10886 the already parsed value (one of the WI.Cookie.SameSiteType-scoped values).
10887
bburg@apple.com64224062018-06-18 21:14:40 +0000108882018-06-18 Brian Burg <bburg@apple.com>
10889
10890 Web Inspector: TypeError: Array.prototype.sort passed bad value in NetworkTableContentView _updateSortAndFilteredEntries
10891 https://bugs.webkit.org/show_bug.cgi?id=186787
10892 <rdar://problem/41175680>
10893
10894 Reviewed by Timothy Hatcher.
10895
10896 * UserInterface/Views/NetworkTableContentView.js:
10897 (WI.NetworkTableContentView.prototype._updateSortAndFilteredEntries):
10898
nvasilyev@apple.com46198bd2018-06-13 21:26:34 +0000108992018-06-13 Nikita Vasilyev <nvasilyev@apple.com>
10900
10901 Web Inspector: open source Dark Mode
10902 https://bugs.webkit.org/show_bug.cgi?id=186606
10903
10904 Reviewed by Timothy Hatcher.
10905
10906 The dark mode is currently only available on macOS Mojave via prefers-dark-interface CSS media query.
10907
10908 * UserInterface/Main.html:
10909 * UserInterface/Views/DarkMode.css: Added.
10910 (@media (prefers-dark-interface)):
10911 (:root):
10912 (body.window-inactive):
10913 (body.window-inactive *):
10914 (#main):
10915 (.tree-outline.dom li.selected .selection-area):
10916 (.tab-bar > .item > .icon):
10917 (.go-to-arrow):
10918 (.resource-link,):
10919 (.expand-list-button):
10920 (:matches(img, canvas).show-grid):
10921 (.formatted-object,):
10922 (.formatted-null,):
10923 (.editing):
10924 (.editing, .editing *):
10925 (.text-editor > .CodeMirror .execution-line):
10926 (.text-editor > .CodeMirror .execution-range-highlight:not(.CodeMirror-selectedtext),):
10927 (.details-section > .header):
10928 (.details-section > .header > label):
10929 (.details-section .details-section,):
10930 (.details-section .details-section:not(.collapsed) > .header):
10931 (.details-section > .content > .group > .row.simple > .label):
10932 (.details-section > .content > .group:nth-child(even)):
10933 (.details-section > .content > .group > .row:matches(.empty, .text)):
10934 (.data-grid th):
10935 (.data-grid td .subtitle):
10936 (.data-grid:matches(:focus, .force-focus) tr.selected td .subtitle):
10937 (body:not(.window-inactive, .window-docked-inactive) .data-grid:matches(:focus, .force-focus) tr.editable.selected .cell-content > input):
10938 (.data-grid tr.editable .cell-content > input):
10939 (.data-grid td.spanning):
10940 (.object-tree,):
10941 (.object-preview .name):
10942 (.object-preview > .size):
10943 (.tab-bar):
10944 (.tab-bar > .item):
10945 (.tab-bar > .item > .title):
10946 (.tab-bar > .item:not(.disabled).selected):
10947 (.tab-bar:not(.animating) > .item:not(.selected):hover):
10948 (.tab-bar > .item > .close):
10949 (body.window-inactive .tab-bar):
10950 (body.window-inactive .tab-bar > .item):
10951 (body.window-inactive .tab-bar > .item.selected):
10952 (body.window-inactive .tab-bar > .item > .title):
10953 (body .toolbar):
10954 (body.window-inactive .toolbar):
10955 (body.latest-mac .toolbar .item.button,):
10956 (body.latest-mac .toolbar .search-bar > input[type="search"]):
10957 (body.latest-mac .toolbar .search-bar > input[type="search"]:focus):
10958 (body.latest-mac .toolbar .search-bar > input[type="search"]::placeholder):
10959 (body.latest-mac.window-inactive .toolbar .search-bar > input[type="search"]::placeholder):
10960 (body.latest-mac.window-inactive .toolbar .search-bar > input[type="search"]::-webkit-search-results-button):
10961 (body.latest-mac .toolbar .dashboard-container):
10962 (body.latest-mac .toolbar .item.button:active):
10963 (body.latest-mac.window-inactive .toolbar .item.button,):
10964 (.navigation-bar .item.divider):
10965 (.toolbar .item.button):
10966 (.toolbar .item.button:not(.disabled):active):
10967 (.toolbar .item.button:not(.disabled):matches(:focus, .activate.activated)):
10968 (.toolbar .item.button:not(.disabled):active:matches(:focus, .activate.activated)):
10969 (.toolbar .dashboard.default > .item > div):
10970 (.toolbar .dashboard.default > .item.enabled > div):
10971 (.toolbar .dashboard.default > .item.enabled:hover):
10972 (.toolbar .dashboard.default > .item.enabled:hover > div):
10973 (.toolbar .dashboard.default > .resourcesCount > img,):
10974 (body.latest-mac .toolbar .dashboard .item.button):
10975 (.dashboard-container .advance-arrow):
10976 (.toolbar .dashboard.debugger):
10977 (.dashboard.debugger .navigation-bar .item.button > .glyph):
10978 (.dashboard.debugger > .location .function-name):
10979 (.dashboard.debugger > .location .go-to-link):
10980 (.dashboard.debugger > .divider):
10981 (.popover .edit-breakpoint-popover-content > label.toggle):
10982 (.popover .edit-breakpoint-popover-content > table > tr > th):
10983 (.breakpoint-action-block-body):
10984 (.breakpoint-action-block-body > .description):
10985 (.breakpoint-action-append-button,):
10986 (.popover .xhr-breakpoint-content > .editor-wrapper > .editor):
10987 (.navigation-bar .item.button):
10988 (.spreadsheet-style-declaration-editor .property:not(.disabled) .value):
10989 (.spreadsheet-css-declaration):
10990 (.spreadsheet-css-declaration .selector:focus,):
10991 (.spreadsheet-css-declaration.locked .origin::after):
10992 (.spreadsheet-css-declaration .origin .go-to-link,):
10993 (.spreadsheet-style-declaration-editor :matches(.name, .value).editing):
10994 (.spreadsheet-style-declaration-editor .property.has-warning):
10995 (.spreadsheet-style-declaration-editor .property.has-warning .warning):
10996 (.spreadsheet-css-declaration .media-label):
10997 (.quick-console):
10998 (.syntax-highlighted,):
10999 (.cm-s-default,):
11000 (.CodeMirror .jump-to-symbol-highlight,):
11001 (.console-prompt):
11002 (.completion-suggestions):
11003 (.completion-suggestions-container > .item):
11004 (.CodeMirror-cursor):
11005 (.CodeMirror .CodeMirror-gutters):
11006 (.cm-s-default .cm-link):
11007 (.cm-s-default .cm-m-xml.cm-attribute,):
11008 (.cm-s-default .cm-meta):
11009 (.cm-s-default .cm-variable-3):
11010 (.cm-s-default .cm-builtin):
11011 (.tree-outline .item .subtitle):
11012 (.object-tree-property .getter,):
11013 (.item.object-tree-property.prototype-property):
11014 (.object-tree-property.prototype-property:hover,):
11015 (.object-tree-property .value.error):
11016 (.tree-outline.dom):
11017 (.tree-outline.dom li.selected + ol.children.expanded):
11018 (.tree-outline.dom .shadow):
11019 (.tree-outline.dom li.parent.shadow + ol.children.expanded,):
11020 (.showing-find-banner .tree-outline.dom .search-highlight):
11021 (.sidebar > .panel.dom-node-details .details-section.dom-node-event-listeners > .header > .filter:hover):
11022 (.sidebar > .panel.details.css-style > .content > .pseudo-classes > .group > label):
11023 (.spreadsheet-css-declaration.locked):
11024 (.spreadsheet-css-declaration .selector.style-attribute):
11025 (.spreadsheet-style-declaration-editor .property:matches(.invalid-name, .other-vendor, .overridden):not(.disabled) .content > *):
11026 (.inline-swatch):
11027 (.spreadsheet-style-panel .section-header):
11028 (.spreadsheet-style-panel .section-header .node-link:hover):
11029 (.computed-style-properties.details-section):
11030 (.details-section.style-box-model:not(.collapsed) > :matches(.header, .content)):
11031 (.table,):
11032 (.table > .header > .sortable:active):
11033 (.table > .header > :matches(.sort-ascending, .sort-descending)):
11034 (.table > .header > :matches(.sort-ascending, .sort-descending)::after):
11035 (.scope-bar > li):
11036 (.timeline-overview > .navigation-bar.timelines):
11037 (.timeline-overview:not(.frames) > .graphs-container > .timeline-overview-graph:nth-child(even)):
11038 (.timeline-overview.edit-instruments > .tree-outline.timelines .item:not(:first-child),):
11039 (.time-icon .icon):
11040 (.data-grid th:matches(.sort-ascending, .sort-descending)):
11041 (.content-view.timeline-recording > .content-browser > .navigation-bar > .item.scope-bar.default-item-selected > .multiple):
11042 (.content-view.timeline-recording > .content-browser > .navigation-bar > .item.scope-bar.default-item-selected > .multiple .arrows):
11043 (.content-view.settings .navigation-bar):
11044 (.content-view.settings .navigation-bar .item.radio.button.text-only.selected):
11045 (.new-tab.tab.content-view):
11046 (.filter-bar > input[type="search"]):
11047 (.filter-bar > input[type="search"]::placeholder):
11048 (.filter-bar > input[type="search"]:focus):
11049 (.content-view.resource.image):
11050 (.console-messages):
11051 (.console-item):
11052 (.console-messages:focus .console-item.selected):
11053 (.console-messages:focus .console-item.selected + .console-item):
11054 (.console-session:first-of-type .console-session-header):
11055 (.console-session:not(:first-of-type) .console-session-header):
11056 (.console-messages a):
11057 (.console-messages a:hover):
11058 (.console-messages:focus .console-item.selected::after):
11059 (.console-error-level):
11060 (.console-error-level:not(.filtered-out, .filtered-out-by-search), .console-error-level:not(.filtered-out, .filtered-out-by-search) + .console-item):
11061 (.console-warning-level):
11062 (.console-warning-level:not(.filtered-out, .filtered-out-by-search), .console-warning-level:not(.filtered-out, .filtered-out-by-search) + .console-item):
11063 (.search-in-progress .console-item:not(.filtered-out-by-search) .highlighted):
11064 (.search-in-progress .console-item:not(.filtered-out-by-search) .highlighted.selected):
11065 (.source-code.text-editor > .CodeMirror .error):
11066 (.source-code.text-editor > .CodeMirror .warning):
11067 (.source-code.text-editor > .CodeMirror .issue-widget):
11068 (.source-code.text-editor > .CodeMirror .issue-widget.inline.warning):
11069 (.source-code.text-editor > .CodeMirror .issue-widget.inline.warning > .arrow):
11070 (.source-code.text-editor > .CodeMirror .issue-widget.inline.error):
11071 (.source-code.text-editor > .CodeMirror .issue-widget.inline.error > .arrow):
11072 (.console-message .syntax-highlighted):
11073 (.console-warning-level .console-message-text):
11074 (.console-error-level .console-message-text):
11075 (.console-user-command > .console-message-text):
11076 (.console-message .repeat-count):
11077 (.call-frame .subtitle,):
11078 (.call-frame:hover .subtitle .source-link,):
11079 (.call-frame .separator):
11080 (.quick-console.showing-log):
11081 (.find-banner.console-find-banner > input[type=search]:not(:placeholder-shown)):
11082 (.network-resource-detail):
11083 (.network-resource-detail .item.close > .glyph):
11084 (.network .network-resource-detail .navigation-bar .item.radio.button.text-only.selected):
11085 (.resource-headers .value):
11086 (.network-table .cell.domain > .lock):
11087 (.resource-sizes > .content .label):
11088 (.popover.waterfall-popover):
11089 (.resource-timing-breakdown > table > tr.header:not(.total-row) > td):
11090 (.resource-timing-breakdown > table > tr > td.label,):
11091 (.resource-timing-breakdown > table hr):
11092 (.sidebar > .panel.details.css-style > .content ~ .options-container > .new-rule):
11093 (.content-view.tab.canvas .navigation-bar > .item .canvas-overview .icon):
11094 (.web-socket.content-view .data-grid table.data tr.revealed):
11095 (.web-socket.content-view .data-grid.variable-height-rows table.data tr.outgoing):
11096 (.web-socket.content-view .data-grid.variable-height-rows table.data tr.non-text-frame):
11097 (.item.action:not(.initial-state)::before):
11098 (.tree-outline .item.action.visual:not(.selected, .invalid)):
11099 (.item.action:not(.initial-state) > .icon):
11100 (.tree-outline:not(.hide-disclosure-buttons) .item.action:not(.initial-state, .parent) > .icon):
11101 (.content-view.tab.canvas .navigation-bar > .item .canvas-overview .icon,):
11102 (.content-view.canvas > .preview > img,):
11103 (.content-view.canvas-overview):
11104 (.content-view.canvas-overview .content-view.canvas):
11105 (.content-view.canvas-overview .content-view.canvas.is-recording):
11106 (.content-view.canvas-overview .content-view.canvas.is-recording > header):
11107 (.content-view.canvas-overview .content-view.canvas > header > .titles > .title):
11108 (.content-view.canvas-overview .content-view.canvas > header > .titles > .subtitle,):
11109 (.content-view.canvas-overview .content-view.canvas > footer > .recordings::before):
11110 (.content-view.canvas-overview .content-view.canvas.is-recording > header > .titles > .subtitle):
11111 (.content-view.canvas:not(.tab)):
11112 (.content-view:not(.tab).recording):
11113 (.content-view:not(.tab).recording > header > .slider-container):
11114 (.content-view:not(.tab).recording > header > .slider-container > input[type=range]):
11115 (.sidebar > .panel.details.recording-state > .content > .data-grid tr.modified):
11116 (.progress-view > .titles > .title):
11117 (.progress-view > .titles > .subtitle):
11118 (.indeterminate-progress-spinner):
11119 (.content-view.shader-program > .text-editor.shader):
11120 (.content-view.shader-program > .text-editor.shader > .type-title):
11121 (.item.shader-program .status > img):
11122 (.open-resource-dialog):
11123 (.open-resource-dialog > .field > input):
11124 (.open-resource-dialog > .field > input::placeholder):
11125 (.open-resource-dialog > .tree-outline .item.selected):
11126 (.open-resource-dialog > .field::before):
11127
mitz@apple.com564e7c32018-06-10 05:18:08 +0000111282018-06-09 Dan Bernstein <mitz@apple.com>
11129
11130 [Xcode] Clean up and modernize some build setting definitions
11131 https://bugs.webkit.org/show_bug.cgi?id=186463
11132
11133 Reviewed by Sam Weinig.
11134
11135 * Configurations/Base.xcconfig: Removed definition for macOS 10.11.
11136 * Configurations/DebugRelease.xcconfig: Ditto.
11137 * Configurations/Version.xcconfig: Ditto.
11138
mattbaker@apple.comc32fab12018-06-05 22:41:00 +0000111392018-06-05 Matt Baker <mattbaker@apple.com>
11140
11141 Web Inspector: Tab picker is briefly visible when TabBar initially shown
11142 https://bugs.webkit.org/show_bug.cgi?id=186317
11143
11144 Reviewed by Joseph Pecoraro.
11145
11146 * UserInterface/Views/TabBar.js:
11147 (WI.TabBar): Picker should be initially hidden.
11148
nvasilyev@apple.comfb7f4912018-06-05 19:07:12 +0000111492018-06-05 Nikita Vasilyev <nvasilyev@apple.com>
11150
11151 Web Inspector: Text in "Add New Class" in auto-capitalizes
11152 https://bugs.webkit.org/show_bug.cgi?id=186311
11153
11154 Reviewed by Matt Baker.
11155
11156 Disable spellcheck to prevent auto-capitalization.
11157
11158 * UserInterface/Views/GeneralStyleDetailsSidebarPanel.js:
11159 (WI.GeneralStyleDetailsSidebarPanel.prototype.initialLayout):
11160
mattbaker@apple.come8ffcf92018-06-04 21:49:50 +0000111612018-06-04 Matt Baker <mattbaker@apple.com>
11162
11163 Web Inspector: Cannot copy a link address in Elements tab
11164 https://bugs.webkit.org/show_bug.cgi?id=186281
11165 <rdar://problem/39193355>
11166
11167 Reviewed by Brian Burg.
11168
11169 * UserInterface/Views/ContextMenuUtilities.js:
11170 (WI.appendContextMenuItemsForURL):
11171
dbates@webkit.orgc14788b2018-05-30 23:42:36 +0000111722018-05-30 Daniel Bates <dabates@apple.com>
11173
11174 Web Inspector: Annotate Same-Site cookies
11175 https://bugs.webkit.org/show_bug.cgi?id=184897
11176 <rdar://problem/35178209>
11177
11178 Reviewed by Brian Burg.
11179
11180 Add a new column for the value of the Same-Site cookie attribute to the resource cookie content
11181 view (shown for a resource under the Network tab) and cookie storage content view (shown under
11182 the Storage tab).
11183
11184 The SameSite column in the resource cookie content view reflects the parsing of the Same-Site
11185 attribute from the HTTP response by Web Inspector. This parsing is materially consistent with
11186 the parsing of the SameSite atttribute in CFNetwork. The Same-Site column in the cookie storage
11187 content view reflects the Same-Site cookie policy associated with the cookies provided by the
11188 network stack, if supported. This column will be blank on systems whose network stack does not
11189 support Same-Site cookies (e.g libsoup).
11190
11191 * Localizations/en.lproj/localizedStrings.js:
11192 * UserInterface/Controllers/HARBuilder.js:
11193 (WI.HARBuilder.cookies):
11194 * UserInterface/Models/Cookie.js:
11195 (WI.Cookie):
11196 (WI.Cookie.displayNameForSameSiteType):
11197 (WI.Cookie.parseSameSiteAttributeValue):
11198 (WI.Cookie.parseSetCookieResponseHeader):
11199 * UserInterface/Views/CookieStorageContentView.js:
11200 (WI.CookieStorageContentView.prototype._rebuildTable):
11201 (WI.CookieStorageContentView.prototype._sortDataGrid):
11202 * UserInterface/Views/ResourceCookiesContentView.js:
11203 (WI.ResourceCookiesContentView.prototype.tablePopulateCell):
11204 (WI.ResourceCookiesContentView.prototype._generateSortComparator):
11205 (WI.ResourceCookiesContentView.prototype._refreshResponseCookiesSection):
11206
mattbaker@apple.comf036e0e2018-05-25 16:25:27 +0000112072018-05-25 Matt Baker <mattbaker@apple.com>
11208
11209 Web Inspector: Popover dismissed while attempting to move cursor inside
11210 https://bugs.webkit.org/show_bug.cgi?id=185741
11211 <rdar://problem/40340938>
11212
11213 Reviewed by Joseph Pecoraro.
11214
11215 Hovering a token within the bounds of the current popover should not
11216 show a new popover. This prevents the popover from being dismissed when
11217 the cursor passes over a token under the transparent portion of the
11218 popover frame.
11219
11220 * UserInterface/Views/SourceCodeTextEditor.js:
11221 (WI.SourceCodeTextEditor.prototype._showPopover):
11222
ryanhaddad@apple.com5cce4f02018-05-22 17:21:49 +0000112232018-05-22 Ryan Haddad <ryanhaddad@apple.com>
11224
11225 Unreviewed, rolling out r232052.
11226
11227 Breaks internal builds.
11228
11229 Reverted changeset:
11230
11231 "Use more C++17"
11232 https://bugs.webkit.org/show_bug.cgi?id=185176
11233 https://trac.webkit.org/changeset/232052
11234
utatane.tea@gmail.com24cbfd82018-05-22 06:46:43 +0000112352018-05-21 Yusuke Suzuki <utatane.tea@gmail.com>
11236
11237 Use more C++17
11238 https://bugs.webkit.org/show_bug.cgi?id=185176
11239
11240 Reviewed by JF Bastien.
11241
11242 * Configurations/Base.xcconfig:
11243
webkit@devinrousso.com8ec0dd42018-05-18 21:05:08 +0000112442018-05-18 Devin Rousso <webkit@devinrousso.com>
11245
11246 Web Inspector: Canvas: put `hasVisualEffect` behind an experimental setting
11247 https://bugs.webkit.org/show_bug.cgi?id=185758
11248
11249 Reviewed by Matt Baker.
11250
11251 * Localizations/en.lproj/localizedStrings.js:
11252
11253 * UserInterface/Base/Setting.js:
11254
11255 * UserInterface/Models/RecordingAction.js:
11256 (WI.RecordingAction.prototype.process):
11257
11258 * UserInterface/Views/RecordingActionTreeElement.js:
11259 (WI.RecordingActionTreeElement.prototype.onattach):
11260
11261 * UserInterface/Views/SettingsTabContentView.js:
11262 (WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
11263
webkit@devinrousso.com21878e262018-05-17 01:37:33 +0000112642018-05-16 Devin Rousso <webkit@devinrousso.com>
11265
11266 Web Inspector: create a navigation item for toggling the overlay rulers/guides
11267 https://bugs.webkit.org/show_bug.cgi?id=185644
11268
11269 Reviewed by Matt Baker.
11270
11271 * Localizations/en.lproj/localizedStrings.js:
11272 * UserInterface/Base/Setting.js:
11273 * UserInterface/Views/DOMTreeContentView.js:
11274 (WI.DOMTreeContentView):
11275 (WI.DOMTreeContentView.prototype.get navigationItems):
11276 (WI.DOMTreeContentView.prototype.closed):
11277 (WI.DOMTreeContentView.prototype._showRulersChanged): Added.
11278 (WI.DOMTreeContentView.prototype._toggleShowRulers): Added.
11279
nvasilyev@apple.comc604e502018-05-15 01:52:26 +0000112802018-05-14 Nikita Vasilyev <nvasilyev@apple.com>
11281
11282 Web Inspector: Canvas: Remove unused --value-visual-highlight CSS variable
11283 https://bugs.webkit.org/show_bug.cgi?id=185636
11284
11285 Reviewed by Matt Baker.
11286
11287 * UserInterface/Views/Variables.css:
11288 (:root):
11289
webkit@devinrousso.com09350d52018-05-14 23:01:25 +0000112902018-05-14 Devin Rousso <webkit@devinrousso.com>
11291
11292 Web Inspector: Canvas tab: don't automatically select a recording when viewing a canvas
11293 https://bugs.webkit.org/show_bug.cgi?id=182950
11294
11295 Reviewed by Matt Baker.
11296
11297 * UserInterface/Views/CanvasSidebarPanel.js:
11298 (WI.CanvasSidebarPanel):
11299 (WI.CanvasSidebarPanel.prototype._currentRepresentedObjectsDidChange):
11300 (WI.CanvasSidebarPanel.prototype._treeOutlineSelectionDidChange):
11301 (WI.CanvasSidebarPanel.prototype._canvasChanged):
11302 (WI.CanvasSidebarPanel.prototype._recordingChanged):
11303 (WI.CanvasSidebarPanel.prototype._updateRecordingScopeBar):
11304 Add a "dummy" ScopeBarItem to the recording ScopeBar that is selected whenever a TreeElement
11305 that doesn't correspond to a Recording is selected. This way, the Recording ScopeBar will
11306 become deselected, and the list of actions will disappear. Clicking on the Recording ScopeBar
11307 will show the previously selected Recording.
11308
mattbaker@apple.com1e9de232018-05-09 00:09:41 +0000113092018-05-08 Matt Baker <mattbaker@apple.com>
11310
11311 Web Inspector: Console drawer resizing is broken when console prompt has >1 line of code
11312 https://bugs.webkit.org/show_bug.cgi?id=185369
11313 <rdar://problem/40013202>
11314
11315 Reviewed by Devin Rousso.
11316
11317 Mouse offset calculation should account for the height of the quick console.
11318 The only reason resizing worked with the single-line quick console is that
11319 the offset calculation included the resizer height, which is very close
11320 to that of the single-line quick console (27px and 30px respectively).
11321
11322 * UserInterface/Views/ConsoleDrawer.js:
11323
webkit@devinrousso.comca4600a2018-05-04 23:56:10 +0000113242018-05-04 Devin Rousso <webkit@devinrousso.com>
11325
11326 Web Inspector: simplify the WI.Collection interface
11327 https://bugs.webkit.org/show_bug.cgi?id=185187
11328
11329 Reviewed by Brian Burg.
11330
11331 * UserInterface/Models/Collection.js:
11332 (WI.Collection.prototype.get size): Added.
11333 (WI.Collection.prototype.has): Added.
11334 (WI.Collection.prototype.toJSON):
11335 (WI.Collection.prototype.[Symbol.iterator]): Added.
11336 (WI.Collection.prototype.get items): Deleted.
11337 (WI.Collection.prototype.toArray): Deleted.
11338
11339 * UserInterface/Controllers/CanvasManager.js:
11340 (WI.CanvasManager.prototype._removeCanvas):
11341 * UserInterface/Controllers/DOMDebuggerManager.js:
11342 (WebInspector.DOMDebuggerManager.prototype.get domBreakpoints):
11343 * UserInterface/Models/Frame.js:
11344 (WI.Frame.prototype.removeAllChildFrames):
11345 (WI.Frame.prototype.resourceForURL):
11346 (WI.Frame.prototype.removeAllResources):
11347 * UserInterface/Models/Script.js:
11348 (WI.Script):
11349 * UserInterface/Views/CanvasContentView.js:
11350 (WI.CanvasContentView.prototype.initialLayout):
11351 * UserInterface/Views/CanvasOverviewContentView.js:
11352 (WI.CanvasOverviewContentView.prototype._updateNavigationItems):
11353 * UserInterface/Views/CanvasSidebarPanel.js:
11354 (WI.CanvasSidebarPanel.prototype._recordingRemoved):
11355 (WI.CanvasSidebarPanel.prototype._canvasChanged):
11356 (WI.CanvasSidebarPanel.prototype._updateRecordingScopeBar):
11357 * UserInterface/Views/CanvasTabContentView.js:
11358 (WI.CanvasTabContentView.prototype.attached):
11359 (WI.CanvasTabContentView.prototype._addCanvas):
11360 (WI.CanvasTabContentView.prototype._removeCanvas):
11361 * UserInterface/Views/CanvasTreeElement.js:
11362 (WI.CanvasTreeElement.prototype.onpopulate):
11363 * UserInterface/Views/CollectionContentView.js:
11364 (WI.CollectionContentView.prototype.initialLayout):
11365 (WI.CollectionContentView.prototype.attached):
11366 * UserInterface/Views/CookieStorageContentView.js:
11367 (WI.CookieStorageContentView.prototype._filterCookies):
11368 * UserInterface/Views/DebuggerSidebarPanel.js:
11369 (WI.DebuggerSidebarPanel.prototype._addResourcesRecursivelyForFrame):
11370 * UserInterface/Views/FolderizedTreeElement.js:
11371 (WI.FolderizedTreeElement.prototype.updateParentStatus):
11372 (WI.FolderizedTreeElement.prototype._shouldGroupIntoFolders):
11373 * UserInterface/Views/FrameTreeElement.js:
11374 (WI.FrameTreeElement.prototype.onpopulate):
11375 * UserInterface/Views/NavigationSidebarPanel.js:
11376 (WI.NavigationSidebarPanel.prototype.get contentTreeOutlines):
11377 * UserInterface/Views/NetworkTableContentView.js:
11378 (WI.NetworkTableContentView.prototype._populateWithInitialResourcesIfNeeded):
11379 * UserInterface/Views/OpenResourceDialog.js:
11380 (WI.OpenResourceDialog.prototype._addResourcesForFrame):
11381 (WI.OpenResourceDialog.prototype._addResourcesForTarget):
11382 * UserInterface/Views/TreeOutlineGroup.js:
11383 (WI.TreeOutlineGroup.prototype.get selectedTreeElement):
11384 (WI.TreeOutlineGroup.prototype._removeConflictingTreeSelections):
11385 * UserInterface/Views/WorkerTreeElement.js:
11386 (WI.WorkerTreeElement.prototype.onpopulate):
11387
nvasilyev@apple.come298f1e2018-05-04 20:51:47 +0000113882018-05-04 Nikita Vasilyev <nvasilyev@apple.com>
11389
11390 Web Inspector: Styles: Newly added unsupported properties sometimes don't have warnings
11391 https://bugs.webkit.org/show_bug.cgi?id=183097
11392 <rdar://problem/37843816>
11393
11394 Reviewed by Matt Baker.
11395
11396 Update status of properties warnings every time focus moves.
11397
11398 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
11399 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.layout):
11400 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyFocusMoved):
11401 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._propertiesChanged):
11402 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._updatePropertiesStatus):
11403 * UserInterface/Views/SpreadsheetStyleProperty.js:
11404 (WI.SpreadsheetStyleProperty.prototype.spreadsheetTextFieldDidBlur):
11405
webkit@devinrousso.com6231c852018-05-04 18:50:30 +0000114062018-05-04 Devin Rousso <webkit@devinrousso.com>
11407
webkit@devinrousso.com8a769162018-05-04 20:29:24 +000011408 Web Inspector: Styles Redesign: ensure that tabbing through the last section wraps back to the first
11409 https://bugs.webkit.org/show_bug.cgi?id=181973
11410
11411 Reviewed by Matt Baker.
11412
11413 Unified delegate functions to start editing previous/next rules into a single function for
11414 simplicity.
11415
11416 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
11417 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetCSSStyleDeclarationEditorFocusMoved):
11418
11419 * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
11420 (WI.SpreadsheetCSSStyleDeclarationSection.prototype.startEditingRuleSelector):
11421 (WI.SpreadsheetCSSStyleDeclarationSection.prototype.spreadsheetSelectorFieldDidChange):
11422 (WI.SpreadsheetCSSStyleDeclarationSection.prototype.spreadsheetCSSStyleDeclarationEditorStartEditingAdjacentRule):
11423 (WI.SpreadsheetCSSStyleDeclarationSection.prototype.cssStyleDeclarationEditorStartEditingAdjacentRule): Deleted.
11424
11425 * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:
11426 (WI.SpreadsheetRulesStyleDetailsPanel.prototype.focusFirstSection):
11427 (WI.SpreadsheetRulesStyleDetailsPanel.prototype.focusLastSection):
11428 (WI.SpreadsheetRulesStyleDetailsPanel.prototype.spreadsheetCSSStyleDeclarationSectionStartEditingAdjacentRule):
11429 (WI.SpreadsheetRulesStyleDetailsPanel.prototype.cssStyleDeclarationSectionStartEditingNextRule): Deleted.
11430 (WI.SpreadsheetRulesStyleDetailsPanel.prototype.cssStyleDeclarationSectionStartEditingPreviousRule): Deleted.
11431
11432 * UserInterface/Views/GeneralStyleDetailsSidebarPanel.js:
11433 (WI.GeneralStyleDetailsSidebarPanel.prototype.styleDetailsPanelFocusLastPseudoClassCheckbox):
11434 (WI.GeneralStyleDetailsSidebarPanel.prototype.styleDetailsPanelFocusFilterBar):
11435 (WI.GeneralStyleDetailsSidebarPanel.prototype.initialLayout):
11436 (WI.GeneralStyleDetailsSidebarPanel.prototype._handleForcedPseudoClassCheckboxKeydown):
11437 (WI.GeneralStyleDetailsSidebarPanel.prototype._forcedPseudoClassCheckboxChanged):
11438 (WI.GeneralStyleDetailsSidebarPanel.prototype._handleFilterBarInputFieldKeyDown):
11439
11440 Drive-by fix: provide tabbing support for the Computed styles panel.
11441
11442 * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
11443 (WI.CSSStyleDeclarationTextEditor.prototype._handleShiftTabKey.switchRule):
11444 (WI.CSSStyleDeclarationTextEditor.prototype._handleTabKey.switchRule):
11445
11446 * UserInterface/Views/ComputedStyleDetailsPanel.js:
11447 (WI.ComputedStyleDetailsPanel.prototype.focusFirstSection):
11448 (WI.ComputedStyleDetailsPanel.prototype.focusLastSection):
11449 (WI.ComputedStyleDetailsPanel.prototype.cssStyleDeclarationTextEditorStartEditingAdjacentRule):
11450
114512018-05-04 Devin Rousso <webkit@devinrousso.com>
11452
webkit@devinrousso.com6231c852018-05-04 18:50:30 +000011453 Web Inspector: Canvas tab: Determine isFunction by looking at the prototype
11454 https://bugs.webkit.org/show_bug.cgi?id=184990
11455
11456 Reviewed by Brian Burg.
11457
11458 * UserInterface/Models/RecordingAction.js:
11459 (WI.RecordingAction.isFunctionForType):
11460 (WI.RecordingAction._prototypeForType):
11461 (WI.RecordingAction.prototype.async.swizzle):
11462
webkit@devinrousso.com37642652018-05-01 23:37:59 +0000114632018-05-01 Devin Rousso <webkit@devinrousso.com>
11464
11465 Web Inspector: Canvas tab: determine hasVisibleEffect for all actions immediately after recording is added
11466 https://bugs.webkit.org/show_bug.cgi?id=182995
11467
11468 Reviewed by Matt Baker.
11469
11470 Previously, we'd swizzle the entirety of the `WI.Recording` in one, which would usually
11471 freeze the UI, especially for larger recordings. This patch uses `WI.YieldableTask` to split
11472 the work and allow the rest of the UI to still be usable while `WI.Recording` are processing.
11473 Additionally, since we no longer have to worry about hangs, we can do more work upfront,
11474 such as calculating `hasVisibleEffect` and the current state of 2D canvases.
11475
11476 These changes require that all uses of `WI.Recording` call `process()` before attempting to
11477 use any `frames`/`actions`/`initialState`, as they will have their original payload values
11478 and will have not been swizzled or applied.
11479
11480 * Localizations/en.lproj/localizedStrings.js:
11481
11482 * UserInterface/Models/Recording.js:
11483 (WI.Recording):
11484 (WI.Recording.prototype.process):
11485 (WI.Recording.prototype.createContext): Added.
11486 (WI.Recording.prototype.async yieldableTaskWillProcessItem): Added.
11487 (WI.Recording.prototype.async yieldableTaskDidFinish): Added.
11488
11489 * UserInterface/Models/RecordingAction.js:
11490 (WI.RecordingAction):
11491 (WI.RecordingAction.prototype.process): Added.
11492 (WI.RecordingAction.prototype.async swizzle): Added.
11493 (WI.RecordingAction.prototype.apply):
11494 (WI.RecordingAction.prototype.toJSON):
11495 (WI.RecordingAction.prototype.set state): Deleted.
11496 (WI.RecordingAction.prototype.swizzle): Deleted.
11497 (WI.RecordingAction.prototype.apply.getContent): Deleted.
11498 (WI.RecordingAction.prototype.async _swizzle): Deleted.
11499 * UserInterface/Models/RecordingInitialStateAction.js:
11500 (WI.RecordingInitialStateAction):
11501
11502 * UserInterface/Views/CanvasSidebarPanel.js:
11503 (WI.CanvasSidebarPanel):
11504 (WI.CanvasSidebarPanel.prototype.set action):
11505 (WI.CanvasSidebarPanel.prototype._treeOutlineSelectionDidChange):
11506 (WI.CanvasSidebarPanel.prototype._recordingChanged):
11507
11508 * UserInterface/Views/CanvasSidebarPanel.css:
11509 (.sidebar > .panel.navigation.canvas > .content > .recording-content > .indeterminate-progress-spinner):
11510
11511 * UserInterface/Views/RecordingActionTreeElement.js:
11512 (WI.RecordingActionTreeElement):
11513 (WI.RecordingActionTreeElement.prototype.onattach):
11514 (WI.RecordingActionTreeElement.prototype._handleHasVisibleEffectChanged): Deleted.
11515
11516 * UserInterface/Views/RecordingContentView.js:
11517 (WI.RecordingContentView):
11518 (WI.RecordingContentView.prototype.get navigationItems):
11519 (WI.RecordingContentView.prototype.updateActionIndex):
11520 (WI.RecordingContentView.prototype.initialLayout):
11521 (WI.RecordingContentView.prototype._generateContentCanvas2D): Added.
11522 (WI.RecordingContentView.prototype._generateContentCanvasWebGL): Added.
11523 (WI.RecordingContentView.prototype._updateCanvasPath):
11524 (WI.RecordingContentView.prototype._updateProcessProgress): Added.
11525 (WI.RecordingContentView.prototype._handleRecordingProcessedActionSwizzle): Added.
11526 (WI.RecordingContentView.prototype._handleRecordingProcessedActionApply): Added.
11527 (WI.RecordingContentView.supportsCanvasPathDebugging): Deleted.
11528 (WI.RecordingContentView.prototype.async _generateContentCanvas2D): Deleted.
11529 (WI.RecordingContentView.prototype.async _generateContentCanvasWebGL): Deleted.
11530
11531 * UserInterface/Views/RecordingContentView.css:
11532 (.content-view:not(.tab).recording > .preview-container):
11533
11534 * UserInterface/Base/ImageUtilities.js:
11535 (WI.ImageUtilities.supportsCanvasPathDebugging):
11536
jer.noble@apple.com88220e52018-04-26 19:15:20 +0000115372018-04-26 Jer Noble <jer.noble@apple.com>
11538
jer.noble@apple.com63add112018-04-26 23:30:21 +000011539 Unreviewed build fix; fix WebInspectorUI copy resources step after r231063.
11540
11541 * Configurations/Base.xcconfig:
11542
115432018-04-26 Jer Noble <jer.noble@apple.com>
11544
jer.noble@apple.com88220e52018-04-26 19:15:20 +000011545 WK_COCOA_TOUCH all the things.
11546 https://bugs.webkit.org/show_bug.cgi?id=185006
11547
11548 Reviewed by Tim Horton.
11549
11550 * Configurations/WebInspectorUIFramework.xcconfig:
11551
nvasilyev@apple.com3e2330c2018-04-21 17:45:23 +0000115522018-04-21 Nikita Vasilyev <nvasilyev@apple.com>
11553
11554 REGRESSION(r214076): Web Inspector: Timelines load and DOMContentLoaded markers aren't visible
11555 https://bugs.webkit.org/show_bug.cgi?id=184858
11556
11557 Reviewed by Brian Burg.
11558
11559 r214076 changed the color of all markers to light gray.
11560
11561 * UserInterface/Views/TimelineRuler.css:
11562 (.timeline-ruler > .markers > .marker):
11563 (body[dir=ltr] .timeline-ruler > .markers > .marker):
11564 (body[dir=rtl] .timeline-ruler > .markers > .marker):
11565 (.timeline-ruler > .markers > .marker.current-time):
11566 (.timeline-ruler > .markers > .marker.load-event):
11567 (.timeline-ruler > .markers > .marker.dom-content-event):
11568 (.timeline-ruler > .markers > .marker.timestamp):
11569 (body[dir=ltr] .timeline-ruler > .markers > .marker.current-time): Deleted.
11570 (body[dir=rtl] .timeline-ruler > .markers > .marker.current-time): Deleted.
11571
cdumez@apple.com1295fb772018-04-20 02:15:39 +0000115722018-04-19 Chris Dumez <cdumez@apple.com>
11573
11574 Rename JSDOMWindowProxy to JSWindowProxy
11575 https://bugs.webkit.org/show_bug.cgi?id=184797
11576
11577 Reviewed by Sam Weinig.
11578
11579 Rename JSDOMWindowProxy to JSWindowProxy for consistency with WindowProxy.
11580
11581 * UserInterface/Workers/HeapSnapshot/HeapSnapshot.js:
11582 (HeapSnapshot.prototype._isNodeGlobalObject):
11583
ddkilzer@apple.coma005ba42018-04-19 22:53:45 +0000115842018-04-19 David Kilzer <ddkilzer@apple.com>
11585
11586 Enable Objective-C weak references
11587 <https://webkit.org/b/184789>
11588 <rdar://problem/39571716>
11589
11590 Reviewed by Dan Bernstein.
11591
11592 * Configurations/Base.xcconfig:
11593 (CLANG_ENABLE_OBJC_WEAK): Enable.
11594
nvasilyev@apple.com7b6eacf2018-04-17 05:48:41 +0000115952018-04-16 Nikita Vasilyev <nvasilyev@apple.com>
11596
11597 Web Inspector: Can't select and copy text from Network tab popover
11598 https://bugs.webkit.org/show_bug.cgi?id=184606
11599
11600 Reviewed by Matt Baker.
11601
11602 * UserInterface/Views/ResourceTimingBreakdownView.css:
11603 (.waterfall-popover .resource-timing-breakdown):
11604
nvasilyev@apple.com81e09d72018-04-13 01:09:50 +0000116052018-04-12 Nikita Vasilyev <nvasilyev@apple.com>
11606
11607 Web Inspector: Refactoring: move popover styles from JS to CSS
11608 https://bugs.webkit.org/show_bug.cgi?id=184558
11609
11610 Reviewed by Brian Burg.
11611
11612 Introduce several CSS variables to customize popover appearance in CSS
11613 and not JavaScript.
11614
11615 * UserInterface/Views/NetworkTableContentView.js:
11616 (WI.NetworkTableContentView.prototype._waterfallPopoverContentForResource):
11617 (WI.NetworkTableContentView.prototype._handleMousedownWaterfall):
11618 * UserInterface/Views/Popover.css:
11619 (.popover):
11620 * UserInterface/Views/Popover.js:
11621 (WI.Popover):
11622 (WI.Popover.prototype._drawBackground):
11623 Replace `var` with `let`.
11624
11625 (WI.Popover.prototype.get backgroundStyle): Deleted.
11626 (WI.Popover.prototype.set backgroundStyle): Deleted.
11627 * UserInterface/Views/ResourceTimingBreakdownView.css:
11628 (.popover.waterfall-popover):
11629 (.waterfall-popover-content .resource-timing-breakdown):
11630 (.waterfall-popover .resource-timing-breakdown): Deleted.
11631
11632 * UserInterface/Views/NetworkTableContentView.js:
11633 (WI.NetworkTableContentView.prototype._waterfallPopoverContentForResource):
11634 (WI.NetworkTableContentView.prototype._handleMousedownWaterfall):
11635 * UserInterface/Views/Popover.css:
11636 (.popover):
11637 * UserInterface/Views/Popover.js:
11638 (WI.Popover):
11639 (WI.Popover.prototype._drawBackground):
11640 * UserInterface/Views/ResourceTimingBreakdownView.css:
11641 (.popover.waterfall-popover):
11642 (.waterfall-popover-content .resource-timing-breakdown):
11643
nvasilyev@apple.com6e34c3f2018-04-08 01:33:03 +0000116442018-04-07 Nikita Vasilyev <nvasilyev@apple.com>
11645
11646 Web Inspector: Errors glyph doesn't fully change to blue when active
11647 https://bugs.webkit.org/show_bug.cgi?id=184389
11648
11649 Reviewed by Joseph Pecoraro.
11650
11651 The dot of the exclamation mark was always black.
11652
11653 * UserInterface/Images/Errors.svg:
11654
commit-queue@webkit.org45dd6362018-04-04 00:46:50 +0000116552018-04-03 Aaron Chu <aaron_chu@apple.com>
11656
11657 AX: Add Experimental setting for Accessibility Audit
11658 https://bugs.webkit.org/show_bug.cgi?id=183646
11659 <rdar://problem/38478583>
11660
11661 Reviewed by Brian Burg.
11662
11663 Added experimental feature flag for Accessibility Audit work.
11664
11665 * Localizations/en.lproj/localizedStrings.js:
11666 * UserInterface/Base/Setting.js:
11667 * UserInterface/Views/SettingsTabContentView.js:
11668 (WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
11669
mattbaker@apple.com83ff4432018-04-02 05:59:28 +0000116702018-04-01 Matt Baker <mattbaker@apple.com>
11671
11672 Web Inspector: Remove dead TabBrowser/TabContentView code
11673 https://bugs.webkit.org/show_bug.cgi?id=184104
11674
11675 Reviewed by Devin Rousso.
11676
11677 * UserInterface/Base/Main.js:
11678 (WI._tryToRestorePendingTabs):
11679 * UserInterface/Views/NewTabContentView.js:
11680 (WI.NewTabContentView.prototype.shown):
11681 (WI.NewTabContentView.prototype.hidden):
11682 * UserInterface/Views/TabBrowser.js:
11683 (WI.TabBrowser.prototype.addTabForContentView):
11684 (WI.TabBrowser.prototype.showTabForContentView):
11685 (WI.TabBrowser._tabBarItemRemoved):
11686 * UserInterface/Views/TabContentView.js:
11687 (WI.TabContentView.prototype.get parentTabBrowser): Deleted.
11688 (WI.TabContentView.prototype.set parentTabBrowser): Deleted.
11689
webkit@devinrousso.com093c0ee2018-03-31 05:14:49 +0000116902018-03-30 Devin Rousso <webkit@devinrousso.com>
11691
11692 Web Inspector: tint all pixels drawn by shader program when hovering ShaderProgramTreeElement
11693 https://bugs.webkit.org/show_bug.cgi?id=175223
11694
11695 Reviewed by Matt Baker.
11696
11697 * UserInterface/Models/ShaderProgram.js:
11698 (WI.ShaderProgram):
11699 (WI.ShaderProgram.prototype.showHighlight):
11700 (WI.ShaderProgram.prototype.hideHighlight):
11701
11702 * UserInterface/Views/ShaderProgramTreeElement.js:
11703 (WI.ShaderProgramTreeElement.prototype.onattach):
11704 (WI.ShaderProgramTreeElement.prototype._handleMouseOver):
11705 (WI.ShaderProgramTreeElement.prototype._handleMouseOut):
11706 Whenever a ShaderProgramTreeElement is hovered, highlight the corresponding shader program
11707 by tinting the pixels it draws via a blend.
11708
timothy@apple.come98b85b2018-03-28 02:51:18 +0000117092018-03-27 Timothy Hatcher <timothy@apple.com>
11710
11711 Web Inspector: Modernize some utility functions
11712 https://bugs.webkit.org/show_bug.cgi?id=184047
11713
11714 Reviewed by Matt Baker.
11715
11716 * UserInterface/Base/Utilities.js:
11717 (Node.prototype.enclosingNodeOrSelfWithClass): Use parentElement instead of parentNode, so we don't need to check for document.
11718 (Node.prototype.enclosingNodeOrSelfWithNodeNameInArray): Ditto. Also just toUpperCase input, since nodeName is already upper case.
11719 (String.prototype.escapeCharacters): Use Set and string iteration instead of indexOf and charAt.
11720
nvasilyev@apple.comdae802b2018-03-27 19:30:59 +0000117212018-03-27 Nikita Vasilyev <nvasilyev@apple.com>
11722
11723 Web Inspector: Command-Shift-left/right arrow keys should not switch tabs when focused on color picker text fields
11724 https://bugs.webkit.org/show_bug.cgi?id=184028
11725
11726 Reviewed by Timothy Hatcher.
11727
11728 * UserInterface/Views/EditingSupport.js:
11729 (WI.isEventTargetAnEditableField):
11730 Detect <input type="number"> as an editable text field.
11731
nvasilyev@apple.com716b2d82018-03-24 01:26:05 +0000117322018-03-23 Nikita Vasilyev <nvasilyev@apple.com>
11733
11734 Web Inspector: Styles: don't show checkboxes for invalid properties
11735 https://bugs.webkit.org/show_bug.cgi?id=183951
11736 <rdar://problem/38807602>
11737
11738 Reviewed by Matt Baker.
11739
11740 Since toggling of invalid properties isn't supported by the backend, don't show checkboxes for invalid properties.
11741
11742 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
11743 (.spreadsheet-css-declaration:matches(:hover, :focus) .property:not(:matches(.invalid-name, .invalid-value)) .property-toggle,):
11744 (.spreadsheet-css-declaration:matches(:hover, :focus) .property-toggle,): Deleted.
11745 Don't show checkboxes for invalid properties but still show them for duplicate properties.
11746
bburg@apple.coma22a4472018-03-23 23:35:03 +0000117472018-03-23 Brian Burg <bburg@apple.com>
11748
11749 Web Inspector: add WebKitAdditions hooks for WebInspectorUI
11750 https://bugs.webkit.org/show_bug.cgi?id=183940
11751 <rdar://problem/38796310>
11752
11753 Reviewed by Timothy Hatcher.
11754
11755 * Scripts/combine-resources.pl:
11756 (debugLog): Added. Leave in the logging I used to debug this.
11757
11758 (concatenateIncludedFilesMatchingPattern):
11759 (stripIncludedFilesMatchingPattern):
11760 (concatenateFiles): Deleted.
11761 This function tried to do too many things. Split it into
11762 two functions, one for stripping includes and one for concatenating
11763 files referenced by includes.
11764
11765 Lastly, add a negative lookahead clause for 'WebKitAdditions' so includes
11766 containing that string are not combined when no input directory is passed
11767 to the script.
11768
11769 * Scripts/copy-user-interface-resources.pl:
11770 WebKitAdditions is computed either from BUILT_PRODUCTS_DIR or SDKROOT,
11771 depending on the build style. Just try them in order and use the first
11772 one that exists. WebInspectorUI files are in their own directory, so
11773 we can assume there are files to process if that directory exists.
11774
11775 Copy Main.html to derived sources before doing any processing on it.
11776 This makes all combining phases have the same --input-html argument.
11777
11778 (debugLog): Added. Leave in the logging I used to debug this.
11779
11780 (combineOrStripResourcesForWebKitAdditions):
11781 (stripResourcesForWebKitAdditions):
11782 (combineResourcesForWebKitAdditions):
11783 Determine if WebKitAdditions exists and whether there are any
11784 resources for WebInspectorUI present that need to be processed.
11785
11786 * UserInterface/Main.html:
11787 Add stub .js and .css WebKitAdditions files. We can add more later
11788 if it makes sense but this is good enough to validate the build machinery.
11789
nvasilyev@apple.com60460032018-03-23 21:35:34 +0000117902018-03-23 Nikita Vasilyev <nvasilyev@apple.com>
11791
11792 Web Inspector: Styles Redesign: flashing when switching between nodes
11793 https://bugs.webkit.org/show_bug.cgi?id=179291
11794 <rdar://problem/35352660>
11795
11796 Reviewed by Matt Baker.
11797
11798 Flashing was happening because the layout was a two-step process:
11799 1. Append empty sections.
11800 2. Layout everything inside of the section on requestAnimationFrame.
11801
11802 SpreadsheetRulesStyleDetailsPanel was converted to use layout method,
11803 so both steps happen on requestAnimationFrame.
11804
11805 * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:
11806 (WI.SpreadsheetRulesStyleDetailsPanel):
11807 (WI.SpreadsheetRulesStyleDetailsPanel.prototype.refresh):
11808 (WI.SpreadsheetRulesStyleDetailsPanel.prototype.layout):
11809 The removed lines from the refresh method moved to the layout method without any changes.
11810
nvasilyev@apple.com70cbb092018-03-23 01:00:43 +0000118112018-03-22 Nikita Vasilyev <nvasilyev@apple.com>
11812
11813 Uncaught Exception: TypeError: this._textEditor.toggleUnexecutedCodeHighlights().then is not a function
11814 https://bugs.webkit.org/show_bug.cgi?id=181912
11815 <rdar://problem/36700022>
11816
11817 Reviewed by Matt Baker.
11818
11819 The uncaught exception was caused by returning `false` instead of a promise object.
11820 This patch only fixes the exception. Further enhancements should be done in <https://webkit.org/b/183887>.
11821
11822 * UserInterface/Views/SourceCodeTextEditor.js:
11823 (WI.SourceCodeTextEditor.prototype.toggleTypeAnnotations):
11824 (WI.SourceCodeTextEditor.prototype.toggleUnexecutedCodeHighlights):
11825
nvasilyev@apple.comf064a5c2018-03-21 04:47:45 +0000118262018-03-20 Nikita Vasilyev <nvasilyev@apple.com>
11827
11828 Web Inspector: Styles: Loses focus when editing a property while page is being loaded
11829 https://bugs.webkit.org/show_bug.cgi?id=182619
11830 <rdar://problem/37363185>
11831
11832 Reviewed by Matt Baker.
11833
11834 Adding or removing a stylesheet causes SpreadsheetRulesStyleDetailsPanel to refresh, triggering a layout
11835 of all SpreadsheetCSSStyleDeclarationSection child views. This resets the focus, selection, and
11836 auto-completion state.
11837
11838 This patch prevents SpreadsheetCSSStyleDeclarationSection from performing a layout when a property is being edited.
11839
11840 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
11841 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.layout):
11842 Allow re-layout after creating a blank CSS property and pasting CSS code.
11843 - _pendingAddBlankPropertyIndexOffset is a number after pasting CSS rules.
11844 - _propertyPendingStartEditing is a property model after creating a new property.
11845
webkit@devinrousso.com34e47452018-03-21 03:40:17 +0000118462018-03-20 Devin Rousso <webkit@devinrousso.com>
11847
11848 Web Inspector: Session dividers are not added when Console tab is not visible
11849 https://bugs.webkit.org/show_bug.cgi?id=168622
11850
11851 Reviewed by Matt Baker.
11852
11853 Restructure `_pendingMessages` to be a `Map [ConsoleSession, ConsoleMessageView]`. Instead
11854 of rendering to the `_currentConsoleGroup`, we now render to the saved `ConsoleSession`.
11855 Also ensure that `_pendingMessages` is cleared when navigating and "Preserve Log" is off.
11856
11857 * UserInterface/Controllers/JavaScriptLogViewController.js:
11858 (WI.JavaScriptLogViewController):
11859 (WI.JavaScriptLogViewController.prototype.startNewSession):
11860 (WI.JavaScriptLogViewController.prototype.consolePromptHistoryDidChange):
11861 (WI.JavaScriptLogViewController.prototype._appendConsoleMessageView):
11862 (WI.JavaScriptLogViewController.prototype.renderPendingMessages):
11863 (WI.JavaScriptLogViewController.prototype.get prompt): Deleted.
11864 (WI.JavaScriptLogViewController.prototype.get currentConsoleGroup): Deleted.
11865
nvasilyev@apple.com44e91b72018-03-20 08:22:03 +0000118662018-03-20 Nikita Vasilyev <nvasilyev@apple.com>
11867
11868 Web Inspector: Can't add a new class by editing class attribute in DOM outline
11869 https://bugs.webkit.org/show_bug.cgi?id=180890
11870
11871 Reviewed by Ryosuke Niwa.
11872
11873 Typing "my-foo my-bar" creates a single "my-foo\xA0my-bar" class name because
11874 contentEditable-based attribute editor sometimes inserts non-breaking space characters (\xA0).
11875
11876 Replace all non-breaking space characters with the regular space characters when
11877 commiting attribute change.
11878
11879 * UserInterface/Views/DOMTreeElement.js:
11880
nvasilyev@apple.com248ab7c2018-03-16 23:43:41 +0000118812018-03-16 Nikita Vasilyev <nvasilyev@apple.com>
11882
11883 Web Inspector: Elements: "Force Print Media Styles" should not persist across Web Inspector sessions
11884 https://bugs.webkit.org/show_bug.cgi?id=183708
11885 <rdar://problem/36452183>
11886
11887 Reviewed by Matt Baker.
11888
11889 * UserInterface/Base/Main.js:
11890 (WI.loaded):
11891 * UserInterface/Views/DOMTreeContentView.js:
11892 (WI.DOMTreeContentView):
11893 (WI.DOMTreeContentView.prototype._showPrintStylesChanged):
11894 (WI.DOMTreeContentView.prototype._togglePrintStyles):
11895 (WI.DOMTreeContentView.prototype._showPrintStylesSettingChanged): Deleted.
11896 (WI.DOMTreeContentView.prototype._togglePrintStylesSetting): Deleted.
11897
webkit@devinrousso.comca9b6312018-03-15 05:54:53 +0000118982018-03-14 Devin Rousso <webkit@devinrousso.com>
11899
11900 Web Inspector: Canvas: a recording initiated by the user should be shown immediately on completion
11901 https://bugs.webkit.org/show_bug.cgi?id=183647
11902 <rdar://problem/38479187>
11903
11904 Reviewed by Matt Baker.
11905
11906 When recordings are initiated via `console.record`, we don't want to automatically show the
11907 recording after it's payload is sent to the frontend. We determine whether a recording came
11908 from the console by comparing the recording's associated canvas with the current value of
11909 `_recordingCanvas`. Previously, when stopping a recording, we would always null the value,
11910 which meant that all non-single-frame recordings (single-frame recordings are stopped by
11911 the agent after the first paint or tick after an action is performed) would be categorized
11912 as coming from the console, since `_recordingCanvas` would be null by the time the frontend
11913 recieved the payload.
11914
11915 This patch changes it so that the nulling of `_recordingCanvas` in `stopRecording` is only
11916 done if the agent command errors. It was already the case that `_recordingCanvas` was nulled
11917 in `stopRecording`, so this patch just prevents it from being nulled too early.
11918
11919 * UserInterface/Controllers/CanvasManager.js:
11920 (WI.CanvasManager.prototype.stopRecording):
11921
jond@apple.comc123fc32018-03-12 19:35:00 +0000119222018-03-12 Jon Davis <jond@apple.com>
11923
11924 Web Inspector: Remove redundant tooltips
11925 https://bugs.webkit.org/show_bug.cgi?id=183099
11926
11927 Reviewed by Matt Baker.
11928
11929 * Localizations/en.lproj/localizedStrings.js:
11930 * UserInterface/Base/Main.js:
11931 (WI.contentLoaded):
11932 Instantiate ConsoleDrawer so the keyboard shortcuts for FindBanner are available.
11933
11934 * UserInterface/Views/BreakpointTreeElement.js:
11935 (WI.BreakpointTreeElement):
11936 Suppress tooltips by setting the tooltipHandledSeprately flag with no custom handler.
11937
11938 * UserInterface/Views/ButtonNavigationItem.js:
11939 (WI.ButtonNavigationItem):
11940 Only show tooltips when the button style is an image.
11941
11942 * UserInterface/Views/ConsoleDrawer.js:
11943 (WI.ConsoleDrawer):
11944 (WI.ConsoleDrawer.prototype.toggleButtonShortcutTooltip):
11945 Added helper to set the toggle button keyboard shortcut tooltip.
11946
11947 * UserInterface/Views/DOMBreakpointTreeElement.js:
11948 (WI.DOMBreakpointTreeElement):
11949 Suppress tooltips by setting the tooltipHandledSeprately flag with no custom handler.
11950
11951 * UserInterface/Views/DOMNodeTreeElement.js:
11952 (WI.DOMNodeTreeElement):
11953 Suppress tooltips by setting the tooltipHandledSeprately flag with no custom handler.
11954
11955 * UserInterface/Views/FindBanner.js:
11956 (WI.FindBanner):
11957 * UserInterface/Views/HierarchicalPathComponent.js:
11958 (WI.HierarchicalPathComponent):
11959 (WI.HierarchicalPathComponent.prototype.get tooltip):
11960 (WI.HierarchicalPathComponent.prototype.set tooltip):
11961 (WI.HierarchicalPathComponent.prototype.get hideTooltip):
11962 (WI.HierarchicalPathComponent.prototype.set hideTooltip):
11963 (WI.HierarchicalPathComponent.prototype._updateElementTitleAndText):
11964 Add tooltip management features to manage tooltips separately of the displayName,
11965 and provide a behavior to hide tooltips while retaining the tooltip data.
11966
11967 * UserInterface/Views/HierarchicalPathNavigationItem.js:
11968 (WI.HierarchicalPathNavigationItem.prototype.updateLayout):
11969 Hide tooltips when fully visible, show tooltips for collapsed items.
11970
11971 * UserInterface/Views/PinnedTabBarItem.js:
11972 (WI.PinnedTabBarItem.prototype.titleDidChange):
11973 Set tooltips for pinned tab bar items.
11974
11975 * UserInterface/Views/QuickConsole.js:
11976 (WI.QuickConsole):
11977 Set the ConsoleDrawer toggle button tooltip after the keyboard shortcut is registered.
11978
11979 * UserInterface/Views/StorageTreeElement.js:
11980 (WI.StorageTreeElement):
11981 Suppress tooltips by setting the tooltipHandledSeprately flag with no custom handler.
11982
11983 * UserInterface/Views/TabBarItem.js:
11984 (WI.TabBarItem.prototype.get title):
11985 (WI.TabBarItem.prototype.set title):
11986 (WI.TabBarItem.prototype.titleDidChange):
11987 (WI.TabBarItem):
11988 Add title property management with an overridable titleDidChange handler for
11989 setting tooltips when needed.
11990
11991 * UserInterface/Views/TimelineTreeElement.js:
11992 (WI.TimelineTreeElement):
11993 Suppress tooltips by setting the tooltipHandledSeprately flag with no custom handler.
11994
11995 * UserInterface/Views/ToggleButtonNavigationItem.js:
11996 (WI.ToggleButtonNavigationItem.prototype.set defaultToolTip):
11997 Added a setter for manging the default tooltip of a toggle button.
11998
11999 * UserInterface/Views/XHRBreakpointTreeElement.js:
12000 (WI.XHRBreakpointTreeElement):
12001 Suppress tooltips by setting the tooltipHandledSeprately flag with no custom handler.
12002
nvasilyev@apple.comcf2bf4d2018-03-10 01:24:24 +0000120032018-03-09 Nikita Vasilyev <nvasilyev@apple.com>
12004
12005 Web Inspector: Sources: Open all resources in Sources tab instead of Resources/Debugger
12006 https://bugs.webkit.org/show_bug.cgi?id=183317
12007 <rdar://problem/38108455>
12008
12009 Reviewed by Matt Baker.
12010
12011 * Localizations/en.lproj/localizedStrings.js:
12012 * UserInterface/Base/Main.js:
12013 * UserInterface/Views/ContextMenuUtilities.js:
12014 (WI.appendContextMenuItemsForURL):
12015 Introduce preferredTabType option instead of listing ignoreResourcesTab, ignoreDebuggerTab, ignoreSearchTab, and ignoreNetworkTab.
12016 The only correct outcome of selecting "Reveal in Sources Tab" context menu is to open Sources tab, not any other tab.
12017
12018 * UserInterface/Views/SourceCodeTextEditor.js:
12019 (WI.SourceCodeTextEditor.prototype.textEditorGutterContextMenu):
12020 * UserInterface/Views/TabBrowser.js:
12021 (WI.TabBrowser.prototype.bestTabContentViewForRepresentedObject):
12022
nvasilyev@apple.comb2dd5972018-03-09 01:32:51 +0000120232018-03-08 Nikita Vasilyev <nvasilyev@apple.com>
12024
12025 Web Inspector: Sources: add SourcesTabContentView and SourceSidebarPanel classes
12026 https://bugs.webkit.org/show_bug.cgi?id=183316
12027 <rdar://problem/38107639>
12028
12029 Reviewed by Matt Baker.
12030
12031 Add Sources tab and sidebar panel, which are copies of the corresponding Resources classes.
12032 The Sources tab is shown when it's enabled in the experimental settings. This patch doesn't
12033 remove existing Resources and Debugger tabs.
12034
12035 * UserInterface/Base/Main.js:
12036 (WI.contentLoaded):
12037 * UserInterface/Main.html:
12038 * UserInterface/Views/SourcesSidebarPanel.css: Added.
12039 (.sidebar > .panel.navigation.sources > .content):
12040 (.sidebar > .panel.navigation.sources > .navigation-bar):
12041 * UserInterface/Views/SourcesSidebarPanel.js: Added.
12042 (WI.SourcesSidebarPanel):
12043 (WI.SourcesSidebarPanel.shouldPlaceResourcesAtTopLevel):
12044 (WI.SourcesSidebarPanel.prototype.get minimumWidth):
12045 (WI.SourcesSidebarPanel.prototype.closed):
12046 (WI.SourcesSidebarPanel.prototype.showDefaultContentView):
12047 (WI.SourcesSidebarPanel.prototype.treeElementForRepresentedObject.isAncestor):
12048 (WI.SourcesSidebarPanel.prototype.treeElementForRepresentedObject.getParent):
12049 (WI.SourcesSidebarPanel.prototype.treeElementForRepresentedObject):
12050 (WI.SourcesSidebarPanel.prototype.initialLayout):
12051 (WI.SourcesSidebarPanel.prototype.hasCustomFilters):
12052 (WI.SourcesSidebarPanel.prototype.matchTreeElementAgainstCustomFilters.match):
12053 (WI.SourcesSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
12054 (WI.SourcesSidebarPanel.prototype._mainResourceDidChange):
12055 (WI.SourcesSidebarPanel.prototype._mainFrameDidChange):
12056 (WI.SourcesSidebarPanel.prototype._mainFrameMainResourceDidChange.delayedWork):
12057 (WI.SourcesSidebarPanel.prototype._mainFrameMainResourceDidChange):
12058 (WI.SourcesSidebarPanel.prototype._scriptWasAdded):
12059 (WI.SourcesSidebarPanel.prototype._addScript):
12060 (WI.SourcesSidebarPanel.prototype._scriptWasRemoved):
12061 (WI.SourcesSidebarPanel.prototype._scriptsCleared):
12062 (WI.SourcesSidebarPanel.prototype._styleSheetAdded):
12063 (WI.SourcesSidebarPanel.prototype._addTargetWithMainResource):
12064 (WI.SourcesSidebarPanel.prototype._targetRemoved):
12065 (WI.SourcesSidebarPanel.prototype._treeSelectionDidChange):
12066 (WI.SourcesSidebarPanel.prototype._compareTreeElements):
12067 (WI.SourcesSidebarPanel.prototype._extraDomainsActivated):
12068 (WI.SourcesSidebarPanel.prototype._scopeBarSelectionDidChange):
12069 * UserInterface/Views/SourcesTabContentView.js: Added.
12070 (WI.SourcesTabContentView):
12071 (WI.SourcesTabContentView.tabInfo):
12072 (WI.SourcesTabContentView.isTabAllowed):
12073 (WI.SourcesTabContentView.prototype.get type):
12074 (WI.SourcesTabContentView.prototype.get supportsSplitContentBrowser):
12075 (WI.SourcesTabContentView.prototype.canShowRepresentedObject):
12076
webkit@devinrousso.comd457ef42018-03-07 23:09:00 +0000120772018-03-07 Devin Rousso <webkit@devinrousso.com>
12078
12079 Web Inspector: Canvas tab: ensure that the Recording TreeOutline has a specified height for virtualization
12080 https://bugs.webkit.org/show_bug.cgi?id=183015
12081
12082 Reviewed by Matt Baker.
12083
12084 * UserInterface/Views/CanvasSidebarPanel.js:
12085 (WI.CanvasSidebarPanel):
12086
12087 * UserInterface/Views/CanvasSidebarPanel.css:
12088 (.sidebar > .panel.navigation.canvas > .content):
12089 (.sidebar > .panel.navigation.canvas > .content > .navigation-bar):
12090 (.sidebar > .panel.navigation.canvas.has-recordings > .content > .recording-content):
12091 (.sidebar > .panel.navigation.canvas:not(.has-recordings) > .filter-bar,):
12092 (.sidebar > .panel.navigation.canvas > .content > .recording-content > .navigation-bar): Deleted.
12093 (.sidebar > .panel.navigation.canvas.has-recordings > .content > .tree-outline.canvas): Deleted.
12094
12095 * UserInterface/Views/TreeElement.js:
12096 (WI.TreeElement.prototype._detach):
12097
webkit@devinrousso.com0263b9a2018-02-26 23:52:09 +0000120982018-02-26 Devin Rousso <webkit@devinrousso.com>
12099
12100 Web Inspector: Canvas Tab: Scroll into view / Inspect element if Canvas has DOM node
12101 https://bugs.webkit.org/show_bug.cgi?id=181769
12102
12103 Reviewed by Matt Baker.
12104
12105 * Localizations/en.lproj/localizedStrings.js:
12106
12107 * UserInterface/Images/Markup.svg: Added.
12108
12109 * UserInterface/Views/CanvasContentView.js:
12110 (WI.CanvasContentView):
12111 (WI.CanvasContentView.prototype.initialLayout):
12112 (WI.CanvasContentView.prototype._canvasElementButtonClicked):
12113
mattbaker@apple.com6b1a54a2018-02-20 02:04:30 +0000121142018-02-19 Matt Baker <mattbaker@apple.com>
12115
12116 Web Inspector: Canvas tab: hide navigation sidebar when viewing the overview
12117 https://bugs.webkit.org/show_bug.cgi?id=182597
12118 <rdar://problem/37341564>
12119
12120 Reviewed by Devin Rousso.
12121
12122 Support showing/hiding the navigation sidebar panel based on the current
12123 represented object. Individual TabContentViews can opt-in to this behavior,
12124 by overriding TabContentView.prototype.managesNavigationSidebarPanel.
12125
12126 * UserInterface/Views/CanvasSidebarPanel.js:
12127 (WI.CanvasSidebarPanel.prototype.canShowRepresentedObject):
12128 * UserInterface/Views/CanvasTabContentView.js:
12129 (WI.CanvasTabContentView.prototype.get managesNavigationSidebarPanel):
12130 Hide the Canvas navigation sidebar when viewing the overview.
12131
12132 * UserInterface/Views/ContentBrowserTabContentView.js:
12133 (WI.ContentBrowserTabContentView):
12134 (WI.ContentBrowserTabContentView.prototype.showNavigationSidebarPanel):
12135 (WI.ContentBrowserTabContentView.prototype._navigationSidebarCollapsedStateDidChange):
12136 (WI.ContentBrowserTabContentView.prototype._contentBrowserCurrentRepresentedObjectsDidChange):
12137
12138 * UserInterface/Views/NavigationSidebarPanel.js:
12139 (WI.NavigationSidebarPanel.prototype.canShowRepresentedObject):
12140 Provide default implementation that just defers to the TabContentView.
12141 This exists so that a NavigationSidebarPanel that implements canShowRepresentedObject
12142 will have a meaningful default to fall back on.
12143
12144 * UserInterface/Views/TabBrowser.js:
12145 (WI.TabBrowser.prototype._sidebarCollapsedStateDidChange):
12146 (WI.TabBrowser.prototype._showNavigationSidebarPanelForTabContentView):
12147
12148 * UserInterface/Views/TabContentView.js:
12149 (WI.TabContentView.prototype.get managesNavigationSidebarPanel):
12150
mattbaker@apple.com50344de2018-02-16 20:59:55 +0000121512018-02-16 Matt Baker <mattbaker@apple.com>
12152
mattbaker@apple.comedefb682018-02-16 22:06:01 +000012153 Web Inspector: TabBar redesign: remove top-level search field and pin the Search tab
12154 https://bugs.webkit.org/show_bug.cgi?id=182353
12155 <rdar://problem/37088644>
12156
12157 Reviewed by Devin Rousso.
12158
12159 * Localizations/en.lproj/localizedStrings.js:
12160
12161 * UserInterface/Base/Main.js:
12162 (WI.contentLoaded):
12163 Create Search UI based on experimental setting. When the new TabBar is
12164 enabled, the Search tab is a pinned tab. Since it is also saveable, it
12165 needs to be added to the TabBrowser (the browser adds the item to the bar).
12166
12167 When restoring saved tabs, make an additional check to prevent a tab
12168 from being added twice. This can occur now that the Search tab is pinned.
12169
12170 * UserInterface/Images/Search.svg:
12171 Update art to better match Safari/macOS. Slightly increase the radius of
12172 the lens, and shorten the length of the handle.
12173
12174 * UserInterface/Views/GoToLineDialog.css:
12175 (.go-to-line-dialog > div::before):
12176 Update styles for new Search icon.
12177
12178 * UserInterface/Views/LegacyTabBar.js:
12179 (WI.LegacyTabBar.prototype.get saveableTabCount):
12180 Backported new TabBar method which is called by TabBrowser.
12181
12182 * UserInterface/Views/OpenResourceDialog.css:
12183 (.open-resource-dialog > .field::before):
12184 Update styles for new Search icon.
12185
12186 * UserInterface/Views/PinnedTabBarItem.js:
12187 (WI.PinnedTabBarItem.prototype.fromTabInfo):
12188 Match GeneralTabBarItem.fromTabInfo.
12189
12190 * UserInterface/Views/SearchTabContentView.js:
12191 (WI.SearchTabContentView):
12192 (WI.SearchTabContentView.tabInfo):
12193 New image (magnifying glass without border) when new TabBar is enabled.
12194
12195 * UserInterface/Views/SettingsTabContentView.js:
12196 (WI.SettingsTabContentView):
12197
12198 * UserInterface/Views/TabBar.js:
12199 (WI.TabBar):
12200 Move creation of the Settings item out of TabBar. The TabBar should
12201 only be concerned with managing tabs.
12202
12203 (WI.TabBar.prototype.get saveableTabCount):
12204 (WI.TabBar.prototype._handleContextMenu):
12205 (WI.TabBar.prototype.get normalNonEphemeralTabCount): Deleted.
12206 Now that the Search tab is pinned, there aren't any normal tabs that
12207 are also ephemeral. For the LegacyTabBar, both the Search and New Tab
12208 tabs are still in this category.
12209
12210 * UserInterface/Views/TabBrowser.js:
12211 (WI.TabBrowser.prototype.addTabForContentView):
12212 (WI.TabBrowser.prototype.closeTabForContentView):
12213 (WI.TabBrowser.prototype._tabBarItemSelected):
12214 (WI.TabBrowser._tabBarItemRemoved):
12215 Recent tab list should be validated against the list of saveable tabs,
12216 since the Search tab is no longer a normal tab (a GeneralTabBarItem),
12217 but is still persisted across Inspector sessions.
12218
122192018-02-16 Matt Baker <mattbaker@apple.com>
12220
mattbaker@apple.com50344de2018-02-16 20:59:55 +000012221 Web Inspector: TabBar redesign: TabBarItem close button is incorrectly positioned
12222 https://bugs.webkit.org/show_bug.cgi?id=182844
12223 <rdar://problem/37586749>
12224
12225 Reviewed by Timothy Hatcher.
12226
12227 * UserInterface/Views/GeneralTabBarItem.js:
12228 (WI.GeneralTabBarItem.prototype.set title):
12229 Insert the title before the last flexible space item.
12230
12231 * UserInterface/Views/TabBar.css:
12232 (.tab-bar > .item):
12233 (.tab-bar > .item > .close):
12234 (.tab-bar > .item > .flex-space):
12235 (.tab-bar > .item.ephemeral > .flex-space:last-child):
12236 (.tab-bar.collapsed > .item):
12237 (.tab-bar.collapsed > .item > .flex-space):
12238 (.tab-bar.collapsed > .item > .close):
12239 (.tab-bar.collapsed > .item:hover > .close):
12240 (.tab-bar.collapsed > .item.ephemeral:hover > .icon):
12241 (.tab-bar > .item:hover > .close): Deleted.
12242 (.tab-bar:not(.collapsed) > .item.ephemeral:hover > .icon): Deleted.
12243
12244 * UserInterface/Views/TabBarItem.js:
12245 (WI.TabBarItem):
12246 Restore flexible space items before and after the icon.
12247
nvasilyev@apple.com0eb9f1a2018-02-14 22:45:50 +0000122482018-02-14 Nikita Vasilyev <nvasilyev@apple.com>
12249
12250 Web Inspector: Styles: completion popover doesn't hide when switching panels
12251 https://bugs.webkit.org/show_bug.cgi?id=182464
12252 <rdar://problem/37202763>
12253
12254 Reviewed by Timothy Hatcher.
12255
12256 Save the position of the anchor, an element the popover is shown for, and hide the completion popover
12257 when the position changes.
12258
12259 * UserInterface/Views/CompletionSuggestionsView.js:
12260 (WI.CompletionSuggestionsView.prototype.showUntilAnchorMoves):
12261 When the popover is visible, check every 200ms if the anchor moved.
12262
12263 (WI.CompletionSuggestionsView.prototype.hide):
12264 * UserInterface/Views/SpreadsheetTextField.js:
12265 (WI.SpreadsheetTextField.prototype._updateCompletions):
12266 (WI.SpreadsheetTextField.prototype._getCaretRect):
12267 getBoundingClientRect returns {x: 0, y: 0} when it can't determine node's position.
12268 This happens when a node isn't attached to DOM, attached to DOM but not visible, and
12269 a number of odd cases.
12270
mattbaker@apple.com9ae2c002018-02-14 20:17:30 +0000122712018-02-14 Matt Baker <mattbaker@apple.com>
12272
12273 Web Inspector: TabBar redesign: only show allowed tabs in the available tabs context menu
12274 https://bugs.webkit.org/show_bug.cgi?id=182721
12275 <rdar://problem/37479019>
12276
12277 Reviewed by Timothy Hatcher.
12278
12279 In addition to only including allowed tabs in the TabBar context menu,
12280 perform a sanity check when setting the selected tab item, since the
12281 serialized selection index could refer to a tab that is no longer allowed.
12282
12283 * UserInterface/Views/LegacyTabBar.js:
12284 (WI.LegacyTabBar.prototype.set selectedTabBarItem):
12285 (WI.LegacyTabBar.prototype._handleContextMenu):
12286
12287 * UserInterface/Views/TabBar.js:
12288 (WI.TabBar.prototype.set selectedTabBarItem):
12289 (WI.TabBar.prototype._handleContextMenu):
12290
mattbaker@apple.com2df6e952018-02-09 20:40:10 +0000122912018-02-09 Matt Baker <mattbaker@apple.com>
12292
mattbaker@apple.com87a77562018-02-10 06:15:46 +000012293 Web Inspector: Canvas tab: tree selection abruptly changes when selecting a recording frame
12294 https://bugs.webkit.org/show_bug.cgi?id=182667
12295 <rdar://problem/37412639>
12296
12297 Reviewed by Devin Rousso.
12298
12299 * UserInterface/Views/CanvasSidebarPanel.css:
12300 (.sidebar > .panel.navigation.canvas > .content > .recording-content > .navigation-bar):
12301 (.sidebar > .panel.navigation.canvas:not(.has-recordings) > .filter-bar,):
12302 (.sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline .item.recording > .icon):
12303 (.sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline .item.folder-icon > .icon):
12304 (.sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline .item.folder-icon > .status):
12305 (.sidebar > .panel.navigation.canvas > .content > .navigation-bar): Deleted.
12306 (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.recording > .icon): Deleted.
12307 (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.folder-icon > .icon): Deleted.
12308 (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.folder-icon > .status): Deleted.
12309 Style changes for the additional DOM element required to virtualize the recording tree outline.
12310
12311 * UserInterface/Views/CanvasSidebarPanel.js:
12312 (WI.CanvasSidebarPanel):
12313 In order to be virtualized, the tree must be the only child of its parent.
12314
12315 (WI.CanvasSidebarPanel.prototype.set action):
12316 Ensure that a frame tree element isn't deselected when the last action
12317 in the frame becomes selected in the RecordingContentView.
12318
12319 (WI.CanvasSidebarPanel.prototype.shown):
12320 Refresh the sidebar, as represented objects may have changed while hidden.
12321
12322 (WI.CanvasSidebarPanel.prototype._currentRepresentedObjectsDidChange):
12323 Unset the recording when no valid represented objects are found, to
12324 prevent a stale recording tree from being shown when viewing the overview.
12325
12326 (WI.CanvasSidebarPanel.prototype._canvasChanged):
12327 (WI.CanvasSidebarPanel.prototype._recordingChanged):
12328 (WI.CanvasSidebarPanel.prototype._updateRecordingScopeBar):
12329 Moved toggling of the "has-recordings" style to _canvasChanged, since
12330 the navigation bar should be hidden when no canvas exists.
12331
12332 * UserInterface/Views/CollectionContentView.js:
12333 (WI.CollectionContentView.prototype.addContentViewForItem):
12334 (WI.CollectionContentView.prototype.removeContentViewForItem):
12335 Drive by fixes for child view visible state.
12336
12337 * UserInterface/Views/TreeOutline.css:
12338 (.tree-outline:not(.large):matches(:focus, .force-focus) .item.selected .status .indeterminate-progress-spinner):
12339 Make spinner easier to see against the selection background color.
12340
123412018-02-09 Matt Baker <mattbaker@apple.com>
12342
mattbaker@apple.com2df6e952018-02-09 20:40:10 +000012343 Web Inspector: Object.shallowEqual always fails when comparing array property values
12344 https://bugs.webkit.org/show_bug.cgi?id=182634
12345 <rdar://problem/37374639>
12346
12347 Reviewed by Devin Rousso.
12348
12349 Object.shallowEqual should use Array.shallowEqual when comparing property
12350 values, since strictly comparing objects/arrays is only true if both
12351 operands reference the same Object.
12352
12353 * UserInterface/Base/Utilities.js:
12354 (value):
12355
mattbaker@apple.comb8adaba2018-02-09 00:52:28 +0000123562018-02-08 Matt Baker <mattbaker@apple.com>
12357
12358 Web Inspector: add listing of Canvases/Programs/Recordings to the NavigationSidebar
12359 https://bugs.webkit.org/show_bug.cgi?id=178744
12360 <rdar://problem/35374379>
12361
12362 Reviewed by Devin Rousso.
12363
12364 * Localizations/en.lproj/localizedStrings.js:
12365
12366 * UserInterface/Images/Canvas2D.svg:
12367 * UserInterface/Images/Canvas3D.svg:
12368 * UserInterface/Images/Recording.svg:
12369 Update canvas icons to be monochrome. Simplified the recording icon.
12370
12371 * UserInterface/Main.html:
12372
12373 * UserInterface/Models/RecordingAction.js:
12374 (WI.RecordingAction.prototype.get state):
12375 (WI.RecordingAction.prototype.set state):
12376 Allow (2D) snapshot state to be associated with the action. Used by
12377 RecordingActionDetailsSidebarPanel to retrieve the snapshot state.
12378
12379 * UserInterface/Views/CanvasContentView.css:
12380 (.content-view.canvas:not(.tab)):
12381 (.content-view.canvas:not(.tab) > .progress): Deleted.
12382 (.content-view.canvas:not(.tab) > .progress > .frame-count): Deleted.
12383
12384 * UserInterface/Views/CanvasContentView.js:
12385 (WI.CanvasContentView):
12386 (WI.CanvasContentView.prototype.get navigationItems):
12387 (WI.CanvasContentView.prototype.layout):
12388 (WI.CanvasContentView.prototype.shown):
12389 (WI.CanvasContentView.prototype._recordingStarted):
12390 (WI.CanvasContentView.prototype._recordingProgress):
12391 (WI.CanvasContentView.prototype._recordingStopped):
12392 (WI.CanvasContentView.prototype._updateRecordNavigationItem):
12393 (WI.CanvasContentView.prototype._updateProgressView):
12394 Replace progress UI with a reusable ProgressView class.
12395 When in the overview, clicking the CanvasContentView shows a dedicated
12396 CanvasContentView for inspecting shaders and recordings. This behavior
12397 is controlled by CollectionContentView, so we need to prevent it when
12398 clicking inside the header and footer elements, which contain clickable UI.
12399
12400 * UserInterface/Views/CanvasDetailsSidebarPanel.js:
12401 (WI.CanvasDetailsSidebarPanel.prototype.inspect):
12402
12403 * UserInterface/Views/CanvasOverviewContentView.css:
12404 (.content-view.canvas-overview .content-view.canvas):
12405 (.content-view.canvas-overview .content-view.canvas.is-recording):
12406 (.content-view.canvas-overview .content-view.canvas > :matches(header, footer)):
12407 (.content-view.canvas-overview .content-view.canvas > header):
12408 (.content-view.canvas-overview .content-view.canvas.is-recording > header):
12409 (.content-view.canvas-overview .content-view.canvas > header > .navigation-bar):
12410 (.content-view.canvas-overview .content-view.canvas:matches(:hover, .is-recording) > header > .navigation-bar):
12411 (.content-view.canvas-overview .content-view.canvas.is-recording > .progress-view,):
12412 (.content-view.canvas-overview .content-view.canvas.is-recording > .preview):
12413 (.content-view.canvas-overview .content-view.canvas > :matches(header, .progress, .preview, footer)): Deleted.
12414 (.content-view.canvas-overview .content-view.canvas.selected > :matches(.progress, .preview, footer),): Deleted.
12415 (.content-view.canvas-overview .content-view.canvas:not(:hover, .is-recording, .selected) > header > .navigation-bar): Deleted.
12416 (.content-view.canvas-overview .content-view.canvas > :matches(.progress, .preview)): Deleted.
12417 (.content-view.canvas-overview .content-view.canvas > .preview): Deleted.
12418 (.content-view.canvas-overview .content-view.canvas > .progress ~ .preview): Deleted.
12419 Clean up styles, and remove selection styles as canvases are no longer selectable in the overview.
12420
12421 * UserInterface/Views/CanvasOverviewContentView.js:
12422 (WI.CanvasOverviewContentView):
12423 (WI.CanvasOverviewContentView.prototype.get navigationItems):
12424 (WI.CanvasOverviewContentView.prototype.attached):
12425 (WI.CanvasOverviewContentView.prototype.detached):
12426 (WI.CanvasOverviewContentView.prototype.get selectionPathComponents): Deleted.
12427 (WI.CanvasOverviewContentView.prototype._changeSelectedItemVertically): Deleted.
12428 (WI.CanvasOverviewContentView.prototype._changeSelectedItemHorizontally): Deleted.
12429 (WI.CanvasOverviewContentView.prototype._selectionPathComponentsChanged): Deleted.
12430 (WI.CanvasOverviewContentView.prototype._handleUp): Deleted.
12431 (WI.CanvasOverviewContentView.prototype._handleRight): Deleted.
12432 (WI.CanvasOverviewContentView.prototype._handleDown): Deleted.
12433 (WI.CanvasOverviewContentView.prototype._handleLeft): Deleted.
12434 (WI.CanvasOverviewContentView.prototype._handleSpace): Deleted.
12435 (WI.CanvasOverviewContentView.prototype._supplementalRepresentedObjectsDidChange): Deleted.
12436 Disable canvas selection. Remove logic for supplemental represented objects,
12437 path components, and selection keyboard shortcuts.
12438
12439 * UserInterface/Views/CanvasSidebarPanel.css: Added.
12440 (.sidebar > .panel.navigation.canvas > .content):
12441 (.sidebar > .panel.navigation.canvas > .navigation-bar > .item.record-start-stop.disabled):
12442 (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.canvas.canvas-2d .icon):
12443 (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.canvas.webgl .icon):
12444 (.sidebar > .panel.navigation.canvas > .content > .navigation-bar):
12445 (.sidebar > .panel.navigation.canvas.has-recordings > .content > .tree-outline.canvas):
12446 (.sidebar > .panel.navigation.canvas:not(.has-recordings) > .filter-bar,):
12447 (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.recording > .icon):
12448 (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.shader-program > .icon):
12449 (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.folder-icon > .icon):
12450 (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.folder-icon > .status):
12451
12452 * UserInterface/Views/CanvasSidebarPanel.js: Added.
12453 (WI.CanvasSidebarPanel):
12454 (WI.CanvasSidebarPanel.prototype.get canvas):
12455 (WI.CanvasSidebarPanel.prototype.set canvas):
12456 (WI.CanvasSidebarPanel.prototype.set recording):
12457 (WI.CanvasSidebarPanel.prototype.set action):
12458 (WI.CanvasSidebarPanel.prototype.shown):
12459 (WI.CanvasSidebarPanel.prototype.hidden):
12460 (WI.CanvasSidebarPanel.prototype.hasCustomFilters):
12461 (WI.CanvasSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
12462 (WI.CanvasSidebarPanel.prototype.initialLayout):
12463 (WI.CanvasSidebarPanel.prototype._recordingAdded):
12464 (WI.CanvasSidebarPanel.prototype._recordingRemoved):
12465 (WI.CanvasSidebarPanel.prototype._scopeBarSelectionChanged):
12466 (WI.CanvasSidebarPanel.prototype._toggleRecording):
12467 (WI.CanvasSidebarPanel.prototype._currentRepresentedObjectsDidChange):
12468 (WI.CanvasSidebarPanel.prototype._treeOutlineSelectionDidChange):
12469 (WI.CanvasSidebarPanel.prototype._canvasChanged):
12470 (WI.CanvasSidebarPanel.prototype._recordingChanged):
12471 (WI.CanvasSidebarPanel.prototype._updateRecordNavigationItem):
12472 (WI.CanvasSidebarPanel.prototype._updateRecordingScopeBar):
12473 Add new navigation sidebar, split into two sections. The upper section
12474 contains a tree with a single element for the current canvas, and child
12475 elements for any shader programs. The maximum height of this section is 50%
12476 of the sidebar's height. The lower section contains a tree for the selected
12477 recording, and a scope bar for choosing between recordings.
12478
12479 * UserInterface/Views/CanvasTabContentView.css:
12480 (.content-view.tab.canvas .navigation-bar > .item .canvas-overview .icon):
12481 (.content-view.tab.canvas .navigation-bar > .item .canvas.canvas-2d .icon):
12482 (.content-view.tab.canvas .navigation-bar > .item .canvas.webgl .icon):
12483 (.content-view.tab.canvas .navigation-bar > .item .shader-program > .icon):
12484 (.content-view.tab.canvas .navigation-bar > .item > .hierarchical-path-component > .icon): Deleted.
12485 (.content-view.tab.canvas .navigation-bar > .item .canvas .icon): Deleted.
12486
12487 * UserInterface/Views/CanvasTabContentView.js:
12488 (WI.CanvasTabContentView):
12489 (WI.CanvasTabContentView.prototype.canShowRepresentedObject):
12490 (WI.CanvasTabContentView.prototype.attached):
12491 (WI.CanvasTabContentView.prototype._addCanvas):
12492 (WI.CanvasTabContentView.prototype._removeCanvas):
12493 (WI.CanvasTabContentView.prototype._canvasTreeOutlineSelectionDidChange):
12494 (WI.CanvasTabContentView.prototype._recordingAdded):
12495 (WI.CanvasTabContentView.prototype._handleSpace):
12496 (WI.CanvasTabContentView.prototype.showRepresentedObject): Deleted.
12497 (WI.CanvasTabContentView.prototype._navigationSidebarTreeOutlineSelectionChanged): Deleted.
12498 (WI.CanvasTabContentView.prototype._recordingActionIndexChanged): Deleted.
12499 (WI.CanvasTabContentView.prototype._updateActionIndex): Deleted.
12500 The canvas tab now maintains a tree outline of all canvases, with an
12501 "Overview" element as the root. The Overview element is always the first
12502 item of content browser's hierarchical path.
12503
12504 * UserInterface/Views/CanvasTreeElement.js:
12505 (WI.CanvasTreeElement.createRecordingTreeElement):
12506 (WI.CanvasTreeElement):
12507 (WI.CanvasTreeElement.prototype.onattach):
12508 (WI.CanvasTreeElement.prototype.onpopulate):
12509 (WI.CanvasTreeElement.prototype._updateStatus):
12510 (WI.CanvasTreeElement.prototype.ondetach): Deleted.
12511 Make it possible to not show recordings under the Canvas element.
12512 Create `isRecording` status element (spinner).
12513
12514 * UserInterface/Views/CollectionContentView.js:
12515 (WI.CollectionContentView.prototype.shown):
12516 (WI.CollectionContentView.prototype.hidden):
12517 Child ContentViews need to be updated when the collection's visibility changes.
12518
12519 * UserInterface/Views/ContentView.js:
12520 (WI.ContentView.isViewable):
12521
12522 * UserInterface/Views/ProgressView.css: Added.
12523 (.progress-view):
12524 (.progress-view > .titles):
12525 (.progress-view > .titles > .title):
12526 (.progress-view > .titles > .subtitle):
12527 (.progress-view > .titles > .subtitle::before):
12528 (.progress-view > .indeterminate-progress-spinner):
12529
12530 * UserInterface/Views/ProgressView.js: Added.
12531 (WI.ProgressView):
12532 (WI.ProgressView.prototype.get title):
12533 (WI.ProgressView.prototype.set title):
12534 (WI.ProgressView.prototype.get subtitle):
12535 (WI.ProgressView.prototype.set subtitle):
12536 (WI.ProgressView.prototype.get visible):
12537 (WI.ProgressView.prototype.set visible):
12538 (WI.ProgressView.prototype.initialLayout):
12539 (WI.ProgressView.prototype._updateTitles):
12540 New view class (not a ContentView) for showing a generic progress message,
12541 with a title, subtitle, and progress spinner.
12542
12543 * UserInterface/Views/RecordingContentView.css:
12544 (.content-view:not(.tab).recording > .preview-container):
12545 Remove unnecessary styles.
12546
12547 * UserInterface/Views/RecordingContentView.js:
12548 (WI.RecordingContentView):
12549 (WI.RecordingContentView.prototype.get navigationItems):
12550 (WI.RecordingContentView.prototype.get supplementalRepresentedObjects):
12551 (WI.RecordingContentView.prototype.updateActionIndex):
12552 (WI.RecordingContentView.prototype.get saveData):
12553 (WI.RecordingContentView.prototype._exportRecording):
12554 Relocate the recording export logic and UI.
12555 (WI.RecordingContentView.prototype.async._generateContentCanvas2D):
12556 (WI.RecordingContentView.prototype.async._generateContentCanvasWebGL):
12557 (WI.RecordingContentView.prototype._sliderChanged):
12558 Refactor logic for notifying the rest of the UI of changes to the action slider.
12559 The selected action is now exposed as a supplemental represented object, and a
12560 corresponding SupplementalRepresentedObjectsDidChange event.
12561
12562 * UserInterface/Views/RecordingStateDetailsSidebarPanel.js:
12563 (WI.RecordingStateDetailsSidebarPanel.prototype.inspect):
12564 (WI.RecordingStateDetailsSidebarPanel.prototype.set action):
12565 (WI.RecordingStateDetailsSidebarPanel.prototype._generateDetailsCanvas2D):
12566 (WI.RecordingStateDetailsSidebarPanel):
12567 (WI.RecordingStateDetailsSidebarPanel.prototype.updateAction): Deleted.
12568
12569 * UserInterface/Views/RecordingTraceDetailsSidebarPanel.js:
12570 (WI.RecordingTraceDetailsSidebarPanel.prototype.inspect):
12571 (WI.RecordingTraceDetailsSidebarPanel.prototype.set action):
12572 (WI.RecordingTraceDetailsSidebarPanel):
12573 (WI.RecordingTraceDetailsSidebarPanel.prototype.updateAction): Deleted.
12574 Now that the selected action is exposed to the UI as a supplemental
12575 represented object, details sidebars can be more decoupled from the
12576 canvas tab, and be notified of changes to the selection via `inspect()`.
12577
12578 * UserInterface/Views/ResourceIcons.css:
12579 (.canvas > .icon): Deleted.
12580 (.shader-program .icon): Deleted.
12581
nvasilyev@apple.comc3a927d2018-02-08 23:18:28 +0000125822018-02-08 Nikita Vasilyev <nvasilyev@apple.com>
12583
12584 Web Inspector: Styles: Typing value and quickly moving focus away may display outdated value in UI
12585 https://bugs.webkit.org/show_bug.cgi?id=182588
12586 <rdar://problem/37332161>
12587
12588 Reviewed by Matt Baker.
12589
12590 CSSProperty models were updated with a 250ms delay. Quickly adding a blank property after modifying
12591 an existing property could result in outdated values being shown.
12592
12593 This patch removes the 250ms delay.
12594
12595 * UserInterface/Views/SpreadsheetStyleProperty.js:
12596 (WI.SpreadsheetStyleProperty.prototype.spreadsheetTextFieldDidChange):
12597
mattbaker@apple.com029ef7a2018-02-08 00:58:25 +0000125982018-02-07 Matt Baker <mattbaker@apple.com>
12599
12600 Web Inspector: replace isAncestor with Node.contains() in LegacyTabBar
12601 https://bugs.webkit.org/show_bug.cgi?id=182586
12602
12603 Reviewed by Timothy Hatcher.
12604
12605 * UserInterface/Views/LegacyTabBar.js:
12606
nvasilyev@apple.com92717732018-02-07 19:01:16 +0000126072018-02-07 Nikita Vasilyev <nvasilyev@apple.com>
12608
12609 Web Inspector: Styles: completion popover doesn't hide when switching panels
12610 https://bugs.webkit.org/show_bug.cgi?id=182464
12611 <rdar://problem/37202763>
12612
12613 Reviewed by Timothy Hatcher.
12614
12615 Hide completion popover by triggering blur event on the focused text field.
12616 Removing text fields from the DOM tree would hide the completion popovers as well,
12617 but switching sidebar panels doesn't remove them from the DOM.
12618
12619 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
12620 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.hidden):
12621 * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
12622 (WI.SpreadsheetCSSStyleDeclarationSection.prototype.hidden):
12623 * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:
12624 (WI.SpreadsheetRulesStyleDetailsPanel.prototype.hidden):
12625 * UserInterface/Views/SpreadsheetStyleProperty.js:
12626 (WI.SpreadsheetStyleProperty.prototype.hidden):
12627
webkit@devinrousso.come1775ce2018-02-07 03:20:01 +0000126282018-02-06 Devin Rousso <webkit@devinrousso.com>
12629
webkit@devinrousso.com7f34f522018-02-07 03:27:00 +000012630 Web Inspector: Replace isAncestor and isDescendant with native DOM contains method
12631 https://bugs.webkit.org/show_bug.cgi?id=182069
12632
12633 Reviewed by Brian Burg.
12634
12635 * UserInterface/Base/Main.js:
12636 (WI.restoreFocusFromElement):
12637 (WI._mouseDown):
12638 (WI._focusedContentBrowser):
12639 (WI._focusedContentView):
12640 * UserInterface/Base/Utilities.js:
12641 (Node.prototype.traverseNextNode):
12642 (Node.prototype.isAncestor): Deleted.
12643 (Node.prototype.isDescendant): Deleted.
12644 (Node.prototype.isSelfOrAncestor): Deleted.
12645 (Node.prototype.isSelfOrDescendant): Deleted.
12646 * UserInterface/Views/BoxModelDetailsSectionRow.js:
12647 (WI.BoxModelDetailsSectionRow.prototype._handleKeyDown):
12648 * UserInterface/Views/CSSStyleDeclarationSection.js:
12649 (WI.CSSStyleDeclarationSection.prototype._handleSelectorPaste):
12650 * UserInterface/Views/DOMTreeOutline.js:
12651 (WI.DOMTreeOutline.prototype._onmouseout):
12652 * UserInterface/Views/DetailsSection.js:
12653 (WI.DetailsSection.prototype._headerElementClicked):
12654 * UserInterface/Views/EditingSupport.js:
12655 (WI.incrementElementValue):
12656 * UserInterface/Views/LogContentView.js:
12657 (WI.LogContentView.prototype._handleContextMenuEvent):
12658 * UserInterface/Views/ShaderProgramTreeElement.js:
12659 (WI.ShaderProgramTreeElement.prototype.selectOnMouseDown):
12660 * UserInterface/Views/SoftContextMenu.js:
12661 (WI.SoftContextMenu.prototype._menuItemMouseOut):
12662 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
12663 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.initialLayout):
12664 * UserInterface/Views/TabBar.js:
12665 (WI.TabBar.prototype.insertTabBarItem):
12666
126672018-02-06 Devin Rousso <webkit@devinrousso.com>
12668
webkit@devinrousso.come1775ce2018-02-07 03:20:01 +000012669 Web Inspector: Elements tab should have "Jump to Layer" functionality
12670 https://bugs.webkit.org/show_bug.cgi?id=181800
12671
12672 Reviewed by Joseph Pecoraro.
12673
12674 * Localizations/en.lproj/localizedStrings.js:
12675
12676 * UserInterface/Base/Main.js:
12677 (WI.isShowingElementsTab):
12678 (WI.showLayersTab):
12679 (WI.isShowingLayersTab):
12680
12681 * UserInterface/Views/ContextMenuUtilities.js:
12682 (WI.appendContextMenuItemsForDOMNode):
12683
12684 * UserInterface/Views/LayersTabContentView.js:
12685 (WI.LayersTabContentView.prototype.selectLayerForNode):
12686
12687 * UserInterface/Views/Layers3DContentView.js:
12688 (WI.Layers3DContentView):
12689 (WI.Layers3DContentView.prototype.selectLayerForNode):
12690 (WI.Layers3DContentView.prototype.layout):
12691
12692 * UserInterface/Views/LayerDetailsSidebarPanel.js:
12693 (WI.LayerDetailsSidebarPanel):
12694 (WI.LayerDetailsSidebarPanel.prototype.selectNodeByLayerId):
12695 (WI.LayerDetailsSidebarPanel.prototype._updateDataGrid):
12696
nvasilyev@apple.coma9e56da2018-02-07 03:05:54 +0000126972018-02-06 Nikita Vasilyev <nvasilyev@apple.com>
12698
12699 Web Inspector: Rename String.prototype.trimEnd to avoid conflicts with native trimEnd
12700 https://bugs.webkit.org/show_bug.cgi?id=182545
12701
12702 Reviewed by Brian Burg.
12703
12704 Rename:
12705 - trimEnd to truncateEnd
12706 - trimMiddle to truncateMiddle
12707
12708 * UserInterface/Base/Utilities.js:
12709 (String.prototype.trimMiddle): Deleted.
12710 (String.prototype.trimEnd): Deleted.
12711 (String.prototype.truncateMiddle): Added.
12712 (String.prototype.truncateEnd): Added.
12713 Use strict mode. Scrict mode allows `this` to be a primitive (a string, in our case).
12714 In non-strict mode, `this` is always an object. Without the strict mode,
12715 "a".truncateEnd(42) !== "a", because truncateEnd returns a string object.
12716
12717 * UserInterface/Views/DOMTreeElement.js:
12718 (WI.DOMTreeElement.prototype._buildAttributeDOM):
12719 * UserInterface/Views/DOMTreeElementPathComponent.js:
12720 (WI.DOMTreeElementPathComponent):
12721 * UserInterface/Views/SearchResultTreeElement.js:
12722 Remove an obvious comment.
12723
12724 (WI.SearchResultTreeElement.truncateAndHighlightTitle):
12725 * UserInterface/Views/SpreadsheetStyleProperty.js:
12726 (WI.SpreadsheetStyleProperty.prototype._renderValue):
12727
nvasilyev@apple.com2b126eb2018-02-05 22:37:51 +0000127282018-02-05 Nikita Vasilyev <nvasilyev@apple.com>
12729
12730 Web Inspector: Add an experimental setting to enable Sources tab
12731 https://bugs.webkit.org/show_bug.cgi?id=182461
12732
12733 Reviewed by Brian Burg.
12734
12735 This patch only adds a setting. It doesn't add the Sources tab.
12736
12737 * Localizations/en.lproj/localizedStrings.js:
12738 * UserInterface/Base/Setting.js:
12739 * UserInterface/Views/SettingsTabContentView.js:
12740
webkit@devinrousso.comdb33a6a2018-02-02 22:52:56 +0000127412018-02-02 Devin Rousso <webkit@devinrousso.com>
12742
12743 Web Inspector: Styles Redesign: Pasting multiple properties should create properties instead of a bad property
12744 https://bugs.webkit.org/show_bug.cgi?id=179622
12745 <rdar://problem/35511170>
12746
12747 Reviewed by Matt Baker.
12748
12749 * UserInterface/Views/SpreadsheetStyleProperty.js:
12750 (WI.SpreadsheetStyleProperty.prototype._remove):
12751 (WI.SpreadsheetStyleProperty.prototype._update):
12752 (WI.SpreadsheetStyleProperty.prototype.spreadsheetTextFieldDidCommit):
12753 (WI.SpreadsheetStyleProperty.prototype._handleNamePaste):
12754 When the user pastes into the name field, parse the text for a list of name-value pairs and
12755 replace the property being edited with the text of those pairs.
12756
12757 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
12758 (WI.SpreadsheetCSSStyleDeclarationEditor):
12759 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.layout):
12760 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.addBlankProperty):
12761 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyFocusMoved):
12762 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyAddBlankPropertySoon):
12763 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyRemoved):
12764 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._propertiesChanged):
12765 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetCSSStyleDeclarationEditorFocusMoved): Deleted.
12766 Calling `addBlankProperty` will trigger a layout on the next frame, but that might be before
12767 the CSSAgent has had a chance to finish refreshing, so we need a way to defer the creation
12768 of a new property until after we have finished the next layout (which is after the refresh).
12769 Drive-by: fix naming of some delegate functions.
12770
12771 * UserInterface/Models/CSSProperty.js:
12772 (WI.CSSProperty.prototype.replaceWithText):
12773 Provide a way for replacing the property with new text.
12774
mattbaker@apple.com0ea61b62018-02-02 21:04:52 +0000127752018-02-02 Matt Baker <mattbaker@apple.com>
12776
12777 Web Inspector: TabBar redesign: remove New Tab button and add experimental feature flag
12778 https://bugs.webkit.org/show_bug.cgi?id=182342
12779 <rdar://problem/37078662>
12780
12781 Reviewed by Devin Rousso.
12782
12783 This patch adds a new experimental setting group, "User Interface", with
12784 a single setting, "Enable New TabBar". When enabled, the New Tab button is
12785 no longer available in the top-level TabBar. The 'open tabs' context menu
12786 no longer allows the last non-ephemeral open tab to be closed (unchecked).
12787
12788 * Localizations/en.lproj/localizedStrings.js:
12789
12790 * UserInterface/Base/Main.js:
12791 (WI.contentLoaded):
12792 (WI._tryToRestorePendingTabs):
12793 Retain legacy behavior behind experimental feature setting.
12794 (WI.isNewTabWithTypeAllowed):
12795
12796 * UserInterface/Base/Setting.js:
12797 * UserInterface/Main.html:
12798
12799 * UserInterface/Views/CanvasTabContentView.js:
12800 (WI.CanvasTabContentView):
12801 * UserInterface/Views/ConsoleTabContentView.js:
12802 (WI.ConsoleTabContentView):
12803 * UserInterface/Views/DebuggerTabContentView.js:
12804 (WI.DebuggerTabContentView):
12805 * UserInterface/Views/ElementsTabContentView.js:
12806 (WI.ElementsTabContentView):
12807
12808 * UserInterface/Views/GeneralTabBarItem.js:
12809 (WI.GeneralTabBarItem):
12810 (WI.GeneralTabBarItem.prototype.fromTabInfo):
12811 (WI.GeneralTabBarItem.prototype.get isEphemeral):
12812 (WI.GeneralTabBarItem.fromTabContentViewConstructor): Deleted.
12813
12814 * UserInterface/Views/LayersTabContentView.js:
12815 (WI.LayersTabContentView):
12816
12817 * UserInterface/Views/LegacyTabBar.js: Copied from Source/WebInspectorUI/UserInterface/Views/TabBar.js.
12818 (WI.LegacyTabBar):
12819 (WI.LegacyTabBar.prototype.get newTabTabBarItem):
12820 (WI.LegacyTabBar.prototype.updateNewTabTabBarItemState):
12821 (WI.LegacyTabBar.prototype.addTabBarItem):
12822 (WI.LegacyTabBar.prototype.insertTabBarItem.animateTabs):
12823 (WI.LegacyTabBar.prototype.insertTabBarItem.removeStyles):
12824 (WI.LegacyTabBar.prototype.insertTabBarItem):
12825 (WI.LegacyTabBar.prototype.removeTabBarItem.animateTabs):
12826 (WI.LegacyTabBar.prototype.removeTabBarItem.removeStyles):
12827 (WI.LegacyTabBar.prototype.removeTabBarItem):
12828 (WI.LegacyTabBar.prototype.selectPreviousTab):
12829 (WI.LegacyTabBar.prototype.selectNextTab):
12830 (WI.LegacyTabBar.prototype.get selectedTabBarItem):
12831 (WI.LegacyTabBar.prototype.set selectedTabBarItem):
12832 (WI.LegacyTabBar.prototype.get tabBarItems):
12833 (WI.LegacyTabBar.prototype.get normalTabCount):
12834 (WI.LegacyTabBar.prototype.layout.forceItemHidden):
12835 (WI.LegacyTabBar.prototype.layout):
12836 (WI.LegacyTabBar.prototype._tabBarItemsFromLeftToRight):
12837 (WI.LegacyTabBar.prototype._findTabBarItem):
12838 (WI.LegacyTabBar.prototype._hasMoreThanOneNormalTab):
12839 (WI.LegacyTabBar.prototype._openDefaultTab):
12840 (WI.LegacyTabBar.prototype._recordTabBarItemSizesAndPositions):
12841 (WI.LegacyTabBar.prototype._applyTabBarItemSizesAndPositions):
12842 (WI.LegacyTabBar.prototype._clearTabBarItemSizesAndPositions):
12843 (WI.LegacyTabBar.prototype._finishExpandingTabsAfterClose.):
12844 (WI.LegacyTabBar.prototype._finishExpandingTabsAfterClose):
12845 (WI.LegacyTabBar.prototype._handleMouseDown):
12846 (WI.LegacyTabBar.prototype._handleClick):
12847 (WI.LegacyTabBar.prototype._handleMouseMoved):
12848 (WI.LegacyTabBar.prototype._handleMouseUp):
12849 (WI.LegacyTabBar.prototype._handleMouseLeave):
12850 (WI.LegacyTabBar.prototype._handleContextMenu):
12851 (WI.LegacyTabBar.prototype._handleNewTabClick):
12852 (WI.LegacyTabBar.prototype._handleTabPickerTabContextMenu):
12853 (WI.LegacyTabBar.prototype._handleNewTabMouseEnter):
12854
12855 * UserInterface/Views/NetworkTabContentView.js:
12856 (WI.NetworkTabContentView):
12857 * UserInterface/Views/NewTabContentView.js:
12858 (WI.NewTabContentView):
12859 (WI.NewTabContentView.tabInfo):
12860 (WI.NewTabContentView.isEphemeral): Deleted.
12861 * UserInterface/Views/ResourcesTabContentView.js:
12862 (WI.ResourcesTabContentView):
12863 * UserInterface/Views/SearchTabContentView.js:
12864 (WI.SearchTabContentView):
12865 (WI.SearchTabContentView.tabInfo):
12866 (WI.SearchTabContentView.isEphemeral): Deleted.
12867
12868 * UserInterface/Views/SettingsTabContentView.js:
12869 (WI.SettingsTabContentView.tabInfo):
12870 (WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
12871 (WI.SettingsTabContentView.isEphemeral): Deleted.
12872
12873 * UserInterface/Views/StorageTabContentView.js:
12874 (WI.StorageTabContentView):
12875
12876 * UserInterface/Views/TabBar.css:
12877 * UserInterface/Views/TabBar.js:
12878 (WI.TabBar):
12879 (WI.TabBar.prototype.insertTabBarItem):
12880 (WI.TabBar.prototype.removeTabBarItem):
12881 (WI.TabBar.prototype.set selectedTabBarItem):
12882 (WI.TabBar.prototype.get normalNonEphemeralTabCount):
12883 (WI.TabBar.prototype._handleMouseDown):
12884 (WI.TabBar.prototype._handleClick):
12885 (WI.TabBar.prototype._handleMouseMoved):
12886 (WI.TabBar.prototype._handleMouseLeave):
12887 (WI.TabBar.prototype._handleContextMenu):
12888 (WI.TabBar.prototype._handleTabPickerTabContextMenu):
12889 (WI.TabBar.prototype.get newTabTabBarItem): Deleted.
12890 (WI.TabBar.prototype.updateNewTabTabBarItemState): Deleted.
12891 (WI.TabBar.prototype._openDefaultTab): Deleted.
12892 (WI.TabBar.prototype._handleNewTabClick): Deleted.
12893 (WI.TabBar.prototype._handleNewTabMouseEnter): Deleted.
12894 Remove support for the New Tab button and default tab. Without a default
12895 tab, there is nothing to display when no tabs are open, so prevent the
12896 last non-pinned tab from being removed.
12897
12898 * UserInterface/Views/TabBrowser.js:
12899 (WI.TabBrowser._tabBarItemRemoved):
12900 * UserInterface/Views/TabContentView.js:
12901 (WI.TabContentView.isEphemeral): Deleted.
12902 * UserInterface/Views/TimelineTabContentView.js:
12903 (WI.TimelineTabContentView):
12904
webkit@devinrousso.com594aa702018-01-31 00:39:18 +0000129052018-01-30 Devin Rousso <webkit@devinrousso.com>
12906
12907 Web Inspector: Replace Object.shallowMerge with ES2018 spread operator
12908 https://bugs.webkit.org/show_bug.cgi?id=182219
12909
12910 Reviewed by Brian Burg.
12911
12912 * UserInterface/Base/Utilities.js:
12913 (Object.shallowMerge): Deleted.
12914 * UserInterface/Base/DOMUtilities.js:
12915 (WI.linkifyNodeReference):
12916 * UserInterface/Base/Main.js:
12917 (WI.handlePossibleLinkClick):
12918 (WI.openURL):
12919 (WI.showSourceCodeLocation):
12920 (WI.showOriginalUnformattedSourceCodeLocation):
12921 (WI.showOriginalOrFormattedSourceCodeLocation):
12922 (WI.showOriginalOrFormattedSourceCodeTextRange):
12923 (WI.linkifyLocation):
12924 * UserInterface/Views/DOMTreeElement.js:
12925 (WI.DOMTreeElement.prototype._insertAdjacentHTML):
12926 * UserInterface/Views/WebSocketContentView.js:
12927 (WI.WebSocketContentView.prototype._addRow):
12928
mattbaker@apple.com73348012018-01-27 00:49:10 +0000129292018-01-26 Matt Baker <mattbaker@apple.com>
12930
mattbaker@apple.com0ead9da2018-01-27 01:36:36 +000012931 Web Inspector: Timelines content browser NavigationBar is squashed at narrow heights
12932 https://bugs.webkit.org/show_bug.cgi?id=182196
12933 <rdar://problem/36929899>
12934
12935 Reviewed by Joseph Pecoraro.
12936
12937 * UserInterface/Views/NavigationBar.css:
12938 (.navigation-bar):
12939
129402018-01-26 Matt Baker <mattbaker@apple.com>
12941
mattbaker@apple.com73348012018-01-27 00:49:10 +000012942 Web Inspector: TabBar redesign: improvements to tab layout and resize behavior
12943 https://bugs.webkit.org/show_bug.cgi?id=181468
12944 <rdar://problem/36395439>
12945
12946 Reviewed by Devin Rousso.
12947
12948 * Localizations/en.lproj/localizedStrings.js:
12949
12950 * UserInterface/Images/TabPicker.svg: Added.
12951 New ">>" icon for the tab picker button.
12952
12953 * UserInterface/Views/CanvasTabContentView.js:
12954 (WI.CanvasTabContentView):
12955 * UserInterface/Views/ConsoleTabContentView.js:
12956 (WI.ConsoleTabContentView):
12957 * UserInterface/Views/DebuggerTabContentView.js:
12958 (WI.DebuggerTabContentView):
12959 * UserInterface/Views/ElementsTabContentView.js:
12960 (WI.ElementsTabContentView):
12961
12962 * UserInterface/Views/GeneralTabBarItem.js:
12963 (WI.GeneralTabBarItem):
12964 (WI.GeneralTabBarItem.fromTabContentViewConstructor):
12965 (WI.GeneralTabBarItem.prototype.get title):
12966 Add missing override for getter/setter pair.
12967 (WI.GeneralTabBarItem.prototype.set title):
12968 (WI.GeneralTabBarItem.prototype._handleContextMenuEvent):
12969 Show the close button on ephemeral tabs only (Search, New Tab).
12970 Replace unused `representedObject` parameter with `isEphemeral`, which
12971 determines whether to show a close button for the tab.
12972
12973 * UserInterface/Views/LayersTabContentView.js:
12974 (WI.LayersTabContentView):
12975
12976 * UserInterface/Views/NavigationBar.js:
12977 Remove unused symbol.
12978
12979 * UserInterface/Views/NetworkTabContentView.js:
12980 (WI.NetworkTabContentView):
12981 * UserInterface/Views/NewTabContentView.js:
12982 (WI.NewTabContentView):
12983
12984 * UserInterface/Views/PinnedTabBarItem.js:
12985 (WI.PinnedTabBarItem):
12986 Remove unused parameter.
12987
12988 * UserInterface/Views/ResourcesTabContentView.js:
12989 (WI.ResourcesTabContentView):
12990 * UserInterface/Views/SearchTabContentView.js:
12991 (WI.SearchTabContentView):
12992 * UserInterface/Views/StorageTabContentView.js:
12993 (WI.StorageTabContentView):
12994
12995 * UserInterface/Views/TabBar.css:
12996 (.tab-bar > .item):
12997 (.tab-bar.calculate-width > .item):
12998 (.tab-bar > .item.pinned.tab-picker):
12999 (.tab-bar > .item > .close):
13000 (.tab-bar > .item > .title):
13001 (.tab-bar:not(.collapsed) > .item > .title):
13002 (.tab-bar.collapsed > .item:not(.pinned) > .icon):
13003 (.tab-bar > .item:hover > .close):
13004 (.tab-bar.collapsed > .item:hover > .close):
13005 (.tab-bar:not(.collapsed) > .item.ephemeral:hover > .icon):
13006 (.tab-bar.collapsed > .item.ephemeral:hover > .title):
13007 (body[dir=ltr] .tab-bar > .item > .close): Deleted.
13008 (body[dir=rtl] .tab-bar > .item > .close): Deleted.
13009 (.tab-bar > .item > .flex-space): Deleted.
13010 (.tab-bar > .item:not(.pinned) > .flex-space:last-child): Deleted.
13011 (body[dir=ltr] .tab-bar > .item:not(.pinned) > .flex-space:last-child): Deleted.
13012 (body[dir=rtl] .tab-bar > .item:not(.pinned) > .flex-space:last-child): Deleted.
13013 (body[dir=ltr] .tab-bar > .item > .title): Deleted.
13014 (body[dir=rtl] .tab-bar > .item > .title): Deleted.
13015 (.tab-bar.collapsed > .item): Deleted.
13016 (.tab-bar.collapsed > .item > .flex-space): Deleted.
13017 (.tab-bar.collapsed > .item > .close): Deleted.
13018 (body[dir=ltr] .tab-bar.collapsed > .item > .close): Deleted.
13019 (body[dir=rtl] .tab-bar.collapsed > .item > .close): Deleted.
13020 (.tab-bar.hide-titles > .item > .title): Deleted.
13021 (.tab-bar.collapsed:not(.hide-titles) > .item:not(.pinned):hover > .icon,): Deleted.
13022 (.tab-bar.collapsed:not(.hide-titles) > .item:hover > .close,): Deleted.
13023 Clean up tab styles and prevent tabs from shrinking during flex layout.
13024 Added new `calculate-width` class, to disable flex layout when measuring
13025 the minimum width of the TabBar required to fit all tab items.
13026
13027 * UserInterface/Views/TabBar.js:
13028 (WI.TabBar):
13029 (WI.TabBar.prototype.set selectedTabBarItem):
13030 (WI.TabBar.prototype.layout.forceItemHidden):
13031 (WI.TabBar.prototype.layout):
13032 Perform two layout passes, similar to NavigationBar. The first pass disables
13033 flex layout and measures tab items at full size. If the bar isn't wide enough
13034 to show all the tabs, hide their icons and measure again. If there still isn't
13035 room, hide tabs starting from the end of the bar and display the tab picker.
13036
13037 (WI.TabBar.prototype._handleMouseDown):
13038 (WI.TabBar.prototype._handleTabPickerTabContextMenu):
13039
13040 * UserInterface/Views/TabBarItem.js:
13041 (WI.TabBarItem):
13042
13043 * UserInterface/Views/TimelineTabContentView.js:
13044 (WI.TimelineTabContentView):
13045
commit-queue@webkit.orge4720eb2018-01-26 04:58:33 +0000130462018-01-25 Joseph Pecoraro <pecoraro@apple.com>
13047
commit-queue@webkit.orgf8bef1a2018-01-26 05:30:29 +000013048 Web Inspector: Network Table: Sort indicator is not displayed when sorted column is hidden and re-shown
13049 https://bugs.webkit.org/show_bug.cgi?id=182164
13050 <rdar://problem/36892619>
13051
13052 Reviewed by Brian Burg.
13053
13054 * UserInterface/Views/Table.js:
13055 (WI.Table.prototype.showColumn):
13056 Re-add the sort classes if the column being shown is the active sort column.
13057
130582018-01-25 Joseph Pecoraro <pecoraro@apple.com>
13059
commit-queue@webkit.orgec61d272018-01-26 05:22:24 +000013060 Web Inspector: Network - Cookies view should behave better at narrow widths, all data is hidden
13061 https://bugs.webkit.org/show_bug.cgi?id=182163
13062 <rdar://problem/36893241>
13063
13064 Reviewed by Brian Burg.
13065
13066 * UserInterface/Views/ResourceCookiesContentView.css:
13067 (.resource-cookies .table):
13068 Give these tables a reasonable minimum size so that if the inspector
13069 is narrow, the content view can still be scrolled to see all of
13070 the table data.
13071
13072 * UserInterface/Views/Table.css:
13073 (.table > .header):
13074 Match the data-container and mark overflow as hidden, otherwise
13075 super narrow widths show header content beyond the edge.
13076
130772018-01-25 Joseph Pecoraro <pecoraro@apple.com>
13078
commit-queue@webkit.orge4720eb2018-01-26 04:58:33 +000013079 Web Inspector: "Displayed Columns" should not be displayed in context menu if all columns are required columns
13080 https://bugs.webkit.org/show_bug.cgi?id=182162
13081 <rdar://problem/36893758>
13082
13083 Reviewed by Matt Baker.
13084
13085 * UserInterface/Views/Table.js:
13086 (WI.Table.prototype._handleHeaderContextMenu):
13087 Only add the header column when we know there are hideable columns.
13088
commit-queue@webkit.orga9791512018-01-25 00:22:29 +0000130892018-01-24 Joseph Pecoraro <pecoraro@apple.com>
13090
13091 Web Inspector: Simplify update-LegacyInspectorBackendCommands.rb
13092 https://bugs.webkit.org/show_bug.cgi?id=182067
13093
13094 Reviewed by Brian Burg.
13095
13096 * Scripts/update-LegacyInspectorBackendCommands.rb:
13097 Remove stale dependency_json, it has always been empty for a while now.
13098 Switch to framework WebInspectorUI to generate only the backend commands
13099 and not spend time generating a bunch of cpp files.
13100
nvasilyev@apple.comeca9aec2018-01-25 00:15:39 +0000131012018-01-24 Nikita Vasilyev <nvasilyev@apple.com>
13102
13103 REGRESSION (r226994): Web Inspector: Styles: Suggestions popover floats in top-left corner of Web Inspector after tabbing
13104 https://bugs.webkit.org/show_bug.cgi?id=182027
13105
13106 Reviewed by Matt Baker.
13107
13108 r226994 added a layout of all properties on property removal. Layout caused
13109 a property element to be removed from DOM right before dislaying the suggestion
13110 popover, resulting in the popover being displayed at the top left corner.
13111
13112 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
13113 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.layout):
13114 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyRemoved):
13115 Only update property view indices when a property is removed.
13116
13117 * UserInterface/Views/SpreadsheetStyleProperty.js:
13118 (WI.SpreadsheetStyleProperty):
13119 (WI.SpreadsheetStyleProperty.prototype.set index):
13120
13121 * UserInterface/Views/SpreadsheetTextField.js:
13122 (WI.SpreadsheetTextField.prototype._updateCompletions):
13123 Checking this._element.parentNode to see if the element is attached to the DOM tree is unreliable,
13124 since the element may have a non-null parent node that is detached from the DOM tree. To fix that,
13125 we could traverse element's ancestors, but I used a concise isConnected property instead.
13126
commit-queue@webkit.org5e6bd7d2018-01-24 22:26:17 +0000131272018-01-24 Joseph Pecoraro <pecoraro@apple.com>
13128
13129 ReferenceError:​ Can't find variable:​ DOMAgent (at ScriptSyntaxTree.js:​178:​22)​
13130 https://bugs.webkit.org/show_bug.cgi?id=182059
13131
13132 Reviewed by Matt Baker.
13133
13134 * UserInterface/Models/ScriptSyntaxTree.js:
13135 (WI.ScriptSyntaxTree.functionReturnDivot):
13136 DOMAgent won't be available in a ServiceWorker or JSContext inspector. So add
13137 a check for DOMAgent, and assume if DOMAgent doesn't exist that we should fall
13138 back to the latest path (non-iOS 9) target.
13139
commit-queue@webkit.org45355c82018-01-24 00:46:39 +0000131402018-01-23 Joseph Pecoraro <pecoraro@apple.com>
13141
13142 Web Inspector: Network's columns shake when scrolling at non-default zoom level
13143 https://bugs.webkit.org/show_bug.cgi?id=181998
13144 <rdar://problem/36449808>
13145
13146 Reviewed by Matt Baker.
13147
13148 * UserInterface/Views/Table.js:
13149 When zoomed the bounding client rect values were fractional, which was
13150 unexpected by this area of code. Floor the values to get a value we expect
13151 to be able to evenly distribute.
13152
nvasilyev@apple.comda0a57c2018-01-23 00:52:32 +0000131532018-01-22 Nikita Vasilyev <nvasilyev@apple.com>
13154
13155 Web Inspector: Styles Redesign: data corruption when updating values quickly
13156 https://bugs.webkit.org/show_bug.cgi?id=179461
13157 <rdar://problem/35431882>
13158
13159 Reviewed by Joseph Pecoraro.
13160
13161 Data corruption used to happen because CSSStyleDeclaration.prototype.text didn't
13162 update synchronously. Making two or more quick changes resulted in corrupted data.
13163
13164 Imagine we modify a CSS value 3 times:
13165
13166 Front-end: (1)-(2)---(3)
13167 Back-end: (1)-----(2)-(3)
13168
13169 The first response from the backend could happen after the 2nd edit. In this patch,
13170 CSSStyleDeclaration is locked when its view is being edited.
13171
13172 To correctly display invalid and overridden properties, the backend is allowed to update
13173 CSSStyleDeclaration and CSSProperty when they're locked if the text from the backend
13174 matches the model's text. This should happen when the backend is caught up with the
13175 front-end changes.
13176
13177 * UserInterface/Models/CSSProperty.js:
13178 (WI.CSSProperty.prototype.update):
13179 * UserInterface/Models/CSSStyleDeclaration.js:
13180 (WI.CSSStyleDeclaration):
13181 (WI.CSSStyleDeclaration.prototype.get locked):
13182 (WI.CSSStyleDeclaration.prototype.set locked):
13183 (WI.CSSStyleDeclaration.prototype.set text):
13184
13185 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
13186 (WI.SpreadsheetCSSStyleDeclarationEditor):
13187 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.initialLayout):
13188 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.detached):
13189 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.get editing):
13190 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.set focused):
13191 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.set inlineSwatchActive):
13192 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.stylePropertyInlineSwatchActivated):
13193 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.stylePropertyInlineSwatchDeactivated):
13194 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._propertiesChanged):
13195 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._updateStyleLock):
13196 Lock CSSStyleDeclaration when a CSS property name or value is focused or
13197 an inline widget is active.
13198
13199 * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
13200 (WI.SpreadsheetCSSStyleDeclarationSection):
13201 (WI.SpreadsheetCSSStyleDeclarationSection.prototype._handleMouseDown):
13202 (WI.SpreadsheetCSSStyleDeclarationSection.prototype._handleClick):
13203 * UserInterface/Views/SpreadsheetStyleProperty.js:
13204 (WI.SpreadsheetStyleProperty):
13205 (WI.SpreadsheetStyleProperty.prototype._createInlineSwatch):
13206 When selector is focused, clicking on the white-space should not add a new blank property.
13207
ross.kirsling@sony.com56b55eb2018-01-19 23:18:44 +0000132082018-01-19 Ross Kirsling <ross.kirsling@sony.com>
13209
13210 Web Inspector: Layers tab should do away with popovers (if possible)
13211 https://bugs.webkit.org/show_bug.cgi?id=181805
13212
13213 Reviewed by Matt Baker.
13214
13215 * Localizations/en.lproj/localizedStrings.js:
13216 Remove superfluous colon from a string.
13217
13218 * UserInterface/Main.html:
13219 * UserInterface/Views/LayerDetailsSidebarPanel.css:
13220 * UserInterface/Views/Layers3DContentView.css: Added.
13221 Remove popover styling from sidebar, add new file with similar styling for canvas overlay.
13222
13223 * UserInterface/Views/LayerDetailsSidebarPanel.js:
13224 (WI.LayerDetailsSidebarPanel):
13225 (WI.LayerDetailsSidebarPanel.prototype.selectNodeByLayerId):
13226 (WI.LayerDetailsSidebarPanel.prototype._dataGridSelectedNodeChanged):
13227 (WI.LayerDetailsSidebarPanel.prototype._updateLayers):
13228 (WI.LayerDetailsSidebarPanel.prototype._updateBottomBar):
13229 (WI.LayerDetailsSidebarPanel.prototype.willDismissPopover): Deleted.
13230 (WI.LayerDetailsSidebarPanel.prototype._showPopoverForSelectedNode): Deleted.
13231 (WI.LayerDetailsSidebarPanel.prototype._presentPopover): Deleted.
13232 (WI.LayerDetailsSidebarPanel.prototype._contentForPopover): Deleted.
13233 (WI.LayerDetailsSidebarPanel.prototype._populateListOfCompositingReasons.addReason): Deleted.
13234 (WI.LayerDetailsSidebarPanel.prototype._populateListOfCompositingReasons): Deleted.
13235 * UserInterface/Views/Layers3DContentView.js:
13236 (WI.Layers3DContentView):
13237 (WI.Layers3DContentView.prototype.shown):
13238 (WI.Layers3DContentView.prototype.selectLayerById):
13239 (WI.Layers3DContentView.prototype._canvasMouseDown):
13240 (WI.Layers3DContentView.prototype._buildLayerInfoElement):
13241 (WI.Layers3DContentView.prototype._updateLayerInfoElement):
13242 (WI.Layers3DContentView.prototype._updateReasonsList):
13243 Remove popover from sidebar table, overlay div with same data arrangement on top of the canvas.
13244 Also reverse the fix from r226671 since the visualization is no longer unusable without the sidebar!
13245
mattbaker@apple.com94f98b92018-01-19 23:01:11 +0000132462018-01-19 Matt Baker <mattbaker@apple.com>
13247
13248 Web Inspector: Canvas Tab: Multiple "waiting for frames" messages displayed
13249 https://bugs.webkit.org/show_bug.cgi?id=181865
13250 <rdar://problem/36664737>
13251
13252 Reviewed by Devin Rousso.
13253
13254 * UserInterface/Views/CanvasContentView.js:
13255 (WI.CanvasContentView.prototype._recordingStarted):
13256 (WI.CanvasContentView.prototype._recordingStopped):
13257
nvasilyev@apple.com4f2ceb42018-01-19 20:13:20 +0000132582018-01-19 Nikita Vasilyev <nvasilyev@apple.com>
13259
nvasilyev@apple.com98b5d642018-01-19 21:36:58 +000013260 Web Inspector: Styles Redesign: tabbing on commented out property throws exception
13261 https://bugs.webkit.org/show_bug.cgi?id=180676
13262 <rdar://problem/35981058>
13263
13264 Reviewed by Joseph Pecoraro.
13265
13266 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
13267 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.startEditingFirstProperty):
13268 Tabbing from the selector field should focus on the first editable property.
13269 When no editable properties are present, a new blank property should be added after the commented out ones.
13270
13271 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.startEditingLastProperty):
13272 Shift-tabbing from the selector field should focus on the last editable property of the previous CSS rule.
13273 When no editable properties are present, a new blank property should be added after the commented out ones.
13274
13275 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetCSSStyleDeclarationEditorFocusMoved):
13276 When navigating between properties skip the commented out ones.
13277
13278 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._editablePropertyAfter):
13279 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._editablePropertyBefore):
13280 * UserInterface/Views/SpreadsheetStyleProperty.js:
13281 (WI.SpreadsheetStyleProperty.prototype.get enabled):
13282 (WI.SpreadsheetStyleProperty.prototype._update):
13283
132842018-01-19 Nikita Vasilyev <nvasilyev@apple.com>
13285
nvasilyev@apple.com4f2ceb42018-01-19 20:13:20 +000013286 Web Inspector: Make styles sidebar always LTR
13287 https://bugs.webkit.org/show_bug.cgi?id=175357
13288 <rdar://problem/33787988>
13289
13290 Reviewed by Joseph Pecoraro.
13291
13292 * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:
13293 (WI.SpreadsheetRulesStyleDetailsPanel):
13294
keith_miller@apple.combd951472018-01-19 18:33:52 +0000132952018-01-19 Keith Miller <keith_miller@apple.com>
13296
13297 HaveInternalSDK includes should be "#include?"
13298 https://bugs.webkit.org/show_bug.cgi?id=179670
13299
13300 Reviewed by Dan Bernstein.
13301
13302 * Configurations/Base.xcconfig:
13303
mitz@apple.come8cb0be2018-01-18 19:49:51 +0000133042018-01-18 Dan Bernstein <mitz@apple.com>
13305
13306 [Xcode] Streamline and future-proof target-macOS-version-dependent build setting definitions
13307 https://bugs.webkit.org/show_bug.cgi?id=181803
13308
13309 Reviewed by Tim Horton.
13310
13311 * Configurations/Base.xcconfig: Updated.
13312 * Configurations/DebugRelease.xcconfig: Ditto.
13313 * Configurations/Version.xcconfig: Ditto.
13314
webkit@devinrousso.com37da84f2018-01-18 19:41:00 +0000133152018-01-18 Devin Rousso <webkit@devinrousso.com>
13316
13317 Web Inspector: Canvas Tab: record button on canvas card doesn't always show on hover, or is misplaced
13318 https://bugs.webkit.org/show_bug.cgi?id=179183
13319
13320 Reviewed by Joseph Pecoraro.
13321
13322 * UserInterface/Views/CanvasOverviewContentView.css:
13323 (.content-view.canvas-overview .content-view.canvas:not(.is-recording) > header > .navigation-bar > .item.record-start-stop): Deleted.
13324
webkit@devinrousso.com035c5722018-01-18 05:03:26 +0000133252018-01-17 Devin Rousso <webkit@devinrousso.com>
13326
13327 Web Inspector: clicking on a path component that has no siblings should select it
13328 https://bugs.webkit.org/show_bug.cgi?id=181772
13329
13330 Reviewed by Joseph Pecoraro.
13331
13332 * UserInterface/Views/HierarchicalPathComponent.js:
13333 (WI.HierarchicalPathComponent.prototype._updateSelectElement):
13334 (WI.HierarchicalPathComponent.prototype._selectElementMouseDown):
13335
commit-queue@webkit.org5c38b6c2018-01-17 18:41:56 +0000133362018-01-17 Joseph Pecoraro <pecoraro@apple.com>
13337
commit-queue@webkit.orgb27a05e2018-01-17 20:25:02 +000013338 Web Inspector: Add back localized strings for Styles sidebar panels
13339 https://bugs.webkit.org/show_bug.cgi?id=181748
13340 <rdar://problem/36583184>
13341
13342 Reviewed by Brian Burg.
13343
13344 * Localizations/en.lproj/localizedStrings.js:
13345 * UserInterface/Views/ComputedStyleDetailsSidebarPanel.js:
13346 (WI.ComputedStyleDetailsSidebarPanel):
13347 * UserInterface/Views/RulesStyleDetailsSidebarPanel.js:
13348 (WI.RulesStyleDetailsSidebarPanel):
13349 * UserInterface/Views/VisualStyleDetailsSidebarPanel.js:
13350 (WI.VisualStyleDetailsSidebarPanel):
13351 Add back localized strings for panel titles lost in r225547.
13352
133532018-01-17 Joseph Pecoraro <pecoraro@apple.com>
13354
commit-queue@webkit.org5c38b6c2018-01-17 18:41:56 +000013355 Web Inspector: Super long URL string causes bad wrapping in Resources detail sidebar
13356 https://bugs.webkit.org/show_bug.cgi?id=181617
13357
13358 Reviewed by Brian Burg.
13359
13360 * UserInterface/Views/DetailsSection.css:
13361 (.details-section > .content > .group > .row.simple > .value):
13362 Set the break to all characters.
13363
mattbaker@apple.comf13364d2018-01-16 23:17:36 +0000133642018-01-16 Matt Baker <mattbaker@apple.com>
13365
13366 Web Inspector: Canvas tab: typing a "space" in the QuickConsole shouldn't trigger a recording
13367 https://bugs.webkit.org/show_bug.cgi?id=181706
13368 <rdar://problem/36558221>
13369
13370 Reviewed by Joseph Pecoraro.
13371
13372 * UserInterface/Views/CanvasOverviewContentView.js:
13373 (WI.CanvasOverviewContentView):
13374 (WI.CanvasOverviewContentView.prototype._handleSpace):
13375
commit-queue@webkit.org4b0009c2018-01-16 22:26:26 +0000133762018-01-16 Joseph Pecoraro <pecoraro@apple.com>
13377
13378 Web Inspector: Make Console's Execution Context picker stand out when it is non-default
13379 https://bugs.webkit.org/show_bug.cgi?id=181628
13380 <rdar://problem/36492044>
13381
13382 Reviewed by Matt Baker.
13383
13384 * UserInterface/Views/HierarchicalPathComponent.css:
13385 (.hierarchical-path-component > .selector-arrows):
13386 * UserInterface/Views/HierarchicalPathComponent.js:
13387 (WI.HierarchicalPathComponent.prototype.set selectorArrows):
13388 Switch to SVG element so we can style the arrows.
13389
13390 * UserInterface/Views/QuickConsole.css:
13391 (.quick-console > .navigation-bar > .hierarchical-path .execution-context):
13392 (.quick-console > .navigation-bar > .hierarchical-path .execution-context .separator):
13393 (.quick-console > .navigation-bar > .hierarchical-path.non-default-execution-context .execution-context):
13394 (.quick-console > .navigation-bar > .hierarchical-path.non-default-execution-context .execution-context .selector-arrows):
13395 Styles for the execution context picker. We hide the unused separator
13396 and instead use margin so that the selected background and border don't
13397 have an extra 7px on the right/end side.
13398
13399 * UserInterface/Views/QuickConsole.js:
13400 (WI.QuickConsole.prototype._activeExecutionContextChanged):
13401 Toggle the non-default class name on the path.
13402
nvasilyev@apple.com1a133f32018-01-16 20:23:12 +0000134032018-01-16 Nikita Vasilyev <nvasilyev@apple.com>
13404
nvasilyev@apple.com00c66e32018-01-16 20:54:04 +000013405 Web Inspector: Styles: pressing down key should select first item from completion list when focusing on empty value
13406 https://bugs.webkit.org/show_bug.cgi?id=181633
13407 <rdar://problem/36501797>
13408
13409 Reviewed by Joseph Pecoraro.
13410
13411 * UserInterface/Views/SpreadsheetTextField.js:
13412 (WI.SpreadsheetTextField.prototype._updateCompletions):
13413
134142018-01-16 Nikita Vasilyev <nvasilyev@apple.com>
13415
nvasilyev@apple.com7afead02018-01-16 20:31:54 +000013416 Web Inspector: Styles Redesign: Long value causes bad wrapping
13417 https://bugs.webkit.org/show_bug.cgi?id=181618
13418 <rdar://problem/36485175>
13419
13420 Reviewed by Joseph Pecoraro.
13421
13422 Wrap long values only when editing.
13423
13424 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
13425 (.spreadsheet-style-declaration-editor .value.editing):
13426
134272018-01-16 Nikita Vasilyev <nvasilyev@apple.com>
13428
nvasilyev@apple.com1a133f32018-01-16 20:23:12 +000013429 Web Inspector: Styles Redesign: clicking on the white space after the property sometimes places a blank property at the wrong index
13430 https://bugs.webkit.org/show_bug.cgi?id=179585
13431 <rdar://problem/35490780>
13432
13433 Reviewed by Joseph Pecoraro.
13434
13435 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
13436 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyRemoved):
13437 Layout call is needed to update data-property-index attributes on the property views.
13438
commit-queue@webkit.orgad830a32018-01-16 20:20:35 +0000134392018-01-16 Joseph Pecoraro <pecoraro@apple.com>
13440
13441 Web Inspector: Network Tab - Export HAR Context Menu not working
13442 https://bugs.webkit.org/show_bug.cgi?id=181694
13443 <rdar://problem/36479197>
13444
13445 Reviewed by Brian Burg.
13446
13447 * UserInterface/Views/NetworkTableContentView.js:
13448 (WI.NetworkTableContentView.prototype.tableCellContextMenuClicked):
13449 Ensure `this` works in the handler.
13450
mattbaker@apple.com34822982018-01-16 07:03:57 +0000134512018-01-15 Matt Baker <mattbaker@apple.com>
13452
13453 Web Inspector: TabBar redesign: add context menu to TabBar for toggling available tabs
13454 https://bugs.webkit.org/show_bug.cgi?id=181448
13455 <rdar://problem/36383298>
13456
13457 Reviewed by Devin Rousso.
13458
13459 * UserInterface/Base/Main.js:
13460 (WI.loaded):
13461 (WI.contentLoaded):
13462 Reorder production tab classes and default (open) tabs.
13463 (WI.registerTabClass): Removed.
13464 Not used.
13465
13466 * UserInterface/Base/Object.js:
13467 Remove notification that is no longer used.
13468
13469 * UserInterface/Views/GeneralTabBarItem.js:
13470 (WI.GeneralTabBarItem):
13471 (WI.GeneralTabBarItem.prototype.set title):
13472 (WI.GeneralTabBarItem.prototype._handleContextMenuEvent): Deleted.
13473 Remove per-tab context menu (provided Close Tab and Close Other Tabs).
13474
13475 * UserInterface/Views/NewTabContentView.js:
13476 (WI.NewTabContentView):
13477
13478 * UserInterface/Views/TabBar.js:
13479 (WI.TabBar):
13480 (WI.TabBar.prototype._handleContextMenu):
13481
13482 * UserInterface/Views/TabBrowser.js:
13483 (WI.TabBrowser):
13484 (WI.TabBrowser._handleNewTabContextMenu): Deleted.
13485 No longer needed.
13486
nvasilyev@apple.com460e7352018-01-14 04:06:15 +0000134872018-01-13 Nikita Vasilyev <nvasilyev@apple.com>
13488
13489 Web Inspector: Styles Redesign: properties should never be semitransparent or crossed out while editing
13490 https://bugs.webkit.org/show_bug.cgi?id=180793
13491 <rdar://problem/36038813>
13492
13493 Reviewed by Devin Rousso.
13494
13495 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
13496 (.spreadsheet-style-declaration-editor .value.editing):
13497 (.spreadsheet-style-declaration-editor .property:matches(.invalid-name, .other-vendor, .overridden):not(.disabled) .content > *):
13498 (.spreadsheet-style-declaration-editor .property.invalid-name:not(.disabled) .content > *):
13499 (.spreadsheet-style-declaration-editor .property.invalid-value:not(.disabled) .content .value):
13500 (.spreadsheet-style-declaration-editor .property.not-inherited .content > *):
13501 * UserInterface/Views/SpreadsheetStyleProperty.js:
13502 (WI.SpreadsheetStyleProperty.prototype._update):
13503
commit-queue@webkit.org53962592018-01-12 21:03:22 +0000135042018-01-12 Joseph Pecoraro <pecoraro@apple.com>
13505
commit-queue@webkit.org0b67c282018-01-12 21:47:07 +000013506 Web Inspector: Drop support for iOS 7 targets
13507 https://bugs.webkit.org/show_bug.cgi?id=181549
13508 <rdar://problem/36444813>
13509
13510 Reviewed by Brian Burg.
13511
13512 * Versions/Inspector-iOS-7.0.json: Removed.
13513 * UserInterface/Protocol/Legacy/7.0/InspectorBackendCommands.js: Removed.
13514 Remove protocol snapshot and generated commands for iOS 7.
13515
13516 * UserInterface/Base/Main.js:
13517 * UserInterface/Controllers/BreakpointPopoverController.js:
13518 (WI.BreakpointPopoverController.prototype._createPopoverContent):
13519 * UserInterface/Controllers/DebuggerManager.js:
13520 (WI.DebuggerManager.prototype._setBreakpoint):
13521 * UserInterface/Controllers/SourceMapManager.js:
13522 (WI.SourceMapManager.prototype._loadAndParseSourceMap):
13523 * UserInterface/Models/Instrument.js:
13524 (WI.Instrument.startLegacyTimelineAgent):
13525 * UserInterface/Models/ResourceTimingData.js:
13526 * UserInterface/Models/ScriptTimelineRecord.js:
13527 (WI.ScriptTimelineRecord.EventType.displayName):
13528 * UserInterface/Models/SourceMapResource.js:
13529 (WI.SourceMapResource.prototype.requestContentFromBackend):
13530 * UserInterface/Protocol/CSSObserver.js:
13531 (WI.CSSObserver.prototype.regionLayoutUpdated): Deleted.
13532 * UserInterface/Protocol/RemoteObject.js:
13533 (WI.RemoteObject.fromPayload):
13534 Remove code that was only necessary to support iOS 7.
13535
135362018-01-12 Joseph Pecoraro <pecoraro@apple.com>
13537
commit-queue@webkit.org53962592018-01-12 21:03:22 +000013538 Web Inspector: Support JSX (React) syntax highlighting
13539 https://bugs.webkit.org/show_bug.cgi?id=181607
13540 <rdar://problem/36442564>
13541
13542 Reviewed by Brian Burg.
13543
13544 * UserInterface/Base/MIMETypeUtilities.js:
13545 (WI.mimeTypeForFileExtension):
13546 (WI.fileExtensionForMIMEType):
13547 * UserInterface/Models/Resource.js:
13548 Support the jsx extension and mime types.
13549
13550 * UserInterface/Main.html:
13551 * Scripts/update-codemirror-resources.rb:
13552 * UserInterface/External/CodeMirror/jsx.js: Added.
13553 Include new mode from CodeMirror@d8926768.
13554
commit-queue@webkit.orgecdf31a2018-01-11 08:19:08 +0000135552018-01-11 Joseph Pecoraro <pecoraro@apple.com>
13556
commit-queue@webkit.orgc47e70e2018-01-12 00:30:45 +000013557 Web Inspector: Rename "Query String" section as "Query String Parameters" for clarity
13558 https://bugs.webkit.org/show_bug.cgi?id=181464
13559
13560 Reviewed by Darin Adler.
13561
13562 * Localizations/en.lproj/localizedStrings.js:
13563 * UserInterface/Views/ResourceHeadersContentView.js:
13564 (WI.ResourceHeadersContentView.prototype.initialLayout):
13565
135662018-01-11 Joseph Pecoraro <pecoraro@apple.com>
13567
commit-queue@webkit.orgecdf31a2018-01-11 08:19:08 +000013568 Web Inspector: Remove unused variable in WI.DebuggerSidebarPanel
13569 https://bugs.webkit.org/show_bug.cgi?id=181517
13570
13571 Reviewed by Matt Baker.
13572
13573 * UserInterface/Views/DebuggerSidebarPanel.js:
13574
commit-queue@webkit.orgd0acc272018-01-11 07:05:12 +0000135752018-01-10 Joseph Pecoraro <pecoraro@apple.com>
13576
commit-queue@webkit.org2f64c112018-01-11 07:07:52 +000013577 REGRESSION(r218975): Web Inspector: Add back NavigationSidebarPanel initialization parameter used by SearchSidebarPanel (top overflow shadow)
13578 https://bugs.webkit.org/show_bug.cgi?id=181518
13579 <rdar://problem/36427197>
13580
13581 Reviewed by Matt Baker.
13582
13583 * UserInterface/Views/NavigationSidebarPanel.css:
13584 (.sidebar > .panel.navigation > .overflow-shadow.top):
13585 * UserInterface/Views/NavigationSidebarPanel.js:
13586 (WI.NavigationSidebarPanel):
13587 Add back the initialization parameter still used by SearchSidebarPanel
13588 and add back its implementation. There were still references to
13589 dynamically update _topOverflowShadowElement in NavigationSidebarPanel.
13590
135912018-01-10 Joseph Pecoraro <pecoraro@apple.com>
13592
commit-queue@webkit.orgd0acc272018-01-11 07:05:12 +000013593 Web Inspector: Incorrect check with WI.debuggableType
13594 https://bugs.webkit.org/show_bug.cgi?id=181515
13595 <rdar://problem/36425509>
13596
13597 Reviewed by Brian Burg.
13598
13599 * UserInterface/Base/Main.js:
13600 (WI.contentLoaded):
13601 This moved to WI.sharedApp a while ago.
13602
mattbaker@apple.comef5b4372018-01-11 03:36:29 +0000136032018-01-10 Matt Baker <mattbaker@apple.com>
13604
13605 Web Inspector: Canvas tab: throttle recording slider updates
13606 https://bugs.webkit.org/show_bug.cgi?id=180839
13607 <rdar://problem/36057849>
13608
13609 Reviewed by Joseph Pecoraro
13610
13611 * UserInterface/Base/Utilities.js:
13612 Add Object.throttle and Function.cancelThrottle. Repeated calls to a
13613 function on a throttled object are delayed, so that the function isn't
13614 invoked more frequently than the specified delay value.
13615
13616 For a description of throttling behavior see:
13617 - http://www.chrislondon.co/throttling-vs-debouncing
13618 - http://benalman.com/projects/jquery-throttle-debounce-plugin
13619
13620 * UserInterface/Views/RecordingContentView.js:
13621 (WI.RecordingContentView.prototype.updateActionIndex):
13622 Throttle frequency of canvas snapshot creation to 200ms.
13623 (WI.RecordingContentView.prototype.hidden):
13624 Prevent trailing edge call after hiding the view.
13625
commit-queue@webkit.org97cca382018-01-10 20:19:20 +0000136262018-01-10 Joseph Pecoraro <pecoraro@apple.com>
13627
13628 Web Inspector: Should not try to autocomplete subsections of a string
13629 https://bugs.webkit.org/show_bug.cgi?id=181461
13630 <rdar://problem/36369421>
13631
13632 Reviewed by Brian Burg.
13633
13634 * UserInterface/Controllers/CodeMirrorCompletionController.js:
13635 (WI.CodeMirrorCompletionController.prototype._completeAtCurrentPosition):
13636 Disable autocompletion within strings.
13637
commit-queue@webkit.org2b3c6662018-01-10 03:17:27 +0000136382018-01-09 Joseph Pecoraro <pecoraro@apple.com>
13639
13640 REGRESSION(r201855): Web Inspector: Should see "length" autocompletion suggestion on a string literal
13641 https://bugs.webkit.org/show_bug.cgi?id=181462
13642 <rdar://problem/36390699>
13643
13644 Reviewed by Matt Baker.
13645
13646 * UserInterface/Controllers/JavaScriptRuntimeCompletionProvider.js:
13647 (WI.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded.inspectedPage_evalResult_getCompletions):
13648 This is code that runs on the inspected target, which may have an old version of
13649 WebKit/JavaScriptCore, so don't use new syntax like this.
13650
13651 (WI.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded):
13652 We intended to return the result by as a JSON value instead of a RemoteObject.
13653
ross.kirsling@sony.comc9167ef2018-01-10 02:43:36 +0000136542018-01-09 Ross Kirsling <ross.kirsling@sony.com>
13655
13656 Web Inspector: Layers sidebar shows popover on selection even when collapsed
13657 https://bugs.webkit.org/show_bug.cgi?id=181465
13658
13659 Reviewed by Matt Baker.
13660
13661 * UserInterface/Views/LayerDetailsSidebarPanel.js:
13662 (WI.LayerDetailsSidebarPanel.prototype.selectNodeByLayerId):
13663 Have sidebar show itself if necessary before displaying popover.
13664
commit-queue@webkit.orgba467f22018-01-08 17:42:17 +0000136652018-01-08 Joseph Pecoraro <pecoraro@apple.com>
13666
13667 Web Inspector: Find next / previous within a resource content view does not have bouncy highlight when editor scrolls
13668 https://bugs.webkit.org/show_bug.cgi?id=181279
13669 <rdar://problem/36291097>
13670
13671 Reviewed by Brian Burg.
13672
13673 * UserInterface/Views/TextEditor.js:
13674 (WI.TextEditor.prototype._revealSearchResult):
13675 Reposition the bouncy highlight on scroll based on the CodeMirror
13676 line/ch position of the search result.
13677
13678 (WI.TextEditor.prototype._removeBouncyHighlightElementIfNeeded):
13679 Track the bouncy highlight scroll handler in a member variable so that
13680 we always remember to remove it and don't leak scroll handlers.
13681
ddkilzer@apple.com925e86e2018-01-08 06:00:43 +0000136822018-01-07 David Kilzer <ddkilzer@apple.com>
13683
13684 Enable -Wcast-qual for WebInspectorUI, WebKitLegacy, WebKit projects
13685 <https://webkit.org/b/181256>
13686 <rdar://problem/36281730>
13687
13688 Reviewed by Darin Adler.
13689
13690 * Configurations/Base.xcconfig:
13691 (WARNING_CFLAGS): Add -Wcast-qual.
13692
commit-queue@webkit.org8f8a4b92018-01-06 01:29:12 +0000136932018-01-05 Joseph Pecoraro <pecoraro@apple.com>
13694
13695 Web Inspector: Add another Protocol Version
13696 https://bugs.webkit.org/show_bug.cgi?id=181354
13697 <rdar://problem/35432817>
13698
13699 Reviewed by Matt Baker.
13700
13701 * UserInterface/Protocol/Legacy/11.3/InspectorBackendCommands.js: Added.
13702 * Versions/Inspector-iOS-11.3.json: Added.
13703
webkit@devinrousso.com9cefadd2018-01-05 06:40:30 +0000137042018-01-04 Devin Rousso <webkit@devinrousso.com>
13705
13706 Web Inspector: replace HTMLCanvasElement with CanvasRenderingContext for instrumentation logic
13707 https://bugs.webkit.org/show_bug.cgi?id=180770
13708
13709 Reviewed by Joseph Pecoraro.
13710
13711 * UserInterface/Models/Canvas.js:
13712 (WI.Canvas.fromPayload):
13713 (WI.Canvas.prototype.get contextType):
13714 (WI.Canvas.prototype.saveIdentityToCookie):
13715 (WI.Canvas.prototype.get frame): Deleted.
13716
commit-queue@webkit.orgb8865be2018-01-05 04:34:07 +0000137172018-01-04 Joseph Pecoraro <pecoraro@apple.com>
13718
13719 REGRESSION (r225709): Web Inspector: CSS Source maps not loading
13720 https://bugs.webkit.org/show_bug.cgi?id=181314
13721 <rdar://problem/36177620>
13722
13723 Reviewed by Brian Burg.
13724
13725 * UserInterface/Controllers/SourceMapManager.js:
13726 (WI.SourceMapManager.prototype._loadAndParseSourceMap):
13727 * UserInterface/Models/SourceMapResource.js:
13728 (WI.SourceMapResource.prototype.requestContentFromBackend):
13729 Correct this so that we only fall back to a reasonable frame id
13730 if we couldn't determine a frame id from earlier. Previously this
13731 was incorrectly clearing the frame id if we had gotten it earlier.
13732
13733 * UserInterface/Test.html:
13734 * UserInterface/Test/Test.js:
13735 (WI.loaded):
13736 Add SourceMap related files for tests.
13737
bburg@apple.com948fbb62018-01-04 21:29:13 +0000137382018-01-04 Brian Burg <bburg@apple.com>
13739
bburg@apple.comd4373572018-01-05 00:00:25 +000013740 Web Inspector: Capture Element Screenshot looks fuzzy
13741 https://bugs.webkit.org/show_bug.cgi?id=175734
13742 <rdar://problem/33803377>
13743
13744 Reviewed by Joseph Pecoraro and Simon Fraser.
13745
13746 Spruce up these functions a bit. They now optionally return a promise
13747 if no callback is supplied. They now can take either a WI.DOMNode or a node id.
13748
13749 * UserInterface/Controllers/DOMTreeManager.js:
13750 (WI.DOMTreeManager.prototype.querySelector):
13751 (WI.DOMTreeManager.prototype.querySelectorAll):
13752
137532018-01-04 Brian Burg <bburg@apple.com>
13754
bburg@apple.com948fbb62018-01-04 21:29:13 +000013755 Web Inspector: add RemoteObject.fetchProperties and some basic tests for RemoteObject API
13756 https://bugs.webkit.org/show_bug.cgi?id=180945
13757
13758 Reviewed by Joseph Pecoraro.
13759
13760 Add a new method, fetchProperties, which async fetches an arbitrary list of properties
13761 from a RemoteObject. This is intended for writing tests and other quick evaluations,
13762 so it has some behaviors that are suitable in these situations:
13763 - If the evaluation throws an exception, the result will reject with that exception.
13764 - If there is a protocol error for some reason, the result will reject with an exception.
13765 - Non-string and non-number keys cause an exception, as this is probably not intended.
13766 - Does not accept a callback, returns a promise only. New code should use async.
13767
13768 For full fidelity introspection of property descriptors, clients should use the existing
13769 getOwnPropertyDescriptor[s] class of methods.
13770
13771 * UserInterface/Protocol/RemoteObject.js:
13772 (WI.RemoteObject.prototype.async.fetchProperties): Added.
13773 - Validate specified keys and remove duplicates.
13774 - Request properties one-by-one to avoid fetching all descriptors and dealing with previews.
13775 - Unwrap returned primitive values to avoid unnecessary munging in tests.
13776
13777 (WI.RemoteObject.prototype.getProperty):
13778 - Rework this to return a promise if no callback was supplied.
13779 - Introduce stricter property type checking to avoid unintended mistakes.
13780
13781 (WI.RemoteObject.prototype.callFunction):
13782 - Rework this to return a promise if no callback was supplied.
13783 - Turn thrown exceptions and protocol errors into rejected promises.
13784
commit-queue@webkit.orgdde3a322018-01-04 20:56:43 +0000137852018-01-04 Joseph Pecoraro <pecoraro@apple.com>
13786
13787 Web Inspector: ⌘G / ⇧⌘G text search does not working after closing find banner
13788 https://bugs.webkit.org/show_bug.cgi?id=181280
13789 <rdar://problem/36291175>
13790
13791 Reviewed by Matt Baker.
13792
13793 * UserInterface/Views/ContentBrowser.js:
13794 (WI.ContentBrowser.prototype._findBannerDidHide):
13795 When the find banner is hidden trigger a new ContentView method,
13796 searchHidden instead of the destructive searchCleared. This allows
13797 most content views (text editors, DOM tree, Network Headers view)
13798 to keep their populated search results.
13799
13800 * UserInterface/Views/ContentView.js:
13801 (WI.ContentView.prototype.searchHidden):
13802 * UserInterface/Views/LogContentView.js:
13803 (WI.LogContentView.prototype.searchHidden):
13804 By default searchHidden does nothing. The Console's LogContentView
13805 treats the find banner differently and clears its search results.
13806
13807 * UserInterface/Views/TextEditor.js:
13808 (WI.TextEditor.prototype.searchCleared):
13809 Modernize some code while working in this area.
13810
13811 * UserInterface/Views/Main.css:
13812 (.bouncy-highlight):
13813 Ensure black text on yellow background in the bouncy highlight. In the
13814 DOM Tree it could have been white if the find banner was closed.
13815
commit-queue@webkit.org026ee042018-01-04 07:18:18 +0000138162018-01-03 Ting-Wei Lan <lantw44@gmail.com>
13817
13818 Replace hard-coded paths in shebangs with #!/usr/bin/env
13819 https://bugs.webkit.org/show_bug.cgi?id=181040
13820
13821 Reviewed by Alex Christensen.
13822
13823 * Scripts/combine-resources.pl:
13824 * Scripts/copy-user-interface-resources-dryrun.rb:
13825 * Scripts/copy-user-interface-resources.pl:
13826 * Scripts/fix-worker-imports-for-optimized-builds.pl:
13827 * Scripts/remove-console-asserts-dryrun.rb:
13828 * Scripts/remove-console-asserts.pl:
13829 * Scripts/update-LegacyInspectorBackendCommands.rb:
13830 * Scripts/update-codemirror-resources.rb:
13831 * WebInspectorUI.vcxproj/build-webinspectorui.pl:
13832
commit-queue@webkit.orgc45f9572018-01-03 22:46:33 +0000138332018-01-03 Joseph Pecoraro <pecoraro@apple.com>
13834
commit-queue@webkit.orgf95124f2018-01-04 05:58:24 +000013835 Web Inspector: "Log Value" context menu is sometimes unavailable
13836 https://bugs.webkit.org/show_bug.cgi?id=181278
13837 <rdar://problem/36281649>
13838
13839 Reviewed by Devin Rousso.
13840
13841 * UserInterface/Views/ObjectPreviewView.css:
13842 (.object-preview > .title):
13843 * UserInterface/Views/ObjectTreeView.css:
13844 (.object-tree.expanded > .title):
13845 Make the expanded object title information 16px tall to match ObjectTree
13846 tree element row heights. This eliminates the floating console message
13847 location from overlapping the first ObjectTree's TreeElement and causing
13848 truncation and other behavior issues (like Context Menu identification).
13849
138502018-01-03 Joseph Pecoraro <pecoraro@apple.com>
13851
commit-queue@webkit.orgf0c1ef42018-01-04 05:57:23 +000013852 Web Inspector: RTL - DOM Tree Element selection doesn't work
13853 https://bugs.webkit.org/show_bug.cgi?id=181275
13854 <rdar://problem/36290450>
13855
13856 Reviewed by Devin Rousso.
13857
13858 * UserInterface/Views/TreeOutline.js:
13859 (WI.TreeOutline.prototype.treeElementFromEvent):
13860 Provide a better explanation for why we are making the `x` adjustment here,
13861 to detect the inner most tree element along the horizontal. Fix the algorithm
13862 for RTL, since the intent is to adjust to the trailing edge of the container
13863 which is on the opposite side in RTL.
13864
138652018-01-03 Joseph Pecoraro <pecoraro@apple.com>
13866
commit-queue@webkit.org273c4b32018-01-04 00:46:52 +000013867 Web Inspector: Find banner sometimes does not work (when already populated and shown for first time on resource)
13868 https://bugs.webkit.org/show_bug.cgi?id=181255
13869 <rdar://problem/36248855>
13870
13871 Reviewed by Matt Baker.
13872
13873 * UserInterface/Views/TextEditor.js:
13874 (WI.TextEditor.prototype.set string):
13875 Defer any early searches until the initial content of a TextEditor has been set.
13876 Such searches can happen when the FindBanner already has content when a
13877 ContentView is first opened and needs to load its content from the backend.
13878 Further, even though the content may be loaded from the backend before the
13879 search results, microtask hops might cause the content to get to the TextEditor
13880 after the search results.
13881
138822018-01-03 Joseph Pecoraro <pecoraro@apple.com>
13883
commit-queue@webkit.orgc45f9572018-01-03 22:46:33 +000013884 REGRESSION: Web Inspector: Debugger tab doesn't restore selected resource on reload
13885 https://bugs.webkit.org/show_bug.cgi?id=181253
13886 <rdar://problem/36280564>
13887
13888 Reviewed by Matt Baker.
13889
13890 * UserInterface/Views/DebuggerSidebarPanel.js:
13891 (WI.DebuggerSidebarPanel.prototype.restoreStateFromCookie):
13892 Add braces to ensure the trailing else is actually trailing the outer
13893 chain as it was intended to be.
13894
commit-queue@webkit.orgd76347e2018-01-03 02:52:04 +0000138952018-01-02 Joseph Pecoraro <pecoraro@apple.com>
13896
13897 Web Inspector: Clicking source location link in Console unexpectedly jumps to Network tab
13898 https://bugs.webkit.org/show_bug.cgi?id=181229
13899 <rdar://problem/36075219>
13900
13901 Reviewed by Matt Baker.
13902
13903 * UserInterface/Base/Main.js:
13904 Cleanup linkifyURLAsNode. Ignore Search tab in generic handlePossibleLinkClick
13905 when not already in the Search tab.
13906
13907 * UserInterface/Views/CallFrameView.js:
13908 (WI.CallFrameView):
13909 Ignore Search and Network tab in CallFrame links.
13910
13911 * UserInterface/Views/TabBrowser.js:
13912 (WI.TabBrowser.prototype.bestTabContentViewForRepresentedObject):
13913 Improve style.
13914
mcatanzaro@igalia.com3fcf3c32018-01-02 04:27:34 +000013915== Rolled over to ChangeLog-2018-01-01 ==