blob: 7de68dcb8f674016a6b0205f7ae42d248f8c95ef [file] [log] [blame]
commit-queue@webkit.org92139ec2018-08-21 23:58:21 +000012018-08-21 Joseph Pecoraro <pecoraro@apple.com>
2
3 Web Inspector: ⌘G does not while find banner is focused
4 https://bugs.webkit.org/show_bug.cgi?id=188815
5 <rdar://problem/43577158>
6
7 Reviewed by Matt Baker.
8
9 * UserInterface/Base/Main.js:
10 Allow an <input> element to be the current focus element, which is what will
11 our global KeyboardShortcut handlers will interact with. Also make sure
12 that showing the find banner for the first time still focuses it.
13
drousso@apple.com3a321562018-08-21 21:22:58 +0000142018-08-21 Devin Rousso <drousso@apple.com>
15
drousso@apple.com4b2a92a2018-08-21 22:08:18 +000016 Web Inspector: REGRESSION(r235095): duplicate actions existing in WI.CanvasSidebarPanel
17 https://bugs.webkit.org/show_bug.cgi?id=188808
18
19 Reviewed by Joseph Pecoraro.
20
21 * UserInterface/Views/CanvasSidebarPanel.js:
22 (WI.CanvasSidebarPanel.prototype._recordingChanged):
23 Check that the `WI.RecordingAction` is not already represented in the `WI.TreeOutline`
24 before adding it.
25
26 * UserInterface/Views/CanvasSidebarPanel.css:
27 (.sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline .item.processing .subtitle > progress):
28 Drive-by: vertically center the <progress> shown for `WI.RecordingFrame` during processing.
29
302018-08-21 Devin Rousso <drousso@apple.com>
31
drousso@apple.com3a321562018-08-21 21:22:58 +000032 Web Inspector: Canvas: provide default icon for all actions
33 https://bugs.webkit.org/show_bug.cgi?id=188807
34
35 Reviewed by Matt Baker.
36
37 * UserInterface/Views/RecordingActionTreeElement.css:
38 (.item.action > .icon):
39 (.item.action.initial-state > .icon): Deleted.
40
commit-queue@webkit.org10ef0562018-08-21 21:00:30 +0000412018-08-21 Joseph Pecoraro <pecoraro@apple.com>
42
43 Web Inspector: Rulers.svg is missing
44 https://bugs.webkit.org/show_bug.cgi?id=188806
45 <rdar://problem/43574273>
46
47 Reviewed by Devin Rousso.
48
49 * UserInterface/Images/Rulers.svg: Added.
50
drousso@apple.com6cbb7b82018-08-20 21:31:55 +0000512018-08-20 Devin Rousso <drousso@apple.com>
52
drousso@apple.com424f8312018-08-21 02:15:28 +000053 Web Inspector: allow breakpoints to be set for specific event listeners
54 https://bugs.webkit.org/show_bug.cgi?id=183138
55
56 Reviewed by Joseph Pecoraro.
57
58 * Localizations/en.lproj/localizedStrings.js:
59
60 * UserInterface/Models/EventBreakpoint.js:
61 (WI.EventBreakpoint):
62 (WI.EventBreakpoint.fromPayload): Added.
63 (WI.EventBreakpoint.prototype.get eventListener): Added.
64
65 * UserInterface/Controllers/DOMDebuggerManager.js:
66 (WI.DOMDebuggerManager):
67
68 * UserInterface/Controllers/DOMTreeManager.js:
69 (WI.DOMTreeManager):
70 (WI.DOMTreeManager.prototype.get eventBreakpoints): Added.
71 (WI.DOMTreeManager.prototype._setDocument):
72 (WI.DOMTreeManager.prototype.setEventListenerDisabled):
73 (WI.DOMTreeManager.prototype.setBreakpointForEventListener): Added.
74 (WI.DOMTreeManager.prototype.removeBreakpointForEventListener): Added.
75 (WI.DOMTreeManager.prototype.breakpointForEventListenerId): Added.
76
77 * UserInterface/Controllers/EventBreakpointTreeController.js:
78 (WI.EventBreakpointTreeController):
79
80 * UserInterface/Views/DebuggerSidebarPanel.js:
81 (WI.DebuggerSidebarPanel.prototype._updatePauseReasonSection):
82
83 * UserInterface/Views/EventListenerSectionGroup.js:
84 (WI.EventListenerSectionGroup):
85 (WI.EventListenerSectionGroup.prototype._createDisabledToggleRow):
86 (WI.EventListenerSectionGroup.prototype._createBreakpointToggleRow): Added.
87
88 * UserInterface/Views/EventBreakpointTreeElement.js:
89 (WI.EventBreakpointTreeElement):
90 (WI.EventBreakpointTreeElement.prototype.ondelete):
91 (WI.EventBreakpointTreeElement.prototype.populateContextMenu):
92 (WI.EventBreakpointTreeElement.prototype._toggleBreakpoint):
93
942018-08-20 Devin Rousso <drousso@apple.com>
95
drousso@apple.com6cbb7b82018-08-20 21:31:55 +000096 Web Inspector: Canvas tab: allow recording processing to be stopped midway
97 https://bugs.webkit.org/show_bug.cgi?id=185152
98
99 Reviewed by Joseph Pecoraro.
100
101 Previously, `WI.Recording` used a `WI.YieldableTask` to process every action in such a way
102 as to not block the UI. The downside to this approach was that it used a message view to
103 indicate the progress of this process, and prevented the user from viewing the `WI.Recording`
104 until that process was completed.
105
106 This patch changes `WI.Recording` to instead use `async/await` and fire events whenever a
107 `WI.RecordingAction` (and `WI.RecordingFrame`) finished processing, allowing it to be added
108 to the recording `WI.TreeOutline` and selected by the user. Additionally, a pause/resume
109 button is added to the `WI.CanvasSidebarPanel` so the user has greater control over what
110 how much of the `WI.Recording` they want to process.
111
112 * Localizations/en.lproj/localizedStrings.js:
113
114 * UserInterface/Base/Utilities.js:
115 (Promise.delay)
116 Utility function for promisifying `setTimeout`.
117
118 * UserInterface/Models/Recording.js:
119 (WI.Recording):
120 (WI.Recording.prototype.get processing): Added.
121 (WI.Recording.prototype.get ready): Added.
122 (WI.Recording.prototype.startProcessing): Added.
123 (WI.Recording.prototype.stopProcessing): Added.
124 (WI.Recording.prototype.async._process): Added.
125 (WI.Recording.prototype.process): Deleted.
126 (WI.Recording.prototype.async.yieldableTaskWillProcessItem): Deleted.
127 (WI.Recording.prototype.async.yieldableTaskDidFinish): Deleted.
128
129 * UserInterface/Models/RecordingAction.js:
130 (WI.RecordingAction):
131 (WI.RecordingAction.prototype.get ready): Added.
132 (WI.RecordingAction.prototype.async.swizzle):
133 (WI.RecordingAction.prototype.apply):
134
135 * UserInterface/Models/RecordingInitialStateAction.js:
136 (WI.RecordingInitialStateAction):
137
138 * UserInterface/Views/CanvasSidebarPanel.js:
139 (WI.CanvasSidebarPanel):
140 (WI.CanvasSidebarPanel.prototype.set recording):
141 (WI.CanvasSidebarPanel.prototype.set action):
142 (WI.CanvasSidebarPanel.prototype._recordingAdded):
143 (WI.CanvasSidebarPanel.prototype._recordingRemoved):
144 (WI.CanvasSidebarPanel.prototype._currentRepresentedObjectsDidChange):
145 (WI.CanvasSidebarPanel.prototype._treeOutlineSelectionDidChange):
146 (WI.CanvasSidebarPanel.prototype._recordingChanged):
147 (WI.CanvasSidebarPanel.prototype._recordingChanged.createPauseButton): Added.
148 (WI.CanvasSidebarPanel.prototype._recordingChanged.createResumeButton): Added.
149 (WI.CanvasSidebarPanel.prototype._createRecordingFrameTreeElement): Added.
150 (WI.CanvasSidebarPanel.prototype._createRecordingActionTreeElement): Added.
151 (WI.CanvasSidebarPanel.prototype._handleRecordingProcessedAction): Added.
152 (WI.CanvasSidebarPanel.prototype._handleRecordingStartProcessingFrame): Added.
153 * UserInterface/Views/CanvasSidebarPanel.css:
154 (.sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline .item.processing .subtitle > progress): Added.
155 (.sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline:matches(:focus, .force-focus) .item.processing.selected .subtitle > progress): Added.
156 (.sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline .item.processing .subtitle::before): Added.
157 (.sidebar > .panel.navigation.canvas > .content > .recording-content > .recording-processing-options): Added.
158 (.sidebar > .panel.navigation.canvas > .content > .recording-content > .recording-processing-options > .indeterminate-progress-spinner): Added.
159 (.sidebar > .panel.navigation.canvas > .content > .recording-content > .indeterminate-progress-spinner): Deleted.
160
161 * UserInterface/Views/RecordingContentView.js:
162 (WI.RecordingContentView):
163 (WI.RecordingContentView.prototype.updateActionIndex):
164 (WI.RecordingContentView.prototype.initialLayout):
165 (WI.RecordingContentView.prototype._updateCanvasPath):
166 (WI.RecordingContentView.prototype._handleRecordingProcessedAction): Added.
167 (WI.RecordingContentView.prototype._updateProcessProgress): Deleted.
168 (WI.RecordingContentView.prototype._handleRecordingProcessedActionSwizzle): Deleted.
169 (WI.RecordingContentView.prototype._handleRecordingProcessedActionApply): Deleted.
170 * UserInterface/Views/RecordingContentView.css:
171 (.content-view:not(.tab).recording > header > .slider-container > .slider-value): Added.
172
173 * UserInterface/Views/FolderTreeElement.js:
174 (WI.FolderTreeElement):
175
176 * UserInterface/Views/GeneralTreeElement.js:
177 (WI.GeneralTreeElement.prototype.get statusElement): Added.
178 (WI.GeneralTreeElement.prototype._updateTitleElements):
179
180 * UserInterface/Views/RecordingContentView.js:
181 (WI.CanvasContentView.prototype._handleViewShaderButtonClicked):
182 (WI.CanvasContentView.prototype._handleViewRecordingButtonClicked):
183 Drive-by: `WI.Collection` doesn't have a `values()` accessor for the underlying `Set`.
184
185 * UserInterface/Views/RecordingNavigationSidebarPanel.css: Removed.
186 * UserInterface/Views/RecordingNavigationSidebarPanel.js: Removed.
187 These files are no longer used since they were "merged" into `WI.CanvasSidebarPanel`.
188
webkit@devinrousso.combfca5b72018-08-20 20:30:50 +00001892018-08-20 Devin Rousso <webkit@devinrousso.com>
190
191 Web Inspector: Canvas tab: create icons for recordings/shaders in the preview tile
192 https://bugs.webkit.org/show_bug.cgi?id=183650
193
194 Reviewed by Joseph Pecoraro.
195
196 * Localizations/en.lproj/localizedStrings.js:
197
198 * UserInterface/Views/CanvasContentView.js:
199 (WI.CanvasContentView):
200 (WI.CanvasContentView.prototype.initialLayout):
201 (WI.CanvasContentView.prototype.attached):
202 (WI.CanvasContentView.prototype._recordingStopped):
203 (WI.CanvasContentView.prototype._shaderProgramAdded):
204 (WI.CanvasContentView.prototype._shaderProgramRemoved):
205 (WI.CanvasContentView.prototype._updateViewRelatedItems):
206 (WI.CanvasContentView.prototype._handleViewShaderButtonClicked):
207 (WI.CanvasContentView.prototype._handleViewRecordingButtonClicked):
208 (WI.CanvasContentView.prototype._addRecording): Deleted.
209 (WI.CanvasContentView.prototype._handleRecordingSelectElementChange): Deleted.
210 * UserInterface/Views/CanvasOverviewContentView.css:
211 (.content-view.canvas-overview .content-view.canvas > footer > .view-related-items):
212 (.content-view.canvas-overview .content-view.canvas > footer > .view-related-items > :matches(.view-shader, .view-recording)):
213 (.content-view.canvas-overview .content-view.canvas > footer > .view-related-items > img + img):
214 (.content-view.canvas-overview .content-view.canvas > footer > .view-related-items > .view-shader):
215 (.content-view.canvas-overview .content-view.canvas > footer > .view-related-items > .view-recording):
216 (.content-view.canvas-overview .content-view.canvas > footer > .recordings): Deleted.
217 (.content-view.canvas-overview .content-view.canvas > footer > .recordings::before): Deleted.
218 (.content-view.canvas-overview .content-view.canvas > footer > .recordings > select): Deleted.
219 (.content-view.canvas-overview .content-view.canvas > footer .recordings > select:focus): Deleted.
220 Create two image buttons in the bottom left corner of each canvas tile that appear when the
221 canvas has associated shaders and/or recordings. Clicking each image button will function
222 similar to path components, in that if there is only one shader/recording, it is immediately
223 selected, whereas if there are multiple a dropdown is shown.
224
225 * UserInterface/Views/CanvasSidebarPanel.js:
226 (WI.CanvasSidebarPanel.prototype._currentRepresentedObjectsDidChange):
227 (WI.CanvasSidebarPanel.prototype._recordingChanged):
228 Drive-by: ensure that the selected recording action is properly updated when first loading a
229 recording and when scrubbing through one.
230
drousso@apple.com7a1bd382018-08-17 02:37:46 +00002312018-08-16 Devin Rousso <drousso@apple.com>
232
233 Web Inspector: support breakpoints for arbitrary event names
234 https://bugs.webkit.org/show_bug.cgi?id=183118
235
236 Reviewed by Joseph Pecoraro.
237
238 Create UI for setting breakpoints on event names. Ties into renamed DOMDebugger commands,
239 specifically `setEventBreakpoint` and `removeEventBreakpoint`, that will pause execution if
240 any DOM event is fired that matches any previously registered breakpoints.
241
242 Event breakpoints are distinguished by name, and they currently apply globally, meaning
243 that only one breakpoint per event name can be registered.
244
245 Event breakpoints are created in the Debugger tab in a new "Event Breakpoints" section in
246 the Navigation sidebar. A new type of popover, EventBreakpointPopover, is used, but right
247 now all it contains is a basic text input for the event name. Similarly, a new TreeElement
248 subclass, EventBreakpointTreeElement, is used when showing the list of event listener
249 breakpoints, but all it shows now is the event name.
250
251 The majority of the logic in this patch was derived from XHR breakpoints.
252
253 * Localizations/en.lproj/localizedStrings.js:
254 * UserInterface/Main.html:
255 * UserInterface/Test.html:
256 * UserInterface/Images/EventBreakpoint.svg: Added.
257
258 * UserInterface/Models/EventBreakpoint.js: Added.
259 (WI.EventBreakpoint):
260 (WI.EventBreakpoint.prototype.get eventName):
261 (WI.EventBreakpoint.prototype.get disabled):
262 (WI.EventBreakpoint.prototype.set disabled):
263 (WI.EventBreakpoint.prototype.get serializableInfo):
264 (WI.EventBreakpoint.prototype.saveIdentityToCookie):
265
266 * UserInterface/Controllers/DOMDebuggerManager.js:
267 (WI.DOMDebuggerManager):
268 (WI.DOMDebuggerManager.prototype.get eventBreakpoints): Added.
269 (WI.DOMDebuggerManager.prototype.eventBreakpointForEventName): Added.
270 (WI.DOMDebuggerManager.prototype.addEventBreakpoint): Added.
271 (WI.DOMDebuggerManager.prototype.removeEventBreakpoint): Added.
272 (WI.DOMDebuggerManager.prototype._speculativelyResolveBreakpoints):
273 (WI.DOMDebuggerManager.prototype._updateEventBreakpoint.breakpointUpdated): Added.
274 (WI.DOMDebuggerManager.prototype._updateEventBreakpoint): Added.
275 (WI.DOMDebuggerManager.prototype._resolveEventBreakpoint): Added.
276 (WI.DOMDebuggerManager.prototype._saveEventBreakpoints): Added.
277 (WI.DOMDebuggerManager.prototype._eventBreakpointDisabledStateDidChange): Added.
278
279 * UserInterface/Controllers/DebuggerManager.js:
280 (WI.DebuggerManager.prototype._pauseReasonFromPayload):
281
282 * UserInterface/Controllers/EventBreakpointTreeController.js: Added.
283 (WI.EventBreakpointTreeController):
284 (WI.EventBreakpointTreeController.prototype.revealAndSelect):
285 (WI.EventBreakpointTreeController.prototype._eventBreakpointAdded):
286 (WI.EventBreakpointTreeController.prototype._eventBreakpointRemoved):
287 (WI.EventBreakpointTreeController.prototype._addTreeElement):
288
289 * UserInterface/Views/DebuggerSidebarPanel.js:
290 (WI.DebuggerSidebarPanel):
291 (WI.DebuggerSidebarPanel.prototype._updatePauseReasonSection):
292 (WI.DebuggerSidebarPanel.prototype._eventBreakpointAddedOrRemoved): Added.
293 (WI.DebuggerSidebarPanel.prototype._addEventBreakpointButtonClicked): Added.
294 (WI.DebuggerSidebarPanel.prototype.willDismissPopover):
295
296 * UserInterface/Views/EventBreakpointTreeElement.js: Added.
297 (WI.EventBreakpointTreeElement):
298 (WI.EventBreakpointTreeElement.prototype.onattach):
299 (WI.EventBreakpointTreeElement.prototype.ondetach):
300 (WI.EventBreakpointTreeElement.prototype.ondelete):
301 (WI.EventBreakpointTreeElement.prototype.onenter):
302 (WI.EventBreakpointTreeElement.prototype.onspace):
303 (WI.EventBreakpointTreeElement.prototype.populateContextMenu):
304 (WI.EventBreakpointTreeElement.prototype._statusImageElementClicked):
305 (WI.EventBreakpointTreeElement.prototype._statusImageElementFocused):
306 (WI.EventBreakpointTreeElement.prototype._statusImageElementMouseDown):
307 (WI.EventBreakpointTreeElement.prototype._toggleBreakpoint):
308 (WI.EventBreakpointTreeElement.prototype._updateStatus):
309 * UserInterface/Views/EventBreakpointTreeElement.css: Added.
310 (.breakpoint.event-listener:not(.breakpoint-paused-icon) .icon):
311
312 * UserInterface/Views/EventBreakpointPopover.js: Added.
313 (WI.EventBreakpointPopover):
314 (WI.EventBreakpointPopover.prototype.get result):
315 (WI.EventBreakpointPopover.prototype.get value):
316 (WI.EventBreakpointPopover.prototype.show):
317 (WI.EventBreakpointPopover.prototype._presentOverTargetElement):
318 * UserInterface/Views/EventBreakpointPopover.css: Added.
319 (.popover .event-listener-breakpoint-content):
320 (.popover .event-listener-breakpoint-content > input):
321
322 * UserInterface/Views/NavigationSidebarPanel.js:
323 (WI.NavigationSidebarPanel.prototype._isTreeElementWithoutRepresentedObject):
324
commit-queue@webkit.org9356f972018-08-16 18:41:30 +00003252018-08-16 Joseph Pecoraro <pecoraro@apple.com>
326
commit-queue@webkit.orge78cf802018-08-16 22:49:04 +0000327 Web Inspector: Show Initiator information in Network Table
328 https://bugs.webkit.org/show_bug.cgi?id=188590
329 <rdar://problem/43305488>
330
331 Reviewed by Matt Baker.
332
333 * UserInterface/Views/NetworkResourceDetailView.js:
334 (WI.NetworkResourceDetailView):
335 (WI.NetworkResourceDetailView.prototype.shown):
336 (WI.NetworkResourceDetailView.prototype.willShowWithCookie):
337 (WI.NetworkResourceDetailView.prototype._showContentViewForNavigationItem):
338 When a ResourceDetailView gets shown, it may also want to show its initial content view
339 with a cookie as the cookie may contain position highlight information.
340
341 * UserInterface/Views/NetworkTableContentView.js:
342 (WI.NetworkTableContentView):
343 (WI.NetworkTableContentView.prototype._showResourceDetailView):
344 (WI.NetworkTableContentView.prototype.showRepresentedObject):
345 When showing a represented object, pass the cookie information on to the detail
346 view's so that it may include the cookie when showing the final content view.
347
348 (WI.NetworkTableContentView.prototype.tablePopulateCell):
349 (WI.NetworkTableContentView.prototype._populateInitiatorCell):
350 (WI.NetworkTableContentView.prototype.initialLayout):
351 New initiator column contains a source code link to the call site.
352
353 (WI.NetworkTableContentView.prototype._generateSortComparator):
354 (WI.NetworkTableContentView.prototype._entryForResource):
355 Entry data for the initiator is a display string that can be sorted easily.
356
3572018-08-16 Joseph Pecoraro <pecoraro@apple.com>
358
commit-queue@webkit.org9356f972018-08-16 18:41:30 +0000359 LayoutTest inspector/worker/debugger-pause.html sometimes times out
360 https://bugs.webkit.org/show_bug.cgi?id=188580
361
362 Reviewed by Matt Baker.
363
364 * UserInterface/Protocol/Target.js:
365 (WI.Target.prototype.get mainResource):
366 (WI.Target.prototype.set mainResource):
367 Dispatch an event when the Main Resource is set.
368
akeerthi@apple.coma1332872018-08-15 20:42:26 +00003692018-08-15 Aditya Keerthi <akeerthi@apple.com>
370
371 [Datalist] Add button to TextFieldInputs with a datalist
372 https://bugs.webkit.org/show_bug.cgi?id=187741
373
374 Reviewed by Tim Horton.
375
376 Add keyword completion for 'list-button'.
377
378 * UserInterface/External/CodeMirror/css.js:
379 * UserInterface/Models/CSSKeywordCompletions.js:
380
drousso@apple.comafbfd7c2018-08-15 17:29:14 +00003812018-08-15 Devin Rousso <drousso@apple.com>
382
383 Web Inspector: REGRESSION(r?): the probe sidebar doesn't show up when adding probes
384 https://bugs.webkit.org/show_bug.cgi?id=188594
385
386 Reviewed by Brian Burg.
387
388 * UserInterface/Views/ProbeDetailsSidebarPanel.js:
389 (WI.ProbeDetailsSidebarPanel.prototype.set inspectedProbeSets):
390 (WI.ProbeDetailsSidebarPanel.prototype.initialLayout):
391 Add checks to ensure that DOM elements for each probe section exist before trying to
392 add/remove them from the sidebar. This can happen if probes are inspected before the sidebar
393 is shown for the first time.
394
395 * UserInterface/Views/ProbeSetDataGrid.js:
396 (WI.ProbeSetDataGrid):
397 (WI.ProbeSetDataGrid.columnIdentifierForProbe): Added.
398 (WI.ProbeSetDataGrid.prototype._setupProbe):
399 (WI.ProbeSetDataGrid.prototype._teardownProbe):
400 (WI.ProbeSetDataGrid.prototype._probeExpressionChanged):
401 * UserInterface/Views/ProbeSetDataGridNode.js:
402 (WI.ProbeSetDataGridNode.prototype.set frame):
403 Provide better column identifiers for each probe's `WI.DataGrid`. It's possible for the
404 numeric probe ID value to be stringified when passing it into the constructor of
405 `WI.DataGrid`, which will not match the original numeric value on later retrieval.
406
mattbaker@apple.com8e8fd912018-08-15 06:10:34 +00004072018-08-14 Matt Baker <mattbaker@apple.com>
408
409 Web Inspector: Table should not center rows when scrolling them into view
410 https://bugs.webkit.org/show_bug.cgi?id=188593
411 <rdar://problem/43311660>
412
413 Reviewed by Devin Rousso.
414
415 * UserInterface/Views/Table.js:
416 (WI.Table.prototype._handleKeyDown):
417
mattbaker@apple.com1df5c5d2018-08-13 22:44:18 +00004182018-08-13 Matt Baker <mattbaker@apple.com>
419
420 Web Inspector: Table should handle row selection instead of the table delegate
421 https://bugs.webkit.org/show_bug.cgi?id=188534
422 <rdar://problem/43253335>
423
424 Reviewed by Joseph Pecoraro.
425
426 Row selection should be implemented by Table, rather than its delegate.
427
428 * UserInterface/Views/NetworkTableContentView.js:
429 (WI.NetworkTableContentView.prototype.tableShouldSelectRow):
430 (WI.NetworkTableContentView.prototype.tableCellMouseDown): Deleted.
431 Prevent selection unless the clicked cell belongs to the name column.
432
433 * UserInterface/Views/ResourceCookiesContentView.js:
434 (WI.ResourceCookiesContentView.prototype.tableShouldSelectRow):
435 Always prevent selection.
436
437 * UserInterface/Views/Table.js:
438 (WI.Table):
439 (WI.Table.prototype._handleMouseDown):
440
akeerthi@apple.com969f86d2018-08-12 20:19:25 +00004412018-08-12 Aditya Keerthi <akeerthi@apple.com>
442
443 [macOS] Color wells should appear pressed when presenting a color picker
444 https://bugs.webkit.org/show_bug.cgi?id=188477
445
446 Reviewed by Tim Horton.
447
448 Add keyword completion for 'color-well'.
449
450 * UserInterface/External/CodeMirror/css.js:
451 * UserInterface/Models/CSSKeywordCompletions.js:
452
nvasilyev@apple.com39754d82018-08-09 21:47:00 +00004532018-08-09 Nikita Vasilyev <nvasilyev@apple.com>
454
455 Web Inspector: Dark Mode: SourceCodeTextEditor error/warning text widget is too light
456 https://bugs.webkit.org/show_bug.cgi?id=188126
457 <rdar://problem/42674963>
458
459 Reviewed by Matt Baker.
460
461 * UserInterface/Views/DarkMode.css:
462 (@media (prefers-dark-interface)):
463 (.source-code.text-editor > .CodeMirror .issue-widget.warning,): Added.
464 (.source-code.text-editor > .CodeMirror .issue-widget.error,): Added.
465
commit-queue@webkit.org23c57722018-08-07 16:19:44 +00004662018-08-07 Joseph Pecoraro <pecoraro@apple.com>
467
468 Web Inspector: Add another Protocol Version (iOS 12)
469 https://bugs.webkit.org/show_bug.cgi?id=188359
470 <rdar://problem/42981364>
471
472 Reviewed by Brian Burg.
473
474 * UserInterface/Protocol/Legacy/12.0/InspectorBackendCommands.js: Added.
475 * Versions/Inspector-iOS-12.0.json: Added.
476
joepeck@webkit.org1a0f3762018-08-07 00:25:52 +00004772018-08-06 Joseph Pecoraro <pecoraro@apple.com>
478
479 Web Inspector: Global search sometimes returns duplicate results for a resource
480 https://bugs.webkit.org/show_bug.cgi?id=188270
481 <rdar://problem/42867498>
482
483 Reviewed by Brian Burg.
484
485 * UserInterface/Views/SearchSidebarPanel.js:
486 (WI.SearchSidebarPanel.prototype.performSearch.resourcesCallback):
487 Avoid duplicate search results in the frontend. We should also fix the backend
488 but a frontend fix will also be desired for backends that have the issue.
489
commit-queue@webkit.org0406f9f2018-08-03 23:13:57 +00004902018-08-03 Alex Christensen <achristensen@webkit.org>
491
492 Fix spelling of "overridden"
493 https://bugs.webkit.org/show_bug.cgi?id=188315
494
495 Reviewed by Darin Adler.
496
497 * UserInterface/Views/ContentBrowserTabContentView.js:
498 (WI.ContentBrowserTabContentView.prototype.treeElementForRepresentedObject):
499 * UserInterface/Views/GeneralTreeElement.js:
500 (WI.GeneralTreeElement.prototype.ondetach):
501 * UserInterface/Views/NavigationBar.js:
502 (WI.NavigationBar.prototype.get sizesToFit):
503 * UserInterface/Views/NavigationSidebarPanel.js:
504 (WI.NavigationSidebarPanel.prototype.shouldFilterPopulate):
505 * UserInterface/Views/TextEditor.js:
506 (WI.TextEditor.prototype.canBeFormatted):
507 * UserInterface/Views/TreeElement.js:
508 (WI.TreeElement.prototype.onpopulate):
509
nvasilyev@apple.comd8194642018-08-01 18:09:38 +00005102018-08-01 Nikita Vasilyev <nvasilyev@apple.com>
511
nvasilyev@apple.comd21450e2018-08-01 18:12:17 +0000512 Web Inspector: Dark Mode: SourceCodeTextEditor thread indicator widget is too light
513 https://bugs.webkit.org/show_bug.cgi?id=188119
514 <rdar://problem/42670811>
515
516 Reviewed by Matt Baker.
517
518 Make the background of the thread indicator widget darker.
519
520 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.
521
522 * UserInterface/Views/DarkMode.css:
523 (@media (prefers-dark-interface)):
524 (.text-editor > .CodeMirror .execution-line):
525 (.text-editor > .CodeMirror .execution-range-highlight:not(.CodeMirror-selectedtext),):
526 * UserInterface/Views/SourceCodeTextEditor.css:
527 (.source-code.text-editor .CodeMirror-linewidget):
528 (.source-code.text-editor > .CodeMirror .line-indicator-widget.inline):
529 (@media (prefers-dark-interface)):
530 (.source-code.text-editor > .CodeMirror .thread-widget.inline):
531 * UserInterface/Views/SourceCodeTextEditor.js:
532 (WI.SourceCodeTextEditor.prototype._updateThreadIndicatorWidget):
533 (WI.SourceCodeTextEditor.prototype._updateIssueWidgetForIssues):
534 * UserInterface/Views/TextEditor.css:
535 (@media (prefers-dark-interface)):
536 (.text-editor > .CodeMirror .execution-line.primary .CodeMirror-linenumber::after):
537 * UserInterface/Views/Variables.css:
538 (:root):
539
5402018-08-01 Nikita Vasilyev <nvasilyev@apple.com>
541
nvasilyev@apple.comd8194642018-08-01 18:09:38 +0000542 Web Inspector: Dark Mode: disabled breakpoints banner is too light
543 https://bugs.webkit.org/show_bug.cgi?id=188120
544 <rdar://problem/42671348>
545
546 Reviewed by Matt Baker.
547
548 * UserInterface/Views/DebuggerSidebarPanel.css:
549 (@media (prefers-dark-interface)):
550 (.sidebar > .panel.navigation.debugger .warning-banner):
551
commit-queue@webkit.org97e13b12018-07-31 18:23:01 +00005522018-07-31 Joseph Pecoraro <pecoraro@apple.com>
553
554 Web Inspector: Include a full URL tooltip when hovering the name in the Network Tab
555 https://bugs.webkit.org/show_bug.cgi?id=188199
556
557 Reviewed by Matt Baker.
558
559 * UserInterface/Views/NetworkTableContentView.js:
560 (WI.NetworkTableContentView.prototype._populateNameCell):
561 Give a tooltip to the entire cell since the entire cell has interactivity.
562
nvasilyev@apple.comd05f3642018-07-30 23:10:56 +00005632018-07-30 Nikita Vasilyev <nvasilyev@apple.com>
564
565 Web Inspector: Dark Mode: Search sidebar panel text field has a white background
566 https://bugs.webkit.org/show_bug.cgi?id=188128
567 <rdar://problem/42678270>
568
569 Reviewed by Matt Baker.
570
571 Make the search bar in Search tab match the style of the filter bar.
572
573 * UserInterface/Views/DarkMode.css:
574 (@media (prefers-dark-interface)):
575 (:matches(.search-bar, .filter-bar) > input[type="search"],):
576 (:matches(.search-bar, .filter-bar) > input[type="search"]::placeholder):
577 (:matches(.search-bar, .filter-bar) > input[type="search"]:focus):
578 (.filter-bar > input[type="search"]): Deleted.
579 (.filter-bar > input[type="search"]::placeholder): Deleted.
580 (.filter-bar > input[type="search"]:focus): Deleted.
581
ryanhaddad@apple.comb8727ff2018-07-27 01:37:54 +00005822018-07-26 Ryan Haddad <ryanhaddad@apple.com>
583
584 Unreviewed, rolling out r234281.
585
586 Broke internal builds.
587
588 Reverted changeset:
589
590 "[Datalist] Add button to TextFieldInputs with a datalist"
591 https://bugs.webkit.org/show_bug.cgi?id=187741
592 https://trac.webkit.org/changeset/234281
593
commit-queue@webkit.org38893832018-07-26 23:12:23 +00005942018-07-26 Aditya Keerthi <akeerthi@apple.com>
595
596 [Datalist] Add button to TextFieldInputs with a datalist
597 https://bugs.webkit.org/show_bug.cgi?id=187741
598
599 Reviewed by Tim Horton.
600
601 Add keyword completion for 'list-button'.
602
603 * UserInterface/External/CodeMirror/css.js:
604 * UserInterface/Models/CSSKeywordCompletions.js:
605
nvasilyev@apple.com49e70b32018-07-26 00:19:45 +00006062018-07-25 Nikita Vasilyev <nvasilyev@apple.com>
607
608 Web Inspector: Dark Mode: Breakpoint editor in JS debugger has inconsistent background
609 https://bugs.webkit.org/show_bug.cgi?id=188026
610
611 Reviewed by Matt Baker.
612
613 * UserInterface/Views/DarkMode.css:
614 (@media (prefers-dark-interface)):
615 (.edit-breakpoint-popover-condition):
616 (.breakpoint-action-eval-editor):
617
nvasilyev@apple.comd256d632018-07-23 00:40:26 +00006182018-07-22 Nikita Vasilyev <nvasilyev@apple.com>
619
620 Web Inspector: Dark Mode: remove odd-looking top border
621 https://bugs.webkit.org/show_bug.cgi?id=187885
622
623 Reviewed by Matt Baker.
624
625 This border doesn't exist in the light mode, and it shouldn't be in the dark mode either.
626
627 * UserInterface/Views/DarkMode.css:
628 (@media (prefers-dark-interface)):
629 (body .toolbar):
630
nvasilyev@apple.com79565b32018-07-21 00:30:09 +00006312018-07-20 Nikita Vasilyev <nvasilyev@apple.com>
632
633 Web Inspector: Dark Mode: Layers tab background should be dark
634 https://bugs.webkit.org/show_bug.cgi?id=187660
635 <rdar://problem/42179616>
636
637 Reviewed by Brian Burg.
638
639 * UserInterface/Views/Layers3DContentView.js:
640 (WI.Layers3DContentView.prototype.initialLayout):
641 * UserInterface/Views/Variables.css:
642 (:root):
643
ross.kirsling@sony.comf8933cc2018-07-20 04:29:21 +00006442018-07-19 Ross Kirsling <ross.kirsling@sony.com>
645
646 Web Inspector: Layers visualization shouldn't select on mousedown
647 https://bugs.webkit.org/show_bug.cgi?id=187488
648
649 Reviewed by Matt Baker.
650
651 * UserInterface/Views/Layers3DContentView.js:
652 (WI.Layers3DContentView):
653 (WI.Layers3DContentView.prototype.initialLayout):
654 (WI.Layers3DContentView.prototype._canvasMouseDown):
655 (WI.Layers3DContentView.prototype._canvasMouseUp):
656 Don't update selection on mousedown, update on mouseup!
657 Specifically, only update when mousedown & mouseup targets are the same and mousemove hasn't been triggered.
658
nvasilyev@apple.come763d212018-07-19 17:37:17 +00006592018-07-19 Nikita Vasilyev <nvasilyev@apple.com>
660
661 Web Inspector: Dark Mode: poor contrast for Search Tab's "the page's content has changed" message
662 https://bugs.webkit.org/show_bug.cgi?id=187792
663
664 Reviewed by Brian Burg.
665
666 * UserInterface/Views/DarkMode.css:
667 (@media (prefers-dark-interface)):
668 (:root):
669 Make the background color slightly more yellow and less red. This slightly dicreases the contrast
670 but makes the text look less like an error.
671
672 * UserInterface/Views/SearchSidebarPanel.css:
673 (@media (prefers-dark-interface)):
674 (.sidebar > .panel.navigation.search.changed > .banner):
675
mattbaker@apple.com553c3e82018-07-18 18:40:14 +00006762018-07-18 Matt Baker <mattbaker@apple.com>
677
678 Web Inspector: REGRESSION(r232591): CodeMirrorEditor should not use a RegExp lineSeparator option
679 https://bugs.webkit.org/show_bug.cgi?id=187772
680 <rdar://problem/42331640>
681
682 Reviewed by Joseph Pecoraro.
683
684 * UserInterface/Views/CodeMirrorEditor.js:
685 (WI.CodeMirrorEditor.create):
686 (WI.CodeMirrorEditor):
687 CodeMirror should be left to auto-detect line separators. By default
688 it detects \n, \r\n, and \r. By specifying a regular expression we
689 merely cause problems when CodeMirror uses the supplied lineSeparator
690 when joining its array of lines together.
691
692 * UserInterface/Views/TextEditor.js:
693 (WI.TextEditor.set string.update):
694 (WI.TextEditor.prototype.set string):
695 This assertion was only true when we forced "\n" line endings everywhere.
696 It no longer holds for source text with "\r\n" (Windows-style) line endings.
697
mattbaker@apple.comfc115262018-07-16 20:06:52 +00006982018-07-16 Matt Baker <mattbaker@apple.com>
699
700 Web Inspector: Fix execution highlighting after r233820
701 https://bugs.webkit.org/show_bug.cgi?id=187703
702 <rdar://problem/42246167>
703
704 Reviewed by Joseph Pecoraro.
705
706 * UserInterface/Views/SourceCodeTextEditor.js:
707 (WI.SourceCodeTextEditor.prototype.textEditorExecutionHighlightRange):
708 * UserInterface/Views/TextEditor.js:
709 (WI.TextEditor.prototype.currentPositionToOriginalPosition):
710 (WI.TextEditor.prototype._updateExecutionRangeHighlight):
711
commit-queue@webkit.org62fe8802018-07-16 18:57:39 +00007122018-07-16 Aaron Chu <aaron_chu@apple.com>
713
714 AX: Audit Tab should have an Audit Manager
715 https://bugs.webkit.org/show_bug.cgi?id=184071
716 <rdar://problem/38946364>
717
718 Reviewed by Brian Burg.
719
720 This implements the AuditManager for the audit feature. This patch revolves
721 around building out an AuditManager that facilitates an audit. The AuditManager
722 is responsible for managing and storing AuditReports and AuditTestSuites. It is
723 also tasked to decide how to run a test -- whether as a test case or as a test
724 suite. This patch also includes 4 models with which the AuditManager works to
725 perform an audit and to generate a report. These models include AuditTestCase,
726 which as a collection is stored inside an AuditTestSuite; and AuditResult,
727 which, as a collection is stored inside an AuditReport.
728
729 * UserInterface/Controllers/AuditManager.js: Added.
730 (WI.AuditManager):
731 (WI.AuditManager.prototype.get testSuites):
732 (WI.AuditManager.prototype.get reports):
733 (WI.AuditManager.prototype.async.runAuditTestByRepresentedObject):
734 (WI.AuditManager.prototype.reportForId):
735 (WI.AuditManager.prototype.removeAllReports):
736 (WI.AuditManager.prototype.async._runTestCase):
737 * UserInterface/Main.html:
738 * UserInterface/Models/AuditReport.js: Added.
739 (WI.AuditReport):
740 (WI.AuditReport.prototype.get representedTestCases):
741 (WI.AuditReport.prototype.get representedTestSuite):
742 (WI.AuditReport.prototype.get resultsData):
743 (WI.AuditReport.prototype.get isWritable):
744 (WI.AuditReport.prototype.get failedCount):
745 (WI.AuditReport.prototype.addResult):
746 (WI.AuditReport.prototype.close):
747 * UserInterface/Models/AuditResult.js: Added.
748 (WI.AuditResult):
749 (WI.AuditResult.prototype.get testResult):
750 (WI.AuditResult.prototype.get name):
751 (WI.AuditResult.prototype.get logLevel):
752 (WI.AuditResult.prototype.get failed):
753 * UserInterface/Models/AuditTestCase.js: Added.
754 (WI.AuditTestCase.prototype.get id):
755 (WI.AuditTestCase.prototype.get name):
756 (WI.AuditTestCase.prototype.get suite):
757 (WI.AuditTestCase.prototype.get test):
758 (WI.AuditTestCase.prototype.get setup):
759 (WI.AuditTestCase.prototype.get tearDown):
760 (WI.AuditTestCase.prototype.get errorDetails):
761 (WI.AuditTestCase):
762 * UserInterface/Models/AuditTestSuite.js: Added.
763 (WI.AuditTestSuite):
764 (WI.AuditTestSuite.testCaseDescriptors):
765 (WI.AuditTestSuite.prototype.get id):
766 (WI.AuditTestSuite.prototype.get name):
767 (WI.AuditTestSuite.prototype.get testCases):
768 (WI.AuditTestSuite.prototype._buildTestCasesFromDescriptors):
769 * UserInterface/Test.html:
770
nvasilyev@apple.com470ed7c2018-07-16 16:29:00 +00007712018-07-16 Nikita Vasilyev <nvasilyev@apple.com>
772
nvasilyev@apple.comf038b532018-07-16 16:37:34 +0000773 Web Inspector: Dark Mode: Console filter field buttons should be darker
774 https://bugs.webkit.org/show_bug.cgi?id=187626
775 <rdar://problem/42142744>
776
777 Reviewed by Brian Burg.
778
779 * UserInterface/Views/FindBanner.css:
780 (@media (prefers-dark-interface)):
781 (.find-banner > button.segmented):
782 (.find-banner > button.segmented > .glyph):
783
7842018-07-16 Nikita Vasilyev <nvasilyev@apple.com>
785
nvasilyev@apple.com470ed7c2018-07-16 16:29:00 +0000786 Web Inspector: Dark Mode: selected item background color is too light
787 https://bugs.webkit.org/show_bug.cgi?id=187691
788 <rdar://problem/42225308>
789
790 Reviewed by Brian Burg.
791
792 * UserInterface/Views/DarkMode.css:
793 (@media (prefers-dark-interface)):
794 (:root):
795 (.tree-outline.dom li.elements-drag-over .selection-area):
796 (.tree-outline.dom:focus li.selected .selection-area):
797
ap@apple.com32ffe412018-07-14 23:44:42 +00007982018-07-14 Kocsen Chung <kocsen_chung@apple.com>
799
800 Ensure WebKit stack is ad-hoc signed
801 https://bugs.webkit.org/show_bug.cgi?id=187667
802
803 Reviewed by Alexey Proskuryakov.
804
805 * Configurations/Base.xcconfig:
806
mattbaker@apple.comc0e04c72018-07-13 17:10:28 +00008072018-07-13 Matt Baker <mattbaker@apple.com>
808
mattbaker@apple.comf5509302018-07-13 23:11:08 +0000809 Web Inspector: REGRESSION (r195723): Improve support for resources with '\r' and '\r\n' line endings
810 https://bugs.webkit.org/show_bug.cgi?id=186453
811 <rdar://problem/39689180>
812
813 Reviewed by Joseph Pecoraro.
814
815 Now that the frontend no longer uses offsets from the original source
816 file to calculate positions within CodeMirror, it is possible to support
817 resources with '\r' and '\r\n' line endings in the editor.
818
819 * UserInterface/Views/CodeMirrorEditor.js:
820 (WI.CodeMirrorEditor.create):
821 (WI.CodeMirrorEditor):
822
8232018-07-13 Matt Baker <mattbaker@apple.com>
824
mattbaker@apple.com75b367c2018-07-13 22:27:30 +0000825 Web Inspector: Basic blocks highlighting should use line/column locations instead of offsets
826 https://bugs.webkit.org/show_bug.cgi?id=187613
827 <rdar://problem/42131808>
828
829 Reviewed by Joseph Pecoraro.
830
831 * UserInterface/Controllers/BasicBlockAnnotator.js:
832 Basic blocks sent from the backend include offsets into the original
833 file, rather than line/column locations. In order to translate to positions
834 within CodeMirror, we need to calculate the original line and column
835 for each block.
836
837 (WI.BasicBlockAnnotator.prototype.insertAnnotations):
838 (WI.BasicBlockAnnotator.prototype._calculateBasicBlockPositions.offsetToPosition):
839 (WI.BasicBlockAnnotator.prototype._calculateBasicBlockPositions):
840 (WI.BasicBlockAnnotator.prototype._annotateBasicBlockExecutionRanges.):
841 (WI.BasicBlockAnnotator.prototype._annotateBasicBlockExecutionRanges):
842 (WI.BasicBlockAnnotator.prototype._highlightTextForBasicBlock):
843
844 * UserInterface/Models/SourceCodePosition.js:
845 (WI.SourceCodePosition.prototype.offsetColumn):
846
847 * UserInterface/Views/TextEditor.js:
848 (WI.TextEditor.prototype.getTextInRange):
849 (WI.TextEditor.prototype.addStyleToTextRange):
850 Better encapsulation for CodeMirror positions.
851
852 * UserInterface/Workers/Formatter/FormatterUtilities.js:
853 (get if):
854 Update String.prototype.lineEndings to support additional line separators.
855
8562018-07-13 Matt Baker <mattbaker@apple.com>
857
mattbaker@apple.com0e226d22018-07-13 21:53:14 +0000858 Web Inspector: Execution highlighting in the frontend should be line/column-based
859 https://bugs.webkit.org/show_bug.cgi?id=187532
860 <rdar://problem/42035580>
861
862 Reviewed by Joseph Pecoraro.
863
864 Source code offsets from Esprima should not be used to calculate ranges
865 in CodeMirror for expression highlighting.
866
867 This also fixes a long standing bug when adjusting for the starting
868 position of an inline script. Previously the start offset from the script
869 TextRange was used for this purpose, but the value is often incorrect (see
870 https://bugs.webkit.org/show_bug.cgi?id=187532#c5). By using the starting
871 line/column instead, we avoid the problem.
872
873 * UserInterface/Models/ScriptSyntaxTree.js:
874 (WI.ScriptSyntaxTree.prototype.containersOfPosition):
875 (WI.ScriptSyntaxTree.prototype.containersOfOffset): Deleted.
876
877 * UserInterface/Models/SourceCodePosition.js:
878 (WI.SourceCodePosition.prototype.offsetColumn):
879
880 * UserInterface/Views/SourceCodeTextEditor.js:
881 (WI.SourceCodeTextEditor.prototype.textEditorExecutionHighlightRange.toInlineScriptPosition):
882 (WI.SourceCodeTextEditor.prototype.textEditorExecutionHighlightRange.fromInlineScriptPosition):
883 (WI.SourceCodeTextEditor.prototype.textEditorExecutionHighlightRange):
884 (WI.SourceCodeTextEditor.prototype.textEditorExecutionHighlightRange.convertRangeOffsetsToSourceCodeOffsets): Deleted.
885
886 * UserInterface/Views/TextEditor.js:
887 (WI.TextEditor.prototype._updateExecutionRangeHighlight):
888
8892018-07-13 Matt Baker <mattbaker@apple.com>
890
mattbaker@apple.comc0e04c72018-07-13 17:10:28 +0000891 Web Inspector: SourceCodePosition.js missing from Test.html
892 https://bugs.webkit.org/show_bug.cgi?id=187644
893
894 Reviewed by Brian Burg.
895
896 * UserInterface/Test.html:
897
mattbaker@apple.com708a2f02018-07-13 02:06:48 +00008982018-07-12 Matt Baker <mattbaker@apple.com>
899
900 Web Inspector: Type token positioning should use line/column locations from Esprima instead of offsets
901 https://bugs.webkit.org/show_bug.cgi?id=187612
902 <rdar://problem/42131910>
903
904 Reviewed by Joseph Pecoraro.
905
906 * UserInterface/Controllers/TypeTokenAnnotator.js:
907 (WI.TypeTokenAnnotator.prototype.insertAnnotations):
908 (WI.TypeTokenAnnotator.prototype._insertTypeToken):
909 (WI.TypeTokenAnnotator.prototype._insertToken):
910 Use line/column locations, instead of offsets, from the AST when calculating
911 token positions for CodeMirror. Once in CodeMirror's string space, we
912 can safely convert to/from offsets.
913
914 * UserInterface/Models/ScriptSyntaxTree.js:
915 Retrieve line/column locations for AST nodes, in addition to offsets.
916 Offsets into the original file are still needed for getting type information
917 from the profiler in the backend.
918
919 (WI.ScriptSyntaxTree):
920 (WI.ScriptSyntaxTree.prototype.filterByRange):
921 Filter by positions, which can be safely used from CodeMirror, instead of offsets.
922
923 (WI.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
924 (WI.ScriptSyntaxTree.prototype.filterByRange.filterForNodesInRange): Deleted.
925
926 * UserInterface/Models/SourceCodePosition.js:
927 Add convenience methods for comparing line/column positions, and for
928 converting to the format expected by CodeMirror. SourceCodePosition could
929 be made to interoperate with CodeMirror by exposing properties `line`
930 and `ch`, but making the conversion explicit improves code readability.
931
932 (WI.SourceCodePosition.prototype.equals):
933 (WI.SourceCodePosition.prototype.isBefore):
934 (WI.SourceCodePosition.prototype.isAfter):
935 (WI.SourceCodePosition.prototype.isWithin):
936 (WI.SourceCodePosition.prototype.toCodeMirror):
937 (WI.SourceCodePosition):
938
939 * UserInterface/Views/TextEditor.js:
940 (WI.TextEditor.prototype.visibleRangePositions):
941 (WI.TextEditor.prototype.originalPositionToCurrentPosition):
942 (WI.TextEditor.prototype.currentOffsetToCurrentPosition):
943 (WI.TextEditor.prototype.currentPositionToCurrentOffset):
944 (WI.TextEditor.prototype.setInlineWidget):
945
Hironori.Fujii@sony.comc797e682018-07-11 01:03:18 +00009462018-07-10 Fujii Hironori <Hironori.Fujii@sony.com>
947
948 REGRESSION(r229932) Use of uninitialized value in subroutine entry at copy-user-interface-resources.pl
949 https://bugs.webkit.org/show_bug.cgi?id=187511
950
951 Reviewed by Brian Burg.
952
953 copy-user-interface-resources.pl output warning messages unless
954 BUILT_PRODUCTS_DIR and BUILT_PRODUCTS_DIR env vars are defined.
955
956 * Scripts/copy-user-interface-resources.pl:
957 (webInspectorUIAdditionsDir): Added. Return UNDEF if
958 BUILT_PRODUCTS_DIR and SDKROOT env vars aren't defined.
959 (combineOrStripResourcesForWebKitAdditions): Check
960 $webInspectorUIAdditionsDir is defined.
961
commit-queue@webkit.orgc11a4152018-07-10 20:09:28 +00009622018-07-10 Ross Kirsling <rkirsling@gmail.com>
963
964 Web Inspector: Layers inspector should allow control-dragging to pan the 3D render
965 https://bugs.webkit.org/show_bug.cgi?id=185109
966
967 Reviewed by Matt Baker.
968
969 Addressed in the three.js repo itself (https://github.com/mrdoob/three.js/pull/13972),
970 so this patch simply updates three.js and its OrbitControls module.
971
972 * UserInterface/External/three.js/LICENSE:
973 * UserInterface/External/three.js/three.js:
974 Update to r94.
975
976 * UserInterface/External/three.js/OrbitControls.js:
977 Update to latest.
978
979 * UserInterface/Views/Layers3DContentView.js:
980 (WI.Layers3DContentView.prototype.initialLayout):
981 (WI.Layers3DContentView.prototype._restrictPan):
982 Adapt to recent changes in three.js.
983
mattbaker@apple.comc3620cb2018-07-10 16:44:45 +00009842018-07-10 Matt Baker <mattbaker@apple.com>
985
mattbaker@apple.com6f70cb22018-07-10 19:14:59 +0000986 Web Inspector: Remove unused NavigationSidebarPanel.treeElementAddedOrChanged
987 https://bugs.webkit.org/show_bug.cgi?id=187508
988
989 Reviewed by Joseph Pecoraro.
990
991 * UserInterface/Views/NavigationSidebarPanel.js:
992 (WI.NavigationSidebarPanel.prototype._treeElementAddedOrChanged):
993 (WI.NavigationSidebarPanel.prototype.treeElementAddedOrChanged): Deleted.
994
9952018-07-10 Matt Baker <mattbaker@apple.com>
996
mattbaker@apple.comc3620cb2018-07-10 16:44:45 +0000997 Web Inspector: REGRESSION (r217505): Debugger content view doesn't update when left sidebar is collapsed
998 https://bugs.webkit.org/show_bug.cgi?id=187482
999 <rdar://problem/41989190>
1000
1001 Reviewed by Brian Burg.
1002
1003 Subclasses of NavigationSidebarPanel must process tree selection changes
1004 even when collapsed. Sidebar panels perform critical controller tasks
1005 for their tabs, such as updating the view when pausing in the debugger,
1006 and when the hierarchical path component selection changes.
1007
1008 * UserInterface/Views/DebuggerSidebarPanel.js:
1009 (WI.DebuggerSidebarPanel.prototype._treeSelectionDidChange):
1010 * UserInterface/Views/ResourceSidebarPanel.js:
1011 (WI.ResourceSidebarPanel.prototype._treeSelectionDidChange):
1012 * UserInterface/Views/SearchSidebarPanel.js:
1013 (WI.SearchSidebarPanel.prototype._treeSelectionDidChange):
1014 * UserInterface/Views/SourcesSidebarPanel.js:
1015 (WI.SourcesSidebarPanel.prototype._treeSelectionDidChange):
1016 * UserInterface/Views/StorageSidebarPanel.js:
1017 (WI.StorageSidebarPanel._treeSelectionDidChange):
1018
bburg@apple.com5b907f82018-07-09 20:00:32 +000010192018-07-09 Brian Burg <bburg@apple.com>
1020
1021 REGRESSION: Web Inspector no longer pauses in internal injected scripts like WDFindNodes.js
1022 https://bugs.webkit.org/show_bug.cgi?id=187350
1023 <rdar://problem/41728249>
1024
1025 Reviewed by Matt Baker.
1026
1027 * UserInterface/Base/Setting.js: Add a new setting to allow pausing in internal scripts.
1028 * UserInterface/Controllers/DebuggerManager.js: Listen to the setting change and toggle
1029 the backend setting accordingly. The default is to not break into internal scripts.
1030
1031 * UserInterface/Views/SettingsTabContentView.js:
1032 (WI.SettingsTabContentView.prototype._createDebugSettingsView):
1033 Expose the new setting in the Debug settings panel.
1034
nvasilyev@apple.com8d50f1a2018-07-07 00:44:29 +000010352018-07-06 Nikita Vasilyev <nvasilyev@apple.com>
1036
1037 Web Inspector: Dark Mode: resource search field has white text on white background
1038 https://bugs.webkit.org/show_bug.cgi?id=187423
1039
1040 Reviewed by Timothy Hatcher.
1041
1042 Match the colors of sidebar filter fields.
1043
1044 * UserInterface/Views/DarkMode.css:
1045 (@media (prefers-dark-interface)):
1046 (.find-banner > input[type="search"]):
1047
timothy_horton@apple.com553ee992018-07-04 09:06:10 +000010482018-07-04 Tim Horton <timothy_horton@apple.com>
1049
1050 Introduce PLATFORM(IOSMAC)
1051 https://bugs.webkit.org/show_bug.cgi?id=187315
1052
1053 Reviewed by Dan Bernstein.
1054
1055 * Configurations/Base.xcconfig:
1056
mattbaker@apple.com8508cfe2018-06-28 22:38:41 +000010572018-06-28 Matt Baker <mattbaker@apple.com>
1058
1059 Web Inspector: REGRESSION (r213000): copy from Search results content view broken
1060 https://bugs.webkit.org/show_bug.cgi?id=187020
1061 <rdar://problem/40928766>
1062
1063 Reviewed by Timothy Hatcher.
1064
1065 Since WI._copy listens for a copy event from the document, it is called
1066 after CodeMirror handles the event and sets clipboard data. If WI._copy
1067 finds a custom copy handler to call, that handler can determine whether
1068 to overwrite the current clipboard data, or leave it alone.
1069
1070 SearchTabContentView's handleCopyEvent method should return early if the
1071 content tree outline doesn't have the focus. This prevents the selection
1072 in the TextEditor from being overwritten, without any special knowledge of
1073 the content browser's current view.
1074
1075 * UserInterface/Views/SearchTabContentView.js:
1076 (WI.SearchTabContentView.prototype.handleCopyEvent):
1077
nvasilyev@apple.comc39d86f2018-06-25 17:34:48 +000010782018-06-25 Nikita Vasilyev <nvasilyev@apple.com>
1079
nvasilyev@apple.comc8b84c92018-06-26 00:43:32 +00001080 Web Inspector: Dark Mode: Box Model section should have dark background
1081 https://bugs.webkit.org/show_bug.cgi?id=186976
1082
1083 Reviewed by Brian Burg.
1084
1085 Replace all instances of black text on white background with the default text and background colors.
1086
1087 * UserInterface/Views/BoxModelDetailsSectionRow.css:
1088 (@media (prefers-dark-interface)):
1089 (.details-section .row.box-model):
1090 (.details-section .row.box-model .label):
1091 (.details-section .row.box-model :matches(.position, .margin, .border, .padding, .content)):
1092 (.details-section .row.box-model:not(.hovered) :matches(.margin, .border, .padding, .content),):
1093 (.details-section .row.box-model .margin):
1094 (.details-section .row.box-model .border):
1095
10962018-06-25 Nikita Vasilyev <nvasilyev@apple.com>
1097
nvasilyev@apple.comc9265c82018-06-25 17:42:03 +00001098 Web Inspector: Dark Mode: color outline is too dark
1099 https://bugs.webkit.org/show_bug.cgi?id=186975
1100
1101 Reviewed by Brian Burg.
1102
1103 Make the outline lighter than the background.
1104
1105 * UserInterface/Views/DarkMode.css:
1106 (@media (prefers-dark-interface)):
1107 (.hover-menu > svg > :matches(path, rect)):
1108
11092018-06-25 Nikita Vasilyev <nvasilyev@apple.com>
1110
nvasilyev@apple.com15a12fd2018-06-25 17:38:29 +00001111 Web Inspector: Dark Mode: Media query names are unreadable
1112 https://bugs.webkit.org/show_bug.cgi?id=186974
1113
1114 Reviewed by Brian Burg.
1115
1116 Change media query names from dark blue to light blue.
1117
1118 * UserInterface/Views/DarkMode.css:
1119 (@media (prefers-dark-interface)):
1120 (.CodeMirror .CodeMirror-lines .CodeMirror-matchingbracket):
1121 (.cm-s-default .cm-attribute):
1122
11232018-06-25 Nikita Vasilyev <nvasilyev@apple.com>
1124
nvasilyev@apple.comce7ecbd2018-06-25 17:35:51 +00001125 Web Inspector: Dark Mode: Network headers colors are too dim
1126 https://bugs.webkit.org/show_bug.cgi?id=186985
1127
1128 Reviewed by Brian Burg.
1129
1130 Increasing the luminance of network header colors by increasing lightness and brightness.
1131
1132 * UserInterface/Views/DarkMode.css:
1133 (@media (prefers-dark-interface)):
1134 (:root):
1135
11362018-06-25 Nikita Vasilyev <nvasilyev@apple.com>
1137
nvasilyev@apple.comc39d86f2018-06-25 17:34:48 +00001138 Web Inspector: Dark Mode: Font guideline colors are too bright
1139 https://bugs.webkit.org/show_bug.cgi?id=186986
1140
1141 Reviewed by Brian Burg.
1142
1143 Make the guidelines less distractive from the font glyphs.
1144
1145 * UserInterface/Views/DarkMode.css:
1146 (@media (prefers-dark-interface)):
1147 (.content-view.resource.font .preview > .line):
1148 (.content-view.resource.font .metric.top):
1149 (.content-view.resource.font .metric.baseline):
1150 (.content-view.resource.font .metric.middle):
1151 (.content-view.resource.font .metric.xheight):
1152 (.content-view.resource.font .metric.bottom):
1153
dbates@webkit.org9cdd6072018-06-21 00:08:53 +000011542018-06-20 Daniel Bates <dabates@apple.com>
1155
1156 Web Inspector: All non-Same-Site cookies are marked as Same-Site Strict in Storage tab
1157 https://bugs.webkit.org/show_bug.cgi?id=186867
1158 <rdar://problem/41175424>
1159
1160 Reviewed by Matt Baker.
1161
1162 Fixes an issue where cookies that do not have a Same-Site policy would be marked up as Same-
1163 Site Strict in Web Inspector's cookie storage content view (under the storage tab).
1164
1165 * UserInterface/Views/CookieStorageContentView.js:
1166 (WI.CookieStorageContentView.prototype._rebuildTable): Only compute the display name if
1167 we cookie.sameSite is non-null and is not WI.Cookie.SameSiteType.None. Moreover, remove
1168 an extraneous call to WI.Cookie.parseSameSiteAttributeValue() as cookie.SameSite represents
1169 the already parsed value (one of the WI.Cookie.SameSiteType-scoped values).
1170
bburg@apple.com64224062018-06-18 21:14:40 +000011712018-06-18 Brian Burg <bburg@apple.com>
1172
1173 Web Inspector: TypeError: Array.prototype.sort passed bad value in NetworkTableContentView _updateSortAndFilteredEntries
1174 https://bugs.webkit.org/show_bug.cgi?id=186787
1175 <rdar://problem/41175680>
1176
1177 Reviewed by Timothy Hatcher.
1178
1179 * UserInterface/Views/NetworkTableContentView.js:
1180 (WI.NetworkTableContentView.prototype._updateSortAndFilteredEntries):
1181
nvasilyev@apple.com46198bd2018-06-13 21:26:34 +000011822018-06-13 Nikita Vasilyev <nvasilyev@apple.com>
1183
1184 Web Inspector: open source Dark Mode
1185 https://bugs.webkit.org/show_bug.cgi?id=186606
1186
1187 Reviewed by Timothy Hatcher.
1188
1189 The dark mode is currently only available on macOS Mojave via prefers-dark-interface CSS media query.
1190
1191 * UserInterface/Main.html:
1192 * UserInterface/Views/DarkMode.css: Added.
1193 (@media (prefers-dark-interface)):
1194 (:root):
1195 (body.window-inactive):
1196 (body.window-inactive *):
1197 (#main):
1198 (.tree-outline.dom li.selected .selection-area):
1199 (.tab-bar > .item > .icon):
1200 (.go-to-arrow):
1201 (.resource-link,):
1202 (.expand-list-button):
1203 (:matches(img, canvas).show-grid):
1204 (.formatted-object,):
1205 (.formatted-null,):
1206 (.editing):
1207 (.editing, .editing *):
1208 (.text-editor > .CodeMirror .execution-line):
1209 (.text-editor > .CodeMirror .execution-range-highlight:not(.CodeMirror-selectedtext),):
1210 (.details-section > .header):
1211 (.details-section > .header > label):
1212 (.details-section .details-section,):
1213 (.details-section .details-section:not(.collapsed) > .header):
1214 (.details-section > .content > .group > .row.simple > .label):
1215 (.details-section > .content > .group:nth-child(even)):
1216 (.details-section > .content > .group > .row:matches(.empty, .text)):
1217 (.data-grid th):
1218 (.data-grid td .subtitle):
1219 (.data-grid:matches(:focus, .force-focus) tr.selected td .subtitle):
1220 (body:not(.window-inactive, .window-docked-inactive) .data-grid:matches(:focus, .force-focus) tr.editable.selected .cell-content > input):
1221 (.data-grid tr.editable .cell-content > input):
1222 (.data-grid td.spanning):
1223 (.object-tree,):
1224 (.object-preview .name):
1225 (.object-preview > .size):
1226 (.tab-bar):
1227 (.tab-bar > .item):
1228 (.tab-bar > .item > .title):
1229 (.tab-bar > .item:not(.disabled).selected):
1230 (.tab-bar:not(.animating) > .item:not(.selected):hover):
1231 (.tab-bar > .item > .close):
1232 (body.window-inactive .tab-bar):
1233 (body.window-inactive .tab-bar > .item):
1234 (body.window-inactive .tab-bar > .item.selected):
1235 (body.window-inactive .tab-bar > .item > .title):
1236 (body .toolbar):
1237 (body.window-inactive .toolbar):
1238 (body.latest-mac .toolbar .item.button,):
1239 (body.latest-mac .toolbar .search-bar > input[type="search"]):
1240 (body.latest-mac .toolbar .search-bar > input[type="search"]:focus):
1241 (body.latest-mac .toolbar .search-bar > input[type="search"]::placeholder):
1242 (body.latest-mac.window-inactive .toolbar .search-bar > input[type="search"]::placeholder):
1243 (body.latest-mac.window-inactive .toolbar .search-bar > input[type="search"]::-webkit-search-results-button):
1244 (body.latest-mac .toolbar .dashboard-container):
1245 (body.latest-mac .toolbar .item.button:active):
1246 (body.latest-mac.window-inactive .toolbar .item.button,):
1247 (.navigation-bar .item.divider):
1248 (.toolbar .item.button):
1249 (.toolbar .item.button:not(.disabled):active):
1250 (.toolbar .item.button:not(.disabled):matches(:focus, .activate.activated)):
1251 (.toolbar .item.button:not(.disabled):active:matches(:focus, .activate.activated)):
1252 (.toolbar .dashboard.default > .item > div):
1253 (.toolbar .dashboard.default > .item.enabled > div):
1254 (.toolbar .dashboard.default > .item.enabled:hover):
1255 (.toolbar .dashboard.default > .item.enabled:hover > div):
1256 (.toolbar .dashboard.default > .resourcesCount > img,):
1257 (body.latest-mac .toolbar .dashboard .item.button):
1258 (.dashboard-container .advance-arrow):
1259 (.toolbar .dashboard.debugger):
1260 (.dashboard.debugger .navigation-bar .item.button > .glyph):
1261 (.dashboard.debugger > .location .function-name):
1262 (.dashboard.debugger > .location .go-to-link):
1263 (.dashboard.debugger > .divider):
1264 (.popover .edit-breakpoint-popover-content > label.toggle):
1265 (.popover .edit-breakpoint-popover-content > table > tr > th):
1266 (.breakpoint-action-block-body):
1267 (.breakpoint-action-block-body > .description):
1268 (.breakpoint-action-append-button,):
1269 (.popover .xhr-breakpoint-content > .editor-wrapper > .editor):
1270 (.navigation-bar .item.button):
1271 (.spreadsheet-style-declaration-editor .property:not(.disabled) .value):
1272 (.spreadsheet-css-declaration):
1273 (.spreadsheet-css-declaration .selector:focus,):
1274 (.spreadsheet-css-declaration.locked .origin::after):
1275 (.spreadsheet-css-declaration .origin .go-to-link,):
1276 (.spreadsheet-style-declaration-editor :matches(.name, .value).editing):
1277 (.spreadsheet-style-declaration-editor .property.has-warning):
1278 (.spreadsheet-style-declaration-editor .property.has-warning .warning):
1279 (.spreadsheet-css-declaration .media-label):
1280 (.quick-console):
1281 (.syntax-highlighted,):
1282 (.cm-s-default,):
1283 (.CodeMirror .jump-to-symbol-highlight,):
1284 (.console-prompt):
1285 (.completion-suggestions):
1286 (.completion-suggestions-container > .item):
1287 (.CodeMirror-cursor):
1288 (.CodeMirror .CodeMirror-gutters):
1289 (.cm-s-default .cm-link):
1290 (.cm-s-default .cm-m-xml.cm-attribute,):
1291 (.cm-s-default .cm-meta):
1292 (.cm-s-default .cm-variable-3):
1293 (.cm-s-default .cm-builtin):
1294 (.tree-outline .item .subtitle):
1295 (.object-tree-property .getter,):
1296 (.item.object-tree-property.prototype-property):
1297 (.object-tree-property.prototype-property:hover,):
1298 (.object-tree-property .value.error):
1299 (.tree-outline.dom):
1300 (.tree-outline.dom li.selected + ol.children.expanded):
1301 (.tree-outline.dom .shadow):
1302 (.tree-outline.dom li.parent.shadow + ol.children.expanded,):
1303 (.showing-find-banner .tree-outline.dom .search-highlight):
1304 (.sidebar > .panel.dom-node-details .details-section.dom-node-event-listeners > .header > .filter:hover):
1305 (.sidebar > .panel.details.css-style > .content > .pseudo-classes > .group > label):
1306 (.spreadsheet-css-declaration.locked):
1307 (.spreadsheet-css-declaration .selector.style-attribute):
1308 (.spreadsheet-style-declaration-editor .property:matches(.invalid-name, .other-vendor, .overridden):not(.disabled) .content > *):
1309 (.inline-swatch):
1310 (.spreadsheet-style-panel .section-header):
1311 (.spreadsheet-style-panel .section-header .node-link:hover):
1312 (.computed-style-properties.details-section):
1313 (.details-section.style-box-model:not(.collapsed) > :matches(.header, .content)):
1314 (.table,):
1315 (.table > .header > .sortable:active):
1316 (.table > .header > :matches(.sort-ascending, .sort-descending)):
1317 (.table > .header > :matches(.sort-ascending, .sort-descending)::after):
1318 (.scope-bar > li):
1319 (.timeline-overview > .navigation-bar.timelines):
1320 (.timeline-overview:not(.frames) > .graphs-container > .timeline-overview-graph:nth-child(even)):
1321 (.timeline-overview.edit-instruments > .tree-outline.timelines .item:not(:first-child),):
1322 (.time-icon .icon):
1323 (.data-grid th:matches(.sort-ascending, .sort-descending)):
1324 (.content-view.timeline-recording > .content-browser > .navigation-bar > .item.scope-bar.default-item-selected > .multiple):
1325 (.content-view.timeline-recording > .content-browser > .navigation-bar > .item.scope-bar.default-item-selected > .multiple .arrows):
1326 (.content-view.settings .navigation-bar):
1327 (.content-view.settings .navigation-bar .item.radio.button.text-only.selected):
1328 (.new-tab.tab.content-view):
1329 (.filter-bar > input[type="search"]):
1330 (.filter-bar > input[type="search"]::placeholder):
1331 (.filter-bar > input[type="search"]:focus):
1332 (.content-view.resource.image):
1333 (.console-messages):
1334 (.console-item):
1335 (.console-messages:focus .console-item.selected):
1336 (.console-messages:focus .console-item.selected + .console-item):
1337 (.console-session:first-of-type .console-session-header):
1338 (.console-session:not(:first-of-type) .console-session-header):
1339 (.console-messages a):
1340 (.console-messages a:hover):
1341 (.console-messages:focus .console-item.selected::after):
1342 (.console-error-level):
1343 (.console-error-level:not(.filtered-out, .filtered-out-by-search), .console-error-level:not(.filtered-out, .filtered-out-by-search) + .console-item):
1344 (.console-warning-level):
1345 (.console-warning-level:not(.filtered-out, .filtered-out-by-search), .console-warning-level:not(.filtered-out, .filtered-out-by-search) + .console-item):
1346 (.search-in-progress .console-item:not(.filtered-out-by-search) .highlighted):
1347 (.search-in-progress .console-item:not(.filtered-out-by-search) .highlighted.selected):
1348 (.source-code.text-editor > .CodeMirror .error):
1349 (.source-code.text-editor > .CodeMirror .warning):
1350 (.source-code.text-editor > .CodeMirror .issue-widget):
1351 (.source-code.text-editor > .CodeMirror .issue-widget.inline.warning):
1352 (.source-code.text-editor > .CodeMirror .issue-widget.inline.warning > .arrow):
1353 (.source-code.text-editor > .CodeMirror .issue-widget.inline.error):
1354 (.source-code.text-editor > .CodeMirror .issue-widget.inline.error > .arrow):
1355 (.console-message .syntax-highlighted):
1356 (.console-warning-level .console-message-text):
1357 (.console-error-level .console-message-text):
1358 (.console-user-command > .console-message-text):
1359 (.console-message .repeat-count):
1360 (.call-frame .subtitle,):
1361 (.call-frame:hover .subtitle .source-link,):
1362 (.call-frame .separator):
1363 (.quick-console.showing-log):
1364 (.find-banner.console-find-banner > input[type=search]:not(:placeholder-shown)):
1365 (.network-resource-detail):
1366 (.network-resource-detail .item.close > .glyph):
1367 (.network .network-resource-detail .navigation-bar .item.radio.button.text-only.selected):
1368 (.resource-headers .value):
1369 (.network-table .cell.domain > .lock):
1370 (.resource-sizes > .content .label):
1371 (.popover.waterfall-popover):
1372 (.resource-timing-breakdown > table > tr.header:not(.total-row) > td):
1373 (.resource-timing-breakdown > table > tr > td.label,):
1374 (.resource-timing-breakdown > table hr):
1375 (.sidebar > .panel.details.css-style > .content ~ .options-container > .new-rule):
1376 (.content-view.tab.canvas .navigation-bar > .item .canvas-overview .icon):
1377 (.web-socket.content-view .data-grid table.data tr.revealed):
1378 (.web-socket.content-view .data-grid.variable-height-rows table.data tr.outgoing):
1379 (.web-socket.content-view .data-grid.variable-height-rows table.data tr.non-text-frame):
1380 (.item.action:not(.initial-state)::before):
1381 (.tree-outline .item.action.visual:not(.selected, .invalid)):
1382 (.item.action:not(.initial-state) > .icon):
1383 (.tree-outline:not(.hide-disclosure-buttons) .item.action:not(.initial-state, .parent) > .icon):
1384 (.content-view.tab.canvas .navigation-bar > .item .canvas-overview .icon,):
1385 (.content-view.canvas > .preview > img,):
1386 (.content-view.canvas-overview):
1387 (.content-view.canvas-overview .content-view.canvas):
1388 (.content-view.canvas-overview .content-view.canvas.is-recording):
1389 (.content-view.canvas-overview .content-view.canvas.is-recording > header):
1390 (.content-view.canvas-overview .content-view.canvas > header > .titles > .title):
1391 (.content-view.canvas-overview .content-view.canvas > header > .titles > .subtitle,):
1392 (.content-view.canvas-overview .content-view.canvas > footer > .recordings::before):
1393 (.content-view.canvas-overview .content-view.canvas.is-recording > header > .titles > .subtitle):
1394 (.content-view.canvas:not(.tab)):
1395 (.content-view:not(.tab).recording):
1396 (.content-view:not(.tab).recording > header > .slider-container):
1397 (.content-view:not(.tab).recording > header > .slider-container > input[type=range]):
1398 (.sidebar > .panel.details.recording-state > .content > .data-grid tr.modified):
1399 (.progress-view > .titles > .title):
1400 (.progress-view > .titles > .subtitle):
1401 (.indeterminate-progress-spinner):
1402 (.content-view.shader-program > .text-editor.shader):
1403 (.content-view.shader-program > .text-editor.shader > .type-title):
1404 (.item.shader-program .status > img):
1405 (.open-resource-dialog):
1406 (.open-resource-dialog > .field > input):
1407 (.open-resource-dialog > .field > input::placeholder):
1408 (.open-resource-dialog > .tree-outline .item.selected):
1409 (.open-resource-dialog > .field::before):
1410
mitz@apple.com564e7c32018-06-10 05:18:08 +000014112018-06-09 Dan Bernstein <mitz@apple.com>
1412
1413 [Xcode] Clean up and modernize some build setting definitions
1414 https://bugs.webkit.org/show_bug.cgi?id=186463
1415
1416 Reviewed by Sam Weinig.
1417
1418 * Configurations/Base.xcconfig: Removed definition for macOS 10.11.
1419 * Configurations/DebugRelease.xcconfig: Ditto.
1420 * Configurations/Version.xcconfig: Ditto.
1421
mattbaker@apple.comc32fab12018-06-05 22:41:00 +000014222018-06-05 Matt Baker <mattbaker@apple.com>
1423
1424 Web Inspector: Tab picker is briefly visible when TabBar initially shown
1425 https://bugs.webkit.org/show_bug.cgi?id=186317
1426
1427 Reviewed by Joseph Pecoraro.
1428
1429 * UserInterface/Views/TabBar.js:
1430 (WI.TabBar): Picker should be initially hidden.
1431
nvasilyev@apple.comfb7f4912018-06-05 19:07:12 +000014322018-06-05 Nikita Vasilyev <nvasilyev@apple.com>
1433
1434 Web Inspector: Text in "Add New Class" in auto-capitalizes
1435 https://bugs.webkit.org/show_bug.cgi?id=186311
1436
1437 Reviewed by Matt Baker.
1438
1439 Disable spellcheck to prevent auto-capitalization.
1440
1441 * UserInterface/Views/GeneralStyleDetailsSidebarPanel.js:
1442 (WI.GeneralStyleDetailsSidebarPanel.prototype.initialLayout):
1443
mattbaker@apple.come8ffcf92018-06-04 21:49:50 +000014442018-06-04 Matt Baker <mattbaker@apple.com>
1445
1446 Web Inspector: Cannot copy a link address in Elements tab
1447 https://bugs.webkit.org/show_bug.cgi?id=186281
1448 <rdar://problem/39193355>
1449
1450 Reviewed by Brian Burg.
1451
1452 * UserInterface/Views/ContextMenuUtilities.js:
1453 (WI.appendContextMenuItemsForURL):
1454
dbates@webkit.orgc14788b2018-05-30 23:42:36 +000014552018-05-30 Daniel Bates <dabates@apple.com>
1456
1457 Web Inspector: Annotate Same-Site cookies
1458 https://bugs.webkit.org/show_bug.cgi?id=184897
1459 <rdar://problem/35178209>
1460
1461 Reviewed by Brian Burg.
1462
1463 Add a new column for the value of the Same-Site cookie attribute to the resource cookie content
1464 view (shown for a resource under the Network tab) and cookie storage content view (shown under
1465 the Storage tab).
1466
1467 The SameSite column in the resource cookie content view reflects the parsing of the Same-Site
1468 attribute from the HTTP response by Web Inspector. This parsing is materially consistent with
1469 the parsing of the SameSite atttribute in CFNetwork. The Same-Site column in the cookie storage
1470 content view reflects the Same-Site cookie policy associated with the cookies provided by the
1471 network stack, if supported. This column will be blank on systems whose network stack does not
1472 support Same-Site cookies (e.g libsoup).
1473
1474 * Localizations/en.lproj/localizedStrings.js:
1475 * UserInterface/Controllers/HARBuilder.js:
1476 (WI.HARBuilder.cookies):
1477 * UserInterface/Models/Cookie.js:
1478 (WI.Cookie):
1479 (WI.Cookie.displayNameForSameSiteType):
1480 (WI.Cookie.parseSameSiteAttributeValue):
1481 (WI.Cookie.parseSetCookieResponseHeader):
1482 * UserInterface/Views/CookieStorageContentView.js:
1483 (WI.CookieStorageContentView.prototype._rebuildTable):
1484 (WI.CookieStorageContentView.prototype._sortDataGrid):
1485 * UserInterface/Views/ResourceCookiesContentView.js:
1486 (WI.ResourceCookiesContentView.prototype.tablePopulateCell):
1487 (WI.ResourceCookiesContentView.prototype._generateSortComparator):
1488 (WI.ResourceCookiesContentView.prototype._refreshResponseCookiesSection):
1489
mattbaker@apple.comf036e0e2018-05-25 16:25:27 +000014902018-05-25 Matt Baker <mattbaker@apple.com>
1491
1492 Web Inspector: Popover dismissed while attempting to move cursor inside
1493 https://bugs.webkit.org/show_bug.cgi?id=185741
1494 <rdar://problem/40340938>
1495
1496 Reviewed by Joseph Pecoraro.
1497
1498 Hovering a token within the bounds of the current popover should not
1499 show a new popover. This prevents the popover from being dismissed when
1500 the cursor passes over a token under the transparent portion of the
1501 popover frame.
1502
1503 * UserInterface/Views/SourceCodeTextEditor.js:
1504 (WI.SourceCodeTextEditor.prototype._showPopover):
1505
ryanhaddad@apple.com5cce4f02018-05-22 17:21:49 +000015062018-05-22 Ryan Haddad <ryanhaddad@apple.com>
1507
1508 Unreviewed, rolling out r232052.
1509
1510 Breaks internal builds.
1511
1512 Reverted changeset:
1513
1514 "Use more C++17"
1515 https://bugs.webkit.org/show_bug.cgi?id=185176
1516 https://trac.webkit.org/changeset/232052
1517
utatane.tea@gmail.com24cbfd82018-05-22 06:46:43 +000015182018-05-21 Yusuke Suzuki <utatane.tea@gmail.com>
1519
1520 Use more C++17
1521 https://bugs.webkit.org/show_bug.cgi?id=185176
1522
1523 Reviewed by JF Bastien.
1524
1525 * Configurations/Base.xcconfig:
1526
webkit@devinrousso.com8ec0dd42018-05-18 21:05:08 +000015272018-05-18 Devin Rousso <webkit@devinrousso.com>
1528
1529 Web Inspector: Canvas: put `hasVisualEffect` behind an experimental setting
1530 https://bugs.webkit.org/show_bug.cgi?id=185758
1531
1532 Reviewed by Matt Baker.
1533
1534 * Localizations/en.lproj/localizedStrings.js:
1535
1536 * UserInterface/Base/Setting.js:
1537
1538 * UserInterface/Models/RecordingAction.js:
1539 (WI.RecordingAction.prototype.process):
1540
1541 * UserInterface/Views/RecordingActionTreeElement.js:
1542 (WI.RecordingActionTreeElement.prototype.onattach):
1543
1544 * UserInterface/Views/SettingsTabContentView.js:
1545 (WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
1546
webkit@devinrousso.com21878e262018-05-17 01:37:33 +000015472018-05-16 Devin Rousso <webkit@devinrousso.com>
1548
1549 Web Inspector: create a navigation item for toggling the overlay rulers/guides
1550 https://bugs.webkit.org/show_bug.cgi?id=185644
1551
1552 Reviewed by Matt Baker.
1553
1554 * Localizations/en.lproj/localizedStrings.js:
1555 * UserInterface/Base/Setting.js:
1556 * UserInterface/Views/DOMTreeContentView.js:
1557 (WI.DOMTreeContentView):
1558 (WI.DOMTreeContentView.prototype.get navigationItems):
1559 (WI.DOMTreeContentView.prototype.closed):
1560 (WI.DOMTreeContentView.prototype._showRulersChanged): Added.
1561 (WI.DOMTreeContentView.prototype._toggleShowRulers): Added.
1562
nvasilyev@apple.comc604e502018-05-15 01:52:26 +000015632018-05-14 Nikita Vasilyev <nvasilyev@apple.com>
1564
1565 Web Inspector: Canvas: Remove unused --value-visual-highlight CSS variable
1566 https://bugs.webkit.org/show_bug.cgi?id=185636
1567
1568 Reviewed by Matt Baker.
1569
1570 * UserInterface/Views/Variables.css:
1571 (:root):
1572
webkit@devinrousso.com09350d52018-05-14 23:01:25 +000015732018-05-14 Devin Rousso <webkit@devinrousso.com>
1574
1575 Web Inspector: Canvas tab: don't automatically select a recording when viewing a canvas
1576 https://bugs.webkit.org/show_bug.cgi?id=182950
1577
1578 Reviewed by Matt Baker.
1579
1580 * UserInterface/Views/CanvasSidebarPanel.js:
1581 (WI.CanvasSidebarPanel):
1582 (WI.CanvasSidebarPanel.prototype._currentRepresentedObjectsDidChange):
1583 (WI.CanvasSidebarPanel.prototype._treeOutlineSelectionDidChange):
1584 (WI.CanvasSidebarPanel.prototype._canvasChanged):
1585 (WI.CanvasSidebarPanel.prototype._recordingChanged):
1586 (WI.CanvasSidebarPanel.prototype._updateRecordingScopeBar):
1587 Add a "dummy" ScopeBarItem to the recording ScopeBar that is selected whenever a TreeElement
1588 that doesn't correspond to a Recording is selected. This way, the Recording ScopeBar will
1589 become deselected, and the list of actions will disappear. Clicking on the Recording ScopeBar
1590 will show the previously selected Recording.
1591
mattbaker@apple.com1e9de232018-05-09 00:09:41 +000015922018-05-08 Matt Baker <mattbaker@apple.com>
1593
1594 Web Inspector: Console drawer resizing is broken when console prompt has >1 line of code
1595 https://bugs.webkit.org/show_bug.cgi?id=185369
1596 <rdar://problem/40013202>
1597
1598 Reviewed by Devin Rousso.
1599
1600 Mouse offset calculation should account for the height of the quick console.
1601 The only reason resizing worked with the single-line quick console is that
1602 the offset calculation included the resizer height, which is very close
1603 to that of the single-line quick console (27px and 30px respectively).
1604
1605 * UserInterface/Views/ConsoleDrawer.js:
1606
webkit@devinrousso.comca4600a2018-05-04 23:56:10 +000016072018-05-04 Devin Rousso <webkit@devinrousso.com>
1608
1609 Web Inspector: simplify the WI.Collection interface
1610 https://bugs.webkit.org/show_bug.cgi?id=185187
1611
1612 Reviewed by Brian Burg.
1613
1614 * UserInterface/Models/Collection.js:
1615 (WI.Collection.prototype.get size): Added.
1616 (WI.Collection.prototype.has): Added.
1617 (WI.Collection.prototype.toJSON):
1618 (WI.Collection.prototype.[Symbol.iterator]): Added.
1619 (WI.Collection.prototype.get items): Deleted.
1620 (WI.Collection.prototype.toArray): Deleted.
1621
1622 * UserInterface/Controllers/CanvasManager.js:
1623 (WI.CanvasManager.prototype._removeCanvas):
1624 * UserInterface/Controllers/DOMDebuggerManager.js:
1625 (WebInspector.DOMDebuggerManager.prototype.get domBreakpoints):
1626 * UserInterface/Models/Frame.js:
1627 (WI.Frame.prototype.removeAllChildFrames):
1628 (WI.Frame.prototype.resourceForURL):
1629 (WI.Frame.prototype.removeAllResources):
1630 * UserInterface/Models/Script.js:
1631 (WI.Script):
1632 * UserInterface/Views/CanvasContentView.js:
1633 (WI.CanvasContentView.prototype.initialLayout):
1634 * UserInterface/Views/CanvasOverviewContentView.js:
1635 (WI.CanvasOverviewContentView.prototype._updateNavigationItems):
1636 * UserInterface/Views/CanvasSidebarPanel.js:
1637 (WI.CanvasSidebarPanel.prototype._recordingRemoved):
1638 (WI.CanvasSidebarPanel.prototype._canvasChanged):
1639 (WI.CanvasSidebarPanel.prototype._updateRecordingScopeBar):
1640 * UserInterface/Views/CanvasTabContentView.js:
1641 (WI.CanvasTabContentView.prototype.attached):
1642 (WI.CanvasTabContentView.prototype._addCanvas):
1643 (WI.CanvasTabContentView.prototype._removeCanvas):
1644 * UserInterface/Views/CanvasTreeElement.js:
1645 (WI.CanvasTreeElement.prototype.onpopulate):
1646 * UserInterface/Views/CollectionContentView.js:
1647 (WI.CollectionContentView.prototype.initialLayout):
1648 (WI.CollectionContentView.prototype.attached):
1649 * UserInterface/Views/CookieStorageContentView.js:
1650 (WI.CookieStorageContentView.prototype._filterCookies):
1651 * UserInterface/Views/DebuggerSidebarPanel.js:
1652 (WI.DebuggerSidebarPanel.prototype._addResourcesRecursivelyForFrame):
1653 * UserInterface/Views/FolderizedTreeElement.js:
1654 (WI.FolderizedTreeElement.prototype.updateParentStatus):
1655 (WI.FolderizedTreeElement.prototype._shouldGroupIntoFolders):
1656 * UserInterface/Views/FrameTreeElement.js:
1657 (WI.FrameTreeElement.prototype.onpopulate):
1658 * UserInterface/Views/NavigationSidebarPanel.js:
1659 (WI.NavigationSidebarPanel.prototype.get contentTreeOutlines):
1660 * UserInterface/Views/NetworkTableContentView.js:
1661 (WI.NetworkTableContentView.prototype._populateWithInitialResourcesIfNeeded):
1662 * UserInterface/Views/OpenResourceDialog.js:
1663 (WI.OpenResourceDialog.prototype._addResourcesForFrame):
1664 (WI.OpenResourceDialog.prototype._addResourcesForTarget):
1665 * UserInterface/Views/TreeOutlineGroup.js:
1666 (WI.TreeOutlineGroup.prototype.get selectedTreeElement):
1667 (WI.TreeOutlineGroup.prototype._removeConflictingTreeSelections):
1668 * UserInterface/Views/WorkerTreeElement.js:
1669 (WI.WorkerTreeElement.prototype.onpopulate):
1670
nvasilyev@apple.come298f1e2018-05-04 20:51:47 +000016712018-05-04 Nikita Vasilyev <nvasilyev@apple.com>
1672
1673 Web Inspector: Styles: Newly added unsupported properties sometimes don't have warnings
1674 https://bugs.webkit.org/show_bug.cgi?id=183097
1675 <rdar://problem/37843816>
1676
1677 Reviewed by Matt Baker.
1678
1679 Update status of properties warnings every time focus moves.
1680
1681 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
1682 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.layout):
1683 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyFocusMoved):
1684 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._propertiesChanged):
1685 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._updatePropertiesStatus):
1686 * UserInterface/Views/SpreadsheetStyleProperty.js:
1687 (WI.SpreadsheetStyleProperty.prototype.spreadsheetTextFieldDidBlur):
1688
webkit@devinrousso.com6231c852018-05-04 18:50:30 +000016892018-05-04 Devin Rousso <webkit@devinrousso.com>
1690
webkit@devinrousso.com8a769162018-05-04 20:29:24 +00001691 Web Inspector: Styles Redesign: ensure that tabbing through the last section wraps back to the first
1692 https://bugs.webkit.org/show_bug.cgi?id=181973
1693
1694 Reviewed by Matt Baker.
1695
1696 Unified delegate functions to start editing previous/next rules into a single function for
1697 simplicity.
1698
1699 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
1700 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetCSSStyleDeclarationEditorFocusMoved):
1701
1702 * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
1703 (WI.SpreadsheetCSSStyleDeclarationSection.prototype.startEditingRuleSelector):
1704 (WI.SpreadsheetCSSStyleDeclarationSection.prototype.spreadsheetSelectorFieldDidChange):
1705 (WI.SpreadsheetCSSStyleDeclarationSection.prototype.spreadsheetCSSStyleDeclarationEditorStartEditingAdjacentRule):
1706 (WI.SpreadsheetCSSStyleDeclarationSection.prototype.cssStyleDeclarationEditorStartEditingAdjacentRule): Deleted.
1707
1708 * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:
1709 (WI.SpreadsheetRulesStyleDetailsPanel.prototype.focusFirstSection):
1710 (WI.SpreadsheetRulesStyleDetailsPanel.prototype.focusLastSection):
1711 (WI.SpreadsheetRulesStyleDetailsPanel.prototype.spreadsheetCSSStyleDeclarationSectionStartEditingAdjacentRule):
1712 (WI.SpreadsheetRulesStyleDetailsPanel.prototype.cssStyleDeclarationSectionStartEditingNextRule): Deleted.
1713 (WI.SpreadsheetRulesStyleDetailsPanel.prototype.cssStyleDeclarationSectionStartEditingPreviousRule): Deleted.
1714
1715 * UserInterface/Views/GeneralStyleDetailsSidebarPanel.js:
1716 (WI.GeneralStyleDetailsSidebarPanel.prototype.styleDetailsPanelFocusLastPseudoClassCheckbox):
1717 (WI.GeneralStyleDetailsSidebarPanel.prototype.styleDetailsPanelFocusFilterBar):
1718 (WI.GeneralStyleDetailsSidebarPanel.prototype.initialLayout):
1719 (WI.GeneralStyleDetailsSidebarPanel.prototype._handleForcedPseudoClassCheckboxKeydown):
1720 (WI.GeneralStyleDetailsSidebarPanel.prototype._forcedPseudoClassCheckboxChanged):
1721 (WI.GeneralStyleDetailsSidebarPanel.prototype._handleFilterBarInputFieldKeyDown):
1722
1723 Drive-by fix: provide tabbing support for the Computed styles panel.
1724
1725 * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
1726 (WI.CSSStyleDeclarationTextEditor.prototype._handleShiftTabKey.switchRule):
1727 (WI.CSSStyleDeclarationTextEditor.prototype._handleTabKey.switchRule):
1728
1729 * UserInterface/Views/ComputedStyleDetailsPanel.js:
1730 (WI.ComputedStyleDetailsPanel.prototype.focusFirstSection):
1731 (WI.ComputedStyleDetailsPanel.prototype.focusLastSection):
1732 (WI.ComputedStyleDetailsPanel.prototype.cssStyleDeclarationTextEditorStartEditingAdjacentRule):
1733
17342018-05-04 Devin Rousso <webkit@devinrousso.com>
1735
webkit@devinrousso.com6231c852018-05-04 18:50:30 +00001736 Web Inspector: Canvas tab: Determine isFunction by looking at the prototype
1737 https://bugs.webkit.org/show_bug.cgi?id=184990
1738
1739 Reviewed by Brian Burg.
1740
1741 * UserInterface/Models/RecordingAction.js:
1742 (WI.RecordingAction.isFunctionForType):
1743 (WI.RecordingAction._prototypeForType):
1744 (WI.RecordingAction.prototype.async.swizzle):
1745
webkit@devinrousso.com37642652018-05-01 23:37:59 +000017462018-05-01 Devin Rousso <webkit@devinrousso.com>
1747
1748 Web Inspector: Canvas tab: determine hasVisibleEffect for all actions immediately after recording is added
1749 https://bugs.webkit.org/show_bug.cgi?id=182995
1750
1751 Reviewed by Matt Baker.
1752
1753 Previously, we'd swizzle the entirety of the `WI.Recording` in one, which would usually
1754 freeze the UI, especially for larger recordings. This patch uses `WI.YieldableTask` to split
1755 the work and allow the rest of the UI to still be usable while `WI.Recording` are processing.
1756 Additionally, since we no longer have to worry about hangs, we can do more work upfront,
1757 such as calculating `hasVisibleEffect` and the current state of 2D canvases.
1758
1759 These changes require that all uses of `WI.Recording` call `process()` before attempting to
1760 use any `frames`/`actions`/`initialState`, as they will have their original payload values
1761 and will have not been swizzled or applied.
1762
1763 * Localizations/en.lproj/localizedStrings.js:
1764
1765 * UserInterface/Models/Recording.js:
1766 (WI.Recording):
1767 (WI.Recording.prototype.process):
1768 (WI.Recording.prototype.createContext): Added.
1769 (WI.Recording.prototype.async yieldableTaskWillProcessItem): Added.
1770 (WI.Recording.prototype.async yieldableTaskDidFinish): Added.
1771
1772 * UserInterface/Models/RecordingAction.js:
1773 (WI.RecordingAction):
1774 (WI.RecordingAction.prototype.process): Added.
1775 (WI.RecordingAction.prototype.async swizzle): Added.
1776 (WI.RecordingAction.prototype.apply):
1777 (WI.RecordingAction.prototype.toJSON):
1778 (WI.RecordingAction.prototype.set state): Deleted.
1779 (WI.RecordingAction.prototype.swizzle): Deleted.
1780 (WI.RecordingAction.prototype.apply.getContent): Deleted.
1781 (WI.RecordingAction.prototype.async _swizzle): Deleted.
1782 * UserInterface/Models/RecordingInitialStateAction.js:
1783 (WI.RecordingInitialStateAction):
1784
1785 * UserInterface/Views/CanvasSidebarPanel.js:
1786 (WI.CanvasSidebarPanel):
1787 (WI.CanvasSidebarPanel.prototype.set action):
1788 (WI.CanvasSidebarPanel.prototype._treeOutlineSelectionDidChange):
1789 (WI.CanvasSidebarPanel.prototype._recordingChanged):
1790
1791 * UserInterface/Views/CanvasSidebarPanel.css:
1792 (.sidebar > .panel.navigation.canvas > .content > .recording-content > .indeterminate-progress-spinner):
1793
1794 * UserInterface/Views/RecordingActionTreeElement.js:
1795 (WI.RecordingActionTreeElement):
1796 (WI.RecordingActionTreeElement.prototype.onattach):
1797 (WI.RecordingActionTreeElement.prototype._handleHasVisibleEffectChanged): Deleted.
1798
1799 * UserInterface/Views/RecordingContentView.js:
1800 (WI.RecordingContentView):
1801 (WI.RecordingContentView.prototype.get navigationItems):
1802 (WI.RecordingContentView.prototype.updateActionIndex):
1803 (WI.RecordingContentView.prototype.initialLayout):
1804 (WI.RecordingContentView.prototype._generateContentCanvas2D): Added.
1805 (WI.RecordingContentView.prototype._generateContentCanvasWebGL): Added.
1806 (WI.RecordingContentView.prototype._updateCanvasPath):
1807 (WI.RecordingContentView.prototype._updateProcessProgress): Added.
1808 (WI.RecordingContentView.prototype._handleRecordingProcessedActionSwizzle): Added.
1809 (WI.RecordingContentView.prototype._handleRecordingProcessedActionApply): Added.
1810 (WI.RecordingContentView.supportsCanvasPathDebugging): Deleted.
1811 (WI.RecordingContentView.prototype.async _generateContentCanvas2D): Deleted.
1812 (WI.RecordingContentView.prototype.async _generateContentCanvasWebGL): Deleted.
1813
1814 * UserInterface/Views/RecordingContentView.css:
1815 (.content-view:not(.tab).recording > .preview-container):
1816
1817 * UserInterface/Base/ImageUtilities.js:
1818 (WI.ImageUtilities.supportsCanvasPathDebugging):
1819
jer.noble@apple.com88220e52018-04-26 19:15:20 +000018202018-04-26 Jer Noble <jer.noble@apple.com>
1821
jer.noble@apple.com63add112018-04-26 23:30:21 +00001822 Unreviewed build fix; fix WebInspectorUI copy resources step after r231063.
1823
1824 * Configurations/Base.xcconfig:
1825
18262018-04-26 Jer Noble <jer.noble@apple.com>
1827
jer.noble@apple.com88220e52018-04-26 19:15:20 +00001828 WK_COCOA_TOUCH all the things.
1829 https://bugs.webkit.org/show_bug.cgi?id=185006
1830
1831 Reviewed by Tim Horton.
1832
1833 * Configurations/WebInspectorUIFramework.xcconfig:
1834
nvasilyev@apple.com3e2330c2018-04-21 17:45:23 +000018352018-04-21 Nikita Vasilyev <nvasilyev@apple.com>
1836
1837 REGRESSION(r214076): Web Inspector: Timelines load and DOMContentLoaded markers aren't visible
1838 https://bugs.webkit.org/show_bug.cgi?id=184858
1839
1840 Reviewed by Brian Burg.
1841
1842 r214076 changed the color of all markers to light gray.
1843
1844 * UserInterface/Views/TimelineRuler.css:
1845 (.timeline-ruler > .markers > .marker):
1846 (body[dir=ltr] .timeline-ruler > .markers > .marker):
1847 (body[dir=rtl] .timeline-ruler > .markers > .marker):
1848 (.timeline-ruler > .markers > .marker.current-time):
1849 (.timeline-ruler > .markers > .marker.load-event):
1850 (.timeline-ruler > .markers > .marker.dom-content-event):
1851 (.timeline-ruler > .markers > .marker.timestamp):
1852 (body[dir=ltr] .timeline-ruler > .markers > .marker.current-time): Deleted.
1853 (body[dir=rtl] .timeline-ruler > .markers > .marker.current-time): Deleted.
1854
cdumez@apple.com1295fb772018-04-20 02:15:39 +000018552018-04-19 Chris Dumez <cdumez@apple.com>
1856
1857 Rename JSDOMWindowProxy to JSWindowProxy
1858 https://bugs.webkit.org/show_bug.cgi?id=184797
1859
1860 Reviewed by Sam Weinig.
1861
1862 Rename JSDOMWindowProxy to JSWindowProxy for consistency with WindowProxy.
1863
1864 * UserInterface/Workers/HeapSnapshot/HeapSnapshot.js:
1865 (HeapSnapshot.prototype._isNodeGlobalObject):
1866
ddkilzer@apple.coma005ba42018-04-19 22:53:45 +000018672018-04-19 David Kilzer <ddkilzer@apple.com>
1868
1869 Enable Objective-C weak references
1870 <https://webkit.org/b/184789>
1871 <rdar://problem/39571716>
1872
1873 Reviewed by Dan Bernstein.
1874
1875 * Configurations/Base.xcconfig:
1876 (CLANG_ENABLE_OBJC_WEAK): Enable.
1877
nvasilyev@apple.com7b6eacf2018-04-17 05:48:41 +000018782018-04-16 Nikita Vasilyev <nvasilyev@apple.com>
1879
1880 Web Inspector: Can't select and copy text from Network tab popover
1881 https://bugs.webkit.org/show_bug.cgi?id=184606
1882
1883 Reviewed by Matt Baker.
1884
1885 * UserInterface/Views/ResourceTimingBreakdownView.css:
1886 (.waterfall-popover .resource-timing-breakdown):
1887
nvasilyev@apple.com81e09d72018-04-13 01:09:50 +000018882018-04-12 Nikita Vasilyev <nvasilyev@apple.com>
1889
1890 Web Inspector: Refactoring: move popover styles from JS to CSS
1891 https://bugs.webkit.org/show_bug.cgi?id=184558
1892
1893 Reviewed by Brian Burg.
1894
1895 Introduce several CSS variables to customize popover appearance in CSS
1896 and not JavaScript.
1897
1898 * UserInterface/Views/NetworkTableContentView.js:
1899 (WI.NetworkTableContentView.prototype._waterfallPopoverContentForResource):
1900 (WI.NetworkTableContentView.prototype._handleMousedownWaterfall):
1901 * UserInterface/Views/Popover.css:
1902 (.popover):
1903 * UserInterface/Views/Popover.js:
1904 (WI.Popover):
1905 (WI.Popover.prototype._drawBackground):
1906 Replace `var` with `let`.
1907
1908 (WI.Popover.prototype.get backgroundStyle): Deleted.
1909 (WI.Popover.prototype.set backgroundStyle): Deleted.
1910 * UserInterface/Views/ResourceTimingBreakdownView.css:
1911 (.popover.waterfall-popover):
1912 (.waterfall-popover-content .resource-timing-breakdown):
1913 (.waterfall-popover .resource-timing-breakdown): Deleted.
1914
1915 * UserInterface/Views/NetworkTableContentView.js:
1916 (WI.NetworkTableContentView.prototype._waterfallPopoverContentForResource):
1917 (WI.NetworkTableContentView.prototype._handleMousedownWaterfall):
1918 * UserInterface/Views/Popover.css:
1919 (.popover):
1920 * UserInterface/Views/Popover.js:
1921 (WI.Popover):
1922 (WI.Popover.prototype._drawBackground):
1923 * UserInterface/Views/ResourceTimingBreakdownView.css:
1924 (.popover.waterfall-popover):
1925 (.waterfall-popover-content .resource-timing-breakdown):
1926
nvasilyev@apple.com6e34c3f2018-04-08 01:33:03 +000019272018-04-07 Nikita Vasilyev <nvasilyev@apple.com>
1928
1929 Web Inspector: Errors glyph doesn't fully change to blue when active
1930 https://bugs.webkit.org/show_bug.cgi?id=184389
1931
1932 Reviewed by Joseph Pecoraro.
1933
1934 The dot of the exclamation mark was always black.
1935
1936 * UserInterface/Images/Errors.svg:
1937
commit-queue@webkit.org45dd6362018-04-04 00:46:50 +000019382018-04-03 Aaron Chu <aaron_chu@apple.com>
1939
1940 AX: Add Experimental setting for Accessibility Audit
1941 https://bugs.webkit.org/show_bug.cgi?id=183646
1942 <rdar://problem/38478583>
1943
1944 Reviewed by Brian Burg.
1945
1946 Added experimental feature flag for Accessibility Audit work.
1947
1948 * Localizations/en.lproj/localizedStrings.js:
1949 * UserInterface/Base/Setting.js:
1950 * UserInterface/Views/SettingsTabContentView.js:
1951 (WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
1952
mattbaker@apple.com83ff4432018-04-02 05:59:28 +000019532018-04-01 Matt Baker <mattbaker@apple.com>
1954
1955 Web Inspector: Remove dead TabBrowser/TabContentView code
1956 https://bugs.webkit.org/show_bug.cgi?id=184104
1957
1958 Reviewed by Devin Rousso.
1959
1960 * UserInterface/Base/Main.js:
1961 (WI._tryToRestorePendingTabs):
1962 * UserInterface/Views/NewTabContentView.js:
1963 (WI.NewTabContentView.prototype.shown):
1964 (WI.NewTabContentView.prototype.hidden):
1965 * UserInterface/Views/TabBrowser.js:
1966 (WI.TabBrowser.prototype.addTabForContentView):
1967 (WI.TabBrowser.prototype.showTabForContentView):
1968 (WI.TabBrowser._tabBarItemRemoved):
1969 * UserInterface/Views/TabContentView.js:
1970 (WI.TabContentView.prototype.get parentTabBrowser): Deleted.
1971 (WI.TabContentView.prototype.set parentTabBrowser): Deleted.
1972
webkit@devinrousso.com093c0ee2018-03-31 05:14:49 +000019732018-03-30 Devin Rousso <webkit@devinrousso.com>
1974
1975 Web Inspector: tint all pixels drawn by shader program when hovering ShaderProgramTreeElement
1976 https://bugs.webkit.org/show_bug.cgi?id=175223
1977
1978 Reviewed by Matt Baker.
1979
1980 * UserInterface/Models/ShaderProgram.js:
1981 (WI.ShaderProgram):
1982 (WI.ShaderProgram.prototype.showHighlight):
1983 (WI.ShaderProgram.prototype.hideHighlight):
1984
1985 * UserInterface/Views/ShaderProgramTreeElement.js:
1986 (WI.ShaderProgramTreeElement.prototype.onattach):
1987 (WI.ShaderProgramTreeElement.prototype._handleMouseOver):
1988 (WI.ShaderProgramTreeElement.prototype._handleMouseOut):
1989 Whenever a ShaderProgramTreeElement is hovered, highlight the corresponding shader program
1990 by tinting the pixels it draws via a blend.
1991
timothy@apple.come98b85b2018-03-28 02:51:18 +000019922018-03-27 Timothy Hatcher <timothy@apple.com>
1993
1994 Web Inspector: Modernize some utility functions
1995 https://bugs.webkit.org/show_bug.cgi?id=184047
1996
1997 Reviewed by Matt Baker.
1998
1999 * UserInterface/Base/Utilities.js:
2000 (Node.prototype.enclosingNodeOrSelfWithClass): Use parentElement instead of parentNode, so we don't need to check for document.
2001 (Node.prototype.enclosingNodeOrSelfWithNodeNameInArray): Ditto. Also just toUpperCase input, since nodeName is already upper case.
2002 (String.prototype.escapeCharacters): Use Set and string iteration instead of indexOf and charAt.
2003
nvasilyev@apple.comdae802b2018-03-27 19:30:59 +000020042018-03-27 Nikita Vasilyev <nvasilyev@apple.com>
2005
2006 Web Inspector: Command-Shift-left/right arrow keys should not switch tabs when focused on color picker text fields
2007 https://bugs.webkit.org/show_bug.cgi?id=184028
2008
2009 Reviewed by Timothy Hatcher.
2010
2011 * UserInterface/Views/EditingSupport.js:
2012 (WI.isEventTargetAnEditableField):
2013 Detect <input type="number"> as an editable text field.
2014
nvasilyev@apple.com716b2d82018-03-24 01:26:05 +000020152018-03-23 Nikita Vasilyev <nvasilyev@apple.com>
2016
2017 Web Inspector: Styles: don't show checkboxes for invalid properties
2018 https://bugs.webkit.org/show_bug.cgi?id=183951
2019 <rdar://problem/38807602>
2020
2021 Reviewed by Matt Baker.
2022
2023 Since toggling of invalid properties isn't supported by the backend, don't show checkboxes for invalid properties.
2024
2025 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
2026 (.spreadsheet-css-declaration:matches(:hover, :focus) .property:not(:matches(.invalid-name, .invalid-value)) .property-toggle,):
2027 (.spreadsheet-css-declaration:matches(:hover, :focus) .property-toggle,): Deleted.
2028 Don't show checkboxes for invalid properties but still show them for duplicate properties.
2029
bburg@apple.coma22a4472018-03-23 23:35:03 +000020302018-03-23 Brian Burg <bburg@apple.com>
2031
2032 Web Inspector: add WebKitAdditions hooks for WebInspectorUI
2033 https://bugs.webkit.org/show_bug.cgi?id=183940
2034 <rdar://problem/38796310>
2035
2036 Reviewed by Timothy Hatcher.
2037
2038 * Scripts/combine-resources.pl:
2039 (debugLog): Added. Leave in the logging I used to debug this.
2040
2041 (concatenateIncludedFilesMatchingPattern):
2042 (stripIncludedFilesMatchingPattern):
2043 (concatenateFiles): Deleted.
2044 This function tried to do too many things. Split it into
2045 two functions, one for stripping includes and one for concatenating
2046 files referenced by includes.
2047
2048 Lastly, add a negative lookahead clause for 'WebKitAdditions' so includes
2049 containing that string are not combined when no input directory is passed
2050 to the script.
2051
2052 * Scripts/copy-user-interface-resources.pl:
2053 WebKitAdditions is computed either from BUILT_PRODUCTS_DIR or SDKROOT,
2054 depending on the build style. Just try them in order and use the first
2055 one that exists. WebInspectorUI files are in their own directory, so
2056 we can assume there are files to process if that directory exists.
2057
2058 Copy Main.html to derived sources before doing any processing on it.
2059 This makes all combining phases have the same --input-html argument.
2060
2061 (debugLog): Added. Leave in the logging I used to debug this.
2062
2063 (combineOrStripResourcesForWebKitAdditions):
2064 (stripResourcesForWebKitAdditions):
2065 (combineResourcesForWebKitAdditions):
2066 Determine if WebKitAdditions exists and whether there are any
2067 resources for WebInspectorUI present that need to be processed.
2068
2069 * UserInterface/Main.html:
2070 Add stub .js and .css WebKitAdditions files. We can add more later
2071 if it makes sense but this is good enough to validate the build machinery.
2072
nvasilyev@apple.com60460032018-03-23 21:35:34 +000020732018-03-23 Nikita Vasilyev <nvasilyev@apple.com>
2074
2075 Web Inspector: Styles Redesign: flashing when switching between nodes
2076 https://bugs.webkit.org/show_bug.cgi?id=179291
2077 <rdar://problem/35352660>
2078
2079 Reviewed by Matt Baker.
2080
2081 Flashing was happening because the layout was a two-step process:
2082 1. Append empty sections.
2083 2. Layout everything inside of the section on requestAnimationFrame.
2084
2085 SpreadsheetRulesStyleDetailsPanel was converted to use layout method,
2086 so both steps happen on requestAnimationFrame.
2087
2088 * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:
2089 (WI.SpreadsheetRulesStyleDetailsPanel):
2090 (WI.SpreadsheetRulesStyleDetailsPanel.prototype.refresh):
2091 (WI.SpreadsheetRulesStyleDetailsPanel.prototype.layout):
2092 The removed lines from the refresh method moved to the layout method without any changes.
2093
nvasilyev@apple.com70cbb092018-03-23 01:00:43 +000020942018-03-22 Nikita Vasilyev <nvasilyev@apple.com>
2095
2096 Uncaught Exception: TypeError: this._textEditor.toggleUnexecutedCodeHighlights().then is not a function
2097 https://bugs.webkit.org/show_bug.cgi?id=181912
2098 <rdar://problem/36700022>
2099
2100 Reviewed by Matt Baker.
2101
2102 The uncaught exception was caused by returning `false` instead of a promise object.
2103 This patch only fixes the exception. Further enhancements should be done in <https://webkit.org/b/183887>.
2104
2105 * UserInterface/Views/SourceCodeTextEditor.js:
2106 (WI.SourceCodeTextEditor.prototype.toggleTypeAnnotations):
2107 (WI.SourceCodeTextEditor.prototype.toggleUnexecutedCodeHighlights):
2108
nvasilyev@apple.comf064a5c2018-03-21 04:47:45 +000021092018-03-20 Nikita Vasilyev <nvasilyev@apple.com>
2110
2111 Web Inspector: Styles: Loses focus when editing a property while page is being loaded
2112 https://bugs.webkit.org/show_bug.cgi?id=182619
2113 <rdar://problem/37363185>
2114
2115 Reviewed by Matt Baker.
2116
2117 Adding or removing a stylesheet causes SpreadsheetRulesStyleDetailsPanel to refresh, triggering a layout
2118 of all SpreadsheetCSSStyleDeclarationSection child views. This resets the focus, selection, and
2119 auto-completion state.
2120
2121 This patch prevents SpreadsheetCSSStyleDeclarationSection from performing a layout when a property is being edited.
2122
2123 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
2124 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.layout):
2125 Allow re-layout after creating a blank CSS property and pasting CSS code.
2126 - _pendingAddBlankPropertyIndexOffset is a number after pasting CSS rules.
2127 - _propertyPendingStartEditing is a property model after creating a new property.
2128
webkit@devinrousso.com34e47452018-03-21 03:40:17 +000021292018-03-20 Devin Rousso <webkit@devinrousso.com>
2130
2131 Web Inspector: Session dividers are not added when Console tab is not visible
2132 https://bugs.webkit.org/show_bug.cgi?id=168622
2133
2134 Reviewed by Matt Baker.
2135
2136 Restructure `_pendingMessages` to be a `Map [ConsoleSession, ConsoleMessageView]`. Instead
2137 of rendering to the `_currentConsoleGroup`, we now render to the saved `ConsoleSession`.
2138 Also ensure that `_pendingMessages` is cleared when navigating and "Preserve Log" is off.
2139
2140 * UserInterface/Controllers/JavaScriptLogViewController.js:
2141 (WI.JavaScriptLogViewController):
2142 (WI.JavaScriptLogViewController.prototype.startNewSession):
2143 (WI.JavaScriptLogViewController.prototype.consolePromptHistoryDidChange):
2144 (WI.JavaScriptLogViewController.prototype._appendConsoleMessageView):
2145 (WI.JavaScriptLogViewController.prototype.renderPendingMessages):
2146 (WI.JavaScriptLogViewController.prototype.get prompt): Deleted.
2147 (WI.JavaScriptLogViewController.prototype.get currentConsoleGroup): Deleted.
2148
nvasilyev@apple.com44e91b72018-03-20 08:22:03 +000021492018-03-20 Nikita Vasilyev <nvasilyev@apple.com>
2150
2151 Web Inspector: Can't add a new class by editing class attribute in DOM outline
2152 https://bugs.webkit.org/show_bug.cgi?id=180890
2153
2154 Reviewed by Ryosuke Niwa.
2155
2156 Typing "my-foo my-bar" creates a single "my-foo\xA0my-bar" class name because
2157 contentEditable-based attribute editor sometimes inserts non-breaking space characters (\xA0).
2158
2159 Replace all non-breaking space characters with the regular space characters when
2160 commiting attribute change.
2161
2162 * UserInterface/Views/DOMTreeElement.js:
2163
nvasilyev@apple.com248ab7c2018-03-16 23:43:41 +000021642018-03-16 Nikita Vasilyev <nvasilyev@apple.com>
2165
2166 Web Inspector: Elements: "Force Print Media Styles" should not persist across Web Inspector sessions
2167 https://bugs.webkit.org/show_bug.cgi?id=183708
2168 <rdar://problem/36452183>
2169
2170 Reviewed by Matt Baker.
2171
2172 * UserInterface/Base/Main.js:
2173 (WI.loaded):
2174 * UserInterface/Views/DOMTreeContentView.js:
2175 (WI.DOMTreeContentView):
2176 (WI.DOMTreeContentView.prototype._showPrintStylesChanged):
2177 (WI.DOMTreeContentView.prototype._togglePrintStyles):
2178 (WI.DOMTreeContentView.prototype._showPrintStylesSettingChanged): Deleted.
2179 (WI.DOMTreeContentView.prototype._togglePrintStylesSetting): Deleted.
2180
webkit@devinrousso.comca9b6312018-03-15 05:54:53 +000021812018-03-14 Devin Rousso <webkit@devinrousso.com>
2182
2183 Web Inspector: Canvas: a recording initiated by the user should be shown immediately on completion
2184 https://bugs.webkit.org/show_bug.cgi?id=183647
2185 <rdar://problem/38479187>
2186
2187 Reviewed by Matt Baker.
2188
2189 When recordings are initiated via `console.record`, we don't want to automatically show the
2190 recording after it's payload is sent to the frontend. We determine whether a recording came
2191 from the console by comparing the recording's associated canvas with the current value of
2192 `_recordingCanvas`. Previously, when stopping a recording, we would always null the value,
2193 which meant that all non-single-frame recordings (single-frame recordings are stopped by
2194 the agent after the first paint or tick after an action is performed) would be categorized
2195 as coming from the console, since `_recordingCanvas` would be null by the time the frontend
2196 recieved the payload.
2197
2198 This patch changes it so that the nulling of `_recordingCanvas` in `stopRecording` is only
2199 done if the agent command errors. It was already the case that `_recordingCanvas` was nulled
2200 in `stopRecording`, so this patch just prevents it from being nulled too early.
2201
2202 * UserInterface/Controllers/CanvasManager.js:
2203 (WI.CanvasManager.prototype.stopRecording):
2204
jond@apple.comc123fc32018-03-12 19:35:00 +000022052018-03-12 Jon Davis <jond@apple.com>
2206
2207 Web Inspector: Remove redundant tooltips
2208 https://bugs.webkit.org/show_bug.cgi?id=183099
2209
2210 Reviewed by Matt Baker.
2211
2212 * Localizations/en.lproj/localizedStrings.js:
2213 * UserInterface/Base/Main.js:
2214 (WI.contentLoaded):
2215 Instantiate ConsoleDrawer so the keyboard shortcuts for FindBanner are available.
2216
2217 * UserInterface/Views/BreakpointTreeElement.js:
2218 (WI.BreakpointTreeElement):
2219 Suppress tooltips by setting the tooltipHandledSeprately flag with no custom handler.
2220
2221 * UserInterface/Views/ButtonNavigationItem.js:
2222 (WI.ButtonNavigationItem):
2223 Only show tooltips when the button style is an image.
2224
2225 * UserInterface/Views/ConsoleDrawer.js:
2226 (WI.ConsoleDrawer):
2227 (WI.ConsoleDrawer.prototype.toggleButtonShortcutTooltip):
2228 Added helper to set the toggle button keyboard shortcut tooltip.
2229
2230 * UserInterface/Views/DOMBreakpointTreeElement.js:
2231 (WI.DOMBreakpointTreeElement):
2232 Suppress tooltips by setting the tooltipHandledSeprately flag with no custom handler.
2233
2234 * UserInterface/Views/DOMNodeTreeElement.js:
2235 (WI.DOMNodeTreeElement):
2236 Suppress tooltips by setting the tooltipHandledSeprately flag with no custom handler.
2237
2238 * UserInterface/Views/FindBanner.js:
2239 (WI.FindBanner):
2240 * UserInterface/Views/HierarchicalPathComponent.js:
2241 (WI.HierarchicalPathComponent):
2242 (WI.HierarchicalPathComponent.prototype.get tooltip):
2243 (WI.HierarchicalPathComponent.prototype.set tooltip):
2244 (WI.HierarchicalPathComponent.prototype.get hideTooltip):
2245 (WI.HierarchicalPathComponent.prototype.set hideTooltip):
2246 (WI.HierarchicalPathComponent.prototype._updateElementTitleAndText):
2247 Add tooltip management features to manage tooltips separately of the displayName,
2248 and provide a behavior to hide tooltips while retaining the tooltip data.
2249
2250 * UserInterface/Views/HierarchicalPathNavigationItem.js:
2251 (WI.HierarchicalPathNavigationItem.prototype.updateLayout):
2252 Hide tooltips when fully visible, show tooltips for collapsed items.
2253
2254 * UserInterface/Views/PinnedTabBarItem.js:
2255 (WI.PinnedTabBarItem.prototype.titleDidChange):
2256 Set tooltips for pinned tab bar items.
2257
2258 * UserInterface/Views/QuickConsole.js:
2259 (WI.QuickConsole):
2260 Set the ConsoleDrawer toggle button tooltip after the keyboard shortcut is registered.
2261
2262 * UserInterface/Views/StorageTreeElement.js:
2263 (WI.StorageTreeElement):
2264 Suppress tooltips by setting the tooltipHandledSeprately flag with no custom handler.
2265
2266 * UserInterface/Views/TabBarItem.js:
2267 (WI.TabBarItem.prototype.get title):
2268 (WI.TabBarItem.prototype.set title):
2269 (WI.TabBarItem.prototype.titleDidChange):
2270 (WI.TabBarItem):
2271 Add title property management with an overridable titleDidChange handler for
2272 setting tooltips when needed.
2273
2274 * UserInterface/Views/TimelineTreeElement.js:
2275 (WI.TimelineTreeElement):
2276 Suppress tooltips by setting the tooltipHandledSeprately flag with no custom handler.
2277
2278 * UserInterface/Views/ToggleButtonNavigationItem.js:
2279 (WI.ToggleButtonNavigationItem.prototype.set defaultToolTip):
2280 Added a setter for manging the default tooltip of a toggle button.
2281
2282 * UserInterface/Views/XHRBreakpointTreeElement.js:
2283 (WI.XHRBreakpointTreeElement):
2284 Suppress tooltips by setting the tooltipHandledSeprately flag with no custom handler.
2285
nvasilyev@apple.comcf2bf4d2018-03-10 01:24:24 +000022862018-03-09 Nikita Vasilyev <nvasilyev@apple.com>
2287
2288 Web Inspector: Sources: Open all resources in Sources tab instead of Resources/Debugger
2289 https://bugs.webkit.org/show_bug.cgi?id=183317
2290 <rdar://problem/38108455>
2291
2292 Reviewed by Matt Baker.
2293
2294 * Localizations/en.lproj/localizedStrings.js:
2295 * UserInterface/Base/Main.js:
2296 * UserInterface/Views/ContextMenuUtilities.js:
2297 (WI.appendContextMenuItemsForURL):
2298 Introduce preferredTabType option instead of listing ignoreResourcesTab, ignoreDebuggerTab, ignoreSearchTab, and ignoreNetworkTab.
2299 The only correct outcome of selecting "Reveal in Sources Tab" context menu is to open Sources tab, not any other tab.
2300
2301 * UserInterface/Views/SourceCodeTextEditor.js:
2302 (WI.SourceCodeTextEditor.prototype.textEditorGutterContextMenu):
2303 * UserInterface/Views/TabBrowser.js:
2304 (WI.TabBrowser.prototype.bestTabContentViewForRepresentedObject):
2305
nvasilyev@apple.comb2dd5972018-03-09 01:32:51 +000023062018-03-08 Nikita Vasilyev <nvasilyev@apple.com>
2307
2308 Web Inspector: Sources: add SourcesTabContentView and SourceSidebarPanel classes
2309 https://bugs.webkit.org/show_bug.cgi?id=183316
2310 <rdar://problem/38107639>
2311
2312 Reviewed by Matt Baker.
2313
2314 Add Sources tab and sidebar panel, which are copies of the corresponding Resources classes.
2315 The Sources tab is shown when it's enabled in the experimental settings. This patch doesn't
2316 remove existing Resources and Debugger tabs.
2317
2318 * UserInterface/Base/Main.js:
2319 (WI.contentLoaded):
2320 * UserInterface/Main.html:
2321 * UserInterface/Views/SourcesSidebarPanel.css: Added.
2322 (.sidebar > .panel.navigation.sources > .content):
2323 (.sidebar > .panel.navigation.sources > .navigation-bar):
2324 * UserInterface/Views/SourcesSidebarPanel.js: Added.
2325 (WI.SourcesSidebarPanel):
2326 (WI.SourcesSidebarPanel.shouldPlaceResourcesAtTopLevel):
2327 (WI.SourcesSidebarPanel.prototype.get minimumWidth):
2328 (WI.SourcesSidebarPanel.prototype.closed):
2329 (WI.SourcesSidebarPanel.prototype.showDefaultContentView):
2330 (WI.SourcesSidebarPanel.prototype.treeElementForRepresentedObject.isAncestor):
2331 (WI.SourcesSidebarPanel.prototype.treeElementForRepresentedObject.getParent):
2332 (WI.SourcesSidebarPanel.prototype.treeElementForRepresentedObject):
2333 (WI.SourcesSidebarPanel.prototype.initialLayout):
2334 (WI.SourcesSidebarPanel.prototype.hasCustomFilters):
2335 (WI.SourcesSidebarPanel.prototype.matchTreeElementAgainstCustomFilters.match):
2336 (WI.SourcesSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
2337 (WI.SourcesSidebarPanel.prototype._mainResourceDidChange):
2338 (WI.SourcesSidebarPanel.prototype._mainFrameDidChange):
2339 (WI.SourcesSidebarPanel.prototype._mainFrameMainResourceDidChange.delayedWork):
2340 (WI.SourcesSidebarPanel.prototype._mainFrameMainResourceDidChange):
2341 (WI.SourcesSidebarPanel.prototype._scriptWasAdded):
2342 (WI.SourcesSidebarPanel.prototype._addScript):
2343 (WI.SourcesSidebarPanel.prototype._scriptWasRemoved):
2344 (WI.SourcesSidebarPanel.prototype._scriptsCleared):
2345 (WI.SourcesSidebarPanel.prototype._styleSheetAdded):
2346 (WI.SourcesSidebarPanel.prototype._addTargetWithMainResource):
2347 (WI.SourcesSidebarPanel.prototype._targetRemoved):
2348 (WI.SourcesSidebarPanel.prototype._treeSelectionDidChange):
2349 (WI.SourcesSidebarPanel.prototype._compareTreeElements):
2350 (WI.SourcesSidebarPanel.prototype._extraDomainsActivated):
2351 (WI.SourcesSidebarPanel.prototype._scopeBarSelectionDidChange):
2352 * UserInterface/Views/SourcesTabContentView.js: Added.
2353 (WI.SourcesTabContentView):
2354 (WI.SourcesTabContentView.tabInfo):
2355 (WI.SourcesTabContentView.isTabAllowed):
2356 (WI.SourcesTabContentView.prototype.get type):
2357 (WI.SourcesTabContentView.prototype.get supportsSplitContentBrowser):
2358 (WI.SourcesTabContentView.prototype.canShowRepresentedObject):
2359
webkit@devinrousso.comd457ef42018-03-07 23:09:00 +000023602018-03-07 Devin Rousso <webkit@devinrousso.com>
2361
2362 Web Inspector: Canvas tab: ensure that the Recording TreeOutline has a specified height for virtualization
2363 https://bugs.webkit.org/show_bug.cgi?id=183015
2364
2365 Reviewed by Matt Baker.
2366
2367 * UserInterface/Views/CanvasSidebarPanel.js:
2368 (WI.CanvasSidebarPanel):
2369
2370 * UserInterface/Views/CanvasSidebarPanel.css:
2371 (.sidebar > .panel.navigation.canvas > .content):
2372 (.sidebar > .panel.navigation.canvas > .content > .navigation-bar):
2373 (.sidebar > .panel.navigation.canvas.has-recordings > .content > .recording-content):
2374 (.sidebar > .panel.navigation.canvas:not(.has-recordings) > .filter-bar,):
2375 (.sidebar > .panel.navigation.canvas > .content > .recording-content > .navigation-bar): Deleted.
2376 (.sidebar > .panel.navigation.canvas.has-recordings > .content > .tree-outline.canvas): Deleted.
2377
2378 * UserInterface/Views/TreeElement.js:
2379 (WI.TreeElement.prototype._detach):
2380
webkit@devinrousso.com0263b9a2018-02-26 23:52:09 +000023812018-02-26 Devin Rousso <webkit@devinrousso.com>
2382
2383 Web Inspector: Canvas Tab: Scroll into view / Inspect element if Canvas has DOM node
2384 https://bugs.webkit.org/show_bug.cgi?id=181769
2385
2386 Reviewed by Matt Baker.
2387
2388 * Localizations/en.lproj/localizedStrings.js:
2389
2390 * UserInterface/Images/Markup.svg: Added.
2391
2392 * UserInterface/Views/CanvasContentView.js:
2393 (WI.CanvasContentView):
2394 (WI.CanvasContentView.prototype.initialLayout):
2395 (WI.CanvasContentView.prototype._canvasElementButtonClicked):
2396
mattbaker@apple.com6b1a54a2018-02-20 02:04:30 +000023972018-02-19 Matt Baker <mattbaker@apple.com>
2398
2399 Web Inspector: Canvas tab: hide navigation sidebar when viewing the overview
2400 https://bugs.webkit.org/show_bug.cgi?id=182597
2401 <rdar://problem/37341564>
2402
2403 Reviewed by Devin Rousso.
2404
2405 Support showing/hiding the navigation sidebar panel based on the current
2406 represented object. Individual TabContentViews can opt-in to this behavior,
2407 by overriding TabContentView.prototype.managesNavigationSidebarPanel.
2408
2409 * UserInterface/Views/CanvasSidebarPanel.js:
2410 (WI.CanvasSidebarPanel.prototype.canShowRepresentedObject):
2411 * UserInterface/Views/CanvasTabContentView.js:
2412 (WI.CanvasTabContentView.prototype.get managesNavigationSidebarPanel):
2413 Hide the Canvas navigation sidebar when viewing the overview.
2414
2415 * UserInterface/Views/ContentBrowserTabContentView.js:
2416 (WI.ContentBrowserTabContentView):
2417 (WI.ContentBrowserTabContentView.prototype.showNavigationSidebarPanel):
2418 (WI.ContentBrowserTabContentView.prototype._navigationSidebarCollapsedStateDidChange):
2419 (WI.ContentBrowserTabContentView.prototype._contentBrowserCurrentRepresentedObjectsDidChange):
2420
2421 * UserInterface/Views/NavigationSidebarPanel.js:
2422 (WI.NavigationSidebarPanel.prototype.canShowRepresentedObject):
2423 Provide default implementation that just defers to the TabContentView.
2424 This exists so that a NavigationSidebarPanel that implements canShowRepresentedObject
2425 will have a meaningful default to fall back on.
2426
2427 * UserInterface/Views/TabBrowser.js:
2428 (WI.TabBrowser.prototype._sidebarCollapsedStateDidChange):
2429 (WI.TabBrowser.prototype._showNavigationSidebarPanelForTabContentView):
2430
2431 * UserInterface/Views/TabContentView.js:
2432 (WI.TabContentView.prototype.get managesNavigationSidebarPanel):
2433
mattbaker@apple.com50344de2018-02-16 20:59:55 +000024342018-02-16 Matt Baker <mattbaker@apple.com>
2435
mattbaker@apple.comedefb682018-02-16 22:06:01 +00002436 Web Inspector: TabBar redesign: remove top-level search field and pin the Search tab
2437 https://bugs.webkit.org/show_bug.cgi?id=182353
2438 <rdar://problem/37088644>
2439
2440 Reviewed by Devin Rousso.
2441
2442 * Localizations/en.lproj/localizedStrings.js:
2443
2444 * UserInterface/Base/Main.js:
2445 (WI.contentLoaded):
2446 Create Search UI based on experimental setting. When the new TabBar is
2447 enabled, the Search tab is a pinned tab. Since it is also saveable, it
2448 needs to be added to the TabBrowser (the browser adds the item to the bar).
2449
2450 When restoring saved tabs, make an additional check to prevent a tab
2451 from being added twice. This can occur now that the Search tab is pinned.
2452
2453 * UserInterface/Images/Search.svg:
2454 Update art to better match Safari/macOS. Slightly increase the radius of
2455 the lens, and shorten the length of the handle.
2456
2457 * UserInterface/Views/GoToLineDialog.css:
2458 (.go-to-line-dialog > div::before):
2459 Update styles for new Search icon.
2460
2461 * UserInterface/Views/LegacyTabBar.js:
2462 (WI.LegacyTabBar.prototype.get saveableTabCount):
2463 Backported new TabBar method which is called by TabBrowser.
2464
2465 * UserInterface/Views/OpenResourceDialog.css:
2466 (.open-resource-dialog > .field::before):
2467 Update styles for new Search icon.
2468
2469 * UserInterface/Views/PinnedTabBarItem.js:
2470 (WI.PinnedTabBarItem.prototype.fromTabInfo):
2471 Match GeneralTabBarItem.fromTabInfo.
2472
2473 * UserInterface/Views/SearchTabContentView.js:
2474 (WI.SearchTabContentView):
2475 (WI.SearchTabContentView.tabInfo):
2476 New image (magnifying glass without border) when new TabBar is enabled.
2477
2478 * UserInterface/Views/SettingsTabContentView.js:
2479 (WI.SettingsTabContentView):
2480
2481 * UserInterface/Views/TabBar.js:
2482 (WI.TabBar):
2483 Move creation of the Settings item out of TabBar. The TabBar should
2484 only be concerned with managing tabs.
2485
2486 (WI.TabBar.prototype.get saveableTabCount):
2487 (WI.TabBar.prototype._handleContextMenu):
2488 (WI.TabBar.prototype.get normalNonEphemeralTabCount): Deleted.
2489 Now that the Search tab is pinned, there aren't any normal tabs that
2490 are also ephemeral. For the LegacyTabBar, both the Search and New Tab
2491 tabs are still in this category.
2492
2493 * UserInterface/Views/TabBrowser.js:
2494 (WI.TabBrowser.prototype.addTabForContentView):
2495 (WI.TabBrowser.prototype.closeTabForContentView):
2496 (WI.TabBrowser.prototype._tabBarItemSelected):
2497 (WI.TabBrowser._tabBarItemRemoved):
2498 Recent tab list should be validated against the list of saveable tabs,
2499 since the Search tab is no longer a normal tab (a GeneralTabBarItem),
2500 but is still persisted across Inspector sessions.
2501
25022018-02-16 Matt Baker <mattbaker@apple.com>
2503
mattbaker@apple.com50344de2018-02-16 20:59:55 +00002504 Web Inspector: TabBar redesign: TabBarItem close button is incorrectly positioned
2505 https://bugs.webkit.org/show_bug.cgi?id=182844
2506 <rdar://problem/37586749>
2507
2508 Reviewed by Timothy Hatcher.
2509
2510 * UserInterface/Views/GeneralTabBarItem.js:
2511 (WI.GeneralTabBarItem.prototype.set title):
2512 Insert the title before the last flexible space item.
2513
2514 * UserInterface/Views/TabBar.css:
2515 (.tab-bar > .item):
2516 (.tab-bar > .item > .close):
2517 (.tab-bar > .item > .flex-space):
2518 (.tab-bar > .item.ephemeral > .flex-space:last-child):
2519 (.tab-bar.collapsed > .item):
2520 (.tab-bar.collapsed > .item > .flex-space):
2521 (.tab-bar.collapsed > .item > .close):
2522 (.tab-bar.collapsed > .item:hover > .close):
2523 (.tab-bar.collapsed > .item.ephemeral:hover > .icon):
2524 (.tab-bar > .item:hover > .close): Deleted.
2525 (.tab-bar:not(.collapsed) > .item.ephemeral:hover > .icon): Deleted.
2526
2527 * UserInterface/Views/TabBarItem.js:
2528 (WI.TabBarItem):
2529 Restore flexible space items before and after the icon.
2530
nvasilyev@apple.com0eb9f1a2018-02-14 22:45:50 +000025312018-02-14 Nikita Vasilyev <nvasilyev@apple.com>
2532
2533 Web Inspector: Styles: completion popover doesn't hide when switching panels
2534 https://bugs.webkit.org/show_bug.cgi?id=182464
2535 <rdar://problem/37202763>
2536
2537 Reviewed by Timothy Hatcher.
2538
2539 Save the position of the anchor, an element the popover is shown for, and hide the completion popover
2540 when the position changes.
2541
2542 * UserInterface/Views/CompletionSuggestionsView.js:
2543 (WI.CompletionSuggestionsView.prototype.showUntilAnchorMoves):
2544 When the popover is visible, check every 200ms if the anchor moved.
2545
2546 (WI.CompletionSuggestionsView.prototype.hide):
2547 * UserInterface/Views/SpreadsheetTextField.js:
2548 (WI.SpreadsheetTextField.prototype._updateCompletions):
2549 (WI.SpreadsheetTextField.prototype._getCaretRect):
2550 getBoundingClientRect returns {x: 0, y: 0} when it can't determine node's position.
2551 This happens when a node isn't attached to DOM, attached to DOM but not visible, and
2552 a number of odd cases.
2553
mattbaker@apple.com9ae2c002018-02-14 20:17:30 +000025542018-02-14 Matt Baker <mattbaker@apple.com>
2555
2556 Web Inspector: TabBar redesign: only show allowed tabs in the available tabs context menu
2557 https://bugs.webkit.org/show_bug.cgi?id=182721
2558 <rdar://problem/37479019>
2559
2560 Reviewed by Timothy Hatcher.
2561
2562 In addition to only including allowed tabs in the TabBar context menu,
2563 perform a sanity check when setting the selected tab item, since the
2564 serialized selection index could refer to a tab that is no longer allowed.
2565
2566 * UserInterface/Views/LegacyTabBar.js:
2567 (WI.LegacyTabBar.prototype.set selectedTabBarItem):
2568 (WI.LegacyTabBar.prototype._handleContextMenu):
2569
2570 * UserInterface/Views/TabBar.js:
2571 (WI.TabBar.prototype.set selectedTabBarItem):
2572 (WI.TabBar.prototype._handleContextMenu):
2573
mattbaker@apple.com2df6e952018-02-09 20:40:10 +000025742018-02-09 Matt Baker <mattbaker@apple.com>
2575
mattbaker@apple.com87a77562018-02-10 06:15:46 +00002576 Web Inspector: Canvas tab: tree selection abruptly changes when selecting a recording frame
2577 https://bugs.webkit.org/show_bug.cgi?id=182667
2578 <rdar://problem/37412639>
2579
2580 Reviewed by Devin Rousso.
2581
2582 * UserInterface/Views/CanvasSidebarPanel.css:
2583 (.sidebar > .panel.navigation.canvas > .content > .recording-content > .navigation-bar):
2584 (.sidebar > .panel.navigation.canvas:not(.has-recordings) > .filter-bar,):
2585 (.sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline .item.recording > .icon):
2586 (.sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline .item.folder-icon > .icon):
2587 (.sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline .item.folder-icon > .status):
2588 (.sidebar > .panel.navigation.canvas > .content > .navigation-bar): Deleted.
2589 (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.recording > .icon): Deleted.
2590 (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.folder-icon > .icon): Deleted.
2591 (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.folder-icon > .status): Deleted.
2592 Style changes for the additional DOM element required to virtualize the recording tree outline.
2593
2594 * UserInterface/Views/CanvasSidebarPanel.js:
2595 (WI.CanvasSidebarPanel):
2596 In order to be virtualized, the tree must be the only child of its parent.
2597
2598 (WI.CanvasSidebarPanel.prototype.set action):
2599 Ensure that a frame tree element isn't deselected when the last action
2600 in the frame becomes selected in the RecordingContentView.
2601
2602 (WI.CanvasSidebarPanel.prototype.shown):
2603 Refresh the sidebar, as represented objects may have changed while hidden.
2604
2605 (WI.CanvasSidebarPanel.prototype._currentRepresentedObjectsDidChange):
2606 Unset the recording when no valid represented objects are found, to
2607 prevent a stale recording tree from being shown when viewing the overview.
2608
2609 (WI.CanvasSidebarPanel.prototype._canvasChanged):
2610 (WI.CanvasSidebarPanel.prototype._recordingChanged):
2611 (WI.CanvasSidebarPanel.prototype._updateRecordingScopeBar):
2612 Moved toggling of the "has-recordings" style to _canvasChanged, since
2613 the navigation bar should be hidden when no canvas exists.
2614
2615 * UserInterface/Views/CollectionContentView.js:
2616 (WI.CollectionContentView.prototype.addContentViewForItem):
2617 (WI.CollectionContentView.prototype.removeContentViewForItem):
2618 Drive by fixes for child view visible state.
2619
2620 * UserInterface/Views/TreeOutline.css:
2621 (.tree-outline:not(.large):matches(:focus, .force-focus) .item.selected .status .indeterminate-progress-spinner):
2622 Make spinner easier to see against the selection background color.
2623
26242018-02-09 Matt Baker <mattbaker@apple.com>
2625
mattbaker@apple.com2df6e952018-02-09 20:40:10 +00002626 Web Inspector: Object.shallowEqual always fails when comparing array property values
2627 https://bugs.webkit.org/show_bug.cgi?id=182634
2628 <rdar://problem/37374639>
2629
2630 Reviewed by Devin Rousso.
2631
2632 Object.shallowEqual should use Array.shallowEqual when comparing property
2633 values, since strictly comparing objects/arrays is only true if both
2634 operands reference the same Object.
2635
2636 * UserInterface/Base/Utilities.js:
2637 (value):
2638
mattbaker@apple.comb8adaba2018-02-09 00:52:28 +000026392018-02-08 Matt Baker <mattbaker@apple.com>
2640
2641 Web Inspector: add listing of Canvases/Programs/Recordings to the NavigationSidebar
2642 https://bugs.webkit.org/show_bug.cgi?id=178744
2643 <rdar://problem/35374379>
2644
2645 Reviewed by Devin Rousso.
2646
2647 * Localizations/en.lproj/localizedStrings.js:
2648
2649 * UserInterface/Images/Canvas2D.svg:
2650 * UserInterface/Images/Canvas3D.svg:
2651 * UserInterface/Images/Recording.svg:
2652 Update canvas icons to be monochrome. Simplified the recording icon.
2653
2654 * UserInterface/Main.html:
2655
2656 * UserInterface/Models/RecordingAction.js:
2657 (WI.RecordingAction.prototype.get state):
2658 (WI.RecordingAction.prototype.set state):
2659 Allow (2D) snapshot state to be associated with the action. Used by
2660 RecordingActionDetailsSidebarPanel to retrieve the snapshot state.
2661
2662 * UserInterface/Views/CanvasContentView.css:
2663 (.content-view.canvas:not(.tab)):
2664 (.content-view.canvas:not(.tab) > .progress): Deleted.
2665 (.content-view.canvas:not(.tab) > .progress > .frame-count): Deleted.
2666
2667 * UserInterface/Views/CanvasContentView.js:
2668 (WI.CanvasContentView):
2669 (WI.CanvasContentView.prototype.get navigationItems):
2670 (WI.CanvasContentView.prototype.layout):
2671 (WI.CanvasContentView.prototype.shown):
2672 (WI.CanvasContentView.prototype._recordingStarted):
2673 (WI.CanvasContentView.prototype._recordingProgress):
2674 (WI.CanvasContentView.prototype._recordingStopped):
2675 (WI.CanvasContentView.prototype._updateRecordNavigationItem):
2676 (WI.CanvasContentView.prototype._updateProgressView):
2677 Replace progress UI with a reusable ProgressView class.
2678 When in the overview, clicking the CanvasContentView shows a dedicated
2679 CanvasContentView for inspecting shaders and recordings. This behavior
2680 is controlled by CollectionContentView, so we need to prevent it when
2681 clicking inside the header and footer elements, which contain clickable UI.
2682
2683 * UserInterface/Views/CanvasDetailsSidebarPanel.js:
2684 (WI.CanvasDetailsSidebarPanel.prototype.inspect):
2685
2686 * UserInterface/Views/CanvasOverviewContentView.css:
2687 (.content-view.canvas-overview .content-view.canvas):
2688 (.content-view.canvas-overview .content-view.canvas.is-recording):
2689 (.content-view.canvas-overview .content-view.canvas > :matches(header, footer)):
2690 (.content-view.canvas-overview .content-view.canvas > header):
2691 (.content-view.canvas-overview .content-view.canvas.is-recording > header):
2692 (.content-view.canvas-overview .content-view.canvas > header > .navigation-bar):
2693 (.content-view.canvas-overview .content-view.canvas:matches(:hover, .is-recording) > header > .navigation-bar):
2694 (.content-view.canvas-overview .content-view.canvas.is-recording > .progress-view,):
2695 (.content-view.canvas-overview .content-view.canvas.is-recording > .preview):
2696 (.content-view.canvas-overview .content-view.canvas > :matches(header, .progress, .preview, footer)): Deleted.
2697 (.content-view.canvas-overview .content-view.canvas.selected > :matches(.progress, .preview, footer),): Deleted.
2698 (.content-view.canvas-overview .content-view.canvas:not(:hover, .is-recording, .selected) > header > .navigation-bar): Deleted.
2699 (.content-view.canvas-overview .content-view.canvas > :matches(.progress, .preview)): Deleted.
2700 (.content-view.canvas-overview .content-view.canvas > .preview): Deleted.
2701 (.content-view.canvas-overview .content-view.canvas > .progress ~ .preview): Deleted.
2702 Clean up styles, and remove selection styles as canvases are no longer selectable in the overview.
2703
2704 * UserInterface/Views/CanvasOverviewContentView.js:
2705 (WI.CanvasOverviewContentView):
2706 (WI.CanvasOverviewContentView.prototype.get navigationItems):
2707 (WI.CanvasOverviewContentView.prototype.attached):
2708 (WI.CanvasOverviewContentView.prototype.detached):
2709 (WI.CanvasOverviewContentView.prototype.get selectionPathComponents): Deleted.
2710 (WI.CanvasOverviewContentView.prototype._changeSelectedItemVertically): Deleted.
2711 (WI.CanvasOverviewContentView.prototype._changeSelectedItemHorizontally): Deleted.
2712 (WI.CanvasOverviewContentView.prototype._selectionPathComponentsChanged): Deleted.
2713 (WI.CanvasOverviewContentView.prototype._handleUp): Deleted.
2714 (WI.CanvasOverviewContentView.prototype._handleRight): Deleted.
2715 (WI.CanvasOverviewContentView.prototype._handleDown): Deleted.
2716 (WI.CanvasOverviewContentView.prototype._handleLeft): Deleted.
2717 (WI.CanvasOverviewContentView.prototype._handleSpace): Deleted.
2718 (WI.CanvasOverviewContentView.prototype._supplementalRepresentedObjectsDidChange): Deleted.
2719 Disable canvas selection. Remove logic for supplemental represented objects,
2720 path components, and selection keyboard shortcuts.
2721
2722 * UserInterface/Views/CanvasSidebarPanel.css: Added.
2723 (.sidebar > .panel.navigation.canvas > .content):
2724 (.sidebar > .panel.navigation.canvas > .navigation-bar > .item.record-start-stop.disabled):
2725 (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.canvas.canvas-2d .icon):
2726 (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.canvas.webgl .icon):
2727 (.sidebar > .panel.navigation.canvas > .content > .navigation-bar):
2728 (.sidebar > .panel.navigation.canvas.has-recordings > .content > .tree-outline.canvas):
2729 (.sidebar > .panel.navigation.canvas:not(.has-recordings) > .filter-bar,):
2730 (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.recording > .icon):
2731 (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.shader-program > .icon):
2732 (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.folder-icon > .icon):
2733 (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.folder-icon > .status):
2734
2735 * UserInterface/Views/CanvasSidebarPanel.js: Added.
2736 (WI.CanvasSidebarPanel):
2737 (WI.CanvasSidebarPanel.prototype.get canvas):
2738 (WI.CanvasSidebarPanel.prototype.set canvas):
2739 (WI.CanvasSidebarPanel.prototype.set recording):
2740 (WI.CanvasSidebarPanel.prototype.set action):
2741 (WI.CanvasSidebarPanel.prototype.shown):
2742 (WI.CanvasSidebarPanel.prototype.hidden):
2743 (WI.CanvasSidebarPanel.prototype.hasCustomFilters):
2744 (WI.CanvasSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
2745 (WI.CanvasSidebarPanel.prototype.initialLayout):
2746 (WI.CanvasSidebarPanel.prototype._recordingAdded):
2747 (WI.CanvasSidebarPanel.prototype._recordingRemoved):
2748 (WI.CanvasSidebarPanel.prototype._scopeBarSelectionChanged):
2749 (WI.CanvasSidebarPanel.prototype._toggleRecording):
2750 (WI.CanvasSidebarPanel.prototype._currentRepresentedObjectsDidChange):
2751 (WI.CanvasSidebarPanel.prototype._treeOutlineSelectionDidChange):
2752 (WI.CanvasSidebarPanel.prototype._canvasChanged):
2753 (WI.CanvasSidebarPanel.prototype._recordingChanged):
2754 (WI.CanvasSidebarPanel.prototype._updateRecordNavigationItem):
2755 (WI.CanvasSidebarPanel.prototype._updateRecordingScopeBar):
2756 Add new navigation sidebar, split into two sections. The upper section
2757 contains a tree with a single element for the current canvas, and child
2758 elements for any shader programs. The maximum height of this section is 50%
2759 of the sidebar's height. The lower section contains a tree for the selected
2760 recording, and a scope bar for choosing between recordings.
2761
2762 * UserInterface/Views/CanvasTabContentView.css:
2763 (.content-view.tab.canvas .navigation-bar > .item .canvas-overview .icon):
2764 (.content-view.tab.canvas .navigation-bar > .item .canvas.canvas-2d .icon):
2765 (.content-view.tab.canvas .navigation-bar > .item .canvas.webgl .icon):
2766 (.content-view.tab.canvas .navigation-bar > .item .shader-program > .icon):
2767 (.content-view.tab.canvas .navigation-bar > .item > .hierarchical-path-component > .icon): Deleted.
2768 (.content-view.tab.canvas .navigation-bar > .item .canvas .icon): Deleted.
2769
2770 * UserInterface/Views/CanvasTabContentView.js:
2771 (WI.CanvasTabContentView):
2772 (WI.CanvasTabContentView.prototype.canShowRepresentedObject):
2773 (WI.CanvasTabContentView.prototype.attached):
2774 (WI.CanvasTabContentView.prototype._addCanvas):
2775 (WI.CanvasTabContentView.prototype._removeCanvas):
2776 (WI.CanvasTabContentView.prototype._canvasTreeOutlineSelectionDidChange):
2777 (WI.CanvasTabContentView.prototype._recordingAdded):
2778 (WI.CanvasTabContentView.prototype._handleSpace):
2779 (WI.CanvasTabContentView.prototype.showRepresentedObject): Deleted.
2780 (WI.CanvasTabContentView.prototype._navigationSidebarTreeOutlineSelectionChanged): Deleted.
2781 (WI.CanvasTabContentView.prototype._recordingActionIndexChanged): Deleted.
2782 (WI.CanvasTabContentView.prototype._updateActionIndex): Deleted.
2783 The canvas tab now maintains a tree outline of all canvases, with an
2784 "Overview" element as the root. The Overview element is always the first
2785 item of content browser's hierarchical path.
2786
2787 * UserInterface/Views/CanvasTreeElement.js:
2788 (WI.CanvasTreeElement.createRecordingTreeElement):
2789 (WI.CanvasTreeElement):
2790 (WI.CanvasTreeElement.prototype.onattach):
2791 (WI.CanvasTreeElement.prototype.onpopulate):
2792 (WI.CanvasTreeElement.prototype._updateStatus):
2793 (WI.CanvasTreeElement.prototype.ondetach): Deleted.
2794 Make it possible to not show recordings under the Canvas element.
2795 Create `isRecording` status element (spinner).
2796
2797 * UserInterface/Views/CollectionContentView.js:
2798 (WI.CollectionContentView.prototype.shown):
2799 (WI.CollectionContentView.prototype.hidden):
2800 Child ContentViews need to be updated when the collection's visibility changes.
2801
2802 * UserInterface/Views/ContentView.js:
2803 (WI.ContentView.isViewable):
2804
2805 * UserInterface/Views/ProgressView.css: Added.
2806 (.progress-view):
2807 (.progress-view > .titles):
2808 (.progress-view > .titles > .title):
2809 (.progress-view > .titles > .subtitle):
2810 (.progress-view > .titles > .subtitle::before):
2811 (.progress-view > .indeterminate-progress-spinner):
2812
2813 * UserInterface/Views/ProgressView.js: Added.
2814 (WI.ProgressView):
2815 (WI.ProgressView.prototype.get title):
2816 (WI.ProgressView.prototype.set title):
2817 (WI.ProgressView.prototype.get subtitle):
2818 (WI.ProgressView.prototype.set subtitle):
2819 (WI.ProgressView.prototype.get visible):
2820 (WI.ProgressView.prototype.set visible):
2821 (WI.ProgressView.prototype.initialLayout):
2822 (WI.ProgressView.prototype._updateTitles):
2823 New view class (not a ContentView) for showing a generic progress message,
2824 with a title, subtitle, and progress spinner.
2825
2826 * UserInterface/Views/RecordingContentView.css:
2827 (.content-view:not(.tab).recording > .preview-container):
2828 Remove unnecessary styles.
2829
2830 * UserInterface/Views/RecordingContentView.js:
2831 (WI.RecordingContentView):
2832 (WI.RecordingContentView.prototype.get navigationItems):
2833 (WI.RecordingContentView.prototype.get supplementalRepresentedObjects):
2834 (WI.RecordingContentView.prototype.updateActionIndex):
2835 (WI.RecordingContentView.prototype.get saveData):
2836 (WI.RecordingContentView.prototype._exportRecording):
2837 Relocate the recording export logic and UI.
2838 (WI.RecordingContentView.prototype.async._generateContentCanvas2D):
2839 (WI.RecordingContentView.prototype.async._generateContentCanvasWebGL):
2840 (WI.RecordingContentView.prototype._sliderChanged):
2841 Refactor logic for notifying the rest of the UI of changes to the action slider.
2842 The selected action is now exposed as a supplemental represented object, and a
2843 corresponding SupplementalRepresentedObjectsDidChange event.
2844
2845 * UserInterface/Views/RecordingStateDetailsSidebarPanel.js:
2846 (WI.RecordingStateDetailsSidebarPanel.prototype.inspect):
2847 (WI.RecordingStateDetailsSidebarPanel.prototype.set action):
2848 (WI.RecordingStateDetailsSidebarPanel.prototype._generateDetailsCanvas2D):
2849 (WI.RecordingStateDetailsSidebarPanel):
2850 (WI.RecordingStateDetailsSidebarPanel.prototype.updateAction): Deleted.
2851
2852 * UserInterface/Views/RecordingTraceDetailsSidebarPanel.js:
2853 (WI.RecordingTraceDetailsSidebarPanel.prototype.inspect):
2854 (WI.RecordingTraceDetailsSidebarPanel.prototype.set action):
2855 (WI.RecordingTraceDetailsSidebarPanel):
2856 (WI.RecordingTraceDetailsSidebarPanel.prototype.updateAction): Deleted.
2857 Now that the selected action is exposed to the UI as a supplemental
2858 represented object, details sidebars can be more decoupled from the
2859 canvas tab, and be notified of changes to the selection via `inspect()`.
2860
2861 * UserInterface/Views/ResourceIcons.css:
2862 (.canvas > .icon): Deleted.
2863 (.shader-program .icon): Deleted.
2864
nvasilyev@apple.comc3a927d2018-02-08 23:18:28 +000028652018-02-08 Nikita Vasilyev <nvasilyev@apple.com>
2866
2867 Web Inspector: Styles: Typing value and quickly moving focus away may display outdated value in UI
2868 https://bugs.webkit.org/show_bug.cgi?id=182588
2869 <rdar://problem/37332161>
2870
2871 Reviewed by Matt Baker.
2872
2873 CSSProperty models were updated with a 250ms delay. Quickly adding a blank property after modifying
2874 an existing property could result in outdated values being shown.
2875
2876 This patch removes the 250ms delay.
2877
2878 * UserInterface/Views/SpreadsheetStyleProperty.js:
2879 (WI.SpreadsheetStyleProperty.prototype.spreadsheetTextFieldDidChange):
2880
mattbaker@apple.com029ef7a2018-02-08 00:58:25 +000028812018-02-07 Matt Baker <mattbaker@apple.com>
2882
2883 Web Inspector: replace isAncestor with Node.contains() in LegacyTabBar
2884 https://bugs.webkit.org/show_bug.cgi?id=182586
2885
2886 Reviewed by Timothy Hatcher.
2887
2888 * UserInterface/Views/LegacyTabBar.js:
2889
nvasilyev@apple.com92717732018-02-07 19:01:16 +000028902018-02-07 Nikita Vasilyev <nvasilyev@apple.com>
2891
2892 Web Inspector: Styles: completion popover doesn't hide when switching panels
2893 https://bugs.webkit.org/show_bug.cgi?id=182464
2894 <rdar://problem/37202763>
2895
2896 Reviewed by Timothy Hatcher.
2897
2898 Hide completion popover by triggering blur event on the focused text field.
2899 Removing text fields from the DOM tree would hide the completion popovers as well,
2900 but switching sidebar panels doesn't remove them from the DOM.
2901
2902 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
2903 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.hidden):
2904 * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
2905 (WI.SpreadsheetCSSStyleDeclarationSection.prototype.hidden):
2906 * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:
2907 (WI.SpreadsheetRulesStyleDetailsPanel.prototype.hidden):
2908 * UserInterface/Views/SpreadsheetStyleProperty.js:
2909 (WI.SpreadsheetStyleProperty.prototype.hidden):
2910
webkit@devinrousso.come1775ce2018-02-07 03:20:01 +000029112018-02-06 Devin Rousso <webkit@devinrousso.com>
2912
webkit@devinrousso.com7f34f522018-02-07 03:27:00 +00002913 Web Inspector: Replace isAncestor and isDescendant with native DOM contains method
2914 https://bugs.webkit.org/show_bug.cgi?id=182069
2915
2916 Reviewed by Brian Burg.
2917
2918 * UserInterface/Base/Main.js:
2919 (WI.restoreFocusFromElement):
2920 (WI._mouseDown):
2921 (WI._focusedContentBrowser):
2922 (WI._focusedContentView):
2923 * UserInterface/Base/Utilities.js:
2924 (Node.prototype.traverseNextNode):
2925 (Node.prototype.isAncestor): Deleted.
2926 (Node.prototype.isDescendant): Deleted.
2927 (Node.prototype.isSelfOrAncestor): Deleted.
2928 (Node.prototype.isSelfOrDescendant): Deleted.
2929 * UserInterface/Views/BoxModelDetailsSectionRow.js:
2930 (WI.BoxModelDetailsSectionRow.prototype._handleKeyDown):
2931 * UserInterface/Views/CSSStyleDeclarationSection.js:
2932 (WI.CSSStyleDeclarationSection.prototype._handleSelectorPaste):
2933 * UserInterface/Views/DOMTreeOutline.js:
2934 (WI.DOMTreeOutline.prototype._onmouseout):
2935 * UserInterface/Views/DetailsSection.js:
2936 (WI.DetailsSection.prototype._headerElementClicked):
2937 * UserInterface/Views/EditingSupport.js:
2938 (WI.incrementElementValue):
2939 * UserInterface/Views/LogContentView.js:
2940 (WI.LogContentView.prototype._handleContextMenuEvent):
2941 * UserInterface/Views/ShaderProgramTreeElement.js:
2942 (WI.ShaderProgramTreeElement.prototype.selectOnMouseDown):
2943 * UserInterface/Views/SoftContextMenu.js:
2944 (WI.SoftContextMenu.prototype._menuItemMouseOut):
2945 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
2946 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.initialLayout):
2947 * UserInterface/Views/TabBar.js:
2948 (WI.TabBar.prototype.insertTabBarItem):
2949
29502018-02-06 Devin Rousso <webkit@devinrousso.com>
2951
webkit@devinrousso.come1775ce2018-02-07 03:20:01 +00002952 Web Inspector: Elements tab should have "Jump to Layer" functionality
2953 https://bugs.webkit.org/show_bug.cgi?id=181800
2954
2955 Reviewed by Joseph Pecoraro.
2956
2957 * Localizations/en.lproj/localizedStrings.js:
2958
2959 * UserInterface/Base/Main.js:
2960 (WI.isShowingElementsTab):
2961 (WI.showLayersTab):
2962 (WI.isShowingLayersTab):
2963
2964 * UserInterface/Views/ContextMenuUtilities.js:
2965 (WI.appendContextMenuItemsForDOMNode):
2966
2967 * UserInterface/Views/LayersTabContentView.js:
2968 (WI.LayersTabContentView.prototype.selectLayerForNode):
2969
2970 * UserInterface/Views/Layers3DContentView.js:
2971 (WI.Layers3DContentView):
2972 (WI.Layers3DContentView.prototype.selectLayerForNode):
2973 (WI.Layers3DContentView.prototype.layout):
2974
2975 * UserInterface/Views/LayerDetailsSidebarPanel.js:
2976 (WI.LayerDetailsSidebarPanel):
2977 (WI.LayerDetailsSidebarPanel.prototype.selectNodeByLayerId):
2978 (WI.LayerDetailsSidebarPanel.prototype._updateDataGrid):
2979
nvasilyev@apple.coma9e56da2018-02-07 03:05:54 +000029802018-02-06 Nikita Vasilyev <nvasilyev@apple.com>
2981
2982 Web Inspector: Rename String.prototype.trimEnd to avoid conflicts with native trimEnd
2983 https://bugs.webkit.org/show_bug.cgi?id=182545
2984
2985 Reviewed by Brian Burg.
2986
2987 Rename:
2988 - trimEnd to truncateEnd
2989 - trimMiddle to truncateMiddle
2990
2991 * UserInterface/Base/Utilities.js:
2992 (String.prototype.trimMiddle): Deleted.
2993 (String.prototype.trimEnd): Deleted.
2994 (String.prototype.truncateMiddle): Added.
2995 (String.prototype.truncateEnd): Added.
2996 Use strict mode. Scrict mode allows `this` to be a primitive (a string, in our case).
2997 In non-strict mode, `this` is always an object. Without the strict mode,
2998 "a".truncateEnd(42) !== "a", because truncateEnd returns a string object.
2999
3000 * UserInterface/Views/DOMTreeElement.js:
3001 (WI.DOMTreeElement.prototype._buildAttributeDOM):
3002 * UserInterface/Views/DOMTreeElementPathComponent.js:
3003 (WI.DOMTreeElementPathComponent):
3004 * UserInterface/Views/SearchResultTreeElement.js:
3005 Remove an obvious comment.
3006
3007 (WI.SearchResultTreeElement.truncateAndHighlightTitle):
3008 * UserInterface/Views/SpreadsheetStyleProperty.js:
3009 (WI.SpreadsheetStyleProperty.prototype._renderValue):
3010
nvasilyev@apple.com2b126eb2018-02-05 22:37:51 +000030112018-02-05 Nikita Vasilyev <nvasilyev@apple.com>
3012
3013 Web Inspector: Add an experimental setting to enable Sources tab
3014 https://bugs.webkit.org/show_bug.cgi?id=182461
3015
3016 Reviewed by Brian Burg.
3017
3018 This patch only adds a setting. It doesn't add the Sources tab.
3019
3020 * Localizations/en.lproj/localizedStrings.js:
3021 * UserInterface/Base/Setting.js:
3022 * UserInterface/Views/SettingsTabContentView.js:
3023
webkit@devinrousso.comdb33a6a2018-02-02 22:52:56 +000030242018-02-02 Devin Rousso <webkit@devinrousso.com>
3025
3026 Web Inspector: Styles Redesign: Pasting multiple properties should create properties instead of a bad property
3027 https://bugs.webkit.org/show_bug.cgi?id=179622
3028 <rdar://problem/35511170>
3029
3030 Reviewed by Matt Baker.
3031
3032 * UserInterface/Views/SpreadsheetStyleProperty.js:
3033 (WI.SpreadsheetStyleProperty.prototype._remove):
3034 (WI.SpreadsheetStyleProperty.prototype._update):
3035 (WI.SpreadsheetStyleProperty.prototype.spreadsheetTextFieldDidCommit):
3036 (WI.SpreadsheetStyleProperty.prototype._handleNamePaste):
3037 When the user pastes into the name field, parse the text for a list of name-value pairs and
3038 replace the property being edited with the text of those pairs.
3039
3040 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
3041 (WI.SpreadsheetCSSStyleDeclarationEditor):
3042 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.layout):
3043 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.addBlankProperty):
3044 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyFocusMoved):
3045 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyAddBlankPropertySoon):
3046 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyRemoved):
3047 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._propertiesChanged):
3048 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetCSSStyleDeclarationEditorFocusMoved): Deleted.
3049 Calling `addBlankProperty` will trigger a layout on the next frame, but that might be before
3050 the CSSAgent has had a chance to finish refreshing, so we need a way to defer the creation
3051 of a new property until after we have finished the next layout (which is after the refresh).
3052 Drive-by: fix naming of some delegate functions.
3053
3054 * UserInterface/Models/CSSProperty.js:
3055 (WI.CSSProperty.prototype.replaceWithText):
3056 Provide a way for replacing the property with new text.
3057
mattbaker@apple.com0ea61b62018-02-02 21:04:52 +000030582018-02-02 Matt Baker <mattbaker@apple.com>
3059
3060 Web Inspector: TabBar redesign: remove New Tab button and add experimental feature flag
3061 https://bugs.webkit.org/show_bug.cgi?id=182342
3062 <rdar://problem/37078662>
3063
3064 Reviewed by Devin Rousso.
3065
3066 This patch adds a new experimental setting group, "User Interface", with
3067 a single setting, "Enable New TabBar". When enabled, the New Tab button is
3068 no longer available in the top-level TabBar. The 'open tabs' context menu
3069 no longer allows the last non-ephemeral open tab to be closed (unchecked).
3070
3071 * Localizations/en.lproj/localizedStrings.js:
3072
3073 * UserInterface/Base/Main.js:
3074 (WI.contentLoaded):
3075 (WI._tryToRestorePendingTabs):
3076 Retain legacy behavior behind experimental feature setting.
3077 (WI.isNewTabWithTypeAllowed):
3078
3079 * UserInterface/Base/Setting.js:
3080 * UserInterface/Main.html:
3081
3082 * UserInterface/Views/CanvasTabContentView.js:
3083 (WI.CanvasTabContentView):
3084 * UserInterface/Views/ConsoleTabContentView.js:
3085 (WI.ConsoleTabContentView):
3086 * UserInterface/Views/DebuggerTabContentView.js:
3087 (WI.DebuggerTabContentView):
3088 * UserInterface/Views/ElementsTabContentView.js:
3089 (WI.ElementsTabContentView):
3090
3091 * UserInterface/Views/GeneralTabBarItem.js:
3092 (WI.GeneralTabBarItem):
3093 (WI.GeneralTabBarItem.prototype.fromTabInfo):
3094 (WI.GeneralTabBarItem.prototype.get isEphemeral):
3095 (WI.GeneralTabBarItem.fromTabContentViewConstructor): Deleted.
3096
3097 * UserInterface/Views/LayersTabContentView.js:
3098 (WI.LayersTabContentView):
3099
3100 * UserInterface/Views/LegacyTabBar.js: Copied from Source/WebInspectorUI/UserInterface/Views/TabBar.js.
3101 (WI.LegacyTabBar):
3102 (WI.LegacyTabBar.prototype.get newTabTabBarItem):
3103 (WI.LegacyTabBar.prototype.updateNewTabTabBarItemState):
3104 (WI.LegacyTabBar.prototype.addTabBarItem):
3105 (WI.LegacyTabBar.prototype.insertTabBarItem.animateTabs):
3106 (WI.LegacyTabBar.prototype.insertTabBarItem.removeStyles):
3107 (WI.LegacyTabBar.prototype.insertTabBarItem):
3108 (WI.LegacyTabBar.prototype.removeTabBarItem.animateTabs):
3109 (WI.LegacyTabBar.prototype.removeTabBarItem.removeStyles):
3110 (WI.LegacyTabBar.prototype.removeTabBarItem):
3111 (WI.LegacyTabBar.prototype.selectPreviousTab):
3112 (WI.LegacyTabBar.prototype.selectNextTab):
3113 (WI.LegacyTabBar.prototype.get selectedTabBarItem):
3114 (WI.LegacyTabBar.prototype.set selectedTabBarItem):
3115 (WI.LegacyTabBar.prototype.get tabBarItems):
3116 (WI.LegacyTabBar.prototype.get normalTabCount):
3117 (WI.LegacyTabBar.prototype.layout.forceItemHidden):
3118 (WI.LegacyTabBar.prototype.layout):
3119 (WI.LegacyTabBar.prototype._tabBarItemsFromLeftToRight):
3120 (WI.LegacyTabBar.prototype._findTabBarItem):
3121 (WI.LegacyTabBar.prototype._hasMoreThanOneNormalTab):
3122 (WI.LegacyTabBar.prototype._openDefaultTab):
3123 (WI.LegacyTabBar.prototype._recordTabBarItemSizesAndPositions):
3124 (WI.LegacyTabBar.prototype._applyTabBarItemSizesAndPositions):
3125 (WI.LegacyTabBar.prototype._clearTabBarItemSizesAndPositions):
3126 (WI.LegacyTabBar.prototype._finishExpandingTabsAfterClose.):
3127 (WI.LegacyTabBar.prototype._finishExpandingTabsAfterClose):
3128 (WI.LegacyTabBar.prototype._handleMouseDown):
3129 (WI.LegacyTabBar.prototype._handleClick):
3130 (WI.LegacyTabBar.prototype._handleMouseMoved):
3131 (WI.LegacyTabBar.prototype._handleMouseUp):
3132 (WI.LegacyTabBar.prototype._handleMouseLeave):
3133 (WI.LegacyTabBar.prototype._handleContextMenu):
3134 (WI.LegacyTabBar.prototype._handleNewTabClick):
3135 (WI.LegacyTabBar.prototype._handleTabPickerTabContextMenu):
3136 (WI.LegacyTabBar.prototype._handleNewTabMouseEnter):
3137
3138 * UserInterface/Views/NetworkTabContentView.js:
3139 (WI.NetworkTabContentView):
3140 * UserInterface/Views/NewTabContentView.js:
3141 (WI.NewTabContentView):
3142 (WI.NewTabContentView.tabInfo):
3143 (WI.NewTabContentView.isEphemeral): Deleted.
3144 * UserInterface/Views/ResourcesTabContentView.js:
3145 (WI.ResourcesTabContentView):
3146 * UserInterface/Views/SearchTabContentView.js:
3147 (WI.SearchTabContentView):
3148 (WI.SearchTabContentView.tabInfo):
3149 (WI.SearchTabContentView.isEphemeral): Deleted.
3150
3151 * UserInterface/Views/SettingsTabContentView.js:
3152 (WI.SettingsTabContentView.tabInfo):
3153 (WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
3154 (WI.SettingsTabContentView.isEphemeral): Deleted.
3155
3156 * UserInterface/Views/StorageTabContentView.js:
3157 (WI.StorageTabContentView):
3158
3159 * UserInterface/Views/TabBar.css:
3160 * UserInterface/Views/TabBar.js:
3161 (WI.TabBar):
3162 (WI.TabBar.prototype.insertTabBarItem):
3163 (WI.TabBar.prototype.removeTabBarItem):
3164 (WI.TabBar.prototype.set selectedTabBarItem):
3165 (WI.TabBar.prototype.get normalNonEphemeralTabCount):
3166 (WI.TabBar.prototype._handleMouseDown):
3167 (WI.TabBar.prototype._handleClick):
3168 (WI.TabBar.prototype._handleMouseMoved):
3169 (WI.TabBar.prototype._handleMouseLeave):
3170 (WI.TabBar.prototype._handleContextMenu):
3171 (WI.TabBar.prototype._handleTabPickerTabContextMenu):
3172 (WI.TabBar.prototype.get newTabTabBarItem): Deleted.
3173 (WI.TabBar.prototype.updateNewTabTabBarItemState): Deleted.
3174 (WI.TabBar.prototype._openDefaultTab): Deleted.
3175 (WI.TabBar.prototype._handleNewTabClick): Deleted.
3176 (WI.TabBar.prototype._handleNewTabMouseEnter): Deleted.
3177 Remove support for the New Tab button and default tab. Without a default
3178 tab, there is nothing to display when no tabs are open, so prevent the
3179 last non-pinned tab from being removed.
3180
3181 * UserInterface/Views/TabBrowser.js:
3182 (WI.TabBrowser._tabBarItemRemoved):
3183 * UserInterface/Views/TabContentView.js:
3184 (WI.TabContentView.isEphemeral): Deleted.
3185 * UserInterface/Views/TimelineTabContentView.js:
3186 (WI.TimelineTabContentView):
3187
webkit@devinrousso.com594aa702018-01-31 00:39:18 +000031882018-01-30 Devin Rousso <webkit@devinrousso.com>
3189
3190 Web Inspector: Replace Object.shallowMerge with ES2018 spread operator
3191 https://bugs.webkit.org/show_bug.cgi?id=182219
3192
3193 Reviewed by Brian Burg.
3194
3195 * UserInterface/Base/Utilities.js:
3196 (Object.shallowMerge): Deleted.
3197 * UserInterface/Base/DOMUtilities.js:
3198 (WI.linkifyNodeReference):
3199 * UserInterface/Base/Main.js:
3200 (WI.handlePossibleLinkClick):
3201 (WI.openURL):
3202 (WI.showSourceCodeLocation):
3203 (WI.showOriginalUnformattedSourceCodeLocation):
3204 (WI.showOriginalOrFormattedSourceCodeLocation):
3205 (WI.showOriginalOrFormattedSourceCodeTextRange):
3206 (WI.linkifyLocation):
3207 * UserInterface/Views/DOMTreeElement.js:
3208 (WI.DOMTreeElement.prototype._insertAdjacentHTML):
3209 * UserInterface/Views/WebSocketContentView.js:
3210 (WI.WebSocketContentView.prototype._addRow):
3211
mattbaker@apple.com73348012018-01-27 00:49:10 +000032122018-01-26 Matt Baker <mattbaker@apple.com>
3213
mattbaker@apple.com0ead9da2018-01-27 01:36:36 +00003214 Web Inspector: Timelines content browser NavigationBar is squashed at narrow heights
3215 https://bugs.webkit.org/show_bug.cgi?id=182196
3216 <rdar://problem/36929899>
3217
3218 Reviewed by Joseph Pecoraro.
3219
3220 * UserInterface/Views/NavigationBar.css:
3221 (.navigation-bar):
3222
32232018-01-26 Matt Baker <mattbaker@apple.com>
3224
mattbaker@apple.com73348012018-01-27 00:49:10 +00003225 Web Inspector: TabBar redesign: improvements to tab layout and resize behavior
3226 https://bugs.webkit.org/show_bug.cgi?id=181468
3227 <rdar://problem/36395439>
3228
3229 Reviewed by Devin Rousso.
3230
3231 * Localizations/en.lproj/localizedStrings.js:
3232
3233 * UserInterface/Images/TabPicker.svg: Added.
3234 New ">>" icon for the tab picker button.
3235
3236 * UserInterface/Views/CanvasTabContentView.js:
3237 (WI.CanvasTabContentView):
3238 * UserInterface/Views/ConsoleTabContentView.js:
3239 (WI.ConsoleTabContentView):
3240 * UserInterface/Views/DebuggerTabContentView.js:
3241 (WI.DebuggerTabContentView):
3242 * UserInterface/Views/ElementsTabContentView.js:
3243 (WI.ElementsTabContentView):
3244
3245 * UserInterface/Views/GeneralTabBarItem.js:
3246 (WI.GeneralTabBarItem):
3247 (WI.GeneralTabBarItem.fromTabContentViewConstructor):
3248 (WI.GeneralTabBarItem.prototype.get title):
3249 Add missing override for getter/setter pair.
3250 (WI.GeneralTabBarItem.prototype.set title):
3251 (WI.GeneralTabBarItem.prototype._handleContextMenuEvent):
3252 Show the close button on ephemeral tabs only (Search, New Tab).
3253 Replace unused `representedObject` parameter with `isEphemeral`, which
3254 determines whether to show a close button for the tab.
3255
3256 * UserInterface/Views/LayersTabContentView.js:
3257 (WI.LayersTabContentView):
3258
3259 * UserInterface/Views/NavigationBar.js:
3260 Remove unused symbol.
3261
3262 * UserInterface/Views/NetworkTabContentView.js:
3263 (WI.NetworkTabContentView):
3264 * UserInterface/Views/NewTabContentView.js:
3265 (WI.NewTabContentView):
3266
3267 * UserInterface/Views/PinnedTabBarItem.js:
3268 (WI.PinnedTabBarItem):
3269 Remove unused parameter.
3270
3271 * UserInterface/Views/ResourcesTabContentView.js:
3272 (WI.ResourcesTabContentView):
3273 * UserInterface/Views/SearchTabContentView.js:
3274 (WI.SearchTabContentView):
3275 * UserInterface/Views/StorageTabContentView.js:
3276 (WI.StorageTabContentView):
3277
3278 * UserInterface/Views/TabBar.css:
3279 (.tab-bar > .item):
3280 (.tab-bar.calculate-width > .item):
3281 (.tab-bar > .item.pinned.tab-picker):
3282 (.tab-bar > .item > .close):
3283 (.tab-bar > .item > .title):
3284 (.tab-bar:not(.collapsed) > .item > .title):
3285 (.tab-bar.collapsed > .item:not(.pinned) > .icon):
3286 (.tab-bar > .item:hover > .close):
3287 (.tab-bar.collapsed > .item:hover > .close):
3288 (.tab-bar:not(.collapsed) > .item.ephemeral:hover > .icon):
3289 (.tab-bar.collapsed > .item.ephemeral:hover > .title):
3290 (body[dir=ltr] .tab-bar > .item > .close): Deleted.
3291 (body[dir=rtl] .tab-bar > .item > .close): Deleted.
3292 (.tab-bar > .item > .flex-space): Deleted.
3293 (.tab-bar > .item:not(.pinned) > .flex-space:last-child): Deleted.
3294 (body[dir=ltr] .tab-bar > .item:not(.pinned) > .flex-space:last-child): Deleted.
3295 (body[dir=rtl] .tab-bar > .item:not(.pinned) > .flex-space:last-child): Deleted.
3296 (body[dir=ltr] .tab-bar > .item > .title): Deleted.
3297 (body[dir=rtl] .tab-bar > .item > .title): Deleted.
3298 (.tab-bar.collapsed > .item): Deleted.
3299 (.tab-bar.collapsed > .item > .flex-space): Deleted.
3300 (.tab-bar.collapsed > .item > .close): Deleted.
3301 (body[dir=ltr] .tab-bar.collapsed > .item > .close): Deleted.
3302 (body[dir=rtl] .tab-bar.collapsed > .item > .close): Deleted.
3303 (.tab-bar.hide-titles > .item > .title): Deleted.
3304 (.tab-bar.collapsed:not(.hide-titles) > .item:not(.pinned):hover > .icon,): Deleted.
3305 (.tab-bar.collapsed:not(.hide-titles) > .item:hover > .close,): Deleted.
3306 Clean up tab styles and prevent tabs from shrinking during flex layout.
3307 Added new `calculate-width` class, to disable flex layout when measuring
3308 the minimum width of the TabBar required to fit all tab items.
3309
3310 * UserInterface/Views/TabBar.js:
3311 (WI.TabBar):
3312 (WI.TabBar.prototype.set selectedTabBarItem):
3313 (WI.TabBar.prototype.layout.forceItemHidden):
3314 (WI.TabBar.prototype.layout):
3315 Perform two layout passes, similar to NavigationBar. The first pass disables
3316 flex layout and measures tab items at full size. If the bar isn't wide enough
3317 to show all the tabs, hide their icons and measure again. If there still isn't
3318 room, hide tabs starting from the end of the bar and display the tab picker.
3319
3320 (WI.TabBar.prototype._handleMouseDown):
3321 (WI.TabBar.prototype._handleTabPickerTabContextMenu):
3322
3323 * UserInterface/Views/TabBarItem.js:
3324 (WI.TabBarItem):
3325
3326 * UserInterface/Views/TimelineTabContentView.js:
3327 (WI.TimelineTabContentView):
3328
commit-queue@webkit.orge4720eb2018-01-26 04:58:33 +000033292018-01-25 Joseph Pecoraro <pecoraro@apple.com>
3330
commit-queue@webkit.orgf8bef1a2018-01-26 05:30:29 +00003331 Web Inspector: Network Table: Sort indicator is not displayed when sorted column is hidden and re-shown
3332 https://bugs.webkit.org/show_bug.cgi?id=182164
3333 <rdar://problem/36892619>
3334
3335 Reviewed by Brian Burg.
3336
3337 * UserInterface/Views/Table.js:
3338 (WI.Table.prototype.showColumn):
3339 Re-add the sort classes if the column being shown is the active sort column.
3340
33412018-01-25 Joseph Pecoraro <pecoraro@apple.com>
3342
commit-queue@webkit.orgec61d272018-01-26 05:22:24 +00003343 Web Inspector: Network - Cookies view should behave better at narrow widths, all data is hidden
3344 https://bugs.webkit.org/show_bug.cgi?id=182163
3345 <rdar://problem/36893241>
3346
3347 Reviewed by Brian Burg.
3348
3349 * UserInterface/Views/ResourceCookiesContentView.css:
3350 (.resource-cookies .table):
3351 Give these tables a reasonable minimum size so that if the inspector
3352 is narrow, the content view can still be scrolled to see all of
3353 the table data.
3354
3355 * UserInterface/Views/Table.css:
3356 (.table > .header):
3357 Match the data-container and mark overflow as hidden, otherwise
3358 super narrow widths show header content beyond the edge.
3359
33602018-01-25 Joseph Pecoraro <pecoraro@apple.com>
3361
commit-queue@webkit.orge4720eb2018-01-26 04:58:33 +00003362 Web Inspector: "Displayed Columns" should not be displayed in context menu if all columns are required columns
3363 https://bugs.webkit.org/show_bug.cgi?id=182162
3364 <rdar://problem/36893758>
3365
3366 Reviewed by Matt Baker.
3367
3368 * UserInterface/Views/Table.js:
3369 (WI.Table.prototype._handleHeaderContextMenu):
3370 Only add the header column when we know there are hideable columns.
3371
commit-queue@webkit.orga9791512018-01-25 00:22:29 +000033722018-01-24 Joseph Pecoraro <pecoraro@apple.com>
3373
3374 Web Inspector: Simplify update-LegacyInspectorBackendCommands.rb
3375 https://bugs.webkit.org/show_bug.cgi?id=182067
3376
3377 Reviewed by Brian Burg.
3378
3379 * Scripts/update-LegacyInspectorBackendCommands.rb:
3380 Remove stale dependency_json, it has always been empty for a while now.
3381 Switch to framework WebInspectorUI to generate only the backend commands
3382 and not spend time generating a bunch of cpp files.
3383
nvasilyev@apple.comeca9aec2018-01-25 00:15:39 +000033842018-01-24 Nikita Vasilyev <nvasilyev@apple.com>
3385
3386 REGRESSION (r226994): Web Inspector: Styles: Suggestions popover floats in top-left corner of Web Inspector after tabbing
3387 https://bugs.webkit.org/show_bug.cgi?id=182027
3388
3389 Reviewed by Matt Baker.
3390
3391 r226994 added a layout of all properties on property removal. Layout caused
3392 a property element to be removed from DOM right before dislaying the suggestion
3393 popover, resulting in the popover being displayed at the top left corner.
3394
3395 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
3396 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.layout):
3397 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyRemoved):
3398 Only update property view indices when a property is removed.
3399
3400 * UserInterface/Views/SpreadsheetStyleProperty.js:
3401 (WI.SpreadsheetStyleProperty):
3402 (WI.SpreadsheetStyleProperty.prototype.set index):
3403
3404 * UserInterface/Views/SpreadsheetTextField.js:
3405 (WI.SpreadsheetTextField.prototype._updateCompletions):
3406 Checking this._element.parentNode to see if the element is attached to the DOM tree is unreliable,
3407 since the element may have a non-null parent node that is detached from the DOM tree. To fix that,
3408 we could traverse element's ancestors, but I used a concise isConnected property instead.
3409
commit-queue@webkit.org5e6bd7d2018-01-24 22:26:17 +000034102018-01-24 Joseph Pecoraro <pecoraro@apple.com>
3411
3412 ReferenceError:​ Can't find variable:​ DOMAgent (at ScriptSyntaxTree.js:​178:​22)​
3413 https://bugs.webkit.org/show_bug.cgi?id=182059
3414
3415 Reviewed by Matt Baker.
3416
3417 * UserInterface/Models/ScriptSyntaxTree.js:
3418 (WI.ScriptSyntaxTree.functionReturnDivot):
3419 DOMAgent won't be available in a ServiceWorker or JSContext inspector. So add
3420 a check for DOMAgent, and assume if DOMAgent doesn't exist that we should fall
3421 back to the latest path (non-iOS 9) target.
3422
commit-queue@webkit.org45355c82018-01-24 00:46:39 +000034232018-01-23 Joseph Pecoraro <pecoraro@apple.com>
3424
3425 Web Inspector: Network's columns shake when scrolling at non-default zoom level
3426 https://bugs.webkit.org/show_bug.cgi?id=181998
3427 <rdar://problem/36449808>
3428
3429 Reviewed by Matt Baker.
3430
3431 * UserInterface/Views/Table.js:
3432 When zoomed the bounding client rect values were fractional, which was
3433 unexpected by this area of code. Floor the values to get a value we expect
3434 to be able to evenly distribute.
3435
nvasilyev@apple.comda0a57c2018-01-23 00:52:32 +000034362018-01-22 Nikita Vasilyev <nvasilyev@apple.com>
3437
3438 Web Inspector: Styles Redesign: data corruption when updating values quickly
3439 https://bugs.webkit.org/show_bug.cgi?id=179461
3440 <rdar://problem/35431882>
3441
3442 Reviewed by Joseph Pecoraro.
3443
3444 Data corruption used to happen because CSSStyleDeclaration.prototype.text didn't
3445 update synchronously. Making two or more quick changes resulted in corrupted data.
3446
3447 Imagine we modify a CSS value 3 times:
3448
3449 Front-end: (1)-(2)---(3)
3450 Back-end: (1)-----(2)-(3)
3451
3452 The first response from the backend could happen after the 2nd edit. In this patch,
3453 CSSStyleDeclaration is locked when its view is being edited.
3454
3455 To correctly display invalid and overridden properties, the backend is allowed to update
3456 CSSStyleDeclaration and CSSProperty when they're locked if the text from the backend
3457 matches the model's text. This should happen when the backend is caught up with the
3458 front-end changes.
3459
3460 * UserInterface/Models/CSSProperty.js:
3461 (WI.CSSProperty.prototype.update):
3462 * UserInterface/Models/CSSStyleDeclaration.js:
3463 (WI.CSSStyleDeclaration):
3464 (WI.CSSStyleDeclaration.prototype.get locked):
3465 (WI.CSSStyleDeclaration.prototype.set locked):
3466 (WI.CSSStyleDeclaration.prototype.set text):
3467
3468 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
3469 (WI.SpreadsheetCSSStyleDeclarationEditor):
3470 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.initialLayout):
3471 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.detached):
3472 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.get editing):
3473 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.set focused):
3474 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.set inlineSwatchActive):
3475 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.stylePropertyInlineSwatchActivated):
3476 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.stylePropertyInlineSwatchDeactivated):
3477 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._propertiesChanged):
3478 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._updateStyleLock):
3479 Lock CSSStyleDeclaration when a CSS property name or value is focused or
3480 an inline widget is active.
3481
3482 * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
3483 (WI.SpreadsheetCSSStyleDeclarationSection):
3484 (WI.SpreadsheetCSSStyleDeclarationSection.prototype._handleMouseDown):
3485 (WI.SpreadsheetCSSStyleDeclarationSection.prototype._handleClick):
3486 * UserInterface/Views/SpreadsheetStyleProperty.js:
3487 (WI.SpreadsheetStyleProperty):
3488 (WI.SpreadsheetStyleProperty.prototype._createInlineSwatch):
3489 When selector is focused, clicking on the white-space should not add a new blank property.
3490
ross.kirsling@sony.com56b55eb2018-01-19 23:18:44 +000034912018-01-19 Ross Kirsling <ross.kirsling@sony.com>
3492
3493 Web Inspector: Layers tab should do away with popovers (if possible)
3494 https://bugs.webkit.org/show_bug.cgi?id=181805
3495
3496 Reviewed by Matt Baker.
3497
3498 * Localizations/en.lproj/localizedStrings.js:
3499 Remove superfluous colon from a string.
3500
3501 * UserInterface/Main.html:
3502 * UserInterface/Views/LayerDetailsSidebarPanel.css:
3503 * UserInterface/Views/Layers3DContentView.css: Added.
3504 Remove popover styling from sidebar, add new file with similar styling for canvas overlay.
3505
3506 * UserInterface/Views/LayerDetailsSidebarPanel.js:
3507 (WI.LayerDetailsSidebarPanel):
3508 (WI.LayerDetailsSidebarPanel.prototype.selectNodeByLayerId):
3509 (WI.LayerDetailsSidebarPanel.prototype._dataGridSelectedNodeChanged):
3510 (WI.LayerDetailsSidebarPanel.prototype._updateLayers):
3511 (WI.LayerDetailsSidebarPanel.prototype._updateBottomBar):
3512 (WI.LayerDetailsSidebarPanel.prototype.willDismissPopover): Deleted.
3513 (WI.LayerDetailsSidebarPanel.prototype._showPopoverForSelectedNode): Deleted.
3514 (WI.LayerDetailsSidebarPanel.prototype._presentPopover): Deleted.
3515 (WI.LayerDetailsSidebarPanel.prototype._contentForPopover): Deleted.
3516 (WI.LayerDetailsSidebarPanel.prototype._populateListOfCompositingReasons.addReason): Deleted.
3517 (WI.LayerDetailsSidebarPanel.prototype._populateListOfCompositingReasons): Deleted.
3518 * UserInterface/Views/Layers3DContentView.js:
3519 (WI.Layers3DContentView):
3520 (WI.Layers3DContentView.prototype.shown):
3521 (WI.Layers3DContentView.prototype.selectLayerById):
3522 (WI.Layers3DContentView.prototype._canvasMouseDown):
3523 (WI.Layers3DContentView.prototype._buildLayerInfoElement):
3524 (WI.Layers3DContentView.prototype._updateLayerInfoElement):
3525 (WI.Layers3DContentView.prototype._updateReasonsList):
3526 Remove popover from sidebar table, overlay div with same data arrangement on top of the canvas.
3527 Also reverse the fix from r226671 since the visualization is no longer unusable without the sidebar!
3528
mattbaker@apple.com94f98b92018-01-19 23:01:11 +000035292018-01-19 Matt Baker <mattbaker@apple.com>
3530
3531 Web Inspector: Canvas Tab: Multiple "waiting for frames" messages displayed
3532 https://bugs.webkit.org/show_bug.cgi?id=181865
3533 <rdar://problem/36664737>
3534
3535 Reviewed by Devin Rousso.
3536
3537 * UserInterface/Views/CanvasContentView.js:
3538 (WI.CanvasContentView.prototype._recordingStarted):
3539 (WI.CanvasContentView.prototype._recordingStopped):
3540
nvasilyev@apple.com4f2ceb42018-01-19 20:13:20 +000035412018-01-19 Nikita Vasilyev <nvasilyev@apple.com>
3542
nvasilyev@apple.com98b5d642018-01-19 21:36:58 +00003543 Web Inspector: Styles Redesign: tabbing on commented out property throws exception
3544 https://bugs.webkit.org/show_bug.cgi?id=180676
3545 <rdar://problem/35981058>
3546
3547 Reviewed by Joseph Pecoraro.
3548
3549 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
3550 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.startEditingFirstProperty):
3551 Tabbing from the selector field should focus on the first editable property.
3552 When no editable properties are present, a new blank property should be added after the commented out ones.
3553
3554 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.startEditingLastProperty):
3555 Shift-tabbing from the selector field should focus on the last editable property of the previous CSS rule.
3556 When no editable properties are present, a new blank property should be added after the commented out ones.
3557
3558 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetCSSStyleDeclarationEditorFocusMoved):
3559 When navigating between properties skip the commented out ones.
3560
3561 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._editablePropertyAfter):
3562 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._editablePropertyBefore):
3563 * UserInterface/Views/SpreadsheetStyleProperty.js:
3564 (WI.SpreadsheetStyleProperty.prototype.get enabled):
3565 (WI.SpreadsheetStyleProperty.prototype._update):
3566
35672018-01-19 Nikita Vasilyev <nvasilyev@apple.com>
3568
nvasilyev@apple.com4f2ceb42018-01-19 20:13:20 +00003569 Web Inspector: Make styles sidebar always LTR
3570 https://bugs.webkit.org/show_bug.cgi?id=175357
3571 <rdar://problem/33787988>
3572
3573 Reviewed by Joseph Pecoraro.
3574
3575 * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:
3576 (WI.SpreadsheetRulesStyleDetailsPanel):
3577
keith_miller@apple.combd951472018-01-19 18:33:52 +000035782018-01-19 Keith Miller <keith_miller@apple.com>
3579
3580 HaveInternalSDK includes should be "#include?"
3581 https://bugs.webkit.org/show_bug.cgi?id=179670
3582
3583 Reviewed by Dan Bernstein.
3584
3585 * Configurations/Base.xcconfig:
3586
mitz@apple.come8cb0be2018-01-18 19:49:51 +000035872018-01-18 Dan Bernstein <mitz@apple.com>
3588
3589 [Xcode] Streamline and future-proof target-macOS-version-dependent build setting definitions
3590 https://bugs.webkit.org/show_bug.cgi?id=181803
3591
3592 Reviewed by Tim Horton.
3593
3594 * Configurations/Base.xcconfig: Updated.
3595 * Configurations/DebugRelease.xcconfig: Ditto.
3596 * Configurations/Version.xcconfig: Ditto.
3597
webkit@devinrousso.com37da84f2018-01-18 19:41:00 +000035982018-01-18 Devin Rousso <webkit@devinrousso.com>
3599
3600 Web Inspector: Canvas Tab: record button on canvas card doesn't always show on hover, or is misplaced
3601 https://bugs.webkit.org/show_bug.cgi?id=179183
3602
3603 Reviewed by Joseph Pecoraro.
3604
3605 * UserInterface/Views/CanvasOverviewContentView.css:
3606 (.content-view.canvas-overview .content-view.canvas:not(.is-recording) > header > .navigation-bar > .item.record-start-stop): Deleted.
3607
webkit@devinrousso.com035c5722018-01-18 05:03:26 +000036082018-01-17 Devin Rousso <webkit@devinrousso.com>
3609
3610 Web Inspector: clicking on a path component that has no siblings should select it
3611 https://bugs.webkit.org/show_bug.cgi?id=181772
3612
3613 Reviewed by Joseph Pecoraro.
3614
3615 * UserInterface/Views/HierarchicalPathComponent.js:
3616 (WI.HierarchicalPathComponent.prototype._updateSelectElement):
3617 (WI.HierarchicalPathComponent.prototype._selectElementMouseDown):
3618
commit-queue@webkit.org5c38b6c2018-01-17 18:41:56 +000036192018-01-17 Joseph Pecoraro <pecoraro@apple.com>
3620
commit-queue@webkit.orgb27a05e2018-01-17 20:25:02 +00003621 Web Inspector: Add back localized strings for Styles sidebar panels
3622 https://bugs.webkit.org/show_bug.cgi?id=181748
3623 <rdar://problem/36583184>
3624
3625 Reviewed by Brian Burg.
3626
3627 * Localizations/en.lproj/localizedStrings.js:
3628 * UserInterface/Views/ComputedStyleDetailsSidebarPanel.js:
3629 (WI.ComputedStyleDetailsSidebarPanel):
3630 * UserInterface/Views/RulesStyleDetailsSidebarPanel.js:
3631 (WI.RulesStyleDetailsSidebarPanel):
3632 * UserInterface/Views/VisualStyleDetailsSidebarPanel.js:
3633 (WI.VisualStyleDetailsSidebarPanel):
3634 Add back localized strings for panel titles lost in r225547.
3635
36362018-01-17 Joseph Pecoraro <pecoraro@apple.com>
3637
commit-queue@webkit.org5c38b6c2018-01-17 18:41:56 +00003638 Web Inspector: Super long URL string causes bad wrapping in Resources detail sidebar
3639 https://bugs.webkit.org/show_bug.cgi?id=181617
3640
3641 Reviewed by Brian Burg.
3642
3643 * UserInterface/Views/DetailsSection.css:
3644 (.details-section > .content > .group > .row.simple > .value):
3645 Set the break to all characters.
3646
mattbaker@apple.comf13364d2018-01-16 23:17:36 +000036472018-01-16 Matt Baker <mattbaker@apple.com>
3648
3649 Web Inspector: Canvas tab: typing a "space" in the QuickConsole shouldn't trigger a recording
3650 https://bugs.webkit.org/show_bug.cgi?id=181706
3651 <rdar://problem/36558221>
3652
3653 Reviewed by Joseph Pecoraro.
3654
3655 * UserInterface/Views/CanvasOverviewContentView.js:
3656 (WI.CanvasOverviewContentView):
3657 (WI.CanvasOverviewContentView.prototype._handleSpace):
3658
commit-queue@webkit.org4b0009c2018-01-16 22:26:26 +000036592018-01-16 Joseph Pecoraro <pecoraro@apple.com>
3660
3661 Web Inspector: Make Console's Execution Context picker stand out when it is non-default
3662 https://bugs.webkit.org/show_bug.cgi?id=181628
3663 <rdar://problem/36492044>
3664
3665 Reviewed by Matt Baker.
3666
3667 * UserInterface/Views/HierarchicalPathComponent.css:
3668 (.hierarchical-path-component > .selector-arrows):
3669 * UserInterface/Views/HierarchicalPathComponent.js:
3670 (WI.HierarchicalPathComponent.prototype.set selectorArrows):
3671 Switch to SVG element so we can style the arrows.
3672
3673 * UserInterface/Views/QuickConsole.css:
3674 (.quick-console > .navigation-bar > .hierarchical-path .execution-context):
3675 (.quick-console > .navigation-bar > .hierarchical-path .execution-context .separator):
3676 (.quick-console > .navigation-bar > .hierarchical-path.non-default-execution-context .execution-context):
3677 (.quick-console > .navigation-bar > .hierarchical-path.non-default-execution-context .execution-context .selector-arrows):
3678 Styles for the execution context picker. We hide the unused separator
3679 and instead use margin so that the selected background and border don't
3680 have an extra 7px on the right/end side.
3681
3682 * UserInterface/Views/QuickConsole.js:
3683 (WI.QuickConsole.prototype._activeExecutionContextChanged):
3684 Toggle the non-default class name on the path.
3685
nvasilyev@apple.com1a133f32018-01-16 20:23:12 +000036862018-01-16 Nikita Vasilyev <nvasilyev@apple.com>
3687
nvasilyev@apple.com00c66e32018-01-16 20:54:04 +00003688 Web Inspector: Styles: pressing down key should select first item from completion list when focusing on empty value
3689 https://bugs.webkit.org/show_bug.cgi?id=181633
3690 <rdar://problem/36501797>
3691
3692 Reviewed by Joseph Pecoraro.
3693
3694 * UserInterface/Views/SpreadsheetTextField.js:
3695 (WI.SpreadsheetTextField.prototype._updateCompletions):
3696
36972018-01-16 Nikita Vasilyev <nvasilyev@apple.com>
3698
nvasilyev@apple.com7afead02018-01-16 20:31:54 +00003699 Web Inspector: Styles Redesign: Long value causes bad wrapping
3700 https://bugs.webkit.org/show_bug.cgi?id=181618
3701 <rdar://problem/36485175>
3702
3703 Reviewed by Joseph Pecoraro.
3704
3705 Wrap long values only when editing.
3706
3707 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
3708 (.spreadsheet-style-declaration-editor .value.editing):
3709
37102018-01-16 Nikita Vasilyev <nvasilyev@apple.com>
3711
nvasilyev@apple.com1a133f32018-01-16 20:23:12 +00003712 Web Inspector: Styles Redesign: clicking on the white space after the property sometimes places a blank property at the wrong index
3713 https://bugs.webkit.org/show_bug.cgi?id=179585
3714 <rdar://problem/35490780>
3715
3716 Reviewed by Joseph Pecoraro.
3717
3718 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
3719 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyRemoved):
3720 Layout call is needed to update data-property-index attributes on the property views.
3721
commit-queue@webkit.orgad830a32018-01-16 20:20:35 +000037222018-01-16 Joseph Pecoraro <pecoraro@apple.com>
3723
3724 Web Inspector: Network Tab - Export HAR Context Menu not working
3725 https://bugs.webkit.org/show_bug.cgi?id=181694
3726 <rdar://problem/36479197>
3727
3728 Reviewed by Brian Burg.
3729
3730 * UserInterface/Views/NetworkTableContentView.js:
3731 (WI.NetworkTableContentView.prototype.tableCellContextMenuClicked):
3732 Ensure `this` works in the handler.
3733
mattbaker@apple.com34822982018-01-16 07:03:57 +000037342018-01-15 Matt Baker <mattbaker@apple.com>
3735
3736 Web Inspector: TabBar redesign: add context menu to TabBar for toggling available tabs
3737 https://bugs.webkit.org/show_bug.cgi?id=181448
3738 <rdar://problem/36383298>
3739
3740 Reviewed by Devin Rousso.
3741
3742 * UserInterface/Base/Main.js:
3743 (WI.loaded):
3744 (WI.contentLoaded):
3745 Reorder production tab classes and default (open) tabs.
3746 (WI.registerTabClass): Removed.
3747 Not used.
3748
3749 * UserInterface/Base/Object.js:
3750 Remove notification that is no longer used.
3751
3752 * UserInterface/Views/GeneralTabBarItem.js:
3753 (WI.GeneralTabBarItem):
3754 (WI.GeneralTabBarItem.prototype.set title):
3755 (WI.GeneralTabBarItem.prototype._handleContextMenuEvent): Deleted.
3756 Remove per-tab context menu (provided Close Tab and Close Other Tabs).
3757
3758 * UserInterface/Views/NewTabContentView.js:
3759 (WI.NewTabContentView):
3760
3761 * UserInterface/Views/TabBar.js:
3762 (WI.TabBar):
3763 (WI.TabBar.prototype._handleContextMenu):
3764
3765 * UserInterface/Views/TabBrowser.js:
3766 (WI.TabBrowser):
3767 (WI.TabBrowser._handleNewTabContextMenu): Deleted.
3768 No longer needed.
3769
nvasilyev@apple.com460e7352018-01-14 04:06:15 +000037702018-01-13 Nikita Vasilyev <nvasilyev@apple.com>
3771
3772 Web Inspector: Styles Redesign: properties should never be semitransparent or crossed out while editing
3773 https://bugs.webkit.org/show_bug.cgi?id=180793
3774 <rdar://problem/36038813>
3775
3776 Reviewed by Devin Rousso.
3777
3778 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
3779 (.spreadsheet-style-declaration-editor .value.editing):
3780 (.spreadsheet-style-declaration-editor .property:matches(.invalid-name, .other-vendor, .overridden):not(.disabled) .content > *):
3781 (.spreadsheet-style-declaration-editor .property.invalid-name:not(.disabled) .content > *):
3782 (.spreadsheet-style-declaration-editor .property.invalid-value:not(.disabled) .content .value):
3783 (.spreadsheet-style-declaration-editor .property.not-inherited .content > *):
3784 * UserInterface/Views/SpreadsheetStyleProperty.js:
3785 (WI.SpreadsheetStyleProperty.prototype._update):
3786
commit-queue@webkit.org53962592018-01-12 21:03:22 +000037872018-01-12 Joseph Pecoraro <pecoraro@apple.com>
3788
commit-queue@webkit.org0b67c282018-01-12 21:47:07 +00003789 Web Inspector: Drop support for iOS 7 targets
3790 https://bugs.webkit.org/show_bug.cgi?id=181549
3791 <rdar://problem/36444813>
3792
3793 Reviewed by Brian Burg.
3794
3795 * Versions/Inspector-iOS-7.0.json: Removed.
3796 * UserInterface/Protocol/Legacy/7.0/InspectorBackendCommands.js: Removed.
3797 Remove protocol snapshot and generated commands for iOS 7.
3798
3799 * UserInterface/Base/Main.js:
3800 * UserInterface/Controllers/BreakpointPopoverController.js:
3801 (WI.BreakpointPopoverController.prototype._createPopoverContent):
3802 * UserInterface/Controllers/DebuggerManager.js:
3803 (WI.DebuggerManager.prototype._setBreakpoint):
3804 * UserInterface/Controllers/SourceMapManager.js:
3805 (WI.SourceMapManager.prototype._loadAndParseSourceMap):
3806 * UserInterface/Models/Instrument.js:
3807 (WI.Instrument.startLegacyTimelineAgent):
3808 * UserInterface/Models/ResourceTimingData.js:
3809 * UserInterface/Models/ScriptTimelineRecord.js:
3810 (WI.ScriptTimelineRecord.EventType.displayName):
3811 * UserInterface/Models/SourceMapResource.js:
3812 (WI.SourceMapResource.prototype.requestContentFromBackend):
3813 * UserInterface/Protocol/CSSObserver.js:
3814 (WI.CSSObserver.prototype.regionLayoutUpdated): Deleted.
3815 * UserInterface/Protocol/RemoteObject.js:
3816 (WI.RemoteObject.fromPayload):
3817 Remove code that was only necessary to support iOS 7.
3818
38192018-01-12 Joseph Pecoraro <pecoraro@apple.com>
3820
commit-queue@webkit.org53962592018-01-12 21:03:22 +00003821 Web Inspector: Support JSX (React) syntax highlighting
3822 https://bugs.webkit.org/show_bug.cgi?id=181607
3823 <rdar://problem/36442564>
3824
3825 Reviewed by Brian Burg.
3826
3827 * UserInterface/Base/MIMETypeUtilities.js:
3828 (WI.mimeTypeForFileExtension):
3829 (WI.fileExtensionForMIMEType):
3830 * UserInterface/Models/Resource.js:
3831 Support the jsx extension and mime types.
3832
3833 * UserInterface/Main.html:
3834 * Scripts/update-codemirror-resources.rb:
3835 * UserInterface/External/CodeMirror/jsx.js: Added.
3836 Include new mode from CodeMirror@d8926768.
3837
commit-queue@webkit.orgecdf31a2018-01-11 08:19:08 +000038382018-01-11 Joseph Pecoraro <pecoraro@apple.com>
3839
commit-queue@webkit.orgc47e70e2018-01-12 00:30:45 +00003840 Web Inspector: Rename "Query String" section as "Query String Parameters" for clarity
3841 https://bugs.webkit.org/show_bug.cgi?id=181464
3842
3843 Reviewed by Darin Adler.
3844
3845 * Localizations/en.lproj/localizedStrings.js:
3846 * UserInterface/Views/ResourceHeadersContentView.js:
3847 (WI.ResourceHeadersContentView.prototype.initialLayout):
3848
38492018-01-11 Joseph Pecoraro <pecoraro@apple.com>
3850
commit-queue@webkit.orgecdf31a2018-01-11 08:19:08 +00003851 Web Inspector: Remove unused variable in WI.DebuggerSidebarPanel
3852 https://bugs.webkit.org/show_bug.cgi?id=181517
3853
3854 Reviewed by Matt Baker.
3855
3856 * UserInterface/Views/DebuggerSidebarPanel.js:
3857
commit-queue@webkit.orgd0acc272018-01-11 07:05:12 +000038582018-01-10 Joseph Pecoraro <pecoraro@apple.com>
3859
commit-queue@webkit.org2f64c112018-01-11 07:07:52 +00003860 REGRESSION(r218975): Web Inspector: Add back NavigationSidebarPanel initialization parameter used by SearchSidebarPanel (top overflow shadow)
3861 https://bugs.webkit.org/show_bug.cgi?id=181518
3862 <rdar://problem/36427197>
3863
3864 Reviewed by Matt Baker.
3865
3866 * UserInterface/Views/NavigationSidebarPanel.css:
3867 (.sidebar > .panel.navigation > .overflow-shadow.top):
3868 * UserInterface/Views/NavigationSidebarPanel.js:
3869 (WI.NavigationSidebarPanel):
3870 Add back the initialization parameter still used by SearchSidebarPanel
3871 and add back its implementation. There were still references to
3872 dynamically update _topOverflowShadowElement in NavigationSidebarPanel.
3873
38742018-01-10 Joseph Pecoraro <pecoraro@apple.com>
3875
commit-queue@webkit.orgd0acc272018-01-11 07:05:12 +00003876 Web Inspector: Incorrect check with WI.debuggableType
3877 https://bugs.webkit.org/show_bug.cgi?id=181515
3878 <rdar://problem/36425509>
3879
3880 Reviewed by Brian Burg.
3881
3882 * UserInterface/Base/Main.js:
3883 (WI.contentLoaded):
3884 This moved to WI.sharedApp a while ago.
3885
mattbaker@apple.comef5b4372018-01-11 03:36:29 +000038862018-01-10 Matt Baker <mattbaker@apple.com>
3887
3888 Web Inspector: Canvas tab: throttle recording slider updates
3889 https://bugs.webkit.org/show_bug.cgi?id=180839
3890 <rdar://problem/36057849>
3891
3892 Reviewed by Joseph Pecoraro
3893
3894 * UserInterface/Base/Utilities.js:
3895 Add Object.throttle and Function.cancelThrottle. Repeated calls to a
3896 function on a throttled object are delayed, so that the function isn't
3897 invoked more frequently than the specified delay value.
3898
3899 For a description of throttling behavior see:
3900 - http://www.chrislondon.co/throttling-vs-debouncing
3901 - http://benalman.com/projects/jquery-throttle-debounce-plugin
3902
3903 * UserInterface/Views/RecordingContentView.js:
3904 (WI.RecordingContentView.prototype.updateActionIndex):
3905 Throttle frequency of canvas snapshot creation to 200ms.
3906 (WI.RecordingContentView.prototype.hidden):
3907 Prevent trailing edge call after hiding the view.
3908
commit-queue@webkit.org97cca382018-01-10 20:19:20 +000039092018-01-10 Joseph Pecoraro <pecoraro@apple.com>
3910
3911 Web Inspector: Should not try to autocomplete subsections of a string
3912 https://bugs.webkit.org/show_bug.cgi?id=181461
3913 <rdar://problem/36369421>
3914
3915 Reviewed by Brian Burg.
3916
3917 * UserInterface/Controllers/CodeMirrorCompletionController.js:
3918 (WI.CodeMirrorCompletionController.prototype._completeAtCurrentPosition):
3919 Disable autocompletion within strings.
3920
commit-queue@webkit.org2b3c6662018-01-10 03:17:27 +000039212018-01-09 Joseph Pecoraro <pecoraro@apple.com>
3922
3923 REGRESSION(r201855): Web Inspector: Should see "length" autocompletion suggestion on a string literal
3924 https://bugs.webkit.org/show_bug.cgi?id=181462
3925 <rdar://problem/36390699>
3926
3927 Reviewed by Matt Baker.
3928
3929 * UserInterface/Controllers/JavaScriptRuntimeCompletionProvider.js:
3930 (WI.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded.inspectedPage_evalResult_getCompletions):
3931 This is code that runs on the inspected target, which may have an old version of
3932 WebKit/JavaScriptCore, so don't use new syntax like this.
3933
3934 (WI.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded):
3935 We intended to return the result by as a JSON value instead of a RemoteObject.
3936
ross.kirsling@sony.comc9167ef2018-01-10 02:43:36 +000039372018-01-09 Ross Kirsling <ross.kirsling@sony.com>
3938
3939 Web Inspector: Layers sidebar shows popover on selection even when collapsed
3940 https://bugs.webkit.org/show_bug.cgi?id=181465
3941
3942 Reviewed by Matt Baker.
3943
3944 * UserInterface/Views/LayerDetailsSidebarPanel.js:
3945 (WI.LayerDetailsSidebarPanel.prototype.selectNodeByLayerId):
3946 Have sidebar show itself if necessary before displaying popover.
3947
commit-queue@webkit.orgba467f22018-01-08 17:42:17 +000039482018-01-08 Joseph Pecoraro <pecoraro@apple.com>
3949
3950 Web Inspector: Find next / previous within a resource content view does not have bouncy highlight when editor scrolls
3951 https://bugs.webkit.org/show_bug.cgi?id=181279
3952 <rdar://problem/36291097>
3953
3954 Reviewed by Brian Burg.
3955
3956 * UserInterface/Views/TextEditor.js:
3957 (WI.TextEditor.prototype._revealSearchResult):
3958 Reposition the bouncy highlight on scroll based on the CodeMirror
3959 line/ch position of the search result.
3960
3961 (WI.TextEditor.prototype._removeBouncyHighlightElementIfNeeded):
3962 Track the bouncy highlight scroll handler in a member variable so that
3963 we always remember to remove it and don't leak scroll handlers.
3964
ddkilzer@apple.com925e86e2018-01-08 06:00:43 +000039652018-01-07 David Kilzer <ddkilzer@apple.com>
3966
3967 Enable -Wcast-qual for WebInspectorUI, WebKitLegacy, WebKit projects
3968 <https://webkit.org/b/181256>
3969 <rdar://problem/36281730>
3970
3971 Reviewed by Darin Adler.
3972
3973 * Configurations/Base.xcconfig:
3974 (WARNING_CFLAGS): Add -Wcast-qual.
3975
commit-queue@webkit.org8f8a4b92018-01-06 01:29:12 +000039762018-01-05 Joseph Pecoraro <pecoraro@apple.com>
3977
3978 Web Inspector: Add another Protocol Version
3979 https://bugs.webkit.org/show_bug.cgi?id=181354
3980 <rdar://problem/35432817>
3981
3982 Reviewed by Matt Baker.
3983
3984 * UserInterface/Protocol/Legacy/11.3/InspectorBackendCommands.js: Added.
3985 * Versions/Inspector-iOS-11.3.json: Added.
3986
webkit@devinrousso.com9cefadd2018-01-05 06:40:30 +000039872018-01-04 Devin Rousso <webkit@devinrousso.com>
3988
3989 Web Inspector: replace HTMLCanvasElement with CanvasRenderingContext for instrumentation logic
3990 https://bugs.webkit.org/show_bug.cgi?id=180770
3991
3992 Reviewed by Joseph Pecoraro.
3993
3994 * UserInterface/Models/Canvas.js:
3995 (WI.Canvas.fromPayload):
3996 (WI.Canvas.prototype.get contextType):
3997 (WI.Canvas.prototype.saveIdentityToCookie):
3998 (WI.Canvas.prototype.get frame): Deleted.
3999
commit-queue@webkit.orgb8865be2018-01-05 04:34:07 +000040002018-01-04 Joseph Pecoraro <pecoraro@apple.com>
4001
4002 REGRESSION (r225709): Web Inspector: CSS Source maps not loading
4003 https://bugs.webkit.org/show_bug.cgi?id=181314
4004 <rdar://problem/36177620>
4005
4006 Reviewed by Brian Burg.
4007
4008 * UserInterface/Controllers/SourceMapManager.js:
4009 (WI.SourceMapManager.prototype._loadAndParseSourceMap):
4010 * UserInterface/Models/SourceMapResource.js:
4011 (WI.SourceMapResource.prototype.requestContentFromBackend):
4012 Correct this so that we only fall back to a reasonable frame id
4013 if we couldn't determine a frame id from earlier. Previously this
4014 was incorrectly clearing the frame id if we had gotten it earlier.
4015
4016 * UserInterface/Test.html:
4017 * UserInterface/Test/Test.js:
4018 (WI.loaded):
4019 Add SourceMap related files for tests.
4020
bburg@apple.com948fbb62018-01-04 21:29:13 +000040212018-01-04 Brian Burg <bburg@apple.com>
4022
bburg@apple.comd4373572018-01-05 00:00:25 +00004023 Web Inspector: Capture Element Screenshot looks fuzzy
4024 https://bugs.webkit.org/show_bug.cgi?id=175734
4025 <rdar://problem/33803377>
4026
4027 Reviewed by Joseph Pecoraro and Simon Fraser.
4028
4029 Spruce up these functions a bit. They now optionally return a promise
4030 if no callback is supplied. They now can take either a WI.DOMNode or a node id.
4031
4032 * UserInterface/Controllers/DOMTreeManager.js:
4033 (WI.DOMTreeManager.prototype.querySelector):
4034 (WI.DOMTreeManager.prototype.querySelectorAll):
4035
40362018-01-04 Brian Burg <bburg@apple.com>
4037
bburg@apple.com948fbb62018-01-04 21:29:13 +00004038 Web Inspector: add RemoteObject.fetchProperties and some basic tests for RemoteObject API
4039 https://bugs.webkit.org/show_bug.cgi?id=180945
4040
4041 Reviewed by Joseph Pecoraro.
4042
4043 Add a new method, fetchProperties, which async fetches an arbitrary list of properties
4044 from a RemoteObject. This is intended for writing tests and other quick evaluations,
4045 so it has some behaviors that are suitable in these situations:
4046 - If the evaluation throws an exception, the result will reject with that exception.
4047 - If there is a protocol error for some reason, the result will reject with an exception.
4048 - Non-string and non-number keys cause an exception, as this is probably not intended.
4049 - Does not accept a callback, returns a promise only. New code should use async.
4050
4051 For full fidelity introspection of property descriptors, clients should use the existing
4052 getOwnPropertyDescriptor[s] class of methods.
4053
4054 * UserInterface/Protocol/RemoteObject.js:
4055 (WI.RemoteObject.prototype.async.fetchProperties): Added.
4056 - Validate specified keys and remove duplicates.
4057 - Request properties one-by-one to avoid fetching all descriptors and dealing with previews.
4058 - Unwrap returned primitive values to avoid unnecessary munging in tests.
4059
4060 (WI.RemoteObject.prototype.getProperty):
4061 - Rework this to return a promise if no callback was supplied.
4062 - Introduce stricter property type checking to avoid unintended mistakes.
4063
4064 (WI.RemoteObject.prototype.callFunction):
4065 - Rework this to return a promise if no callback was supplied.
4066 - Turn thrown exceptions and protocol errors into rejected promises.
4067
commit-queue@webkit.orgdde3a322018-01-04 20:56:43 +000040682018-01-04 Joseph Pecoraro <pecoraro@apple.com>
4069
4070 Web Inspector: ⌘G / ⇧⌘G text search does not working after closing find banner
4071 https://bugs.webkit.org/show_bug.cgi?id=181280
4072 <rdar://problem/36291175>
4073
4074 Reviewed by Matt Baker.
4075
4076 * UserInterface/Views/ContentBrowser.js:
4077 (WI.ContentBrowser.prototype._findBannerDidHide):
4078 When the find banner is hidden trigger a new ContentView method,
4079 searchHidden instead of the destructive searchCleared. This allows
4080 most content views (text editors, DOM tree, Network Headers view)
4081 to keep their populated search results.
4082
4083 * UserInterface/Views/ContentView.js:
4084 (WI.ContentView.prototype.searchHidden):
4085 * UserInterface/Views/LogContentView.js:
4086 (WI.LogContentView.prototype.searchHidden):
4087 By default searchHidden does nothing. The Console's LogContentView
4088 treats the find banner differently and clears its search results.
4089
4090 * UserInterface/Views/TextEditor.js:
4091 (WI.TextEditor.prototype.searchCleared):
4092 Modernize some code while working in this area.
4093
4094 * UserInterface/Views/Main.css:
4095 (.bouncy-highlight):
4096 Ensure black text on yellow background in the bouncy highlight. In the
4097 DOM Tree it could have been white if the find banner was closed.
4098
commit-queue@webkit.org026ee042018-01-04 07:18:18 +000040992018-01-03 Ting-Wei Lan <lantw44@gmail.com>
4100
4101 Replace hard-coded paths in shebangs with #!/usr/bin/env
4102 https://bugs.webkit.org/show_bug.cgi?id=181040
4103
4104 Reviewed by Alex Christensen.
4105
4106 * Scripts/combine-resources.pl:
4107 * Scripts/copy-user-interface-resources-dryrun.rb:
4108 * Scripts/copy-user-interface-resources.pl:
4109 * Scripts/fix-worker-imports-for-optimized-builds.pl:
4110 * Scripts/remove-console-asserts-dryrun.rb:
4111 * Scripts/remove-console-asserts.pl:
4112 * Scripts/update-LegacyInspectorBackendCommands.rb:
4113 * Scripts/update-codemirror-resources.rb:
4114 * WebInspectorUI.vcxproj/build-webinspectorui.pl:
4115
commit-queue@webkit.orgc45f9572018-01-03 22:46:33 +000041162018-01-03 Joseph Pecoraro <pecoraro@apple.com>
4117
commit-queue@webkit.orgf95124f2018-01-04 05:58:24 +00004118 Web Inspector: "Log Value" context menu is sometimes unavailable
4119 https://bugs.webkit.org/show_bug.cgi?id=181278
4120 <rdar://problem/36281649>
4121
4122 Reviewed by Devin Rousso.
4123
4124 * UserInterface/Views/ObjectPreviewView.css:
4125 (.object-preview > .title):
4126 * UserInterface/Views/ObjectTreeView.css:
4127 (.object-tree.expanded > .title):
4128 Make the expanded object title information 16px tall to match ObjectTree
4129 tree element row heights. This eliminates the floating console message
4130 location from overlapping the first ObjectTree's TreeElement and causing
4131 truncation and other behavior issues (like Context Menu identification).
4132
41332018-01-03 Joseph Pecoraro <pecoraro@apple.com>
4134
commit-queue@webkit.orgf0c1ef42018-01-04 05:57:23 +00004135 Web Inspector: RTL - DOM Tree Element selection doesn't work
4136 https://bugs.webkit.org/show_bug.cgi?id=181275
4137 <rdar://problem/36290450>
4138
4139 Reviewed by Devin Rousso.
4140
4141 * UserInterface/Views/TreeOutline.js:
4142 (WI.TreeOutline.prototype.treeElementFromEvent):
4143 Provide a better explanation for why we are making the `x` adjustment here,
4144 to detect the inner most tree element along the horizontal. Fix the algorithm
4145 for RTL, since the intent is to adjust to the trailing edge of the container
4146 which is on the opposite side in RTL.
4147
41482018-01-03 Joseph Pecoraro <pecoraro@apple.com>
4149
commit-queue@webkit.org273c4b32018-01-04 00:46:52 +00004150 Web Inspector: Find banner sometimes does not work (when already populated and shown for first time on resource)
4151 https://bugs.webkit.org/show_bug.cgi?id=181255
4152 <rdar://problem/36248855>
4153
4154 Reviewed by Matt Baker.
4155
4156 * UserInterface/Views/TextEditor.js:
4157 (WI.TextEditor.prototype.set string):
4158 Defer any early searches until the initial content of a TextEditor has been set.
4159 Such searches can happen when the FindBanner already has content when a
4160 ContentView is first opened and needs to load its content from the backend.
4161 Further, even though the content may be loaded from the backend before the
4162 search results, microtask hops might cause the content to get to the TextEditor
4163 after the search results.
4164
41652018-01-03 Joseph Pecoraro <pecoraro@apple.com>
4166
commit-queue@webkit.orgc45f9572018-01-03 22:46:33 +00004167 REGRESSION: Web Inspector: Debugger tab doesn't restore selected resource on reload
4168 https://bugs.webkit.org/show_bug.cgi?id=181253
4169 <rdar://problem/36280564>
4170
4171 Reviewed by Matt Baker.
4172
4173 * UserInterface/Views/DebuggerSidebarPanel.js:
4174 (WI.DebuggerSidebarPanel.prototype.restoreStateFromCookie):
4175 Add braces to ensure the trailing else is actually trailing the outer
4176 chain as it was intended to be.
4177
commit-queue@webkit.orgd76347e2018-01-03 02:52:04 +000041782018-01-02 Joseph Pecoraro <pecoraro@apple.com>
4179
4180 Web Inspector: Clicking source location link in Console unexpectedly jumps to Network tab
4181 https://bugs.webkit.org/show_bug.cgi?id=181229
4182 <rdar://problem/36075219>
4183
4184 Reviewed by Matt Baker.
4185
4186 * UserInterface/Base/Main.js:
4187 Cleanup linkifyURLAsNode. Ignore Search tab in generic handlePossibleLinkClick
4188 when not already in the Search tab.
4189
4190 * UserInterface/Views/CallFrameView.js:
4191 (WI.CallFrameView):
4192 Ignore Search and Network tab in CallFrame links.
4193
4194 * UserInterface/Views/TabBrowser.js:
4195 (WI.TabBrowser.prototype.bestTabContentViewForRepresentedObject):
4196 Improve style.
4197
mcatanzaro@igalia.com3fcf3c32018-01-02 04:27:34 +00004198== Rolled over to ChangeLog-2018-01-01 ==