blob: d2ee3572f4d115fb8241e894175b965acae08086 [file] [log] [blame]
drousso@apple.comf48ce0e2018-10-25 23:59:43 +000012018-10-25 Devin Rousso <drousso@apple.com>
2
3 Web Inspector: Canvas Recording loading goes significantly slower when "Frame" tree element is expanded
4 https://bugs.webkit.org/show_bug.cgi?id=190497
5
6 Reviewed by Joseph Pecoraro.
7
8 Save the `WI.TreeElement` that are in the DOM, and compare that with any `WI.TreeElement`
9 that would be added to the DOM. If all of the following are true, don't edit the DOM:
10 - no focused `WI.TreeElement` that isn't currently visible (we would scroll otherwise)
11 - the set of previously visible `WI.TreeElement`s (e.g. not used for scroll padding) has at
12 least one of the `WI.TreeElement`s that would be added from this update
13 - this means that the user hasn't scrolled beyond the padding `WI.TreeElement`
14 - there are no `WI.TreeElement`s that would be added from this update that were NOT added
15 in a previous update
16 - this covers the case that a `WI.TreeElement` is inserted in the visible area
17
18 * UserInterface/Base/Utilities.js:
19
20 * UserInterface/Views/TreeOutline.js:
21 (WI.TreeOutline):
22 (WI.TreeOutline.prototype.registerScrollVirtualizer):
23 (WI.TreeOutline.prototype.updateVirtualizedElements.walk):
24 (WI.TreeOutline.prototype.updateVirtualizedElements):
25
commit-queue@webkit.orga6762f82018-10-25 23:55:12 +0000262018-10-25 Joseph Pecoraro <pecoraro@apple.com>
27
28 JSContext Inspector: Broken frontend, DOMAgent is used but does not exist
29 https://bugs.webkit.org/show_bug.cgi?id=190922
30 <rdar://problem/45569827>
31
32 Reviewed by Devin Rousso.
33
34 * UserInterface/Controllers/DOMManager.js:
35 (WI.DOMManager.prototype.requestDocument):
36 Feature check for agents that may not exist in a JSContext.
37
drousso@apple.com98a113e2018-10-25 22:57:45 +0000382018-10-25 Devin Rousso <drousso@apple.com>
39
drousso@apple.com691b0c52018-10-25 23:09:59 +000040 Web Inspector: add corner rounding to the network timing "blocks"
41 https://bugs.webkit.org/show_bug.cgi?id=190379
42
43 Reviewed by Timothy Hatcher.
44
45 * UserInterface/Views/NetworkTableContentView.css:
46 (.waterfall .block):
47 (body[dir=ltr] .waterfall .block): Added.
48 (body[dir=rtl] .waterfall .block): Added.
49 (.network-table .waterfall .block + .block): Added.
50 (.network-table .waterfall .block.filler + .block, .network-table .waterfall .block:not(.request, .response) + :matches(.request, .response)): Added.
51 (.network-table .waterfall .block:last-child): Added.
52
532018-10-25 Devin Rousso <drousso@apple.com>
54
drousso@apple.com492b7192018-10-25 22:59:29 +000055 Web Inspector: display fullscreen enter/exit events in Timelines and Network node waterfalls
56 https://bugs.webkit.org/show_bug.cgi?id=189874
57 <rdar://problem/44700000>
58
59 Reviewed by Joseph Pecoraro.
60
61 * Localizations/en.lproj/localizedStrings.js:
62
63 * UserInterface/Protocol/DOMObserver.js:
64 (WI.DOMObserver.prototype.didFireEvent):
65 * UserInterface/Controllers/DOMManager.js:
66 (WI.DOMManager.prototype.didFireEvent):
67 Allow `data` to be passed to the frontend with `didFireEvent`.
68
69 * UserInterface/Models/DOMNode.js:
70 (WI.DOMNode):
71 (WI.DOMNode.getFullscreenDOMEvents): Added.
72 (WI.DOMNode.prototype.didFireEvent):
73 (WI.DOMNode.prototype._handleDOMNodeDidFireEvent): Added.
74 (WI.DOMNode.prototype._addDOMEvent):
75 (WI.DOMNode.prototype._shouldListenForEventListeners): Added.
76 If an event is fired on an ancestor of this node, also record that event in this node's
77 `domEvents`, including the `originator` node.
78
79 * UserInterface/Views/NetworkTableContentView.js:
80 (WI.NetworkTableContentView.prototype._populateWaterfallGraph):
81 * UserInterface/Views/NetworkTableContentView.css:
82 (.network-table :not(.header) .cell.waterfall .waterfall-container > .dom-fullscreen): Added.
83
84 * UserInterface/Views/DOMEventsBreakdownView.js:
85 (WI.DOMEventsBreakdownView.prototype.initialLayout):
86 (WI.DOMEventsBreakdownView.prototype._populateTable):
87 * UserInterface/Views/DOMEventsBreakdownView.css:
88 (.dom-events-breakdown .graph > .area.fullscreen): Added.
89 (.dom-events-breakdown .inherited > .name, .dom-events-breakdown .inherited > .graph > .point): Added.
90 (.dom-events-breakdown:not(.has-inherited) .originator): Added.
91
922018-10-25 Devin Rousso <drousso@apple.com>
93
drousso@apple.com98a113e2018-10-25 22:57:45 +000094 Web Inspector: Network: more aggressively snap timing blocks together
95 https://bugs.webkit.org/show_bug.cgi?id=190439
96
97 Reviewed by Timothy Hatcher.
98
99 * UserInterface/Views/NetworkTableContentView.js:
100 (WI.NetworkTableContentView.prototype._populateWaterfallGraph.appendBlock):
101 (WI.NetworkTableContentView.prototype._populateWaterfallGraph):
102 If the time difference between the end of the previous block and the start of this block
103 would result in less than 2px of space, extend the next block back to the previous block.
104
drousso@apple.comae995422018-10-24 19:27:27 +00001052018-10-24 Devin Rousso <drousso@apple.com>
106
drousso@apple.com17fa0662018-10-24 22:12:54 +0000107 Web Inspector: popovers for function source code are malformed
108 https://bugs.webkit.org/show_bug.cgi?id=190859
109
110 Reviewed by Joseph Pecoraro.
111
112 Previously, the `WI.Popover` would be drawn twice: once when the
113 `WI.CodeMirrorTokenTrackingController` determines that the user has hovered on a function
114 token, and once again when the source for that function is formatted (after being retrieved).
115 In the case that the formatter is able to return the prettified source within a frame (or
116 two), the `WI.Popover` is still in the middle of animating to its new size, meaning that the
117 changes made by the formatted `update` will be overridden on the next rAF (creates a flash).
118
119 * UserInterface/Views/Popover.js:
120 (WI.Popover.prototype):
121 (WI.Popover.prototype._animateFrame.drawBackground):
122 (WI.Popover.prototype._drawBackground):
123 Add a member variable to make sure that there is only ever one rAF firing at a time.
124 Drive-by: rework the background code to only use one canvas.
125
126 * UserInterface/Views/SourceCodeTextEditor.js:
127 (WI.SourceCodeTextEditor.prototype._showPopoverForFunction.didGetDetails):
128 Don't show the `WI.Popover` until the formatter has finished prettifying the function's
129 source code, as otherwise there is brief moment that the popover appears and is empty.
130
1312018-10-24 Devin Rousso <drousso@apple.com>
132
drousso@apple.coma9d4a382018-10-24 20:19:39 +0000133 Web Inspector: REGRESSION (r237232): changing resources via up/down blurs the TreeOutline in Resources
134 https://bugs.webkit.org/show_bug.cgi?id=190862
135
136 Reviewed by Matt Baker.
137
138 * UserInterface/Views/TextEditor.js:
139 (WI.TextEditor.prototype.set selectedTextRange):
140 Don't `focus` unless the `activeElement` is not a WebInspector element (e.g. <body>),
141 meaning that the previously focused element has been removed from the DOM and no longer
142 needs to keep the focus.
143
1442018-10-24 Devin Rousso <drousso@apple.com>
145
drousso@apple.comae995422018-10-24 19:27:27 +0000146 Web Inspector: CSP request payload on medium.com is unreadable, should be pretty-printed
147 https://bugs.webkit.org/show_bug.cgi?id=190354
148 <rdar://problem/45090894>
149
150 Reviewed by Joseph Pecoraro.
151
152 * UserInterface/Views/TextEditor.js:
153 (WI.TextEditor.prototype.set string.update):
154 (WI.TextEditor.prototype._attemptToDetermineMIMEType): Added.
155 If the content doesn't already have a MIME type, attempt to determine one by trying to
156 format it as "javascript" (e.g. request JSON that is simply missing a MIME type).
157
158 * UserInterface/Views/TextContentView.js:
159 (WI.TextContentView):
160 (WI.TextContentView.prototype._handleTextEditorMIMETypeChanged): Added.
161 * UserInterface/Views/TextResourceContentView.js:
162 (WI.TextResourceContentView):
163 (WI.TextResourceContentView.prototype._handleTextEditorMIMETypeChanged): Added.
164 * UserInterface/Views/ScriptContentView.js:
165 (WI.ScriptContentView):
166 (WI.ScriptContentView.prototype._handleTextEditorMIMETypeChanged): Added.
167 Enable the "Pretty Print" navigation button if the MIME type changes to something that is
168 able to be formatted.
169 Drive-by: reorder the creation of the "Pretty Print" button so that it exists if
170 `_attemptToDetermineMIMEType` finishes synchronously.
171
drousso@apple.comc2202bc2018-10-23 09:50:14 +00001722018-10-23 Devin Rousso <drousso@apple.com>
173
drousso@apple.com20429f22018-10-23 09:52:54 +0000174 Uncaught Exception: TypeError: null is not an object (evaluating 'mouseBlock.addEventListener')
175 https://bugs.webkit.org/show_bug.cgi?id=190766
176
177 Reviewed by Brian Burg.
178
179 * UserInterface/Views/NetworkTableContentView.js:
180 (WI.NetworkTableContentView.prototype._populateWaterfallGraph):
181 When creating the `mouseBlock`, if the `startTimestamp` and `endTimestamp` are equal, we
182 don't create an element. If this is true for the total range of the `WI.Resouce` (meaning
183 its `startTime` and `responseEnd`), don't even try to create blocks.
184
1852018-10-23 Devin Rousso <drousso@apple.com>
186
drousso@apple.comc2202bc2018-10-23 09:50:14 +0000187 Web Inspector: "Queued NaNms" in Network tab
188 https://bugs.webkit.org/show_bug.cgi?id=190767
189 <rdar://problem/45420859>
190
191 Reviewed by Brian Burg.
192
193 * UserInterface/Models/ResourceTimingData.js:
194 (WI.ResourceTimingData.prototype.get fetchStart):
195 If the `WI.ResourceTimingData` has no `fetchStart` use the associated `WI.Resource`'s
196 `requestSentTimestamp` (just like `startTime`).
197
commit-queue@webkit.org15bf58d2018-10-22 19:24:04 +00001982018-10-22 Joseph Pecoraro <pecoraro@apple.com>
199
200 Web Inspector: Open Quickly dialog doesn't show named scripts that appear in the debugger sidebar
201 https://bugs.webkit.org/show_bug.cgi?id=190649
202
203 Reviewed by Devin Rousso.
204
205 * UserInterface/Views/OpenResourceDialog.js:
206 (WI.OpenResourceDialog.prototype.didPresentDialog):
207 (WI.OpenResourceDialog.prototype._addResourcesForTarget):
208 (WI.OpenResourceDialog.prototype._addScriptsForTarget):
209 Include non-resource named scripts from the main target in
210 the open quickly dialog.
211
commit-queue@webkit.orgc52a4802018-10-19 18:01:48 +00002122018-10-19 Joseph Pecoraro <pecoraro@apple.com>
213
214 Web Inspector: Remove unused member variable of DebuggerSidebarPanel
215 https://bugs.webkit.org/show_bug.cgi?id=190743
216
217 Reviewed by Devin Rousso.
218
219 * UserInterface/Views/DebuggerSidebarPanel.js:
220 (WI.DebuggerSidebarPanel):
221
drousso@apple.com1cfcb802018-10-17 19:46:54 +00002222018-10-17 Devin Rousso <drousso@apple.com>
223
224 Web Inspector: Quickly Open to line/column does should have caret indicating where the position is
225 https://bugs.webkit.org/show_bug.cgi?id=190643
226
227 Reviewed by Matt Baker.
228
229 * UserInterface/Views/TextEditor.js:
230 (WI.TextEditor.prototype.set selectedTextRange):
231 (WI.TextEditor.prototype.revealPosition):
232 Ensure that CodeMirror is focused before attempting to `setSelection`.
233 Drive-by: allow selections past the "end" of the line (since there is a `\n` or `\r`).
234
235 * UserInterface/Views/SourceCodeTextEditor.js:
236 (WI.SourceCodeTextEditor.prototype.dialogWasDismissedWithRepresentedObject):
237 Remove the extra `focus` call after dismissing the `WI.GoToLineDialog` since it is now
238 handled by `WI.TextEditor` via `revealPosition`.
239
commit-queue@webkit.org9298f2e2018-10-17 01:53:30 +00002402018-10-16 Joseph Pecoraro <pecoraro@apple.com>
241
242 Web Inspector: ⌃G to jump to line in CSS file wipes the line
243 https://bugs.webkit.org/show_bug.cgi?id=190645
244
245 Reviewed by Devin Rousso.
246
247 * UserInterface/Base/Main.js:
248 * UserInterface/Views/Dialog.js:
249 (WI.Dialog.prototype.dismiss):
250 * UserInterface/Views/SourceCodeTextEditor.js:
251 (WI.SourceCodeTextEditor.prototype.dialogWasDismissed): Deleted.
252 Rename the handler when dismissing a dialog with a value so that
253 it is clear this is only on a successful value and not an invalid value.
254 Dialog now only calls this delegate with a valid value. This addresses
255 exceptions seen when the GoToLineDialog was dimissed via Escape and
256 an unexpected `null` value was being handled in the delegate.
257
258 * UserInterface/Views/GoToLineDialog.js:
259 (WI.GoToLineDialog.prototype._handleKeydownEvent):
260 * UserInterface/Views/OpenResourceDialog.js:
261 (WI.OpenResourceDialog.prototype._handleKeydownEvent):
262 Prevent default on the event whenever we dismiss the dialog.
263 Without this, the key event was also being sent to the editor.
264 In this case, that meant an "Enter" key was replacing the new
265 selection in the TextEditor with a newline!
266
drousso@apple.com554bd6b2018-10-16 16:47:07 +00002672018-10-16 Devin Rousso <drousso@apple.com>
268
drousso@apple.com798f34d2018-10-16 19:23:21 +0000269 Web Inspector: Canvas: capture previously saved states and add them to the recording payload
270 https://bugs.webkit.org/show_bug.cgi?id=190473
271
272 Reviewed by Joseph Pecoraro.
273
274 Instead of sending a single object of the current state of the context, send an array of
275 objects, one for each restore point. When replaying, recreate each restore point before
276 applying the selected action(s).
277
278 * UserInterface/Models/Recording.js:
279 (WI.Recording):
280 (WI.Recording.fromPayload):
281 (WI.Recording.prototype.toJSON):
282 (WI.Recording.prototype.async._process):
283 (WI.Recording.prototype.async._swizzleState): Added.
284 * UserInterface/Models/RecordingAction.js:
285 (WI.RecordingAction):
286 (WI.RecordingAction.deriveCurrentState): Added.
287 (WI.RecordingAction.prototype.get states): Added.
288 (WI.RecordingAction.prototype.process):
289 (WI.RecordingAction.prototype.get state): Deleted.
290 Drive-by: when `process`ing, also check to see if any values in the current state changed
291 outside of those expected in `_stateModifiers` (e.g. `restore` may modify some state values).
292
293 * UserInterface/Views/RecordingContentView.js:
294 (WI.RecordingContentView.prototype._generateContentCanvas2D):
295
296 * UserInterface/Views/RecordingStateDetailsSidebarPanel.js:
297 (WI.RecordingStateDetailsSidebarPanel.prototype._generateDetailsCanvas2D):
298 Default to showing the most recent (current) state.
299
300 * UserInterface/Views/CanvasTabContentView.js:
301 (WI.CanvasTabContentView.prototype.initialLayout): Added.
302 (WI.CanvasTabContentView.prototype._addCanvas):
303 (WI.CanvasTabContentView.prototype._removeCanvas):
304 (WI.CanvasTabContentView.prototype._addRecording): Added.
305 (WI.CanvasTabContentView.prototype._recordingImportedOrStopped):
306 (WI.CanvasTabContentView.prototype._recordingAdded): Deleted.
307 * UserInterface/Controllers/CanvasManager.js:
308 (WI.CanvasManager):
309 (WI.CanvasManager.prototype.get importedRecordings): Added.
310 (WI.CanvasManager.prototype.importRecording):
311 Drive-by: store imported recordings on `WI.CanvasManager` so that if the Canvas tab is
312 closed we can still show the list of imported recordings.
313
3142018-10-16 Devin Rousso <drousso@apple.com>
315
drousso@apple.comd773d1d2018-10-16 19:13:15 +0000316 Web Inspector: Canvas recording sidebar scroll position lost after switching tabs
317 https://bugs.webkit.org/show_bug.cgi?id=190482
318
319 Reviewed by Joseph Pecoraro.
320
321 * UserInterface/Views/Sidebar.js:
322 (WI.Sidebar.prototype.removeSidebarPanel):
323 (WI.Sidebar.prototype.set selectedSidebarPanel):
324 Call `hidden` before setting `selected` to `false`, as that sets `display: none;` on the
325 element, which sets the `scrollTop` to `0`.
326
327 * UserInterface/Views/SidebarPanel.js:
328 (WI.SidebarPanel.prototype.shown):
329 (WI.SidebarPanel.prototype.hidden):
330 (WI.SidebarPanel.prototype.get scrollElement): Added.
331 Allow subclasses to specify the scrolling element for saving/restoring the scroll position.
332
333 * UserInterface/Views/CanvasSidebarPanel.js:
334 (WI.CanvasSidebarPanel.prototype.get scrollElement): Added.
335 * UserInterface/Views/RecordingStateDetailsSidebarPanel.js:
336 (WI.RecordingStateDetailsSidebarPanel.prototype.get scrollElement): Added.
337
3382018-10-16 Devin Rousso <drousso@apple.com>
339
drousso@apple.comf7aa1112018-10-16 19:09:29 +0000340 Web Inspector: Should be a way to go directly from an event in the overview view to the specialized timeline for that event
341 https://bugs.webkit.org/show_bug.cgi?id=135307
342 <rdar://problem/17273966>
343
344 Reviewed by Joseph Pecoraro.
345
346 When a `WI.TimelineRecordBar` is clicked, call up the delegate chain to the overview and
347 adjust the currently selected `WI.TimelineRecordBar` among the `WI.TimelineOverviewGraph`s.
348 Similarly, selecting a `WI.DataGridNode` in any `WI.TimelineView` subclass will use the same
349 logic to select the corresponding `WI.TimelineRecordBar`.
350
351 * UserInterface/Views/TimelineOverview.js:
352 (WI.TimelineOverview):
353 (WI.TimelineOverview.prototype.reset):
354 (WI.TimelineOverview.prototype._recordSelected):
355
356 * UserInterface/Views/TimelineOverviewGraph.js:
357 (WI.TimelineOverviewGraph):
358 (WI.TimelineOverviewGraph.prototype.set selectedRecord):
359 (WI.TimelineOverviewGraph.prototype.get selectedRecordBar): Added.
360 (WI.TimelineOverviewGraph.prototype.set selectedRecordBar): Added.
361 (WI.TimelineOverviewGraph.prototype.timelineRecordBarClicked): Added.
362 (WI.TimelineOverviewGraph.prototype._needsSelectedRecordLayout):
363
364 * UserInterface/Views/TimelineRecordBar.js:
365 (WI.TimelineRecordBar):
366 (WI.TimelineRecordBar.prototype.get selected): Added.
367 (WI.TimelineRecordBar.prototype.set selected): Added.
368 (WI.TimelineRecordBar.prototype._handleClick): Added.
369 * UserInterface/Views/TimelineRecordBar.css:
370 (.timeline-record-bar.selected > .segment): Added.
371 Add a `delegate` that is notified whenever the element is clicked.
372
373 * UserInterface/Views/TimelineDataGridNode.js:
374 (WI.TimelineDataGridNode.prototype.refreshGraph.createBar):
375 * UserInterface/Views/LayoutTimelineOverviewGraph.js:
376 (WI.LayoutTimelineOverviewGraph.prototype.updateSelectedRecord):
377 (WI.LayoutTimelineOverviewGraph.prototype._updateRowLayout.createBar):
378 * UserInterface/Views/NetworkTimelineOverviewGraph.js:
379 (WI.NetworkTimelineOverviewGraph.prototype.layout.createBar):
380 * UserInterface/Views/ScriptTimelineOverviewGraph.js:
381 (WI.ScriptTimelineOverviewGraph.prototype.layout.createBar):
382 (WI.ScriptTimelineOverviewGraph.prototype.updateSelectedRecord):
383
384 * UserInterface/Views/TimelineRecordingContentView.js:
385 (WI.TimelineRecordingContentView.prototype.showTimelineViewForTimeline):
386
3872018-10-16 Devin Rousso <drousso@apple.com>
388
drousso@apple.com554bd6b2018-10-16 16:47:07 +0000389 Web Inspector: sequences of spaces longer than 16 don't show a dot
390 https://bugs.webkit.org/show_bug.cgi?id=190528
391
392 Reviewed by Matt Baker.
393
394 * UserInterface/Views/CodeMirrorAdditions.js:
395 Create a new CSS rule and add it to a unique <style> whenever a whitespace sequence with
396 a length is seen for the first time.
397
398 * UserInterface/Views/CodeMirrorOverrides.css:
399 (.show-whitespace-characters .CodeMirror .cm-whitespace-1::before): Deleted.
400 (.show-whitespace-characters .CodeMirror .cm-whitespace-2::before): Deleted.
401 (.show-whitespace-characters .CodeMirror .cm-whitespace-3::before): Deleted.
402 (.show-whitespace-characters .CodeMirror .cm-whitespace-4::before): Deleted.
403 (.show-whitespace-characters .CodeMirror .cm-whitespace-5::before): Deleted.
404 (.show-whitespace-characters .CodeMirror .cm-whitespace-6::before): Deleted.
405 (.show-whitespace-characters .CodeMirror .cm-whitespace-7::before): Deleted.
406 (.show-whitespace-characters .CodeMirror .cm-whitespace-8::before): Deleted.
407 (.show-whitespace-characters .CodeMirror .cm-whitespace-9::before): Deleted.
408 (.show-whitespace-characters .CodeMirror .cm-whitespace-10::before): Deleted.
409 (.show-whitespace-characters .CodeMirror .cm-whitespace-11::before): Deleted.
410 (.show-whitespace-characters .CodeMirror .cm-whitespace-12::before): Deleted.
411 (.show-whitespace-characters .CodeMirror .cm-whitespace-13::before): Deleted.
412 (.show-whitespace-characters .CodeMirror .cm-whitespace-14::before): Deleted.
413 (.show-whitespace-characters .CodeMirror .cm-whitespace-15::before): Deleted.
414 (.show-whitespace-characters .CodeMirror .cm-whitespace-16::before): Deleted.
415
commit-queue@webkit.org1e6bdf32018-10-15 23:10:20 +00004162018-10-15 Charles Vazac <cvazac@gmail.com>
417
418 Web Inspector: Expose Server Timing Response Headers in Network Tab
419 https://bugs.webkit.org/show_bug.cgi?id=190440
420
421 Reviewed by Joseph Pecoraro.
422
423 * Localizations/en.lproj/localizedStrings.js: new key "Server Timing:"
424 * UserInterface/Main.html: add reference to Models/ServerTimingEntry.js
425 * UserInterface/Models/Resource.js:
426 (WI.Resource.prototype.get serverTiming):
427 (WI.Resource.prototype.updateForResponse):
428 * UserInterface/Models/ServerTimingEntry.js: Added.
429 (WI.ServerTimingEntry):
430 (WI.ServerTimingEntry.parseHeaders): parse raw response headers into an array of ServerTimingEntry objects
431 (WI.ServerTimingEntry.parseHeaders.consumeDelimiter):
432 (WI.ServerTimingEntry.parseHeaders.consumeToken):
433 (WI.ServerTimingEntry.):
434 * UserInterface/Test.html: add reference to Models/ServerTimingEntry.js
435 * UserInterface/Views/ResourceTimingBreakdownView.js:
436 (WI.ResourceTimingBreakdownView.prototype._appendServerTimingRow): render a table row per ServerTimingEntry object
437 (WI.ResourceTimingBreakdownView.prototype.initialLayout):
438 (WI.ResourceTimingBreakdownView):
439
nvasilyev@apple.comfcf8b512018-10-15 22:51:45 +00004402018-10-15 Nikita Vasilyev <nvasilyev@apple.com>
441
442 Web Inspector: Dark Mode: pseudo elements in DOM tree are too dark
443 https://bugs.webkit.org/show_bug.cgi?id=190541
444 <rdar://problem/45238443>
445
446 Reviewed by Matt Baker.
447
448 * UserInterface/Views/DOMTreeOutline.css:
449 (@media (prefers-dark-interface)):
450 (.tree-outline.dom .html-pseudo-element):
451
mattbaker@apple.com297e4ae2018-10-15 21:21:16 +00004522018-10-15 Matt Baker <mattbaker@apple.com>
453
454 Web Inspector: REGRESSION (r233824): execution highlight range missing/incorrect in pretty printed code
455 https://bugs.webkit.org/show_bug.cgi?id=188082
456 <rdar://problem/42640580>
457
458 Reviewed by Joseph Pecoraro.
459
460 * UserInterface/Views/SourceCodeTextEditor.js:
461 (WI.SourceCodeTextEditor.prototype.textEditorExecutionHighlightRange):
462 TextEditor expects positions returned by the delegate to be relative to
463 the editor's text content, not the original source code content.
464
465 * UserInterface/Views/TextEditor.js:
466 (WI.TextEditor.prototype._updateExecutionRangeHighlight):
467 Convert positions to CodeMirror format here rather than in the delegate
468 method, which is a layer removed from CodeMirror.
469
nvasilyev@apple.comaa4ad692018-10-15 17:27:02 +00004702018-10-15 Nikita Vasilyev <nvasilyev@apple.com>
471
nvasilyev@apple.com0c0d3302018-10-15 21:14:52 +0000472 Web Inspector: Dark Mode: unreadable text when hovering CSS properties while holding Command
473 https://bugs.webkit.org/show_bug.cgi?id=190548
474 <rdar://problem/45242098>
475
476 Reviewed by Joseph Pecoraro.
477
478 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
479 (.meta-key-pressed .spreadsheet-css-declaration:not(.locked) :matches(.name, .value):not(.editing):hover):
480 In the light mode the color remained the same.
481
4822018-10-15 Nikita Vasilyev <nvasilyev@apple.com>
483
nvasilyev@apple.comaa4ad692018-10-15 17:27:02 +0000484 Web Inspector: Dark Mode: style editor warnings should not look like errors
485 https://bugs.webkit.org/show_bug.cgi?id=190569
486 <rdar://problem/45261689>
487
488 Reviewed by Matt Baker.
489
490 Make warnings in the style editor look the same as warnings in the content views.
491 Unify warning and error background color variables.
492
493 * UserInterface/Views/LogContentView.css:
494 (@media (prefers-dark-interface)):
495 (.console-error-level):
496 (.console-warning-level):
497 * UserInterface/Views/SourceCodeTextEditor.css:
498 (.source-code.text-editor > .CodeMirror .warning):
499 (.source-code.text-editor > .CodeMirror .error):
500 (.source-code.text-editor > .CodeMirror .issue-widget.warning):
501 (.source-code.text-editor > .CodeMirror .issue-widget.inline.warning):
502 (.source-code.text-editor > .CodeMirror .issue-widget.error):
503 (.source-code.text-editor > .CodeMirror .issue-widget.inline.error):
504 (@media (prefers-dark-interface)):
505 (.source-code.text-editor > .CodeMirror .issue-widget):
506 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
507 (.spreadsheet-style-declaration-editor .property.has-warning):
508 (.spreadsheet-style-declaration-editor .property.has-warning .warning):
509 (@media (prefers-dark-interface)):
510 (.spreadsheet-style-declaration-editor :matches(.name, .value).editing):
511 * UserInterface/Views/Variables.css:
512 (:root):
513 (@media (prefers-dark-interface)):
514
drousso@apple.comc0de3e02018-10-12 23:52:09 +00005152018-10-12 Devin Rousso <drousso@apple.com>
516
517 Web Inspector: Canvas: previews aren't removed when the parent view is hidden
518 https://bugs.webkit.org/show_bug.cgi?id=190525
519
520 Reviewed by Matt Baker.
521
522 * UserInterface/Views/CanvasTabContentView.js:
523 (WI.CanvasTabContentView.prototype.attached):
524
525 * UserInterface/Controllers/CanvasManager.js:
526 (WI.CanvasManager.prototype.get canvases):
527 (WI.CanvasManager.prototype.get shaderPrograms):
528 Drive-by: simplify these getters.
529
commit-queue@webkit.org9b2bca72018-10-12 22:59:47 +00005302018-10-12 Joseph Pecoraro <pecoraro@apple.com>
531
532 Web Inspector: Dark Mode: Highlight text in Network Headers search is too dark
533 https://bugs.webkit.org/show_bug.cgi?id=190510
534
535 Reviewed by Devin Rousso.
536
537 * UserInterface/Views/ResourceHeadersContentView.css:
538 (.resource-headers.showing-find-banner .search-highlight):
539 Use adaptive text-color.
540
nvasilyev@apple.comf0ef7e02018-10-12 21:30:17 +00005412018-10-12 Nikita Vasilyev <nvasilyev@apple.com>
542
543 Web Inspector: Dark Mode: wrong color used for "goto arrow" for selected DOM breakpoint tree element
544 https://bugs.webkit.org/show_bug.cgi?id=190180
545 <rdar://problem/44927654>
546
547 Reviewed by Matt Baker.
548
549 * UserInterface/Views/Main.css:
550 (@media (prefers-dark-interface)):
551 (:focus .selected .go-to-arrow):
552
drousso@apple.com6c3e6ef2018-10-12 02:30:18 +00005532018-10-11 Devin Rousso <drousso@apple.com>
554
555 Web Inspector: Network: detail view reverts to "Response" when new requests are added
556 https://bugs.webkit.org/show_bug.cgi?id=190443
557
558 Reviewed by Joseph Pecoraro.
559
560 * UserInterface/Views/NetworkTableContentView.js:
561 (WI.NetworkTableContentView.prototype._showDetailView):
562 Return early if we are already showing a detail view for the selected object.
563
mattbaker@apple.com25d1c432018-10-11 21:46:43 +00005642018-10-11 Matt Baker <mattbaker@apple.com>
565
566 Web Inspector: remove unused TreeOutline style .force-focus
567 https://bugs.webkit.org/show_bug.cgi?id=190480
568 <rdar://problem/45203484>
569
570 Reviewed by Joseph Pecoraro.
571
572 * UserInterface/Views/CallFrameTreeElement.css:
573 (.tree-outline:focus .item.call-frame.selected .status > .status-image):
574 (.tree-outline:matches(:focus, .force-focus) .item.call-frame.selected .status > .status-image): Deleted.
575
576 * UserInterface/Views/CanvasSidebarPanel.css:
577 (.sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline:focus .item.processing.selected .subtitle > progress):
578 (.sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline:matches(:focus, .force-focus) .item.processing.selected .subtitle > progress): Deleted.
579
580 * UserInterface/Views/DataGrid.css:
581 (body[dir=ltr] .data-grid:focus tr.selected td:not(:last-child)):
582 (body[dir=rtl] .data-grid:focus tr.selected td:not(:last-child)):
583 (.data-grid:focus tr.parent.selected td.disclosure::before):
584 (.data-grid:focus tr.parent.expanded.selected td.disclosure::before):
585 (.data-grid:focus tr.selected):
586 (.data-grid:focus tr.selected td .subtitle):
587 (body:not(.window-inactive, .window-docked-inactive) .data-grid:focus tr.editable.selected .cell-content > input):
588 (@media (prefers-dark-interface)):
589 (body[dir=ltr] .data-grid:matches(:focus, .force-focus) tr.selected td:not(:last-child)): Deleted.
590 (body[dir=rtl] .data-grid:matches(:focus, .force-focus) tr.selected td:not(:last-child)): Deleted.
591 (.data-grid:matches(:focus, .force-focus) tr.parent.selected td.disclosure::before): Deleted.
592 (.data-grid:matches(:focus, .force-focus) tr.parent.expanded.selected td.disclosure::before): Deleted.
593 (.data-grid:matches(:focus, .force-focus) tr.selected): Deleted.
594 (.data-grid:matches(:focus, .force-focus) tr.selected td .subtitle): Deleted.
595 (body:not(.window-inactive, .window-docked-inactive) .data-grid:matches(:focus, .force-focus) tr.editable.selected .cell-content > input): Deleted.
596
597 * UserInterface/Views/Main.css:
598 (:focus .selected .go-to-arrow):
599 (:focus .selected .go-to-arrow:active):
600 (:matches(:focus, .force-focus) .selected .go-to-arrow): Deleted.
601 (:matches(:focus, .force-focus) .selected .go-to-arrow:active): Deleted.
602
603 * UserInterface/Views/ProfileView.css:
604 (.profile > .data-grid:focus tr.selected td .location):
605 (.profile > .data-grid:matches(:focus, .force-focus) tr.selected td .location): Deleted.
606
607 * UserInterface/Views/RecordingActionTreeElement.css:
608 (.tree-outline:focus .item.action.selected:not(.initial-state, .invalid) > .icon):
609 (body:not(.window-inactive, .window-docked-inactive) .tree-outline:focus .item.action.selected > .titles .parameter.swizzled,):
610 (.tree-outline:matches(:focus, .force-focus) .item.action.selected:not(.initial-state, .invalid) > .icon): Deleted.
611 (body:not(.window-inactive, .window-docked-inactive) .tree-outline:matches(:focus, .force-focus) .item.action.selected > .titles .parameter.swizzled,): Deleted.
612
613 * UserInterface/Views/ScriptDetailsTimelineView.css:
614 (.tree-outline:focus .item.selected .alternate-subtitle):
615 (.tree-outline:matches(:focus, .force-focus) .item.selected .alternate-subtitle): Deleted.
616
617 * UserInterface/Views/ShaderProgramTreeElement.css:
618 (.tree-outline:focus .item.shader-program.selected .status > img):
619 (.tree-outline:matches(:focus, .force-focus) .item.shader-program.selected .status > img): Deleted.
620
621 * UserInterface/Views/ThreadTreeElement.css:
622 (.tree-outline:focus > .item.thread.selected .status-button.resume):
623 (.tree-outline:matches(:focus, .force-focus) > .item.thread.selected .status-button.resume): Deleted.
624
625 * UserInterface/Views/TimelineRecordBar.css:
626 (:focus .selected .timeline-record-bar > .segment):
627 (:focus .selected .timeline-record-bar > .segment.inactive):
628 (body[dir=ltr] :focus .selected .timeline-record-bar.has-inactive-segment > .segment:not(.inactive)):
629 (body[dir=rtl] :focus .selected .timeline-record-bar.has-inactive-segment > .segment:not(.inactive)):
630 (:matches(:focus, .force-focus) .selected .timeline-record-bar > .segment): Deleted.
631 (:matches(:focus, .force-focus) .selected .timeline-record-bar > .segment.inactive): Deleted.
632 (body[dir=ltr] :matches(:focus, .force-focus) .selected .timeline-record-bar.has-inactive-segment > .segment:not(.inactive)): Deleted.
633 (body[dir=rtl] :matches(:focus, .force-focus) .selected .timeline-record-bar.has-inactive-segment > .segment:not(.inactive)): Deleted.
634
635 * UserInterface/Views/TreeElementStatusButton.css:
636 (:focus .item.selected > .status > .status-button):
637 (:matches(:focus, .force-focus) .item.selected > .status > .status-button): Deleted.
638
639 * UserInterface/Views/TreeOutline.css:
640 (.tree-outline:focus .item.selected .disclosure-button):
641 (.tree-outline:focus .item.selected.expanded .disclosure-button):
642 (.tree-outline:focus .item.selected):
643 (.tree-outline:focus .item.selected .subtitle):
644 (.tree-outline:not(.large):focus .item.selected .status .indeterminate-progress-spinner):
645 (.tree-outline:matches(:focus, .force-focus) .item.selected .disclosure-button): Deleted.
646 (.tree-outline:matches(:focus, .force-focus) .item.selected.expanded .disclosure-button): Deleted.
647 (.tree-outline:matches(:focus, .force-focus) .item.selected): Deleted.
648 (.tree-outline:matches(:focus, .force-focus) .item.selected .subtitle): Deleted.
649 (.tree-outline:not(.large):matches(:focus, .force-focus) .item.selected .status .indeterminate-progress-spinner): Deleted.
650
drousso@apple.com01f92562018-10-11 19:26:27 +00006512018-10-11 Devin Rousso <drousso@apple.com>
652
653 Web Inspector: detail view is not re-shown after sorting the Network table
654 https://bugs.webkit.org/show_bug.cgi?id=190330
655 <rdar://problem/45089607>
656
657 Reviewed by Matt Baker.
658
659 * UserInterface/Views/NetworkTableContentView.js:
660 (WI.NetworkTableContentView.prototype._restoreSelectedRow):
661
drousso@apple.comd44c4f52018-10-10 18:01:25 +00006622018-10-10 Devin Rousso <drousso@apple.com>
663
drousso@apple.comb591eb82018-10-11 04:13:17 +0000664 Web Inspector: create special Network waterfall for media events
665 https://bugs.webkit.org/show_bug.cgi?id=189773
666 <rdar://problem/44626605>
667
668 Reviewed by Joseph Pecoraro.
669
670 * Localizations/en.lproj/localizedStrings.js:
671 * UserInterface/Main.html:
672 * UserInterface/Base/Utilities.js:
673
674 * UserInterface/Protocol/DOMObserver.js:
675 (WI.DOMObserver.prototype.didFireEvent): Added.
676 * UserInterface/Controllers/DOMManager.js:
677 (WI.DOMManager.prototype.didFireEvent): Added.
678 * UserInterface/Models/DOMNode.js:
679 (WI.DOMNode):
680 (WI.DOMNode.prototype.get domEvents): Added.
681 (WI.DOMNode.prototype.didFireEvent): Added.
682 (WI.DOMNode.prototype._addDOMEvent): Added.
683
684 * UserInterface/Views/NetworkTableContentView.js:
685 (WI.NetworkTableContentView):
686 (WI.NetworkTableContentView.prototype.shown):
687 (WI.NetworkTableContentView.prototype.hidden):
688 (WI.NetworkTableContentView.prototype.closed):
689 (WI.NetworkTableContentView.prototype.reset):
690 (WI.NetworkTableContentView.prototype.showRepresentedObject):
691 (WI.NetworkTableContentView.prototype.networkDetailViewClose): Added.
692 (WI.NetworkTableContentView.prototype.tableSortChanged):
693 (WI.NetworkTableContentView.prototype.tableSelectionDidChange):
694 (WI.NetworkTableContentView.prototype._populateNameCell):
695 (WI.NetworkTableContentView.prototype._populateWaterfallGraph.positionByStartOffset): Added.
696 (WI.NetworkTableContentView.prototype._populateWaterfallGraph.setWidthForDuration): Added.
697 (WI.NetworkTableContentView.prototype._populateWaterfallGraph.createDOMEventLine): Added.
698 (WI.NetworkTableContentView.prototype._populateWaterfallGraph.appendBlock):
699 (WI.NetworkTableContentView.prototype._populateWaterfallGraph):
700 (WI.NetworkTableContentView.prototype._processPendingEntries):
701 (WI.NetworkTableContentView.prototype._rowIndexForRepresentedObject): Added.
702 (WI.NetworkTableContentView.prototype._updateEntryForResource):
703 (WI.NetworkTableContentView.prototype._hideDetailView): Added.
704 (WI.NetworkTableContentView.prototype._showDetailView): Added.
705 (WI.NetworkTableContentView.prototype._positionDetailView): Added.
706 (WI.NetworkTableContentView.prototype._resourceTransferSizeDidChange):
707 (WI.NetworkTableContentView.prototype._tryLinkResourceToDOMNode):
708 (WI.NetworkTableContentView.prototype._handleNodeDidFireEvent): Added.
709 (WI.NetworkTableContentView.prototype._updateFilteredEntries):
710 (WI.NetworkTableContentView.prototype._typeFilterScopeBarSelectionChanged):
711 (WI.NetworkTableContentView.prototype._urlFilterDidChange):
712 (WI.NetworkTableContentView.prototype._restoreSelectedRow):
713 (WI.NetworkTableContentView.prototype._waterfallPopoverContent): Added.
714 (WI.NetworkTableContentView.prototype._waterfallPopoverContentForResourceEntry): Added.
715 (WI.NetworkTableContentView.prototype._waterfallPopoverContentForNodeEntry): Added.
716 (WI.NetworkTableContentView.prototype._handleResourceEntryMousedownWaterfall): Added.
717 (WI.NetworkTableContentView.prototype._handleNodeEntryMousedownWaterfall): Added.
718 (WI.NetworkTableContentView.prototype._handleMousedownWaterfall): Added.
719 (WI.NetworkTableContentView.prototype.networkResourceDetailViewClose): Deleted.
720 (WI.NetworkTableContentView.prototype._rowIndexForResource): Deleted.
721 (WI.NetworkTableContentView.prototype._hideResourceDetailView): Deleted.
722 (WI.NetworkTableContentView.prototype._showResourceDetailView): Deleted.
723 (WI.NetworkTableContentView.prototype._waterfallPopoverContentForResource): Deleted.
724 * UserInterface/Views/NetworkTableContentView.css:
725 (.content-view.network .network-table): Added.
726 (.network-table :not(.header) .cell.waterfall .waterfall-container > .dom-event): Added.
727 (.network-table :not(.header) .cell.waterfall .waterfall-container > .dom-activity): Added.
728 (.network-table :not(.header) .cell.waterfall .waterfall-container > .dom-activity.playing): Added.
729
730 * UserInterface/Views/NetworkDOMNodeDetailView.js: Added.
731 (WI.NetworkDOMNodeDetailView):
732 (WI.NetworkDOMNodeDetailView.prototype.initialLayout):
733 (WI.NetworkDOMNodeDetailView.prototype.showContentViewForIdentifier):
734
735 * UserInterface/Views/NetworkResourceDetailView.css:
736 (.content-view.resource-details):
737 (.network-resource-detail): Deleted.
738 (.network-resource-detail .navigation-bar): Deleted.
739 (.network-resource-detail .item.close > .glyph): Deleted.
740 (.network-resource-detail .item.close > .glyph:hover): Deleted.
741 (.network-resource-detail .item.close > .glyph:active): Deleted.
742 (.network .network-resource-detail .navigation-bar .item.radio.button.text-only): Deleted.
743 (.network .network-resource-detail .navigation-bar .item.radio.button.text-only.selected): Deleted.
744 (.network-resource-detail > .content-browser): Deleted.
745 (@media (prefers-dark-interface)): Deleted.
746 * UserInterface/Views/NetworkResourceDetailView.js:
747 (WI.NetworkResourceDetailView):
748 (WI.NetworkResourceDetailView.prototype.shown):
749 (WI.NetworkResourceDetailView.prototype.headersContentViewGoToRequestData):
750 (WI.NetworkResourceDetailView.prototype.sizesContentViewGoToHeaders):
751 (WI.NetworkResourceDetailView.prototype.sizesContentViewGoToRequestBody):
752 (WI.NetworkResourceDetailView.prototype.sizesContentViewGoToResponseBody):
753 (WI.NetworkResourceDetailView.prototype.initialLayout):
754 (WI.NetworkResourceDetailView.prototype.showContentViewForIdentifier):
755 (WI.NetworkResourceDetailView.prototype.get resource): Deleted.
756 (WI.NetworkResourceDetailView.prototype.hidden): Deleted.
757 (WI.NetworkResourceDetailView.prototype.dispose): Deleted.
758 (WI.NetworkResourceDetailView.prototype.willShowWithCookie): Deleted.
759 (WI.NetworkResourceDetailView.prototype.initialLayout): Deleted.
760 (WI.NetworkResourceDetailView.prototype._showPreferredContentView): Deleted.
761 (WI.NetworkResourceDetailView.prototype._showContentViewForNavigationItem): Deleted.
762 (WI.NetworkResourceDetailView.prototype._navigationItemSelected): Deleted.
763 (WI.NetworkResourceDetailView.prototype._handleCloseButton): Deleted.
764
765 * UserInterface/Views/NetworkDetailView.js: Added.
766 (WI.NetworkDetailView):
767 (WI.NetworkDetailView.prototype.get representedObject):
768 (WI.NetworkDetailView.prototype.shown):
769 (WI.NetworkDetailView.prototype.hidden):
770 (WI.NetworkDetailView.prototype.dispose):
771 (WI.NetworkDetailView.prototype.willShowWithCookie):
772 (WI.NetworkDetailView.prototype.initialLayout):
773 (WI.NetworkDetailView.prototype.createDetailNavigationItem):
774 (WI.NetworkDetailView.prototype.detailNavigationItemForIdentifier):
775 (WI.NetworkDetailView.prototype.showContentViewForIdentifier):
776 (WI.NetworkDetailView.prototype._showPreferredContentView):
777 (WI.NetworkDetailView.prototype._navigationItemSelected):
778 (WI.NetworkDetailView.prototype._handleCloseButton):
779 * UserInterface/Views/NetworkDetailView.css: Added.
780 (.network-detail):
781 (.network-detail .navigation-bar):
782 (.network-detail .item.close > .glyph):
783 (.network-detail .item.close > .glyph:hover):
784 (.network-detail .item.close > .glyph:active):
785 (.network .network-detail .navigation-bar .item.radio.button.text-only):
786 (.network .network-detail .navigation-bar .item.radio.button.text-only.selected):
787 (.network-detail > .content-browser):
788 (@media (prefers-dark-interface)):
789 Create base class for detail views shown in the Network tab.
790
791 * UserInterface/Views/DOMNodeEventsContentView.js: Added.
792 (WI.DOMNodeEventsContentView):
793 (WI.DOMNodeEventsContentView.prototype.initialLayout):
794 (WI.DOMNodeEventsContentView.prototype.closed):
795 (WI.DOMNodeEventsContentView.prototype._handleDOMNodeDidFireEvent):
796 * UserInterface/Views/DOMNodeEventsContentView.css: Added.
797 (.dom-node-details.dom-events):
798
799 * UserInterface/Views/DOMEventsBreakdownView.js: Added.
800 (WI.DOMEventsBreakdownView):
801 (WI.DOMEventsBreakdownView.prototype.addEvent):
802 (WI.DOMEventsBreakdownView.prototype.initialLayout):
803 (WI.DOMEventsBreakdownView.prototype._populateTable.percentOfTotalTime):
804 (WI.DOMEventsBreakdownView.prototype._populateTable):
805 * UserInterface/Views/DOMEventsBreakdownView.css: Added.
806 (.waterfall-popover-content .dom-events-breakdown):
807 (.dom-events-breakdown):
808 (.dom-events-breakdown table):
809 (.dom-events-breakdown tr > :matches(th, td)):
810 (.dom-events-breakdown tbody > tr):
811 (.dom-events-breakdown .graph):
812 (.dom-events-breakdown .graph > :matches(.point, .area)):
813 (.dom-events-breakdown .graph > .point):
814 (.dom-events-breakdown .time):
815
816 * UserInterface/Views/ResourceTimingBreakdownView.css:
817 (.resource-timing-breakdown > table > tr.header:not(.total-row) > td): Added.
818 (.popover.waterfall-popover): Deleted.
819
8202018-10-10 Devin Rousso <drousso@apple.com>
821
drousso@apple.com36489392018-10-10 22:41:25 +0000822 Web Inspector: REGRESSION(r236853): Uncaught Exception: undefined is not an object (evaluating 'entry.resource')
823 https://bugs.webkit.org/show_bug.cgi?id=190442
824
825 Reviewed by Joseph Pecoraro.
826
827 * UserInterface/Views/NetworkTableContentView.js:
828 (WI.NetworkTableContentView.prototype.reset):
829 It's unnecessary to deselect rows in the `WI.Table` when we're about to remove them.
830
8312018-10-10 Devin Rousso <drousso@apple.com>
832
drousso@apple.com3df5ab82018-10-10 20:52:12 +0000833 Web Inspector: REGRESSION: selection in network table is lost when new entries are added
834 https://bugs.webkit.org/show_bug.cgi?id=190362
835
836 Reviewed by Matt Baker.
837
838 The `_selectedRows` list is cleared each time `reloadData` is called, meaning that
839 `WI.Table` expects its "owner" to restore the selection (since it doesn't know how). As a
840 result, `WI.NetworkTableContentView` needs to call `selectRow` _after_ `reloadData` is
841 called, not before.
842
843 * UserInterface/Views/NetworkTableContentView.js:
844 (WI.NetworkTableContentView.prototype.tableSortChanged):
845 (WI.NetworkTableContentView.prototype._populateNameCell):
846 (WI.NetworkTableContentView.prototype._processPendingEntries):
847 (WI.NetworkTableContentView.prototype._insertResourceAndReloadTable):
848 (WI.NetworkTableContentView.prototype._updateSort): Added.
849 (WI.NetworkTableContentView.prototype._updateFilteredEntries):
850 (WI.NetworkTableContentView.prototype._reloadTable): Added.
851 (WI.NetworkTableContentView.prototype._resetFilters):
852 (WI.NetworkTableContentView.prototype._typeFilterScopeBarSelectionChanged):
853 (WI.NetworkTableContentView.prototype._handleGroupByDOMNodeCheckedDidChange):
854 (WI.NetworkTableContentView.prototype._urlFilterDidChange):
855 (WI.NetworkTableContentView.prototype._updateSortAndFilteredEntries): Deleted.
856
857 * UserInterface/Views/Table.js:
858 (WI.Table.prototype.reloadData):
859 Ensure that the `_selectedRowIndex` is also reset.
860
8612018-10-10 Devin Rousso <drousso@apple.com>
862
drousso@apple.com644cfac2018-10-10 18:34:49 +0000863 Web Inspector: notify the frontend when a canvas has started recording via console.record
864 https://bugs.webkit.org/show_bug.cgi?id=190306
865
866 Reviewed by Brian Burg.
867
868 * UserInterface/Protocol/CanvasObserver.js:
869 (WI.CanvasObserver.prototype.recordingStarted): Added.
870
871 * UserInterface/Protocol/CanvasManager.js:
872 (WI.CanvasManager.prototype.recordingStarted): Added.
873
874 * UserInterface/Models/Canvas.js:
875 (WI.Canvas.prototype.startRecording):
876 (WI.Canvas.prototype.recordingStarted): Added.
877 (WI.Canvas.prototype.recordingFinished):
878
8792018-10-10 Devin Rousso <drousso@apple.com>
880
drousso@apple.comd44c4f52018-10-10 18:01:25 +0000881 Web Inspector: indent all network entries when "Group by Node" is checked
882 https://bugs.webkit.org/show_bug.cgi?id=190388
883
884 Reviewed by Timothy Hatcher.
885
886 * UserInterface/Views/NetworkTableContentView.js:
887 (WI.NetworkTableContentView.prototype._populateNameCell):
888 (WI.NetworkTableContentView.prototype._handleGroupByDOMNodeCheckedDidChange):
889
890 * UserInterface/Views/NetworkTableContentView.css:
891 (.network-table.grouped .data-container .cell.name): Added.
892 (.network-table.grouped .data-container .cell:not(.parent).name): Added.
893 (.network-table.grouped .data-container .cell.child.name): Added.
894 (.network-table .cell.grouped-by-node.name): Deleted.
895 (body[dir=ltr] .network-table .cell.grouped-by-node.name): Deleted.
896 (body[dir=rtl] .network-table .cell.grouped-by-node.name): Deleted.
897 Apply a padding to all nodes when the `WI.Table` is grouped.
898
drousso@apple.coma4a2ee32018-10-09 19:04:18 +00008992018-10-09 Devin Rousso <drousso@apple.com>
900
drousso@apple.com3f5bc8d2018-10-10 02:49:52 +0000901 Web Inspector: show redirect requests in Network and Timelines tabs
902 https://bugs.webkit.org/show_bug.cgi?id=150005
903 <rdar://problem/5378164>
904
905 Reviewed by Joseph Pecoraro.
906
907 * Localizations/en.lproj/localizedStrings.js:
908 * UserInterface/Views/Variables.css:
909 * UserInterface/Main.html:
910 * UserInterface/Test.html:
911
912 * UserInterface/Controllers/NetworkManager.js:
913 (WI.NetworkManager.prototype.resourceRequestWillBeSent):
914
915 * UserInterface/Models/Resource.js:
916 (WI.Resource):
917 (WI.Resource.prototype.get redirects): Added.
918 (WI.Resource.prototype.get lastRedirectReceivedTimestamp):
919 (WI.Resource.prototype.updateForRedirectResponse):
920 Save each redirect in an array instead of just remembering the last timestamp.
921
922 * UserInterface/Models/ResourceTimingData.js:
923 (WI.ResourceTimingData):
924 (WI.ResourceTimingData.fromPayload.offsetToTimestamp):
925 (WI.ResourceTimingData.fromPayload):
926 (WI.ResourceTimingData.prototype.get redirectStart): Added.
927 (WI.ResourceTimingData.prototype.get redirectEnd): Added.
928 (WI.ResourceTimingData.prototype.get fetchStart): Added.
929 Add missing fields for `Network.types.ResourceTiming`.
930
931 * UserInterface/Models/Redirect.js: Added.
932 (WI.Redirect):
933 (WI.Redirect.prototype.get url):
934 (WI.Redirect.prototype.get requestMethod):
935 (WI.Redirect.prototype.get requestHeaders):
936 (WI.Redirect.prototype.get responseStatusCode):
937 (WI.Redirect.prototype.get responseStatusText):
938 (WI.Redirect.prototype.get responseHeaders):
939 (WI.Redirect.prototype.get timestamp):
940 (WI.Redirect.prototype.get urlComponents):
941
942 * UserInterface/Views/ResourceHeadersContentView.js:
943 (WI.ResourceHeadersContentView):
944 (WI.ResourceHeadersContentView.prototype.initialLayout):
945 (WI.ResourceHeadersContentView.prototype.layout):
946 (WI.ResourceHeadersContentView.prototype._refreshRedirectHeadersSections): Added.
947 (WI.ResourceHeadersContentView.prototype._resourceRequestHeadersDidChange):
948 * UserInterface/Views/ResourceHeadersContentView.css:
949 (body[dir] .resource-headers > section.summary > .details): Added.
950 (body[dir] .resource-headers > section:matches(.redirect, .headers) > .details): Added.
951 (.resource-headers .details .key):
952 (.resource-headers .summary .key):
953 (body[dir] .resource-headers > section > .details): Deleted.
954 (body[dir] .resource-headers > section.headers > .details): Deleted.
955 (.resource-headers .value): Deleted.
956 Add a request/response header section for each redirect.
957
958 * UserInterface/Views/NetworkTableContentView.js:
959 (WI.NetworkTableContentView.prototype._populateWaterfallGraph.appendBlock):
960 (WI.NetworkTableContentView.prototype._populateWaterfallGraph):
961 (WI.NetworkTableContentView.prototype._checkURLFilterAgainstResource):
962 (WI.NetworkTableContentView.prototype._waterfallPopoverContentForResource):
963 * UserInterface/Views/NetworkTableContentView.css:
964 (.waterfall .block.redirect): Added.
965 (.waterfall .block.queue):
966 * UserInterface/Views/ResourceTimelineDataGridNode.js:
967 (WI.ResourceTimelineDataGridNode.prototype._mouseoverRecordBar):
968 * UserInterface/Views/ResourceTimingBreakdownView.js:
969 (WI.ResourceTimingBreakdownView.prototype.initialLayout):
970 Add timeline/waterfall entries for total redirect time.
971
9722018-10-09 Devin Rousso <drousso@apple.com>
973
drousso@apple.come9090592018-10-09 22:31:55 +0000974 Web Inspector: Canvas Tab: grayed out Record button in navigator is nearly invisible
975 https://bugs.webkit.org/show_bug.cgi?id=190365
976 <rdar://problem/45097739>
977
978 Reviewed by Brian Burg.
979
980 * UserInterface/Views/CanvasSidebarPanel.css:
981 (@media (prefers-dark-interface)): Added.
982 (.sidebar > .panel.navigation.canvas > .navigation-bar > .item.record-start-stop.disabled): Added.
983
9842018-10-09 Devin Rousso <drousso@apple.com>
985
drousso@apple.coma4a2ee32018-10-09 19:04:18 +0000986 Web Inspector: REGRESSION: fix canvas test failures after r236952 and r236954
987 https://bugs.webkit.org/show_bug.cgi?id=190403
988
989 Reviewed by Joseph Pecoraro.
990
991 * UserInterface/Controllers/CanvasManager.js:
992 (WI.CanvasManager.prototype._removeCanvas):
993 Clear the `shaderProgramCollection` when a `WI.Canvas` is removed so that a remove event is
994 fired for each `WI.ShaderProgram`.
995
justin_fan@apple.com947003f2018-10-09 01:37:30 +00009962018-10-08 Justin Fan <justin_fan@apple.com>
997
998 WebGPU: Rename old WebGPU prototype to WebMetal
999 https://bugs.webkit.org/show_bug.cgi?id=190325
1000 <rdar://problem/44990443>
1001
1002 Reviewed by Dean Jackson.
1003
1004 Rename WebGPU prototype files to WebMetal in preparation for implementing the new (Oct 2018) WebGPU interface.
1005 For WebInspector, add WebMetal to valid enums for canvas types.
1006
1007 * UserInterface/Models/Canvas.js:
1008 (WI.Canvas.fromPayload):
1009 (WI.Canvas.displayNameForContextType):
1010
drousso@apple.comb5626cf2018-10-08 17:15:19 +000010112018-10-08 Devin Rousso <drousso@apple.com>
1012
drousso@apple.com0de9a8b2018-10-09 00:19:40 +00001013 Web Inspector: Dark Mode: canvas recording glyph is black on gray
1014 https://bugs.webkit.org/show_bug.cgi?id=190367
1015 <rdar://problem/45099304>
1016
1017 Reviewed by Joseph Pecoraro.
1018
1019 * UserInterface/Views/CanvasOverviewContentView.css:
1020 (.content-view.canvas-overview .content-view.canvas > footer .view-recording): Added.
1021 (.content-view.canvas-overview .content-view.canvas > footer > .recordings::before): Deleted.
1022
10232018-10-08 Devin Rousso <drousso@apple.com>
1024
drousso@apple.com9ba2f602018-10-09 00:14:52 +00001025 Web Inspector: allow multiple canvases to be recorded at the same time
1026 https://bugs.webkit.org/show_bug.cgi?id=190305
1027
1028 Reviewed by Brian Burg.
1029
1030 Moved the logic for maintaining whether a canvas is actively recording from
1031 `WI.CanvasManager` to `WI.Canvas`, meaning that each canvas can now record independently of
1032 every other canvas in the page. If multiple recordings are all finished simultaneously, only
1033 show the first one to be recieved by the frontend.
1034
1035 * UserInterface/Controllers/CanvasManager.js:
1036 (WI.CanvasManager):
1037 (WI.CanvasManager.prototype.recordingProgress):
1038 (WI.CanvasManager.prototype.recordingFinished):
1039 (WI.CanvasManager.prototype.programCreated):
1040 (WI.CanvasManager.prototype.programDeleted):
1041 (WI.CanvasManager.prototype._removeCanvas):
1042 (WI.CanvasManager.prototype._mainResourceDidChange):
1043 (WI.CanvasManager.prototype.get recordingCanvas): Deleted.
1044 (WI.CanvasManager.prototype.startRecording): Deleted.
1045 (WI.CanvasManager.prototype.stopRecording): Deleted.
1046 (WI.CanvasManager.prototype._dispatchShaderProgramRemoved): Deleted.
1047
1048 * UserInterface/Models/Canvas.js:
1049 (WI.Canvas.prototype.get recordingFrameCount): Added.
1050 (WI.Canvas.prototype.get recordingBufferUsed): Added.
1051 (WI.Canvas.prototype.get recordingActive): Added.
1052 (WI.Canvas.prototype.get isRecording): Deleted.
1053 (WI.Canvas.prototype.startRecording): Added.
1054 (WI.Canvas.prototype.stopRecording): Added.
1055 (WI.Canvas.prototype.recordingProgress): Added.
1056 (WI.Canvas.prototype.recordingFinished): Added.
1057
1058 * UserInterface/Views/CanvasTabContentView.js:
1059 (WI.CanvasTabContentView.prototype.attached):
1060 (WI.CanvasTabContentView.prototype.detached):
1061 (WI.CanvasTabContentView.prototype._recordingImportedOrStopped):
1062 (WI.CanvasTabContentView.prototype._handleSpace):
1063 (WI.CanvasTabContentView):
1064
1065 * UserInterface/Views/CanvasOverviewContentView.css:
1066 (.content-view.canvas-overview .content-view.canvas.recording-active): Added.
1067 (.content-view.canvas-overview .content-view.canvas.recording-active > header): Added.
1068 (.content-view.canvas-overview .content-view.canvas.recording-active > header > .titles > .title): Added.
1069 (.content-view.canvas-overview .content-view.canvas.recording-active > header > .titles > .subtitle): Added.
1070 (.content-view.canvas-overview .content-view.canvas.recording-active > header > .navigation-bar > .item): Added.
1071 (.content-view.canvas-overview .content-view.canvas:matches(:hover, .recording-active) > header > .navigation-bar): Added.
1072 (.content-view.canvas-overview .content-view.canvas:not(.recording-active) > header > .navigation-bar > .item.record-start-stop.disabled): Added.
1073 (.content-view.canvas-overview .content-view.canvas:not(.recording-active) > header > .navigation-bar > .item.record-start-stop:not(.disabled):hover): Added.
1074 (.content-view.canvas-overview .content-view.canvas:not(.recording-active) > header > .navigation-bar > .item.record-start-stop:not(.disabled):active): Added.
1075 (.content-view.canvas-overview .content-view.canvas.recording-active > .progress-vie): Added.
1076 (.content-view.canvas-overview .content-view.canvas.recording-active > .preview): Added.
1077 (.content-view.canvas-overview .content-view.canvas.recording-active): Added.
1078 (.content-view.canvas-overview .content-view.canvas.recording-active > header): Added.
1079 (.content-view.canvas-overview .content-view.canvas.recording-active > header > .titles > .subtitle): Added.
1080 (.content-view.canvas-overview .content-view.canvas.is-recording): Deleted.
1081 (.content-view.canvas-overview .content-view.canvas.is-recording > header): Deleted.
1082 (.content-view.canvas-overview .content-view.canvas.is-recording > header > .titles > .title): Deleted.
1083 (.content-view.canvas-overview .content-view.canvas.is-recording > header > .titles > .subtitle): Deleted.
1084 (.content-view.canvas-overview .content-view.canvas.is-recording > header > .navigation-bar > .item): Deleted.
1085 (.content-view.canvas-overview .content-view.canvas:matches(:hover, .is-recording) > header > .navigation-bar): Deleted.
1086 (.content-view.canvas-overview .content-view.canvas:not(.is-recording) > header > .navigation-bar > .item.record-start-stop.disabled): Deleted.
1087 (.content-view.canvas-overview .content-view.canvas:not(.is-recording) > header > .navigation-bar > .item.record-start-stop:not(.disabled):hover): Deleted.
1088 (.content-view.canvas-overview .content-view.canvas:not(.is-recording) > header > .navigation-bar > .item.record-start-stop:not(.disabled):active): Deleted.
1089 (.content-view.canvas-overview .content-view.canvas.is-recording > .progress-vie): Deleted.
1090 (.content-view.canvas-overview .content-view.canvas.is-recording > .preview): Deleted.
1091 (.content-view.canvas-overview .content-view.canvas.is-recording): Deleted.
1092 (.content-view.canvas-overview .content-view.canvas.is-recording > header): Deleted.
1093 (.content-view.canvas-overview .content-view.canvas.is-recording > header > .titles > .subtitle): Deleted.
1094
1095 * UserInterface/Views/CanvasContentView.js:
1096 (WI.CanvasContentView.prototype.attached):
1097 (WI.CanvasContentView.prototype.detached):
1098 (WI.CanvasContentView.prototype._toggleRecording):
1099 (WI.CanvasContentView.prototype._recordingProgress):
1100 (WI.CanvasContentView.prototype._recordingStopped):
1101 (WI.CanvasContentView.prototype._shaderProgramAdded):
1102 (WI.CanvasContentView.prototype._shaderProgramRemoved):
1103 (WI.CanvasContentView.prototype._updateRecordNavigationItem):
1104 (WI.CanvasContentView.prototype._updateProgressView):
1105
1106 * UserInterface/Views/CanvasSidebarPanel.js:
1107 (WI.CanvasSidebarPanel):
1108 (WI.CanvasSidebarPanel.prototype.set canvas):
1109 (WI.CanvasSidebarPanel.prototype._toggleRecording):
1110 (WI.CanvasSidebarPanel.prototype._updateRecordNavigationItem):
1111
1112 * UserInterface/Views/CanvasTreeElement.js:
1113 (WI.CanvasTreeElement):
1114 (WI.CanvasTreeElement.prototype._updateStatus):
1115
11162018-10-08 Devin Rousso <drousso@apple.com>
1117
drousso@apple.comd1c75cd2018-10-09 00:07:24 +00001118 Web Inspector: replace Range.svg icon
1119 https://bugs.webkit.org/show_bug.cgi?id=190372
1120
1121 Reviewed by Joseph Pecoraro.
1122
1123 * UserInterface/Images/Range.svg:
1124 * UserInterface/Images/RangeLarge.svg: Added.
1125
1126 * UserInterface/Models/Resource.js:
1127 (WI.Resource.classNameForResource): Added.
1128 Create a static function for specializing the `className` of `WI.Resource` objects.
1129
1130 * UserInterface/Views/NetworkTableContentView.js:
1131 (WI.NetworkTableContentView.prototype._populateNameCell):
1132
1133 * UserInterface/Views/ResourceTreeElement.js:
1134 (WI.ResourceTreeElement):
1135
1136 * UserInterface/Views/ResourceIcons.css:
1137 (.resource-icon.resource-type-ping .icon, .resource-icon.resource-type-beacon .icon, .large .resource-icon.resource-type-ping .icon, .large .resource-icon.resource-type-beacon .icon):
1138 (.resource-icon.resource-type-range .icon):
1139 (.large .resource-icon.resource-type-range .icon): Added.
1140 Drive-by: added `.large` versions of `ping` and `beacon` icons for the
1141 `WI.OpenResourceDialog` elements.
1142
11432018-10-08 Devin Rousso <drousso@apple.com>
1144
drousso@apple.com21748ed2018-10-08 18:25:52 +00001145 Web Inspector: group media network entries by the node that triggered the request
1146 https://bugs.webkit.org/show_bug.cgi?id=189606
1147 <rdar://problem/44438527>
1148
1149 Reviewed by Brian Burg.
1150
1151 Introduces a `WI.NavigationItem` for changing whether network entries are grouped by the
1152 node that initiated the load (if applicable). When grouped by node, a tree-like layout of
1153 the table cells (including expand/collapse) is used for resources that share the same
1154 initiator node. The values for the node's cell are based on it's initated resources.
1155
1156 * Localizations/en.lproj/localizedStrings.js:
1157 * UserInterface/Base/Setting.js:
1158
1159 * UserInterface/Controllers/DOMManager.js:
1160 (WI.DOMManager):
1161 (WI.DOMManager.prototype._mainResourceDidChange): Added.
1162 Whenever the frame navigates, re-request the document so that `NetworkAgent` is able to send
1163 valid `nodeId` for each request's `initiatorNode`. This means that the document should
1164 always be available.
1165
1166 * UserInterface/Views/NetworkTableContentView.js:
1167 (WI.NetworkTableContentView):
1168 (WI.NetworkTableContentView.prototype.get filterNavigationItems):
1169 (WI.NetworkTableContentView.prototype.closed):
1170 (WI.NetworkTableContentView.prototype.reset):
1171 (WI.NetworkTableContentView.prototype.tableSortChanged):
1172 (WI.NetworkTableContentView.prototype.tableSelectedRowChanged):
1173 (WI.NetworkTableContentView.prototype.tablePopulateCell):
1174 (WI.NetworkTableContentView.prototype._populateNameCell.createIconElement): Added.
1175 (WI.NetworkTableContentView.prototype._populateNameCell):
1176 (WI.NetworkTableContentView.prototype._populateDomainCell.createIconAndText): Added.
1177 (WI.NetworkTableContentView.prototype._populateDomainCell):
1178 (WI.NetworkTableContentView.prototype._populateInitiatorCell):
1179 (WI.NetworkTableContentView.prototype._populateTransferSizeCell):
1180 (WI.NetworkTableContentView.prototype._generateSortComparator):
1181 (WI.NetworkTableContentView.prototype._processPendingEntries):
1182 (WI.NetworkTableContentView.prototype._updateEntryForResource.updateExistingEntry): Added.
1183 (WI.NetworkTableContentView.prototype._updateEntryForResource):
1184 (WI.NetworkTableContentView.prototype._insertResourceAndReloadTable):
1185 (WI.NetworkTableContentView.prototype._entryForDOMNode): Added.
1186 (WI.NetworkTableContentView.prototype._tryLinkResourceToDOMNode): Added.
1187 (WI.NetworkTableContentView.prototype._uniqueValuesForDOMNodeEntry): Added.
1188 (WI.NetworkTableContentView.prototype._updateFilteredEntries):
1189 (WI.NetworkTableContentView.prototype._handleGroupByDOMNodeCheckedDidChange): Added.
1190 * UserInterface/Views/NetworkTableContentView.css:
1191 (.network-table .cell.dom-node.name .icon): Added.
1192 (.network-table .cell.dom-node.name .disclosure): Added.
1193 (body[dir=rtl] .network-table .cell.dom-node.name .disclosure): Added.
1194 (.network-table:focus li.selected .cell.dom-node.name .disclosure): Added.
1195 (.network-table .cell.dom-node.name .disclosure.expanded): Added.
1196 (.network-table:focus li.selected .cell.node.name .disclosure.expanded): Added.
1197 (.network-table .cell.grouped-by-node.name): Added.
1198 (body[dir=ltr] .network-table .cell.grouped-by-node.name): Added.
1199 (body[dir=rtl] .network-table .cell.grouped-by-node.name): Added.
1200 (.network-table li:not(.selected) .cell:matches(.cache-type, .multiple)): Added.
1201 (.network-table li.selected .cell.domain > .lock): Added.
1202 (.network-table .cache-type): Deleted.
1203 When two resources are added that share the same `initiatorNode`, insert a node entry into
1204 the `WI.Table` before the first resource entry for that node (based on the current sort).
1205 This node entry is added after the resource entries are filtered, so they won't appear in
1206 the default entries list.
1207
1208 * UserInterface/Models/Resource.js:
1209 (WI.Resource):
1210 (WI.Resource.prototype.initiatorNode): Added.
1211 (WI.Resource.prototype.requestedByteRange): Added.
1212 * UserInterface/Controllers/NetworkManager.js:
1213 (WI.NetworkManager.prototype.resourceRequestWillBeSent):
1214 (WI.NetworkManager.prototype.resourceRequestWasServedFromMemoryCache):
1215 (WI.NetworkManager.prototype._initiatorNodeFromPayload): Added.
1216
1217 * UserInterface/Images/Range.svg: Added.
1218 * UserInterface/Views/ResourceIcons.css:
1219 (.resource-icon.resource-type-range .icon): Added.
1220
12212018-10-08 Devin Rousso <drousso@apple.com>
1222
drousso@apple.come3c64a52018-10-08 17:24:15 +00001223 Web Inspector: clicking initiator link in Network Tab table doesn't automatically switch to Preview section
1224 https://bugs.webkit.org/show_bug.cgi?id=190286
1225
1226 Reviewed by Brian Burg.
1227
1228 * UserInterface/Views/NetworkResourceDetailView.js:
1229 (WI.NetworkResourceDetailView.prototype.shown):
1230 (WI.NetworkResourceDetailView.prototype._showContentViewForNavigationItem):
1231
12322018-10-08 Devin Rousso <drousso@apple.com>
1233
drousso@apple.comb7680c32018-10-08 17:17:21 +00001234 Web Inspector: be more specific as to what types of WI.Collection are allowed for the Resources tab
1235 https://bugs.webkit.org/show_bug.cgi?id=190304
1236
1237 Reviewed by Brian Burg.
1238
1239 * UserInterface/Base/Main.js:
1240 (WI.tabContentViewClassForRepresentedObject):
1241 * UserInterface/Views/ResourcesTabContentView.js:
1242 (WI.ResourcesTabContentView.prototype.canShowRepresentedObject):
1243
12442018-10-08 Devin Rousso <drousso@apple.com>
1245
drousso@apple.comb5626cf2018-10-08 17:15:19 +00001246 Web Inspector: Open Resource Dialog should show path to resource (to disambiguate resources with same name)
1247 https://bugs.webkit.org/show_bug.cgi?id=178153
1248 <rdar://problem/34925686>
1249
1250 Reviewed by Brian Burg.
1251
1252 * UserInterface/Views/OpenResourceDialog.js:
1253 (WI.OpenResourceDialog.prototype._populateResourceTreeOutline):
1254 * UserInterface/Views/OpenResourceDialog.css:
1255 (.open-resource-dialog .tree-outline.large .item .titles[data-path]): Added.
1256 (.open-resource-dialog .tree-outline.large .item .titles[data-path]::after): Added.
1257 (.open-resource-dialog .tree-outline.large .item .titles .title): Added.
1258 (.open-resource-dialog .tree-outline.large .item .titles .subtitle): Added.
1259 (.open-resource-dialog .tree-outline.large .item .titles): Deleted.
1260
drousso@apple.com23ddbe62018-10-05 21:12:48 +000012612018-10-05 Devin Rousso <drousso@apple.com>
1262
drousso@apple.com7b7625a2018-10-06 01:06:20 +00001263 Web Inspector: add WebVTT MIME/file type mappings to the frontend
1264 https://bugs.webkit.org/show_bug.cgi?id=190288
1265
1266 Reviewed by Brian Burg.
1267
1268 * UserInterface/Base/MIMETypeUtilities.js:
1269 (WI.mimeTypeForFileExtension):
1270 (WI.fileExtensionForMIMEType):
1271
1272 * UserInterface/Views/NetworkTableContentView.js:
1273 (WI.NetworkTableContentView.displayNameForResource):
1274 Also attempt to use the mime-type-to-extension when the `WI.Resource` is of type `Other`.
1275
12762018-10-05 Devin Rousso <drousso@apple.com>
1277
drousso@apple.com68eb1312018-10-06 00:20:54 +00001278 Web Inspector: refactor constructor of WI.Resource
1279 https://bugs.webkit.org/show_bug.cgi?id=190318
1280
1281 Reviewed by Joseph Pecoraro.
1282
1283 Reworked constructor of `WI.Resource` to use an optional object for any non-essential arguments.
1284
1285 Drive-by: moved some simple getters to the top of the class to save space.
1286
1287 * UserInterface/Models/Resource.js:
1288 (WI.Resource):
1289
1290 * UserInterface/Models/SourceMapResource.js:
1291 (WI.SourceMapResource):
1292
1293 * UserInterface/Models/WebSocketResource.js:
1294 (WI.WebSocketResource):
1295
1296 * UserInterface/Controllers/NetworkManager.js:
1297 (WI.NetworkManager.prototype.frameDidNavigate):
1298 (WI.NetworkManager.prototype.resourceRequestWillBeSent):
1299 (WI.NetworkManager.prototype.webSocketWillSendHandshakeRequest):
1300 (WI.NetworkManager.prototype.resourceRequestWasServedFromMemoryCache):
1301 (WI.NetworkManager.prototype.resourceRequestDidReceiveResponse):
1302 (WI.NetworkManager.prototype._addNewResourceToFrameOrTarget):
1303 (WI.NetworkManager.prototype._createFrame):
1304 (WI.NetworkManager.prototype._createResource):
1305
13062018-10-05 Devin Rousso <drousso@apple.com>
1307
drousso@apple.com23ddbe62018-10-05 21:12:48 +00001308 Web Inspector: use iframe's name attribute for FrameTreeElement
1309 https://bugs.webkit.org/show_bug.cgi?id=190275
1310
1311 Reviewed by Joseph Pecoraro.
1312
1313 * UserInterface/Views/FrameTreeElement.js:
1314 (WI.FrameTreeElement.prototype.get mainTitleText): Added.
1315
1316 * UserInterface/Views/ResourceTreeElement.js:
1317 (WI.ResourceTreeElement.prototype.get mainTitleText): Added.
1318 (WI.ResourceTreeElement.prototype._updateTitles):
1319 Provide a way for subclasses to override what is used for the `mainTitle`.
1320
1321 * UserInterface/Views/QuickConsole.js:
1322 (WI.QuickConsole.prototype._createExecutionContextPathComponentFromFrame):
1323 Update the execution context picker to match what `WI.FrameTreeElement`s show.
1324
mattbaker@apple.com511954f2018-10-04 21:54:14 +000013252018-10-04 Matt Baker <mattbaker@apple.com>
1326
mattbaker@apple.come2e32902018-10-05 04:04:10 +00001327 Web Inspector: REGRESSION (r236766): Storage tab no longer updates after main frame navigation
1328 https://bugs.webkit.org/show_bug.cgi?id=190298
1329
1330 Reviewed by Joseph Pecoraro.
1331
1332 Handle Cleared events from storage managers separately, so that successive
1333 events during page load does not cause the Storage tab to destroy newly
1334 created tree elements.
1335
1336 * UserInterface/Views/StorageSidebarPanel.js:
1337 (WI.StorageSidebarPanel):
1338 (WI.StorageSidebarPanel.prototype._closeContentViewForTreeElement):
1339 (WI.StorageSidebarPanel.prototype._domStorageCleared):
1340 (WI.StorageSidebarPanel.prototype._applicationCacheCleared):
1341 (WI.StorageSidebarPanel.prototype._indexedDatabaseCleared):
1342 (WI.StorageSidebarPanel.prototype._databaseCleared):
1343 (WI.StorageSidebarPanel.prototype._storageCleared): Deleted.
1344
13452018-10-04 Matt Baker <mattbaker@apple.com>
1346
mattbaker@apple.com511954f2018-10-04 21:54:14 +00001347 Web Inspector: Table should support multiple selection and Cmd-click behavior
1348 https://bugs.webkit.org/show_bug.cgi?id=189705
1349 <rdar://problem/44571170>
1350
1351 Reviewed by Devin Rousso.
1352
1353 Add multiple row selection to Table, with new methods for programmatic
1354 selection (deselectRow, deselectAll), and Command-click support for
1355 selecting/deselecting Table rows.
1356
1357 * UserInterface/Base/IndexSet.js: Added.
1358 (WI.IndexSet):
1359 (WI.IndexSet.prototype.get size):
1360 (WI.IndexSet.prototype.get firstIndex):
1361 (WI.IndexSet.prototype.get lastIndex):
1362 (WI.IndexSet.prototype.add):
1363 (WI.IndexSet.prototype.delete):
1364 (WI.IndexSet.prototype.has):
1365 (WI.IndexSet.prototype.clear):
1366 (WI.IndexSet.prototype.indexGreaterThan):
1367 (WI.IndexSet.prototype.indexLessThan):
1368 (WI.IndexSet.prototype.Symbol.iterator):
1369 (WI.IndexSet.prototype._indexClosestTo):
1370 (WI.IndexSet.prototype._validateIndex):
1371 Helper container for managing an ordered sequence of unique positive
1372 integers, with set semantics, backed by a sorted array. Used by Table,
1373 and eventually by TreeOutline.
1374
1375 * UserInterface/Main.html:
1376 * UserInterface/Test.html:
1377 * UserInterface/Test/Test.js:
1378 New files and stubs to make Table layout tests possible.
1379
1380 * UserInterface/Views/NetworkTableContentView.js:
1381 (WI.NetworkTableContentView.prototype.reset):
1382 (WI.NetworkTableContentView.prototype.showRepresentedObject):
1383 (WI.NetworkTableContentView.prototype.networkResourceDetailViewClose):
1384 (WI.NetworkTableContentView.prototype.tableSelectionDidChange):
1385 (WI.NetworkTableContentView.prototype._restoreSelectedRow):
1386 (WI.NetworkTableContentView.prototype.tableSelectedRowChanged): Deleted.
1387 Replace uses of `clearSelectedRow` with `deselectAll`, and updated
1388 selection changed delegate.
1389
1390 * UserInterface/Views/Table.css:
1391 (.table > .data-container > .data-list > li):
1392 (.table > .data-container > .data-list > li.selected):
1393 (@media (prefers-dark-interface)):
1394 (.table,): Deleted.
1395 Removed styles that are no longer needed after https://webkit.org/b/189766,
1396 and provide a visual separation between adjacent selected rows.
1397
1398 * UserInterface/Views/Table.js:
1399 (WI.Table):
1400 (WI.Table.prototype.get selectedRows):
1401 (WI.Table.prototype.get allowsMultipleSelection):
1402 (WI.Table.prototype.set allowsMultipleSelection):
1403 (WI.Table.prototype.reloadData):
1404 (WI.Table.prototype.selectRow):
1405 (WI.Table.prototype.deselectRow):
1406 (WI.Table.prototype.deselectAll):
1407 (WI.Table.prototype._getOrCreateRow):
1408 (WI.Table.prototype._handleMouseDown):
1409 (WI.Table.prototype._deselectAllAndSelect):
1410 (WI.Table.prototype._isRowSelected):
1411 (WI.Table.prototype._notifySelectionDidChange):
1412 (WI.Table.prototype.clearSelectedRow): Deleted.
1413 Table now tracks selected rows using an IndexSet. selectRow accepts an
1414 optional parameter, `extendSelection`, for adding rows to the selection.
1415 _selectedRowIndex is now used to track the most recently selected row.
1416 This will be the only selected row unless multiple selection is enabled,
1417 in which case it is the row that has the "focus", for purposes of selecting
1418 a new row using the up or down arrow keys.
1419
drousso@apple.come1d55862018-10-04 20:58:14 +000014202018-10-04 Devin Rousso <drousso@apple.com>
1421
1422 Web Inspector: REGRESSION(r236540): Uncaught Exception: TypeError: pauseReasonBreakpointTreeElement.removeStatusImage is not a function.
1423 https://bugs.webkit.org/show_bug.cgi?id=190230
1424
1425 Reviewed by Matt Baker.
1426
1427 * UserInterface/Views/DebuggerSidebarPanel.js:
1428 (WI.DebuggerSidebarPanel._removeBreakpoint):
1429 Leverage existing `status` getter/setter for creating/removing the breakpoint icon element.
1430
1431 * UserInterface/Views/BreakpointTreeElement.js:
1432 (WI.BreakpointTreeElement):
1433 (WI.BreakpointTreeElement.prototype.populateContextMenu):
1434 (WI.BreakpointTreeElement.prototype._updateStatus):
1435 (WI.BreakpointTreeElement.prototype.removeStatusImage): Deleted.
1436
1437 * UserInterface/Views/DOMBreakpointTreeElement.js:
1438 (WI.DOMBreakpointTreeElement):
1439 (WI.DOMBreakpointTreeElement.prototype.onattach):
1440 (WI.DOMBreakpointTreeElement.prototype.ondetach):
1441 (WI.DOMBreakpointTreeElement.prototype._updateStatus):
1442
1443 * UserInterface/Views/EventBreakpointTreeElement.js:
1444 (WI.EventBreakpointTreeElement):
1445 (WI.EventBreakpointTreeElement.prototype.onattach):
1446 (WI.EventBreakpointTreeElement.prototype.ondetach):
1447 (WI.EventBreakpointTreeElement.prototype._updateStatus):
1448
1449 * UserInterface/Views/XHRBreakpointTreeElement.js:
1450 (WI.XHRBreakpointTreeElement):
1451 (WI.XHRBreakpointTreeElement.prototype.onattach):
1452 (WI.XHRBreakpointTreeElement.prototype.ondetach):
1453 (WI.XHRBreakpointTreeElement.prototype._updateStatus):
1454
mitz@apple.com06365072018-10-04 20:36:56 +000014552018-10-04 Dan Bernstein <mitz@apple.com>
1456
1457 WebInspectorUI part of [Xcode] Update some build settings as recommended by Xcode 10
1458 https://bugs.webkit.org/show_bug.cgi?id=190250
1459
1460 Reviewed by Andy Estes.
1461
1462 * Configurations/Base.xcconfig: Enabled CLANG_WARN_COMMA, CLANG_WARN_INFINITE_RECURSION,
1463 CLANG_WARN_SUSPICIOUS_MOVE, CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS, and
1464 CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF.
1465
1466 * WebInspectorUI.xcodeproj/project.pbxproj: Let Xcode update LastUpgradeCheck.
1467
drousso@apple.com038c7012018-10-04 20:03:50 +000014682018-10-04 Devin Rousso <drousso@apple.com>
1469
drousso@apple.comb8f699c2018-10-04 20:27:45 +00001470 Web Inspector: merge ProbeManager into DebuggerManager
1471 https://bugs.webkit.org/show_bug.cgi?id=190225
1472
1473 Reviewed by Joseph Pecoraro.
1474
1475 * UserInterface/Main.html:
1476 * UserInterface/Base/Main.js:
1477 (WI.loaded):
1478 * UserInterface/Test.html:
1479 * UserInterface/Test/Test.js:
1480 (WI.loaded):
1481
1482 * UserInterface/Controllers/DebuggerManager.js:
1483 (WI.DebuggerManager.prototype.get probeSets): Added.
1484 (WI.DebuggerManager.prototype.probeForIdentifier): Added.
1485 (WI.DebuggerManager.prototype.addBreakpoint):
1486 (WI.DebuggerManager.prototype.removeBreakpoint):
1487 (WI.DebuggerManager.prototype.didSampleProbe): Added.
1488 (WI.DebuggerManager.prototype._handleBreakpointActionsDidChange): Added.
1489 (WI.DebuggerManager.prototype._addProbesForBreakpoint): Added.
1490 (WI.DebuggerManager.prototype._removeProbesForBreakpoint): Added.
1491 (WI.DebuggerManager.prototype._updateProbesForBreakpoint): Added.
1492 (WI.DebuggerManager.prototype._probeSetForBreakpoint): Added.
1493 * UserInterface/Controllers/ProbeManager.js: Removed.
1494
1495 * UserInterface/Protocol/DebuggerObserver.js:
1496 (WI.DebuggerObserver.prototype.didSampleProbe):
1497
1498 * UserInterface/Controllers/TimelineManager.js:
1499 (WI.TimelineManager.prototype._processRecord):
1500
1501 * UserInterface/Views/BreakpointTreeElement.js:
1502 (WI.BreakpointTreeElement.prototype.onattach):
1503
1504 * UserInterface/Views/ProbeDetailsSidebarPanel.js:
1505 (WI.ProbeDetailsSidebarPanel.prototype.closed):
1506 (WI.ProbeDetailsSidebarPanel.prototype.initialLayout):
1507
1508 * UserInterface/Views/TextResourceContentView.js:
1509 (WI.TextResourceContentView):
1510 (WI.TextResourceContentView.prototype.get supplementalRepresentedObjects):
1511 (WI.TextResourceContentView.prototype.closed):
1512
15132018-10-04 Devin Rousso <drousso@apple.com>
1514
drousso@apple.com06583182018-10-04 20:08:54 +00001515 Web Inspector: some files not listed in OpenResourceDialog
1516 https://bugs.webkit.org/show_bug.cgi?id=190272
1517
1518 Reviewed by Joseph Pecoraro.
1519
1520 * UserInterface/Controllers/ResourceQueryController.js:
1521 (WI.ResourceQueryController.prototype._findQueryMatches):
1522 Allow the `searchIndex` to go past the end of the `searchString` to allow for backtracking
1523 if the last character of `searchString` is not found in `query`.
1524
15252018-10-04 Devin Rousso <drousso@apple.com>
1526
drousso@apple.com038c7012018-10-04 20:03:50 +00001527 Web Inspector: REGRESSION(r236783): Uncaught Exception: Can't find variable: sourceMapURL
1528 https://bugs.webkit.org/show_bug.cgi?id=190276
1529
1530 Reviewed by Joseph Pecoraro.
1531
1532 * UserInterface/Controllers/NetworkManager.js:
1533 (WI.NetworkManager.prototype._sourceMapLoadAndParseFailed):
1534
drousso@apple.comcd352af2018-10-03 01:49:05 +000015352018-10-02 Devin Rousso <drousso@apple.com>
1536
1537 Web Inspector: merge SourceMapManager into NetworkManager
1538 https://bugs.webkit.org/show_bug.cgi?id=190224
1539
1540 Reviewed by Joseph Pecoraro.
1541
1542 * UserInterface/Main.html:
1543 * UserInterface/Base/Main.js:
1544 (WI.loaded):
1545 * UserInterface/Test.html:
1546 * UserInterface/Test/Test.js:
1547 (WI.loaded):
1548
1549 * UserInterface/Controllers/NetworkManager.js:
1550 (WI.NetworkManager):
1551 (WI.NetworkManager.prototype.downloadSourceMap): Added.
1552 (WI.NetworkManager.prototype.resourceRequestWasServedFromMemoryCache):
1553 (WI.NetworkManager.prototype.resourceRequestDidFinishLoading):
1554 (WI.NetworkManager.prototype._createResource):
1555 (WI.NetworkManager.prototype._loadAndParseSourceMap): Added.
1556 (WI.NetworkManager.prototype._sourceMapLoadAndParseFailed): Added.
1557 (WI.NetworkManager.prototype._sourceMapLoadAndParseSucceeded): Added.
1558 (WI.NetworkManager.prototype._handleFrameMainResourceDidChange): Added.
1559 * UserInterface/Controllers/SourceMapManager.js: Removed.
1560
1561 * UserInterface/Models/Script.js:
1562 (WI.Script):
1563
1564 * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
1565 * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
1566
nvasilyev@apple.com978300b2018-10-03 00:29:42 +000015672018-10-02 Nikita Vasilyev <nvasilyev@apple.com>
1568
1569 Web Inspector: Styles: start editing property name/value on mouseup instead of mousedown
1570 https://bugs.webkit.org/show_bug.cgi?id=190114
1571 <rdar://problem/44891030>
1572
1573 Reviewed by Matt Baker.
1574
1575 This change only affects the experimental multiple properties selection.
1576
1577 * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
1578 (WI.SpreadsheetCSSStyleDeclarationSection):
1579 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
1580 (.multiple-properties-selection .spreadsheet-style-declaration-editor :matches(.name, .value):not(.editing)):
1581 Without this code, the focus outline flickers on click (after mousedown but before mouseup event).
1582
1583 * UserInterface/Views/SpreadsheetTextField.js:
1584 (WI.SpreadsheetTextField):
1585 (WI.SpreadsheetTextField.prototype._handleMouseUp):
1586
drousso@apple.com0941a942018-10-02 08:00:37 +000015872018-10-02 Devin Rousso <drousso@apple.com>
1588
drousso@apple.comaaeb7472018-10-03 00:25:10 +00001589 Web Inspector: prevent layer events from firing until the layer information is re-requested
1590 https://bugs.webkit.org/show_bug.cgi?id=190159
1591
1592 Reviewed by Joseph Pecoraro.
1593
1594 * UserInterface/Controllers/LayerTreeManager.js:
1595 (WI.LayerTreeManager):
1596 (WI.LayerTreeManager.prototype.get supported):
1597 Remove `supported` member variable in favor of re-evaluating its value.
1598
1599 * UserInterface/Protocol/LayerTreeObserver.js:
1600 (WI.LayerTreeObserver.prototype.layerTreeDidChange):
1601
16022018-10-02 Devin Rousso <drousso@apple.com>
1603
drousso@apple.com28832dc2018-10-03 00:21:57 +00001604 Web Inspector: REGRESSION(r236766): WI.IssueManager no longer exists
1605 https://bugs.webkit.org/show_bug.cgi?id=190226
1606
1607 Reviewed by Joseph Pecoraro.
1608
1609 * UserInterface/Controllers/ConsoleManager.js:
1610 (WI.ConsoleManager.prototype.issuesForSourceCode):
1611
16122018-10-02 Devin Rousso <drousso@apple.com>
1613
drousso@apple.com01202012018-10-02 22:14:52 +00001614 Web Inspector: rename frontend managers to be more consistent with backend agents
1615 https://bugs.webkit.org/show_bug.cgi?id=190160
1616
1617 Reviewed by Joseph Pecoraro.
1618
1619 * UserInterface/Test.html:
1620 * UserInterface/Test/Test.js:
1621 * UserInterface/Main.html:
1622 * UserInterface/Base/Main.js:
1623 * UserInterface/Base/DOMUtilities.js:
1624 * UserInterface/Controllers/ApplicationCacheManager.js:
1625 * UserInterface/Controllers/CSSManager.js: Renamed from Source/WebInspectorUI/UserInterface/Controllers/CSSStyleManager.js.
1626 * UserInterface/Controllers/ConsoleManager.js: Renamed from Source/WebInspectorUI/UserInterface/Controllers/LogManager.js.
1627 * UserInterface/Controllers/DOMDebuggerManager.js:
1628 * UserInterface/Controllers/DOMManager.js: Renamed from Source/WebInspectorUI/UserInterface/Controllers/DOMTreeManager.js.
1629 * UserInterface/Controllers/DOMStorageManager.js: Renamed from Source/WebInspectorUI/UserInterface/Controllers/StorageManager.js.
1630 * UserInterface/Controllers/DashboardManager.js: Removed.
1631 * UserInterface/Controllers/DatabaseManager.js: Copied from Source/WebInspectorUI/UserInterface/Controllers/DOMStorageManager.js.
1632 * UserInterface/Controllers/HARBuilder.js:
1633 * UserInterface/Controllers/IndexedDBManager.js: Copied from Source/WebInspectorUI/UserInterface/Controllers/DOMStorageManager.js.
1634 * UserInterface/Controllers/IssueManager.js: Removed.
1635 * UserInterface/Controllers/JavaScriptLogViewController.js:
1636 * UserInterface/Controllers/NetworkManager.js: Renamed from Source/WebInspectorUI/UserInterface/Controllers/FrameResourceManager.js.
1637 * UserInterface/Controllers/SourceMapManager.js:
1638 * UserInterface/Controllers/TimelineManager.js:
1639 * UserInterface/Debug/UncaughtExceptionReporter.js:
1640 * UserInterface/Models/CSSProperty.js:
1641 * UserInterface/Models/CSSSelector.js:
1642 * UserInterface/Models/CallFrame.js:
1643 * UserInterface/Models/Canvas.js:
1644 * UserInterface/Models/ConsoleMessage.js:
1645 * UserInterface/Models/DOMBreakpoint.js:
1646 * UserInterface/Models/DOMNode.js:
1647 * UserInterface/Models/DOMNodeStyles.js:
1648 * UserInterface/Models/DOMTree.js:
1649 * UserInterface/Models/DefaultDashboard.js:
1650 * UserInterface/Models/Script.js:
1651 * UserInterface/Models/ScriptTimelineRecord.js:
1652 * UserInterface/Models/SourceMapResource.js:
1653 * UserInterface/Models/TimelineRecording.js:
1654 * UserInterface/Protocol/CSSObserver.js:
1655 * UserInterface/Protocol/ConsoleObserver.js:
1656 * UserInterface/Protocol/DOMObserver.js:
1657 * UserInterface/Protocol/DOMStorageObserver.js:
1658 * UserInterface/Protocol/DatabaseObserver.js:
1659 * UserInterface/Protocol/InspectorFrontendAPI.js:
1660 * UserInterface/Protocol/InspectorObserver.js:
1661 * UserInterface/Protocol/MainTarget.js:
1662 * UserInterface/Protocol/NetworkObserver.js:
1663 * UserInterface/Protocol/PageObserver.js:
1664 * UserInterface/Protocol/RemoteObject.js:
1665 * UserInterface/Protocol/RuntimeObserver.js:
1666 * UserInterface/Protocol/WorkerTarget.js:
1667 * UserInterface/Views/BoxModelDetailsSectionRow.js:
1668 * UserInterface/Views/CanvasOverviewContentView.js:
1669 * UserInterface/Views/CanvasTreeElement.js:
1670 * UserInterface/Views/ContentView.js:
1671 * UserInterface/Views/ContextMenuUtilities.js:
1672 * UserInterface/Views/CookieStorageContentView.js:
1673 * UserInterface/Views/DOMDetailsSidebarPanel.js:
1674 * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
1675 * UserInterface/Views/DOMNodeTreeElement.js:
1676 * UserInterface/Views/DOMTreeContentView.js:
1677 * UserInterface/Views/DOMTreeDataGrid.js:
1678 * UserInterface/Views/DOMTreeElement.js:
1679 * UserInterface/Views/DOMTreeElementPathComponent.js:
1680 * UserInterface/Views/DOMTreeOutline.js:
1681 * UserInterface/Views/DOMTreeUpdater.js:
1682 * UserInterface/Views/DebuggerSidebarPanel.js:
1683 * UserInterface/Views/ElementsTabContentView.js:
1684 * UserInterface/Views/EventBreakpointPopover.js:
1685 * UserInterface/Views/EventBreakpointTreeElement.js:
1686 * UserInterface/Views/EventListenerSectionGroup.js:
1687 * UserInterface/Views/FormattedValue.js:
1688 * UserInterface/Views/FrameTreeElement.js:
1689 * UserInterface/Views/GeneralStyleDetailsSidebarPanel.js:
1690 * UserInterface/Views/IndexedDatabaseObjectStoreContentView.js:
1691 * UserInterface/Views/LayerDetailsSidebarPanel.js:
1692 * UserInterface/Views/LayerTreeDataGridNode.js:
1693 * UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
1694 * UserInterface/Views/Layers3DContentView.js:
1695 * UserInterface/Views/LogContentView.js:
1696 * UserInterface/Views/NetworkTableContentView.js:
1697 * UserInterface/Views/ObjectTreeBaseTreeElement.js:
1698 * UserInterface/Views/ObjectTreeView.js:
1699 * UserInterface/Views/OpenResourceDialog.js:
1700 * UserInterface/Views/ResourceSidebarPanel.js:
1701 * UserInterface/Views/SearchSidebarPanel.js:
1702 * UserInterface/Views/SettingsTabContentView.js:
1703 * UserInterface/Views/SourceCodeTextEditor.js:
1704 * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
1705 * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:
1706 * UserInterface/Views/StorageSidebarPanel.js:
1707 * UserInterface/Views/StyleDetailsPanel.js:
1708 * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
1709 * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
1710
17112018-10-02 Devin Rousso <drousso@apple.com>
1712
drousso@apple.com0941a942018-10-02 08:00:37 +00001713 Web Inspector: Canvas: replace constant numbers with their associated name on WebGL contexts
1714 https://bugs.webkit.org/show_bug.cgi?id=190026
1715
1716 Reviewed by Joseph Pecoraro.
1717
1718 * UserInterface/Models/RecordingAction.js:
1719 (WI.RecordingAction.constantNameForParameter): Added.
1720 (WI.RecordingAction.prototype.getColorParameters):
1721 (WI.RecordingAction.prototype.getImageParameters):
1722 Drive-by: add additional swatches to color/image arguments for WebGL actions.
1723
1724 * UserInterface/Views/CanvasSidebarPanel.js:
1725 (WI.CanvasSidebarPanel.prototype._treeOutlineSelectionDidChange):
1726 Drive-by: ensure that the `WI.RecordingContentView` is showing before applying the action.
1727
1728 * UserInterface/Views/RecordingActionTreeElement.js:
1729 (WI.RecordingActionTreeElement._generateDOM.createParameterElement):
1730 (WI.RecordingActionTreeElement._generateDOM):
1731 * UserInterface/Views/RecordingActionTreeElement.css:
1732 (.item.action > .titles .parameter.constant): Added.
1733
commit-queue@webkit.org787386f2018-10-02 06:59:46 +000017342018-10-01 Joseph Pecoraro <pecoraro@apple.com>
1735
1736 Web Inspector: Fix a typo for execution context identifier
1737 https://bugs.webkit.org/show_bug.cgi?id=190185
1738
1739 Reviewed by Matt Baker.
1740
1741 * UserInterface/Protocol/MainTarget.js:
1742 (WI.MainTarget):
1743 * UserInterface/Protocol/WorkerTarget.js:
1744 (WI.WorkerTarget):
1745
drousso@apple.comc35243c2018-10-02 02:27:11 +000017462018-10-01 Devin Rousso <drousso@apple.com>
1747
1748 Web Inspector: remove analyzer manager
1749 https://bugs.webkit.org/show_bug.cgi?id=190162
1750
1751 Reviewed by Joseph Pecoraro.
1752
1753 * UserInterface/Main.html:
1754 * UserInterface/Base/Main.js:
1755 (WI.loaded):
1756
1757 * UserInterface/Controllers/AnalyzerManager.js: Removed.
1758 * UserInterface/Models/AnalyzerMessage.js: Removed.
1759
1760 * Scripts/copy-user-interface-resources.pl:
1761 * UserInterface/External/ESLint/LICENSE: Removed.
1762 * UserInterface/External/ESLint/eslint.js: Removed.
1763
nvasilyev@apple.com83f109a2018-10-02 01:31:37 +000017642018-10-01 Nikita Vasilyev <nvasilyev@apple.com>
1765
nvasilyev@apple.comba20b1c2018-10-02 01:37:43 +00001766 Web Inspector: Styles: add an experimental setting for multi-property selection
1767 https://bugs.webkit.org/show_bug.cgi?id=190053
1768 <rdar://problem/44842787>
1769
1770 Reviewed by Matt Baker.
1771
1772 This patch only adds a setting. It doesn't change property selection behavior.
1773
1774 * Localizations/en.lproj/localizedStrings.js:
1775 * UserInterface/Base/Setting.js:
1776 * UserInterface/Views/SettingsTabContentView.js:
1777 (WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
1778
17792018-10-01 Nikita Vasilyev <nvasilyev@apple.com>
1780
nvasilyev@apple.com83f109a2018-10-02 01:31:37 +00001781 Web Inspector: Dark Mode: use the same CSS variables for dark and light modes
1782 https://bugs.webkit.org/show_bug.cgi?id=189766
1783 <rdar://problem/44619650>
1784
1785 Use --text-color and --background-color CSS variables for both dark and light modes.
1786
1787 Reviewed by Matt Baker.
1788
1789 * UserInterface/Views/BreakpointPopoverController.css:
1790 (.popover .edit-breakpoint-popover-content > label.toggle):
1791 Color of the label matches the color of the popover, no need to specify it.
1792
1793 (.edit-breakpoint-popover-condition):
1794 (@media (prefers-dark-interface)):
1795 (.popover .edit-breakpoint-popover-content > table > tr > th):
1796 * UserInterface/Views/CompletionSuggestionsView.css:
1797 (.completion-suggestions-container > .item):
1798 (@media (prefers-dark-interface)):
1799 (.completion-suggestions):
1800 * UserInterface/Views/ComputedStyleDetailsPanel.css:
1801 (.details-section:matches(.computed-style-properties, .computed-style-box-model):not(.collapsed) > :matches(.header, .content)):
1802 (.computed-style-properties .property:hover .go-to-arrow):
1803 (@media (prefers-dark-interface)): Deleted.
1804 (.computed-style-properties.details-section): Deleted.
1805 (.details-section.style-box-model:not(.collapsed) > :matches(.header, .content)): Deleted.
1806 * UserInterface/Views/DOMTreeOutline.css:
1807 (.tree-outline.dom):
1808 (@media (prefers-dark-interface)):
1809 * UserInterface/Views/DataGrid.css:
1810 (.data-grid th):
1811 (body:not(.window-inactive, .window-docked-inactive) .data-grid:matches(:focus, .force-focus) tr.editable.selected .cell-content > input):
1812 (@media (prefers-dark-interface)):
1813 * UserInterface/Views/GeneralStyleDetailsSidebarPanel.css:
1814 (.sidebar > .panel.details.css-style > .content ~ .options-container > .toggle-class-toggle):
1815 (@media (prefers-dark-interface)):
1816 (.sidebar > .panel.details.css-style > .content ~ .options-container > .new-rule):
1817 * UserInterface/Views/InlineSwatch.css:
1818 (.inline-swatch):
1819 (.inline-swatch-variable-popover .CodeMirror pre):
1820 (@media (prefers-dark-interface)): Deleted.
1821 * UserInterface/Views/NetworkResourceDetailView.css:
1822 (.network-resource-detail):
1823 (.network .network-resource-detail .navigation-bar .item.radio.button.text-only.selected):
1824 (@media (prefers-dark-interface)):
1825 (.resource-headers .value): Deleted.
1826 Move this rule to ResourceHeadersContentView.css.
1827
1828 * UserInterface/Views/ObjectPreviewView.css:
1829 (.object-preview):
1830 (@media (prefers-dark-interface)):
1831 (.object-preview .name):
1832 * UserInterface/Views/ObjectTreeView.css:
1833 (.object-tree):
1834 (.object-tree-property :matches(.formatted-string, .formatted-regexp)):
1835 (@media (prefers-dark-interface)): Deleted.
1836 (.object-tree,): Deleted.
1837
1838 (.object-preview .name): Deleted.
1839 (.object-preview > .size): Deleted.
1840 Move these rules to ObjectPreviewView.css.
1841
1842 * UserInterface/Views/QuickConsole.css:
1843 (.quick-console):
1844 (@media (prefers-dark-interface)):
1845 * UserInterface/Views/ResourceHeadersContentView.css:
1846 (.resource-headers .value):
1847 (.resource-headers.showing-find-banner .search-highlight):
1848 (@media (prefers-dark-interface)): Deleted.
1849 * UserInterface/Views/ResourceTimingBreakdownView.css:
1850 (.resource-timing-breakdown > table > tr.header:not(.total-row) > td):
1851 (@media (prefers-dark-interface)):
1852 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
1853 (.spreadsheet-style-declaration-editor .property:not(.disabled) .value):
1854 (.spreadsheet-style-declaration-editor .property:matches(.invalid-name, .other-vendor, .overridden):not(.disabled) .content > *):
1855 (@media (prefers-dark-interface)):
1856 (.spreadsheet-style-declaration-editor .property.has-warning .warning):
1857 * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.css:
1858 (.spreadsheet-css-declaration .media-label):
1859 (.spreadsheet-css-declaration .selector:focus,):
1860 (@media (prefers-dark-interface)):
1861 (.spreadsheet-css-declaration .origin .go-to-link,):
1862 * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.css:
1863 (.sidebar > .panel.details.css-style > .content > .rules .section-header .node-link:hover):
1864 (@media (prefers-dark-interface)):
1865 (.sidebar > .panel.details.css-style > .content > .rules .section-header):
1866 * UserInterface/Views/SyntaxHighlightingDefaultTheme.css:
1867 (.cm-s-default,):
1868 (@media (prefers-dark-interface)):
1869 (.syntax-highlighted,): Deleted.
1870 * UserInterface/Views/Table.css:
1871 (.table):
1872 (.table > .header):
1873 * UserInterface/Views/TimelineOverview.css:
1874 (.timeline-overview > .navigation-bar.timelines):
1875 (@media (prefers-dark-interface)):
1876 * UserInterface/Views/TimelineRecordingContentView.css:
1877 (.content-view.timeline-recording > .content-browser > .navigation-bar > .item.scope-bar.default-item-selected > .multiple):
1878 (.content-view.timeline-recording > .content-browser > .navigation-bar > .item.scope-bar.default-item-selected > .multiple .arrows):
1879 (.content-view.timeline-recording > .content-browser .recording-progress > .status > .indeterminate-progress-spinner):
1880 (@media (prefers-dark-interface)): Deleted.
1881 * UserInterface/Views/Variables.css:
1882 (:root):
1883 (@media (prefers-dark-interface)):
1884 * UserInterface/Views/XHRBreakpointPopover.css:
1885 (.popover .xhr-breakpoint-content > .editor-wrapper > .editor):
1886 (@media (prefers-dark-interface)):
1887
aestes@apple.com7b544a82018-09-28 22:06:02 +000018882018-09-28 Andy Estes <aestes@apple.com>
1889
aestes@apple.com3e3bef42018-09-28 23:13:38 +00001890 REGRESSION (r236091): CSSKeywordCompletions.js has "checkout" instead of "check-out" as a value for -apple-pay-button-type
1891 https://bugs.webkit.org/show_bug.cgi?id=190096
1892
1893 Reviewed by Ryosuke Niwa.
1894
1895 I changed "checkout" to "check-out" in r235754, but it somehow got flipped back to "checkout" in r236091.
1896
1897 * UserInterface/Models/CSSKeywordCompletions.js:
1898
18992018-09-28 Andy Estes <aestes@apple.com>
1900
aestes@apple.com7b544a82018-09-28 22:06:02 +00001901 [Apple Pay] Remove the "in-store" button type
1902 https://bugs.webkit.org/show_bug.cgi?id=190079
1903
1904 Reviewed by Tim Horton.
1905
1906 * UserInterface/Models/CSSKeywordCompletions.js:
1907
drousso@apple.come3dfef52018-09-28 08:04:10 +000019082018-09-28 Devin Rousso <drousso@apple.com>
1909
1910 Web Inspector: image resources without content are still shown when the Images folder is selected
1911 https://bugs.webkit.org/show_bug.cgi?id=190072
1912
1913 Reviewed by Matt Baker.
1914
1915 * UserInterface/Views/ResourceContentView.js:
1916 (WI.ResourceContentView.prototype.showGenericNoContentMessage):
1917 Treat paths that result in a "Resource has no content" message as a "content error".
1918
drousso@apple.come74f81c2018-09-27 06:09:48 +000019192018-09-26 Devin Rousso <drousso@apple.com>
1920
drousso@apple.com035a11b2018-09-27 06:24:39 +00001921 Web Inspector: Hide DOM and XHR breakpoint sections when they are empty
1922 https://bugs.webkit.org/show_bug.cgi?id=182406
1923 <rdar://problem/37131512>
1924
1925 Reviewed by Joseph Pecoraro.
1926
1927 Combine all breakpoint sections (e.g. DOM, XHR, and Event) into the main "Breakpoints"
1928 section, including all the various "+" buttons for creating different types of breakpoints.
1929
1930 Global breakpoints (except "All Exceptions" and "Uncaught Exceptions") are now deletable,
1931 and can be re-added via the "+" button of the "Breakpoints" section. Deletable global
1932 breakpoints (e.g. "Assertion Failures" and "All Requests") are able to remain visible while
1933 disabled, and will only be hidden when the user specifically deletes them.
1934
1935 * Localizations/en.lproj/localizedStrings.js:
1936 * UserInterface/Base/Setting.js:
1937 * UserInterface/Main.html:
1938
1939 * UserInterface/Controllers/DOMBreakpointTreeController.js: Removed.
1940 * UserInterface/Controllers/EventBreakpointTreeController.js: Removed.
1941 * UserInterface/Controllers/XHRBreakpointTreeController.js: Removed.
1942
1943 * UserInterface/Controllers/DebuggerManager.js:
1944 (WI.DebuggerManager.prototype.get uncaughtExceptionsBreakpoint): Added.
1945 (WI.DebuggerManager.prototype.get assertionFailuresBreakpoint): Added.
1946 (WI.DebuggerManager.prototype.isBreakpointRemovable):
1947 (WI.DebuggerManager.prototype.isBreakpointSpecial): Added.
1948 (WI.DebuggerManager.prototype.isBreakpointEditable):
1949 (WI.DebuggerManager.prototype.addBreakpoint):
1950 (WI.DebuggerManager.prototype.removeBreakpoint):
1951 (WI.DebuggerManager.prototype.initializeTarget):
1952 (WI.DebuggerManager.prototype._breakpointDisabledStateDidChange):
1953 (WI.DebuggerManager.prototype._updateBreakOnExceptionsState):
1954 (WI.DebuggerManager.prototype.get allUncaughtExceptionsBreakpoint): Deleted.
1955 (WI.DebuggerManager.prototype.get assertionsBreakpoint): Deleted.
1956 * UserInterface/Controllers/DOMDebuggerManager.js:
1957 (WI.DOMDebuggerManager.prototype.isBreakpointSpecial): Added.
1958 (WI.DOMDebuggerManager.prototype.addDOMBreakpoint):
1959 (WI.DOMDebuggerManager.prototype.removeDOMBreakpoint):
1960 (WI.DOMDebuggerManager.prototype.addEventBreakpoint):
1961 (WI.DOMDebuggerManager.prototype.removeEventBreakpoint):
1962 (WI.DOMDebuggerManager.prototype.addXHRBreakpoint):
1963 (WI.DOMDebuggerManager.prototype.removeXHRBreakpoint):
1964 (WI.DOMDebuggerManager.prototype.isBreakpointRemovable): Deleted.
1965 Always fire add/remove events, including for special breakpoints, so that any listeners will
1966 be able to adjust accordingly. Even though special breakpoints don't get stored in the lists
1967 held by each manager, we are still able to enable/disable them, and that should be reported.
1968
1969 * UserInterface/Views/DebuggerSidebarPanel.js:
1970 (WI.DebuggerSidebarPanel):
1971 (WI.DebuggerSidebarPanel.prototype.closed):
1972 (WI.DebuggerSidebarPanel.prototype.saveStateToCookie):
1973 (WI.DebuggerSidebarPanel.prototype.restoreStateFromCookie.revealAndSelect):
1974 (WI.DebuggerSidebarPanel.prototype.restoreStateFromCookie):
1975 (WI.DebuggerSidebarPanel.prototype.willDismissPopover):
1976 (WI.DebuggerSidebarPanel.prototype._addBreakpoint):
1977 (WI.DebuggerSidebarPanel.prototype._removeBreakpoint): Added.
1978 (WI.DebuggerSidebarPanel.prototype._addTreeElementForSourceCodeToTreeOutline):
1979 (WI.DebuggerSidebarPanel.prototype._mainResourceDidChange):
1980 (WI.DebuggerSidebarPanel.prototype._breakpointRemoved):
1981 (WI.DebuggerSidebarPanel.prototype._removeDebuggerTreeElement):
1982 (WI.DebuggerSidebarPanel.prototype._treeSelectionDidChange):
1983 (WI.DebuggerSidebarPanel.prototype._addTreeElement.comparator): Added.
1984 (WI.DebuggerSidebarPanel.prototype._addTreeElement): Added.
1985 (WI.DebuggerSidebarPanel.prototype._updatePauseReasonSection):
1986 (WI.DebuggerSidebarPanel.prototype._domBreakpointResolvedStateDidChange): Added.
1987 (WI.DebuggerSidebarPanel.prototype._handleBreakpointElementAddedOrRemoved): Added.
1988 (WI.DebuggerSidebarPanel.prototype._handleCreateBreakpointClicked): Added.
1989 (WI.DebuggerSidebarPanel.prototype._compareTopLevelTreeElements.isSpecialBreakpoint): Deleted.
1990 (WI.DebuggerSidebarPanel.prototype._compareTopLevelTreeElements): Deleted.
1991 (WI.DebuggerSidebarPanel.prototype._domBreakpointAddedOrRemoved): Deleted.
1992 (WI.DebuggerSidebarPanel.prototype._eventBreakpointAddedOrRemoved): Deleted.
1993 (WI.DebuggerSidebarPanel.prototype._addEventBreakpointButtonClicked): Deleted.
1994 (WI.DebuggerSidebarPanel.prototype._addXHRBreakpointButtonClicked): Deleted.
1995 * UserInterface/Views/DebuggerSidebarPanel.css:
1996 (.sidebar > .panel.navigation.debugger .details-section.dom-breakpoints .item.dom-node .titles): Deleted.
1997 (.sidebar > .panel.navigation.debugger .details-section.dom-breakpoints .item.dom-node .icon): Deleted.
1998 (.sidebar > .panel.navigation.debugger .details-section.dom-breakpoints .item.dom-node:not(:hover, .selected) .status .go-to-arrow): Deleted.
1999 (.sidebar > .panel.navigation.debugger .details-section.xhr-breakpoints .item.breakpoint .subtitle): Deleted.
2000 Unify the logic for adding/removing breakpoints of all types.
2001
2002 * UserInterface/Views/BreakpointTreeElement.js:
2003 (WI.BreakpointTreeElement):
2004 (WI.BreakpointTreeElement.prototype.ondelete):
2005 * UserInterface/Views/DOMBreakpointTreeElement.js:
2006 (WI.DOMBreakpointTreeElement):
2007 (WI.DOMBreakpointTreeElement.prototype.ondelete):
2008 * UserInterface/Views/DOMNodeTreeElement.js:
2009 (WI.DOMNodeTreeElement):
2010 (WI.DOMNodeTreeElement.prototype.ondelete):
2011 (WI.DOMNodeTreeElement.prototype.populateContextMenu):
2012 * UserInterface/Views/EventBreakpointTreeElement.js:
2013 (WI.EventBreakpointTreeElement):
2014 (WI.EventBreakpointTreeElement.prototype.ondelete):
2015 (WI.EventBreakpointTreeElement.prototype.populateContextMenu):
2016 * UserInterface/Views/XHRBreakpointTreeElement.js:
2017 (WI.XHRBreakpointTreeElement):
2018 (WI.XHRBreakpointTreeElement.prototype.ondelete):
2019 (WI.XHRBreakpointTreeElement.prototype.populateContextMenu):
2020 * UserInterface/Views/XHRBreakpointTreeElement.css: Added.
2021 (.breakpoint.xhr .subtitle):
2022 Add/remove checks for whether the associated breakpoint can be deleted.
2023
2024 * UserInterface/Views/DOMNodeTreeElement.css: Added.
2025 (.tree-outline .item.dom-node .titles):
2026 (.tree-outline .item.dom-node .icon):
2027 (.tree-outline .item.dom-node:not(:hover, .selected) .status .go-to-arrow):
2028
2029 * UserInterface/Views/ContextMenuUtilities.js:
2030 (WI.appendContextMenuItemsForDOMNode):
2031 (WI.appendContextMenuItemsForDOMNodeBreakpoints): Added.
2032 * UserInterface/Views/DOMTreeElement.js:
2033 (WI.DOMTreeElement.prototype._statusImageContextmenu):
2034
2035 * UserInterface/Views/XHRBreakpointPopover.js:
2036 (WI.XHRBreakpointPopover):
2037 (WI.XHRBreakpointPopover.prototype.get breakpoint): Added.
2038 (WI.XHRBreakpointPopover.prototype.show):
2039 (WI.XHRBreakpointPopover.prototype.dismiss): Added.
2040 (WI.XHRBreakpointPopover.prototype._createEditor):
2041 (WI.XHRBreakpointPopover.prototype._updateEditor):
2042 (WI.XHRBreakpointPopover.prototype.get result): Deleted.
2043 (WI.XHRBreakpointPopover.prototype.get type): Deleted.
2044 (WI.XHRBreakpointPopover.prototype.get value): Deleted.
2045 Drive-by: remove the erroneous usage of `WI.InputPopover.Result`.
2046
20472018-09-26 Devin Rousso <drousso@apple.com>
2048
drousso@apple.come74f81c2018-09-27 06:09:48 +00002049 Web Inspector: determine hasVisibleEffect for each RecordingAction as it's processed
2050 https://bugs.webkit.org/show_bug.cgi?id=189860
2051
2052 Reviewed by Joseph Pecoraro.
2053
2054 * Localizations/en.lproj/localizedStrings.js:
2055 * UserInterface/Base/Setting.js:
2056 * UserInterface/Base/Utilities.js:
2057
2058 * UserInterface/Models/RecordingAction.js:
2059 (WI.RecordingAction.prototype.process.getContent):
2060 (WI.RecordingAction.prototype.process):
2061
2062 * UserInterface/Views/RecordingActionTreeElement.js:
2063 (WI.RecordingActionTreeElement.prototype.onattach):
2064
2065 * UserInterface/Views/SettingsTabContentView.js:
2066 (WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
2067
2068 * UserInterface/Views/RecordingContentView.js:
2069 (WI.RecordingContentView.prototype._updateImageGrid):
2070 Drive-by: don't attempt to show the image grid if we haven't called initialized yet.
2071
2072 * UserInterface/Views/CanvasSidebarPanel.js:
2073 (WI.CanvasSidebarPanel.prototype._treeOutlineSelectionDidChange):
2074 Drive-by: ensure that the `WI.RecordingContentView` is showing before applying the action.
2075
nvasilyev@apple.com3f004852018-09-26 23:23:53 +000020762018-09-26 Nikita Vasilyev <nvasilyev@apple.com>
2077
2078 Web Inspector: Dark Mode: new watch expression popover has light background
2079 https://bugs.webkit.org/show_bug.cgi?id=190013
2080 <rdar://problem/44810000>
2081
2082 Reviewed by Matt Baker.
2083
2084 Make the background dark to match the CodeMirror editor background.
2085
2086 * UserInterface/Views/ScopeChainDetailsSidebarPanel.css:
2087 (@media (prefers-dark-interface)):
2088 (.watch-expression-editor):
2089
nvasilyev@apple.coma9170722018-09-21 21:04:56 +000020902018-09-21 Nikita Vasilyev <nvasilyev@apple.com>
2091
2092 REGRESSION(r236237): Web Inspector: DarkMode: white background in Elements and Timelines
2093 https://bugs.webkit.org/show_bug.cgi?id=189852
2094
2095 Reviewed by Joseph Pecoraro.
2096
2097 * UserInterface/Views/Main.css:
2098 (body):
2099 (#main):
2100
bburg@apple.comd26b1ff2018-09-21 20:32:09 +000021012018-09-21 Brian Burg <bburg@apple.com>
2102
2103 Web Inspector: remove unnecessary WI.Platform.version checks
2104 https://bugs.webkit.org/show_bug.cgi?id=189845
2105
2106 Reviewed by Matt Baker.
2107
2108 * UserInterface/Base/Platform.js:
2109 (osVersionMatch): Add name for macOS Mojave.
2110
2111 * UserInterface/Base/Main.js:
2112 * UserInterface/Views/Popover.js:
2113 Remove old logic that's no longer needed.
2114
drousso@apple.com1084e452018-09-21 18:56:00 +000021152018-09-21 Devin Rousso <drousso@apple.com>
2116
2117 Web Inspector: remove setting for Sources tab
2118 https://bugs.webkit.org/show_bug.cgi?id=189817
2119
2120 Reviewed by Joseph Pecoraro.
2121
2122 * Localizations/en.lproj/localizedStrings.js:
2123 * UserInterface/Base/Setting.js:
2124 * UserInterface/Main.html:
2125 * UserInterface/Base/Main.js:
2126 (WI.contentLoaded):
2127 (WI._debuggerDidPause):
2128 (WI.isShowingSourcesTab): Removed.
2129 (WI.showSourcesTab): Removed.
2130
2131 * UserInterface/Views/SourcesSidebarPanel.css: Removed.
2132 * UserInterface/Views/SourcesSidebarPanel.js: Removed.
2133 * UserInterface/Views/SourcesTabContentView.js: Removed.
2134
2135 * UserInterface/Views/ContextMenuUtilities.js:
2136 (WI.appendContextMenuItemsForURL):
2137
2138 * UserInterface/Views/SettingsTabContentView.js:
2139 (WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
2140
2141 * UserInterface/Views/SourceCodeTextEditor.js:
2142 (WI.SourceCodeTextEditor.prototype.textEditorGutterContextMenu):
2143
simon.fraser@apple.com223f6f82018-09-21 18:42:25 +000021442018-09-20 Simon Fraser <simon.fraser@apple.com>
2145
2146 Make "overflow: overlay" a synonym for "overflow: auto"
2147 https://bugs.webkit.org/show_bug.cgi?id=189811
2148
2149 Reviewed by Zalan Bujtas.
2150
2151 Remove "overlay" from the overflow values.
2152
2153 * UserInterface/Models/CSSKeywordCompletions.js:
2154 * UserInterface/Views/VisualStyleDetailsPanel.js:
2155 (WI.VisualStyleDetailsPanel.prototype._populateDisplaySection):
2156
drousso@apple.com9baf2de2018-09-21 18:30:10 +000021572018-09-21 Devin Rousso <drousso@apple.com>
2158
drousso@apple.comb66a41d2018-09-21 18:33:29 +00002159 Web Inspector: hide Accessibility Audit Tab setting
2160 https://bugs.webkit.org/show_bug.cgi?id=189816
2161
2162 Reviewed by Joseph Pecoraro.
2163
2164 Considering that this tab doesn't exist, there's no reason to have a setting/UI for it.
2165
2166 * UserInterface/Base/Setting.js:
2167 * UserInterface/Views/SettingsTabContentView.js:
2168 (WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
2169
21702018-09-21 Devin Rousso <drousso@apple.com>
2171
drousso@apple.com9baf2de2018-09-21 18:30:10 +00002172 Web Inspector: remove Legacy Style Editor
2173 https://bugs.webkit.org/show_bug.cgi?id=189808
2174
2175 Reviewed by Joseph Pecoraro.
2176
2177 The Legacy Style Editor has been hidden behind an "experimental" setting for almost a year.
2178 It's time that we remove it, especially since the new Style Editor is at a similar, if not
2179 more advanced, state.
2180
2181 * .eslintrc:
2182 * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
2183 * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
2184 * Localizations/en.lproj/localizedStrings.js:
2185 * Tools/PrettyPrinting/index.html:
2186 * UserInterface/Main.html:
2187 * UserInterface/Test.html:
2188 * UserInterface/Base/Setting.js:
2189
2190 * UserInterface/Base/TextUtilities.js: Removed.
2191 * UserInterface/Base/Utilities.js:
2192
2193 * UserInterface/Views/RulesStyleDetailsPanel.css: Removed.
2194 * UserInterface/Views/RulesStyleDetailsPanel.js: Removed.
2195 * UserInterface/Views/CSSStyleDeclarationSection.css: Removed.
2196 * UserInterface/Views/CSSStyleDeclarationSection.js: Removed.
2197 * UserInterface/Views/CSSStyleDeclarationTextEditor.css: Removed.
2198 * UserInterface/Views/CSSStyleDeclarationTextEditor.js: Removed.
2199
2200 * UserInterface/Models/CSSProperty.js:
2201 (WI.CSSProperty.prototype.get text):
2202 (WI.CSSProperty.prototype.get synthesizedText): Deleted.
2203
2204 * UserInterface/Models/CSSStyleDeclaration.js:
2205 (WI.CSSStyleDeclaration):
2206 (WI.CSSStyleDeclaration.prototype.set text):
2207 (WI.CSSStyleDeclaration.prototype.resetText): Deleted.
2208 (WI.CSSStyleDeclaration.prototype.get modified): Deleted.
2209 (WI.CSSStyleDeclaration.prototype.generateCSSRuleString): Deleted.
2210 (WI.CSSStyleDeclaration.prototype.isInspectorRule): Deleted.
2211
2212 * UserInterface/Models/CSSSelector.js:
2213 (WI.CSSSelector.prototype.isGreaterThan): Deleted.
2214
2215 * UserInterface/Models/CSSRule.js:
2216 (WI.CSSRule.prototype.update):
2217 (WI.CSSRule.prototype.get matchedSelectors): Deleted.
2218 (WI.CSSRule.prototype.get matchedSelectorText): Deleted.
2219 (WI.CSSRule.prototype.hasMatchedPseudoElementSelector): Deleted.
2220 (WI.CSSRule.prototype.get mediaText): Deleted.
2221 (WI.CSSRule.prototype.get mostSpecificSelector): Deleted.
2222 (WI.CSSRule.prototype.selectorIsGreater): Deleted.
2223 (WI.CSSRule.prototype._determineMostSpecificSelector): Deleted.
2224
2225 * UserInterface/Models/DOMNodeStyles.js:
2226 (WI.DOMNodeStyles.prototype.changeRule.changeCompleted): Deleted.
2227 (WI.DOMNodeStyles.prototype.changeRule.styleChanged): Deleted.
2228 (WI.DOMNodeStyles.prototype.changeRule.changeText): Deleted.
2229 (WI.DOMNodeStyles.prototype.changeRule.ruleSelectorChanged): Deleted.
2230 (WI.DOMNodeStyles.prototype.changeRule): Deleted.
2231
2232 * UserInterface/Models/CSSCompletions.js:
2233 (WI.CSSCompletions.prototype.isValidPropertyName):
2234 (WI.CSSCompletions):
2235 (WI.CSSCompletions.prototype.keySet): Deleted.
2236 (WI.CSSCompletions.prototype.propertyRequiresWebkitPrefix): Deleted.
2237 (WI.CSSCompletions.prototype.getClosestPropertyName): Deleted.
2238
2239 * UserInterface/Views/ComputedStyleDetailsPanel.js:
2240 (WI.ComputedStyleDetailsPanel.prototype.cssStyleDeclarationTextEditorStartEditingAdjacentRule): Deleted.
2241
2242 * UserInterface/Views/RulesStyleDetailsSidebarPanel.js:
2243 (WI.RulesStyleDetailsSidebarPanel):
2244
2245 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
2246 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyFocusMoved):
2247
2248 * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
2249 (WI.SpreadsheetCSSStyleDeclarationSection.prototype.spreadsheetCSSStyleDeclarationEditorStartEditingRuleSelector): Added.
2250 (WI.SpreadsheetCSSStyleDeclarationSection.prototype.cssStyleDeclarationTextEditorStartEditingRuleSelector): Deleted.
2251
2252 * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:
2253 (WI.SpreadsheetRulesStyleDetailsPanel):
2254 * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.css:
2255 (.sidebar > .panel.details.css-style .rules): Added.
2256 (.sidebar > .panel.details.css-style > .content > .rules .section-header): Added.
2257 (.sidebar > .panel.details.css-style > .content > .rules .section-header .node-link): Added.
2258 (.sidebar > .panel.details.css-style > .content > .rules .section-header .node-link:hover): Added.
2259 (.sidebar > .panel.details.css-style > .content > .rules > .message-text-view): Added.
2260 (.sidebar > .panel.details.css-style > .content > .rules:not(.filter-non-matching) > .message-text-view): Added.
2261 (@media (prefers-dark-interface)):
2262 (.sidebar > .panel.details.css-style > .content > .rules .section-header): Added.
2263 (.sidebar > .panel.details.css-style > .content > .rules .section-header .node-link:hover): Added.
2264 (.spreadsheet-style-panel .section-header): Deleted.
2265 (.spreadsheet-style-panel .section-header .node-link): Deleted.
2266 (.spreadsheet-style-panel .section-header .node-link:hover): Deleted.
2267 (.spreadsheet-style-panel .section-header): Deleted.
2268 (.spreadsheet-style-panel .section-header .node-link:hover): Deleted.
2269
2270 * UserInterface/Views/CodeMirrorAdditions.js:
2271 (extendedCSSRuleStartState): Removed.
2272 * UserInterface/Views/CodeMirrorFormatters.js:
2273 Remove "css-rule" CodeMirror mode.
2274
2275 * UserInterface/Views/CodeMirrorTextMarkers.js:
2276 (createCodeMirrorVariableTextMarkers): Deleted.
2277
2278 * UserInterface/Views/SettingsTabContentView.js:
2279 (WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
2280
commit-queue@webkit.org4f3ea9b2018-09-21 16:20:05 +000022812018-09-21 Mike Gorse <mgorse@suse.com>
2282
2283 Build tools should work when the /usr/bin/python is python3
2284 https://bugs.webkit.org/show_bug.cgi?id=156674
2285
2286 Reviewed by Michael Catanzaro.
2287
2288 * Scripts/copy-user-interface-resources.pl: Use $PYTHON if set
2289 in the environment.
2290
drousso@apple.com560dda42018-09-21 02:02:14 +000022912018-09-20 Devin Rousso <drousso@apple.com>
2292
drousso@apple.com9ff9def2018-09-21 02:04:57 +00002293 Web Inspector: remove Visual Style CSS details sidebar panel
2294 https://bugs.webkit.org/show_bug.cgi?id=189807
2295
2296 Reviewed by Joseph Pecoraro.
2297
2298 The Visual Style CSS details sidebar panel has been hidden behind an "experimental" setting
2299 for almost a year. It's time that we remove it.
2300
2301 * Localizations/en.lproj/localizedStrings.js:
2302 * UserInterface/Base/Setting.js:
2303 * UserInterface/Main.html:
2304
2305 * UserInterface/Views/ElementsTabContentView.js:
2306 (WI.ElementsTabContentView):
2307 * UserInterface/Views/SettingsTabContentView.js:
2308 (WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
2309
2310 * UserInterface/Images/AnimationPlayStatePaused.svg: Removed.
2311 * UserInterface/Images/AnimationPlayStateRunning.svg: Removed.
2312 * UserInterface/Images/ClearBoth.svg: Removed.
2313 * UserInterface/Images/ClearLeft.svg: Removed.
2314 * UserInterface/Images/ClearRight.svg: Removed.
2315 * UserInterface/Images/FloatLeft.svg: Removed.
2316 * UserInterface/Images/FloatRight.svg: Removed.
2317 * UserInterface/Images/FontStyleItalic.svg: Removed.
2318 * UserInterface/Images/FontStyleNormal.svg: Removed.
2319 * UserInterface/Images/ListStylePositionInside.svg: Removed.
2320 * UserInterface/Images/ListStylePositionOutside.svg: Removed.
2321 * UserInterface/Images/TextAlignCenter.svg: Removed.
2322 * UserInterface/Images/TextAlignJustify.svg: Removed.
2323 * UserInterface/Images/TextAlignLeft.svg: Removed.
2324 * UserInterface/Images/TextAlignRight.svg: Removed.
2325 * UserInterface/Images/TextDecorationLineThrough.svg: Removed.
2326 * UserInterface/Images/TextDecorationOverline.svg: Removed.
2327 * UserInterface/Images/TextDecorationUnderline.svg: Removed.
2328 * UserInterface/Images/TextTransformCapitalize.svg: Removed.
2329 * UserInterface/Images/TextTransformLowercase.svg: Removed.
2330 * UserInterface/Images/TextTransformUppercase.svg: Removed.
2331 * UserInterface/Images/VisualStyleNone.svg: Removed.
2332 * UserInterface/Images/VisualStylePropertyLinked.svg: Removed.
2333 * UserInterface/Images/VisualStylePropertyUnlinked.svg: Removed.
2334
2335 * UserInterface/Views/VisualStyleBackgroundPicker.css: Removed.
2336 * UserInterface/Views/VisualStyleBackgroundPicker.js: Removed.
2337 * UserInterface/Views/VisualStyleBasicInput.js: Removed.
2338 * UserInterface/Views/VisualStyleColorPicker.css: Removed.
2339 * UserInterface/Views/VisualStyleColorPicker.js: Removed.
2340 * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.css: Removed.
2341 * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.js: Removed.
2342 * UserInterface/Views/VisualStyleDetailsPanel.css: Removed.
2343 * UserInterface/Views/VisualStyleDetailsPanel.js: Removed.
2344 * UserInterface/Views/VisualStyleDetailsSidebarPanel.js: Removed.
2345 * UserInterface/Views/VisualStyleFontFamilyListEditor.js: Removed.
2346 * UserInterface/Views/VisualStyleFontFamilyTreeElement.js: Removed.
2347 * UserInterface/Views/VisualStyleKeywordCheckbox.css: Removed.
2348 * UserInterface/Views/VisualStyleKeywordCheckbox.js: Removed.
2349 * UserInterface/Views/VisualStyleKeywordIconList.css: Removed.
2350 * UserInterface/Views/VisualStyleKeywordIconList.js: Removed.
2351 * UserInterface/Views/VisualStyleKeywordPicker.js: Removed.
2352 * UserInterface/Views/VisualStyleNumberInputBox.css: Removed.
2353 * UserInterface/Views/VisualStyleNumberInputBox.js: Removed.
2354 * UserInterface/Views/VisualStylePropertyCombiner.js: Removed.
2355 * UserInterface/Views/VisualStylePropertyEditor.css: Removed.
2356 * UserInterface/Views/VisualStylePropertyEditor.js: Removed.
2357 * UserInterface/Views/VisualStylePropertyEditorLink.css: Removed.
2358 * UserInterface/Views/VisualStylePropertyEditorLink.js: Removed.
2359 * UserInterface/Views/VisualStylePropertyNameInput.js: Removed.
2360 * UserInterface/Views/VisualStyleRelativeNumberSlider.css: Removed.
2361 * UserInterface/Views/VisualStyleRelativeNumberSlider.js: Removed.
2362 * UserInterface/Views/VisualStyleSelectorSection.css: Removed.
2363 * UserInterface/Views/VisualStyleSelectorSection.js: Removed.
2364 * UserInterface/Views/VisualStyleSelectorTreeItem.css: Removed.
2365 * UserInterface/Views/VisualStyleSelectorTreeItem.js: Removed.
2366 * UserInterface/Views/VisualStyleTabbedPropertiesRow.css: Removed.
2367 * UserInterface/Views/VisualStyleTabbedPropertiesRow.js: Removed.
2368 * UserInterface/Views/VisualStyleTimingEditor.css: Removed.
2369 * UserInterface/Views/VisualStyleTimingEditor.js: Removed.
2370 * UserInterface/Views/VisualStyleURLInput.js: Removed.
2371 * UserInterface/Views/VisualStyleUnitSlider.css: Removed.
2372 * UserInterface/Views/VisualStyleUnitSlider.js: Removed.
2373
2374 * UserInterface/Controllers/VisualStyleCompletionsController.js: Removed.
2375
23762018-09-20 Devin Rousso <drousso@apple.com>
2377
drousso@apple.com560dda42018-09-21 02:02:14 +00002378 Web Inspector: Styles Redesign: rework Computed panel to use Spreadsheet classes
2379 https://bugs.webkit.org/show_bug.cgi?id=183627
2380
2381 Reviewed by Joseph Pecoraro.
2382
2383 * UserInterface/Views/ComputedStyleDetailsPanel.js:
2384 (WI.ComputedStyleDetailsPanel):
2385 (WI.ComputedStyleDetailsPanel.prototype.refresh):
2386 (WI.ComputedStyleDetailsPanel.prototype.applyFilter):
2387 (WI.ComputedStyleDetailsPanel.prototype.spreadsheetCSSStyleDeclarationEditorShowProperty):
2388 (WI.ComputedStyleDetailsPanel.prototype.initialLayout):
2389 (WI.ComputedStyleDetailsPanel.prototype.filterDidChange):
2390 (WI.ComputedStyleDetailsPanel.prototype._computedStyleShowAllCheckboxValueChanged):
2391 (WI.ComputedStyleDetailsPanel.prototype._handlePropertiesSectionCollapsedStateChanged):
2392 (WI.ComputedStyleDetailsPanel.prototype._handleVariablesSectionCollapsedStateChanged):
2393 (WI.ComputedStyleDetailsPanel.prototype._handleEditorFilterApplied):
2394 (WI.ComputedStyleDetailsPanel.prototype.cssStyleDeclarationTextEditorShowProperty.delegateShowProperty): Deleted.
2395 (WI.ComputedStyleDetailsPanel.prototype.cssStyleDeclarationTextEditorShowProperty): Deleted.
2396 Replace CSSStyleDeclarationTextEditor with SpreadsheetCSSStyleDeclarationEditor.
2397
2398 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
2399 (WI.SpreadsheetCSSStyleDeclarationEditor):
2400 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.initialLayout):
2401 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.layout):
2402 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.set showsImplicitProperties):
2403 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.set alwaysShowPropertyNames):
2404 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.set propertyVisibilityMode):
2405 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.set hideFilterNonMatchingProperties):
2406 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.set sortPropertiesByName): Added.
2407 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.get propertiesToRender):
2408 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.highlightProperty):
2409 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.applyFilter):
2410 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyShowProperty):
2411 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._updateStyleLock):
2412 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.get _propertiesToRender): Deleted.
2413 Create setters for the "special" functionality required by the Computed panel and tie them
2414 into the logic that determines what properties are rendered.
2415
2416 * UserInterface/Views/SpreadsheetStyleProperty.js:
2417 (WI.SpreadsheetStyleProperty.prototype._update):
2418 Create go-to arrow if the property has a shorthand version or a source code location.
2419
2420 * UserInterface/Views/GeneralStyleDetailsSidebarPanel.js:
2421 (WI.GeneralStyleDetailsSidebarPanel.prototype.initialLayout):
2422 Don't reapply the filter after refreshing, as the current panel will handle applying it.
2423
2424 * UserInterface/Views/ComputedStyleDetailsPanel.css:
2425 (.details-section:matches(.computed-style-properties, .computed-style-box-model):not(.collapsed) > :matches(.header, .content)):
2426 (.computed-style-properties .property .go-to-arrow):
2427 (.computed-style-properties .property:hover .go-to-arrow):
2428 (.computed-style-properties.details-section): Deleted.
2429 (.details-section > .content > .group > .row .CodeMirror-code pre .go-to-arrow): Deleted.
2430 (.details-section > .content > .group > .row .CodeMirror-code pre:hover .go-to-arrow): Deleted.
2431 (.details-section.style-box-model:not(.collapsed) > :matches(.header, .content)): Deleted.
2432 * UserInterface/Views/DetailsSection.css:
2433 (.details-section.computed-style-properties:not(.collapsed) > .header): Deleted.
2434 Consolidate Computed panel styles to it's respective CSS file.
2435
2436 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
2437 (.spreadsheet-style-declaration-editor):
2438 (.spreadsheet-style-declaration-editor .property:matches(.implicit, .not-inherited) .content > *):
2439 (.spreadsheet-style-declaration-editor .property.not-inherited .content > *): Deleted.
2440 * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.css:
2441 (.spreadsheet-css-declaration):
2442 * UserInterface/Views/Variables.css:
2443 (:root):
2444 Move `css-declaration` padding variables so they can be used by SpreadsheetCSSStyleDeclarationEditor
2445 without a parent SpreadsheetCSSStyleDeclarationSection.
2446
2447 * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.css:
2448 (.style-spreadsheet .style-rule): Deleted.
2449 (.style-spreadsheet .selector-line): Deleted.
2450 (.style-spreadsheet .selector): Deleted.
2451 (.style-spreadsheet :matches(.selector .matched, .selector:focus)): Deleted.
2452 (.style-spreadsheet .name): Deleted.
2453 (.style-spreadsheet .value): Deleted.
2454 (.style-spreadsheet :matches(.selector, .name, .value)): Deleted.
2455 (.style-spreadsheet :matches(.selector, .name, .value):focus): Deleted.
2456 (.style-spreadsheet .selector-inline): Deleted.
2457 (.style-spreadsheet .property): Deleted.
2458 (.style-spreadsheet .property-disabled,): Deleted.
2459 (.style-spreadsheet .property-disabled :matches(.name, .value)): Deleted.
2460 (.style-spreadsheet .styles-source): Deleted.
2461 (.style-spreadsheet :matches(a, .node-link)): Deleted.
2462 (.style-spreadsheet :matches(a, .node-link):hover): Deleted.
2463 (.style-spreadsheet .declarations): Deleted.
2464 (.style-spreadsheet input[type="checkbox"]): Deleted.
2465 (.style-spreadsheet input[type="checkbox"]:not(:checked)): Deleted.
2466 (.style-spreadsheet .declarations:hover input[type="checkbox"]): Deleted.
2467 Drive-by fix: remove styles that don't apply to anything.
2468
nvasilyev@apple.com19f4ba22018-09-20 02:31:42 +000024692018-09-19 Nikita Vasilyev <nvasilyev@apple.com>
2470
2471 Web Inspector: move DarkMode.css rules into appropriate CSS files
2472 https://bugs.webkit.org/show_bug.cgi?id=189673
2473
2474 Reviewed by Matt Baker.
2475
2476 * UserInterface/Main.html:
2477 * UserInterface/Views/BezierEditor.css:
2478 (@media (prefers-dark-interface)):
2479 (.bezier-editor > .bezier-preview-timing):
2480 (.bezier-editor > .bezier-container .bezier-curve):
2481 (.bezier-editor > .bezier-container .linear-curve):
2482 (.bezier-editor > .bezier-preview):
2483 (.bezier-editor > .bezier-preview > div):
2484 (.bezier-editor > .bezier-container .control-handle):
2485 (.bezier-editor > .bezier-container .control-line):
2486 * UserInterface/Views/BreakpointActionView.css:
2487 (@media (prefers-dark-interface)):
2488 (.breakpoint-action-block-body):
2489 (.breakpoint-action-block-body > .description):
2490 (.breakpoint-action-append-button,):
2491 (.breakpoint-action-eval-editor):
2492 * UserInterface/Views/BreakpointPopoverController.css:
2493 (@media (prefers-dark-interface)):
2494 (.popover .edit-breakpoint-popover-content > label.toggle):
2495 (.popover .edit-breakpoint-popover-content > table > tr > th):
2496 (.edit-breakpoint-popover-condition):
2497 * UserInterface/Views/ButtonNavigationItem.css:
2498 (@media (prefers-dark-interface)):
2499 (.navigation-bar .item.button):
2500 * UserInterface/Views/ButtonToolbarItem.css:
2501 (@media (prefers-dark-interface)):
2502 (.toolbar .item.button):
2503 (.toolbar .item.button:not(.disabled):active):
2504 (.toolbar .item.button:not(.disabled):matches(:focus, .activate.activated)):
2505 (.toolbar .item.button:not(.disabled):active:matches(:focus, .activate.activated)):
2506 * UserInterface/Views/CallFrameView.css:
2507 (@media (prefers-dark-interface)):
2508 (.call-frame .subtitle,):
2509 (.call-frame:hover .subtitle .source-link,):
2510 (.call-frame .separator):
2511 * UserInterface/Views/CanvasContentView.css:
2512 (@media (prefers-dark-interface)):
2513 (.content-view.canvas:not(.tab)):
2514 * UserInterface/Views/CanvasOverviewContentView.css:
2515 (@media (prefers-dark-interface)):
2516 (.content-view.canvas-overview):
2517 (.content-view.canvas-overview .content-view.canvas):
2518 (.content-view.canvas-overview .content-view.canvas.is-recording):
2519 (.content-view.canvas-overview .content-view.canvas.is-recording > header):
2520 (.content-view.canvas-overview .content-view.canvas > header > .titles > .title):
2521 (.content-view.canvas-overview .content-view.canvas > header > .titles > .subtitle,):
2522 (.content-view.canvas-overview .content-view.canvas > footer > .recordings::before):
2523 (.content-view.canvas-overview .content-view.canvas.is-recording > header > .titles > .subtitle):
2524 * UserInterface/Views/CanvasTabContentView.css:
2525 (@media (prefers-dark-interface)):
2526 (.content-view.tab.canvas .navigation-bar > .item .canvas-overview .icon):
2527 (.content-view.tab.canvas .navigation-bar > .item .canvas.canvas-2d .icon,):
2528 (.content-view.canvas > .preview > img,):
2529 * UserInterface/Views/CodeMirrorOverrides.css:
2530 (@media (prefers-dark-interface)):
2531 (.CodeMirror-cursor):
2532 (.CodeMirror .CodeMirror-gutters):
2533 (.cm-s-default .cm-link):
2534 (.CodeMirror .CodeMirror-lines .CodeMirror-matchingbracket):
2535 * UserInterface/Views/CompletionSuggestionsView.css:
2536 (@media (prefers-dark-interface)):
2537 (.completion-suggestions):
2538 (.completion-suggestions-container > .item):
2539 * UserInterface/Views/ComputedStyleDetailsPanel.css:
2540 (@media (prefers-dark-interface)):
2541 (.computed-style-properties.details-section):
2542 (.details-section.style-box-model:not(.collapsed) > :matches(.header, .content)):
2543 * UserInterface/Views/ConsoleMessageView.css:
2544 (@media (prefers-dark-interface)):
2545 (.console-message .syntax-highlighted):
2546 (.console-warning-level .console-message-text):
2547 (.console-error-level .console-message-text):
2548 (.console-user-command > .console-message-text):
2549 (.console-message .repeat-count):
2550 * UserInterface/Views/ConsolePrompt.css:
2551 (@media (prefers-dark-interface)):
2552 (.console-prompt):
2553 * UserInterface/Views/DOMNodeDetailsSidebarPanel.css:
2554 (@media (prefers-dark-interface)):
2555 (.sidebar > .panel.dom-node-details .details-section.dom-node-event-listeners > .header > .filter:hover):
2556 * UserInterface/Views/DOMTreeOutline.css:
2557 (@media (prefers-dark-interface)):
2558 (.tree-outline.dom):
2559 (.tree-outline.dom li.elements-drag-over .selection-area):
2560 (.tree-outline.dom li.selected .selection-area):
2561 (.tree-outline.dom:focus li.selected .selection-area):
2562 (.tree-outline.dom li.selected + ol.children.expanded):
2563 (.tree-outline.dom .shadow):
2564 (.tree-outline.dom li.parent.shadow + ol.children.expanded,):
2565 (.showing-find-banner .tree-outline.dom .search-highlight):
2566 * UserInterface/Views/DarkMode.css: Removed.
2567 * UserInterface/Views/DataGrid.css:
2568 (@media (prefers-dark-interface)):
2569 (.data-grid th):
2570 (.data-grid td .subtitle):
2571 (.data-grid:matches(:focus, .force-focus) tr.selected td .subtitle):
2572 (body:not(.window-inactive, .window-docked-inactive) .data-grid:matches(:focus, .force-focus) tr.editable.selected .cell-content > input):
2573 (.data-grid tr.editable .cell-content > input):
2574 (.data-grid td.spanning):
2575 * UserInterface/Views/DebuggerDashboardView.css:
2576 (@media (prefers-dark-interface)):
2577 (.toolbar .dashboard.debugger):
2578 (.dashboard.debugger .navigation-bar .item.button > .glyph):
2579 (.dashboard.debugger > .location .function-name):
2580 (.dashboard.debugger > .location .go-to-link):
2581 (.dashboard.debugger > .divider):
2582 * UserInterface/Views/DefaultDashboardView.css:
2583 (@media (prefers-dark-interface)):
2584 (.toolbar .dashboard.default > .item > div):
2585 (.toolbar .dashboard.default > .item.enabled > div):
2586 (.toolbar .dashboard.default > .item.enabled:hover):
2587 (.toolbar .dashboard.default > .item.enabled:hover > div):
2588 (.toolbar .dashboard.default > .resourcesCount > img,):
2589 (body.latest-mac .toolbar .dashboard .item.button):
2590 (.dashboard-container .advance-arrow):
2591 * UserInterface/Views/DetailsSection.css:
2592 (@media (prefers-dark-interface)):
2593 (.details-section > .header):
2594 (.details-section > .header > label):
2595 (.details-section .details-section,):
2596 (.details-section .details-section:not(.collapsed) > .header):
2597 (.details-section > .content > .group > .row.simple > .label):
2598 (.details-section > .content > .group:nth-child(even)):
2599 (.details-section > .content > .group > .row:matches(.empty, .text)):
2600 * UserInterface/Views/DividerNavigationItem.css:
2601 (@media (prefers-dark-interface)):
2602 (.navigation-bar .item.divider):
2603 * UserInterface/Views/Editing.css:
2604 (@media (prefers-dark-interface)):
2605 (.editing):
2606 (.editing, .editing *):
2607 * UserInterface/Views/FindBanner.css:
2608 (@media (prefers-dark-interface)):
2609 (.find-banner > input[type="search"]):
2610 (.find-banner.console-find-banner > input[type=search]:not(:placeholder-shown)):
2611 * UserInterface/Views/FontResourceContentView.css:
2612 (@media (prefers-dark-interface)):
2613 (.content-view.resource.font .preview > .line):
2614 (.content-view.resource.font .metric.top):
2615 (.content-view.resource.font .metric.baseline):
2616 (.content-view.resource.font .metric.middle):
2617 (.content-view.resource.font .metric.xheight):
2618 (.content-view.resource.font .metric.bottom):
2619 * UserInterface/Views/FormattedValue.css:
2620 (@media (prefers-dark-interface)):
2621 (.formatted-object,):
2622 (.formatted-null,):
2623 * UserInterface/Views/GeneralStyleDetailsSidebarPanel.css:
2624 (@media (prefers-dark-interface)):
2625 (.sidebar > .panel.details.css-style > .content > .pseudo-classes > .group > label):
2626 (.sidebar > .panel.details.css-style > .content ~ .options-container > .new-rule):
2627 (.sidebar > .panel.details.css-style > .content ~ .options-container > .toggle-class-toggle):
2628 * UserInterface/Views/HoverMenu.css:
2629 (@media (prefers-dark-interface)):
2630 (.hover-menu > svg > :matches(path, rect)):
2631 * UserInterface/Views/ImageResourceContentView.css:
2632 (@media (prefers-dark-interface)):
2633 (.content-view.resource.image):
2634 * UserInterface/Views/InlineSwatch.css:
2635 (@media (prefers-dark-interface)):
2636 (.inline-swatch):
2637 * UserInterface/Views/LogContentView.css:
2638 (@media (prefers-dark-interface)):
2639 (.console-messages):
2640 (.console-item):
2641 (.console-messages:focus .console-item.selected):
2642 (.console-messages:focus .console-item.selected + .console-item):
2643 (.console-session:first-of-type .console-session-header):
2644 (.console-session:not(:first-of-type) .console-session-header):
2645 (.console-messages a):
2646 (.console-messages a:hover):
2647 (.console-messages:focus .console-item.selected::after):
2648 (.console-error-level):
2649 (.console-error-level:not(.filtered-out, .filtered-out-by-search), .console-error-level:not(.filtered-out, .filtered-out-by-search) + .console-item):
2650 (.console-warning-level):
2651 (.console-warning-level:not(.filtered-out, .filtered-out-by-search), .console-warning-level:not(.filtered-out, .filtered-out-by-search) + .console-item):
2652 (.search-in-progress .console-item:not(.filtered-out-by-search) .highlighted):
2653 (.search-in-progress .console-item:not(.filtered-out-by-search) .highlighted.selected):
2654 * UserInterface/Views/Main.css:
2655 (#main):
2656 (@media (prefers-dark-interface)):
2657 (.go-to-arrow):
2658 (.resource-link,):
2659 (.expand-list-button):
2660 (:matches(img, canvas).show-grid):
2661 * UserInterface/Views/NetworkResourceDetailView.css:
2662 (@media (prefers-dark-interface)):
2663 (.network-resource-detail):
2664 (.network-resource-detail .item.close > .glyph):
2665 (.network .network-resource-detail .navigation-bar .item.radio.button.text-only.selected):
2666 (.resource-headers .value):
2667 * UserInterface/Views/NetworkTableContentView.css:
2668 (@media (prefers-dark-interface)):
2669 (.network-table .cell.domain > .lock):
2670 * UserInterface/Views/NewTabContentView.css:
2671 (@media (prefers-dark-interface)):
2672 (.new-tab.tab.content-view):
2673 * UserInterface/Views/ObjectTreePropertyTreeElement.css:
2674 (@media (prefers-dark-interface)):
2675 (.object-tree-property .getter,):
2676 (.item.object-tree-property.prototype-property):
2677 (.object-tree-property.prototype-property:hover,):
2678 (.object-tree-property .value.error):
2679 * UserInterface/Views/ObjectTreeView.css:
2680 (@media (prefers-dark-interface)):
2681 (.object-tree,):
2682 (.object-preview .name):
2683 (.object-preview > .size):
2684 * UserInterface/Views/OpenResourceDialog.css:
2685 (@media (prefers-dark-interface)):
2686 (.open-resource-dialog):
2687 (.open-resource-dialog > .field > input):
2688 (.open-resource-dialog > .field > input::placeholder):
2689 (.open-resource-dialog > .tree-outline .item.selected):
2690 (.open-resource-dialog > .field::before):
2691 * UserInterface/Views/ProgressView.css:
2692 (@media (prefers-dark-interface)):
2693 (.progress-view > .titles > .title):
2694 (.progress-view > .titles > .subtitle):
2695 (.indeterminate-progress-spinner):
2696 * UserInterface/Views/QuickConsole.css:
2697 (@media (prefers-dark-interface)):
2698 (.quick-console):
2699 (.CodeMirror .jump-to-symbol-highlight,):
2700 (.quick-console.showing-log):
2701 * UserInterface/Views/RecordingActionTreeElement.css:
2702 (@media (prefers-dark-interface)):
2703 (.item.action:not(.initial-state)::before):
2704 (.tree-outline .item.action.visual:not(.selected, .invalid)):
2705 (.item.action:not(.initial-state) > .icon):
2706 (.tree-outline:not(.hide-disclosure-buttons) .item.action:not(.initial-state, .parent) > .icon):
2707 * UserInterface/Views/RecordingContentView.css:
2708 (@media (prefers-dark-interface)):
2709 (.content-view:not(.tab).recording):
2710 (.content-view:not(.tab).recording > header > .slider-container):
2711 (.content-view:not(.tab).recording > header > .slider-container > input[type=range]):
2712 * UserInterface/Views/RecordingStateDetailsSidebarPanel.css:
2713 (@media (prefers-dark-interface)):
2714 (.sidebar > .panel.details.recording-state > .content > .data-grid tr.modified):
2715 * UserInterface/Views/ResourceHeadersContentView.css:
2716 (@media (prefers-dark-interface)):
2717 (.resource-headers .value):
2718 * UserInterface/Views/ResourceSizesContentView.css:
2719 (@media (prefers-dark-interface)):
2720 (.resource-sizes > .content .label):
2721 * UserInterface/Views/ResourceTimingBreakdownView.css:
2722 (@media (prefers-dark-interface)):
2723 (.popover.waterfall-popover):
2724 (.resource-timing-breakdown > table > tr.header:not(.total-row) > td):
2725 (.resource-timing-breakdown > table > tr > td.label,):
2726 (.resource-timing-breakdown > table hr):
2727 * UserInterface/Views/ScopeBar.css:
2728 (@media (prefers-dark-interface)):
2729 (.scope-bar > li):
2730 * UserInterface/Views/SearchBar.css:
2731 (@media (prefers-dark-interface)):
2732 (:matches(.search-bar, .filter-bar) > input[type="search"],):
2733 (:matches(.search-bar, .filter-bar) > input[type="search"]::placeholder):
2734 (:matches(.search-bar, .filter-bar) > input[type="search"]:focus):
2735 * UserInterface/Views/SearchSidebarPanel.css:
2736 (@media all):
2737 * UserInterface/Views/SettingsTabContentView.css:
2738 (@media (prefers-dark-interface)):
2739 (.content-view.settings .navigation-bar):
2740 (.content-view.settings .navigation-bar .item.radio.button.text-only.selected):
2741 * UserInterface/Views/ShaderProgramContentView.css:
2742 (@media (prefers-dark-interface)):
2743 (.content-view.shader-program > .text-editor.shader):
2744 (.content-view.shader-program > .text-editor.shader > .type-title):
2745 * UserInterface/Views/ShaderProgramTreeElement.css:
2746 (@media (prefers-dark-interface)):
2747 (.item.shader-program .status > img):
2748 * UserInterface/Views/SourceCodeTextEditor.css:
2749 (@media (prefers-dark-interface)):
2750 (.source-code.text-editor > .CodeMirror .error):
2751 (.source-code.text-editor > .CodeMirror .warning):
2752 (.source-code.text-editor > .CodeMirror .issue-widget):
2753 (.source-code.text-editor > .CodeMirror .issue-widget.warning,):
2754 (.source-code.text-editor > .CodeMirror .issue-widget.error,):
2755 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
2756 (@media (prefers-dark-interface)):
2757 (.spreadsheet-style-declaration-editor .property:not(.disabled) .value):
2758 (.spreadsheet-style-declaration-editor :matches(.name, .value).editing):
2759 (.spreadsheet-style-declaration-editor .property.has-warning):
2760 (.spreadsheet-style-declaration-editor .property.has-warning .warning):
2761 (.spreadsheet-style-declaration-editor .property:matches(.invalid-name, .other-vendor, .overridden):not(.disabled) .content > *):
2762 * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.css:
2763 (@media (prefers-dark-interface)):
2764 (.spreadsheet-css-declaration):
2765 (.spreadsheet-css-declaration.locked):
2766 (.spreadsheet-css-declaration .selector.style-attribute):
2767 (.spreadsheet-css-declaration .selector:focus,):
2768 (.spreadsheet-css-declaration.locked .origin::after):
2769 (.spreadsheet-css-declaration .origin .go-to-link,):
2770 (.spreadsheet-css-declaration .media-label):
2771 * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.css:
2772 (@media (prefers-dark-interface)):
2773 (.spreadsheet-style-panel .section-header):
2774 (.spreadsheet-style-panel .section-header .node-link:hover):
2775 * UserInterface/Views/SyntaxHighlightingDefaultTheme.css:
2776 (@media (prefers-dark-interface)):
2777 (.syntax-highlighted,):
2778 (.cm-s-default,):
2779 (.cm-s-default .cm-attribute):
2780 (.cm-s-default .cm-m-xml.cm-attribute,):
2781 (.cm-s-default .cm-meta):
2782 (.cm-s-default .cm-variable-3):
2783 (.cm-s-default .cm-builtin):
2784 * UserInterface/Views/TabBar.css:
2785 (@media (prefers-dark-interface)):
2786 (.tab-bar):
2787 (.tab-bar > .item):
2788 (.tab-bar > .item > .title):
2789 (.tab-bar > .item:not(.disabled).selected):
2790 (.tab-bar:not(.animating) > .item:not(.selected):hover):
2791 (.tab-bar > .item > .close,):
2792 (body.window-inactive .tab-bar):
2793 (body.window-inactive .tab-bar > .item):
2794 (body.window-inactive .tab-bar > .item.selected):
2795 (body.window-inactive .tab-bar > .item > .title):
2796 * UserInterface/Views/Table.css:
2797 (@media (prefers-dark-interface)):
2798 (.table,):
2799 (.table > .header > .sortable:active):
2800 (.table > .header > :matches(.sort-ascending, .sort-descending)):
2801 (.table > .header > :matches(.sort-ascending, .sort-descending)::after):
2802 * UserInterface/Views/TextEditor.css:
2803 (@media (prefers-dark-interface)):
2804 (.text-editor > .CodeMirror .execution-line):
2805 (.text-editor > .CodeMirror .execution-range-highlight:not(.CodeMirror-selectedtext),):
2806 * UserInterface/Views/TimelineDataGrid.css:
2807 (@media (prefers-dark-interface)):
2808 (.data-grid th:matches(.sort-ascending, .sort-descending)):
2809 * UserInterface/Views/TimelineIcons.css:
2810 (@media (prefers-dark-interface)):
2811 (.time-icon .icon):
2812 * UserInterface/Views/TimelineOverview.css:
2813 (@media (prefers-dark-interface)):
2814 (.timeline-overview > .navigation-bar.timelines):
2815 (.timeline-overview:not(.frames) > .graphs-container > .timeline-overview-graph:nth-child(even)):
2816 (.timeline-overview.edit-instruments > .tree-outline.timelines .item:not(:first-child),):
2817 * UserInterface/Views/TimelineRecordingContentView.css:
2818 (@media (prefers-dark-interface)):
2819 (.content-view.timeline-recording > .content-browser > .navigation-bar > .item.scope-bar.default-item-selected > .multiple):
2820 (.content-view.timeline-recording > .content-browser > .navigation-bar > .item.scope-bar.default-item-selected > .multiple .arrows):
2821 * UserInterface/Views/Toolbar.css:
2822 (@media (prefers-dark-interface)):
2823 (body .toolbar):
2824 (body.window-inactive .toolbar):
2825 (body.latest-mac .toolbar .item.button,):
2826 (body.latest-mac .toolbar .search-bar > input[type="search"]):
2827 (body.latest-mac .toolbar .search-bar > input[type="search"]:focus):
2828 (body.latest-mac .toolbar .search-bar > input[type="search"]::placeholder):
2829 (body.latest-mac.window-inactive .toolbar .search-bar > input[type="search"]::placeholder):
2830 (body.latest-mac.window-inactive .toolbar .search-bar > input[type="search"]::-webkit-search-results-button):
2831 (body.latest-mac .toolbar .dashboard-container):
2832 (body.latest-mac .toolbar .item.button:active):
2833 (body.latest-mac.window-inactive .toolbar .item.button,):
2834 * UserInterface/Views/TreeOutline.css:
2835 (@media (prefers-dark-interface)):
2836 (.tree-outline .item .subtitle):
2837 * UserInterface/Views/Variables.css:
2838 (@media (prefers-dark-interface)):
2839 (:root):
2840 (body.window-inactive):
2841 (body.window-inactive *):
2842 * UserInterface/Views/WebSocketContentView.css:
2843 (@media (prefers-dark-interface)):
2844 (.web-socket.content-view .data-grid table.data tr.revealed):
2845 (.web-socket.content-view .data-grid.variable-height-rows table.data tr.outgoing):
2846 (.web-socket.content-view .data-grid.variable-height-rows table.data tr.non-text-frame):
2847 * UserInterface/Views/XHRBreakpointPopover.css:
2848 (@media (prefers-dark-interface)):
2849 (.popover .xhr-breakpoint-content > .editor-wrapper > .editor):
2850
drousso@apple.com032169b2018-09-17 22:43:11 +000028512018-09-17 Devin Rousso <drousso@apple.com>
2852
2853 Web Inspector: generate CSSKeywordCompletions from backend values
2854 https://bugs.webkit.org/show_bug.cgi?id=189041
2855
2856 Reviewed by Joseph Pecoraro.
2857
2858 Moves the longhands map to `WI.CSSKeywordCompletions` for more global access. Creates an
2859 aliases map to support completions on aliases with the same values as the non-alias name.
2860 Removes all keyword-only properties from `WI.CSSKeywordCompletions._propertyKeywordMap` as
2861 they are now generated by the backend (kept for compatibility).
2862
2863 * UserInterface/Models/CSSCompletions.js:
2864 (WI.CSSCompletions):
2865 (WI.CSSCompletions.requestCSSCompletions.propertyNamesCallback):
2866 (WI.CSSCompletions.prototype.isShorthandPropertyName):
2867
2868 * UserInterface/Models/CSSKeywordCompletions.js:
2869 (WI.CSSKeywordCompletions.forProperty.addKeywordsForName): Added.
2870 (WI.CSSKeywordCompletions.forProperty):
2871 (WI.CSSKeywordCompletions.addCustomCompletions):
2872
2873 * UserInterface/Models/CSSProperty.js:
2874 (WI.CSSProperty.isInheritedPropertyName):
2875
drousso@apple.com58615a92018-09-15 18:41:58 +000028762018-09-15 Devin Rousso <drousso@apple.com>
2877
2878 Web Inspector: REGRESSION: breakpoint context menu appears twice in DOM tree
2879 https://bugs.webkit.org/show_bug.cgi?id=189308
2880
2881 Reviewed by Joseph Pecoraro.
2882
2883 * UserInterface/Controllers/DOMBreakpointTreeController.js:
2884 (WI.DOMBreakpointTreeController.appendBreakpointContextMenuItems):
2885 Set a symbol on the `contextMenu` to ensure that the same items are not added twice.
2886
commit-queue@webkit.org38d740d2018-09-15 00:39:59 +000028872018-09-14 Joseph Pecoraro <pecoraro@apple.com>
2888
2889 Web Inspector: Source View doesn't scroll to show line when breakpoint is hit inside of <script> in HTML resource
2890 https://bugs.webkit.org/show_bug.cgi?id=189638
2891 <rdar://problem/43359278>
2892
2893 Reviewed by Matt Baker.
2894
2895 Pausing in Document resources on page load have special considerations where we
2896 may not receive their full content immediately, so we may synthesize inline script
2897 content for the resource until we have full content. Unfortunately, when we get
2898 full content and update the TextEditor we were losing the revealed position and
2899 other editor information. This change specifically targets those cases, by
2900 re-applying editor state when updating such a resource from partial to full content.
2901
2902 * UserInterface/Views/SourceCodeTextEditor.js:
2903 (WI.SourceCodeTextEditor.prototype._contentAvailable):
2904 Signal to the editor that when updating the content it should carry
2905 over editor state. Only do this if we had partial content before.
2906
2907 * UserInterface/Views/TextEditor.js:
2908 (WI.TextEditor):
2909 (WI.TextEditor.prototype.set repeatReveal):
2910 Provide a way to signal we should restore state when update the content.
2911
2912 (WI.TextEditor.set string.update):
2913 (WI.TextEditor.prototype.set string):
2914 When repeatReveal was enabled, restore editor state such as the
2915 revealed location and text selection.
2916
webkit@devinrousso.com0a861ff2018-09-14 16:44:22 +000029172018-09-14 Devin Rousso <webkit@devinrousso.com>
2918
2919 Web Inspector: Record actions performed on ImageBitmapRenderingContext
2920 https://bugs.webkit.org/show_bug.cgi?id=181341
2921
2922 Reviewed by Joseph Pecoraro.
2923
2924 * UserInterface/Models/Recording.js:
2925 (WI.Recording.fromPayload):
2926 (WI.Recording.prototype.createContext):
2927
2928 * UserInterface/Models/RecordingAction.js:
2929 (WI.RecordingAction._prototypeForType):
2930 (WI.RecordingAction.prototype.getImageParameters):
2931
2932 * UserInterface/Views/RecordingActionTreeElement.js:
2933 (WI.RecordingActionTreeElement._classNameForAction.classNameForActionName):
2934
2935 * UserInterface/Views/RecordingContentView.js:
2936 (WI.RecordingContentView):
2937 (WI.RecordingContentView.prototype.get navigationItems):
2938 (WI.RecordingContentView.prototype.updateActionIndex):
2939 (WI.RecordingContentView.prototype.shown):
2940 (WI.RecordingContentView.prototype.hidden):
2941 (WI.RecordingContentView.prototype._generateContentFromSnapshot): Renamed.
2942 (WI.RecordingContentView.prototype._updateImageGrid):
2943 (WI.RecordingContentView.prototype._generateContentCanvasWebGL): Deleted.
2944
2945 * UserInterface/Views/CanvasContentView.js:
2946 (WI.CanvasContentView):
2947
commit-queue@webkit.org3a445192018-09-14 00:08:35 +000029482018-09-13 Jamal Nasser <jamaln@mail.com>
2949
2950 Web Inspector: Dark Mode: bezier curve editor should be updated
2951 https://bugs.webkit.org/show_bug.cgi?id=187657
2952
2953 Reviewed by Matt Baker.
2954
2955 * UserInterface/Views/DarkMode.css:
2956 (@media (prefers-dark-interface)):
2957 (.bezier-editor > .bezier-preview-timing):
2958 (.bezier-editor > .bezier-container .bezier-curve):
2959 (.bezier-editor > .bezier-container .linear-curve):
2960 (.bezier-editor > .bezier-preview):
2961 (.bezier-editor > .bezier-preview > div):
2962 (.bezier-editor > .bezier-container .control-handle):
2963 (.bezier-editor > .bezier-container .control-line):
2964
mattbaker@apple.com0d181ab2018-09-14 00:03:05 +000029652018-09-13 Matt Baker <mattbaker@apple.com>
2966
2967 Web Inspector: Timelines: clicking a row in Script > Events grid triggers Location popover when column is hidden
2968 https://bugs.webkit.org/show_bug.cgi?id=189603
2969 <rdar://problem/44431403>
2970
2971 Reviewed by Joseph Pecoraro.
2972
2973 TimelineDataGrid controls showing/hiding the call frame popover, with subclasses
2974 overriding callFramePopoverAnchorElement to position it. This patch adds
2975 another overridable base class method, shouldShowCallFramePopover, which subclasses
2976 can use to block the popover when the Location column is hidden.
2977
2978 * UserInterface/Views/DataGrid.js:
2979 (WI.DataGrid.prototype.layout):
2980 (WI.DataGrid.prototype._positionResizerElements):
2981 (WI.DataGrid.prototype._isColumnVisible): Deleted.
2982
2983 * UserInterface/Views/LayoutTimelineDataGrid.js:
2984 (WI.LayoutTimelineDataGrid.prototype.shouldShowCallFramePopover):
2985 (WI.LayoutTimelineDataGrid):
2986
2987 * UserInterface/Views/ScriptTimelineDataGrid.js:
2988 (WI.ScriptTimelineDataGrid.prototype.shouldShowCallFramePopover):
2989 (WI.ScriptTimelineDataGrid):
2990
2991 * UserInterface/Views/TimelineDataGrid.js:
2992 (WI.TimelineDataGrid.prototype.shouldShowCallFramePopover):
2993 (WI.TimelineDataGrid.prototype._dataGridSelectedNodeChanged):
2994
commit-queue@webkit.org99bc6f82018-09-13 23:58:41 +000029952018-09-13 Joseph Pecoraro <pecoraro@apple.com>
2996
2997 Web Inspector: Opening inspector with a selected element might immediately scroll that element off screen in the DOM Tree outline
2998 https://bugs.webkit.org/show_bug.cgi?id=189569
2999 <rdar://problem/44397098>
3000
3001 Reviewed by Devin Rousso.
3002
3003 * UserInterface/Views/DOMTreeContentView.js:
3004 (WI.DOMTreeContentView.prototype.layout):
3005 Re-select the selected DOM node in the DOM Tree when the view resizes.
3006 Typically this can happen if the sidebar opens/closes/resizes, in which
3007 case we will want the selected DOM node to stay in view even if the DOM
3008 tree starts wrapping earlier content.
3009
commit-queue@webkit.org46d0cf62018-09-12 16:34:09 +000030102018-09-12 Joseph Pecoraro <pecoraro@apple.com>
3011
3012 Web Inspector: fix test case failures in js-isLikelyStackTrace.html
3013 https://bugs.webkit.org/show_bug.cgi?id=180664
3014
3015 Reviewed by Devin Rousso.
3016
3017 * UserInterface/Models/StackTrace.js:
3018 (WI.StackTrace.isLikelyStackTrace):
3019 In a quick benchmark 50% of the time was rebuilding the same complex regular
3020 expression over and over again. Instead just build the regex once and reset
3021 it before each use.
3022
drousso@apple.com7ae28d12018-09-12 16:10:59 +000030232018-09-12 Devin Rousso <drousso@apple.com>
3024
3025 Web Inspector: imported recordings are unable to be viewed after navigation
3026 https://bugs.webkit.org/show_bug.cgi?id=189208
3027
3028 Reviewed by Joseph Pecoraro.
3029
3030 Move the "Imported Recordings" folder to the top level (instead of under "Overview") so that
3031 it is selectable when there are no canvases but there is an imported recording.
3032
3033 * UserInterface/Controllers/CanvasManager.js:
3034 (WI.CanvasManager.prototype._removeCanvas):
3035 Null out the `source` of each `WI.Recording` for the removed `WI.Canvas`.
3036
3037 * UserInterface/Views/CanvasTabContentView.js:
3038 (WI.CanvasTabContentView):
3039 (WI.CanvasTabContentView.prototype._removeCanvas):
3040 Add each `WI.Recording`for the removed `WI.Canvas` to the "Imported Recordings" folder.
3041
3042 * UserInterface/Views/CanvasContentView.js:
3043 (WI.CanvasContentView.prototype.refresh):
3044 (WI.CanvasContentView.prototype.initialLayout):
3045 (WI.CanvasContentView.prototype._showError):
3046 Drive-by: don't recreate the error preview element if it already exists.
3047
3048 * UserInterface/Views/CanvasSidebarPanel.js:
3049 (WI.CanvasSidebarPanel.prototype.updateRepresentedObjects): Added.
3050 (WI.CanvasSidebarPanel.prototype.shown):
3051 (WI.CanvasSidebarPanel.prototype._currentRepresentedObjectsDidChange): Deleted.
3052
commit-queue@webkit.org35c4bff2018-09-11 19:51:19 +000030532018-09-11 Joseph Pecoraro <pecoraro@apple.com>
3054
3055 Web Inspector: Fix typo "vritualized"
3056 https://bugs.webkit.org/show_bug.cgi?id=189511
3057
3058 Reviewed by Devin Rousso.
3059
3060 * UserInterface/Views/TreeOutline.js:
3061 (WI.TreeOutline):
3062 (WI.TreeOutline.prototype.registerScrollVirtualizer):
3063 (WI.TreeOutline.prototype.updateVirtualizedElements):
3064
joepeck@webkit.org31cd6c12018-09-10 23:47:05 +000030652018-09-10 Joseph Pecoraro <pecoraro@apple.com>
3066
3067 Web Inspector: Address some ESLint warnings
3068 https://bugs.webkit.org/show_bug.cgi?id=188824
3069
3070 Reviewed by Matt Baker.
3071
3072 * .eslintrc:
3073 * UserInterface/Base/Platform.js:
3074 * UserInterface/Controllers/AuditManager.js:
3075 * UserInterface/Controllers/BasicBlockAnnotator.js:
3076 * UserInterface/Controllers/CallFrameTreeController.js:
3077 * UserInterface/Controllers/HARBuilder.js:
3078 * UserInterface/Models/AuditReport.js:
3079 * UserInterface/Models/AuditResult.js:
3080 * UserInterface/Models/AuditTestCase.js:
3081 * UserInterface/Models/AuditTestSuite.js:
3082 * UserInterface/Models/Cookie.js:
3083 * UserInterface/Models/SourceCodePosition.js:
3084 * UserInterface/Test/FrontendTestHarness.js:
3085 * UserInterface/Test/TestSuite.js:
3086 * UserInterface/Views/CanvasContentView.js:
3087 * UserInterface/Views/CollectionContentView.js:
3088 * UserInterface/Views/ContentBrowser.js:
3089 * UserInterface/Views/CookieStorageContentView.js:
3090 * UserInterface/Views/DataGrid.js:
3091 * UserInterface/Views/DatabaseTableContentView.js:
3092 * UserInterface/Views/FindBanner.js:
3093 * UserInterface/Views/JSONResourceContentView.js:
3094 * UserInterface/Views/LogContentView.js:
3095 * UserInterface/Views/ResourceSidebarPanel.js:
3096 * UserInterface/Views/SourceCodeTextEditor.js:
3097 * UserInterface/Views/SpreadsheetTextField.js:
3098 * UserInterface/Workers/Formatter/FormatterUtilities.js:
3099
aestes@apple.com9b9a1342018-09-06 20:42:48 +000031002018-09-06 Andy Estes <aestes@apple.com>
3101
3102 [Apple Pay] Rename the -apple-pay-button-type value "checkout" to "check-out"
3103 https://bugs.webkit.org/show_bug.cgi?id=189366
3104 <rdar://problem/44193218>
3105
3106 Reviewed by Sam Weinig.
3107
3108 * UserInterface/Models/CSSKeywordCompletions.js:
3109
commit-queue@webkit.orgb4026742018-08-31 23:28:26 +000031102018-08-31 Jamal Nasser <xnasser@outlook.com>
3111
3112 Added a CSS rule to DarkMode.css to fix color on sidebar toggle.
3113 <https://webkit.org/b/189139>
3114
3115 Reviewed by Matt Baker.
3116
3117 * UserInterface/Views/DarkMode.css:
3118 (@media (prefers-dark-interface)):
3119 (.sidebar > .panel.details.css-style > .content ~ .options-container > .toggle-class-toggle):
3120
ddkilzer@apple.comdb6485c2018-08-29 16:25:15 +000031212018-08-29 David Kilzer <ddkilzer@apple.com>
3122
3123 Remove empty directories from from svn.webkit.org repository
3124 <https://webkit.org/b/189081>
3125
3126 * WebInspectorUI.esproj: Removed.
3127
drousso@apple.comaed11c92018-08-28 23:26:58 +000031282018-08-28 Devin Rousso <drousso@apple.com>
3129
drousso@apple.combfe43f52018-08-29 01:36:36 +00003130 console.log() shows (anonymous function) instead of the passed string when a certain format is used
3131 https://bugs.webkit.org/show_bug.cgi?id=188946
3132 <rdar://problem/43756428>
3133
3134 Reviewed by Brian Burg.
3135
3136 Stack trace URLs are much more likely to follow the following format:
3137
3138 <protocol>://<path>:<line>:<column>
3139
3140 Modify the test regexp to always require that a protocol exists and to check that there are
3141 no ":" inside the protocol or path. Additionally, stack traces usually have more than one
3142 frame, so return false if there isn't more than one line.
3143
3144 * UserInterface/Models/StackTrace.js:
3145 (WI.StackTrace.isLikelyStackTrace):
3146
31472018-08-28 Devin Rousso <drousso@apple.com>
3148
drousso@apple.com9781d032018-08-29 00:06:40 +00003149 Web Inspector: REGRESSION: CanvasSidebarPanel is empty for imported recordings
3150 https://bugs.webkit.org/show_bug.cgi?id=189061
3151
3152 Reviewed by Brian Burg.
3153
3154 When recordings are imported, they don't have an associated `WI.Canvas`, meaning that the
3155 `WI.Recording` is never added to the canvas' `WI.RecordingCollection`. Previously, the
3156 canvas sidebar relied upon the `ItemAdded` event to update the recording `WI.ScopeBar`.
3157 Since the imported recording isn't ever added to the collection, this is never fired.
3158
3159 This patch moves the function call that updates the `WI.ScopeBar` to a more universal path,
3160 ensuring that no matter how a `WI.Recording` is set for the sidebar, it will be shown.
3161
3162 * UserInterface/Views/CanvasSidebarPanel.js:
3163 (WI.CanvasSidebarPanel.prototype.set recording):
3164 (WI.CanvasSidebarPanel.prototype._recordingAdded):
3165 (WI.CanvasSidebarPanel.prototype._updateRecordingScopeBar):
3166
31672018-08-28 Devin Rousso <drousso@apple.com>
3168
drousso@apple.comaed11c92018-08-28 23:26:58 +00003169 Web Inspector: Search bar is too narrow in some localizations
3170 https://bugs.webkit.org/show_bug.cgi?id=189060
3171 <rdar://problem/43006369>
3172
3173 Reviewed by Brian Burg.
3174
3175 * UserInterface/Views/Toolbar.css:
3176 (.toolbar .search-bar):
3177
krollin@apple.com386872d2018-08-28 00:07:07 +000031782018-08-27 Keith Rollin <krollin@apple.com>
3179
3180 Unreviewed build fix -- disable LTO for production builds
3181
3182 * Configurations/Base.xcconfig:
3183
aestes@apple.com0303c0f2018-08-27 22:25:26 +000031842018-08-27 Andy Estes <aestes@apple.com>
3185
3186 Teach Web Inspector how to complete keywords for -apple-pay-button-style and -apple-pay-button-type
3187 https://bugs.webkit.org/show_bug.cgi?id=189001
3188
3189 Reviewed by Devin Rousso.
3190
3191 * UserInterface/Models/CSSKeywordCompletions.js:
3192
drousso@apple.com47b3ee32018-08-27 18:49:42 +000031932018-08-27 Devin Rousso <drousso@apple.com>
3194
drousso@apple.com674f4092018-08-27 21:27:58 +00003195 Web Inspector: when scrolling a virtualized TreeOutline, only update the DOM periodically
3196 https://bugs.webkit.org/show_bug.cgi?id=188960
3197
3198 Reviewed by Brian Burg.
3199
3200 After each `updateVirtualizedElements` call, remember the `WI.TreeElement` that is located
3201 halfway within the visible list. When handling each "scroll", only regenerate the
3202 `WI.TreeOutline` DOM if the user has scrolled `extraRows` distance.
3203
3204 * UserInterface/Views/TreeOutline.js:
3205 (WI.TreeOutline):
3206 (WI.TreeOutline.prototype.registerScrollVirtualizer):
3207 (WI.TreeOutline.prototype.updateVirtualizedElements):
3208 (WI.TreeOutline.prototype._calculateVirtualizedValues): Added.
3209
32102018-08-27 Devin Rousso <drousso@apple.com>
3211
drousso@apple.com47b3ee32018-08-27 18:49:42 +00003212 Web Inspector: provide autocompletion for event breakpoints
3213 https://bugs.webkit.org/show_bug.cgi?id=188717
3214
3215 Reviewed by Brian Burg.
3216
3217 * UserInterface/Controllers/DOMTreeManager.js:
3218 (WI.DOMTreeManager):
3219 (WI.DOMTreeManager.prototype.getSupportedEventNames): Added.
3220
3221 * UserInterface/Views/EventBreakpointPopover.js:
3222 (WI.EventBreakpointPopover):
3223 (WI.EventBreakpointPopover.prototype.show):
3224 (WI.EventBreakpointPopover.prototype.dismiss): Added.
3225 (WI.EventBreakpointPopover.prototype.completionSuggestionsClickedCompletion): Added.
3226 (WI.EventBreakpointPopover.prototype._presentOverTargetElement):
3227 (WI.EventBreakpointPopover.prototype._showSuggestionsView): Added.
3228
krollin@apple.com2ba23ff2018-08-27 17:16:17 +000032292018-08-27 Keith Rollin <krollin@apple.com>
3230
3231 Build system support for LTO
3232 https://bugs.webkit.org/show_bug.cgi?id=187785
3233 <rdar://problem/42353132>
3234
3235 Reviewed by Dan Bernstein.
3236
3237 Update Base.xcconfig and DebugRelease.xcconfig to optionally enable
3238 LTO.
3239
3240 * Configurations/Base.xcconfig:
3241 * Configurations/DebugRelease.xcconfig:
3242
drousso@apple.come3ef4fa2018-08-27 16:59:39 +000032432018-08-27 Devin Rousso <drousso@apple.com>
3244
3245 Web Inspector: REGRESSION: virtualized TreeOutline is empty when filtering
3246 https://bugs.webkit.org/show_bug.cgi?id=188959
3247
3248 Reviewed by Brian Burg.
3249
3250 * UserInterface/Views/TreeElement.js:
3251 (WI.TreeElement.prototype.set hidden):
3252 Only set `focusedTreeElement` if the `WI.TreeElement` is selected and not hidden. There is
3253 no reason to focus a hidden or unselected `WI.TreeElement`.
3254
drousso@apple.com7c7137d2018-08-24 04:55:28 +000032552018-08-23 Devin Rousso <drousso@apple.com>
3256
3257 Web Inspector: Color picker: can't enter decimal numbers for opacity
3258 https://bugs.webkit.org/show_bug.cgi?id=187026
3259 <rdar://problem/41446500>
3260
3261 Reviewed by Brian Burg.
3262
3263 After every "input" event, we update the `color` value of the `WI.ColorPicker` based on a
3264 generated string using the values of the various <input>. The issue with this approach is
3265 that adding a decimal point (e.g. "0.") would still be construed as 0, meaning that the
3266 color wouldn't change and would instead be reset back to it's old value. This patch adds an
3267 early return if the newly generated color has the same value as the current color, thereby
3268 meaning that the `color` wouldn't change when changing from "0" to "0.".
3269
3270 * UserInterface/Views/ColorPicker.js:
3271 (WI.ColorPicker):
3272 (WI.ColorPicker.createColorInput):
3273 (WI.ColorPicker.prototype._handleColorInputInput):
3274
simon.fraser@apple.com5cf2d3e2018-08-24 04:10:31 +000032752018-08-23 Simon Fraser <simon.fraser@apple.com>
3276
3277 Add support for dumping GC heap snapshots, and a viewer
3278 https://bugs.webkit.org/show_bug.cgi?id=186416
3279
3280 Reviewed by Joseph Pecoraro.
3281
3282 Make a way to dump information about the GC heap that is useful for looking for leaked
3283 or abandoned objects. This dump is obtained (on Apple platforms) via:
3284 notifyutil -p com.apple.WebKit.dumpGCHeap
3285 which writes a JSON file to /tmp which can then be loaded into the viewer in Tools/GCHeapInspector.
3286
3287 This leverages the heap snapshot used by Web Inspector, adding an alternate format for
3288 the snapshot JSON that adds additional data about objects and why they are GC roots.
3289
3290 The generated bindings code is changed to include the output root reason from isReachableFromOpaqueRoots(),
3291 and to implement heapSnapshot() which provides the address of the wrapped object. A new IDL attribute,
3292 CustomHeapSnapshot, is used to allow custom heapSnapshot() implementations for classes like JSDocument
3293 that need to decorate the heap snapshot cell data with things like the document URL.
3294
3295 GCController registers a notifyutil callback which gathers the debug heap snapshot, and dumps it
3296 to a file in /tmp. The file path is printed out to the system log.
3297
3298 * UserInterface/Workers/HeapSnapshot/HeapSnapshot.js:
3299 (HeapSnapshot):
3300
bburg@apple.com973aa892018-08-23 23:32:47 +000033012018-08-23 Brian Burg <bburg@apple.com>
3302
3303 Web Inspector: fix typos in some compositing reasons
3304 https://bugs.webkit.org/show_bug.cgi?id=188905
3305 <rdar://problem/43624825>
3306
3307 Reviewed by Simon Fraser.
3308
3309 * Localizations/en.lproj/localizedStrings.js:
3310 * UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
3311 (WI.LayerTreeDetailsSidebarPanel.prototype._populateListOfCompositingReasons):
3312 (WI.LayerTreeDetailsSidebarPanel):
3313 * UserInterface/Views/Layers3DContentView.js:
3314 (WI.Layers3DContentView.prototype._updateReasonsList):
3315 (WI.Layers3DContentView):
3316
drousso@apple.com687c5c32018-08-23 20:06:14 +000033172018-08-23 Devin Rousso <drousso@apple.com>
3318
drousso@apple.com422ab952018-08-23 21:36:40 +00003319 Web Inspector: support breakpoints for timers and animation-frame events
3320 https://bugs.webkit.org/show_bug.cgi?id=188778
3321
3322 Reviewed by Brian Burg.
3323
3324 Add a `type` to `WI.EventBreakpoint` that matches `DOMDebugger.EventBreakpointType`:
3325 - `AnimationFrame` for `requestAnimationFrame`
3326 - `Listener` for any named DOM Event
3327 - `Timer` for `setTimeout` and `setInterval`
3328
3329 Modified `WI.EventBreakpointPopover` to provide ways for selecting these other types, which
3330 is then passed to `WI.DOMDebuggerManager`, which now calls through to the newly added
3331 `DOMDebugger.removeEventBreakpoint` and `DOMDebugger.setEventBreakpoint` that sets
3332 breakpoints for all event types.
3333
3334 * Localizations/en.lproj/localizedStrings.js:
3335 * UserInterface/Images/EventBreakpointAnimationFrame.svg: Added.
3336 * UserInterface/Images/EventBreakpointListener.svg: Renamed from Source/WebInspectorUI/UserInterface/Images/EventBreakpoint.svg.
3337 * UserInterface/Images/EventBreakpointTimer.svg: Added.
3338
3339 * UserInterface/Controllers/DOMDebuggerManager.js:
3340 (WI.DOMDebuggerManager.supportsEventBreakpoints): Added.
3341 (WI.DOMDebuggerManager.prototype.eventBreakpointForTypeAndEventName): Added.
3342 (WI.DOMDebuggerManager.prototype.addEventBreakpoint):
3343 (WI.DOMDebuggerManager.prototype.removeEventBreakpoint.breakpointRemoved): Added.
3344 (WI.DOMDebuggerManager.prototype.removeEventBreakpoint):
3345 (WI.DOMDebuggerManager.prototype._updateEventBreakpoint):
3346 (WI.DOMDebuggerManager.prototype.eventBreakpointForEventName): Deleted.
3347
3348 * UserInterface/Controllers/DOMTreeManager.js:
3349 (WI.DOMTreeManager.prototype.setBreakpointForEventListener):
3350
3351 * UserInterface/Controllers/DebuggerManager.js:
3352 (WI.DebuggerManager.prototype._pauseReasonFromPayload):
3353
3354 * UserInterface/Models/EventBreakpoint.js:
3355 (WI.EventBreakpoint):
3356 (WI.EventBreakpoint.fromPayload):
3357 (WI.EventBreakpoint.prototype.get type): Added.
3358 (WI.EventBreakpoint.prototype.get serializableInfo):
3359 (WI.EventBreakpoint.prototype.saveIdentityToCookie):
3360
3361 * UserInterface/Views/DebuggerSidebarPanel.js:
3362 (WI.DebuggerSidebarPanel.prototype._updatePauseReasonSection):
3363 (WI.DebuggerSidebarPanel.prototype.willDismissPopover):
3364
3365 * UserInterface/Views/EventBreakpointPopover.js:
3366 (WI.EventBreakpointPopover):
3367 (WI.EventBreakpointPopover.prototype.get breakpoint): Added.
3368 (WI.EventBreakpointPopover.prototype.show):
3369 (WI.EventBreakpointPopover.prototype.show.createOption): Added.
3370 (WI.EventBreakpointPopover.prototype.dismiss): Added.
3371 (WI.EventBreakpointPopover.prototype._presentOverTargetElement):
3372 (WI.EventBreakpointPopover.prototype._handleTypeSelectChange): Added.
3373 (WI.EventBreakpointPopover.prototype.get result): Deleted.
3374 (WI.EventBreakpointPopover.prototype.get value): Deleted.
3375 * UserInterface/Views/EventBreakpointPopover.css:
3376 (.popover .event-breakpoint-content > .event-type): Added.
3377 (.popover .event-breakpoint-content > input): Deleted.
3378
3379 * UserInterface/Views/EventBreakpointTreeElement.js:
3380 (WI.EventBreakpointTreeElement):
3381 * UserInterface/Views/EventBreakpointTreeElement.css:
3382 (.breakpoint.event.animation-frame:not(.breakpoint-paused-icon) .icon): Added.
3383 (.breakpoint.event.listener:not(.breakpoint-paused-icon) .icon): Added.
3384 (.breakpoint.event.timer:not(.breakpoint-paused-icon) .icon): Added.
3385 (.breakpoint.event:not(.breakpoint-paused-icon) .icon): Deleted.
3386
33872018-08-23 Devin Rousso <drousso@apple.com>
3388
drousso@apple.comb3942382018-08-23 20:20:15 +00003389 Web Inspector: `console.inspect(sessionStorage)` first time does not show Session Storage content view if Storage tab was previously unvisited
3390 https://bugs.webkit.org/show_bug.cgi?id=188801
3391
3392 Reviewed by Matt Baker.
3393
3394 * UserInterface/Base/Main.js:
3395 (WI.tabContentViewClassForRepresentedObject):
3396 (WI._storageWasInspected):
3397 Since the `WI.StorageSidebarPanel` is not created until the `WI.StorageTabContentView` is
3398 created, the `WI.StorageManager.Event.DOMStorageObjectWasInspected` and
3399 `WI.StorageManager.Event.DatabaseWasInspected` events do not reach the sidebar. We should
3400 follow what `WI._domNodeWasInspected` does and additionally call `WI.showRepresentedObject`
3401 on the inspected object.
3402
34032018-08-23 Devin Rousso <drousso@apple.com>
3404
drousso@apple.com687c5c32018-08-23 20:06:14 +00003405 Web Inspector: REGRESSION: InspectorStyleSheet not visible in the resources sidebar
3406 https://bugs.webkit.org/show_bug.cgi?id=188819
3407 <rdar://problem/43579039>
3408
3409 Reviewed by Brian Burg.
3410
3411 * UserInterface/Models/ResourceCollection.js:
3412 (WI.ResourceCollection.prototype.objectIsRequiredType):
3413
commit-queue@webkit.orgdd75e002018-08-23 16:37:02 +000034142018-08-23 Joseph Pecoraro <pecoraro@apple.com>
3415
3416 JSContext Inspector: Scripts not showing up in Resources tab
3417 https://bugs.webkit.org/show_bug.cgi?id=188814
3418 <rdar://problem/43576117>
3419
3420 Reviewed by Brian Burg.
3421
3422 * UserInterface/Views/ResourceSidebarPanel.js:
3423 (WI.ResourceSidebarPanel.prototype._addScript):
3424 This path shouldn't apply to JSContext inspection which will
3425 never have a pageTarget and but doesn't have a mainResource.
3426
drousso@apple.com12df7852018-08-22 17:56:44 +000034272018-08-22 Devin Rousso <drousso@apple.com>
3428
3429 Web Inspector: cannot delete multiple event breakpoints by repeatedly hitting delete
3430 https://bugs.webkit.org/show_bug.cgi?id=188803
3431 <rdar://problem/43572838>
3432
3433 Reviewed by Matt Baker.
3434
3435 * UserInterface/Views/DebuggerSidebarPanel.js:
3436 (WI.DebuggerSidebarPanel.prototype._domBreakpointAddedOrRemoved):
3437 (WI.DebuggerSidebarPanel.prototype._eventBreakpointAddedOrRemoved):
3438
carlosgc@webkit.orgf7162422018-08-22 07:13:03 +000034392018-08-22 Carlos Garcia Campos <cgarcia@igalia.com>
3440
3441 Unreviewed. Do not include TreeOutlineDataGridSynchronizer.js in inspector main.
3442
3443 The script was removed in r235151.
3444
3445 * UserInterface/Main.html:
3446
mattbaker@apple.com65026172018-08-22 01:08:47 +000034472018-08-21 Matt Baker <mattbaker@apple.com>
3448
3449 Web Inspector: Remove TreeOutlineDataGridSynchronizer
3450 https://bugs.webkit.org/show_bug.cgi?id=188449
3451 <rdar://problem/43107980>
3452
3453 Reviewed by Devin Rousso.
3454
3455 * UserInterface/Views/HeapAllocationsTimelineView.js:
3456 (WI.HeapAllocationsTimelineView.prototype.layout):
3457 * UserInterface/Views/LayoutTimelineView.js:
3458 (WI.LayoutTimelineView.prototype._processPendingRecords):
3459 * UserInterface/Views/NetworkTimelineView.js:
3460 (WI.NetworkTimelineView.prototype._processPendingRecords):
3461 * UserInterface/Views/RenderingFrameTimelineView.js:
3462 (WI.RenderingFrameTimelineView.prototype._processPendingRecords):
3463 (WI.RenderingFrameTimelineView.prototype.dataGridNodeForTreeElement): Deleted.
3464 * UserInterface/Views/ScriptDetailsTimelineView.js:
3465 (WI.ScriptDetailsTimelineView.prototype._processPendingRecords):
3466 * UserInterface/Views/TimelineDataGrid.js:
3467 (WI.TimelineDataGrid):
3468 (WI.TimelineDataGrid.prototype.reset):
3469 (WI.TimelineDataGrid.prototype.shown):
3470 (WI.TimelineDataGrid.prototype.addRowInSortOrder):
3471 (WI.TimelineDataGrid.prototype._refreshDirtyDataGridNodes):
3472 (WI.TimelineDataGrid.prototype._sort):
3473 (WI.TimelineDataGrid.prototype.treeElementForDataGridNode): Deleted.
3474 (WI.TimelineDataGrid.prototype.dataGridNodeForTreeElement): Deleted.
3475 * UserInterface/Views/TreeOutlineDataGridSynchronizer.js: Removed.
3476
commit-queue@webkit.org92139ec2018-08-21 23:58:21 +000034772018-08-21 Joseph Pecoraro <pecoraro@apple.com>
3478
3479 Web Inspector: ⌘G does not while find banner is focused
3480 https://bugs.webkit.org/show_bug.cgi?id=188815
3481 <rdar://problem/43577158>
3482
3483 Reviewed by Matt Baker.
3484
3485 * UserInterface/Base/Main.js:
3486 Allow an <input> element to be the current focus element, which is what will
3487 our global KeyboardShortcut handlers will interact with. Also make sure
3488 that showing the find banner for the first time still focuses it.
3489
drousso@apple.com3a321562018-08-21 21:22:58 +000034902018-08-21 Devin Rousso <drousso@apple.com>
3491
drousso@apple.com4b2a92a2018-08-21 22:08:18 +00003492 Web Inspector: REGRESSION(r235095): duplicate actions existing in WI.CanvasSidebarPanel
3493 https://bugs.webkit.org/show_bug.cgi?id=188808
3494
3495 Reviewed by Joseph Pecoraro.
3496
3497 * UserInterface/Views/CanvasSidebarPanel.js:
3498 (WI.CanvasSidebarPanel.prototype._recordingChanged):
3499 Check that the `WI.RecordingAction` is not already represented in the `WI.TreeOutline`
3500 before adding it.
3501
3502 * UserInterface/Views/CanvasSidebarPanel.css:
3503 (.sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline .item.processing .subtitle > progress):
3504 Drive-by: vertically center the <progress> shown for `WI.RecordingFrame` during processing.
3505
35062018-08-21 Devin Rousso <drousso@apple.com>
3507
drousso@apple.com3a321562018-08-21 21:22:58 +00003508 Web Inspector: Canvas: provide default icon for all actions
3509 https://bugs.webkit.org/show_bug.cgi?id=188807
3510
3511 Reviewed by Matt Baker.
3512
3513 * UserInterface/Views/RecordingActionTreeElement.css:
3514 (.item.action > .icon):
3515 (.item.action.initial-state > .icon): Deleted.
3516
commit-queue@webkit.org10ef0562018-08-21 21:00:30 +000035172018-08-21 Joseph Pecoraro <pecoraro@apple.com>
3518
3519 Web Inspector: Rulers.svg is missing
3520 https://bugs.webkit.org/show_bug.cgi?id=188806
3521 <rdar://problem/43574273>
3522
3523 Reviewed by Devin Rousso.
3524
3525 * UserInterface/Images/Rulers.svg: Added.
3526
drousso@apple.com6cbb7b82018-08-20 21:31:55 +000035272018-08-20 Devin Rousso <drousso@apple.com>
3528
drousso@apple.com424f8312018-08-21 02:15:28 +00003529 Web Inspector: allow breakpoints to be set for specific event listeners
3530 https://bugs.webkit.org/show_bug.cgi?id=183138
3531
3532 Reviewed by Joseph Pecoraro.
3533
3534 * Localizations/en.lproj/localizedStrings.js:
3535
3536 * UserInterface/Models/EventBreakpoint.js:
3537 (WI.EventBreakpoint):
3538 (WI.EventBreakpoint.fromPayload): Added.
3539 (WI.EventBreakpoint.prototype.get eventListener): Added.
3540
3541 * UserInterface/Controllers/DOMDebuggerManager.js:
3542 (WI.DOMDebuggerManager):
3543
3544 * UserInterface/Controllers/DOMTreeManager.js:
3545 (WI.DOMTreeManager):
3546 (WI.DOMTreeManager.prototype.get eventBreakpoints): Added.
3547 (WI.DOMTreeManager.prototype._setDocument):
3548 (WI.DOMTreeManager.prototype.setEventListenerDisabled):
3549 (WI.DOMTreeManager.prototype.setBreakpointForEventListener): Added.
3550 (WI.DOMTreeManager.prototype.removeBreakpointForEventListener): Added.
3551 (WI.DOMTreeManager.prototype.breakpointForEventListenerId): Added.
3552
3553 * UserInterface/Controllers/EventBreakpointTreeController.js:
3554 (WI.EventBreakpointTreeController):
3555
3556 * UserInterface/Views/DebuggerSidebarPanel.js:
3557 (WI.DebuggerSidebarPanel.prototype._updatePauseReasonSection):
3558
3559 * UserInterface/Views/EventListenerSectionGroup.js:
3560 (WI.EventListenerSectionGroup):
3561 (WI.EventListenerSectionGroup.prototype._createDisabledToggleRow):
3562 (WI.EventListenerSectionGroup.prototype._createBreakpointToggleRow): Added.
3563
3564 * UserInterface/Views/EventBreakpointTreeElement.js:
3565 (WI.EventBreakpointTreeElement):
3566 (WI.EventBreakpointTreeElement.prototype.ondelete):
3567 (WI.EventBreakpointTreeElement.prototype.populateContextMenu):
3568 (WI.EventBreakpointTreeElement.prototype._toggleBreakpoint):
3569
35702018-08-20 Devin Rousso <drousso@apple.com>
3571
drousso@apple.com6cbb7b82018-08-20 21:31:55 +00003572 Web Inspector: Canvas tab: allow recording processing to be stopped midway
3573 https://bugs.webkit.org/show_bug.cgi?id=185152
3574
3575 Reviewed by Joseph Pecoraro.
3576
3577 Previously, `WI.Recording` used a `WI.YieldableTask` to process every action in such a way
3578 as to not block the UI. The downside to this approach was that it used a message view to
3579 indicate the progress of this process, and prevented the user from viewing the `WI.Recording`
3580 until that process was completed.
3581
3582 This patch changes `WI.Recording` to instead use `async/await` and fire events whenever a
3583 `WI.RecordingAction` (and `WI.RecordingFrame`) finished processing, allowing it to be added
3584 to the recording `WI.TreeOutline` and selected by the user. Additionally, a pause/resume
3585 button is added to the `WI.CanvasSidebarPanel` so the user has greater control over what
3586 how much of the `WI.Recording` they want to process.
3587
3588 * Localizations/en.lproj/localizedStrings.js:
3589
3590 * UserInterface/Base/Utilities.js:
3591 (Promise.delay)
3592 Utility function for promisifying `setTimeout`.
3593
3594 * UserInterface/Models/Recording.js:
3595 (WI.Recording):
3596 (WI.Recording.prototype.get processing): Added.
3597 (WI.Recording.prototype.get ready): Added.
3598 (WI.Recording.prototype.startProcessing): Added.
3599 (WI.Recording.prototype.stopProcessing): Added.
3600 (WI.Recording.prototype.async._process): Added.
3601 (WI.Recording.prototype.process): Deleted.
3602 (WI.Recording.prototype.async.yieldableTaskWillProcessItem): Deleted.
3603 (WI.Recording.prototype.async.yieldableTaskDidFinish): Deleted.
3604
3605 * UserInterface/Models/RecordingAction.js:
3606 (WI.RecordingAction):
3607 (WI.RecordingAction.prototype.get ready): Added.
3608 (WI.RecordingAction.prototype.async.swizzle):
3609 (WI.RecordingAction.prototype.apply):
3610
3611 * UserInterface/Models/RecordingInitialStateAction.js:
3612 (WI.RecordingInitialStateAction):
3613
3614 * UserInterface/Views/CanvasSidebarPanel.js:
3615 (WI.CanvasSidebarPanel):
3616 (WI.CanvasSidebarPanel.prototype.set recording):
3617 (WI.CanvasSidebarPanel.prototype.set action):
3618 (WI.CanvasSidebarPanel.prototype._recordingAdded):
3619 (WI.CanvasSidebarPanel.prototype._recordingRemoved):
3620 (WI.CanvasSidebarPanel.prototype._currentRepresentedObjectsDidChange):
3621 (WI.CanvasSidebarPanel.prototype._treeOutlineSelectionDidChange):
3622 (WI.CanvasSidebarPanel.prototype._recordingChanged):
3623 (WI.CanvasSidebarPanel.prototype._recordingChanged.createPauseButton): Added.
3624 (WI.CanvasSidebarPanel.prototype._recordingChanged.createResumeButton): Added.
3625 (WI.CanvasSidebarPanel.prototype._createRecordingFrameTreeElement): Added.
3626 (WI.CanvasSidebarPanel.prototype._createRecordingActionTreeElement): Added.
3627 (WI.CanvasSidebarPanel.prototype._handleRecordingProcessedAction): Added.
3628 (WI.CanvasSidebarPanel.prototype._handleRecordingStartProcessingFrame): Added.
3629 * UserInterface/Views/CanvasSidebarPanel.css:
3630 (.sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline .item.processing .subtitle > progress): Added.
3631 (.sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline:matches(:focus, .force-focus) .item.processing.selected .subtitle > progress): Added.
3632 (.sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline .item.processing .subtitle::before): Added.
3633 (.sidebar > .panel.navigation.canvas > .content > .recording-content > .recording-processing-options): Added.
3634 (.sidebar > .panel.navigation.canvas > .content > .recording-content > .recording-processing-options > .indeterminate-progress-spinner): Added.
3635 (.sidebar > .panel.navigation.canvas > .content > .recording-content > .indeterminate-progress-spinner): Deleted.
3636
3637 * UserInterface/Views/RecordingContentView.js:
3638 (WI.RecordingContentView):
3639 (WI.RecordingContentView.prototype.updateActionIndex):
3640 (WI.RecordingContentView.prototype.initialLayout):
3641 (WI.RecordingContentView.prototype._updateCanvasPath):
3642 (WI.RecordingContentView.prototype._handleRecordingProcessedAction): Added.
3643 (WI.RecordingContentView.prototype._updateProcessProgress): Deleted.
3644 (WI.RecordingContentView.prototype._handleRecordingProcessedActionSwizzle): Deleted.
3645 (WI.RecordingContentView.prototype._handleRecordingProcessedActionApply): Deleted.
3646 * UserInterface/Views/RecordingContentView.css:
3647 (.content-view:not(.tab).recording > header > .slider-container > .slider-value): Added.
3648
3649 * UserInterface/Views/FolderTreeElement.js:
3650 (WI.FolderTreeElement):
3651
3652 * UserInterface/Views/GeneralTreeElement.js:
3653 (WI.GeneralTreeElement.prototype.get statusElement): Added.
3654 (WI.GeneralTreeElement.prototype._updateTitleElements):
3655
3656 * UserInterface/Views/RecordingContentView.js:
3657 (WI.CanvasContentView.prototype._handleViewShaderButtonClicked):
3658 (WI.CanvasContentView.prototype._handleViewRecordingButtonClicked):
3659 Drive-by: `WI.Collection` doesn't have a `values()` accessor for the underlying `Set`.
3660
3661 * UserInterface/Views/RecordingNavigationSidebarPanel.css: Removed.
3662 * UserInterface/Views/RecordingNavigationSidebarPanel.js: Removed.
3663 These files are no longer used since they were "merged" into `WI.CanvasSidebarPanel`.
3664
webkit@devinrousso.combfca5b72018-08-20 20:30:50 +000036652018-08-20 Devin Rousso <webkit@devinrousso.com>
3666
3667 Web Inspector: Canvas tab: create icons for recordings/shaders in the preview tile
3668 https://bugs.webkit.org/show_bug.cgi?id=183650
3669
3670 Reviewed by Joseph Pecoraro.
3671
3672 * Localizations/en.lproj/localizedStrings.js:
3673
3674 * UserInterface/Views/CanvasContentView.js:
3675 (WI.CanvasContentView):
3676 (WI.CanvasContentView.prototype.initialLayout):
3677 (WI.CanvasContentView.prototype.attached):
3678 (WI.CanvasContentView.prototype._recordingStopped):
3679 (WI.CanvasContentView.prototype._shaderProgramAdded):
3680 (WI.CanvasContentView.prototype._shaderProgramRemoved):
3681 (WI.CanvasContentView.prototype._updateViewRelatedItems):
3682 (WI.CanvasContentView.prototype._handleViewShaderButtonClicked):
3683 (WI.CanvasContentView.prototype._handleViewRecordingButtonClicked):
3684 (WI.CanvasContentView.prototype._addRecording): Deleted.
3685 (WI.CanvasContentView.prototype._handleRecordingSelectElementChange): Deleted.
3686 * UserInterface/Views/CanvasOverviewContentView.css:
3687 (.content-view.canvas-overview .content-view.canvas > footer > .view-related-items):
3688 (.content-view.canvas-overview .content-view.canvas > footer > .view-related-items > :matches(.view-shader, .view-recording)):
3689 (.content-view.canvas-overview .content-view.canvas > footer > .view-related-items > img + img):
3690 (.content-view.canvas-overview .content-view.canvas > footer > .view-related-items > .view-shader):
3691 (.content-view.canvas-overview .content-view.canvas > footer > .view-related-items > .view-recording):
3692 (.content-view.canvas-overview .content-view.canvas > footer > .recordings): Deleted.
3693 (.content-view.canvas-overview .content-view.canvas > footer > .recordings::before): Deleted.
3694 (.content-view.canvas-overview .content-view.canvas > footer > .recordings > select): Deleted.
3695 (.content-view.canvas-overview .content-view.canvas > footer .recordings > select:focus): Deleted.
3696 Create two image buttons in the bottom left corner of each canvas tile that appear when the
3697 canvas has associated shaders and/or recordings. Clicking each image button will function
3698 similar to path components, in that if there is only one shader/recording, it is immediately
3699 selected, whereas if there are multiple a dropdown is shown.
3700
3701 * UserInterface/Views/CanvasSidebarPanel.js:
3702 (WI.CanvasSidebarPanel.prototype._currentRepresentedObjectsDidChange):
3703 (WI.CanvasSidebarPanel.prototype._recordingChanged):
3704 Drive-by: ensure that the selected recording action is properly updated when first loading a
3705 recording and when scrubbing through one.
3706
drousso@apple.com7a1bd382018-08-17 02:37:46 +000037072018-08-16 Devin Rousso <drousso@apple.com>
3708
3709 Web Inspector: support breakpoints for arbitrary event names
3710 https://bugs.webkit.org/show_bug.cgi?id=183118
3711
3712 Reviewed by Joseph Pecoraro.
3713
3714 Create UI for setting breakpoints on event names. Ties into renamed DOMDebugger commands,
3715 specifically `setEventBreakpoint` and `removeEventBreakpoint`, that will pause execution if
3716 any DOM event is fired that matches any previously registered breakpoints.
3717
3718 Event breakpoints are distinguished by name, and they currently apply globally, meaning
3719 that only one breakpoint per event name can be registered.
3720
3721 Event breakpoints are created in the Debugger tab in a new "Event Breakpoints" section in
3722 the Navigation sidebar. A new type of popover, EventBreakpointPopover, is used, but right
3723 now all it contains is a basic text input for the event name. Similarly, a new TreeElement
3724 subclass, EventBreakpointTreeElement, is used when showing the list of event listener
3725 breakpoints, but all it shows now is the event name.
3726
3727 The majority of the logic in this patch was derived from XHR breakpoints.
3728
3729 * Localizations/en.lproj/localizedStrings.js:
3730 * UserInterface/Main.html:
3731 * UserInterface/Test.html:
3732 * UserInterface/Images/EventBreakpoint.svg: Added.
3733
3734 * UserInterface/Models/EventBreakpoint.js: Added.
3735 (WI.EventBreakpoint):
3736 (WI.EventBreakpoint.prototype.get eventName):
3737 (WI.EventBreakpoint.prototype.get disabled):
3738 (WI.EventBreakpoint.prototype.set disabled):
3739 (WI.EventBreakpoint.prototype.get serializableInfo):
3740 (WI.EventBreakpoint.prototype.saveIdentityToCookie):
3741
3742 * UserInterface/Controllers/DOMDebuggerManager.js:
3743 (WI.DOMDebuggerManager):
3744 (WI.DOMDebuggerManager.prototype.get eventBreakpoints): Added.
3745 (WI.DOMDebuggerManager.prototype.eventBreakpointForEventName): Added.
3746 (WI.DOMDebuggerManager.prototype.addEventBreakpoint): Added.
3747 (WI.DOMDebuggerManager.prototype.removeEventBreakpoint): Added.
3748 (WI.DOMDebuggerManager.prototype._speculativelyResolveBreakpoints):
3749 (WI.DOMDebuggerManager.prototype._updateEventBreakpoint.breakpointUpdated): Added.
3750 (WI.DOMDebuggerManager.prototype._updateEventBreakpoint): Added.
3751 (WI.DOMDebuggerManager.prototype._resolveEventBreakpoint): Added.
3752 (WI.DOMDebuggerManager.prototype._saveEventBreakpoints): Added.
3753 (WI.DOMDebuggerManager.prototype._eventBreakpointDisabledStateDidChange): Added.
3754
3755 * UserInterface/Controllers/DebuggerManager.js:
3756 (WI.DebuggerManager.prototype._pauseReasonFromPayload):
3757
3758 * UserInterface/Controllers/EventBreakpointTreeController.js: Added.
3759 (WI.EventBreakpointTreeController):
3760 (WI.EventBreakpointTreeController.prototype.revealAndSelect):
3761 (WI.EventBreakpointTreeController.prototype._eventBreakpointAdded):
3762 (WI.EventBreakpointTreeController.prototype._eventBreakpointRemoved):
3763 (WI.EventBreakpointTreeController.prototype._addTreeElement):
3764
3765 * UserInterface/Views/DebuggerSidebarPanel.js:
3766 (WI.DebuggerSidebarPanel):
3767 (WI.DebuggerSidebarPanel.prototype._updatePauseReasonSection):
3768 (WI.DebuggerSidebarPanel.prototype._eventBreakpointAddedOrRemoved): Added.
3769 (WI.DebuggerSidebarPanel.prototype._addEventBreakpointButtonClicked): Added.
3770 (WI.DebuggerSidebarPanel.prototype.willDismissPopover):
3771
3772 * UserInterface/Views/EventBreakpointTreeElement.js: Added.
3773 (WI.EventBreakpointTreeElement):
3774 (WI.EventBreakpointTreeElement.prototype.onattach):
3775 (WI.EventBreakpointTreeElement.prototype.ondetach):
3776 (WI.EventBreakpointTreeElement.prototype.ondelete):
3777 (WI.EventBreakpointTreeElement.prototype.onenter):
3778 (WI.EventBreakpointTreeElement.prototype.onspace):
3779 (WI.EventBreakpointTreeElement.prototype.populateContextMenu):
3780 (WI.EventBreakpointTreeElement.prototype._statusImageElementClicked):
3781 (WI.EventBreakpointTreeElement.prototype._statusImageElementFocused):
3782 (WI.EventBreakpointTreeElement.prototype._statusImageElementMouseDown):
3783 (WI.EventBreakpointTreeElement.prototype._toggleBreakpoint):
3784 (WI.EventBreakpointTreeElement.prototype._updateStatus):
3785 * UserInterface/Views/EventBreakpointTreeElement.css: Added.
3786 (.breakpoint.event-listener:not(.breakpoint-paused-icon) .icon):
3787
3788 * UserInterface/Views/EventBreakpointPopover.js: Added.
3789 (WI.EventBreakpointPopover):
3790 (WI.EventBreakpointPopover.prototype.get result):
3791 (WI.EventBreakpointPopover.prototype.get value):
3792 (WI.EventBreakpointPopover.prototype.show):
3793 (WI.EventBreakpointPopover.prototype._presentOverTargetElement):
3794 * UserInterface/Views/EventBreakpointPopover.css: Added.
3795 (.popover .event-listener-breakpoint-content):
3796 (.popover .event-listener-breakpoint-content > input):
3797
3798 * UserInterface/Views/NavigationSidebarPanel.js:
3799 (WI.NavigationSidebarPanel.prototype._isTreeElementWithoutRepresentedObject):
3800
commit-queue@webkit.org9356f972018-08-16 18:41:30 +000038012018-08-16 Joseph Pecoraro <pecoraro@apple.com>
3802
commit-queue@webkit.orge78cf802018-08-16 22:49:04 +00003803 Web Inspector: Show Initiator information in Network Table
3804 https://bugs.webkit.org/show_bug.cgi?id=188590
3805 <rdar://problem/43305488>
3806
3807 Reviewed by Matt Baker.
3808
3809 * UserInterface/Views/NetworkResourceDetailView.js:
3810 (WI.NetworkResourceDetailView):
3811 (WI.NetworkResourceDetailView.prototype.shown):
3812 (WI.NetworkResourceDetailView.prototype.willShowWithCookie):
3813 (WI.NetworkResourceDetailView.prototype._showContentViewForNavigationItem):
3814 When a ResourceDetailView gets shown, it may also want to show its initial content view
3815 with a cookie as the cookie may contain position highlight information.
3816
3817 * UserInterface/Views/NetworkTableContentView.js:
3818 (WI.NetworkTableContentView):
3819 (WI.NetworkTableContentView.prototype._showResourceDetailView):
3820 (WI.NetworkTableContentView.prototype.showRepresentedObject):
3821 When showing a represented object, pass the cookie information on to the detail
3822 view's so that it may include the cookie when showing the final content view.
3823
3824 (WI.NetworkTableContentView.prototype.tablePopulateCell):
3825 (WI.NetworkTableContentView.prototype._populateInitiatorCell):
3826 (WI.NetworkTableContentView.prototype.initialLayout):
3827 New initiator column contains a source code link to the call site.
3828
3829 (WI.NetworkTableContentView.prototype._generateSortComparator):
3830 (WI.NetworkTableContentView.prototype._entryForResource):
3831 Entry data for the initiator is a display string that can be sorted easily.
3832
38332018-08-16 Joseph Pecoraro <pecoraro@apple.com>
3834
commit-queue@webkit.org9356f972018-08-16 18:41:30 +00003835 LayoutTest inspector/worker/debugger-pause.html sometimes times out
3836 https://bugs.webkit.org/show_bug.cgi?id=188580
3837
3838 Reviewed by Matt Baker.
3839
3840 * UserInterface/Protocol/Target.js:
3841 (WI.Target.prototype.get mainResource):
3842 (WI.Target.prototype.set mainResource):
3843 Dispatch an event when the Main Resource is set.
3844
akeerthi@apple.coma1332872018-08-15 20:42:26 +000038452018-08-15 Aditya Keerthi <akeerthi@apple.com>
3846
3847 [Datalist] Add button to TextFieldInputs with a datalist
3848 https://bugs.webkit.org/show_bug.cgi?id=187741
3849
3850 Reviewed by Tim Horton.
3851
3852 Add keyword completion for 'list-button'.
3853
3854 * UserInterface/External/CodeMirror/css.js:
3855 * UserInterface/Models/CSSKeywordCompletions.js:
3856
drousso@apple.comafbfd7c2018-08-15 17:29:14 +000038572018-08-15 Devin Rousso <drousso@apple.com>
3858
3859 Web Inspector: REGRESSION(r?): the probe sidebar doesn't show up when adding probes
3860 https://bugs.webkit.org/show_bug.cgi?id=188594
3861
3862 Reviewed by Brian Burg.
3863
3864 * UserInterface/Views/ProbeDetailsSidebarPanel.js:
3865 (WI.ProbeDetailsSidebarPanel.prototype.set inspectedProbeSets):
3866 (WI.ProbeDetailsSidebarPanel.prototype.initialLayout):
3867 Add checks to ensure that DOM elements for each probe section exist before trying to
3868 add/remove them from the sidebar. This can happen if probes are inspected before the sidebar
3869 is shown for the first time.
3870
3871 * UserInterface/Views/ProbeSetDataGrid.js:
3872 (WI.ProbeSetDataGrid):
3873 (WI.ProbeSetDataGrid.columnIdentifierForProbe): Added.
3874 (WI.ProbeSetDataGrid.prototype._setupProbe):
3875 (WI.ProbeSetDataGrid.prototype._teardownProbe):
3876 (WI.ProbeSetDataGrid.prototype._probeExpressionChanged):
3877 * UserInterface/Views/ProbeSetDataGridNode.js:
3878 (WI.ProbeSetDataGridNode.prototype.set frame):
3879 Provide better column identifiers for each probe's `WI.DataGrid`. It's possible for the
3880 numeric probe ID value to be stringified when passing it into the constructor of
3881 `WI.DataGrid`, which will not match the original numeric value on later retrieval.
3882
mattbaker@apple.com8e8fd912018-08-15 06:10:34 +000038832018-08-14 Matt Baker <mattbaker@apple.com>
3884
3885 Web Inspector: Table should not center rows when scrolling them into view
3886 https://bugs.webkit.org/show_bug.cgi?id=188593
3887 <rdar://problem/43311660>
3888
3889 Reviewed by Devin Rousso.
3890
3891 * UserInterface/Views/Table.js:
3892 (WI.Table.prototype._handleKeyDown):
3893
mattbaker@apple.com1df5c5d2018-08-13 22:44:18 +000038942018-08-13 Matt Baker <mattbaker@apple.com>
3895
3896 Web Inspector: Table should handle row selection instead of the table delegate
3897 https://bugs.webkit.org/show_bug.cgi?id=188534
3898 <rdar://problem/43253335>
3899
3900 Reviewed by Joseph Pecoraro.
3901
3902 Row selection should be implemented by Table, rather than its delegate.
3903
3904 * UserInterface/Views/NetworkTableContentView.js:
3905 (WI.NetworkTableContentView.prototype.tableShouldSelectRow):
3906 (WI.NetworkTableContentView.prototype.tableCellMouseDown): Deleted.
3907 Prevent selection unless the clicked cell belongs to the name column.
3908
3909 * UserInterface/Views/ResourceCookiesContentView.js:
3910 (WI.ResourceCookiesContentView.prototype.tableShouldSelectRow):
3911 Always prevent selection.
3912
3913 * UserInterface/Views/Table.js:
3914 (WI.Table):
3915 (WI.Table.prototype._handleMouseDown):
3916
akeerthi@apple.com969f86d2018-08-12 20:19:25 +000039172018-08-12 Aditya Keerthi <akeerthi@apple.com>
3918
3919 [macOS] Color wells should appear pressed when presenting a color picker
3920 https://bugs.webkit.org/show_bug.cgi?id=188477
3921
3922 Reviewed by Tim Horton.
3923
3924 Add keyword completion for 'color-well'.
3925
3926 * UserInterface/External/CodeMirror/css.js:
3927 * UserInterface/Models/CSSKeywordCompletions.js:
3928
nvasilyev@apple.com39754d82018-08-09 21:47:00 +000039292018-08-09 Nikita Vasilyev <nvasilyev@apple.com>
3930
3931 Web Inspector: Dark Mode: SourceCodeTextEditor error/warning text widget is too light
3932 https://bugs.webkit.org/show_bug.cgi?id=188126
3933 <rdar://problem/42674963>
3934
3935 Reviewed by Matt Baker.
3936
3937 * UserInterface/Views/DarkMode.css:
3938 (@media (prefers-dark-interface)):
3939 (.source-code.text-editor > .CodeMirror .issue-widget.warning,): Added.
3940 (.source-code.text-editor > .CodeMirror .issue-widget.error,): Added.
3941
commit-queue@webkit.org23c57722018-08-07 16:19:44 +000039422018-08-07 Joseph Pecoraro <pecoraro@apple.com>
3943
3944 Web Inspector: Add another Protocol Version (iOS 12)
3945 https://bugs.webkit.org/show_bug.cgi?id=188359
3946 <rdar://problem/42981364>
3947
3948 Reviewed by Brian Burg.
3949
3950 * UserInterface/Protocol/Legacy/12.0/InspectorBackendCommands.js: Added.
3951 * Versions/Inspector-iOS-12.0.json: Added.
3952
joepeck@webkit.org1a0f3762018-08-07 00:25:52 +000039532018-08-06 Joseph Pecoraro <pecoraro@apple.com>
3954
3955 Web Inspector: Global search sometimes returns duplicate results for a resource
3956 https://bugs.webkit.org/show_bug.cgi?id=188270
3957 <rdar://problem/42867498>
3958
3959 Reviewed by Brian Burg.
3960
3961 * UserInterface/Views/SearchSidebarPanel.js:
3962 (WI.SearchSidebarPanel.prototype.performSearch.resourcesCallback):
3963 Avoid duplicate search results in the frontend. We should also fix the backend
3964 but a frontend fix will also be desired for backends that have the issue.
3965
commit-queue@webkit.org0406f9f2018-08-03 23:13:57 +000039662018-08-03 Alex Christensen <achristensen@webkit.org>
3967
3968 Fix spelling of "overridden"
3969 https://bugs.webkit.org/show_bug.cgi?id=188315
3970
3971 Reviewed by Darin Adler.
3972
3973 * UserInterface/Views/ContentBrowserTabContentView.js:
3974 (WI.ContentBrowserTabContentView.prototype.treeElementForRepresentedObject):
3975 * UserInterface/Views/GeneralTreeElement.js:
3976 (WI.GeneralTreeElement.prototype.ondetach):
3977 * UserInterface/Views/NavigationBar.js:
3978 (WI.NavigationBar.prototype.get sizesToFit):
3979 * UserInterface/Views/NavigationSidebarPanel.js:
3980 (WI.NavigationSidebarPanel.prototype.shouldFilterPopulate):
3981 * UserInterface/Views/TextEditor.js:
3982 (WI.TextEditor.prototype.canBeFormatted):
3983 * UserInterface/Views/TreeElement.js:
3984 (WI.TreeElement.prototype.onpopulate):
3985
nvasilyev@apple.comd8194642018-08-01 18:09:38 +000039862018-08-01 Nikita Vasilyev <nvasilyev@apple.com>
3987
nvasilyev@apple.comd21450e2018-08-01 18:12:17 +00003988 Web Inspector: Dark Mode: SourceCodeTextEditor thread indicator widget is too light
3989 https://bugs.webkit.org/show_bug.cgi?id=188119
3990 <rdar://problem/42670811>
3991
3992 Reviewed by Matt Baker.
3993
3994 Make the background of the thread indicator widget darker.
3995
3996 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.
3997
3998 * UserInterface/Views/DarkMode.css:
3999 (@media (prefers-dark-interface)):
4000 (.text-editor > .CodeMirror .execution-line):
4001 (.text-editor > .CodeMirror .execution-range-highlight:not(.CodeMirror-selectedtext),):
4002 * UserInterface/Views/SourceCodeTextEditor.css:
4003 (.source-code.text-editor .CodeMirror-linewidget):
4004 (.source-code.text-editor > .CodeMirror .line-indicator-widget.inline):
4005 (@media (prefers-dark-interface)):
4006 (.source-code.text-editor > .CodeMirror .thread-widget.inline):
4007 * UserInterface/Views/SourceCodeTextEditor.js:
4008 (WI.SourceCodeTextEditor.prototype._updateThreadIndicatorWidget):
4009 (WI.SourceCodeTextEditor.prototype._updateIssueWidgetForIssues):
4010 * UserInterface/Views/TextEditor.css:
4011 (@media (prefers-dark-interface)):
4012 (.text-editor > .CodeMirror .execution-line.primary .CodeMirror-linenumber::after):
4013 * UserInterface/Views/Variables.css:
4014 (:root):
4015
40162018-08-01 Nikita Vasilyev <nvasilyev@apple.com>
4017
nvasilyev@apple.comd8194642018-08-01 18:09:38 +00004018 Web Inspector: Dark Mode: disabled breakpoints banner is too light
4019 https://bugs.webkit.org/show_bug.cgi?id=188120
4020 <rdar://problem/42671348>
4021
4022 Reviewed by Matt Baker.
4023
4024 * UserInterface/Views/DebuggerSidebarPanel.css:
4025 (@media (prefers-dark-interface)):
4026 (.sidebar > .panel.navigation.debugger .warning-banner):
4027
commit-queue@webkit.org97e13b12018-07-31 18:23:01 +000040282018-07-31 Joseph Pecoraro <pecoraro@apple.com>
4029
4030 Web Inspector: Include a full URL tooltip when hovering the name in the Network Tab
4031 https://bugs.webkit.org/show_bug.cgi?id=188199
4032
4033 Reviewed by Matt Baker.
4034
4035 * UserInterface/Views/NetworkTableContentView.js:
4036 (WI.NetworkTableContentView.prototype._populateNameCell):
4037 Give a tooltip to the entire cell since the entire cell has interactivity.
4038
nvasilyev@apple.comd05f3642018-07-30 23:10:56 +000040392018-07-30 Nikita Vasilyev <nvasilyev@apple.com>
4040
4041 Web Inspector: Dark Mode: Search sidebar panel text field has a white background
4042 https://bugs.webkit.org/show_bug.cgi?id=188128
4043 <rdar://problem/42678270>
4044
4045 Reviewed by Matt Baker.
4046
4047 Make the search bar in Search tab match the style of the filter bar.
4048
4049 * UserInterface/Views/DarkMode.css:
4050 (@media (prefers-dark-interface)):
4051 (:matches(.search-bar, .filter-bar) > input[type="search"],):
4052 (:matches(.search-bar, .filter-bar) > input[type="search"]::placeholder):
4053 (:matches(.search-bar, .filter-bar) > input[type="search"]:focus):
4054 (.filter-bar > input[type="search"]): Deleted.
4055 (.filter-bar > input[type="search"]::placeholder): Deleted.
4056 (.filter-bar > input[type="search"]:focus): Deleted.
4057
ryanhaddad@apple.comb8727ff2018-07-27 01:37:54 +000040582018-07-26 Ryan Haddad <ryanhaddad@apple.com>
4059
4060 Unreviewed, rolling out r234281.
4061
4062 Broke internal builds.
4063
4064 Reverted changeset:
4065
4066 "[Datalist] Add button to TextFieldInputs with a datalist"
4067 https://bugs.webkit.org/show_bug.cgi?id=187741
4068 https://trac.webkit.org/changeset/234281
4069
commit-queue@webkit.org38893832018-07-26 23:12:23 +000040702018-07-26 Aditya Keerthi <akeerthi@apple.com>
4071
4072 [Datalist] Add button to TextFieldInputs with a datalist
4073 https://bugs.webkit.org/show_bug.cgi?id=187741
4074
4075 Reviewed by Tim Horton.
4076
4077 Add keyword completion for 'list-button'.
4078
4079 * UserInterface/External/CodeMirror/css.js:
4080 * UserInterface/Models/CSSKeywordCompletions.js:
4081
nvasilyev@apple.com49e70b32018-07-26 00:19:45 +000040822018-07-25 Nikita Vasilyev <nvasilyev@apple.com>
4083
4084 Web Inspector: Dark Mode: Breakpoint editor in JS debugger has inconsistent background
4085 https://bugs.webkit.org/show_bug.cgi?id=188026
4086
4087 Reviewed by Matt Baker.
4088
4089 * UserInterface/Views/DarkMode.css:
4090 (@media (prefers-dark-interface)):
4091 (.edit-breakpoint-popover-condition):
4092 (.breakpoint-action-eval-editor):
4093
nvasilyev@apple.comd256d632018-07-23 00:40:26 +000040942018-07-22 Nikita Vasilyev <nvasilyev@apple.com>
4095
4096 Web Inspector: Dark Mode: remove odd-looking top border
4097 https://bugs.webkit.org/show_bug.cgi?id=187885
4098
4099 Reviewed by Matt Baker.
4100
4101 This border doesn't exist in the light mode, and it shouldn't be in the dark mode either.
4102
4103 * UserInterface/Views/DarkMode.css:
4104 (@media (prefers-dark-interface)):
4105 (body .toolbar):
4106
nvasilyev@apple.com79565b32018-07-21 00:30:09 +000041072018-07-20 Nikita Vasilyev <nvasilyev@apple.com>
4108
4109 Web Inspector: Dark Mode: Layers tab background should be dark
4110 https://bugs.webkit.org/show_bug.cgi?id=187660
4111 <rdar://problem/42179616>
4112
4113 Reviewed by Brian Burg.
4114
4115 * UserInterface/Views/Layers3DContentView.js:
4116 (WI.Layers3DContentView.prototype.initialLayout):
4117 * UserInterface/Views/Variables.css:
4118 (:root):
4119
ross.kirsling@sony.comf8933cc2018-07-20 04:29:21 +000041202018-07-19 Ross Kirsling <ross.kirsling@sony.com>
4121
4122 Web Inspector: Layers visualization shouldn't select on mousedown
4123 https://bugs.webkit.org/show_bug.cgi?id=187488
4124
4125 Reviewed by Matt Baker.
4126
4127 * UserInterface/Views/Layers3DContentView.js:
4128 (WI.Layers3DContentView):
4129 (WI.Layers3DContentView.prototype.initialLayout):
4130 (WI.Layers3DContentView.prototype._canvasMouseDown):
4131 (WI.Layers3DContentView.prototype._canvasMouseUp):
4132 Don't update selection on mousedown, update on mouseup!
4133 Specifically, only update when mousedown & mouseup targets are the same and mousemove hasn't been triggered.
4134
nvasilyev@apple.come763d212018-07-19 17:37:17 +000041352018-07-19 Nikita Vasilyev <nvasilyev@apple.com>
4136
4137 Web Inspector: Dark Mode: poor contrast for Search Tab's "the page's content has changed" message
4138 https://bugs.webkit.org/show_bug.cgi?id=187792
4139
4140 Reviewed by Brian Burg.
4141
4142 * UserInterface/Views/DarkMode.css:
4143 (@media (prefers-dark-interface)):
4144 (:root):
4145 Make the background color slightly more yellow and less red. This slightly dicreases the contrast
4146 but makes the text look less like an error.
4147
4148 * UserInterface/Views/SearchSidebarPanel.css:
4149 (@media (prefers-dark-interface)):
4150 (.sidebar > .panel.navigation.search.changed > .banner):
4151
mattbaker@apple.com553c3e82018-07-18 18:40:14 +000041522018-07-18 Matt Baker <mattbaker@apple.com>
4153
4154 Web Inspector: REGRESSION(r232591): CodeMirrorEditor should not use a RegExp lineSeparator option
4155 https://bugs.webkit.org/show_bug.cgi?id=187772
4156 <rdar://problem/42331640>
4157
4158 Reviewed by Joseph Pecoraro.
4159
4160 * UserInterface/Views/CodeMirrorEditor.js:
4161 (WI.CodeMirrorEditor.create):
4162 (WI.CodeMirrorEditor):
4163 CodeMirror should be left to auto-detect line separators. By default
4164 it detects \n, \r\n, and \r. By specifying a regular expression we
4165 merely cause problems when CodeMirror uses the supplied lineSeparator
4166 when joining its array of lines together.
4167
4168 * UserInterface/Views/TextEditor.js:
4169 (WI.TextEditor.set string.update):
4170 (WI.TextEditor.prototype.set string):
4171 This assertion was only true when we forced "\n" line endings everywhere.
4172 It no longer holds for source text with "\r\n" (Windows-style) line endings.
4173
mattbaker@apple.comfc115262018-07-16 20:06:52 +000041742018-07-16 Matt Baker <mattbaker@apple.com>
4175
4176 Web Inspector: Fix execution highlighting after r233820
4177 https://bugs.webkit.org/show_bug.cgi?id=187703
4178 <rdar://problem/42246167>
4179
4180 Reviewed by Joseph Pecoraro.
4181
4182 * UserInterface/Views/SourceCodeTextEditor.js:
4183 (WI.SourceCodeTextEditor.prototype.textEditorExecutionHighlightRange):
4184 * UserInterface/Views/TextEditor.js:
4185 (WI.TextEditor.prototype.currentPositionToOriginalPosition):
4186 (WI.TextEditor.prototype._updateExecutionRangeHighlight):
4187
commit-queue@webkit.org62fe8802018-07-16 18:57:39 +000041882018-07-16 Aaron Chu <aaron_chu@apple.com>
4189
4190 AX: Audit Tab should have an Audit Manager
4191 https://bugs.webkit.org/show_bug.cgi?id=184071
4192 <rdar://problem/38946364>
4193
4194 Reviewed by Brian Burg.
4195
4196 This implements the AuditManager for the audit feature. This patch revolves
4197 around building out an AuditManager that facilitates an audit. The AuditManager
4198 is responsible for managing and storing AuditReports and AuditTestSuites. It is
4199 also tasked to decide how to run a test -- whether as a test case or as a test
4200 suite. This patch also includes 4 models with which the AuditManager works to
4201 perform an audit and to generate a report. These models include AuditTestCase,
4202 which as a collection is stored inside an AuditTestSuite; and AuditResult,
4203 which, as a collection is stored inside an AuditReport.
4204
4205 * UserInterface/Controllers/AuditManager.js: Added.
4206 (WI.AuditManager):
4207 (WI.AuditManager.prototype.get testSuites):
4208 (WI.AuditManager.prototype.get reports):
4209 (WI.AuditManager.prototype.async.runAuditTestByRepresentedObject):
4210 (WI.AuditManager.prototype.reportForId):
4211 (WI.AuditManager.prototype.removeAllReports):
4212 (WI.AuditManager.prototype.async._runTestCase):
4213 * UserInterface/Main.html:
4214 * UserInterface/Models/AuditReport.js: Added.
4215 (WI.AuditReport):
4216 (WI.AuditReport.prototype.get representedTestCases):
4217 (WI.AuditReport.prototype.get representedTestSuite):
4218 (WI.AuditReport.prototype.get resultsData):
4219 (WI.AuditReport.prototype.get isWritable):
4220 (WI.AuditReport.prototype.get failedCount):
4221 (WI.AuditReport.prototype.addResult):
4222 (WI.AuditReport.prototype.close):
4223 * UserInterface/Models/AuditResult.js: Added.
4224 (WI.AuditResult):
4225 (WI.AuditResult.prototype.get testResult):
4226 (WI.AuditResult.prototype.get name):
4227 (WI.AuditResult.prototype.get logLevel):
4228 (WI.AuditResult.prototype.get failed):
4229 * UserInterface/Models/AuditTestCase.js: Added.
4230 (WI.AuditTestCase.prototype.get id):
4231 (WI.AuditTestCase.prototype.get name):
4232 (WI.AuditTestCase.prototype.get suite):
4233 (WI.AuditTestCase.prototype.get test):
4234 (WI.AuditTestCase.prototype.get setup):
4235 (WI.AuditTestCase.prototype.get tearDown):
4236 (WI.AuditTestCase.prototype.get errorDetails):
4237 (WI.AuditTestCase):
4238 * UserInterface/Models/AuditTestSuite.js: Added.
4239 (WI.AuditTestSuite):
4240 (WI.AuditTestSuite.testCaseDescriptors):
4241 (WI.AuditTestSuite.prototype.get id):
4242 (WI.AuditTestSuite.prototype.get name):
4243 (WI.AuditTestSuite.prototype.get testCases):
4244 (WI.AuditTestSuite.prototype._buildTestCasesFromDescriptors):
4245 * UserInterface/Test.html:
4246
nvasilyev@apple.com470ed7c2018-07-16 16:29:00 +000042472018-07-16 Nikita Vasilyev <nvasilyev@apple.com>
4248
nvasilyev@apple.comf038b532018-07-16 16:37:34 +00004249 Web Inspector: Dark Mode: Console filter field buttons should be darker
4250 https://bugs.webkit.org/show_bug.cgi?id=187626
4251 <rdar://problem/42142744>
4252
4253 Reviewed by Brian Burg.
4254
4255 * UserInterface/Views/FindBanner.css:
4256 (@media (prefers-dark-interface)):
4257 (.find-banner > button.segmented):
4258 (.find-banner > button.segmented > .glyph):
4259
42602018-07-16 Nikita Vasilyev <nvasilyev@apple.com>
4261
nvasilyev@apple.com470ed7c2018-07-16 16:29:00 +00004262 Web Inspector: Dark Mode: selected item background color is too light
4263 https://bugs.webkit.org/show_bug.cgi?id=187691
4264 <rdar://problem/42225308>
4265
4266 Reviewed by Brian Burg.
4267
4268 * UserInterface/Views/DarkMode.css:
4269 (@media (prefers-dark-interface)):
4270 (:root):
4271 (.tree-outline.dom li.elements-drag-over .selection-area):
4272 (.tree-outline.dom:focus li.selected .selection-area):
4273
ap@apple.com32ffe412018-07-14 23:44:42 +000042742018-07-14 Kocsen Chung <kocsen_chung@apple.com>
4275
4276 Ensure WebKit stack is ad-hoc signed
4277 https://bugs.webkit.org/show_bug.cgi?id=187667
4278
4279 Reviewed by Alexey Proskuryakov.
4280
4281 * Configurations/Base.xcconfig:
4282
mattbaker@apple.comc0e04c72018-07-13 17:10:28 +000042832018-07-13 Matt Baker <mattbaker@apple.com>
4284
mattbaker@apple.comf5509302018-07-13 23:11:08 +00004285 Web Inspector: REGRESSION (r195723): Improve support for resources with '\r' and '\r\n' line endings
4286 https://bugs.webkit.org/show_bug.cgi?id=186453
4287 <rdar://problem/39689180>
4288
4289 Reviewed by Joseph Pecoraro.
4290
4291 Now that the frontend no longer uses offsets from the original source
4292 file to calculate positions within CodeMirror, it is possible to support
4293 resources with '\r' and '\r\n' line endings in the editor.
4294
4295 * UserInterface/Views/CodeMirrorEditor.js:
4296 (WI.CodeMirrorEditor.create):
4297 (WI.CodeMirrorEditor):
4298
42992018-07-13 Matt Baker <mattbaker@apple.com>
4300
mattbaker@apple.com75b367c2018-07-13 22:27:30 +00004301 Web Inspector: Basic blocks highlighting should use line/column locations instead of offsets
4302 https://bugs.webkit.org/show_bug.cgi?id=187613
4303 <rdar://problem/42131808>
4304
4305 Reviewed by Joseph Pecoraro.
4306
4307 * UserInterface/Controllers/BasicBlockAnnotator.js:
4308 Basic blocks sent from the backend include offsets into the original
4309 file, rather than line/column locations. In order to translate to positions
4310 within CodeMirror, we need to calculate the original line and column
4311 for each block.
4312
4313 (WI.BasicBlockAnnotator.prototype.insertAnnotations):
4314 (WI.BasicBlockAnnotator.prototype._calculateBasicBlockPositions.offsetToPosition):
4315 (WI.BasicBlockAnnotator.prototype._calculateBasicBlockPositions):
4316 (WI.BasicBlockAnnotator.prototype._annotateBasicBlockExecutionRanges.):
4317 (WI.BasicBlockAnnotator.prototype._annotateBasicBlockExecutionRanges):
4318 (WI.BasicBlockAnnotator.prototype._highlightTextForBasicBlock):
4319
4320 * UserInterface/Models/SourceCodePosition.js:
4321 (WI.SourceCodePosition.prototype.offsetColumn):
4322
4323 * UserInterface/Views/TextEditor.js:
4324 (WI.TextEditor.prototype.getTextInRange):
4325 (WI.TextEditor.prototype.addStyleToTextRange):
4326 Better encapsulation for CodeMirror positions.
4327
4328 * UserInterface/Workers/Formatter/FormatterUtilities.js:
4329 (get if):
4330 Update String.prototype.lineEndings to support additional line separators.
4331
43322018-07-13 Matt Baker <mattbaker@apple.com>
4333
mattbaker@apple.com0e226d22018-07-13 21:53:14 +00004334 Web Inspector: Execution highlighting in the frontend should be line/column-based
4335 https://bugs.webkit.org/show_bug.cgi?id=187532
4336 <rdar://problem/42035580>
4337
4338 Reviewed by Joseph Pecoraro.
4339
4340 Source code offsets from Esprima should not be used to calculate ranges
4341 in CodeMirror for expression highlighting.
4342
4343 This also fixes a long standing bug when adjusting for the starting
4344 position of an inline script. Previously the start offset from the script
4345 TextRange was used for this purpose, but the value is often incorrect (see
4346 https://bugs.webkit.org/show_bug.cgi?id=187532#c5). By using the starting
4347 line/column instead, we avoid the problem.
4348
4349 * UserInterface/Models/ScriptSyntaxTree.js:
4350 (WI.ScriptSyntaxTree.prototype.containersOfPosition):
4351 (WI.ScriptSyntaxTree.prototype.containersOfOffset): Deleted.
4352
4353 * UserInterface/Models/SourceCodePosition.js:
4354 (WI.SourceCodePosition.prototype.offsetColumn):
4355
4356 * UserInterface/Views/SourceCodeTextEditor.js:
4357 (WI.SourceCodeTextEditor.prototype.textEditorExecutionHighlightRange.toInlineScriptPosition):
4358 (WI.SourceCodeTextEditor.prototype.textEditorExecutionHighlightRange.fromInlineScriptPosition):
4359 (WI.SourceCodeTextEditor.prototype.textEditorExecutionHighlightRange):
4360 (WI.SourceCodeTextEditor.prototype.textEditorExecutionHighlightRange.convertRangeOffsetsToSourceCodeOffsets): Deleted.
4361
4362 * UserInterface/Views/TextEditor.js:
4363 (WI.TextEditor.prototype._updateExecutionRangeHighlight):
4364
43652018-07-13 Matt Baker <mattbaker@apple.com>
4366
mattbaker@apple.comc0e04c72018-07-13 17:10:28 +00004367 Web Inspector: SourceCodePosition.js missing from Test.html
4368 https://bugs.webkit.org/show_bug.cgi?id=187644
4369
4370 Reviewed by Brian Burg.
4371
4372 * UserInterface/Test.html:
4373
mattbaker@apple.com708a2f02018-07-13 02:06:48 +000043742018-07-12 Matt Baker <mattbaker@apple.com>
4375
4376 Web Inspector: Type token positioning should use line/column locations from Esprima instead of offsets
4377 https://bugs.webkit.org/show_bug.cgi?id=187612
4378 <rdar://problem/42131910>
4379
4380 Reviewed by Joseph Pecoraro.
4381
4382 * UserInterface/Controllers/TypeTokenAnnotator.js:
4383 (WI.TypeTokenAnnotator.prototype.insertAnnotations):
4384 (WI.TypeTokenAnnotator.prototype._insertTypeToken):
4385 (WI.TypeTokenAnnotator.prototype._insertToken):
4386 Use line/column locations, instead of offsets, from the AST when calculating
4387 token positions for CodeMirror. Once in CodeMirror's string space, we
4388 can safely convert to/from offsets.
4389
4390 * UserInterface/Models/ScriptSyntaxTree.js:
4391 Retrieve line/column locations for AST nodes, in addition to offsets.
4392 Offsets into the original file are still needed for getting type information
4393 from the profiler in the backend.
4394
4395 (WI.ScriptSyntaxTree):
4396 (WI.ScriptSyntaxTree.prototype.filterByRange):
4397 Filter by positions, which can be safely used from CodeMirror, instead of offsets.
4398
4399 (WI.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
4400 (WI.ScriptSyntaxTree.prototype.filterByRange.filterForNodesInRange): Deleted.
4401
4402 * UserInterface/Models/SourceCodePosition.js:
4403 Add convenience methods for comparing line/column positions, and for
4404 converting to the format expected by CodeMirror. SourceCodePosition could
4405 be made to interoperate with CodeMirror by exposing properties `line`
4406 and `ch`, but making the conversion explicit improves code readability.
4407
4408 (WI.SourceCodePosition.prototype.equals):
4409 (WI.SourceCodePosition.prototype.isBefore):
4410 (WI.SourceCodePosition.prototype.isAfter):
4411 (WI.SourceCodePosition.prototype.isWithin):
4412 (WI.SourceCodePosition.prototype.toCodeMirror):
4413 (WI.SourceCodePosition):
4414
4415 * UserInterface/Views/TextEditor.js:
4416 (WI.TextEditor.prototype.visibleRangePositions):
4417 (WI.TextEditor.prototype.originalPositionToCurrentPosition):
4418 (WI.TextEditor.prototype.currentOffsetToCurrentPosition):
4419 (WI.TextEditor.prototype.currentPositionToCurrentOffset):
4420 (WI.TextEditor.prototype.setInlineWidget):
4421
Hironori.Fujii@sony.comc797e682018-07-11 01:03:18 +000044222018-07-10 Fujii Hironori <Hironori.Fujii@sony.com>
4423
4424 REGRESSION(r229932) Use of uninitialized value in subroutine entry at copy-user-interface-resources.pl
4425 https://bugs.webkit.org/show_bug.cgi?id=187511
4426
4427 Reviewed by Brian Burg.
4428
4429 copy-user-interface-resources.pl output warning messages unless
4430 BUILT_PRODUCTS_DIR and BUILT_PRODUCTS_DIR env vars are defined.
4431
4432 * Scripts/copy-user-interface-resources.pl:
4433 (webInspectorUIAdditionsDir): Added. Return UNDEF if
4434 BUILT_PRODUCTS_DIR and SDKROOT env vars aren't defined.
4435 (combineOrStripResourcesForWebKitAdditions): Check
4436 $webInspectorUIAdditionsDir is defined.
4437
commit-queue@webkit.orgc11a4152018-07-10 20:09:28 +000044382018-07-10 Ross Kirsling <rkirsling@gmail.com>
4439
4440 Web Inspector: Layers inspector should allow control-dragging to pan the 3D render
4441 https://bugs.webkit.org/show_bug.cgi?id=185109
4442
4443 Reviewed by Matt Baker.
4444
4445 Addressed in the three.js repo itself (https://github.com/mrdoob/three.js/pull/13972),
4446 so this patch simply updates three.js and its OrbitControls module.
4447
4448 * UserInterface/External/three.js/LICENSE:
4449 * UserInterface/External/three.js/three.js:
4450 Update to r94.
4451
4452 * UserInterface/External/three.js/OrbitControls.js:
4453 Update to latest.
4454
4455 * UserInterface/Views/Layers3DContentView.js:
4456 (WI.Layers3DContentView.prototype.initialLayout):
4457 (WI.Layers3DContentView.prototype._restrictPan):
4458 Adapt to recent changes in three.js.
4459
mattbaker@apple.comc3620cb2018-07-10 16:44:45 +000044602018-07-10 Matt Baker <mattbaker@apple.com>
4461
mattbaker@apple.com6f70cb22018-07-10 19:14:59 +00004462 Web Inspector: Remove unused NavigationSidebarPanel.treeElementAddedOrChanged
4463 https://bugs.webkit.org/show_bug.cgi?id=187508
4464
4465 Reviewed by Joseph Pecoraro.
4466
4467 * UserInterface/Views/NavigationSidebarPanel.js:
4468 (WI.NavigationSidebarPanel.prototype._treeElementAddedOrChanged):
4469 (WI.NavigationSidebarPanel.prototype.treeElementAddedOrChanged): Deleted.
4470
44712018-07-10 Matt Baker <mattbaker@apple.com>
4472
mattbaker@apple.comc3620cb2018-07-10 16:44:45 +00004473 Web Inspector: REGRESSION (r217505): Debugger content view doesn't update when left sidebar is collapsed
4474 https://bugs.webkit.org/show_bug.cgi?id=187482
4475 <rdar://problem/41989190>
4476
4477 Reviewed by Brian Burg.
4478
4479 Subclasses of NavigationSidebarPanel must process tree selection changes
4480 even when collapsed. Sidebar panels perform critical controller tasks
4481 for their tabs, such as updating the view when pausing in the debugger,
4482 and when the hierarchical path component selection changes.
4483
4484 * UserInterface/Views/DebuggerSidebarPanel.js:
4485 (WI.DebuggerSidebarPanel.prototype._treeSelectionDidChange):
4486 * UserInterface/Views/ResourceSidebarPanel.js:
4487 (WI.ResourceSidebarPanel.prototype._treeSelectionDidChange):
4488 * UserInterface/Views/SearchSidebarPanel.js:
4489 (WI.SearchSidebarPanel.prototype._treeSelectionDidChange):
4490 * UserInterface/Views/SourcesSidebarPanel.js:
4491 (WI.SourcesSidebarPanel.prototype._treeSelectionDidChange):
4492 * UserInterface/Views/StorageSidebarPanel.js:
4493 (WI.StorageSidebarPanel._treeSelectionDidChange):
4494
bburg@apple.com5b907f82018-07-09 20:00:32 +000044952018-07-09 Brian Burg <bburg@apple.com>
4496
4497 REGRESSION: Web Inspector no longer pauses in internal injected scripts like WDFindNodes.js
4498 https://bugs.webkit.org/show_bug.cgi?id=187350
4499 <rdar://problem/41728249>
4500
4501 Reviewed by Matt Baker.
4502
4503 * UserInterface/Base/Setting.js: Add a new setting to allow pausing in internal scripts.
4504 * UserInterface/Controllers/DebuggerManager.js: Listen to the setting change and toggle
4505 the backend setting accordingly. The default is to not break into internal scripts.
4506
4507 * UserInterface/Views/SettingsTabContentView.js:
4508 (WI.SettingsTabContentView.prototype._createDebugSettingsView):
4509 Expose the new setting in the Debug settings panel.
4510
nvasilyev@apple.com8d50f1a2018-07-07 00:44:29 +000045112018-07-06 Nikita Vasilyev <nvasilyev@apple.com>
4512
4513 Web Inspector: Dark Mode: resource search field has white text on white background
4514 https://bugs.webkit.org/show_bug.cgi?id=187423
4515
4516 Reviewed by Timothy Hatcher.
4517
4518 Match the colors of sidebar filter fields.
4519
4520 * UserInterface/Views/DarkMode.css:
4521 (@media (prefers-dark-interface)):
4522 (.find-banner > input[type="search"]):
4523
timothy_horton@apple.com553ee992018-07-04 09:06:10 +000045242018-07-04 Tim Horton <timothy_horton@apple.com>
4525
4526 Introduce PLATFORM(IOSMAC)
4527 https://bugs.webkit.org/show_bug.cgi?id=187315
4528
4529 Reviewed by Dan Bernstein.
4530
4531 * Configurations/Base.xcconfig:
4532
mattbaker@apple.com8508cfe2018-06-28 22:38:41 +000045332018-06-28 Matt Baker <mattbaker@apple.com>
4534
4535 Web Inspector: REGRESSION (r213000): copy from Search results content view broken
4536 https://bugs.webkit.org/show_bug.cgi?id=187020
4537 <rdar://problem/40928766>
4538
4539 Reviewed by Timothy Hatcher.
4540
4541 Since WI._copy listens for a copy event from the document, it is called
4542 after CodeMirror handles the event and sets clipboard data. If WI._copy
4543 finds a custom copy handler to call, that handler can determine whether
4544 to overwrite the current clipboard data, or leave it alone.
4545
4546 SearchTabContentView's handleCopyEvent method should return early if the
4547 content tree outline doesn't have the focus. This prevents the selection
4548 in the TextEditor from being overwritten, without any special knowledge of
4549 the content browser's current view.
4550
4551 * UserInterface/Views/SearchTabContentView.js:
4552 (WI.SearchTabContentView.prototype.handleCopyEvent):
4553
nvasilyev@apple.comc39d86f2018-06-25 17:34:48 +000045542018-06-25 Nikita Vasilyev <nvasilyev@apple.com>
4555
nvasilyev@apple.comc8b84c92018-06-26 00:43:32 +00004556 Web Inspector: Dark Mode: Box Model section should have dark background
4557 https://bugs.webkit.org/show_bug.cgi?id=186976
4558
4559 Reviewed by Brian Burg.
4560
4561 Replace all instances of black text on white background with the default text and background colors.
4562
4563 * UserInterface/Views/BoxModelDetailsSectionRow.css:
4564 (@media (prefers-dark-interface)):
4565 (.details-section .row.box-model):
4566 (.details-section .row.box-model .label):
4567 (.details-section .row.box-model :matches(.position, .margin, .border, .padding, .content)):
4568 (.details-section .row.box-model:not(.hovered) :matches(.margin, .border, .padding, .content),):
4569 (.details-section .row.box-model .margin):
4570 (.details-section .row.box-model .border):
4571
45722018-06-25 Nikita Vasilyev <nvasilyev@apple.com>
4573
nvasilyev@apple.comc9265c82018-06-25 17:42:03 +00004574 Web Inspector: Dark Mode: color outline is too dark
4575 https://bugs.webkit.org/show_bug.cgi?id=186975
4576
4577 Reviewed by Brian Burg.
4578
4579 Make the outline lighter than the background.
4580
4581 * UserInterface/Views/DarkMode.css:
4582 (@media (prefers-dark-interface)):
4583 (.hover-menu > svg > :matches(path, rect)):
4584
45852018-06-25 Nikita Vasilyev <nvasilyev@apple.com>
4586
nvasilyev@apple.com15a12fd2018-06-25 17:38:29 +00004587 Web Inspector: Dark Mode: Media query names are unreadable
4588 https://bugs.webkit.org/show_bug.cgi?id=186974
4589
4590 Reviewed by Brian Burg.
4591
4592 Change media query names from dark blue to light blue.
4593
4594 * UserInterface/Views/DarkMode.css:
4595 (@media (prefers-dark-interface)):
4596 (.CodeMirror .CodeMirror-lines .CodeMirror-matchingbracket):
4597 (.cm-s-default .cm-attribute):
4598
45992018-06-25 Nikita Vasilyev <nvasilyev@apple.com>
4600
nvasilyev@apple.comce7ecbd2018-06-25 17:35:51 +00004601 Web Inspector: Dark Mode: Network headers colors are too dim
4602 https://bugs.webkit.org/show_bug.cgi?id=186985
4603
4604 Reviewed by Brian Burg.
4605
4606 Increasing the luminance of network header colors by increasing lightness and brightness.
4607
4608 * UserInterface/Views/DarkMode.css:
4609 (@media (prefers-dark-interface)):
4610 (:root):
4611
46122018-06-25 Nikita Vasilyev <nvasilyev@apple.com>
4613
nvasilyev@apple.comc39d86f2018-06-25 17:34:48 +00004614 Web Inspector: Dark Mode: Font guideline colors are too bright
4615 https://bugs.webkit.org/show_bug.cgi?id=186986
4616
4617 Reviewed by Brian Burg.
4618
4619 Make the guidelines less distractive from the font glyphs.
4620
4621 * UserInterface/Views/DarkMode.css:
4622 (@media (prefers-dark-interface)):
4623 (.content-view.resource.font .preview > .line):
4624 (.content-view.resource.font .metric.top):
4625 (.content-view.resource.font .metric.baseline):
4626 (.content-view.resource.font .metric.middle):
4627 (.content-view.resource.font .metric.xheight):
4628 (.content-view.resource.font .metric.bottom):
4629
dbates@webkit.org9cdd6072018-06-21 00:08:53 +000046302018-06-20 Daniel Bates <dabates@apple.com>
4631
4632 Web Inspector: All non-Same-Site cookies are marked as Same-Site Strict in Storage tab
4633 https://bugs.webkit.org/show_bug.cgi?id=186867
4634 <rdar://problem/41175424>
4635
4636 Reviewed by Matt Baker.
4637
4638 Fixes an issue where cookies that do not have a Same-Site policy would be marked up as Same-
4639 Site Strict in Web Inspector's cookie storage content view (under the storage tab).
4640
4641 * UserInterface/Views/CookieStorageContentView.js:
4642 (WI.CookieStorageContentView.prototype._rebuildTable): Only compute the display name if
4643 we cookie.sameSite is non-null and is not WI.Cookie.SameSiteType.None. Moreover, remove
4644 an extraneous call to WI.Cookie.parseSameSiteAttributeValue() as cookie.SameSite represents
4645 the already parsed value (one of the WI.Cookie.SameSiteType-scoped values).
4646
bburg@apple.com64224062018-06-18 21:14:40 +000046472018-06-18 Brian Burg <bburg@apple.com>
4648
4649 Web Inspector: TypeError: Array.prototype.sort passed bad value in NetworkTableContentView _updateSortAndFilteredEntries
4650 https://bugs.webkit.org/show_bug.cgi?id=186787
4651 <rdar://problem/41175680>
4652
4653 Reviewed by Timothy Hatcher.
4654
4655 * UserInterface/Views/NetworkTableContentView.js:
4656 (WI.NetworkTableContentView.prototype._updateSortAndFilteredEntries):
4657
nvasilyev@apple.com46198bd2018-06-13 21:26:34 +000046582018-06-13 Nikita Vasilyev <nvasilyev@apple.com>
4659
4660 Web Inspector: open source Dark Mode
4661 https://bugs.webkit.org/show_bug.cgi?id=186606
4662
4663 Reviewed by Timothy Hatcher.
4664
4665 The dark mode is currently only available on macOS Mojave via prefers-dark-interface CSS media query.
4666
4667 * UserInterface/Main.html:
4668 * UserInterface/Views/DarkMode.css: Added.
4669 (@media (prefers-dark-interface)):
4670 (:root):
4671 (body.window-inactive):
4672 (body.window-inactive *):
4673 (#main):
4674 (.tree-outline.dom li.selected .selection-area):
4675 (.tab-bar > .item > .icon):
4676 (.go-to-arrow):
4677 (.resource-link,):
4678 (.expand-list-button):
4679 (:matches(img, canvas).show-grid):
4680 (.formatted-object,):
4681 (.formatted-null,):
4682 (.editing):
4683 (.editing, .editing *):
4684 (.text-editor > .CodeMirror .execution-line):
4685 (.text-editor > .CodeMirror .execution-range-highlight:not(.CodeMirror-selectedtext),):
4686 (.details-section > .header):
4687 (.details-section > .header > label):
4688 (.details-section .details-section,):
4689 (.details-section .details-section:not(.collapsed) > .header):
4690 (.details-section > .content > .group > .row.simple > .label):
4691 (.details-section > .content > .group:nth-child(even)):
4692 (.details-section > .content > .group > .row:matches(.empty, .text)):
4693 (.data-grid th):
4694 (.data-grid td .subtitle):
4695 (.data-grid:matches(:focus, .force-focus) tr.selected td .subtitle):
4696 (body:not(.window-inactive, .window-docked-inactive) .data-grid:matches(:focus, .force-focus) tr.editable.selected .cell-content > input):
4697 (.data-grid tr.editable .cell-content > input):
4698 (.data-grid td.spanning):
4699 (.object-tree,):
4700 (.object-preview .name):
4701 (.object-preview > .size):
4702 (.tab-bar):
4703 (.tab-bar > .item):
4704 (.tab-bar > .item > .title):
4705 (.tab-bar > .item:not(.disabled).selected):
4706 (.tab-bar:not(.animating) > .item:not(.selected):hover):
4707 (.tab-bar > .item > .close):
4708 (body.window-inactive .tab-bar):
4709 (body.window-inactive .tab-bar > .item):
4710 (body.window-inactive .tab-bar > .item.selected):
4711 (body.window-inactive .tab-bar > .item > .title):
4712 (body .toolbar):
4713 (body.window-inactive .toolbar):
4714 (body.latest-mac .toolbar .item.button,):
4715 (body.latest-mac .toolbar .search-bar > input[type="search"]):
4716 (body.latest-mac .toolbar .search-bar > input[type="search"]:focus):
4717 (body.latest-mac .toolbar .search-bar > input[type="search"]::placeholder):
4718 (body.latest-mac.window-inactive .toolbar .search-bar > input[type="search"]::placeholder):
4719 (body.latest-mac.window-inactive .toolbar .search-bar > input[type="search"]::-webkit-search-results-button):
4720 (body.latest-mac .toolbar .dashboard-container):
4721 (body.latest-mac .toolbar .item.button:active):
4722 (body.latest-mac.window-inactive .toolbar .item.button,):
4723 (.navigation-bar .item.divider):
4724 (.toolbar .item.button):
4725 (.toolbar .item.button:not(.disabled):active):
4726 (.toolbar .item.button:not(.disabled):matches(:focus, .activate.activated)):
4727 (.toolbar .item.button:not(.disabled):active:matches(:focus, .activate.activated)):
4728 (.toolbar .dashboard.default > .item > div):
4729 (.toolbar .dashboard.default > .item.enabled > div):
4730 (.toolbar .dashboard.default > .item.enabled:hover):
4731 (.toolbar .dashboard.default > .item.enabled:hover > div):
4732 (.toolbar .dashboard.default > .resourcesCount > img,):
4733 (body.latest-mac .toolbar .dashboard .item.button):
4734 (.dashboard-container .advance-arrow):
4735 (.toolbar .dashboard.debugger):
4736 (.dashboard.debugger .navigation-bar .item.button > .glyph):
4737 (.dashboard.debugger > .location .function-name):
4738 (.dashboard.debugger > .location .go-to-link):
4739 (.dashboard.debugger > .divider):
4740 (.popover .edit-breakpoint-popover-content > label.toggle):
4741 (.popover .edit-breakpoint-popover-content > table > tr > th):
4742 (.breakpoint-action-block-body):
4743 (.breakpoint-action-block-body > .description):
4744 (.breakpoint-action-append-button,):
4745 (.popover .xhr-breakpoint-content > .editor-wrapper > .editor):
4746 (.navigation-bar .item.button):
4747 (.spreadsheet-style-declaration-editor .property:not(.disabled) .value):
4748 (.spreadsheet-css-declaration):
4749 (.spreadsheet-css-declaration .selector:focus,):
4750 (.spreadsheet-css-declaration.locked .origin::after):
4751 (.spreadsheet-css-declaration .origin .go-to-link,):
4752 (.spreadsheet-style-declaration-editor :matches(.name, .value).editing):
4753 (.spreadsheet-style-declaration-editor .property.has-warning):
4754 (.spreadsheet-style-declaration-editor .property.has-warning .warning):
4755 (.spreadsheet-css-declaration .media-label):
4756 (.quick-console):
4757 (.syntax-highlighted,):
4758 (.cm-s-default,):
4759 (.CodeMirror .jump-to-symbol-highlight,):
4760 (.console-prompt):
4761 (.completion-suggestions):
4762 (.completion-suggestions-container > .item):
4763 (.CodeMirror-cursor):
4764 (.CodeMirror .CodeMirror-gutters):
4765 (.cm-s-default .cm-link):
4766 (.cm-s-default .cm-m-xml.cm-attribute,):
4767 (.cm-s-default .cm-meta):
4768 (.cm-s-default .cm-variable-3):
4769 (.cm-s-default .cm-builtin):
4770 (.tree-outline .item .subtitle):
4771 (.object-tree-property .getter,):
4772 (.item.object-tree-property.prototype-property):
4773 (.object-tree-property.prototype-property:hover,):
4774 (.object-tree-property .value.error):
4775 (.tree-outline.dom):
4776 (.tree-outline.dom li.selected + ol.children.expanded):
4777 (.tree-outline.dom .shadow):
4778 (.tree-outline.dom li.parent.shadow + ol.children.expanded,):
4779 (.showing-find-banner .tree-outline.dom .search-highlight):
4780 (.sidebar > .panel.dom-node-details .details-section.dom-node-event-listeners > .header > .filter:hover):
4781 (.sidebar > .panel.details.css-style > .content > .pseudo-classes > .group > label):
4782 (.spreadsheet-css-declaration.locked):
4783 (.spreadsheet-css-declaration .selector.style-attribute):
4784 (.spreadsheet-style-declaration-editor .property:matches(.invalid-name, .other-vendor, .overridden):not(.disabled) .content > *):
4785 (.inline-swatch):
4786 (.spreadsheet-style-panel .section-header):
4787 (.spreadsheet-style-panel .section-header .node-link:hover):
4788 (.computed-style-properties.details-section):
4789 (.details-section.style-box-model:not(.collapsed) > :matches(.header, .content)):
4790 (.table,):
4791 (.table > .header > .sortable:active):
4792 (.table > .header > :matches(.sort-ascending, .sort-descending)):
4793 (.table > .header > :matches(.sort-ascending, .sort-descending)::after):
4794 (.scope-bar > li):
4795 (.timeline-overview > .navigation-bar.timelines):
4796 (.timeline-overview:not(.frames) > .graphs-container > .timeline-overview-graph:nth-child(even)):
4797 (.timeline-overview.edit-instruments > .tree-outline.timelines .item:not(:first-child),):
4798 (.time-icon .icon):
4799 (.data-grid th:matches(.sort-ascending, .sort-descending)):
4800 (.content-view.timeline-recording > .content-browser > .navigation-bar > .item.scope-bar.default-item-selected > .multiple):
4801 (.content-view.timeline-recording > .content-browser > .navigation-bar > .item.scope-bar.default-item-selected > .multiple .arrows):
4802 (.content-view.settings .navigation-bar):
4803 (.content-view.settings .navigation-bar .item.radio.button.text-only.selected):
4804 (.new-tab.tab.content-view):
4805 (.filter-bar > input[type="search"]):
4806 (.filter-bar > input[type="search"]::placeholder):
4807 (.filter-bar > input[type="search"]:focus):
4808 (.content-view.resource.image):
4809 (.console-messages):
4810 (.console-item):
4811 (.console-messages:focus .console-item.selected):
4812 (.console-messages:focus .console-item.selected + .console-item):
4813 (.console-session:first-of-type .console-session-header):
4814 (.console-session:not(:first-of-type) .console-session-header):
4815 (.console-messages a):
4816 (.console-messages a:hover):
4817 (.console-messages:focus .console-item.selected::after):
4818 (.console-error-level):
4819 (.console-error-level:not(.filtered-out, .filtered-out-by-search), .console-error-level:not(.filtered-out, .filtered-out-by-search) + .console-item):
4820 (.console-warning-level):
4821 (.console-warning-level:not(.filtered-out, .filtered-out-by-search), .console-warning-level:not(.filtered-out, .filtered-out-by-search) + .console-item):
4822 (.search-in-progress .console-item:not(.filtered-out-by-search) .highlighted):
4823 (.search-in-progress .console-item:not(.filtered-out-by-search) .highlighted.selected):
4824 (.source-code.text-editor > .CodeMirror .error):
4825 (.source-code.text-editor > .CodeMirror .warning):
4826 (.source-code.text-editor > .CodeMirror .issue-widget):
4827 (.source-code.text-editor > .CodeMirror .issue-widget.inline.warning):
4828 (.source-code.text-editor > .CodeMirror .issue-widget.inline.warning > .arrow):
4829 (.source-code.text-editor > .CodeMirror .issue-widget.inline.error):
4830 (.source-code.text-editor > .CodeMirror .issue-widget.inline.error > .arrow):
4831 (.console-message .syntax-highlighted):
4832 (.console-warning-level .console-message-text):
4833 (.console-error-level .console-message-text):
4834 (.console-user-command > .console-message-text):
4835 (.console-message .repeat-count):
4836 (.call-frame .subtitle,):
4837 (.call-frame:hover .subtitle .source-link,):
4838 (.call-frame .separator):
4839 (.quick-console.showing-log):
4840 (.find-banner.console-find-banner > input[type=search]:not(:placeholder-shown)):
4841 (.network-resource-detail):
4842 (.network-resource-detail .item.close > .glyph):
4843 (.network .network-resource-detail .navigation-bar .item.radio.button.text-only.selected):
4844 (.resource-headers .value):
4845 (.network-table .cell.domain > .lock):
4846 (.resource-sizes > .content .label):
4847 (.popover.waterfall-popover):
4848 (.resource-timing-breakdown > table > tr.header:not(.total-row) > td):
4849 (.resource-timing-breakdown > table > tr > td.label,):
4850 (.resource-timing-breakdown > table hr):
4851 (.sidebar > .panel.details.css-style > .content ~ .options-container > .new-rule):
4852 (.content-view.tab.canvas .navigation-bar > .item .canvas-overview .icon):
4853 (.web-socket.content-view .data-grid table.data tr.revealed):
4854 (.web-socket.content-view .data-grid.variable-height-rows table.data tr.outgoing):
4855 (.web-socket.content-view .data-grid.variable-height-rows table.data tr.non-text-frame):
4856 (.item.action:not(.initial-state)::before):
4857 (.tree-outline .item.action.visual:not(.selected, .invalid)):
4858 (.item.action:not(.initial-state) > .icon):
4859 (.tree-outline:not(.hide-disclosure-buttons) .item.action:not(.initial-state, .parent) > .icon):
4860 (.content-view.tab.canvas .navigation-bar > .item .canvas-overview .icon,):
4861 (.content-view.canvas > .preview > img,):
4862 (.content-view.canvas-overview):
4863 (.content-view.canvas-overview .content-view.canvas):
4864 (.content-view.canvas-overview .content-view.canvas.is-recording):
4865 (.content-view.canvas-overview .content-view.canvas.is-recording > header):
4866 (.content-view.canvas-overview .content-view.canvas > header > .titles > .title):
4867 (.content-view.canvas-overview .content-view.canvas > header > .titles > .subtitle,):
4868 (.content-view.canvas-overview .content-view.canvas > footer > .recordings::before):
4869 (.content-view.canvas-overview .content-view.canvas.is-recording > header > .titles > .subtitle):
4870 (.content-view.canvas:not(.tab)):
4871 (.content-view:not(.tab).recording):
4872 (.content-view:not(.tab).recording > header > .slider-container):
4873 (.content-view:not(.tab).recording > header > .slider-container > input[type=range]):
4874 (.sidebar > .panel.details.recording-state > .content > .data-grid tr.modified):
4875 (.progress-view > .titles > .title):
4876 (.progress-view > .titles > .subtitle):
4877 (.indeterminate-progress-spinner):
4878 (.content-view.shader-program > .text-editor.shader):
4879 (.content-view.shader-program > .text-editor.shader > .type-title):
4880 (.item.shader-program .status > img):
4881 (.open-resource-dialog):
4882 (.open-resource-dialog > .field > input):
4883 (.open-resource-dialog > .field > input::placeholder):
4884 (.open-resource-dialog > .tree-outline .item.selected):
4885 (.open-resource-dialog > .field::before):
4886
mitz@apple.com564e7c32018-06-10 05:18:08 +000048872018-06-09 Dan Bernstein <mitz@apple.com>
4888
4889 [Xcode] Clean up and modernize some build setting definitions
4890 https://bugs.webkit.org/show_bug.cgi?id=186463
4891
4892 Reviewed by Sam Weinig.
4893
4894 * Configurations/Base.xcconfig: Removed definition for macOS 10.11.
4895 * Configurations/DebugRelease.xcconfig: Ditto.
4896 * Configurations/Version.xcconfig: Ditto.
4897
mattbaker@apple.comc32fab12018-06-05 22:41:00 +000048982018-06-05 Matt Baker <mattbaker@apple.com>
4899
4900 Web Inspector: Tab picker is briefly visible when TabBar initially shown
4901 https://bugs.webkit.org/show_bug.cgi?id=186317
4902
4903 Reviewed by Joseph Pecoraro.
4904
4905 * UserInterface/Views/TabBar.js:
4906 (WI.TabBar): Picker should be initially hidden.
4907
nvasilyev@apple.comfb7f4912018-06-05 19:07:12 +000049082018-06-05 Nikita Vasilyev <nvasilyev@apple.com>
4909
4910 Web Inspector: Text in "Add New Class" in auto-capitalizes
4911 https://bugs.webkit.org/show_bug.cgi?id=186311
4912
4913 Reviewed by Matt Baker.
4914
4915 Disable spellcheck to prevent auto-capitalization.
4916
4917 * UserInterface/Views/GeneralStyleDetailsSidebarPanel.js:
4918 (WI.GeneralStyleDetailsSidebarPanel.prototype.initialLayout):
4919
mattbaker@apple.come8ffcf92018-06-04 21:49:50 +000049202018-06-04 Matt Baker <mattbaker@apple.com>
4921
4922 Web Inspector: Cannot copy a link address in Elements tab
4923 https://bugs.webkit.org/show_bug.cgi?id=186281
4924 <rdar://problem/39193355>
4925
4926 Reviewed by Brian Burg.
4927
4928 * UserInterface/Views/ContextMenuUtilities.js:
4929 (WI.appendContextMenuItemsForURL):
4930
dbates@webkit.orgc14788b2018-05-30 23:42:36 +000049312018-05-30 Daniel Bates <dabates@apple.com>
4932
4933 Web Inspector: Annotate Same-Site cookies
4934 https://bugs.webkit.org/show_bug.cgi?id=184897
4935 <rdar://problem/35178209>
4936
4937 Reviewed by Brian Burg.
4938
4939 Add a new column for the value of the Same-Site cookie attribute to the resource cookie content
4940 view (shown for a resource under the Network tab) and cookie storage content view (shown under
4941 the Storage tab).
4942
4943 The SameSite column in the resource cookie content view reflects the parsing of the Same-Site
4944 attribute from the HTTP response by Web Inspector. This parsing is materially consistent with
4945 the parsing of the SameSite atttribute in CFNetwork. The Same-Site column in the cookie storage
4946 content view reflects the Same-Site cookie policy associated with the cookies provided by the
4947 network stack, if supported. This column will be blank on systems whose network stack does not
4948 support Same-Site cookies (e.g libsoup).
4949
4950 * Localizations/en.lproj/localizedStrings.js:
4951 * UserInterface/Controllers/HARBuilder.js:
4952 (WI.HARBuilder.cookies):
4953 * UserInterface/Models/Cookie.js:
4954 (WI.Cookie):
4955 (WI.Cookie.displayNameForSameSiteType):
4956 (WI.Cookie.parseSameSiteAttributeValue):
4957 (WI.Cookie.parseSetCookieResponseHeader):
4958 * UserInterface/Views/CookieStorageContentView.js:
4959 (WI.CookieStorageContentView.prototype._rebuildTable):
4960 (WI.CookieStorageContentView.prototype._sortDataGrid):
4961 * UserInterface/Views/ResourceCookiesContentView.js:
4962 (WI.ResourceCookiesContentView.prototype.tablePopulateCell):
4963 (WI.ResourceCookiesContentView.prototype._generateSortComparator):
4964 (WI.ResourceCookiesContentView.prototype._refreshResponseCookiesSection):
4965
mattbaker@apple.comf036e0e2018-05-25 16:25:27 +000049662018-05-25 Matt Baker <mattbaker@apple.com>
4967
4968 Web Inspector: Popover dismissed while attempting to move cursor inside
4969 https://bugs.webkit.org/show_bug.cgi?id=185741
4970 <rdar://problem/40340938>
4971
4972 Reviewed by Joseph Pecoraro.
4973
4974 Hovering a token within the bounds of the current popover should not
4975 show a new popover. This prevents the popover from being dismissed when
4976 the cursor passes over a token under the transparent portion of the
4977 popover frame.
4978
4979 * UserInterface/Views/SourceCodeTextEditor.js:
4980 (WI.SourceCodeTextEditor.prototype._showPopover):
4981
ryanhaddad@apple.com5cce4f02018-05-22 17:21:49 +000049822018-05-22 Ryan Haddad <ryanhaddad@apple.com>
4983
4984 Unreviewed, rolling out r232052.
4985
4986 Breaks internal builds.
4987
4988 Reverted changeset:
4989
4990 "Use more C++17"
4991 https://bugs.webkit.org/show_bug.cgi?id=185176
4992 https://trac.webkit.org/changeset/232052
4993
utatane.tea@gmail.com24cbfd82018-05-22 06:46:43 +000049942018-05-21 Yusuke Suzuki <utatane.tea@gmail.com>
4995
4996 Use more C++17
4997 https://bugs.webkit.org/show_bug.cgi?id=185176
4998
4999 Reviewed by JF Bastien.
5000
5001 * Configurations/Base.xcconfig:
5002
webkit@devinrousso.com8ec0dd42018-05-18 21:05:08 +000050032018-05-18 Devin Rousso <webkit@devinrousso.com>
5004
5005 Web Inspector: Canvas: put `hasVisualEffect` behind an experimental setting
5006 https://bugs.webkit.org/show_bug.cgi?id=185758
5007
5008 Reviewed by Matt Baker.
5009
5010 * Localizations/en.lproj/localizedStrings.js:
5011
5012 * UserInterface/Base/Setting.js:
5013
5014 * UserInterface/Models/RecordingAction.js:
5015 (WI.RecordingAction.prototype.process):
5016
5017 * UserInterface/Views/RecordingActionTreeElement.js:
5018 (WI.RecordingActionTreeElement.prototype.onattach):
5019
5020 * UserInterface/Views/SettingsTabContentView.js:
5021 (WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
5022
webkit@devinrousso.com21878e262018-05-17 01:37:33 +000050232018-05-16 Devin Rousso <webkit@devinrousso.com>
5024
5025 Web Inspector: create a navigation item for toggling the overlay rulers/guides
5026 https://bugs.webkit.org/show_bug.cgi?id=185644
5027
5028 Reviewed by Matt Baker.
5029
5030 * Localizations/en.lproj/localizedStrings.js:
5031 * UserInterface/Base/Setting.js:
5032 * UserInterface/Views/DOMTreeContentView.js:
5033 (WI.DOMTreeContentView):
5034 (WI.DOMTreeContentView.prototype.get navigationItems):
5035 (WI.DOMTreeContentView.prototype.closed):
5036 (WI.DOMTreeContentView.prototype._showRulersChanged): Added.
5037 (WI.DOMTreeContentView.prototype._toggleShowRulers): Added.
5038
nvasilyev@apple.comc604e502018-05-15 01:52:26 +000050392018-05-14 Nikita Vasilyev <nvasilyev@apple.com>
5040
5041 Web Inspector: Canvas: Remove unused --value-visual-highlight CSS variable
5042 https://bugs.webkit.org/show_bug.cgi?id=185636
5043
5044 Reviewed by Matt Baker.
5045
5046 * UserInterface/Views/Variables.css:
5047 (:root):
5048
webkit@devinrousso.com09350d52018-05-14 23:01:25 +000050492018-05-14 Devin Rousso <webkit@devinrousso.com>
5050
5051 Web Inspector: Canvas tab: don't automatically select a recording when viewing a canvas
5052 https://bugs.webkit.org/show_bug.cgi?id=182950
5053
5054 Reviewed by Matt Baker.
5055
5056 * UserInterface/Views/CanvasSidebarPanel.js:
5057 (WI.CanvasSidebarPanel):
5058 (WI.CanvasSidebarPanel.prototype._currentRepresentedObjectsDidChange):
5059 (WI.CanvasSidebarPanel.prototype._treeOutlineSelectionDidChange):
5060 (WI.CanvasSidebarPanel.prototype._canvasChanged):
5061 (WI.CanvasSidebarPanel.prototype._recordingChanged):
5062 (WI.CanvasSidebarPanel.prototype._updateRecordingScopeBar):
5063 Add a "dummy" ScopeBarItem to the recording ScopeBar that is selected whenever a TreeElement
5064 that doesn't correspond to a Recording is selected. This way, the Recording ScopeBar will
5065 become deselected, and the list of actions will disappear. Clicking on the Recording ScopeBar
5066 will show the previously selected Recording.
5067
mattbaker@apple.com1e9de232018-05-09 00:09:41 +000050682018-05-08 Matt Baker <mattbaker@apple.com>
5069
5070 Web Inspector: Console drawer resizing is broken when console prompt has >1 line of code
5071 https://bugs.webkit.org/show_bug.cgi?id=185369
5072 <rdar://problem/40013202>
5073
5074 Reviewed by Devin Rousso.
5075
5076 Mouse offset calculation should account for the height of the quick console.
5077 The only reason resizing worked with the single-line quick console is that
5078 the offset calculation included the resizer height, which is very close
5079 to that of the single-line quick console (27px and 30px respectively).
5080
5081 * UserInterface/Views/ConsoleDrawer.js:
5082
webkit@devinrousso.comca4600a2018-05-04 23:56:10 +000050832018-05-04 Devin Rousso <webkit@devinrousso.com>
5084
5085 Web Inspector: simplify the WI.Collection interface
5086 https://bugs.webkit.org/show_bug.cgi?id=185187
5087
5088 Reviewed by Brian Burg.
5089
5090 * UserInterface/Models/Collection.js:
5091 (WI.Collection.prototype.get size): Added.
5092 (WI.Collection.prototype.has): Added.
5093 (WI.Collection.prototype.toJSON):
5094 (WI.Collection.prototype.[Symbol.iterator]): Added.
5095 (WI.Collection.prototype.get items): Deleted.
5096 (WI.Collection.prototype.toArray): Deleted.
5097
5098 * UserInterface/Controllers/CanvasManager.js:
5099 (WI.CanvasManager.prototype._removeCanvas):
5100 * UserInterface/Controllers/DOMDebuggerManager.js:
5101 (WebInspector.DOMDebuggerManager.prototype.get domBreakpoints):
5102 * UserInterface/Models/Frame.js:
5103 (WI.Frame.prototype.removeAllChildFrames):
5104 (WI.Frame.prototype.resourceForURL):
5105 (WI.Frame.prototype.removeAllResources):
5106 * UserInterface/Models/Script.js:
5107 (WI.Script):
5108 * UserInterface/Views/CanvasContentView.js:
5109 (WI.CanvasContentView.prototype.initialLayout):
5110 * UserInterface/Views/CanvasOverviewContentView.js:
5111 (WI.CanvasOverviewContentView.prototype._updateNavigationItems):
5112 * UserInterface/Views/CanvasSidebarPanel.js:
5113 (WI.CanvasSidebarPanel.prototype._recordingRemoved):
5114 (WI.CanvasSidebarPanel.prototype._canvasChanged):
5115 (WI.CanvasSidebarPanel.prototype._updateRecordingScopeBar):
5116 * UserInterface/Views/CanvasTabContentView.js:
5117 (WI.CanvasTabContentView.prototype.attached):
5118 (WI.CanvasTabContentView.prototype._addCanvas):
5119 (WI.CanvasTabContentView.prototype._removeCanvas):
5120 * UserInterface/Views/CanvasTreeElement.js:
5121 (WI.CanvasTreeElement.prototype.onpopulate):
5122 * UserInterface/Views/CollectionContentView.js:
5123 (WI.CollectionContentView.prototype.initialLayout):
5124 (WI.CollectionContentView.prototype.attached):
5125 * UserInterface/Views/CookieStorageContentView.js:
5126 (WI.CookieStorageContentView.prototype._filterCookies):
5127 * UserInterface/Views/DebuggerSidebarPanel.js:
5128 (WI.DebuggerSidebarPanel.prototype._addResourcesRecursivelyForFrame):
5129 * UserInterface/Views/FolderizedTreeElement.js:
5130 (WI.FolderizedTreeElement.prototype.updateParentStatus):
5131 (WI.FolderizedTreeElement.prototype._shouldGroupIntoFolders):
5132 * UserInterface/Views/FrameTreeElement.js:
5133 (WI.FrameTreeElement.prototype.onpopulate):
5134 * UserInterface/Views/NavigationSidebarPanel.js:
5135 (WI.NavigationSidebarPanel.prototype.get contentTreeOutlines):
5136 * UserInterface/Views/NetworkTableContentView.js:
5137 (WI.NetworkTableContentView.prototype._populateWithInitialResourcesIfNeeded):
5138 * UserInterface/Views/OpenResourceDialog.js:
5139 (WI.OpenResourceDialog.prototype._addResourcesForFrame):
5140 (WI.OpenResourceDialog.prototype._addResourcesForTarget):
5141 * UserInterface/Views/TreeOutlineGroup.js:
5142 (WI.TreeOutlineGroup.prototype.get selectedTreeElement):
5143 (WI.TreeOutlineGroup.prototype._removeConflictingTreeSelections):
5144 * UserInterface/Views/WorkerTreeElement.js:
5145 (WI.WorkerTreeElement.prototype.onpopulate):
5146
nvasilyev@apple.come298f1e2018-05-04 20:51:47 +000051472018-05-04 Nikita Vasilyev <nvasilyev@apple.com>
5148
5149 Web Inspector: Styles: Newly added unsupported properties sometimes don't have warnings
5150 https://bugs.webkit.org/show_bug.cgi?id=183097
5151 <rdar://problem/37843816>
5152
5153 Reviewed by Matt Baker.
5154
5155 Update status of properties warnings every time focus moves.
5156
5157 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
5158 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.layout):
5159 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyFocusMoved):
5160 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._propertiesChanged):
5161 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._updatePropertiesStatus):
5162 * UserInterface/Views/SpreadsheetStyleProperty.js:
5163 (WI.SpreadsheetStyleProperty.prototype.spreadsheetTextFieldDidBlur):
5164
webkit@devinrousso.com6231c852018-05-04 18:50:30 +000051652018-05-04 Devin Rousso <webkit@devinrousso.com>
5166
webkit@devinrousso.com8a769162018-05-04 20:29:24 +00005167 Web Inspector: Styles Redesign: ensure that tabbing through the last section wraps back to the first
5168 https://bugs.webkit.org/show_bug.cgi?id=181973
5169
5170 Reviewed by Matt Baker.
5171
5172 Unified delegate functions to start editing previous/next rules into a single function for
5173 simplicity.
5174
5175 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
5176 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetCSSStyleDeclarationEditorFocusMoved):
5177
5178 * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
5179 (WI.SpreadsheetCSSStyleDeclarationSection.prototype.startEditingRuleSelector):
5180 (WI.SpreadsheetCSSStyleDeclarationSection.prototype.spreadsheetSelectorFieldDidChange):
5181 (WI.SpreadsheetCSSStyleDeclarationSection.prototype.spreadsheetCSSStyleDeclarationEditorStartEditingAdjacentRule):
5182 (WI.SpreadsheetCSSStyleDeclarationSection.prototype.cssStyleDeclarationEditorStartEditingAdjacentRule): Deleted.
5183
5184 * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:
5185 (WI.SpreadsheetRulesStyleDetailsPanel.prototype.focusFirstSection):
5186 (WI.SpreadsheetRulesStyleDetailsPanel.prototype.focusLastSection):
5187 (WI.SpreadsheetRulesStyleDetailsPanel.prototype.spreadsheetCSSStyleDeclarationSectionStartEditingAdjacentRule):
5188 (WI.SpreadsheetRulesStyleDetailsPanel.prototype.cssStyleDeclarationSectionStartEditingNextRule): Deleted.
5189 (WI.SpreadsheetRulesStyleDetailsPanel.prototype.cssStyleDeclarationSectionStartEditingPreviousRule): Deleted.
5190
5191 * UserInterface/Views/GeneralStyleDetailsSidebarPanel.js:
5192 (WI.GeneralStyleDetailsSidebarPanel.prototype.styleDetailsPanelFocusLastPseudoClassCheckbox):
5193 (WI.GeneralStyleDetailsSidebarPanel.prototype.styleDetailsPanelFocusFilterBar):
5194 (WI.GeneralStyleDetailsSidebarPanel.prototype.initialLayout):
5195 (WI.GeneralStyleDetailsSidebarPanel.prototype._handleForcedPseudoClassCheckboxKeydown):
5196 (WI.GeneralStyleDetailsSidebarPanel.prototype._forcedPseudoClassCheckboxChanged):
5197 (WI.GeneralStyleDetailsSidebarPanel.prototype._handleFilterBarInputFieldKeyDown):
5198
5199 Drive-by fix: provide tabbing support for the Computed styles panel.
5200
5201 * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
5202 (WI.CSSStyleDeclarationTextEditor.prototype._handleShiftTabKey.switchRule):
5203 (WI.CSSStyleDeclarationTextEditor.prototype._handleTabKey.switchRule):
5204
5205 * UserInterface/Views/ComputedStyleDetailsPanel.js:
5206 (WI.ComputedStyleDetailsPanel.prototype.focusFirstSection):
5207 (WI.ComputedStyleDetailsPanel.prototype.focusLastSection):
5208 (WI.ComputedStyleDetailsPanel.prototype.cssStyleDeclarationTextEditorStartEditingAdjacentRule):
5209
52102018-05-04 Devin Rousso <webkit@devinrousso.com>
5211
webkit@devinrousso.com6231c852018-05-04 18:50:30 +00005212 Web Inspector: Canvas tab: Determine isFunction by looking at the prototype
5213 https://bugs.webkit.org/show_bug.cgi?id=184990
5214
5215 Reviewed by Brian Burg.
5216
5217 * UserInterface/Models/RecordingAction.js:
5218 (WI.RecordingAction.isFunctionForType):
5219 (WI.RecordingAction._prototypeForType):
5220 (WI.RecordingAction.prototype.async.swizzle):
5221
webkit@devinrousso.com37642652018-05-01 23:37:59 +000052222018-05-01 Devin Rousso <webkit@devinrousso.com>
5223
5224 Web Inspector: Canvas tab: determine hasVisibleEffect for all actions immediately after recording is added
5225 https://bugs.webkit.org/show_bug.cgi?id=182995
5226
5227 Reviewed by Matt Baker.
5228
5229 Previously, we'd swizzle the entirety of the `WI.Recording` in one, which would usually
5230 freeze the UI, especially for larger recordings. This patch uses `WI.YieldableTask` to split
5231 the work and allow the rest of the UI to still be usable while `WI.Recording` are processing.
5232 Additionally, since we no longer have to worry about hangs, we can do more work upfront,
5233 such as calculating `hasVisibleEffect` and the current state of 2D canvases.
5234
5235 These changes require that all uses of `WI.Recording` call `process()` before attempting to
5236 use any `frames`/`actions`/`initialState`, as they will have their original payload values
5237 and will have not been swizzled or applied.
5238
5239 * Localizations/en.lproj/localizedStrings.js:
5240
5241 * UserInterface/Models/Recording.js:
5242 (WI.Recording):
5243 (WI.Recording.prototype.process):
5244 (WI.Recording.prototype.createContext): Added.
5245 (WI.Recording.prototype.async yieldableTaskWillProcessItem): Added.
5246 (WI.Recording.prototype.async yieldableTaskDidFinish): Added.
5247
5248 * UserInterface/Models/RecordingAction.js:
5249 (WI.RecordingAction):
5250 (WI.RecordingAction.prototype.process): Added.
5251 (WI.RecordingAction.prototype.async swizzle): Added.
5252 (WI.RecordingAction.prototype.apply):
5253 (WI.RecordingAction.prototype.toJSON):
5254 (WI.RecordingAction.prototype.set state): Deleted.
5255 (WI.RecordingAction.prototype.swizzle): Deleted.
5256 (WI.RecordingAction.prototype.apply.getContent): Deleted.
5257 (WI.RecordingAction.prototype.async _swizzle): Deleted.
5258 * UserInterface/Models/RecordingInitialStateAction.js:
5259 (WI.RecordingInitialStateAction):
5260
5261 * UserInterface/Views/CanvasSidebarPanel.js:
5262 (WI.CanvasSidebarPanel):
5263 (WI.CanvasSidebarPanel.prototype.set action):
5264 (WI.CanvasSidebarPanel.prototype._treeOutlineSelectionDidChange):
5265 (WI.CanvasSidebarPanel.prototype._recordingChanged):
5266
5267 * UserInterface/Views/CanvasSidebarPanel.css:
5268 (.sidebar > .panel.navigation.canvas > .content > .recording-content > .indeterminate-progress-spinner):
5269
5270 * UserInterface/Views/RecordingActionTreeElement.js:
5271 (WI.RecordingActionTreeElement):
5272 (WI.RecordingActionTreeElement.prototype.onattach):
5273 (WI.RecordingActionTreeElement.prototype._handleHasVisibleEffectChanged): Deleted.
5274
5275 * UserInterface/Views/RecordingContentView.js:
5276 (WI.RecordingContentView):
5277 (WI.RecordingContentView.prototype.get navigationItems):
5278 (WI.RecordingContentView.prototype.updateActionIndex):
5279 (WI.RecordingContentView.prototype.initialLayout):
5280 (WI.RecordingContentView.prototype._generateContentCanvas2D): Added.
5281 (WI.RecordingContentView.prototype._generateContentCanvasWebGL): Added.
5282 (WI.RecordingContentView.prototype._updateCanvasPath):
5283 (WI.RecordingContentView.prototype._updateProcessProgress): Added.
5284 (WI.RecordingContentView.prototype._handleRecordingProcessedActionSwizzle): Added.
5285 (WI.RecordingContentView.prototype._handleRecordingProcessedActionApply): Added.
5286 (WI.RecordingContentView.supportsCanvasPathDebugging): Deleted.
5287 (WI.RecordingContentView.prototype.async _generateContentCanvas2D): Deleted.
5288 (WI.RecordingContentView.prototype.async _generateContentCanvasWebGL): Deleted.
5289
5290 * UserInterface/Views/RecordingContentView.css:
5291 (.content-view:not(.tab).recording > .preview-container):
5292
5293 * UserInterface/Base/ImageUtilities.js:
5294 (WI.ImageUtilities.supportsCanvasPathDebugging):
5295
jer.noble@apple.com88220e52018-04-26 19:15:20 +000052962018-04-26 Jer Noble <jer.noble@apple.com>
5297
jer.noble@apple.com63add112018-04-26 23:30:21 +00005298 Unreviewed build fix; fix WebInspectorUI copy resources step after r231063.
5299
5300 * Configurations/Base.xcconfig:
5301
53022018-04-26 Jer Noble <jer.noble@apple.com>
5303
jer.noble@apple.com88220e52018-04-26 19:15:20 +00005304 WK_COCOA_TOUCH all the things.
5305 https://bugs.webkit.org/show_bug.cgi?id=185006
5306
5307 Reviewed by Tim Horton.
5308
5309 * Configurations/WebInspectorUIFramework.xcconfig:
5310
nvasilyev@apple.com3e2330c2018-04-21 17:45:23 +000053112018-04-21 Nikita Vasilyev <nvasilyev@apple.com>
5312
5313 REGRESSION(r214076): Web Inspector: Timelines load and DOMContentLoaded markers aren't visible
5314 https://bugs.webkit.org/show_bug.cgi?id=184858
5315
5316 Reviewed by Brian Burg.
5317
5318 r214076 changed the color of all markers to light gray.
5319
5320 * UserInterface/Views/TimelineRuler.css:
5321 (.timeline-ruler > .markers > .marker):
5322 (body[dir=ltr] .timeline-ruler > .markers > .marker):
5323 (body[dir=rtl] .timeline-ruler > .markers > .marker):
5324 (.timeline-ruler > .markers > .marker.current-time):
5325 (.timeline-ruler > .markers > .marker.load-event):
5326 (.timeline-ruler > .markers > .marker.dom-content-event):
5327 (.timeline-ruler > .markers > .marker.timestamp):
5328 (body[dir=ltr] .timeline-ruler > .markers > .marker.current-time): Deleted.
5329 (body[dir=rtl] .timeline-ruler > .markers > .marker.current-time): Deleted.
5330
cdumez@apple.com1295fb772018-04-20 02:15:39 +000053312018-04-19 Chris Dumez <cdumez@apple.com>
5332
5333 Rename JSDOMWindowProxy to JSWindowProxy
5334 https://bugs.webkit.org/show_bug.cgi?id=184797
5335
5336 Reviewed by Sam Weinig.
5337
5338 Rename JSDOMWindowProxy to JSWindowProxy for consistency with WindowProxy.
5339
5340 * UserInterface/Workers/HeapSnapshot/HeapSnapshot.js:
5341 (HeapSnapshot.prototype._isNodeGlobalObject):
5342
ddkilzer@apple.coma005ba42018-04-19 22:53:45 +000053432018-04-19 David Kilzer <ddkilzer@apple.com>
5344
5345 Enable Objective-C weak references
5346 <https://webkit.org/b/184789>
5347 <rdar://problem/39571716>
5348
5349 Reviewed by Dan Bernstein.
5350
5351 * Configurations/Base.xcconfig:
5352 (CLANG_ENABLE_OBJC_WEAK): Enable.
5353
nvasilyev@apple.com7b6eacf2018-04-17 05:48:41 +000053542018-04-16 Nikita Vasilyev <nvasilyev@apple.com>
5355
5356 Web Inspector: Can't select and copy text from Network tab popover
5357 https://bugs.webkit.org/show_bug.cgi?id=184606
5358
5359 Reviewed by Matt Baker.
5360
5361 * UserInterface/Views/ResourceTimingBreakdownView.css:
5362 (.waterfall-popover .resource-timing-breakdown):
5363
nvasilyev@apple.com81e09d72018-04-13 01:09:50 +000053642018-04-12 Nikita Vasilyev <nvasilyev@apple.com>
5365
5366 Web Inspector: Refactoring: move popover styles from JS to CSS
5367 https://bugs.webkit.org/show_bug.cgi?id=184558
5368
5369 Reviewed by Brian Burg.
5370
5371 Introduce several CSS variables to customize popover appearance in CSS
5372 and not JavaScript.
5373
5374 * UserInterface/Views/NetworkTableContentView.js:
5375 (WI.NetworkTableContentView.prototype._waterfallPopoverContentForResource):
5376 (WI.NetworkTableContentView.prototype._handleMousedownWaterfall):
5377 * UserInterface/Views/Popover.css:
5378 (.popover):
5379 * UserInterface/Views/Popover.js:
5380 (WI.Popover):
5381 (WI.Popover.prototype._drawBackground):
5382 Replace `var` with `let`.
5383
5384 (WI.Popover.prototype.get backgroundStyle): Deleted.
5385 (WI.Popover.prototype.set backgroundStyle): Deleted.
5386 * UserInterface/Views/ResourceTimingBreakdownView.css:
5387 (.popover.waterfall-popover):
5388 (.waterfall-popover-content .resource-timing-breakdown):
5389 (.waterfall-popover .resource-timing-breakdown): Deleted.
5390
5391 * UserInterface/Views/NetworkTableContentView.js:
5392 (WI.NetworkTableContentView.prototype._waterfallPopoverContentForResource):
5393 (WI.NetworkTableContentView.prototype._handleMousedownWaterfall):
5394 * UserInterface/Views/Popover.css:
5395 (.popover):
5396 * UserInterface/Views/Popover.js:
5397 (WI.Popover):
5398 (WI.Popover.prototype._drawBackground):
5399 * UserInterface/Views/ResourceTimingBreakdownView.css:
5400 (.popover.waterfall-popover):
5401 (.waterfall-popover-content .resource-timing-breakdown):
5402
nvasilyev@apple.com6e34c3f2018-04-08 01:33:03 +000054032018-04-07 Nikita Vasilyev <nvasilyev@apple.com>
5404
5405 Web Inspector: Errors glyph doesn't fully change to blue when active
5406 https://bugs.webkit.org/show_bug.cgi?id=184389
5407
5408 Reviewed by Joseph Pecoraro.
5409
5410 The dot of the exclamation mark was always black.
5411
5412 * UserInterface/Images/Errors.svg:
5413
commit-queue@webkit.org45dd6362018-04-04 00:46:50 +000054142018-04-03 Aaron Chu <aaron_chu@apple.com>
5415
5416 AX: Add Experimental setting for Accessibility Audit
5417 https://bugs.webkit.org/show_bug.cgi?id=183646
5418 <rdar://problem/38478583>
5419
5420 Reviewed by Brian Burg.
5421
5422 Added experimental feature flag for Accessibility Audit work.
5423
5424 * Localizations/en.lproj/localizedStrings.js:
5425 * UserInterface/Base/Setting.js:
5426 * UserInterface/Views/SettingsTabContentView.js:
5427 (WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
5428
mattbaker@apple.com83ff4432018-04-02 05:59:28 +000054292018-04-01 Matt Baker <mattbaker@apple.com>
5430
5431 Web Inspector: Remove dead TabBrowser/TabContentView code
5432 https://bugs.webkit.org/show_bug.cgi?id=184104
5433
5434 Reviewed by Devin Rousso.
5435
5436 * UserInterface/Base/Main.js:
5437 (WI._tryToRestorePendingTabs):
5438 * UserInterface/Views/NewTabContentView.js:
5439 (WI.NewTabContentView.prototype.shown):
5440 (WI.NewTabContentView.prototype.hidden):
5441 * UserInterface/Views/TabBrowser.js:
5442 (WI.TabBrowser.prototype.addTabForContentView):
5443 (WI.TabBrowser.prototype.showTabForContentView):
5444 (WI.TabBrowser._tabBarItemRemoved):
5445 * UserInterface/Views/TabContentView.js:
5446 (WI.TabContentView.prototype.get parentTabBrowser): Deleted.
5447 (WI.TabContentView.prototype.set parentTabBrowser): Deleted.
5448
webkit@devinrousso.com093c0ee2018-03-31 05:14:49 +000054492018-03-30 Devin Rousso <webkit@devinrousso.com>
5450
5451 Web Inspector: tint all pixels drawn by shader program when hovering ShaderProgramTreeElement
5452 https://bugs.webkit.org/show_bug.cgi?id=175223
5453
5454 Reviewed by Matt Baker.
5455
5456 * UserInterface/Models/ShaderProgram.js:
5457 (WI.ShaderProgram):
5458 (WI.ShaderProgram.prototype.showHighlight):
5459 (WI.ShaderProgram.prototype.hideHighlight):
5460
5461 * UserInterface/Views/ShaderProgramTreeElement.js:
5462 (WI.ShaderProgramTreeElement.prototype.onattach):
5463 (WI.ShaderProgramTreeElement.prototype._handleMouseOver):
5464 (WI.ShaderProgramTreeElement.prototype._handleMouseOut):
5465 Whenever a ShaderProgramTreeElement is hovered, highlight the corresponding shader program
5466 by tinting the pixels it draws via a blend.
5467
timothy@apple.come98b85b2018-03-28 02:51:18 +000054682018-03-27 Timothy Hatcher <timothy@apple.com>
5469
5470 Web Inspector: Modernize some utility functions
5471 https://bugs.webkit.org/show_bug.cgi?id=184047
5472
5473 Reviewed by Matt Baker.
5474
5475 * UserInterface/Base/Utilities.js:
5476 (Node.prototype.enclosingNodeOrSelfWithClass): Use parentElement instead of parentNode, so we don't need to check for document.
5477 (Node.prototype.enclosingNodeOrSelfWithNodeNameInArray): Ditto. Also just toUpperCase input, since nodeName is already upper case.
5478 (String.prototype.escapeCharacters): Use Set and string iteration instead of indexOf and charAt.
5479
nvasilyev@apple.comdae802b2018-03-27 19:30:59 +000054802018-03-27 Nikita Vasilyev <nvasilyev@apple.com>
5481
5482 Web Inspector: Command-Shift-left/right arrow keys should not switch tabs when focused on color picker text fields
5483 https://bugs.webkit.org/show_bug.cgi?id=184028
5484
5485 Reviewed by Timothy Hatcher.
5486
5487 * UserInterface/Views/EditingSupport.js:
5488 (WI.isEventTargetAnEditableField):
5489 Detect <input type="number"> as an editable text field.
5490
nvasilyev@apple.com716b2d82018-03-24 01:26:05 +000054912018-03-23 Nikita Vasilyev <nvasilyev@apple.com>
5492
5493 Web Inspector: Styles: don't show checkboxes for invalid properties
5494 https://bugs.webkit.org/show_bug.cgi?id=183951
5495 <rdar://problem/38807602>
5496
5497 Reviewed by Matt Baker.
5498
5499 Since toggling of invalid properties isn't supported by the backend, don't show checkboxes for invalid properties.
5500
5501 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
5502 (.spreadsheet-css-declaration:matches(:hover, :focus) .property:not(:matches(.invalid-name, .invalid-value)) .property-toggle,):
5503 (.spreadsheet-css-declaration:matches(:hover, :focus) .property-toggle,): Deleted.
5504 Don't show checkboxes for invalid properties but still show them for duplicate properties.
5505
bburg@apple.coma22a4472018-03-23 23:35:03 +000055062018-03-23 Brian Burg <bburg@apple.com>
5507
5508 Web Inspector: add WebKitAdditions hooks for WebInspectorUI
5509 https://bugs.webkit.org/show_bug.cgi?id=183940
5510 <rdar://problem/38796310>
5511
5512 Reviewed by Timothy Hatcher.
5513
5514 * Scripts/combine-resources.pl:
5515 (debugLog): Added. Leave in the logging I used to debug this.
5516
5517 (concatenateIncludedFilesMatchingPattern):
5518 (stripIncludedFilesMatchingPattern):
5519 (concatenateFiles): Deleted.
5520 This function tried to do too many things. Split it into
5521 two functions, one for stripping includes and one for concatenating
5522 files referenced by includes.
5523
5524 Lastly, add a negative lookahead clause for 'WebKitAdditions' so includes
5525 containing that string are not combined when no input directory is passed
5526 to the script.
5527
5528 * Scripts/copy-user-interface-resources.pl:
5529 WebKitAdditions is computed either from BUILT_PRODUCTS_DIR or SDKROOT,
5530 depending on the build style. Just try them in order and use the first
5531 one that exists. WebInspectorUI files are in their own directory, so
5532 we can assume there are files to process if that directory exists.
5533
5534 Copy Main.html to derived sources before doing any processing on it.
5535 This makes all combining phases have the same --input-html argument.
5536
5537 (debugLog): Added. Leave in the logging I used to debug this.
5538
5539 (combineOrStripResourcesForWebKitAdditions):
5540 (stripResourcesForWebKitAdditions):
5541 (combineResourcesForWebKitAdditions):
5542 Determine if WebKitAdditions exists and whether there are any
5543 resources for WebInspectorUI present that need to be processed.
5544
5545 * UserInterface/Main.html:
5546 Add stub .js and .css WebKitAdditions files. We can add more later
5547 if it makes sense but this is good enough to validate the build machinery.
5548
nvasilyev@apple.com60460032018-03-23 21:35:34 +000055492018-03-23 Nikita Vasilyev <nvasilyev@apple.com>
5550
5551 Web Inspector: Styles Redesign: flashing when switching between nodes
5552 https://bugs.webkit.org/show_bug.cgi?id=179291
5553 <rdar://problem/35352660>
5554
5555 Reviewed by Matt Baker.
5556
5557 Flashing was happening because the layout was a two-step process:
5558 1. Append empty sections.
5559 2. Layout everything inside of the section on requestAnimationFrame.
5560
5561 SpreadsheetRulesStyleDetailsPanel was converted to use layout method,
5562 so both steps happen on requestAnimationFrame.
5563
5564 * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:
5565 (WI.SpreadsheetRulesStyleDetailsPanel):
5566 (WI.SpreadsheetRulesStyleDetailsPanel.prototype.refresh):
5567 (WI.SpreadsheetRulesStyleDetailsPanel.prototype.layout):
5568 The removed lines from the refresh method moved to the layout method without any changes.
5569
nvasilyev@apple.com70cbb092018-03-23 01:00:43 +000055702018-03-22 Nikita Vasilyev <nvasilyev@apple.com>
5571
5572 Uncaught Exception: TypeError: this._textEditor.toggleUnexecutedCodeHighlights().then is not a function
5573 https://bugs.webkit.org/show_bug.cgi?id=181912
5574 <rdar://problem/36700022>
5575
5576 Reviewed by Matt Baker.
5577
5578 The uncaught exception was caused by returning `false` instead of a promise object.
5579 This patch only fixes the exception. Further enhancements should be done in <https://webkit.org/b/183887>.
5580
5581 * UserInterface/Views/SourceCodeTextEditor.js:
5582 (WI.SourceCodeTextEditor.prototype.toggleTypeAnnotations):
5583 (WI.SourceCodeTextEditor.prototype.toggleUnexecutedCodeHighlights):
5584
nvasilyev@apple.comf064a5c2018-03-21 04:47:45 +000055852018-03-20 Nikita Vasilyev <nvasilyev@apple.com>
5586
5587 Web Inspector: Styles: Loses focus when editing a property while page is being loaded
5588 https://bugs.webkit.org/show_bug.cgi?id=182619
5589 <rdar://problem/37363185>
5590
5591 Reviewed by Matt Baker.
5592
5593 Adding or removing a stylesheet causes SpreadsheetRulesStyleDetailsPanel to refresh, triggering a layout
5594 of all SpreadsheetCSSStyleDeclarationSection child views. This resets the focus, selection, and
5595 auto-completion state.
5596
5597 This patch prevents SpreadsheetCSSStyleDeclarationSection from performing a layout when a property is being edited.
5598
5599 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
5600 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.layout):
5601 Allow re-layout after creating a blank CSS property and pasting CSS code.
5602 - _pendingAddBlankPropertyIndexOffset is a number after pasting CSS rules.
5603 - _propertyPendingStartEditing is a property model after creating a new property.
5604
webkit@devinrousso.com34e47452018-03-21 03:40:17 +000056052018-03-20 Devin Rousso <webkit@devinrousso.com>
5606
5607 Web Inspector: Session dividers are not added when Console tab is not visible
5608 https://bugs.webkit.org/show_bug.cgi?id=168622
5609
5610 Reviewed by Matt Baker.
5611
5612 Restructure `_pendingMessages` to be a `Map [ConsoleSession, ConsoleMessageView]`. Instead
5613 of rendering to the `_currentConsoleGroup`, we now render to the saved `ConsoleSession`.
5614 Also ensure that `_pendingMessages` is cleared when navigating and "Preserve Log" is off.
5615
5616 * UserInterface/Controllers/JavaScriptLogViewController.js:
5617 (WI.JavaScriptLogViewController):
5618 (WI.JavaScriptLogViewController.prototype.startNewSession):
5619 (WI.JavaScriptLogViewController.prototype.consolePromptHistoryDidChange):
5620 (WI.JavaScriptLogViewController.prototype._appendConsoleMessageView):
5621 (WI.JavaScriptLogViewController.prototype.renderPendingMessages):
5622 (WI.JavaScriptLogViewController.prototype.get prompt): Deleted.
5623 (WI.JavaScriptLogViewController.prototype.get currentConsoleGroup): Deleted.
5624
nvasilyev@apple.com44e91b72018-03-20 08:22:03 +000056252018-03-20 Nikita Vasilyev <nvasilyev@apple.com>
5626
5627 Web Inspector: Can't add a new class by editing class attribute in DOM outline
5628 https://bugs.webkit.org/show_bug.cgi?id=180890
5629
5630 Reviewed by Ryosuke Niwa.
5631
5632 Typing "my-foo my-bar" creates a single "my-foo\xA0my-bar" class name because
5633 contentEditable-based attribute editor sometimes inserts non-breaking space characters (\xA0).
5634
5635 Replace all non-breaking space characters with the regular space characters when
5636 commiting attribute change.
5637
5638 * UserInterface/Views/DOMTreeElement.js:
5639
nvasilyev@apple.com248ab7c2018-03-16 23:43:41 +000056402018-03-16 Nikita Vasilyev <nvasilyev@apple.com>
5641
5642 Web Inspector: Elements: "Force Print Media Styles" should not persist across Web Inspector sessions
5643 https://bugs.webkit.org/show_bug.cgi?id=183708
5644 <rdar://problem/36452183>
5645
5646 Reviewed by Matt Baker.
5647
5648 * UserInterface/Base/Main.js:
5649 (WI.loaded):
5650 * UserInterface/Views/DOMTreeContentView.js:
5651 (WI.DOMTreeContentView):
5652 (WI.DOMTreeContentView.prototype._showPrintStylesChanged):
5653 (WI.DOMTreeContentView.prototype._togglePrintStyles):
5654 (WI.DOMTreeContentView.prototype._showPrintStylesSettingChanged): Deleted.
5655 (WI.DOMTreeContentView.prototype._togglePrintStylesSetting): Deleted.
5656
webkit@devinrousso.comca9b6312018-03-15 05:54:53 +000056572018-03-14 Devin Rousso <webkit@devinrousso.com>
5658
5659 Web Inspector: Canvas: a recording initiated by the user should be shown immediately on completion
5660 https://bugs.webkit.org/show_bug.cgi?id=183647
5661 <rdar://problem/38479187>
5662
5663 Reviewed by Matt Baker.
5664
5665 When recordings are initiated via `console.record`, we don't want to automatically show the
5666 recording after it's payload is sent to the frontend. We determine whether a recording came
5667 from the console by comparing the recording's associated canvas with the current value of
5668 `_recordingCanvas`. Previously, when stopping a recording, we would always null the value,
5669 which meant that all non-single-frame recordings (single-frame recordings are stopped by
5670 the agent after the first paint or tick after an action is performed) would be categorized
5671 as coming from the console, since `_recordingCanvas` would be null by the time the frontend
5672 recieved the payload.
5673
5674 This patch changes it so that the nulling of `_recordingCanvas` in `stopRecording` is only
5675 done if the agent command errors. It was already the case that `_recordingCanvas` was nulled
5676 in `stopRecording`, so this patch just prevents it from being nulled too early.
5677
5678 * UserInterface/Controllers/CanvasManager.js:
5679 (WI.CanvasManager.prototype.stopRecording):
5680
jond@apple.comc123fc32018-03-12 19:35:00 +000056812018-03-12 Jon Davis <jond@apple.com>
5682
5683 Web Inspector: Remove redundant tooltips
5684 https://bugs.webkit.org/show_bug.cgi?id=183099
5685
5686 Reviewed by Matt Baker.
5687
5688 * Localizations/en.lproj/localizedStrings.js:
5689 * UserInterface/Base/Main.js:
5690 (WI.contentLoaded):
5691 Instantiate ConsoleDrawer so the keyboard shortcuts for FindBanner are available.
5692
5693 * UserInterface/Views/BreakpointTreeElement.js:
5694 (WI.BreakpointTreeElement):
5695 Suppress tooltips by setting the tooltipHandledSeprately flag with no custom handler.
5696
5697 * UserInterface/Views/ButtonNavigationItem.js:
5698 (WI.ButtonNavigationItem):
5699 Only show tooltips when the button style is an image.
5700
5701 * UserInterface/Views/ConsoleDrawer.js:
5702 (WI.ConsoleDrawer):
5703 (WI.ConsoleDrawer.prototype.toggleButtonShortcutTooltip):
5704 Added helper to set the toggle button keyboard shortcut tooltip.
5705
5706 * UserInterface/Views/DOMBreakpointTreeElement.js:
5707 (WI.DOMBreakpointTreeElement):
5708 Suppress tooltips by setting the tooltipHandledSeprately flag with no custom handler.
5709
5710 * UserInterface/Views/DOMNodeTreeElement.js:
5711 (WI.DOMNodeTreeElement):
5712 Suppress tooltips by setting the tooltipHandledSeprately flag with no custom handler.
5713
5714 * UserInterface/Views/FindBanner.js:
5715 (WI.FindBanner):
5716 * UserInterface/Views/HierarchicalPathComponent.js:
5717 (WI.HierarchicalPathComponent):
5718 (WI.HierarchicalPathComponent.prototype.get tooltip):
5719 (WI.HierarchicalPathComponent.prototype.set tooltip):
5720 (WI.HierarchicalPathComponent.prototype.get hideTooltip):
5721 (WI.HierarchicalPathComponent.prototype.set hideTooltip):
5722 (WI.HierarchicalPathComponent.prototype._updateElementTitleAndText):
5723 Add tooltip management features to manage tooltips separately of the displayName,
5724 and provide a behavior to hide tooltips while retaining the tooltip data.
5725
5726 * UserInterface/Views/HierarchicalPathNavigationItem.js:
5727 (WI.HierarchicalPathNavigationItem.prototype.updateLayout):
5728 Hide tooltips when fully visible, show tooltips for collapsed items.
5729
5730 * UserInterface/Views/PinnedTabBarItem.js:
5731 (WI.PinnedTabBarItem.prototype.titleDidChange):
5732 Set tooltips for pinned tab bar items.
5733
5734 * UserInterface/Views/QuickConsole.js:
5735 (WI.QuickConsole):
5736 Set the ConsoleDrawer toggle button tooltip after the keyboard shortcut is registered.
5737
5738 * UserInterface/Views/StorageTreeElement.js:
5739 (WI.StorageTreeElement):
5740 Suppress tooltips by setting the tooltipHandledSeprately flag with no custom handler.
5741
5742 * UserInterface/Views/TabBarItem.js:
5743 (WI.TabBarItem.prototype.get title):
5744 (WI.TabBarItem.prototype.set title):
5745 (WI.TabBarItem.prototype.titleDidChange):
5746 (WI.TabBarItem):
5747 Add title property management with an overridable titleDidChange handler for
5748 setting tooltips when needed.
5749
5750 * UserInterface/Views/TimelineTreeElement.js:
5751 (WI.TimelineTreeElement):
5752 Suppress tooltips by setting the tooltipHandledSeprately flag with no custom handler.
5753
5754 * UserInterface/Views/ToggleButtonNavigationItem.js:
5755 (WI.ToggleButtonNavigationItem.prototype.set defaultToolTip):
5756 Added a setter for manging the default tooltip of a toggle button.
5757
5758 * UserInterface/Views/XHRBreakpointTreeElement.js:
5759 (WI.XHRBreakpointTreeElement):
5760 Suppress tooltips by setting the tooltipHandledSeprately flag with no custom handler.
5761
nvasilyev@apple.comcf2bf4d2018-03-10 01:24:24 +000057622018-03-09 Nikita Vasilyev <nvasilyev@apple.com>
5763
5764 Web Inspector: Sources: Open all resources in Sources tab instead of Resources/Debugger
5765 https://bugs.webkit.org/show_bug.cgi?id=183317
5766 <rdar://problem/38108455>
5767
5768 Reviewed by Matt Baker.
5769
5770 * Localizations/en.lproj/localizedStrings.js:
5771 * UserInterface/Base/Main.js:
5772 * UserInterface/Views/ContextMenuUtilities.js:
5773 (WI.appendContextMenuItemsForURL):
5774 Introduce preferredTabType option instead of listing ignoreResourcesTab, ignoreDebuggerTab, ignoreSearchTab, and ignoreNetworkTab.
5775 The only correct outcome of selecting "Reveal in Sources Tab" context menu is to open Sources tab, not any other tab.
5776
5777 * UserInterface/Views/SourceCodeTextEditor.js:
5778 (WI.SourceCodeTextEditor.prototype.textEditorGutterContextMenu):
5779 * UserInterface/Views/TabBrowser.js:
5780 (WI.TabBrowser.prototype.bestTabContentViewForRepresentedObject):
5781
nvasilyev@apple.comb2dd5972018-03-09 01:32:51 +000057822018-03-08 Nikita Vasilyev <nvasilyev@apple.com>
5783
5784 Web Inspector: Sources: add SourcesTabContentView and SourceSidebarPanel classes
5785 https://bugs.webkit.org/show_bug.cgi?id=183316
5786 <rdar://problem/38107639>
5787
5788 Reviewed by Matt Baker.
5789
5790 Add Sources tab and sidebar panel, which are copies of the corresponding Resources classes.
5791 The Sources tab is shown when it's enabled in the experimental settings. This patch doesn't
5792 remove existing Resources and Debugger tabs.
5793
5794 * UserInterface/Base/Main.js:
5795 (WI.contentLoaded):
5796 * UserInterface/Main.html:
5797 * UserInterface/Views/SourcesSidebarPanel.css: Added.
5798 (.sidebar > .panel.navigation.sources > .content):
5799 (.sidebar > .panel.navigation.sources > .navigation-bar):
5800 * UserInterface/Views/SourcesSidebarPanel.js: Added.
5801 (WI.SourcesSidebarPanel):
5802 (WI.SourcesSidebarPanel.shouldPlaceResourcesAtTopLevel):
5803 (WI.SourcesSidebarPanel.prototype.get minimumWidth):
5804 (WI.SourcesSidebarPanel.prototype.closed):
5805 (WI.SourcesSidebarPanel.prototype.showDefaultContentView):
5806 (WI.SourcesSidebarPanel.prototype.treeElementForRepresentedObject.isAncestor):
5807 (WI.SourcesSidebarPanel.prototype.treeElementForRepresentedObject.getParent):
5808 (WI.SourcesSidebarPanel.prototype.treeElementForRepresentedObject):
5809 (WI.SourcesSidebarPanel.prototype.initialLayout):
5810 (WI.SourcesSidebarPanel.prototype.hasCustomFilters):
5811 (WI.SourcesSidebarPanel.prototype.matchTreeElementAgainstCustomFilters.match):
5812 (WI.SourcesSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
5813 (WI.SourcesSidebarPanel.prototype._mainResourceDidChange):
5814 (WI.SourcesSidebarPanel.prototype._mainFrameDidChange):
5815 (WI.SourcesSidebarPanel.prototype._mainFrameMainResourceDidChange.delayedWork):
5816 (WI.SourcesSidebarPanel.prototype._mainFrameMainResourceDidChange):
5817 (WI.SourcesSidebarPanel.prototype._scriptWasAdded):
5818 (WI.SourcesSidebarPanel.prototype._addScript):
5819 (WI.SourcesSidebarPanel.prototype._scriptWasRemoved):
5820 (WI.SourcesSidebarPanel.prototype._scriptsCleared):
5821 (WI.SourcesSidebarPanel.prototype._styleSheetAdded):
5822 (WI.SourcesSidebarPanel.prototype._addTargetWithMainResource):
5823 (WI.SourcesSidebarPanel.prototype._targetRemoved):
5824 (WI.SourcesSidebarPanel.prototype._treeSelectionDidChange):
5825 (WI.SourcesSidebarPanel.prototype._compareTreeElements):
5826 (WI.SourcesSidebarPanel.prototype._extraDomainsActivated):
5827 (WI.SourcesSidebarPanel.prototype._scopeBarSelectionDidChange):
5828 * UserInterface/Views/SourcesTabContentView.js: Added.
5829 (WI.SourcesTabContentView):
5830 (WI.SourcesTabContentView.tabInfo):
5831 (WI.SourcesTabContentView.isTabAllowed):
5832 (WI.SourcesTabContentView.prototype.get type):
5833 (WI.SourcesTabContentView.prototype.get supportsSplitContentBrowser):
5834 (WI.SourcesTabContentView.prototype.canShowRepresentedObject):
5835
webkit@devinrousso.comd457ef42018-03-07 23:09:00 +000058362018-03-07 Devin Rousso <webkit@devinrousso.com>
5837
5838 Web Inspector: Canvas tab: ensure that the Recording TreeOutline has a specified height for virtualization
5839 https://bugs.webkit.org/show_bug.cgi?id=183015
5840
5841 Reviewed by Matt Baker.
5842
5843 * UserInterface/Views/CanvasSidebarPanel.js:
5844 (WI.CanvasSidebarPanel):
5845
5846 * UserInterface/Views/CanvasSidebarPanel.css:
5847 (.sidebar > .panel.navigation.canvas > .content):
5848 (.sidebar > .panel.navigation.canvas > .content > .navigation-bar):
5849 (.sidebar > .panel.navigation.canvas.has-recordings > .content > .recording-content):
5850 (.sidebar > .panel.navigation.canvas:not(.has-recordings) > .filter-bar,):
5851 (.sidebar > .panel.navigation.canvas > .content > .recording-content > .navigation-bar): Deleted.
5852 (.sidebar > .panel.navigation.canvas.has-recordings > .content > .tree-outline.canvas): Deleted.
5853
5854 * UserInterface/Views/TreeElement.js:
5855 (WI.TreeElement.prototype._detach):
5856
webkit@devinrousso.com0263b9a2018-02-26 23:52:09 +000058572018-02-26 Devin Rousso <webkit@devinrousso.com>
5858
5859 Web Inspector: Canvas Tab: Scroll into view / Inspect element if Canvas has DOM node
5860 https://bugs.webkit.org/show_bug.cgi?id=181769
5861
5862 Reviewed by Matt Baker.
5863
5864 * Localizations/en.lproj/localizedStrings.js:
5865
5866 * UserInterface/Images/Markup.svg: Added.
5867
5868 * UserInterface/Views/CanvasContentView.js:
5869 (WI.CanvasContentView):
5870 (WI.CanvasContentView.prototype.initialLayout):
5871 (WI.CanvasContentView.prototype._canvasElementButtonClicked):
5872
mattbaker@apple.com6b1a54a2018-02-20 02:04:30 +000058732018-02-19 Matt Baker <mattbaker@apple.com>
5874
5875 Web Inspector: Canvas tab: hide navigation sidebar when viewing the overview
5876 https://bugs.webkit.org/show_bug.cgi?id=182597
5877 <rdar://problem/37341564>
5878
5879 Reviewed by Devin Rousso.
5880
5881 Support showing/hiding the navigation sidebar panel based on the current
5882 represented object. Individual TabContentViews can opt-in to this behavior,
5883 by overriding TabContentView.prototype.managesNavigationSidebarPanel.
5884
5885 * UserInterface/Views/CanvasSidebarPanel.js:
5886 (WI.CanvasSidebarPanel.prototype.canShowRepresentedObject):
5887 * UserInterface/Views/CanvasTabContentView.js:
5888 (WI.CanvasTabContentView.prototype.get managesNavigationSidebarPanel):
5889 Hide the Canvas navigation sidebar when viewing the overview.
5890
5891 * UserInterface/Views/ContentBrowserTabContentView.js:
5892 (WI.ContentBrowserTabContentView):
5893 (WI.ContentBrowserTabContentView.prototype.showNavigationSidebarPanel):
5894 (WI.ContentBrowserTabContentView.prototype._navigationSidebarCollapsedStateDidChange):
5895 (WI.ContentBrowserTabContentView.prototype._contentBrowserCurrentRepresentedObjectsDidChange):
5896
5897 * UserInterface/Views/NavigationSidebarPanel.js:
5898 (WI.NavigationSidebarPanel.prototype.canShowRepresentedObject):
5899 Provide default implementation that just defers to the TabContentView.
5900 This exists so that a NavigationSidebarPanel that implements canShowRepresentedObject
5901 will have a meaningful default to fall back on.
5902
5903 * UserInterface/Views/TabBrowser.js:
5904 (WI.TabBrowser.prototype._sidebarCollapsedStateDidChange):
5905 (WI.TabBrowser.prototype._showNavigationSidebarPanelForTabContentView):
5906
5907 * UserInterface/Views/TabContentView.js:
5908 (WI.TabContentView.prototype.get managesNavigationSidebarPanel):
5909
mattbaker@apple.com50344de2018-02-16 20:59:55 +000059102018-02-16 Matt Baker <mattbaker@apple.com>
5911
mattbaker@apple.comedefb682018-02-16 22:06:01 +00005912 Web Inspector: TabBar redesign: remove top-level search field and pin the Search tab
5913 https://bugs.webkit.org/show_bug.cgi?id=182353
5914 <rdar://problem/37088644>
5915
5916 Reviewed by Devin Rousso.
5917
5918 * Localizations/en.lproj/localizedStrings.js:
5919
5920 * UserInterface/Base/Main.js:
5921 (WI.contentLoaded):
5922 Create Search UI based on experimental setting. When the new TabBar is
5923 enabled, the Search tab is a pinned tab. Since it is also saveable, it
5924 needs to be added to the TabBrowser (the browser adds the item to the bar).
5925
5926 When restoring saved tabs, make an additional check to prevent a tab
5927 from being added twice. This can occur now that the Search tab is pinned.
5928
5929 * UserInterface/Images/Search.svg:
5930 Update art to better match Safari/macOS. Slightly increase the radius of
5931 the lens, and shorten the length of the handle.
5932
5933 * UserInterface/Views/GoToLineDialog.css:
5934 (.go-to-line-dialog > div::before):
5935 Update styles for new Search icon.
5936
5937 * UserInterface/Views/LegacyTabBar.js:
5938 (WI.LegacyTabBar.prototype.get saveableTabCount):
5939 Backported new TabBar method which is called by TabBrowser.
5940
5941 * UserInterface/Views/OpenResourceDialog.css:
5942 (.open-resource-dialog > .field::before):
5943 Update styles for new Search icon.
5944
5945 * UserInterface/Views/PinnedTabBarItem.js:
5946 (WI.PinnedTabBarItem.prototype.fromTabInfo):
5947 Match GeneralTabBarItem.fromTabInfo.
5948
5949 * UserInterface/Views/SearchTabContentView.js:
5950 (WI.SearchTabContentView):
5951 (WI.SearchTabContentView.tabInfo):
5952 New image (magnifying glass without border) when new TabBar is enabled.
5953
5954 * UserInterface/Views/SettingsTabContentView.js:
5955 (WI.SettingsTabContentView):
5956
5957 * UserInterface/Views/TabBar.js:
5958 (WI.TabBar):
5959 Move creation of the Settings item out of TabBar. The TabBar should
5960 only be concerned with managing tabs.
5961
5962 (WI.TabBar.prototype.get saveableTabCount):
5963 (WI.TabBar.prototype._handleContextMenu):
5964 (WI.TabBar.prototype.get normalNonEphemeralTabCount): Deleted.
5965 Now that the Search tab is pinned, there aren't any normal tabs that
5966 are also ephemeral. For the LegacyTabBar, both the Search and New Tab
5967 tabs are still in this category.
5968
5969 * UserInterface/Views/TabBrowser.js:
5970 (WI.TabBrowser.prototype.addTabForContentView):
5971 (WI.TabBrowser.prototype.closeTabForContentView):
5972 (WI.TabBrowser.prototype._tabBarItemSelected):
5973 (WI.TabBrowser._tabBarItemRemoved):
5974 Recent tab list should be validated against the list of saveable tabs,
5975 since the Search tab is no longer a normal tab (a GeneralTabBarItem),
5976 but is still persisted across Inspector sessions.
5977
59782018-02-16 Matt Baker <mattbaker@apple.com>
5979
mattbaker@apple.com50344de2018-02-16 20:59:55 +00005980 Web Inspector: TabBar redesign: TabBarItem close button is incorrectly positioned
5981 https://bugs.webkit.org/show_bug.cgi?id=182844
5982 <rdar://problem/37586749>
5983
5984 Reviewed by Timothy Hatcher.
5985
5986 * UserInterface/Views/GeneralTabBarItem.js:
5987 (WI.GeneralTabBarItem.prototype.set title):
5988 Insert the title before the last flexible space item.
5989
5990 * UserInterface/Views/TabBar.css:
5991 (.tab-bar > .item):
5992 (.tab-bar > .item > .close):
5993 (.tab-bar > .item > .flex-space):
5994 (.tab-bar > .item.ephemeral > .flex-space:last-child):
5995 (.tab-bar.collapsed > .item):
5996 (.tab-bar.collapsed > .item > .flex-space):
5997 (.tab-bar.collapsed > .item > .close):
5998 (.tab-bar.collapsed > .item:hover > .close):
5999 (.tab-bar.collapsed > .item.ephemeral:hover > .icon):
6000 (.tab-bar > .item:hover > .close): Deleted.
6001 (.tab-bar:not(.collapsed) > .item.ephemeral:hover > .icon): Deleted.
6002
6003 * UserInterface/Views/TabBarItem.js:
6004 (WI.TabBarItem):
6005 Restore flexible space items before and after the icon.
6006
nvasilyev@apple.com0eb9f1a2018-02-14 22:45:50 +000060072018-02-14 Nikita Vasilyev <nvasilyev@apple.com>
6008
6009 Web Inspector: Styles: completion popover doesn't hide when switching panels
6010 https://bugs.webkit.org/show_bug.cgi?id=182464
6011 <rdar://problem/37202763>
6012
6013 Reviewed by Timothy Hatcher.
6014
6015 Save the position of the anchor, an element the popover is shown for, and hide the completion popover
6016 when the position changes.
6017
6018 * UserInterface/Views/CompletionSuggestionsView.js:
6019 (WI.CompletionSuggestionsView.prototype.showUntilAnchorMoves):
6020 When the popover is visible, check every 200ms if the anchor moved.
6021
6022 (WI.CompletionSuggestionsView.prototype.hide):
6023 * UserInterface/Views/SpreadsheetTextField.js:
6024 (WI.SpreadsheetTextField.prototype._updateCompletions):
6025 (WI.SpreadsheetTextField.prototype._getCaretRect):
6026 getBoundingClientRect returns {x: 0, y: 0} when it can't determine node's position.
6027 This happens when a node isn't attached to DOM, attached to DOM but not visible, and
6028 a number of odd cases.
6029
mattbaker@apple.com9ae2c002018-02-14 20:17:30 +000060302018-02-14 Matt Baker <mattbaker@apple.com>
6031
6032 Web Inspector: TabBar redesign: only show allowed tabs in the available tabs context menu
6033 https://bugs.webkit.org/show_bug.cgi?id=182721
6034 <rdar://problem/37479019>
6035
6036 Reviewed by Timothy Hatcher.
6037
6038 In addition to only including allowed tabs in the TabBar context menu,
6039 perform a sanity check when setting the selected tab item, since the
6040 serialized selection index could refer to a tab that is no longer allowed.
6041
6042 * UserInterface/Views/LegacyTabBar.js:
6043 (WI.LegacyTabBar.prototype.set selectedTabBarItem):
6044 (WI.LegacyTabBar.prototype._handleContextMenu):
6045
6046 * UserInterface/Views/TabBar.js:
6047 (WI.TabBar.prototype.set selectedTabBarItem):
6048 (WI.TabBar.prototype._handleContextMenu):
6049
mattbaker@apple.com2df6e952018-02-09 20:40:10 +000060502018-02-09 Matt Baker <mattbaker@apple.com>
6051
mattbaker@apple.com87a77562018-02-10 06:15:46 +00006052 Web Inspector: Canvas tab: tree selection abruptly changes when selecting a recording frame
6053 https://bugs.webkit.org/show_bug.cgi?id=182667
6054 <rdar://problem/37412639>
6055
6056 Reviewed by Devin Rousso.
6057
6058 * UserInterface/Views/CanvasSidebarPanel.css:
6059 (.sidebar > .panel.navigation.canvas > .content > .recording-content > .navigation-bar):
6060 (.sidebar > .panel.navigation.canvas:not(.has-recordings) > .filter-bar,):
6061 (.sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline .item.recording > .icon):
6062 (.sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline .item.folder-icon > .icon):
6063 (.sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline .item.folder-icon > .status):
6064 (.sidebar > .panel.navigation.canvas > .content > .navigation-bar): Deleted.
6065 (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.recording > .icon): Deleted.
6066 (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.folder-icon > .icon): Deleted.
6067 (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.folder-icon > .status): Deleted.
6068 Style changes for the additional DOM element required to virtualize the recording tree outline.
6069
6070 * UserInterface/Views/CanvasSidebarPanel.js:
6071 (WI.CanvasSidebarPanel):
6072 In order to be virtualized, the tree must be the only child of its parent.
6073
6074 (WI.CanvasSidebarPanel.prototype.set action):
6075 Ensure that a frame tree element isn't deselected when the last action
6076 in the frame becomes selected in the RecordingContentView.
6077
6078 (WI.CanvasSidebarPanel.prototype.shown):
6079 Refresh the sidebar, as represented objects may have changed while hidden.
6080
6081 (WI.CanvasSidebarPanel.prototype._currentRepresentedObjectsDidChange):
6082 Unset the recording when no valid represented objects are found, to
6083 prevent a stale recording tree from being shown when viewing the overview.
6084
6085 (WI.CanvasSidebarPanel.prototype._canvasChanged):
6086 (WI.CanvasSidebarPanel.prototype._recordingChanged):
6087 (WI.CanvasSidebarPanel.prototype._updateRecordingScopeBar):
6088 Moved toggling of the "has-recordings" style to _canvasChanged, since
6089 the navigation bar should be hidden when no canvas exists.
6090
6091 * UserInterface/Views/CollectionContentView.js:
6092 (WI.CollectionContentView.prototype.addContentViewForItem):
6093 (WI.CollectionContentView.prototype.removeContentViewForItem):
6094 Drive by fixes for child view visible state.
6095
6096 * UserInterface/Views/TreeOutline.css:
6097 (.tree-outline:not(.large):matches(:focus, .force-focus) .item.selected .status .indeterminate-progress-spinner):
6098 Make spinner easier to see against the selection background color.
6099
61002018-02-09 Matt Baker <mattbaker@apple.com>
6101
mattbaker@apple.com2df6e952018-02-09 20:40:10 +00006102 Web Inspector: Object.shallowEqual always fails when comparing array property values
6103 https://bugs.webkit.org/show_bug.cgi?id=182634
6104 <rdar://problem/37374639>
6105
6106 Reviewed by Devin Rousso.
6107
6108 Object.shallowEqual should use Array.shallowEqual when comparing property
6109 values, since strictly comparing objects/arrays is only true if both
6110 operands reference the same Object.
6111
6112 * UserInterface/Base/Utilities.js:
6113 (value):
6114
mattbaker@apple.comb8adaba2018-02-09 00:52:28 +000061152018-02-08 Matt Baker <mattbaker@apple.com>
6116
6117 Web Inspector: add listing of Canvases/Programs/Recordings to the NavigationSidebar
6118 https://bugs.webkit.org/show_bug.cgi?id=178744
6119 <rdar://problem/35374379>
6120
6121 Reviewed by Devin Rousso.
6122
6123 * Localizations/en.lproj/localizedStrings.js:
6124
6125 * UserInterface/Images/Canvas2D.svg:
6126 * UserInterface/Images/Canvas3D.svg:
6127 * UserInterface/Images/Recording.svg:
6128 Update canvas icons to be monochrome. Simplified the recording icon.
6129
6130 * UserInterface/Main.html:
6131
6132 * UserInterface/Models/RecordingAction.js:
6133 (WI.RecordingAction.prototype.get state):
6134 (WI.RecordingAction.prototype.set state):
6135 Allow (2D) snapshot state to be associated with the action. Used by
6136 RecordingActionDetailsSidebarPanel to retrieve the snapshot state.
6137
6138 * UserInterface/Views/CanvasContentView.css:
6139 (.content-view.canvas:not(.tab)):
6140 (.content-view.canvas:not(.tab) > .progress): Deleted.
6141 (.content-view.canvas:not(.tab) > .progress > .frame-count): Deleted.
6142
6143 * UserInterface/Views/CanvasContentView.js:
6144 (WI.CanvasContentView):
6145 (WI.CanvasContentView.prototype.get navigationItems):
6146 (WI.CanvasContentView.prototype.layout):
6147 (WI.CanvasContentView.prototype.shown):
6148 (WI.CanvasContentView.prototype._recordingStarted):
6149 (WI.CanvasContentView.prototype._recordingProgress):
6150 (WI.CanvasContentView.prototype._recordingStopped):
6151 (WI.CanvasContentView.prototype._updateRecordNavigationItem):
6152 (WI.CanvasContentView.prototype._updateProgressView):
6153 Replace progress UI with a reusable ProgressView class.
6154 When in the overview, clicking the CanvasContentView shows a dedicated
6155 CanvasContentView for inspecting shaders and recordings. This behavior
6156 is controlled by CollectionContentView, so we need to prevent it when
6157 clicking inside the header and footer elements, which contain clickable UI.
6158
6159 * UserInterface/Views/CanvasDetailsSidebarPanel.js:
6160 (WI.CanvasDetailsSidebarPanel.prototype.inspect):
6161
6162 * UserInterface/Views/CanvasOverviewContentView.css:
6163 (.content-view.canvas-overview .content-view.canvas):
6164 (.content-view.canvas-overview .content-view.canvas.is-recording):
6165 (.content-view.canvas-overview .content-view.canvas > :matches(header, footer)):
6166 (.content-view.canvas-overview .content-view.canvas > header):
6167 (.content-view.canvas-overview .content-view.canvas.is-recording > header):
6168 (.content-view.canvas-overview .content-view.canvas > header > .navigation-bar):
6169 (.content-view.canvas-overview .content-view.canvas:matches(:hover, .is-recording) > header > .navigation-bar):
6170 (.content-view.canvas-overview .content-view.canvas.is-recording > .progress-view,):
6171 (.content-view.canvas-overview .content-view.canvas.is-recording > .preview):
6172 (.content-view.canvas-overview .content-view.canvas > :matches(header, .progress, .preview, footer)): Deleted.
6173 (.content-view.canvas-overview .content-view.canvas.selected > :matches(.progress, .preview, footer),): Deleted.
6174 (.content-view.canvas-overview .content-view.canvas:not(:hover, .is-recording, .selected) > header > .navigation-bar): Deleted.
6175 (.content-view.canvas-overview .content-view.canvas > :matches(.progress, .preview)): Deleted.
6176 (.content-view.canvas-overview .content-view.canvas > .preview): Deleted.
6177 (.content-view.canvas-overview .content-view.canvas > .progress ~ .preview): Deleted.
6178 Clean up styles, and remove selection styles as canvases are no longer selectable in the overview.
6179
6180 * UserInterface/Views/CanvasOverviewContentView.js:
6181 (WI.CanvasOverviewContentView):
6182 (WI.CanvasOverviewContentView.prototype.get navigationItems):
6183 (WI.CanvasOverviewContentView.prototype.attached):
6184 (WI.CanvasOverviewContentView.prototype.detached):
6185 (WI.CanvasOverviewContentView.prototype.get selectionPathComponents): Deleted.
6186 (WI.CanvasOverviewContentView.prototype._changeSelectedItemVertically): Deleted.
6187 (WI.CanvasOverviewContentView.prototype._changeSelectedItemHorizontally): Deleted.
6188 (WI.CanvasOverviewContentView.prototype._selectionPathComponentsChanged): Deleted.
6189 (WI.CanvasOverviewContentView.prototype._handleUp): Deleted.
6190 (WI.CanvasOverviewContentView.prototype._handleRight): Deleted.
6191 (WI.CanvasOverviewContentView.prototype._handleDown): Deleted.
6192 (WI.CanvasOverviewContentView.prototype._handleLeft): Deleted.
6193 (WI.CanvasOverviewContentView.prototype._handleSpace): Deleted.
6194 (WI.CanvasOverviewContentView.prototype._supplementalRepresentedObjectsDidChange): Deleted.
6195 Disable canvas selection. Remove logic for supplemental represented objects,
6196 path components, and selection keyboard shortcuts.
6197
6198 * UserInterface/Views/CanvasSidebarPanel.css: Added.
6199 (.sidebar > .panel.navigation.canvas > .content):
6200 (.sidebar > .panel.navigation.canvas > .navigation-bar > .item.record-start-stop.disabled):
6201 (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.canvas.canvas-2d .icon):
6202 (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.canvas.webgl .icon):
6203 (.sidebar > .panel.navigation.canvas > .content > .navigation-bar):
6204 (.sidebar > .panel.navigation.canvas.has-recordings > .content > .tree-outline.canvas):
6205 (.sidebar > .panel.navigation.canvas:not(.has-recordings) > .filter-bar,):
6206 (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.recording > .icon):
6207 (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.shader-program > .icon):
6208 (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.folder-icon > .icon):
6209 (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.folder-icon > .status):
6210
6211 * UserInterface/Views/CanvasSidebarPanel.js: Added.
6212 (WI.CanvasSidebarPanel):
6213 (WI.CanvasSidebarPanel.prototype.get canvas):
6214 (WI.CanvasSidebarPanel.prototype.set canvas):
6215 (WI.CanvasSidebarPanel.prototype.set recording):
6216 (WI.CanvasSidebarPanel.prototype.set action):
6217 (WI.CanvasSidebarPanel.prototype.shown):
6218 (WI.CanvasSidebarPanel.prototype.hidden):
6219 (WI.CanvasSidebarPanel.prototype.hasCustomFilters):
6220 (WI.CanvasSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
6221 (WI.CanvasSidebarPanel.prototype.initialLayout):
6222 (WI.CanvasSidebarPanel.prototype._recordingAdded):
6223 (WI.CanvasSidebarPanel.prototype._recordingRemoved):
6224 (WI.CanvasSidebarPanel.prototype._scopeBarSelectionChanged):
6225 (WI.CanvasSidebarPanel.prototype._toggleRecording):
6226 (WI.CanvasSidebarPanel.prototype._currentRepresentedObjectsDidChange):
6227 (WI.CanvasSidebarPanel.prototype._treeOutlineSelectionDidChange):
6228 (WI.CanvasSidebarPanel.prototype._canvasChanged):
6229 (WI.CanvasSidebarPanel.prototype._recordingChanged):
6230 (WI.CanvasSidebarPanel.prototype._updateRecordNavigationItem):
6231 (WI.CanvasSidebarPanel.prototype._updateRecordingScopeBar):
6232 Add new navigation sidebar, split into two sections. The upper section
6233 contains a tree with a single element for the current canvas, and child
6234 elements for any shader programs. The maximum height of this section is 50%
6235 of the sidebar's height. The lower section contains a tree for the selected
6236 recording, and a scope bar for choosing between recordings.
6237
6238 * UserInterface/Views/CanvasTabContentView.css:
6239 (.content-view.tab.canvas .navigation-bar > .item .canvas-overview .icon):
6240 (.content-view.tab.canvas .navigation-bar > .item .canvas.canvas-2d .icon):
6241 (.content-view.tab.canvas .navigation-bar > .item .canvas.webgl .icon):
6242 (.content-view.tab.canvas .navigation-bar > .item .shader-program > .icon):
6243 (.content-view.tab.canvas .navigation-bar > .item > .hierarchical-path-component > .icon): Deleted.
6244 (.content-view.tab.canvas .navigation-bar > .item .canvas .icon): Deleted.
6245
6246 * UserInterface/Views/CanvasTabContentView.js:
6247 (WI.CanvasTabContentView):
6248 (WI.CanvasTabContentView.prototype.canShowRepresentedObject):
6249 (WI.CanvasTabContentView.prototype.attached):
6250 (WI.CanvasTabContentView.prototype._addCanvas):
6251 (WI.CanvasTabContentView.prototype._removeCanvas):
6252 (WI.CanvasTabContentView.prototype._canvasTreeOutlineSelectionDidChange):
6253 (WI.CanvasTabContentView.prototype._recordingAdded):
6254 (WI.CanvasTabContentView.prototype._handleSpace):
6255 (WI.CanvasTabContentView.prototype.showRepresentedObject): Deleted.
6256 (WI.CanvasTabContentView.prototype._navigationSidebarTreeOutlineSelectionChanged): Deleted.
6257 (WI.CanvasTabContentView.prototype._recordingActionIndexChanged): Deleted.
6258 (WI.CanvasTabContentView.prototype._updateActionIndex): Deleted.
6259 The canvas tab now maintains a tree outline of all canvases, with an
6260 "Overview" element as the root. The Overview element is always the first
6261 item of content browser's hierarchical path.
6262
6263 * UserInterface/Views/CanvasTreeElement.js:
6264 (WI.CanvasTreeElement.createRecordingTreeElement):
6265 (WI.CanvasTreeElement):
6266 (WI.CanvasTreeElement.prototype.onattach):
6267 (WI.CanvasTreeElement.prototype.onpopulate):
6268 (WI.CanvasTreeElement.prototype._updateStatus):
6269 (WI.CanvasTreeElement.prototype.ondetach): Deleted.
6270 Make it possible to not show recordings under the Canvas element.
6271 Create `isRecording` status element (spinner).
6272
6273 * UserInterface/Views/CollectionContentView.js:
6274 (WI.CollectionContentView.prototype.shown):
6275 (WI.CollectionContentView.prototype.hidden):
6276 Child ContentViews need to be updated when the collection's visibility changes.
6277
6278 * UserInterface/Views/ContentView.js:
6279 (WI.ContentView.isViewable):
6280
6281 * UserInterface/Views/ProgressView.css: Added.
6282 (.progress-view):
6283 (.progress-view > .titles):
6284 (.progress-view > .titles > .title):
6285 (.progress-view > .titles > .subtitle):
6286 (.progress-view > .titles > .subtitle::before):
6287 (.progress-view > .indeterminate-progress-spinner):
6288
6289 * UserInterface/Views/ProgressView.js: Added.
6290 (WI.ProgressView):
6291 (WI.ProgressView.prototype.get title):
6292 (WI.ProgressView.prototype.set title):
6293 (WI.ProgressView.prototype.get subtitle):
6294 (WI.ProgressView.prototype.set subtitle):
6295 (WI.ProgressView.prototype.get visible):
6296 (WI.ProgressView.prototype.set visible):
6297 (WI.ProgressView.prototype.initialLayout):
6298 (WI.ProgressView.prototype._updateTitles):
6299 New view class (not a ContentView) for showing a generic progress message,
6300 with a title, subtitle, and progress spinner.
6301
6302 * UserInterface/Views/RecordingContentView.css:
6303 (.content-view:not(.tab).recording > .preview-container):
6304 Remove unnecessary styles.
6305
6306 * UserInterface/Views/RecordingContentView.js:
6307 (WI.RecordingContentView):
6308 (WI.RecordingContentView.prototype.get navigationItems):
6309 (WI.RecordingContentView.prototype.get supplementalRepresentedObjects):
6310 (WI.RecordingContentView.prototype.updateActionIndex):
6311 (WI.RecordingContentView.prototype.get saveData):
6312 (WI.RecordingContentView.prototype._exportRecording):
6313 Relocate the recording export logic and UI.
6314 (WI.RecordingContentView.prototype.async._generateContentCanvas2D):
6315 (WI.RecordingContentView.prototype.async._generateContentCanvasWebGL):
6316 (WI.RecordingContentView.prototype._sliderChanged):
6317 Refactor logic for notifying the rest of the UI of changes to the action slider.
6318 The selected action is now exposed as a supplemental represented object, and a
6319 corresponding SupplementalRepresentedObjectsDidChange event.
6320
6321 * UserInterface/Views/RecordingStateDetailsSidebarPanel.js:
6322 (WI.RecordingStateDetailsSidebarPanel.prototype.inspect):
6323 (WI.RecordingStateDetailsSidebarPanel.prototype.set action):
6324 (WI.RecordingStateDetailsSidebarPanel.prototype._generateDetailsCanvas2D):
6325 (WI.RecordingStateDetailsSidebarPanel):
6326 (WI.RecordingStateDetailsSidebarPanel.prototype.updateAction): Deleted.
6327
6328 * UserInterface/Views/RecordingTraceDetailsSidebarPanel.js:
6329 (WI.RecordingTraceDetailsSidebarPanel.prototype.inspect):
6330 (WI.RecordingTraceDetailsSidebarPanel.prototype.set action):
6331 (WI.RecordingTraceDetailsSidebarPanel):
6332 (WI.RecordingTraceDetailsSidebarPanel.prototype.updateAction): Deleted.
6333 Now that the selected action is exposed to the UI as a supplemental
6334 represented object, details sidebars can be more decoupled from the
6335 canvas tab, and be notified of changes to the selection via `inspect()`.
6336
6337 * UserInterface/Views/ResourceIcons.css:
6338 (.canvas > .icon): Deleted.
6339 (.shader-program .icon): Deleted.
6340
nvasilyev@apple.comc3a927d2018-02-08 23:18:28 +000063412018-02-08 Nikita Vasilyev <nvasilyev@apple.com>
6342
6343 Web Inspector: Styles: Typing value and quickly moving focus away may display outdated value in UI
6344 https://bugs.webkit.org/show_bug.cgi?id=182588
6345 <rdar://problem/37332161>
6346
6347 Reviewed by Matt Baker.
6348
6349 CSSProperty models were updated with a 250ms delay. Quickly adding a blank property after modifying
6350 an existing property could result in outdated values being shown.
6351
6352 This patch removes the 250ms delay.
6353
6354 * UserInterface/Views/SpreadsheetStyleProperty.js:
6355 (WI.SpreadsheetStyleProperty.prototype.spreadsheetTextFieldDidChange):
6356
mattbaker@apple.com029ef7a2018-02-08 00:58:25 +000063572018-02-07 Matt Baker <mattbaker@apple.com>
6358
6359 Web Inspector: replace isAncestor with Node.contains() in LegacyTabBar
6360 https://bugs.webkit.org/show_bug.cgi?id=182586
6361
6362 Reviewed by Timothy Hatcher.
6363
6364 * UserInterface/Views/LegacyTabBar.js:
6365
nvasilyev@apple.com92717732018-02-07 19:01:16 +000063662018-02-07 Nikita Vasilyev <nvasilyev@apple.com>
6367
6368 Web Inspector: Styles: completion popover doesn't hide when switching panels
6369 https://bugs.webkit.org/show_bug.cgi?id=182464
6370 <rdar://problem/37202763>
6371
6372 Reviewed by Timothy Hatcher.
6373
6374 Hide completion popover by triggering blur event on the focused text field.
6375 Removing text fields from the DOM tree would hide the completion popovers as well,
6376 but switching sidebar panels doesn't remove them from the DOM.
6377
6378 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
6379 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.hidden):
6380 * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
6381 (WI.SpreadsheetCSSStyleDeclarationSection.prototype.hidden):
6382 * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:
6383 (WI.SpreadsheetRulesStyleDetailsPanel.prototype.hidden):
6384 * UserInterface/Views/SpreadsheetStyleProperty.js:
6385 (WI.SpreadsheetStyleProperty.prototype.hidden):
6386
webkit@devinrousso.come1775ce2018-02-07 03:20:01 +000063872018-02-06 Devin Rousso <webkit@devinrousso.com>
6388
webkit@devinrousso.com7f34f522018-02-07 03:27:00 +00006389 Web Inspector: Replace isAncestor and isDescendant with native DOM contains method
6390 https://bugs.webkit.org/show_bug.cgi?id=182069
6391
6392 Reviewed by Brian Burg.
6393
6394 * UserInterface/Base/Main.js:
6395 (WI.restoreFocusFromElement):
6396 (WI._mouseDown):
6397 (WI._focusedContentBrowser):
6398 (WI._focusedContentView):
6399 * UserInterface/Base/Utilities.js:
6400 (Node.prototype.traverseNextNode):
6401 (Node.prototype.isAncestor): Deleted.
6402 (Node.prototype.isDescendant): Deleted.
6403 (Node.prototype.isSelfOrAncestor): Deleted.
6404 (Node.prototype.isSelfOrDescendant): Deleted.
6405 * UserInterface/Views/BoxModelDetailsSectionRow.js:
6406 (WI.BoxModelDetailsSectionRow.prototype._handleKeyDown):
6407 * UserInterface/Views/CSSStyleDeclarationSection.js:
6408 (WI.CSSStyleDeclarationSection.prototype._handleSelectorPaste):
6409 * UserInterface/Views/DOMTreeOutline.js:
6410 (WI.DOMTreeOutline.prototype._onmouseout):
6411 * UserInterface/Views/DetailsSection.js:
6412 (WI.DetailsSection.prototype._headerElementClicked):
6413 * UserInterface/Views/EditingSupport.js:
6414 (WI.incrementElementValue):
6415 * UserInterface/Views/LogContentView.js:
6416 (WI.LogContentView.prototype._handleContextMenuEvent):
6417 * UserInterface/Views/ShaderProgramTreeElement.js:
6418 (WI.ShaderProgramTreeElement.prototype.selectOnMouseDown):
6419 * UserInterface/Views/SoftContextMenu.js:
6420 (WI.SoftContextMenu.prototype._menuItemMouseOut):
6421 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
6422 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.initialLayout):
6423 * UserInterface/Views/TabBar.js:
6424 (WI.TabBar.prototype.insertTabBarItem):
6425
64262018-02-06 Devin Rousso <webkit@devinrousso.com>
6427
webkit@devinrousso.come1775ce2018-02-07 03:20:01 +00006428 Web Inspector: Elements tab should have "Jump to Layer" functionality
6429 https://bugs.webkit.org/show_bug.cgi?id=181800
6430
6431 Reviewed by Joseph Pecoraro.
6432
6433 * Localizations/en.lproj/localizedStrings.js:
6434
6435 * UserInterface/Base/Main.js:
6436 (WI.isShowingElementsTab):
6437 (WI.showLayersTab):
6438 (WI.isShowingLayersTab):
6439
6440 * UserInterface/Views/ContextMenuUtilities.js:
6441 (WI.appendContextMenuItemsForDOMNode):
6442
6443 * UserInterface/Views/LayersTabContentView.js:
6444 (WI.LayersTabContentView.prototype.selectLayerForNode):
6445
6446 * UserInterface/Views/Layers3DContentView.js:
6447 (WI.Layers3DContentView):
6448 (WI.Layers3DContentView.prototype.selectLayerForNode):
6449 (WI.Layers3DContentView.prototype.layout):
6450
6451 * UserInterface/Views/LayerDetailsSidebarPanel.js:
6452 (WI.LayerDetailsSidebarPanel):
6453 (WI.LayerDetailsSidebarPanel.prototype.selectNodeByLayerId):
6454 (WI.LayerDetailsSidebarPanel.prototype._updateDataGrid):
6455
nvasilyev@apple.coma9e56da2018-02-07 03:05:54 +000064562018-02-06 Nikita Vasilyev <nvasilyev@apple.com>
6457
6458 Web Inspector: Rename String.prototype.trimEnd to avoid conflicts with native trimEnd
6459 https://bugs.webkit.org/show_bug.cgi?id=182545
6460
6461 Reviewed by Brian Burg.
6462
6463 Rename:
6464 - trimEnd to truncateEnd
6465 - trimMiddle to truncateMiddle
6466
6467 * UserInterface/Base/Utilities.js:
6468 (String.prototype.trimMiddle): Deleted.
6469 (String.prototype.trimEnd): Deleted.
6470 (String.prototype.truncateMiddle): Added.
6471 (String.prototype.truncateEnd): Added.
6472 Use strict mode. Scrict mode allows `this` to be a primitive (a string, in our case).
6473 In non-strict mode, `this` is always an object. Without the strict mode,
6474 "a".truncateEnd(42) !== "a", because truncateEnd returns a string object.
6475
6476 * UserInterface/Views/DOMTreeElement.js:
6477 (WI.DOMTreeElement.prototype._buildAttributeDOM):
6478 * UserInterface/Views/DOMTreeElementPathComponent.js:
6479 (WI.DOMTreeElementPathComponent):
6480 * UserInterface/Views/SearchResultTreeElement.js:
6481 Remove an obvious comment.
6482
6483 (WI.SearchResultTreeElement.truncateAndHighlightTitle):
6484 * UserInterface/Views/SpreadsheetStyleProperty.js:
6485 (WI.SpreadsheetStyleProperty.prototype._renderValue):
6486
nvasilyev@apple.com2b126eb2018-02-05 22:37:51 +000064872018-02-05 Nikita Vasilyev <nvasilyev@apple.com>
6488
6489 Web Inspector: Add an experimental setting to enable Sources tab
6490 https://bugs.webkit.org/show_bug.cgi?id=182461
6491
6492 Reviewed by Brian Burg.
6493
6494 This patch only adds a setting. It doesn't add the Sources tab.
6495
6496 * Localizations/en.lproj/localizedStrings.js:
6497 * UserInterface/Base/Setting.js:
6498 * UserInterface/Views/SettingsTabContentView.js:
6499
webkit@devinrousso.comdb33a6a2018-02-02 22:52:56 +000065002018-02-02 Devin Rousso <webkit@devinrousso.com>
6501
6502 Web Inspector: Styles Redesign: Pasting multiple properties should create properties instead of a bad property
6503 https://bugs.webkit.org/show_bug.cgi?id=179622
6504 <rdar://problem/35511170>
6505
6506 Reviewed by Matt Baker.
6507
6508 * UserInterface/Views/SpreadsheetStyleProperty.js:
6509 (WI.SpreadsheetStyleProperty.prototype._remove):
6510 (WI.SpreadsheetStyleProperty.prototype._update):
6511 (WI.SpreadsheetStyleProperty.prototype.spreadsheetTextFieldDidCommit):
6512 (WI.SpreadsheetStyleProperty.prototype._handleNamePaste):
6513 When the user pastes into the name field, parse the text for a list of name-value pairs and
6514 replace the property being edited with the text of those pairs.
6515
6516 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
6517 (WI.SpreadsheetCSSStyleDeclarationEditor):
6518 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.layout):
6519 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.addBlankProperty):
6520 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyFocusMoved):
6521 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyAddBlankPropertySoon):
6522 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyRemoved):
6523 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._propertiesChanged):
6524 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetCSSStyleDeclarationEditorFocusMoved): Deleted.
6525 Calling `addBlankProperty` will trigger a layout on the next frame, but that might be before
6526 the CSSAgent has had a chance to finish refreshing, so we need a way to defer the creation
6527 of a new property until after we have finished the next layout (which is after the refresh).
6528 Drive-by: fix naming of some delegate functions.
6529
6530 * UserInterface/Models/CSSProperty.js:
6531 (WI.CSSProperty.prototype.replaceWithText):
6532 Provide a way for replacing the property with new text.
6533
mattbaker@apple.com0ea61b62018-02-02 21:04:52 +000065342018-02-02 Matt Baker <mattbaker@apple.com>
6535
6536 Web Inspector: TabBar redesign: remove New Tab button and add experimental feature flag
6537 https://bugs.webkit.org/show_bug.cgi?id=182342
6538 <rdar://problem/37078662>
6539
6540 Reviewed by Devin Rousso.
6541
6542 This patch adds a new experimental setting group, "User Interface", with
6543 a single setting, "Enable New TabBar". When enabled, the New Tab button is
6544 no longer available in the top-level TabBar. The 'open tabs' context menu
6545 no longer allows the last non-ephemeral open tab to be closed (unchecked).
6546
6547 * Localizations/en.lproj/localizedStrings.js:
6548
6549 * UserInterface/Base/Main.js:
6550 (WI.contentLoaded):
6551 (WI._tryToRestorePendingTabs):
6552 Retain legacy behavior behind experimental feature setting.
6553 (WI.isNewTabWithTypeAllowed):
6554
6555 * UserInterface/Base/Setting.js:
6556 * UserInterface/Main.html:
6557
6558 * UserInterface/Views/CanvasTabContentView.js:
6559 (WI.CanvasTabContentView):
6560 * UserInterface/Views/ConsoleTabContentView.js:
6561 (WI.ConsoleTabContentView):
6562 * UserInterface/Views/DebuggerTabContentView.js:
6563 (WI.DebuggerTabContentView):
6564 * UserInterface/Views/ElementsTabContentView.js:
6565 (WI.ElementsTabContentView):
6566
6567 * UserInterface/Views/GeneralTabBarItem.js:
6568 (WI.GeneralTabBarItem):
6569 (WI.GeneralTabBarItem.prototype.fromTabInfo):
6570 (WI.GeneralTabBarItem.prototype.get isEphemeral):
6571 (WI.GeneralTabBarItem.fromTabContentViewConstructor): Deleted.
6572
6573 * UserInterface/Views/LayersTabContentView.js:
6574 (WI.LayersTabContentView):
6575
6576 * UserInterface/Views/LegacyTabBar.js: Copied from Source/WebInspectorUI/UserInterface/Views/TabBar.js.
6577 (WI.LegacyTabBar):
6578 (WI.LegacyTabBar.prototype.get newTabTabBarItem):
6579 (WI.LegacyTabBar.prototype.updateNewTabTabBarItemState):
6580 (WI.LegacyTabBar.prototype.addTabBarItem):
6581 (WI.LegacyTabBar.prototype.insertTabBarItem.animateTabs):
6582 (WI.LegacyTabBar.prototype.insertTabBarItem.removeStyles):
6583 (WI.LegacyTabBar.prototype.insertTabBarItem):
6584 (WI.LegacyTabBar.prototype.removeTabBarItem.animateTabs):
6585 (WI.LegacyTabBar.prototype.removeTabBarItem.removeStyles):
6586 (WI.LegacyTabBar.prototype.removeTabBarItem):
6587 (WI.LegacyTabBar.prototype.selectPreviousTab):
6588 (WI.LegacyTabBar.prototype.selectNextTab):
6589 (WI.LegacyTabBar.prototype.get selectedTabBarItem):
6590 (WI.LegacyTabBar.prototype.set selectedTabBarItem):
6591 (WI.LegacyTabBar.prototype.get tabBarItems):
6592 (WI.LegacyTabBar.prototype.get normalTabCount):
6593 (WI.LegacyTabBar.prototype.layout.forceItemHidden):
6594 (WI.LegacyTabBar.prototype.layout):
6595 (WI.LegacyTabBar.prototype._tabBarItemsFromLeftToRight):
6596 (WI.LegacyTabBar.prototype._findTabBarItem):
6597 (WI.LegacyTabBar.prototype._hasMoreThanOneNormalTab):
6598 (WI.LegacyTabBar.prototype._openDefaultTab):
6599 (WI.LegacyTabBar.prototype._recordTabBarItemSizesAndPositions):
6600 (WI.LegacyTabBar.prototype._applyTabBarItemSizesAndPositions):
6601 (WI.LegacyTabBar.prototype._clearTabBarItemSizesAndPositions):
6602 (WI.LegacyTabBar.prototype._finishExpandingTabsAfterClose.):
6603 (WI.LegacyTabBar.prototype._finishExpandingTabsAfterClose):
6604 (WI.LegacyTabBar.prototype._handleMouseDown):
6605 (WI.LegacyTabBar.prototype._handleClick):
6606 (WI.LegacyTabBar.prototype._handleMouseMoved):
6607 (WI.LegacyTabBar.prototype._handleMouseUp):
6608 (WI.LegacyTabBar.prototype._handleMouseLeave):
6609 (WI.LegacyTabBar.prototype._handleContextMenu):
6610 (WI.LegacyTabBar.prototype._handleNewTabClick):
6611 (WI.LegacyTabBar.prototype._handleTabPickerTabContextMenu):
6612 (WI.LegacyTabBar.prototype._handleNewTabMouseEnter):
6613
6614 * UserInterface/Views/NetworkTabContentView.js:
6615 (WI.NetworkTabContentView):
6616 * UserInterface/Views/NewTabContentView.js:
6617 (WI.NewTabContentView):
6618 (WI.NewTabContentView.tabInfo):
6619 (WI.NewTabContentView.isEphemeral): Deleted.
6620 * UserInterface/Views/ResourcesTabContentView.js:
6621 (WI.ResourcesTabContentView):
6622 * UserInterface/Views/SearchTabContentView.js:
6623 (WI.SearchTabContentView):
6624 (WI.SearchTabContentView.tabInfo):
6625 (WI.SearchTabContentView.isEphemeral): Deleted.
6626
6627 * UserInterface/Views/SettingsTabContentView.js:
6628 (WI.SettingsTabContentView.tabInfo):
6629 (WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
6630 (WI.SettingsTabContentView.isEphemeral): Deleted.
6631
6632 * UserInterface/Views/StorageTabContentView.js:
6633 (WI.StorageTabContentView):
6634
6635 * UserInterface/Views/TabBar.css:
6636 * UserInterface/Views/TabBar.js:
6637 (WI.TabBar):
6638 (WI.TabBar.prototype.insertTabBarItem):
6639 (WI.TabBar.prototype.removeTabBarItem):
6640 (WI.TabBar.prototype.set selectedTabBarItem):
6641 (WI.TabBar.prototype.get normalNonEphemeralTabCount):
6642 (WI.TabBar.prototype._handleMouseDown):
6643 (WI.TabBar.prototype._handleClick):
6644 (WI.TabBar.prototype._handleMouseMoved):
6645 (WI.TabBar.prototype._handleMouseLeave):
6646 (WI.TabBar.prototype._handleContextMenu):
6647 (WI.TabBar.prototype._handleTabPickerTabContextMenu):
6648 (WI.TabBar.prototype.get newTabTabBarItem): Deleted.
6649 (WI.TabBar.prototype.updateNewTabTabBarItemState): Deleted.
6650 (WI.TabBar.prototype._openDefaultTab): Deleted.
6651 (WI.TabBar.prototype._handleNewTabClick): Deleted.
6652 (WI.TabBar.prototype._handleNewTabMouseEnter): Deleted.
6653 Remove support for the New Tab button and default tab. Without a default
6654 tab, there is nothing to display when no tabs are open, so prevent the
6655 last non-pinned tab from being removed.
6656
6657 * UserInterface/Views/TabBrowser.js:
6658 (WI.TabBrowser._tabBarItemRemoved):
6659 * UserInterface/Views/TabContentView.js:
6660 (WI.TabContentView.isEphemeral): Deleted.
6661 * UserInterface/Views/TimelineTabContentView.js:
6662 (WI.TimelineTabContentView):
6663
webkit@devinrousso.com594aa702018-01-31 00:39:18 +000066642018-01-30 Devin Rousso <webkit@devinrousso.com>
6665
6666 Web Inspector: Replace Object.shallowMerge with ES2018 spread operator
6667 https://bugs.webkit.org/show_bug.cgi?id=182219
6668
6669 Reviewed by Brian Burg.
6670
6671 * UserInterface/Base/Utilities.js:
6672 (Object.shallowMerge): Deleted.
6673 * UserInterface/Base/DOMUtilities.js:
6674 (WI.linkifyNodeReference):
6675 * UserInterface/Base/Main.js:
6676 (WI.handlePossibleLinkClick):
6677 (WI.openURL):
6678 (WI.showSourceCodeLocation):
6679 (WI.showOriginalUnformattedSourceCodeLocation):
6680 (WI.showOriginalOrFormattedSourceCodeLocation):
6681 (WI.showOriginalOrFormattedSourceCodeTextRange):
6682 (WI.linkifyLocation):
6683 * UserInterface/Views/DOMTreeElement.js:
6684 (WI.DOMTreeElement.prototype._insertAdjacentHTML):
6685 * UserInterface/Views/WebSocketContentView.js:
6686 (WI.WebSocketContentView.prototype._addRow):
6687
mattbaker@apple.com73348012018-01-27 00:49:10 +000066882018-01-26 Matt Baker <mattbaker@apple.com>
6689
mattbaker@apple.com0ead9da2018-01-27 01:36:36 +00006690 Web Inspector: Timelines content browser NavigationBar is squashed at narrow heights
6691 https://bugs.webkit.org/show_bug.cgi?id=182196
6692 <rdar://problem/36929899>
6693
6694 Reviewed by Joseph Pecoraro.
6695
6696 * UserInterface/Views/NavigationBar.css:
6697 (.navigation-bar):
6698
66992018-01-26 Matt Baker <mattbaker@apple.com>
6700
mattbaker@apple.com73348012018-01-27 00:49:10 +00006701 Web Inspector: TabBar redesign: improvements to tab layout and resize behavior
6702 https://bugs.webkit.org/show_bug.cgi?id=181468
6703 <rdar://problem/36395439>
6704
6705 Reviewed by Devin Rousso.
6706
6707 * Localizations/en.lproj/localizedStrings.js:
6708
6709 * UserInterface/Images/TabPicker.svg: Added.
6710 New ">>" icon for the tab picker button.
6711
6712 * UserInterface/Views/CanvasTabContentView.js:
6713 (WI.CanvasTabContentView):
6714 * UserInterface/Views/ConsoleTabContentView.js:
6715 (WI.ConsoleTabContentView):
6716 * UserInterface/Views/DebuggerTabContentView.js:
6717 (WI.DebuggerTabContentView):
6718 * UserInterface/Views/ElementsTabContentView.js:
6719 (WI.ElementsTabContentView):
6720
6721 * UserInterface/Views/GeneralTabBarItem.js:
6722 (WI.GeneralTabBarItem):
6723 (WI.GeneralTabBarItem.fromTabContentViewConstructor):
6724 (WI.GeneralTabBarItem.prototype.get title):
6725 Add missing override for getter/setter pair.
6726 (WI.GeneralTabBarItem.prototype.set title):
6727 (WI.GeneralTabBarItem.prototype._handleContextMenuEvent):
6728 Show the close button on ephemeral tabs only (Search, New Tab).
6729 Replace unused `representedObject` parameter with `isEphemeral`, which
6730 determines whether to show a close button for the tab.
6731
6732 * UserInterface/Views/LayersTabContentView.js:
6733 (WI.LayersTabContentView):
6734
6735 * UserInterface/Views/NavigationBar.js:
6736 Remove unused symbol.
6737
6738 * UserInterface/Views/NetworkTabContentView.js:
6739 (WI.NetworkTabContentView):
6740 * UserInterface/Views/NewTabContentView.js:
6741 (WI.NewTabContentView):
6742
6743 * UserInterface/Views/PinnedTabBarItem.js:
6744 (WI.PinnedTabBarItem):
6745 Remove unused parameter.
6746
6747 * UserInterface/Views/ResourcesTabContentView.js:
6748 (WI.ResourcesTabContentView):
6749 * UserInterface/Views/SearchTabContentView.js:
6750 (WI.SearchTabContentView):
6751 * UserInterface/Views/StorageTabContentView.js:
6752 (WI.StorageTabContentView):
6753
6754 * UserInterface/Views/TabBar.css:
6755 (.tab-bar > .item):
6756 (.tab-bar.calculate-width > .item):
6757 (.tab-bar > .item.pinned.tab-picker):
6758 (.tab-bar > .item > .close):
6759 (.tab-bar > .item > .title):
6760 (.tab-bar:not(.collapsed) > .item > .title):
6761 (.tab-bar.collapsed > .item:not(.pinned) > .icon):
6762 (.tab-bar > .item:hover > .close):
6763 (.tab-bar.collapsed > .item:hover > .close):
6764 (.tab-bar:not(.collapsed) > .item.ephemeral:hover > .icon):
6765 (.tab-bar.collapsed > .item.ephemeral:hover > .title):
6766 (body[dir=ltr] .tab-bar > .item > .close): Deleted.
6767 (body[dir=rtl] .tab-bar > .item > .close): Deleted.
6768 (.tab-bar > .item > .flex-space): Deleted.
6769 (.tab-bar > .item:not(.pinned) > .flex-space:last-child): Deleted.
6770 (body[dir=ltr] .tab-bar > .item:not(.pinned) > .flex-space:last-child): Deleted.
6771 (body[dir=rtl] .tab-bar > .item:not(.pinned) > .flex-space:last-child): Deleted.
6772 (body[dir=ltr] .tab-bar > .item > .title): Deleted.
6773 (body[dir=rtl] .tab-bar > .item > .title): Deleted.
6774 (.tab-bar.collapsed > .item): Deleted.
6775 (.tab-bar.collapsed > .item > .flex-space): Deleted.
6776 (.tab-bar.collapsed > .item > .close): Deleted.
6777 (body[dir=ltr] .tab-bar.collapsed > .item > .close): Deleted.
6778 (body[dir=rtl] .tab-bar.collapsed > .item > .close): Deleted.
6779 (.tab-bar.hide-titles > .item > .title): Deleted.
6780 (.tab-bar.collapsed:not(.hide-titles) > .item:not(.pinned):hover > .icon,): Deleted.
6781 (.tab-bar.collapsed:not(.hide-titles) > .item:hover > .close,): Deleted.
6782 Clean up tab styles and prevent tabs from shrinking during flex layout.
6783 Added new `calculate-width` class, to disable flex layout when measuring
6784 the minimum width of the TabBar required to fit all tab items.
6785
6786 * UserInterface/Views/TabBar.js:
6787 (WI.TabBar):
6788 (WI.TabBar.prototype.set selectedTabBarItem):
6789 (WI.TabBar.prototype.layout.forceItemHidden):
6790 (WI.TabBar.prototype.layout):
6791 Perform two layout passes, similar to NavigationBar. The first pass disables
6792 flex layout and measures tab items at full size. If the bar isn't wide enough
6793 to show all the tabs, hide their icons and measure again. If there still isn't
6794 room, hide tabs starting from the end of the bar and display the tab picker.
6795
6796 (WI.TabBar.prototype._handleMouseDown):
6797 (WI.TabBar.prototype._handleTabPickerTabContextMenu):
6798
6799 * UserInterface/Views/TabBarItem.js:
6800 (WI.TabBarItem):
6801
6802 * UserInterface/Views/TimelineTabContentView.js:
6803 (WI.TimelineTabContentView):
6804
commit-queue@webkit.orge4720eb2018-01-26 04:58:33 +000068052018-01-25 Joseph Pecoraro <pecoraro@apple.com>
6806
commit-queue@webkit.orgf8bef1a2018-01-26 05:30:29 +00006807 Web Inspector: Network Table: Sort indicator is not displayed when sorted column is hidden and re-shown
6808 https://bugs.webkit.org/show_bug.cgi?id=182164
6809 <rdar://problem/36892619>
6810
6811 Reviewed by Brian Burg.
6812
6813 * UserInterface/Views/Table.js:
6814 (WI.Table.prototype.showColumn):
6815 Re-add the sort classes if the column being shown is the active sort column.
6816
68172018-01-25 Joseph Pecoraro <pecoraro@apple.com>
6818
commit-queue@webkit.orgec61d272018-01-26 05:22:24 +00006819 Web Inspector: Network - Cookies view should behave better at narrow widths, all data is hidden
6820 https://bugs.webkit.org/show_bug.cgi?id=182163
6821 <rdar://problem/36893241>
6822
6823 Reviewed by Brian Burg.
6824
6825 * UserInterface/Views/ResourceCookiesContentView.css:
6826 (.resource-cookies .table):
6827 Give these tables a reasonable minimum size so that if the inspector
6828 is narrow, the content view can still be scrolled to see all of
6829 the table data.
6830
6831 * UserInterface/Views/Table.css:
6832 (.table > .header):
6833 Match the data-container and mark overflow as hidden, otherwise
6834 super narrow widths show header content beyond the edge.
6835
68362018-01-25 Joseph Pecoraro <pecoraro@apple.com>
6837
commit-queue@webkit.orge4720eb2018-01-26 04:58:33 +00006838 Web Inspector: "Displayed Columns" should not be displayed in context menu if all columns are required columns
6839 https://bugs.webkit.org/show_bug.cgi?id=182162
6840 <rdar://problem/36893758>
6841
6842 Reviewed by Matt Baker.
6843
6844 * UserInterface/Views/Table.js:
6845 (WI.Table.prototype._handleHeaderContextMenu):
6846 Only add the header column when we know there are hideable columns.
6847
commit-queue@webkit.orga9791512018-01-25 00:22:29 +000068482018-01-24 Joseph Pecoraro <pecoraro@apple.com>
6849
6850 Web Inspector: Simplify update-LegacyInspectorBackendCommands.rb
6851 https://bugs.webkit.org/show_bug.cgi?id=182067
6852
6853 Reviewed by Brian Burg.
6854
6855 * Scripts/update-LegacyInspectorBackendCommands.rb:
6856 Remove stale dependency_json, it has always been empty for a while now.
6857 Switch to framework WebInspectorUI to generate only the backend commands
6858 and not spend time generating a bunch of cpp files.
6859
nvasilyev@apple.comeca9aec2018-01-25 00:15:39 +000068602018-01-24 Nikita Vasilyev <nvasilyev@apple.com>
6861
6862 REGRESSION (r226994): Web Inspector: Styles: Suggestions popover floats in top-left corner of Web Inspector after tabbing
6863 https://bugs.webkit.org/show_bug.cgi?id=182027
6864
6865 Reviewed by Matt Baker.
6866
6867 r226994 added a layout of all properties on property removal. Layout caused
6868 a property element to be removed from DOM right before dislaying the suggestion
6869 popover, resulting in the popover being displayed at the top left corner.
6870
6871 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
6872 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.layout):
6873 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyRemoved):
6874 Only update property view indices when a property is removed.
6875
6876 * UserInterface/Views/SpreadsheetStyleProperty.js:
6877 (WI.SpreadsheetStyleProperty):
6878 (WI.SpreadsheetStyleProperty.prototype.set index):
6879
6880 * UserInterface/Views/SpreadsheetTextField.js:
6881 (WI.SpreadsheetTextField.prototype._updateCompletions):
6882 Checking this._element.parentNode to see if the element is attached to the DOM tree is unreliable,
6883 since the element may have a non-null parent node that is detached from the DOM tree. To fix that,
6884 we could traverse element's ancestors, but I used a concise isConnected property instead.
6885
commit-queue@webkit.org5e6bd7d2018-01-24 22:26:17 +000068862018-01-24 Joseph Pecoraro <pecoraro@apple.com>
6887
6888 ReferenceError:​ Can't find variable:​ DOMAgent (at ScriptSyntaxTree.js:​178:​22)​
6889 https://bugs.webkit.org/show_bug.cgi?id=182059
6890
6891 Reviewed by Matt Baker.
6892
6893 * UserInterface/Models/ScriptSyntaxTree.js:
6894 (WI.ScriptSyntaxTree.functionReturnDivot):
6895 DOMAgent won't be available in a ServiceWorker or JSContext inspector. So add
6896 a check for DOMAgent, and assume if DOMAgent doesn't exist that we should fall
6897 back to the latest path (non-iOS 9) target.
6898
commit-queue@webkit.org45355c82018-01-24 00:46:39 +000068992018-01-23 Joseph Pecoraro <pecoraro@apple.com>
6900
6901 Web Inspector: Network's columns shake when scrolling at non-default zoom level
6902 https://bugs.webkit.org/show_bug.cgi?id=181998
6903 <rdar://problem/36449808>
6904
6905 Reviewed by Matt Baker.
6906
6907 * UserInterface/Views/Table.js:
6908 When zoomed the bounding client rect values were fractional, which was
6909 unexpected by this area of code. Floor the values to get a value we expect
6910 to be able to evenly distribute.
6911
nvasilyev@apple.comda0a57c2018-01-23 00:52:32 +000069122018-01-22 Nikita Vasilyev <nvasilyev@apple.com>
6913
6914 Web Inspector: Styles Redesign: data corruption when updating values quickly
6915 https://bugs.webkit.org/show_bug.cgi?id=179461
6916 <rdar://problem/35431882>
6917
6918 Reviewed by Joseph Pecoraro.
6919
6920 Data corruption used to happen because CSSStyleDeclaration.prototype.text didn't
6921 update synchronously. Making two or more quick changes resulted in corrupted data.
6922
6923 Imagine we modify a CSS value 3 times:
6924
6925 Front-end: (1)-(2)---(3)
6926 Back-end: (1)-----(2)-(3)
6927
6928 The first response from the backend could happen after the 2nd edit. In this patch,
6929 CSSStyleDeclaration is locked when its view is being edited.
6930
6931 To correctly display invalid and overridden properties, the backend is allowed to update
6932 CSSStyleDeclaration and CSSProperty when they're locked if the text from the backend
6933 matches the model's text. This should happen when the backend is caught up with the
6934 front-end changes.
6935
6936 * UserInterface/Models/CSSProperty.js:
6937 (WI.CSSProperty.prototype.update):
6938 * UserInterface/Models/CSSStyleDeclaration.js:
6939 (WI.CSSStyleDeclaration):
6940 (WI.CSSStyleDeclaration.prototype.get locked):
6941 (WI.CSSStyleDeclaration.prototype.set locked):
6942 (WI.CSSStyleDeclaration.prototype.set text):
6943
6944 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
6945 (WI.SpreadsheetCSSStyleDeclarationEditor):
6946 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.initialLayout):
6947 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.detached):
6948 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.get editing):
6949 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.set focused):
6950 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.set inlineSwatchActive):
6951 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.stylePropertyInlineSwatchActivated):
6952 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.stylePropertyInlineSwatchDeactivated):
6953 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._propertiesChanged):
6954 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._updateStyleLock):
6955 Lock CSSStyleDeclaration when a CSS property name or value is focused or
6956 an inline widget is active.
6957
6958 * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
6959 (WI.SpreadsheetCSSStyleDeclarationSection):
6960 (WI.SpreadsheetCSSStyleDeclarationSection.prototype._handleMouseDown):
6961 (WI.SpreadsheetCSSStyleDeclarationSection.prototype._handleClick):
6962 * UserInterface/Views/SpreadsheetStyleProperty.js:
6963 (WI.SpreadsheetStyleProperty):
6964 (WI.SpreadsheetStyleProperty.prototype._createInlineSwatch):
6965 When selector is focused, clicking on the white-space should not add a new blank property.
6966
ross.kirsling@sony.com56b55eb2018-01-19 23:18:44 +000069672018-01-19 Ross Kirsling <ross.kirsling@sony.com>
6968
6969 Web Inspector: Layers tab should do away with popovers (if possible)
6970 https://bugs.webkit.org/show_bug.cgi?id=181805
6971
6972 Reviewed by Matt Baker.
6973
6974 * Localizations/en.lproj/localizedStrings.js:
6975 Remove superfluous colon from a string.
6976
6977 * UserInterface/Main.html:
6978 * UserInterface/Views/LayerDetailsSidebarPanel.css:
6979 * UserInterface/Views/Layers3DContentView.css: Added.
6980 Remove popover styling from sidebar, add new file with similar styling for canvas overlay.
6981
6982 * UserInterface/Views/LayerDetailsSidebarPanel.js:
6983 (WI.LayerDetailsSidebarPanel):
6984 (WI.LayerDetailsSidebarPanel.prototype.selectNodeByLayerId):
6985 (WI.LayerDetailsSidebarPanel.prototype._dataGridSelectedNodeChanged):
6986 (WI.LayerDetailsSidebarPanel.prototype._updateLayers):
6987 (WI.LayerDetailsSidebarPanel.prototype._updateBottomBar):
6988 (WI.LayerDetailsSidebarPanel.prototype.willDismissPopover): Deleted.
6989 (WI.LayerDetailsSidebarPanel.prototype._showPopoverForSelectedNode): Deleted.
6990 (WI.LayerDetailsSidebarPanel.prototype._presentPopover): Deleted.
6991 (WI.LayerDetailsSidebarPanel.prototype._contentForPopover): Deleted.
6992 (WI.LayerDetailsSidebarPanel.prototype._populateListOfCompositingReasons.addReason): Deleted.
6993 (WI.LayerDetailsSidebarPanel.prototype._populateListOfCompositingReasons): Deleted.
6994 * UserInterface/Views/Layers3DContentView.js:
6995 (WI.Layers3DContentView):
6996 (WI.Layers3DContentView.prototype.shown):
6997 (WI.Layers3DContentView.prototype.selectLayerById):
6998 (WI.Layers3DContentView.prototype._canvasMouseDown):
6999 (WI.Layers3DContentView.prototype._buildLayerInfoElement):
7000 (WI.Layers3DContentView.prototype._updateLayerInfoElement):
7001 (WI.Layers3DContentView.prototype._updateReasonsList):
7002 Remove popover from sidebar table, overlay div with same data arrangement on top of the canvas.
7003 Also reverse the fix from r226671 since the visualization is no longer unusable without the sidebar!
7004
mattbaker@apple.com94f98b92018-01-19 23:01:11 +000070052018-01-19 Matt Baker <mattbaker@apple.com>
7006
7007 Web Inspector: Canvas Tab: Multiple "waiting for frames" messages displayed
7008 https://bugs.webkit.org/show_bug.cgi?id=181865
7009 <rdar://problem/36664737>
7010
7011 Reviewed by Devin Rousso.
7012
7013 * UserInterface/Views/CanvasContentView.js:
7014 (WI.CanvasContentView.prototype._recordingStarted):
7015 (WI.CanvasContentView.prototype._recordingStopped):
7016
nvasilyev@apple.com4f2ceb42018-01-19 20:13:20 +000070172018-01-19 Nikita Vasilyev <nvasilyev@apple.com>
7018
nvasilyev@apple.com98b5d642018-01-19 21:36:58 +00007019 Web Inspector: Styles Redesign: tabbing on commented out property throws exception
7020 https://bugs.webkit.org/show_bug.cgi?id=180676
7021 <rdar://problem/35981058>
7022
7023 Reviewed by Joseph Pecoraro.
7024
7025 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
7026 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.startEditingFirstProperty):
7027 Tabbing from the selector field should focus on the first editable property.
7028 When no editable properties are present, a new blank property should be added after the commented out ones.
7029
7030 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.startEditingLastProperty):
7031 Shift-tabbing from the selector field should focus on the last editable property of the previous CSS rule.
7032 When no editable properties are present, a new blank property should be added after the commented out ones.
7033
7034 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetCSSStyleDeclarationEditorFocusMoved):
7035 When navigating between properties skip the commented out ones.
7036
7037 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._editablePropertyAfter):
7038 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._editablePropertyBefore):
7039 * UserInterface/Views/SpreadsheetStyleProperty.js:
7040 (WI.SpreadsheetStyleProperty.prototype.get enabled):
7041 (WI.SpreadsheetStyleProperty.prototype._update):
7042
70432018-01-19 Nikita Vasilyev <nvasilyev@apple.com>
7044
nvasilyev@apple.com4f2ceb42018-01-19 20:13:20 +00007045 Web Inspector: Make styles sidebar always LTR
7046 https://bugs.webkit.org/show_bug.cgi?id=175357
7047 <rdar://problem/33787988>
7048
7049 Reviewed by Joseph Pecoraro.
7050
7051 * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:
7052 (WI.SpreadsheetRulesStyleDetailsPanel):
7053
keith_miller@apple.combd951472018-01-19 18:33:52 +000070542018-01-19 Keith Miller <keith_miller@apple.com>
7055
7056 HaveInternalSDK includes should be "#include?"
7057 https://bugs.webkit.org/show_bug.cgi?id=179670
7058
7059 Reviewed by Dan Bernstein.
7060
7061 * Configurations/Base.xcconfig:
7062
mitz@apple.come8cb0be2018-01-18 19:49:51 +000070632018-01-18 Dan Bernstein <mitz@apple.com>
7064
7065 [Xcode] Streamline and future-proof target-macOS-version-dependent build setting definitions
7066 https://bugs.webkit.org/show_bug.cgi?id=181803
7067
7068 Reviewed by Tim Horton.
7069
7070 * Configurations/Base.xcconfig: Updated.
7071 * Configurations/DebugRelease.xcconfig: Ditto.
7072 * Configurations/Version.xcconfig: Ditto.
7073
webkit@devinrousso.com37da84f2018-01-18 19:41:00 +000070742018-01-18 Devin Rousso <webkit@devinrousso.com>
7075
7076 Web Inspector: Canvas Tab: record button on canvas card doesn't always show on hover, or is misplaced
7077 https://bugs.webkit.org/show_bug.cgi?id=179183
7078
7079 Reviewed by Joseph Pecoraro.
7080
7081 * UserInterface/Views/CanvasOverviewContentView.css:
7082 (.content-view.canvas-overview .content-view.canvas:not(.is-recording) > header > .navigation-bar > .item.record-start-stop): Deleted.
7083
webkit@devinrousso.com035c5722018-01-18 05:03:26 +000070842018-01-17 Devin Rousso <webkit@devinrousso.com>
7085
7086 Web Inspector: clicking on a path component that has no siblings should select it
7087 https://bugs.webkit.org/show_bug.cgi?id=181772
7088
7089 Reviewed by Joseph Pecoraro.
7090
7091 * UserInterface/Views/HierarchicalPathComponent.js:
7092 (WI.HierarchicalPathComponent.prototype._updateSelectElement):
7093 (WI.HierarchicalPathComponent.prototype._selectElementMouseDown):
7094
commit-queue@webkit.org5c38b6c2018-01-17 18:41:56 +000070952018-01-17 Joseph Pecoraro <pecoraro@apple.com>
7096
commit-queue@webkit.orgb27a05e2018-01-17 20:25:02 +00007097 Web Inspector: Add back localized strings for Styles sidebar panels
7098 https://bugs.webkit.org/show_bug.cgi?id=181748
7099 <rdar://problem/36583184>
7100
7101 Reviewed by Brian Burg.
7102
7103 * Localizations/en.lproj/localizedStrings.js:
7104 * UserInterface/Views/ComputedStyleDetailsSidebarPanel.js:
7105 (WI.ComputedStyleDetailsSidebarPanel):
7106 * UserInterface/Views/RulesStyleDetailsSidebarPanel.js:
7107 (WI.RulesStyleDetailsSidebarPanel):
7108 * UserInterface/Views/VisualStyleDetailsSidebarPanel.js:
7109 (WI.VisualStyleDetailsSidebarPanel):
7110 Add back localized strings for panel titles lost in r225547.
7111
71122018-01-17 Joseph Pecoraro <pecoraro@apple.com>
7113
commit-queue@webkit.org5c38b6c2018-01-17 18:41:56 +00007114 Web Inspector: Super long URL string causes bad wrapping in Resources detail sidebar
7115 https://bugs.webkit.org/show_bug.cgi?id=181617
7116
7117 Reviewed by Brian Burg.
7118
7119 * UserInterface/Views/DetailsSection.css:
7120 (.details-section > .content > .group > .row.simple > .value):
7121 Set the break to all characters.
7122
mattbaker@apple.comf13364d2018-01-16 23:17:36 +000071232018-01-16 Matt Baker <mattbaker@apple.com>
7124
7125 Web Inspector: Canvas tab: typing a "space" in the QuickConsole shouldn't trigger a recording
7126 https://bugs.webkit.org/show_bug.cgi?id=181706
7127 <rdar://problem/36558221>
7128
7129 Reviewed by Joseph Pecoraro.
7130
7131 * UserInterface/Views/CanvasOverviewContentView.js:
7132 (WI.CanvasOverviewContentView):
7133 (WI.CanvasOverviewContentView.prototype._handleSpace):
7134
commit-queue@webkit.org4b0009c2018-01-16 22:26:26 +000071352018-01-16 Joseph Pecoraro <pecoraro@apple.com>
7136
7137 Web Inspector: Make Console's Execution Context picker stand out when it is non-default
7138 https://bugs.webkit.org/show_bug.cgi?id=181628
7139 <rdar://problem/36492044>
7140
7141 Reviewed by Matt Baker.
7142
7143 * UserInterface/Views/HierarchicalPathComponent.css:
7144 (.hierarchical-path-component > .selector-arrows):
7145 * UserInterface/Views/HierarchicalPathComponent.js:
7146 (WI.HierarchicalPathComponent.prototype.set selectorArrows):
7147 Switch to SVG element so we can style the arrows.
7148
7149 * UserInterface/Views/QuickConsole.css:
7150 (.quick-console > .navigation-bar > .hierarchical-path .execution-context):
7151 (.quick-console > .navigation-bar > .hierarchical-path .execution-context .separator):
7152 (.quick-console > .navigation-bar > .hierarchical-path.non-default-execution-context .execution-context):
7153 (.quick-console > .navigation-bar > .hierarchical-path.non-default-execution-context .execution-context .selector-arrows):
7154 Styles for the execution context picker. We hide the unused separator
7155 and instead use margin so that the selected background and border don't
7156 have an extra 7px on the right/end side.
7157
7158 * UserInterface/Views/QuickConsole.js:
7159 (WI.QuickConsole.prototype._activeExecutionContextChanged):
7160 Toggle the non-default class name on the path.
7161
nvasilyev@apple.com1a133f32018-01-16 20:23:12 +000071622018-01-16 Nikita Vasilyev <nvasilyev@apple.com>
7163
nvasilyev@apple.com00c66e32018-01-16 20:54:04 +00007164 Web Inspector: Styles: pressing down key should select first item from completion list when focusing on empty value
7165 https://bugs.webkit.org/show_bug.cgi?id=181633
7166 <rdar://problem/36501797>
7167
7168 Reviewed by Joseph Pecoraro.
7169
7170 * UserInterface/Views/SpreadsheetTextField.js:
7171 (WI.SpreadsheetTextField.prototype._updateCompletions):
7172
71732018-01-16 Nikita Vasilyev <nvasilyev@apple.com>
7174
nvasilyev@apple.com7afead02018-01-16 20:31:54 +00007175 Web Inspector: Styles Redesign: Long value causes bad wrapping
7176 https://bugs.webkit.org/show_bug.cgi?id=181618
7177 <rdar://problem/36485175>
7178
7179 Reviewed by Joseph Pecoraro.
7180
7181 Wrap long values only when editing.
7182
7183 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
7184 (.spreadsheet-style-declaration-editor .value.editing):
7185
71862018-01-16 Nikita Vasilyev <nvasilyev@apple.com>
7187
nvasilyev@apple.com1a133f32018-01-16 20:23:12 +00007188 Web Inspector: Styles Redesign: clicking on the white space after the property sometimes places a blank property at the wrong index
7189 https://bugs.webkit.org/show_bug.cgi?id=179585
7190 <rdar://problem/35490780>
7191
7192 Reviewed by Joseph Pecoraro.
7193
7194 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
7195 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyRemoved):
7196 Layout call is needed to update data-property-index attributes on the property views.
7197
commit-queue@webkit.orgad830a32018-01-16 20:20:35 +000071982018-01-16 Joseph Pecoraro <pecoraro@apple.com>
7199
7200 Web Inspector: Network Tab - Export HAR Context Menu not working
7201 https://bugs.webkit.org/show_bug.cgi?id=181694
7202 <rdar://problem/36479197>
7203
7204 Reviewed by Brian Burg.
7205
7206 * UserInterface/Views/NetworkTableContentView.js:
7207 (WI.NetworkTableContentView.prototype.tableCellContextMenuClicked):
7208 Ensure `this` works in the handler.
7209
mattbaker@apple.com34822982018-01-16 07:03:57 +000072102018-01-15 Matt Baker <mattbaker@apple.com>
7211
7212 Web Inspector: TabBar redesign: add context menu to TabBar for toggling available tabs
7213 https://bugs.webkit.org/show_bug.cgi?id=181448
7214 <rdar://problem/36383298>
7215
7216 Reviewed by Devin Rousso.
7217
7218 * UserInterface/Base/Main.js:
7219 (WI.loaded):
7220 (WI.contentLoaded):
7221 Reorder production tab classes and default (open) tabs.
7222 (WI.registerTabClass): Removed.
7223 Not used.
7224
7225 * UserInterface/Base/Object.js:
7226 Remove notification that is no longer used.
7227
7228 * UserInterface/Views/GeneralTabBarItem.js:
7229 (WI.GeneralTabBarItem):
7230 (WI.GeneralTabBarItem.prototype.set title):
7231 (WI.GeneralTabBarItem.prototype._handleContextMenuEvent): Deleted.
7232 Remove per-tab context menu (provided Close Tab and Close Other Tabs).
7233
7234 * UserInterface/Views/NewTabContentView.js:
7235 (WI.NewTabContentView):
7236
7237 * UserInterface/Views/TabBar.js:
7238 (WI.TabBar):
7239 (WI.TabBar.prototype._handleContextMenu):
7240
7241 * UserInterface/Views/TabBrowser.js:
7242 (WI.TabBrowser):
7243 (WI.TabBrowser._handleNewTabContextMenu): Deleted.
7244 No longer needed.
7245
nvasilyev@apple.com460e7352018-01-14 04:06:15 +000072462018-01-13 Nikita Vasilyev <nvasilyev@apple.com>
7247
7248 Web Inspector: Styles Redesign: properties should never be semitransparent or crossed out while editing
7249 https://bugs.webkit.org/show_bug.cgi?id=180793
7250 <rdar://problem/36038813>
7251
7252 Reviewed by Devin Rousso.
7253
7254 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
7255 (.spreadsheet-style-declaration-editor .value.editing):
7256 (.spreadsheet-style-declaration-editor .property:matches(.invalid-name, .other-vendor, .overridden):not(.disabled) .content > *):
7257 (.spreadsheet-style-declaration-editor .property.invalid-name:not(.disabled) .content > *):
7258 (.spreadsheet-style-declaration-editor .property.invalid-value:not(.disabled) .content .value):
7259 (.spreadsheet-style-declaration-editor .property.not-inherited .content > *):
7260 * UserInterface/Views/SpreadsheetStyleProperty.js:
7261 (WI.SpreadsheetStyleProperty.prototype._update):
7262
commit-queue@webkit.org53962592018-01-12 21:03:22 +000072632018-01-12 Joseph Pecoraro <pecoraro@apple.com>
7264
commit-queue@webkit.org0b67c282018-01-12 21:47:07 +00007265 Web Inspector: Drop support for iOS 7 targets
7266 https://bugs.webkit.org/show_bug.cgi?id=181549
7267 <rdar://problem/36444813>
7268
7269 Reviewed by Brian Burg.
7270
7271 * Versions/Inspector-iOS-7.0.json: Removed.
7272 * UserInterface/Protocol/Legacy/7.0/InspectorBackendCommands.js: Removed.
7273 Remove protocol snapshot and generated commands for iOS 7.
7274
7275 * UserInterface/Base/Main.js:
7276 * UserInterface/Controllers/BreakpointPopoverController.js:
7277 (WI.BreakpointPopoverController.prototype._createPopoverContent):
7278 * UserInterface/Controllers/DebuggerManager.js:
7279 (WI.DebuggerManager.prototype._setBreakpoint):
7280 * UserInterface/Controllers/SourceMapManager.js:
7281 (WI.SourceMapManager.prototype._loadAndParseSourceMap):
7282 * UserInterface/Models/Instrument.js:
7283 (WI.Instrument.startLegacyTimelineAgent):
7284 * UserInterface/Models/ResourceTimingData.js:
7285 * UserInterface/Models/ScriptTimelineRecord.js:
7286 (WI.ScriptTimelineRecord.EventType.displayName):
7287 * UserInterface/Models/SourceMapResource.js:
7288 (WI.SourceMapResource.prototype.requestContentFromBackend):
7289 * UserInterface/Protocol/CSSObserver.js:
7290 (WI.CSSObserver.prototype.regionLayoutUpdated): Deleted.
7291 * UserInterface/Protocol/RemoteObject.js:
7292 (WI.RemoteObject.fromPayload):
7293 Remove code that was only necessary to support iOS 7.
7294
72952018-01-12 Joseph Pecoraro <pecoraro@apple.com>
7296
commit-queue@webkit.org53962592018-01-12 21:03:22 +00007297 Web Inspector: Support JSX (React) syntax highlighting
7298 https://bugs.webkit.org/show_bug.cgi?id=181607
7299 <rdar://problem/36442564>
7300
7301 Reviewed by Brian Burg.
7302
7303 * UserInterface/Base/MIMETypeUtilities.js:
7304 (WI.mimeTypeForFileExtension):
7305 (WI.fileExtensionForMIMEType):
7306 * UserInterface/Models/Resource.js:
7307 Support the jsx extension and mime types.
7308
7309 * UserInterface/Main.html:
7310 * Scripts/update-codemirror-resources.rb:
7311 * UserInterface/External/CodeMirror/jsx.js: Added.
7312 Include new mode from CodeMirror@d8926768.
7313
commit-queue@webkit.orgecdf31a2018-01-11 08:19:08 +000073142018-01-11 Joseph Pecoraro <pecoraro@apple.com>
7315
commit-queue@webkit.orgc47e70e2018-01-12 00:30:45 +00007316 Web Inspector: Rename "Query String" section as "Query String Parameters" for clarity
7317 https://bugs.webkit.org/show_bug.cgi?id=181464
7318
7319 Reviewed by Darin Adler.
7320
7321 * Localizations/en.lproj/localizedStrings.js:
7322 * UserInterface/Views/ResourceHeadersContentView.js:
7323 (WI.ResourceHeadersContentView.prototype.initialLayout):
7324
73252018-01-11 Joseph Pecoraro <pecoraro@apple.com>
7326
commit-queue@webkit.orgecdf31a2018-01-11 08:19:08 +00007327 Web Inspector: Remove unused variable in WI.DebuggerSidebarPanel
7328 https://bugs.webkit.org/show_bug.cgi?id=181517
7329
7330 Reviewed by Matt Baker.
7331
7332 * UserInterface/Views/DebuggerSidebarPanel.js:
7333
commit-queue@webkit.orgd0acc272018-01-11 07:05:12 +000073342018-01-10 Joseph Pecoraro <pecoraro@apple.com>
7335
commit-queue@webkit.org2f64c112018-01-11 07:07:52 +00007336 REGRESSION(r218975): Web Inspector: Add back NavigationSidebarPanel initialization parameter used by SearchSidebarPanel (top overflow shadow)
7337 https://bugs.webkit.org/show_bug.cgi?id=181518
7338 <rdar://problem/36427197>
7339
7340 Reviewed by Matt Baker.
7341
7342 * UserInterface/Views/NavigationSidebarPanel.css:
7343 (.sidebar > .panel.navigation > .overflow-shadow.top):
7344 * UserInterface/Views/NavigationSidebarPanel.js:
7345 (WI.NavigationSidebarPanel):
7346 Add back the initialization parameter still used by SearchSidebarPanel
7347 and add back its implementation. There were still references to
7348 dynamically update _topOverflowShadowElement in NavigationSidebarPanel.
7349
73502018-01-10 Joseph Pecoraro <pecoraro@apple.com>
7351
commit-queue@webkit.orgd0acc272018-01-11 07:05:12 +00007352 Web Inspector: Incorrect check with WI.debuggableType
7353 https://bugs.webkit.org/show_bug.cgi?id=181515
7354 <rdar://problem/36425509>
7355
7356 Reviewed by Brian Burg.
7357
7358 * UserInterface/Base/Main.js:
7359 (WI.contentLoaded):
7360 This moved to WI.sharedApp a while ago.
7361
mattbaker@apple.comef5b4372018-01-11 03:36:29 +000073622018-01-10 Matt Baker <mattbaker@apple.com>
7363
7364 Web Inspector: Canvas tab: throttle recording slider updates
7365 https://bugs.webkit.org/show_bug.cgi?id=180839
7366 <rdar://problem/36057849>
7367
7368 Reviewed by Joseph Pecoraro
7369
7370 * UserInterface/Base/Utilities.js:
7371 Add Object.throttle and Function.cancelThrottle. Repeated calls to a
7372 function on a throttled object are delayed, so that the function isn't
7373 invoked more frequently than the specified delay value.
7374
7375 For a description of throttling behavior see:
7376 - http://www.chrislondon.co/throttling-vs-debouncing
7377 - http://benalman.com/projects/jquery-throttle-debounce-plugin
7378
7379 * UserInterface/Views/RecordingContentView.js:
7380 (WI.RecordingContentView.prototype.updateActionIndex):
7381 Throttle frequency of canvas snapshot creation to 200ms.
7382 (WI.RecordingContentView.prototype.hidden):
7383 Prevent trailing edge call after hiding the view.
7384
commit-queue@webkit.org97cca382018-01-10 20:19:20 +000073852018-01-10 Joseph Pecoraro <pecoraro@apple.com>
7386
7387 Web Inspector: Should not try to autocomplete subsections of a string
7388 https://bugs.webkit.org/show_bug.cgi?id=181461
7389 <rdar://problem/36369421>
7390
7391 Reviewed by Brian Burg.
7392
7393 * UserInterface/Controllers/CodeMirrorCompletionController.js:
7394 (WI.CodeMirrorCompletionController.prototype._completeAtCurrentPosition):
7395 Disable autocompletion within strings.
7396
commit-queue@webkit.org2b3c6662018-01-10 03:17:27 +000073972018-01-09 Joseph Pecoraro <pecoraro@apple.com>
7398
7399 REGRESSION(r201855): Web Inspector: Should see "length" autocompletion suggestion on a string literal
7400 https://bugs.webkit.org/show_bug.cgi?id=181462
7401 <rdar://problem/36390699>
7402
7403 Reviewed by Matt Baker.
7404
7405 * UserInterface/Controllers/JavaScriptRuntimeCompletionProvider.js:
7406 (WI.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded.inspectedPage_evalResult_getCompletions):
7407 This is code that runs on the inspected target, which may have an old version of
7408 WebKit/JavaScriptCore, so don't use new syntax like this.
7409
7410 (WI.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded):
7411 We intended to return the result by as a JSON value instead of a RemoteObject.
7412
ross.kirsling@sony.comc9167ef2018-01-10 02:43:36 +000074132018-01-09 Ross Kirsling <ross.kirsling@sony.com>
7414
7415 Web Inspector: Layers sidebar shows popover on selection even when collapsed
7416 https://bugs.webkit.org/show_bug.cgi?id=181465
7417
7418 Reviewed by Matt Baker.
7419
7420 * UserInterface/Views/LayerDetailsSidebarPanel.js:
7421 (WI.LayerDetailsSidebarPanel.prototype.selectNodeByLayerId):
7422 Have sidebar show itself if necessary before displaying popover.
7423
commit-queue@webkit.orgba467f22018-01-08 17:42:17 +000074242018-01-08 Joseph Pecoraro <pecoraro@apple.com>
7425
7426 Web Inspector: Find next / previous within a resource content view does not have bouncy highlight when editor scrolls
7427 https://bugs.webkit.org/show_bug.cgi?id=181279
7428 <rdar://problem/36291097>
7429
7430 Reviewed by Brian Burg.
7431
7432 * UserInterface/Views/TextEditor.js:
7433 (WI.TextEditor.prototype._revealSearchResult):
7434 Reposition the bouncy highlight on scroll based on the CodeMirror
7435 line/ch position of the search result.
7436
7437 (WI.TextEditor.prototype._removeBouncyHighlightElementIfNeeded):
7438 Track the bouncy highlight scroll handler in a member variable so that
7439 we always remember to remove it and don't leak scroll handlers.
7440
ddkilzer@apple.com925e86e2018-01-08 06:00:43 +000074412018-01-07 David Kilzer <ddkilzer@apple.com>
7442
7443 Enable -Wcast-qual for WebInspectorUI, WebKitLegacy, WebKit projects
7444 <https://webkit.org/b/181256>
7445 <rdar://problem/36281730>
7446
7447 Reviewed by Darin Adler.
7448
7449 * Configurations/Base.xcconfig:
7450 (WARNING_CFLAGS): Add -Wcast-qual.
7451
commit-queue@webkit.org8f8a4b92018-01-06 01:29:12 +000074522018-01-05 Joseph Pecoraro <pecoraro@apple.com>
7453
7454 Web Inspector: Add another Protocol Version
7455 https://bugs.webkit.org/show_bug.cgi?id=181354
7456 <rdar://problem/35432817>
7457
7458 Reviewed by Matt Baker.
7459
7460 * UserInterface/Protocol/Legacy/11.3/InspectorBackendCommands.js: Added.
7461 * Versions/Inspector-iOS-11.3.json: Added.
7462
webkit@devinrousso.com9cefadd2018-01-05 06:40:30 +000074632018-01-04 Devin Rousso <webkit@devinrousso.com>
7464
7465 Web Inspector: replace HTMLCanvasElement with CanvasRenderingContext for instrumentation logic
7466 https://bugs.webkit.org/show_bug.cgi?id=180770
7467
7468 Reviewed by Joseph Pecoraro.
7469
7470 * UserInterface/Models/Canvas.js:
7471 (WI.Canvas.fromPayload):
7472 (WI.Canvas.prototype.get contextType):
7473 (WI.Canvas.prototype.saveIdentityToCookie):
7474 (WI.Canvas.prototype.get frame): Deleted.
7475
commit-queue@webkit.orgb8865be2018-01-05 04:34:07 +000074762018-01-04 Joseph Pecoraro <pecoraro@apple.com>
7477
7478 REGRESSION (r225709): Web Inspector: CSS Source maps not loading
7479 https://bugs.webkit.org/show_bug.cgi?id=181314
7480 <rdar://problem/36177620>
7481
7482 Reviewed by Brian Burg.
7483
7484 * UserInterface/Controllers/SourceMapManager.js:
7485 (WI.SourceMapManager.prototype._loadAndParseSourceMap):
7486 * UserInterface/Models/SourceMapResource.js:
7487 (WI.SourceMapResource.prototype.requestContentFromBackend):
7488 Correct this so that we only fall back to a reasonable frame id
7489 if we couldn't determine a frame id from earlier. Previously this
7490 was incorrectly clearing the frame id if we had gotten it earlier.
7491
7492 * UserInterface/Test.html:
7493 * UserInterface/Test/Test.js:
7494 (WI.loaded):
7495 Add SourceMap related files for tests.
7496
bburg@apple.com948fbb62018-01-04 21:29:13 +000074972018-01-04 Brian Burg <bburg@apple.com>
7498
bburg@apple.comd4373572018-01-05 00:00:25 +00007499 Web Inspector: Capture Element Screenshot looks fuzzy
7500 https://bugs.webkit.org/show_bug.cgi?id=175734
7501 <rdar://problem/33803377>
7502
7503 Reviewed by Joseph Pecoraro and Simon Fraser.
7504
7505 Spruce up these functions a bit. They now optionally return a promise
7506 if no callback is supplied. They now can take either a WI.DOMNode or a node id.
7507
7508 * UserInterface/Controllers/DOMTreeManager.js:
7509 (WI.DOMTreeManager.prototype.querySelector):
7510 (WI.DOMTreeManager.prototype.querySelectorAll):
7511
75122018-01-04 Brian Burg <bburg@apple.com>
7513
bburg@apple.com948fbb62018-01-04 21:29:13 +00007514 Web Inspector: add RemoteObject.fetchProperties and some basic tests for RemoteObject API
7515 https://bugs.webkit.org/show_bug.cgi?id=180945
7516
7517 Reviewed by Joseph Pecoraro.
7518
7519 Add a new method, fetchProperties, which async fetches an arbitrary list of properties
7520 from a RemoteObject. This is intended for writing tests and other quick evaluations,
7521 so it has some behaviors that are suitable in these situations:
7522 - If the evaluation throws an exception, the result will reject with that exception.
7523 - If there is a protocol error for some reason, the result will reject with an exception.
7524 - Non-string and non-number keys cause an exception, as this is probably not intended.
7525 - Does not accept a callback, returns a promise only. New code should use async.
7526
7527 For full fidelity introspection of property descriptors, clients should use the existing
7528 getOwnPropertyDescriptor[s] class of methods.
7529
7530 * UserInterface/Protocol/RemoteObject.js:
7531 (WI.RemoteObject.prototype.async.fetchProperties): Added.
7532 - Validate specified keys and remove duplicates.
7533 - Request properties one-by-one to avoid fetching all descriptors and dealing with previews.
7534 - Unwrap returned primitive values to avoid unnecessary munging in tests.
7535
7536 (WI.RemoteObject.prototype.getProperty):
7537 - Rework this to return a promise if no callback was supplied.
7538 - Introduce stricter property type checking to avoid unintended mistakes.
7539
7540 (WI.RemoteObject.prototype.callFunction):
7541 - Rework this to return a promise if no callback was supplied.
7542 - Turn thrown exceptions and protocol errors into rejected promises.
7543
commit-queue@webkit.orgdde3a322018-01-04 20:56:43 +000075442018-01-04 Joseph Pecoraro <pecoraro@apple.com>
7545
7546 Web Inspector: ⌘G / ⇧⌘G text search does not working after closing find banner
7547 https://bugs.webkit.org/show_bug.cgi?id=181280
7548 <rdar://problem/36291175>
7549
7550 Reviewed by Matt Baker.
7551
7552 * UserInterface/Views/ContentBrowser.js:
7553 (WI.ContentBrowser.prototype._findBannerDidHide):
7554 When the find banner is hidden trigger a new ContentView method,
7555 searchHidden instead of the destructive searchCleared. This allows
7556 most content views (text editors, DOM tree, Network Headers view)
7557 to keep their populated search results.
7558
7559 * UserInterface/Views/ContentView.js:
7560 (WI.ContentView.prototype.searchHidden):
7561 * UserInterface/Views/LogContentView.js:
7562 (WI.LogContentView.prototype.searchHidden):
7563 By default searchHidden does nothing. The Console's LogContentView
7564 treats the find banner differently and clears its search results.
7565
7566 * UserInterface/Views/TextEditor.js:
7567 (WI.TextEditor.prototype.searchCleared):
7568 Modernize some code while working in this area.
7569
7570 * UserInterface/Views/Main.css:
7571 (.bouncy-highlight):
7572 Ensure black text on yellow background in the bouncy highlight. In the
7573 DOM Tree it could have been white if the find banner was closed.
7574
commit-queue@webkit.org026ee042018-01-04 07:18:18 +000075752018-01-03 Ting-Wei Lan <lantw44@gmail.com>
7576
7577 Replace hard-coded paths in shebangs with #!/usr/bin/env
7578 https://bugs.webkit.org/show_bug.cgi?id=181040
7579
7580 Reviewed by Alex Christensen.
7581
7582 * Scripts/combine-resources.pl:
7583 * Scripts/copy-user-interface-resources-dryrun.rb:
7584 * Scripts/copy-user-interface-resources.pl:
7585 * Scripts/fix-worker-imports-for-optimized-builds.pl:
7586 * Scripts/remove-console-asserts-dryrun.rb:
7587 * Scripts/remove-console-asserts.pl:
7588 * Scripts/update-LegacyInspectorBackendCommands.rb:
7589 * Scripts/update-codemirror-resources.rb:
7590 * WebInspectorUI.vcxproj/build-webinspectorui.pl:
7591
commit-queue@webkit.orgc45f9572018-01-03 22:46:33 +000075922018-01-03 Joseph Pecoraro <pecoraro@apple.com>
7593
commit-queue@webkit.orgf95124f2018-01-04 05:58:24 +00007594 Web Inspector: "Log Value" context menu is sometimes unavailable
7595 https://bugs.webkit.org/show_bug.cgi?id=181278
7596 <rdar://problem/36281649>
7597
7598 Reviewed by Devin Rousso.
7599
7600 * UserInterface/Views/ObjectPreviewView.css:
7601 (.object-preview > .title):
7602 * UserInterface/Views/ObjectTreeView.css:
7603 (.object-tree.expanded > .title):
7604 Make the expanded object title information 16px tall to match ObjectTree
7605 tree element row heights. This eliminates the floating console message
7606 location from overlapping the first ObjectTree's TreeElement and causing
7607 truncation and other behavior issues (like Context Menu identification).
7608
76092018-01-03 Joseph Pecoraro <pecoraro@apple.com>
7610
commit-queue@webkit.orgf0c1ef42018-01-04 05:57:23 +00007611 Web Inspector: RTL - DOM Tree Element selection doesn't work
7612 https://bugs.webkit.org/show_bug.cgi?id=181275
7613 <rdar://problem/36290450>
7614
7615 Reviewed by Devin Rousso.
7616
7617 * UserInterface/Views/TreeOutline.js:
7618 (WI.TreeOutline.prototype.treeElementFromEvent):
7619 Provide a better explanation for why we are making the `x` adjustment here,
7620 to detect the inner most tree element along the horizontal. Fix the algorithm
7621 for RTL, since the intent is to adjust to the trailing edge of the container
7622 which is on the opposite side in RTL.
7623
76242018-01-03 Joseph Pecoraro <pecoraro@apple.com>
7625
commit-queue@webkit.org273c4b32018-01-04 00:46:52 +00007626 Web Inspector: Find banner sometimes does not work (when already populated and shown for first time on resource)
7627 https://bugs.webkit.org/show_bug.cgi?id=181255
7628 <rdar://problem/36248855>
7629
7630 Reviewed by Matt Baker.
7631
7632 * UserInterface/Views/TextEditor.js:
7633 (WI.TextEditor.prototype.set string):
7634 Defer any early searches until the initial content of a TextEditor has been set.
7635 Such searches can happen when the FindBanner already has content when a
7636 ContentView is first opened and needs to load its content from the backend.
7637 Further, even though the content may be loaded from the backend before the
7638 search results, microtask hops might cause the content to get to the TextEditor
7639 after the search results.
7640
76412018-01-03 Joseph Pecoraro <pecoraro@apple.com>
7642
commit-queue@webkit.orgc45f9572018-01-03 22:46:33 +00007643 REGRESSION: Web Inspector: Debugger tab doesn't restore selected resource on reload
7644 https://bugs.webkit.org/show_bug.cgi?id=181253
7645 <rdar://problem/36280564>
7646
7647 Reviewed by Matt Baker.
7648
7649 * UserInterface/Views/DebuggerSidebarPanel.js:
7650 (WI.DebuggerSidebarPanel.prototype.restoreStateFromCookie):
7651 Add braces to ensure the trailing else is actually trailing the outer
7652 chain as it was intended to be.
7653
commit-queue@webkit.orgd76347e2018-01-03 02:52:04 +000076542018-01-02 Joseph Pecoraro <pecoraro@apple.com>
7655
7656 Web Inspector: Clicking source location link in Console unexpectedly jumps to Network tab
7657 https://bugs.webkit.org/show_bug.cgi?id=181229
7658 <rdar://problem/36075219>
7659
7660 Reviewed by Matt Baker.
7661
7662 * UserInterface/Base/Main.js:
7663 Cleanup linkifyURLAsNode. Ignore Search tab in generic handlePossibleLinkClick
7664 when not already in the Search tab.
7665
7666 * UserInterface/Views/CallFrameView.js:
7667 (WI.CallFrameView):
7668 Ignore Search and Network tab in CallFrame links.
7669
7670 * UserInterface/Views/TabBrowser.js:
7671 (WI.TabBrowser.prototype.bestTabContentViewForRepresentedObject):
7672 Improve style.
7673
mcatanzaro@igalia.com3fcf3c32018-01-02 04:27:34 +00007674== Rolled over to ChangeLog-2018-01-01 ==