blob: a18751a2589388b9ae04fe3082e2893bcf9f7dbf [file] [log] [blame]
mattbaker@apple.com553c3e82018-07-18 18:40:14 +000012018-07-18 Matt Baker <mattbaker@apple.com>
2
3 Web Inspector: REGRESSION(r232591): CodeMirrorEditor should not use a RegExp lineSeparator option
4 https://bugs.webkit.org/show_bug.cgi?id=187772
5 <rdar://problem/42331640>
6
7 Reviewed by Joseph Pecoraro.
8
9 * UserInterface/Views/CodeMirrorEditor.js:
10 (WI.CodeMirrorEditor.create):
11 (WI.CodeMirrorEditor):
12 CodeMirror should be left to auto-detect line separators. By default
13 it detects \n, \r\n, and \r. By specifying a regular expression we
14 merely cause problems when CodeMirror uses the supplied lineSeparator
15 when joining its array of lines together.
16
17 * UserInterface/Views/TextEditor.js:
18 (WI.TextEditor.set string.update):
19 (WI.TextEditor.prototype.set string):
20 This assertion was only true when we forced "\n" line endings everywhere.
21 It no longer holds for source text with "\r\n" (Windows-style) line endings.
22
mattbaker@apple.comfc115262018-07-16 20:06:52 +0000232018-07-16 Matt Baker <mattbaker@apple.com>
24
25 Web Inspector: Fix execution highlighting after r233820
26 https://bugs.webkit.org/show_bug.cgi?id=187703
27 <rdar://problem/42246167>
28
29 Reviewed by Joseph Pecoraro.
30
31 * UserInterface/Views/SourceCodeTextEditor.js:
32 (WI.SourceCodeTextEditor.prototype.textEditorExecutionHighlightRange):
33 * UserInterface/Views/TextEditor.js:
34 (WI.TextEditor.prototype.currentPositionToOriginalPosition):
35 (WI.TextEditor.prototype._updateExecutionRangeHighlight):
36
commit-queue@webkit.org62fe8802018-07-16 18:57:39 +0000372018-07-16 Aaron Chu <aaron_chu@apple.com>
38
39 AX: Audit Tab should have an Audit Manager
40 https://bugs.webkit.org/show_bug.cgi?id=184071
41 <rdar://problem/38946364>
42
43 Reviewed by Brian Burg.
44
45 This implements the AuditManager for the audit feature. This patch revolves
46 around building out an AuditManager that facilitates an audit. The AuditManager
47 is responsible for managing and storing AuditReports and AuditTestSuites. It is
48 also tasked to decide how to run a test -- whether as a test case or as a test
49 suite. This patch also includes 4 models with which the AuditManager works to
50 perform an audit and to generate a report. These models include AuditTestCase,
51 which as a collection is stored inside an AuditTestSuite; and AuditResult,
52 which, as a collection is stored inside an AuditReport.
53
54 * UserInterface/Controllers/AuditManager.js: Added.
55 (WI.AuditManager):
56 (WI.AuditManager.prototype.get testSuites):
57 (WI.AuditManager.prototype.get reports):
58 (WI.AuditManager.prototype.async.runAuditTestByRepresentedObject):
59 (WI.AuditManager.prototype.reportForId):
60 (WI.AuditManager.prototype.removeAllReports):
61 (WI.AuditManager.prototype.async._runTestCase):
62 * UserInterface/Main.html:
63 * UserInterface/Models/AuditReport.js: Added.
64 (WI.AuditReport):
65 (WI.AuditReport.prototype.get representedTestCases):
66 (WI.AuditReport.prototype.get representedTestSuite):
67 (WI.AuditReport.prototype.get resultsData):
68 (WI.AuditReport.prototype.get isWritable):
69 (WI.AuditReport.prototype.get failedCount):
70 (WI.AuditReport.prototype.addResult):
71 (WI.AuditReport.prototype.close):
72 * UserInterface/Models/AuditResult.js: Added.
73 (WI.AuditResult):
74 (WI.AuditResult.prototype.get testResult):
75 (WI.AuditResult.prototype.get name):
76 (WI.AuditResult.prototype.get logLevel):
77 (WI.AuditResult.prototype.get failed):
78 * UserInterface/Models/AuditTestCase.js: Added.
79 (WI.AuditTestCase.prototype.get id):
80 (WI.AuditTestCase.prototype.get name):
81 (WI.AuditTestCase.prototype.get suite):
82 (WI.AuditTestCase.prototype.get test):
83 (WI.AuditTestCase.prototype.get setup):
84 (WI.AuditTestCase.prototype.get tearDown):
85 (WI.AuditTestCase.prototype.get errorDetails):
86 (WI.AuditTestCase):
87 * UserInterface/Models/AuditTestSuite.js: Added.
88 (WI.AuditTestSuite):
89 (WI.AuditTestSuite.testCaseDescriptors):
90 (WI.AuditTestSuite.prototype.get id):
91 (WI.AuditTestSuite.prototype.get name):
92 (WI.AuditTestSuite.prototype.get testCases):
93 (WI.AuditTestSuite.prototype._buildTestCasesFromDescriptors):
94 * UserInterface/Test.html:
95
nvasilyev@apple.com470ed7c2018-07-16 16:29:00 +0000962018-07-16 Nikita Vasilyev <nvasilyev@apple.com>
97
nvasilyev@apple.comf038b532018-07-16 16:37:34 +000098 Web Inspector: Dark Mode: Console filter field buttons should be darker
99 https://bugs.webkit.org/show_bug.cgi?id=187626
100 <rdar://problem/42142744>
101
102 Reviewed by Brian Burg.
103
104 * UserInterface/Views/FindBanner.css:
105 (@media (prefers-dark-interface)):
106 (.find-banner > button.segmented):
107 (.find-banner > button.segmented > .glyph):
108
1092018-07-16 Nikita Vasilyev <nvasilyev@apple.com>
110
nvasilyev@apple.com470ed7c2018-07-16 16:29:00 +0000111 Web Inspector: Dark Mode: selected item background color is too light
112 https://bugs.webkit.org/show_bug.cgi?id=187691
113 <rdar://problem/42225308>
114
115 Reviewed by Brian Burg.
116
117 * UserInterface/Views/DarkMode.css:
118 (@media (prefers-dark-interface)):
119 (:root):
120 (.tree-outline.dom li.elements-drag-over .selection-area):
121 (.tree-outline.dom:focus li.selected .selection-area):
122
ap@apple.com32ffe412018-07-14 23:44:42 +00001232018-07-14 Kocsen Chung <kocsen_chung@apple.com>
124
125 Ensure WebKit stack is ad-hoc signed
126 https://bugs.webkit.org/show_bug.cgi?id=187667
127
128 Reviewed by Alexey Proskuryakov.
129
130 * Configurations/Base.xcconfig:
131
mattbaker@apple.comc0e04c72018-07-13 17:10:28 +00001322018-07-13 Matt Baker <mattbaker@apple.com>
133
mattbaker@apple.comf5509302018-07-13 23:11:08 +0000134 Web Inspector: REGRESSION (r195723): Improve support for resources with '\r' and '\r\n' line endings
135 https://bugs.webkit.org/show_bug.cgi?id=186453
136 <rdar://problem/39689180>
137
138 Reviewed by Joseph Pecoraro.
139
140 Now that the frontend no longer uses offsets from the original source
141 file to calculate positions within CodeMirror, it is possible to support
142 resources with '\r' and '\r\n' line endings in the editor.
143
144 * UserInterface/Views/CodeMirrorEditor.js:
145 (WI.CodeMirrorEditor.create):
146 (WI.CodeMirrorEditor):
147
1482018-07-13 Matt Baker <mattbaker@apple.com>
149
mattbaker@apple.com75b367c2018-07-13 22:27:30 +0000150 Web Inspector: Basic blocks highlighting should use line/column locations instead of offsets
151 https://bugs.webkit.org/show_bug.cgi?id=187613
152 <rdar://problem/42131808>
153
154 Reviewed by Joseph Pecoraro.
155
156 * UserInterface/Controllers/BasicBlockAnnotator.js:
157 Basic blocks sent from the backend include offsets into the original
158 file, rather than line/column locations. In order to translate to positions
159 within CodeMirror, we need to calculate the original line and column
160 for each block.
161
162 (WI.BasicBlockAnnotator.prototype.insertAnnotations):
163 (WI.BasicBlockAnnotator.prototype._calculateBasicBlockPositions.offsetToPosition):
164 (WI.BasicBlockAnnotator.prototype._calculateBasicBlockPositions):
165 (WI.BasicBlockAnnotator.prototype._annotateBasicBlockExecutionRanges.):
166 (WI.BasicBlockAnnotator.prototype._annotateBasicBlockExecutionRanges):
167 (WI.BasicBlockAnnotator.prototype._highlightTextForBasicBlock):
168
169 * UserInterface/Models/SourceCodePosition.js:
170 (WI.SourceCodePosition.prototype.offsetColumn):
171
172 * UserInterface/Views/TextEditor.js:
173 (WI.TextEditor.prototype.getTextInRange):
174 (WI.TextEditor.prototype.addStyleToTextRange):
175 Better encapsulation for CodeMirror positions.
176
177 * UserInterface/Workers/Formatter/FormatterUtilities.js:
178 (get if):
179 Update String.prototype.lineEndings to support additional line separators.
180
1812018-07-13 Matt Baker <mattbaker@apple.com>
182
mattbaker@apple.com0e226d22018-07-13 21:53:14 +0000183 Web Inspector: Execution highlighting in the frontend should be line/column-based
184 https://bugs.webkit.org/show_bug.cgi?id=187532
185 <rdar://problem/42035580>
186
187 Reviewed by Joseph Pecoraro.
188
189 Source code offsets from Esprima should not be used to calculate ranges
190 in CodeMirror for expression highlighting.
191
192 This also fixes a long standing bug when adjusting for the starting
193 position of an inline script. Previously the start offset from the script
194 TextRange was used for this purpose, but the value is often incorrect (see
195 https://bugs.webkit.org/show_bug.cgi?id=187532#c5). By using the starting
196 line/column instead, we avoid the problem.
197
198 * UserInterface/Models/ScriptSyntaxTree.js:
199 (WI.ScriptSyntaxTree.prototype.containersOfPosition):
200 (WI.ScriptSyntaxTree.prototype.containersOfOffset): Deleted.
201
202 * UserInterface/Models/SourceCodePosition.js:
203 (WI.SourceCodePosition.prototype.offsetColumn):
204
205 * UserInterface/Views/SourceCodeTextEditor.js:
206 (WI.SourceCodeTextEditor.prototype.textEditorExecutionHighlightRange.toInlineScriptPosition):
207 (WI.SourceCodeTextEditor.prototype.textEditorExecutionHighlightRange.fromInlineScriptPosition):
208 (WI.SourceCodeTextEditor.prototype.textEditorExecutionHighlightRange):
209 (WI.SourceCodeTextEditor.prototype.textEditorExecutionHighlightRange.convertRangeOffsetsToSourceCodeOffsets): Deleted.
210
211 * UserInterface/Views/TextEditor.js:
212 (WI.TextEditor.prototype._updateExecutionRangeHighlight):
213
2142018-07-13 Matt Baker <mattbaker@apple.com>
215
mattbaker@apple.comc0e04c72018-07-13 17:10:28 +0000216 Web Inspector: SourceCodePosition.js missing from Test.html
217 https://bugs.webkit.org/show_bug.cgi?id=187644
218
219 Reviewed by Brian Burg.
220
221 * UserInterface/Test.html:
222
mattbaker@apple.com708a2f02018-07-13 02:06:48 +00002232018-07-12 Matt Baker <mattbaker@apple.com>
224
225 Web Inspector: Type token positioning should use line/column locations from Esprima instead of offsets
226 https://bugs.webkit.org/show_bug.cgi?id=187612
227 <rdar://problem/42131910>
228
229 Reviewed by Joseph Pecoraro.
230
231 * UserInterface/Controllers/TypeTokenAnnotator.js:
232 (WI.TypeTokenAnnotator.prototype.insertAnnotations):
233 (WI.TypeTokenAnnotator.prototype._insertTypeToken):
234 (WI.TypeTokenAnnotator.prototype._insertToken):
235 Use line/column locations, instead of offsets, from the AST when calculating
236 token positions for CodeMirror. Once in CodeMirror's string space, we
237 can safely convert to/from offsets.
238
239 * UserInterface/Models/ScriptSyntaxTree.js:
240 Retrieve line/column locations for AST nodes, in addition to offsets.
241 Offsets into the original file are still needed for getting type information
242 from the profiler in the backend.
243
244 (WI.ScriptSyntaxTree):
245 (WI.ScriptSyntaxTree.prototype.filterByRange):
246 Filter by positions, which can be safely used from CodeMirror, instead of offsets.
247
248 (WI.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
249 (WI.ScriptSyntaxTree.prototype.filterByRange.filterForNodesInRange): Deleted.
250
251 * UserInterface/Models/SourceCodePosition.js:
252 Add convenience methods for comparing line/column positions, and for
253 converting to the format expected by CodeMirror. SourceCodePosition could
254 be made to interoperate with CodeMirror by exposing properties `line`
255 and `ch`, but making the conversion explicit improves code readability.
256
257 (WI.SourceCodePosition.prototype.equals):
258 (WI.SourceCodePosition.prototype.isBefore):
259 (WI.SourceCodePosition.prototype.isAfter):
260 (WI.SourceCodePosition.prototype.isWithin):
261 (WI.SourceCodePosition.prototype.toCodeMirror):
262 (WI.SourceCodePosition):
263
264 * UserInterface/Views/TextEditor.js:
265 (WI.TextEditor.prototype.visibleRangePositions):
266 (WI.TextEditor.prototype.originalPositionToCurrentPosition):
267 (WI.TextEditor.prototype.currentOffsetToCurrentPosition):
268 (WI.TextEditor.prototype.currentPositionToCurrentOffset):
269 (WI.TextEditor.prototype.setInlineWidget):
270
Hironori.Fujii@sony.comc797e682018-07-11 01:03:18 +00002712018-07-10 Fujii Hironori <Hironori.Fujii@sony.com>
272
273 REGRESSION(r229932) Use of uninitialized value in subroutine entry at copy-user-interface-resources.pl
274 https://bugs.webkit.org/show_bug.cgi?id=187511
275
276 Reviewed by Brian Burg.
277
278 copy-user-interface-resources.pl output warning messages unless
279 BUILT_PRODUCTS_DIR and BUILT_PRODUCTS_DIR env vars are defined.
280
281 * Scripts/copy-user-interface-resources.pl:
282 (webInspectorUIAdditionsDir): Added. Return UNDEF if
283 BUILT_PRODUCTS_DIR and SDKROOT env vars aren't defined.
284 (combineOrStripResourcesForWebKitAdditions): Check
285 $webInspectorUIAdditionsDir is defined.
286
commit-queue@webkit.orgc11a4152018-07-10 20:09:28 +00002872018-07-10 Ross Kirsling <rkirsling@gmail.com>
288
289 Web Inspector: Layers inspector should allow control-dragging to pan the 3D render
290 https://bugs.webkit.org/show_bug.cgi?id=185109
291
292 Reviewed by Matt Baker.
293
294 Addressed in the three.js repo itself (https://github.com/mrdoob/three.js/pull/13972),
295 so this patch simply updates three.js and its OrbitControls module.
296
297 * UserInterface/External/three.js/LICENSE:
298 * UserInterface/External/three.js/three.js:
299 Update to r94.
300
301 * UserInterface/External/three.js/OrbitControls.js:
302 Update to latest.
303
304 * UserInterface/Views/Layers3DContentView.js:
305 (WI.Layers3DContentView.prototype.initialLayout):
306 (WI.Layers3DContentView.prototype._restrictPan):
307 Adapt to recent changes in three.js.
308
mattbaker@apple.comc3620cb2018-07-10 16:44:45 +00003092018-07-10 Matt Baker <mattbaker@apple.com>
310
mattbaker@apple.com6f70cb22018-07-10 19:14:59 +0000311 Web Inspector: Remove unused NavigationSidebarPanel.treeElementAddedOrChanged
312 https://bugs.webkit.org/show_bug.cgi?id=187508
313
314 Reviewed by Joseph Pecoraro.
315
316 * UserInterface/Views/NavigationSidebarPanel.js:
317 (WI.NavigationSidebarPanel.prototype._treeElementAddedOrChanged):
318 (WI.NavigationSidebarPanel.prototype.treeElementAddedOrChanged): Deleted.
319
3202018-07-10 Matt Baker <mattbaker@apple.com>
321
mattbaker@apple.comc3620cb2018-07-10 16:44:45 +0000322 Web Inspector: REGRESSION (r217505): Debugger content view doesn't update when left sidebar is collapsed
323 https://bugs.webkit.org/show_bug.cgi?id=187482
324 <rdar://problem/41989190>
325
326 Reviewed by Brian Burg.
327
328 Subclasses of NavigationSidebarPanel must process tree selection changes
329 even when collapsed. Sidebar panels perform critical controller tasks
330 for their tabs, such as updating the view when pausing in the debugger,
331 and when the hierarchical path component selection changes.
332
333 * UserInterface/Views/DebuggerSidebarPanel.js:
334 (WI.DebuggerSidebarPanel.prototype._treeSelectionDidChange):
335 * UserInterface/Views/ResourceSidebarPanel.js:
336 (WI.ResourceSidebarPanel.prototype._treeSelectionDidChange):
337 * UserInterface/Views/SearchSidebarPanel.js:
338 (WI.SearchSidebarPanel.prototype._treeSelectionDidChange):
339 * UserInterface/Views/SourcesSidebarPanel.js:
340 (WI.SourcesSidebarPanel.prototype._treeSelectionDidChange):
341 * UserInterface/Views/StorageSidebarPanel.js:
342 (WI.StorageSidebarPanel._treeSelectionDidChange):
343
bburg@apple.com5b907f82018-07-09 20:00:32 +00003442018-07-09 Brian Burg <bburg@apple.com>
345
346 REGRESSION: Web Inspector no longer pauses in internal injected scripts like WDFindNodes.js
347 https://bugs.webkit.org/show_bug.cgi?id=187350
348 <rdar://problem/41728249>
349
350 Reviewed by Matt Baker.
351
352 * UserInterface/Base/Setting.js: Add a new setting to allow pausing in internal scripts.
353 * UserInterface/Controllers/DebuggerManager.js: Listen to the setting change and toggle
354 the backend setting accordingly. The default is to not break into internal scripts.
355
356 * UserInterface/Views/SettingsTabContentView.js:
357 (WI.SettingsTabContentView.prototype._createDebugSettingsView):
358 Expose the new setting in the Debug settings panel.
359
nvasilyev@apple.com8d50f1a2018-07-07 00:44:29 +00003602018-07-06 Nikita Vasilyev <nvasilyev@apple.com>
361
362 Web Inspector: Dark Mode: resource search field has white text on white background
363 https://bugs.webkit.org/show_bug.cgi?id=187423
364
365 Reviewed by Timothy Hatcher.
366
367 Match the colors of sidebar filter fields.
368
369 * UserInterface/Views/DarkMode.css:
370 (@media (prefers-dark-interface)):
371 (.find-banner > input[type="search"]):
372
timothy_horton@apple.com553ee992018-07-04 09:06:10 +00003732018-07-04 Tim Horton <timothy_horton@apple.com>
374
375 Introduce PLATFORM(IOSMAC)
376 https://bugs.webkit.org/show_bug.cgi?id=187315
377
378 Reviewed by Dan Bernstein.
379
380 * Configurations/Base.xcconfig:
381
mattbaker@apple.com8508cfe2018-06-28 22:38:41 +00003822018-06-28 Matt Baker <mattbaker@apple.com>
383
384 Web Inspector: REGRESSION (r213000): copy from Search results content view broken
385 https://bugs.webkit.org/show_bug.cgi?id=187020
386 <rdar://problem/40928766>
387
388 Reviewed by Timothy Hatcher.
389
390 Since WI._copy listens for a copy event from the document, it is called
391 after CodeMirror handles the event and sets clipboard data. If WI._copy
392 finds a custom copy handler to call, that handler can determine whether
393 to overwrite the current clipboard data, or leave it alone.
394
395 SearchTabContentView's handleCopyEvent method should return early if the
396 content tree outline doesn't have the focus. This prevents the selection
397 in the TextEditor from being overwritten, without any special knowledge of
398 the content browser's current view.
399
400 * UserInterface/Views/SearchTabContentView.js:
401 (WI.SearchTabContentView.prototype.handleCopyEvent):
402
nvasilyev@apple.comc39d86f2018-06-25 17:34:48 +00004032018-06-25 Nikita Vasilyev <nvasilyev@apple.com>
404
nvasilyev@apple.comc8b84c92018-06-26 00:43:32 +0000405 Web Inspector: Dark Mode: Box Model section should have dark background
406 https://bugs.webkit.org/show_bug.cgi?id=186976
407
408 Reviewed by Brian Burg.
409
410 Replace all instances of black text on white background with the default text and background colors.
411
412 * UserInterface/Views/BoxModelDetailsSectionRow.css:
413 (@media (prefers-dark-interface)):
414 (.details-section .row.box-model):
415 (.details-section .row.box-model .label):
416 (.details-section .row.box-model :matches(.position, .margin, .border, .padding, .content)):
417 (.details-section .row.box-model:not(.hovered) :matches(.margin, .border, .padding, .content),):
418 (.details-section .row.box-model .margin):
419 (.details-section .row.box-model .border):
420
4212018-06-25 Nikita Vasilyev <nvasilyev@apple.com>
422
nvasilyev@apple.comc9265c82018-06-25 17:42:03 +0000423 Web Inspector: Dark Mode: color outline is too dark
424 https://bugs.webkit.org/show_bug.cgi?id=186975
425
426 Reviewed by Brian Burg.
427
428 Make the outline lighter than the background.
429
430 * UserInterface/Views/DarkMode.css:
431 (@media (prefers-dark-interface)):
432 (.hover-menu > svg > :matches(path, rect)):
433
4342018-06-25 Nikita Vasilyev <nvasilyev@apple.com>
435
nvasilyev@apple.com15a12fd2018-06-25 17:38:29 +0000436 Web Inspector: Dark Mode: Media query names are unreadable
437 https://bugs.webkit.org/show_bug.cgi?id=186974
438
439 Reviewed by Brian Burg.
440
441 Change media query names from dark blue to light blue.
442
443 * UserInterface/Views/DarkMode.css:
444 (@media (prefers-dark-interface)):
445 (.CodeMirror .CodeMirror-lines .CodeMirror-matchingbracket):
446 (.cm-s-default .cm-attribute):
447
4482018-06-25 Nikita Vasilyev <nvasilyev@apple.com>
449
nvasilyev@apple.comce7ecbd2018-06-25 17:35:51 +0000450 Web Inspector: Dark Mode: Network headers colors are too dim
451 https://bugs.webkit.org/show_bug.cgi?id=186985
452
453 Reviewed by Brian Burg.
454
455 Increasing the luminance of network header colors by increasing lightness and brightness.
456
457 * UserInterface/Views/DarkMode.css:
458 (@media (prefers-dark-interface)):
459 (:root):
460
4612018-06-25 Nikita Vasilyev <nvasilyev@apple.com>
462
nvasilyev@apple.comc39d86f2018-06-25 17:34:48 +0000463 Web Inspector: Dark Mode: Font guideline colors are too bright
464 https://bugs.webkit.org/show_bug.cgi?id=186986
465
466 Reviewed by Brian Burg.
467
468 Make the guidelines less distractive from the font glyphs.
469
470 * UserInterface/Views/DarkMode.css:
471 (@media (prefers-dark-interface)):
472 (.content-view.resource.font .preview > .line):
473 (.content-view.resource.font .metric.top):
474 (.content-view.resource.font .metric.baseline):
475 (.content-view.resource.font .metric.middle):
476 (.content-view.resource.font .metric.xheight):
477 (.content-view.resource.font .metric.bottom):
478
dbates@webkit.org9cdd6072018-06-21 00:08:53 +00004792018-06-20 Daniel Bates <dabates@apple.com>
480
481 Web Inspector: All non-Same-Site cookies are marked as Same-Site Strict in Storage tab
482 https://bugs.webkit.org/show_bug.cgi?id=186867
483 <rdar://problem/41175424>
484
485 Reviewed by Matt Baker.
486
487 Fixes an issue where cookies that do not have a Same-Site policy would be marked up as Same-
488 Site Strict in Web Inspector's cookie storage content view (under the storage tab).
489
490 * UserInterface/Views/CookieStorageContentView.js:
491 (WI.CookieStorageContentView.prototype._rebuildTable): Only compute the display name if
492 we cookie.sameSite is non-null and is not WI.Cookie.SameSiteType.None. Moreover, remove
493 an extraneous call to WI.Cookie.parseSameSiteAttributeValue() as cookie.SameSite represents
494 the already parsed value (one of the WI.Cookie.SameSiteType-scoped values).
495
bburg@apple.com64224062018-06-18 21:14:40 +00004962018-06-18 Brian Burg <bburg@apple.com>
497
498 Web Inspector: TypeError: Array.prototype.sort passed bad value in NetworkTableContentView _updateSortAndFilteredEntries
499 https://bugs.webkit.org/show_bug.cgi?id=186787
500 <rdar://problem/41175680>
501
502 Reviewed by Timothy Hatcher.
503
504 * UserInterface/Views/NetworkTableContentView.js:
505 (WI.NetworkTableContentView.prototype._updateSortAndFilteredEntries):
506
nvasilyev@apple.com46198bd2018-06-13 21:26:34 +00005072018-06-13 Nikita Vasilyev <nvasilyev@apple.com>
508
509 Web Inspector: open source Dark Mode
510 https://bugs.webkit.org/show_bug.cgi?id=186606
511
512 Reviewed by Timothy Hatcher.
513
514 The dark mode is currently only available on macOS Mojave via prefers-dark-interface CSS media query.
515
516 * UserInterface/Main.html:
517 * UserInterface/Views/DarkMode.css: Added.
518 (@media (prefers-dark-interface)):
519 (:root):
520 (body.window-inactive):
521 (body.window-inactive *):
522 (#main):
523 (.tree-outline.dom li.selected .selection-area):
524 (.tab-bar > .item > .icon):
525 (.go-to-arrow):
526 (.resource-link,):
527 (.expand-list-button):
528 (:matches(img, canvas).show-grid):
529 (.formatted-object,):
530 (.formatted-null,):
531 (.editing):
532 (.editing, .editing *):
533 (.text-editor > .CodeMirror .execution-line):
534 (.text-editor > .CodeMirror .execution-range-highlight:not(.CodeMirror-selectedtext),):
535 (.details-section > .header):
536 (.details-section > .header > label):
537 (.details-section .details-section,):
538 (.details-section .details-section:not(.collapsed) > .header):
539 (.details-section > .content > .group > .row.simple > .label):
540 (.details-section > .content > .group:nth-child(even)):
541 (.details-section > .content > .group > .row:matches(.empty, .text)):
542 (.data-grid th):
543 (.data-grid td .subtitle):
544 (.data-grid:matches(:focus, .force-focus) tr.selected td .subtitle):
545 (body:not(.window-inactive, .window-docked-inactive) .data-grid:matches(:focus, .force-focus) tr.editable.selected .cell-content > input):
546 (.data-grid tr.editable .cell-content > input):
547 (.data-grid td.spanning):
548 (.object-tree,):
549 (.object-preview .name):
550 (.object-preview > .size):
551 (.tab-bar):
552 (.tab-bar > .item):
553 (.tab-bar > .item > .title):
554 (.tab-bar > .item:not(.disabled).selected):
555 (.tab-bar:not(.animating) > .item:not(.selected):hover):
556 (.tab-bar > .item > .close):
557 (body.window-inactive .tab-bar):
558 (body.window-inactive .tab-bar > .item):
559 (body.window-inactive .tab-bar > .item.selected):
560 (body.window-inactive .tab-bar > .item > .title):
561 (body .toolbar):
562 (body.window-inactive .toolbar):
563 (body.latest-mac .toolbar .item.button,):
564 (body.latest-mac .toolbar .search-bar > input[type="search"]):
565 (body.latest-mac .toolbar .search-bar > input[type="search"]:focus):
566 (body.latest-mac .toolbar .search-bar > input[type="search"]::placeholder):
567 (body.latest-mac.window-inactive .toolbar .search-bar > input[type="search"]::placeholder):
568 (body.latest-mac.window-inactive .toolbar .search-bar > input[type="search"]::-webkit-search-results-button):
569 (body.latest-mac .toolbar .dashboard-container):
570 (body.latest-mac .toolbar .item.button:active):
571 (body.latest-mac.window-inactive .toolbar .item.button,):
572 (.navigation-bar .item.divider):
573 (.toolbar .item.button):
574 (.toolbar .item.button:not(.disabled):active):
575 (.toolbar .item.button:not(.disabled):matches(:focus, .activate.activated)):
576 (.toolbar .item.button:not(.disabled):active:matches(:focus, .activate.activated)):
577 (.toolbar .dashboard.default > .item > div):
578 (.toolbar .dashboard.default > .item.enabled > div):
579 (.toolbar .dashboard.default > .item.enabled:hover):
580 (.toolbar .dashboard.default > .item.enabled:hover > div):
581 (.toolbar .dashboard.default > .resourcesCount > img,):
582 (body.latest-mac .toolbar .dashboard .item.button):
583 (.dashboard-container .advance-arrow):
584 (.toolbar .dashboard.debugger):
585 (.dashboard.debugger .navigation-bar .item.button > .glyph):
586 (.dashboard.debugger > .location .function-name):
587 (.dashboard.debugger > .location .go-to-link):
588 (.dashboard.debugger > .divider):
589 (.popover .edit-breakpoint-popover-content > label.toggle):
590 (.popover .edit-breakpoint-popover-content > table > tr > th):
591 (.breakpoint-action-block-body):
592 (.breakpoint-action-block-body > .description):
593 (.breakpoint-action-append-button,):
594 (.popover .xhr-breakpoint-content > .editor-wrapper > .editor):
595 (.navigation-bar .item.button):
596 (.spreadsheet-style-declaration-editor .property:not(.disabled) .value):
597 (.spreadsheet-css-declaration):
598 (.spreadsheet-css-declaration .selector:focus,):
599 (.spreadsheet-css-declaration.locked .origin::after):
600 (.spreadsheet-css-declaration .origin .go-to-link,):
601 (.spreadsheet-style-declaration-editor :matches(.name, .value).editing):
602 (.spreadsheet-style-declaration-editor .property.has-warning):
603 (.spreadsheet-style-declaration-editor .property.has-warning .warning):
604 (.spreadsheet-css-declaration .media-label):
605 (.quick-console):
606 (.syntax-highlighted,):
607 (.cm-s-default,):
608 (.CodeMirror .jump-to-symbol-highlight,):
609 (.console-prompt):
610 (.completion-suggestions):
611 (.completion-suggestions-container > .item):
612 (.CodeMirror-cursor):
613 (.CodeMirror .CodeMirror-gutters):
614 (.cm-s-default .cm-link):
615 (.cm-s-default .cm-m-xml.cm-attribute,):
616 (.cm-s-default .cm-meta):
617 (.cm-s-default .cm-variable-3):
618 (.cm-s-default .cm-builtin):
619 (.tree-outline .item .subtitle):
620 (.object-tree-property .getter,):
621 (.item.object-tree-property.prototype-property):
622 (.object-tree-property.prototype-property:hover,):
623 (.object-tree-property .value.error):
624 (.tree-outline.dom):
625 (.tree-outline.dom li.selected + ol.children.expanded):
626 (.tree-outline.dom .shadow):
627 (.tree-outline.dom li.parent.shadow + ol.children.expanded,):
628 (.showing-find-banner .tree-outline.dom .search-highlight):
629 (.sidebar > .panel.dom-node-details .details-section.dom-node-event-listeners > .header > .filter:hover):
630 (.sidebar > .panel.details.css-style > .content > .pseudo-classes > .group > label):
631 (.spreadsheet-css-declaration.locked):
632 (.spreadsheet-css-declaration .selector.style-attribute):
633 (.spreadsheet-style-declaration-editor .property:matches(.invalid-name, .other-vendor, .overridden):not(.disabled) .content > *):
634 (.inline-swatch):
635 (.spreadsheet-style-panel .section-header):
636 (.spreadsheet-style-panel .section-header .node-link:hover):
637 (.computed-style-properties.details-section):
638 (.details-section.style-box-model:not(.collapsed) > :matches(.header, .content)):
639 (.table,):
640 (.table > .header > .sortable:active):
641 (.table > .header > :matches(.sort-ascending, .sort-descending)):
642 (.table > .header > :matches(.sort-ascending, .sort-descending)::after):
643 (.scope-bar > li):
644 (.timeline-overview > .navigation-bar.timelines):
645 (.timeline-overview:not(.frames) > .graphs-container > .timeline-overview-graph:nth-child(even)):
646 (.timeline-overview.edit-instruments > .tree-outline.timelines .item:not(:first-child),):
647 (.time-icon .icon):
648 (.data-grid th:matches(.sort-ascending, .sort-descending)):
649 (.content-view.timeline-recording > .content-browser > .navigation-bar > .item.scope-bar.default-item-selected > .multiple):
650 (.content-view.timeline-recording > .content-browser > .navigation-bar > .item.scope-bar.default-item-selected > .multiple .arrows):
651 (.content-view.settings .navigation-bar):
652 (.content-view.settings .navigation-bar .item.radio.button.text-only.selected):
653 (.new-tab.tab.content-view):
654 (.filter-bar > input[type="search"]):
655 (.filter-bar > input[type="search"]::placeholder):
656 (.filter-bar > input[type="search"]:focus):
657 (.content-view.resource.image):
658 (.console-messages):
659 (.console-item):
660 (.console-messages:focus .console-item.selected):
661 (.console-messages:focus .console-item.selected + .console-item):
662 (.console-session:first-of-type .console-session-header):
663 (.console-session:not(:first-of-type) .console-session-header):
664 (.console-messages a):
665 (.console-messages a:hover):
666 (.console-messages:focus .console-item.selected::after):
667 (.console-error-level):
668 (.console-error-level:not(.filtered-out, .filtered-out-by-search), .console-error-level:not(.filtered-out, .filtered-out-by-search) + .console-item):
669 (.console-warning-level):
670 (.console-warning-level:not(.filtered-out, .filtered-out-by-search), .console-warning-level:not(.filtered-out, .filtered-out-by-search) + .console-item):
671 (.search-in-progress .console-item:not(.filtered-out-by-search) .highlighted):
672 (.search-in-progress .console-item:not(.filtered-out-by-search) .highlighted.selected):
673 (.source-code.text-editor > .CodeMirror .error):
674 (.source-code.text-editor > .CodeMirror .warning):
675 (.source-code.text-editor > .CodeMirror .issue-widget):
676 (.source-code.text-editor > .CodeMirror .issue-widget.inline.warning):
677 (.source-code.text-editor > .CodeMirror .issue-widget.inline.warning > .arrow):
678 (.source-code.text-editor > .CodeMirror .issue-widget.inline.error):
679 (.source-code.text-editor > .CodeMirror .issue-widget.inline.error > .arrow):
680 (.console-message .syntax-highlighted):
681 (.console-warning-level .console-message-text):
682 (.console-error-level .console-message-text):
683 (.console-user-command > .console-message-text):
684 (.console-message .repeat-count):
685 (.call-frame .subtitle,):
686 (.call-frame:hover .subtitle .source-link,):
687 (.call-frame .separator):
688 (.quick-console.showing-log):
689 (.find-banner.console-find-banner > input[type=search]:not(:placeholder-shown)):
690 (.network-resource-detail):
691 (.network-resource-detail .item.close > .glyph):
692 (.network .network-resource-detail .navigation-bar .item.radio.button.text-only.selected):
693 (.resource-headers .value):
694 (.network-table .cell.domain > .lock):
695 (.resource-sizes > .content .label):
696 (.popover.waterfall-popover):
697 (.resource-timing-breakdown > table > tr.header:not(.total-row) > td):
698 (.resource-timing-breakdown > table > tr > td.label,):
699 (.resource-timing-breakdown > table hr):
700 (.sidebar > .panel.details.css-style > .content ~ .options-container > .new-rule):
701 (.content-view.tab.canvas .navigation-bar > .item .canvas-overview .icon):
702 (.web-socket.content-view .data-grid table.data tr.revealed):
703 (.web-socket.content-view .data-grid.variable-height-rows table.data tr.outgoing):
704 (.web-socket.content-view .data-grid.variable-height-rows table.data tr.non-text-frame):
705 (.item.action:not(.initial-state)::before):
706 (.tree-outline .item.action.visual:not(.selected, .invalid)):
707 (.item.action:not(.initial-state) > .icon):
708 (.tree-outline:not(.hide-disclosure-buttons) .item.action:not(.initial-state, .parent) > .icon):
709 (.content-view.tab.canvas .navigation-bar > .item .canvas-overview .icon,):
710 (.content-view.canvas > .preview > img,):
711 (.content-view.canvas-overview):
712 (.content-view.canvas-overview .content-view.canvas):
713 (.content-view.canvas-overview .content-view.canvas.is-recording):
714 (.content-view.canvas-overview .content-view.canvas.is-recording > header):
715 (.content-view.canvas-overview .content-view.canvas > header > .titles > .title):
716 (.content-view.canvas-overview .content-view.canvas > header > .titles > .subtitle,):
717 (.content-view.canvas-overview .content-view.canvas > footer > .recordings::before):
718 (.content-view.canvas-overview .content-view.canvas.is-recording > header > .titles > .subtitle):
719 (.content-view.canvas:not(.tab)):
720 (.content-view:not(.tab).recording):
721 (.content-view:not(.tab).recording > header > .slider-container):
722 (.content-view:not(.tab).recording > header > .slider-container > input[type=range]):
723 (.sidebar > .panel.details.recording-state > .content > .data-grid tr.modified):
724 (.progress-view > .titles > .title):
725 (.progress-view > .titles > .subtitle):
726 (.indeterminate-progress-spinner):
727 (.content-view.shader-program > .text-editor.shader):
728 (.content-view.shader-program > .text-editor.shader > .type-title):
729 (.item.shader-program .status > img):
730 (.open-resource-dialog):
731 (.open-resource-dialog > .field > input):
732 (.open-resource-dialog > .field > input::placeholder):
733 (.open-resource-dialog > .tree-outline .item.selected):
734 (.open-resource-dialog > .field::before):
735
mitz@apple.com564e7c32018-06-10 05:18:08 +00007362018-06-09 Dan Bernstein <mitz@apple.com>
737
738 [Xcode] Clean up and modernize some build setting definitions
739 https://bugs.webkit.org/show_bug.cgi?id=186463
740
741 Reviewed by Sam Weinig.
742
743 * Configurations/Base.xcconfig: Removed definition for macOS 10.11.
744 * Configurations/DebugRelease.xcconfig: Ditto.
745 * Configurations/Version.xcconfig: Ditto.
746
mattbaker@apple.comc32fab12018-06-05 22:41:00 +00007472018-06-05 Matt Baker <mattbaker@apple.com>
748
749 Web Inspector: Tab picker is briefly visible when TabBar initially shown
750 https://bugs.webkit.org/show_bug.cgi?id=186317
751
752 Reviewed by Joseph Pecoraro.
753
754 * UserInterface/Views/TabBar.js:
755 (WI.TabBar): Picker should be initially hidden.
756
nvasilyev@apple.comfb7f4912018-06-05 19:07:12 +00007572018-06-05 Nikita Vasilyev <nvasilyev@apple.com>
758
759 Web Inspector: Text in "Add New Class" in auto-capitalizes
760 https://bugs.webkit.org/show_bug.cgi?id=186311
761
762 Reviewed by Matt Baker.
763
764 Disable spellcheck to prevent auto-capitalization.
765
766 * UserInterface/Views/GeneralStyleDetailsSidebarPanel.js:
767 (WI.GeneralStyleDetailsSidebarPanel.prototype.initialLayout):
768
mattbaker@apple.come8ffcf92018-06-04 21:49:50 +00007692018-06-04 Matt Baker <mattbaker@apple.com>
770
771 Web Inspector: Cannot copy a link address in Elements tab
772 https://bugs.webkit.org/show_bug.cgi?id=186281
773 <rdar://problem/39193355>
774
775 Reviewed by Brian Burg.
776
777 * UserInterface/Views/ContextMenuUtilities.js:
778 (WI.appendContextMenuItemsForURL):
779
dbates@webkit.orgc14788b2018-05-30 23:42:36 +00007802018-05-30 Daniel Bates <dabates@apple.com>
781
782 Web Inspector: Annotate Same-Site cookies
783 https://bugs.webkit.org/show_bug.cgi?id=184897
784 <rdar://problem/35178209>
785
786 Reviewed by Brian Burg.
787
788 Add a new column for the value of the Same-Site cookie attribute to the resource cookie content
789 view (shown for a resource under the Network tab) and cookie storage content view (shown under
790 the Storage tab).
791
792 The SameSite column in the resource cookie content view reflects the parsing of the Same-Site
793 attribute from the HTTP response by Web Inspector. This parsing is materially consistent with
794 the parsing of the SameSite atttribute in CFNetwork. The Same-Site column in the cookie storage
795 content view reflects the Same-Site cookie policy associated with the cookies provided by the
796 network stack, if supported. This column will be blank on systems whose network stack does not
797 support Same-Site cookies (e.g libsoup).
798
799 * Localizations/en.lproj/localizedStrings.js:
800 * UserInterface/Controllers/HARBuilder.js:
801 (WI.HARBuilder.cookies):
802 * UserInterface/Models/Cookie.js:
803 (WI.Cookie):
804 (WI.Cookie.displayNameForSameSiteType):
805 (WI.Cookie.parseSameSiteAttributeValue):
806 (WI.Cookie.parseSetCookieResponseHeader):
807 * UserInterface/Views/CookieStorageContentView.js:
808 (WI.CookieStorageContentView.prototype._rebuildTable):
809 (WI.CookieStorageContentView.prototype._sortDataGrid):
810 * UserInterface/Views/ResourceCookiesContentView.js:
811 (WI.ResourceCookiesContentView.prototype.tablePopulateCell):
812 (WI.ResourceCookiesContentView.prototype._generateSortComparator):
813 (WI.ResourceCookiesContentView.prototype._refreshResponseCookiesSection):
814
mattbaker@apple.comf036e0e2018-05-25 16:25:27 +00008152018-05-25 Matt Baker <mattbaker@apple.com>
816
817 Web Inspector: Popover dismissed while attempting to move cursor inside
818 https://bugs.webkit.org/show_bug.cgi?id=185741
819 <rdar://problem/40340938>
820
821 Reviewed by Joseph Pecoraro.
822
823 Hovering a token within the bounds of the current popover should not
824 show a new popover. This prevents the popover from being dismissed when
825 the cursor passes over a token under the transparent portion of the
826 popover frame.
827
828 * UserInterface/Views/SourceCodeTextEditor.js:
829 (WI.SourceCodeTextEditor.prototype._showPopover):
830
ryanhaddad@apple.com5cce4f02018-05-22 17:21:49 +00008312018-05-22 Ryan Haddad <ryanhaddad@apple.com>
832
833 Unreviewed, rolling out r232052.
834
835 Breaks internal builds.
836
837 Reverted changeset:
838
839 "Use more C++17"
840 https://bugs.webkit.org/show_bug.cgi?id=185176
841 https://trac.webkit.org/changeset/232052
842
utatane.tea@gmail.com24cbfd82018-05-22 06:46:43 +00008432018-05-21 Yusuke Suzuki <utatane.tea@gmail.com>
844
845 Use more C++17
846 https://bugs.webkit.org/show_bug.cgi?id=185176
847
848 Reviewed by JF Bastien.
849
850 * Configurations/Base.xcconfig:
851
webkit@devinrousso.com8ec0dd42018-05-18 21:05:08 +00008522018-05-18 Devin Rousso <webkit@devinrousso.com>
853
854 Web Inspector: Canvas: put `hasVisualEffect` behind an experimental setting
855 https://bugs.webkit.org/show_bug.cgi?id=185758
856
857 Reviewed by Matt Baker.
858
859 * Localizations/en.lproj/localizedStrings.js:
860
861 * UserInterface/Base/Setting.js:
862
863 * UserInterface/Models/RecordingAction.js:
864 (WI.RecordingAction.prototype.process):
865
866 * UserInterface/Views/RecordingActionTreeElement.js:
867 (WI.RecordingActionTreeElement.prototype.onattach):
868
869 * UserInterface/Views/SettingsTabContentView.js:
870 (WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
871
webkit@devinrousso.com21878e262018-05-17 01:37:33 +00008722018-05-16 Devin Rousso <webkit@devinrousso.com>
873
874 Web Inspector: create a navigation item for toggling the overlay rulers/guides
875 https://bugs.webkit.org/show_bug.cgi?id=185644
876
877 Reviewed by Matt Baker.
878
879 * Localizations/en.lproj/localizedStrings.js:
880 * UserInterface/Base/Setting.js:
881 * UserInterface/Views/DOMTreeContentView.js:
882 (WI.DOMTreeContentView):
883 (WI.DOMTreeContentView.prototype.get navigationItems):
884 (WI.DOMTreeContentView.prototype.closed):
885 (WI.DOMTreeContentView.prototype._showRulersChanged): Added.
886 (WI.DOMTreeContentView.prototype._toggleShowRulers): Added.
887
nvasilyev@apple.comc604e502018-05-15 01:52:26 +00008882018-05-14 Nikita Vasilyev <nvasilyev@apple.com>
889
890 Web Inspector: Canvas: Remove unused --value-visual-highlight CSS variable
891 https://bugs.webkit.org/show_bug.cgi?id=185636
892
893 Reviewed by Matt Baker.
894
895 * UserInterface/Views/Variables.css:
896 (:root):
897
webkit@devinrousso.com09350d52018-05-14 23:01:25 +00008982018-05-14 Devin Rousso <webkit@devinrousso.com>
899
900 Web Inspector: Canvas tab: don't automatically select a recording when viewing a canvas
901 https://bugs.webkit.org/show_bug.cgi?id=182950
902
903 Reviewed by Matt Baker.
904
905 * UserInterface/Views/CanvasSidebarPanel.js:
906 (WI.CanvasSidebarPanel):
907 (WI.CanvasSidebarPanel.prototype._currentRepresentedObjectsDidChange):
908 (WI.CanvasSidebarPanel.prototype._treeOutlineSelectionDidChange):
909 (WI.CanvasSidebarPanel.prototype._canvasChanged):
910 (WI.CanvasSidebarPanel.prototype._recordingChanged):
911 (WI.CanvasSidebarPanel.prototype._updateRecordingScopeBar):
912 Add a "dummy" ScopeBarItem to the recording ScopeBar that is selected whenever a TreeElement
913 that doesn't correspond to a Recording is selected. This way, the Recording ScopeBar will
914 become deselected, and the list of actions will disappear. Clicking on the Recording ScopeBar
915 will show the previously selected Recording.
916
mattbaker@apple.com1e9de232018-05-09 00:09:41 +00009172018-05-08 Matt Baker <mattbaker@apple.com>
918
919 Web Inspector: Console drawer resizing is broken when console prompt has >1 line of code
920 https://bugs.webkit.org/show_bug.cgi?id=185369
921 <rdar://problem/40013202>
922
923 Reviewed by Devin Rousso.
924
925 Mouse offset calculation should account for the height of the quick console.
926 The only reason resizing worked with the single-line quick console is that
927 the offset calculation included the resizer height, which is very close
928 to that of the single-line quick console (27px and 30px respectively).
929
930 * UserInterface/Views/ConsoleDrawer.js:
931
webkit@devinrousso.comca4600a2018-05-04 23:56:10 +00009322018-05-04 Devin Rousso <webkit@devinrousso.com>
933
934 Web Inspector: simplify the WI.Collection interface
935 https://bugs.webkit.org/show_bug.cgi?id=185187
936
937 Reviewed by Brian Burg.
938
939 * UserInterface/Models/Collection.js:
940 (WI.Collection.prototype.get size): Added.
941 (WI.Collection.prototype.has): Added.
942 (WI.Collection.prototype.toJSON):
943 (WI.Collection.prototype.[Symbol.iterator]): Added.
944 (WI.Collection.prototype.get items): Deleted.
945 (WI.Collection.prototype.toArray): Deleted.
946
947 * UserInterface/Controllers/CanvasManager.js:
948 (WI.CanvasManager.prototype._removeCanvas):
949 * UserInterface/Controllers/DOMDebuggerManager.js:
950 (WebInspector.DOMDebuggerManager.prototype.get domBreakpoints):
951 * UserInterface/Models/Frame.js:
952 (WI.Frame.prototype.removeAllChildFrames):
953 (WI.Frame.prototype.resourceForURL):
954 (WI.Frame.prototype.removeAllResources):
955 * UserInterface/Models/Script.js:
956 (WI.Script):
957 * UserInterface/Views/CanvasContentView.js:
958 (WI.CanvasContentView.prototype.initialLayout):
959 * UserInterface/Views/CanvasOverviewContentView.js:
960 (WI.CanvasOverviewContentView.prototype._updateNavigationItems):
961 * UserInterface/Views/CanvasSidebarPanel.js:
962 (WI.CanvasSidebarPanel.prototype._recordingRemoved):
963 (WI.CanvasSidebarPanel.prototype._canvasChanged):
964 (WI.CanvasSidebarPanel.prototype._updateRecordingScopeBar):
965 * UserInterface/Views/CanvasTabContentView.js:
966 (WI.CanvasTabContentView.prototype.attached):
967 (WI.CanvasTabContentView.prototype._addCanvas):
968 (WI.CanvasTabContentView.prototype._removeCanvas):
969 * UserInterface/Views/CanvasTreeElement.js:
970 (WI.CanvasTreeElement.prototype.onpopulate):
971 * UserInterface/Views/CollectionContentView.js:
972 (WI.CollectionContentView.prototype.initialLayout):
973 (WI.CollectionContentView.prototype.attached):
974 * UserInterface/Views/CookieStorageContentView.js:
975 (WI.CookieStorageContentView.prototype._filterCookies):
976 * UserInterface/Views/DebuggerSidebarPanel.js:
977 (WI.DebuggerSidebarPanel.prototype._addResourcesRecursivelyForFrame):
978 * UserInterface/Views/FolderizedTreeElement.js:
979 (WI.FolderizedTreeElement.prototype.updateParentStatus):
980 (WI.FolderizedTreeElement.prototype._shouldGroupIntoFolders):
981 * UserInterface/Views/FrameTreeElement.js:
982 (WI.FrameTreeElement.prototype.onpopulate):
983 * UserInterface/Views/NavigationSidebarPanel.js:
984 (WI.NavigationSidebarPanel.prototype.get contentTreeOutlines):
985 * UserInterface/Views/NetworkTableContentView.js:
986 (WI.NetworkTableContentView.prototype._populateWithInitialResourcesIfNeeded):
987 * UserInterface/Views/OpenResourceDialog.js:
988 (WI.OpenResourceDialog.prototype._addResourcesForFrame):
989 (WI.OpenResourceDialog.prototype._addResourcesForTarget):
990 * UserInterface/Views/TreeOutlineGroup.js:
991 (WI.TreeOutlineGroup.prototype.get selectedTreeElement):
992 (WI.TreeOutlineGroup.prototype._removeConflictingTreeSelections):
993 * UserInterface/Views/WorkerTreeElement.js:
994 (WI.WorkerTreeElement.prototype.onpopulate):
995
nvasilyev@apple.come298f1e2018-05-04 20:51:47 +00009962018-05-04 Nikita Vasilyev <nvasilyev@apple.com>
997
998 Web Inspector: Styles: Newly added unsupported properties sometimes don't have warnings
999 https://bugs.webkit.org/show_bug.cgi?id=183097
1000 <rdar://problem/37843816>
1001
1002 Reviewed by Matt Baker.
1003
1004 Update status of properties warnings every time focus moves.
1005
1006 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
1007 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.layout):
1008 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyFocusMoved):
1009 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._propertiesChanged):
1010 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._updatePropertiesStatus):
1011 * UserInterface/Views/SpreadsheetStyleProperty.js:
1012 (WI.SpreadsheetStyleProperty.prototype.spreadsheetTextFieldDidBlur):
1013
webkit@devinrousso.com6231c852018-05-04 18:50:30 +000010142018-05-04 Devin Rousso <webkit@devinrousso.com>
1015
webkit@devinrousso.com8a769162018-05-04 20:29:24 +00001016 Web Inspector: Styles Redesign: ensure that tabbing through the last section wraps back to the first
1017 https://bugs.webkit.org/show_bug.cgi?id=181973
1018
1019 Reviewed by Matt Baker.
1020
1021 Unified delegate functions to start editing previous/next rules into a single function for
1022 simplicity.
1023
1024 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
1025 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetCSSStyleDeclarationEditorFocusMoved):
1026
1027 * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
1028 (WI.SpreadsheetCSSStyleDeclarationSection.prototype.startEditingRuleSelector):
1029 (WI.SpreadsheetCSSStyleDeclarationSection.prototype.spreadsheetSelectorFieldDidChange):
1030 (WI.SpreadsheetCSSStyleDeclarationSection.prototype.spreadsheetCSSStyleDeclarationEditorStartEditingAdjacentRule):
1031 (WI.SpreadsheetCSSStyleDeclarationSection.prototype.cssStyleDeclarationEditorStartEditingAdjacentRule): Deleted.
1032
1033 * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:
1034 (WI.SpreadsheetRulesStyleDetailsPanel.prototype.focusFirstSection):
1035 (WI.SpreadsheetRulesStyleDetailsPanel.prototype.focusLastSection):
1036 (WI.SpreadsheetRulesStyleDetailsPanel.prototype.spreadsheetCSSStyleDeclarationSectionStartEditingAdjacentRule):
1037 (WI.SpreadsheetRulesStyleDetailsPanel.prototype.cssStyleDeclarationSectionStartEditingNextRule): Deleted.
1038 (WI.SpreadsheetRulesStyleDetailsPanel.prototype.cssStyleDeclarationSectionStartEditingPreviousRule): Deleted.
1039
1040 * UserInterface/Views/GeneralStyleDetailsSidebarPanel.js:
1041 (WI.GeneralStyleDetailsSidebarPanel.prototype.styleDetailsPanelFocusLastPseudoClassCheckbox):
1042 (WI.GeneralStyleDetailsSidebarPanel.prototype.styleDetailsPanelFocusFilterBar):
1043 (WI.GeneralStyleDetailsSidebarPanel.prototype.initialLayout):
1044 (WI.GeneralStyleDetailsSidebarPanel.prototype._handleForcedPseudoClassCheckboxKeydown):
1045 (WI.GeneralStyleDetailsSidebarPanel.prototype._forcedPseudoClassCheckboxChanged):
1046 (WI.GeneralStyleDetailsSidebarPanel.prototype._handleFilterBarInputFieldKeyDown):
1047
1048 Drive-by fix: provide tabbing support for the Computed styles panel.
1049
1050 * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
1051 (WI.CSSStyleDeclarationTextEditor.prototype._handleShiftTabKey.switchRule):
1052 (WI.CSSStyleDeclarationTextEditor.prototype._handleTabKey.switchRule):
1053
1054 * UserInterface/Views/ComputedStyleDetailsPanel.js:
1055 (WI.ComputedStyleDetailsPanel.prototype.focusFirstSection):
1056 (WI.ComputedStyleDetailsPanel.prototype.focusLastSection):
1057 (WI.ComputedStyleDetailsPanel.prototype.cssStyleDeclarationTextEditorStartEditingAdjacentRule):
1058
10592018-05-04 Devin Rousso <webkit@devinrousso.com>
1060
webkit@devinrousso.com6231c852018-05-04 18:50:30 +00001061 Web Inspector: Canvas tab: Determine isFunction by looking at the prototype
1062 https://bugs.webkit.org/show_bug.cgi?id=184990
1063
1064 Reviewed by Brian Burg.
1065
1066 * UserInterface/Models/RecordingAction.js:
1067 (WI.RecordingAction.isFunctionForType):
1068 (WI.RecordingAction._prototypeForType):
1069 (WI.RecordingAction.prototype.async.swizzle):
1070
webkit@devinrousso.com37642652018-05-01 23:37:59 +000010712018-05-01 Devin Rousso <webkit@devinrousso.com>
1072
1073 Web Inspector: Canvas tab: determine hasVisibleEffect for all actions immediately after recording is added
1074 https://bugs.webkit.org/show_bug.cgi?id=182995
1075
1076 Reviewed by Matt Baker.
1077
1078 Previously, we'd swizzle the entirety of the `WI.Recording` in one, which would usually
1079 freeze the UI, especially for larger recordings. This patch uses `WI.YieldableTask` to split
1080 the work and allow the rest of the UI to still be usable while `WI.Recording` are processing.
1081 Additionally, since we no longer have to worry about hangs, we can do more work upfront,
1082 such as calculating `hasVisibleEffect` and the current state of 2D canvases.
1083
1084 These changes require that all uses of `WI.Recording` call `process()` before attempting to
1085 use any `frames`/`actions`/`initialState`, as they will have their original payload values
1086 and will have not been swizzled or applied.
1087
1088 * Localizations/en.lproj/localizedStrings.js:
1089
1090 * UserInterface/Models/Recording.js:
1091 (WI.Recording):
1092 (WI.Recording.prototype.process):
1093 (WI.Recording.prototype.createContext): Added.
1094 (WI.Recording.prototype.async yieldableTaskWillProcessItem): Added.
1095 (WI.Recording.prototype.async yieldableTaskDidFinish): Added.
1096
1097 * UserInterface/Models/RecordingAction.js:
1098 (WI.RecordingAction):
1099 (WI.RecordingAction.prototype.process): Added.
1100 (WI.RecordingAction.prototype.async swizzle): Added.
1101 (WI.RecordingAction.prototype.apply):
1102 (WI.RecordingAction.prototype.toJSON):
1103 (WI.RecordingAction.prototype.set state): Deleted.
1104 (WI.RecordingAction.prototype.swizzle): Deleted.
1105 (WI.RecordingAction.prototype.apply.getContent): Deleted.
1106 (WI.RecordingAction.prototype.async _swizzle): Deleted.
1107 * UserInterface/Models/RecordingInitialStateAction.js:
1108 (WI.RecordingInitialStateAction):
1109
1110 * UserInterface/Views/CanvasSidebarPanel.js:
1111 (WI.CanvasSidebarPanel):
1112 (WI.CanvasSidebarPanel.prototype.set action):
1113 (WI.CanvasSidebarPanel.prototype._treeOutlineSelectionDidChange):
1114 (WI.CanvasSidebarPanel.prototype._recordingChanged):
1115
1116 * UserInterface/Views/CanvasSidebarPanel.css:
1117 (.sidebar > .panel.navigation.canvas > .content > .recording-content > .indeterminate-progress-spinner):
1118
1119 * UserInterface/Views/RecordingActionTreeElement.js:
1120 (WI.RecordingActionTreeElement):
1121 (WI.RecordingActionTreeElement.prototype.onattach):
1122 (WI.RecordingActionTreeElement.prototype._handleHasVisibleEffectChanged): Deleted.
1123
1124 * UserInterface/Views/RecordingContentView.js:
1125 (WI.RecordingContentView):
1126 (WI.RecordingContentView.prototype.get navigationItems):
1127 (WI.RecordingContentView.prototype.updateActionIndex):
1128 (WI.RecordingContentView.prototype.initialLayout):
1129 (WI.RecordingContentView.prototype._generateContentCanvas2D): Added.
1130 (WI.RecordingContentView.prototype._generateContentCanvasWebGL): Added.
1131 (WI.RecordingContentView.prototype._updateCanvasPath):
1132 (WI.RecordingContentView.prototype._updateProcessProgress): Added.
1133 (WI.RecordingContentView.prototype._handleRecordingProcessedActionSwizzle): Added.
1134 (WI.RecordingContentView.prototype._handleRecordingProcessedActionApply): Added.
1135 (WI.RecordingContentView.supportsCanvasPathDebugging): Deleted.
1136 (WI.RecordingContentView.prototype.async _generateContentCanvas2D): Deleted.
1137 (WI.RecordingContentView.prototype.async _generateContentCanvasWebGL): Deleted.
1138
1139 * UserInterface/Views/RecordingContentView.css:
1140 (.content-view:not(.tab).recording > .preview-container):
1141
1142 * UserInterface/Base/ImageUtilities.js:
1143 (WI.ImageUtilities.supportsCanvasPathDebugging):
1144
jer.noble@apple.com88220e52018-04-26 19:15:20 +000011452018-04-26 Jer Noble <jer.noble@apple.com>
1146
jer.noble@apple.com63add112018-04-26 23:30:21 +00001147 Unreviewed build fix; fix WebInspectorUI copy resources step after r231063.
1148
1149 * Configurations/Base.xcconfig:
1150
11512018-04-26 Jer Noble <jer.noble@apple.com>
1152
jer.noble@apple.com88220e52018-04-26 19:15:20 +00001153 WK_COCOA_TOUCH all the things.
1154 https://bugs.webkit.org/show_bug.cgi?id=185006
1155
1156 Reviewed by Tim Horton.
1157
1158 * Configurations/WebInspectorUIFramework.xcconfig:
1159
nvasilyev@apple.com3e2330c2018-04-21 17:45:23 +000011602018-04-21 Nikita Vasilyev <nvasilyev@apple.com>
1161
1162 REGRESSION(r214076): Web Inspector: Timelines load and DOMContentLoaded markers aren't visible
1163 https://bugs.webkit.org/show_bug.cgi?id=184858
1164
1165 Reviewed by Brian Burg.
1166
1167 r214076 changed the color of all markers to light gray.
1168
1169 * UserInterface/Views/TimelineRuler.css:
1170 (.timeline-ruler > .markers > .marker):
1171 (body[dir=ltr] .timeline-ruler > .markers > .marker):
1172 (body[dir=rtl] .timeline-ruler > .markers > .marker):
1173 (.timeline-ruler > .markers > .marker.current-time):
1174 (.timeline-ruler > .markers > .marker.load-event):
1175 (.timeline-ruler > .markers > .marker.dom-content-event):
1176 (.timeline-ruler > .markers > .marker.timestamp):
1177 (body[dir=ltr] .timeline-ruler > .markers > .marker.current-time): Deleted.
1178 (body[dir=rtl] .timeline-ruler > .markers > .marker.current-time): Deleted.
1179
cdumez@apple.com1295fb772018-04-20 02:15:39 +000011802018-04-19 Chris Dumez <cdumez@apple.com>
1181
1182 Rename JSDOMWindowProxy to JSWindowProxy
1183 https://bugs.webkit.org/show_bug.cgi?id=184797
1184
1185 Reviewed by Sam Weinig.
1186
1187 Rename JSDOMWindowProxy to JSWindowProxy for consistency with WindowProxy.
1188
1189 * UserInterface/Workers/HeapSnapshot/HeapSnapshot.js:
1190 (HeapSnapshot.prototype._isNodeGlobalObject):
1191
ddkilzer@apple.coma005ba42018-04-19 22:53:45 +000011922018-04-19 David Kilzer <ddkilzer@apple.com>
1193
1194 Enable Objective-C weak references
1195 <https://webkit.org/b/184789>
1196 <rdar://problem/39571716>
1197
1198 Reviewed by Dan Bernstein.
1199
1200 * Configurations/Base.xcconfig:
1201 (CLANG_ENABLE_OBJC_WEAK): Enable.
1202
nvasilyev@apple.com7b6eacf2018-04-17 05:48:41 +000012032018-04-16 Nikita Vasilyev <nvasilyev@apple.com>
1204
1205 Web Inspector: Can't select and copy text from Network tab popover
1206 https://bugs.webkit.org/show_bug.cgi?id=184606
1207
1208 Reviewed by Matt Baker.
1209
1210 * UserInterface/Views/ResourceTimingBreakdownView.css:
1211 (.waterfall-popover .resource-timing-breakdown):
1212
nvasilyev@apple.com81e09d72018-04-13 01:09:50 +000012132018-04-12 Nikita Vasilyev <nvasilyev@apple.com>
1214
1215 Web Inspector: Refactoring: move popover styles from JS to CSS
1216 https://bugs.webkit.org/show_bug.cgi?id=184558
1217
1218 Reviewed by Brian Burg.
1219
1220 Introduce several CSS variables to customize popover appearance in CSS
1221 and not JavaScript.
1222
1223 * UserInterface/Views/NetworkTableContentView.js:
1224 (WI.NetworkTableContentView.prototype._waterfallPopoverContentForResource):
1225 (WI.NetworkTableContentView.prototype._handleMousedownWaterfall):
1226 * UserInterface/Views/Popover.css:
1227 (.popover):
1228 * UserInterface/Views/Popover.js:
1229 (WI.Popover):
1230 (WI.Popover.prototype._drawBackground):
1231 Replace `var` with `let`.
1232
1233 (WI.Popover.prototype.get backgroundStyle): Deleted.
1234 (WI.Popover.prototype.set backgroundStyle): Deleted.
1235 * UserInterface/Views/ResourceTimingBreakdownView.css:
1236 (.popover.waterfall-popover):
1237 (.waterfall-popover-content .resource-timing-breakdown):
1238 (.waterfall-popover .resource-timing-breakdown): Deleted.
1239
1240 * UserInterface/Views/NetworkTableContentView.js:
1241 (WI.NetworkTableContentView.prototype._waterfallPopoverContentForResource):
1242 (WI.NetworkTableContentView.prototype._handleMousedownWaterfall):
1243 * UserInterface/Views/Popover.css:
1244 (.popover):
1245 * UserInterface/Views/Popover.js:
1246 (WI.Popover):
1247 (WI.Popover.prototype._drawBackground):
1248 * UserInterface/Views/ResourceTimingBreakdownView.css:
1249 (.popover.waterfall-popover):
1250 (.waterfall-popover-content .resource-timing-breakdown):
1251
nvasilyev@apple.com6e34c3f2018-04-08 01:33:03 +000012522018-04-07 Nikita Vasilyev <nvasilyev@apple.com>
1253
1254 Web Inspector: Errors glyph doesn't fully change to blue when active
1255 https://bugs.webkit.org/show_bug.cgi?id=184389
1256
1257 Reviewed by Joseph Pecoraro.
1258
1259 The dot of the exclamation mark was always black.
1260
1261 * UserInterface/Images/Errors.svg:
1262
commit-queue@webkit.org45dd6362018-04-04 00:46:50 +000012632018-04-03 Aaron Chu <aaron_chu@apple.com>
1264
1265 AX: Add Experimental setting for Accessibility Audit
1266 https://bugs.webkit.org/show_bug.cgi?id=183646
1267 <rdar://problem/38478583>
1268
1269 Reviewed by Brian Burg.
1270
1271 Added experimental feature flag for Accessibility Audit work.
1272
1273 * Localizations/en.lproj/localizedStrings.js:
1274 * UserInterface/Base/Setting.js:
1275 * UserInterface/Views/SettingsTabContentView.js:
1276 (WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
1277
mattbaker@apple.com83ff4432018-04-02 05:59:28 +000012782018-04-01 Matt Baker <mattbaker@apple.com>
1279
1280 Web Inspector: Remove dead TabBrowser/TabContentView code
1281 https://bugs.webkit.org/show_bug.cgi?id=184104
1282
1283 Reviewed by Devin Rousso.
1284
1285 * UserInterface/Base/Main.js:
1286 (WI._tryToRestorePendingTabs):
1287 * UserInterface/Views/NewTabContentView.js:
1288 (WI.NewTabContentView.prototype.shown):
1289 (WI.NewTabContentView.prototype.hidden):
1290 * UserInterface/Views/TabBrowser.js:
1291 (WI.TabBrowser.prototype.addTabForContentView):
1292 (WI.TabBrowser.prototype.showTabForContentView):
1293 (WI.TabBrowser._tabBarItemRemoved):
1294 * UserInterface/Views/TabContentView.js:
1295 (WI.TabContentView.prototype.get parentTabBrowser): Deleted.
1296 (WI.TabContentView.prototype.set parentTabBrowser): Deleted.
1297
webkit@devinrousso.com093c0ee2018-03-31 05:14:49 +000012982018-03-30 Devin Rousso <webkit@devinrousso.com>
1299
1300 Web Inspector: tint all pixels drawn by shader program when hovering ShaderProgramTreeElement
1301 https://bugs.webkit.org/show_bug.cgi?id=175223
1302
1303 Reviewed by Matt Baker.
1304
1305 * UserInterface/Models/ShaderProgram.js:
1306 (WI.ShaderProgram):
1307 (WI.ShaderProgram.prototype.showHighlight):
1308 (WI.ShaderProgram.prototype.hideHighlight):
1309
1310 * UserInterface/Views/ShaderProgramTreeElement.js:
1311 (WI.ShaderProgramTreeElement.prototype.onattach):
1312 (WI.ShaderProgramTreeElement.prototype._handleMouseOver):
1313 (WI.ShaderProgramTreeElement.prototype._handleMouseOut):
1314 Whenever a ShaderProgramTreeElement is hovered, highlight the corresponding shader program
1315 by tinting the pixels it draws via a blend.
1316
timothy@apple.come98b85b2018-03-28 02:51:18 +000013172018-03-27 Timothy Hatcher <timothy@apple.com>
1318
1319 Web Inspector: Modernize some utility functions
1320 https://bugs.webkit.org/show_bug.cgi?id=184047
1321
1322 Reviewed by Matt Baker.
1323
1324 * UserInterface/Base/Utilities.js:
1325 (Node.prototype.enclosingNodeOrSelfWithClass): Use parentElement instead of parentNode, so we don't need to check for document.
1326 (Node.prototype.enclosingNodeOrSelfWithNodeNameInArray): Ditto. Also just toUpperCase input, since nodeName is already upper case.
1327 (String.prototype.escapeCharacters): Use Set and string iteration instead of indexOf and charAt.
1328
nvasilyev@apple.comdae802b2018-03-27 19:30:59 +000013292018-03-27 Nikita Vasilyev <nvasilyev@apple.com>
1330
1331 Web Inspector: Command-Shift-left/right arrow keys should not switch tabs when focused on color picker text fields
1332 https://bugs.webkit.org/show_bug.cgi?id=184028
1333
1334 Reviewed by Timothy Hatcher.
1335
1336 * UserInterface/Views/EditingSupport.js:
1337 (WI.isEventTargetAnEditableField):
1338 Detect <input type="number"> as an editable text field.
1339
nvasilyev@apple.com716b2d82018-03-24 01:26:05 +000013402018-03-23 Nikita Vasilyev <nvasilyev@apple.com>
1341
1342 Web Inspector: Styles: don't show checkboxes for invalid properties
1343 https://bugs.webkit.org/show_bug.cgi?id=183951
1344 <rdar://problem/38807602>
1345
1346 Reviewed by Matt Baker.
1347
1348 Since toggling of invalid properties isn't supported by the backend, don't show checkboxes for invalid properties.
1349
1350 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
1351 (.spreadsheet-css-declaration:matches(:hover, :focus) .property:not(:matches(.invalid-name, .invalid-value)) .property-toggle,):
1352 (.spreadsheet-css-declaration:matches(:hover, :focus) .property-toggle,): Deleted.
1353 Don't show checkboxes for invalid properties but still show them for duplicate properties.
1354
bburg@apple.coma22a4472018-03-23 23:35:03 +000013552018-03-23 Brian Burg <bburg@apple.com>
1356
1357 Web Inspector: add WebKitAdditions hooks for WebInspectorUI
1358 https://bugs.webkit.org/show_bug.cgi?id=183940
1359 <rdar://problem/38796310>
1360
1361 Reviewed by Timothy Hatcher.
1362
1363 * Scripts/combine-resources.pl:
1364 (debugLog): Added. Leave in the logging I used to debug this.
1365
1366 (concatenateIncludedFilesMatchingPattern):
1367 (stripIncludedFilesMatchingPattern):
1368 (concatenateFiles): Deleted.
1369 This function tried to do too many things. Split it into
1370 two functions, one for stripping includes and one for concatenating
1371 files referenced by includes.
1372
1373 Lastly, add a negative lookahead clause for 'WebKitAdditions' so includes
1374 containing that string are not combined when no input directory is passed
1375 to the script.
1376
1377 * Scripts/copy-user-interface-resources.pl:
1378 WebKitAdditions is computed either from BUILT_PRODUCTS_DIR or SDKROOT,
1379 depending on the build style. Just try them in order and use the first
1380 one that exists. WebInspectorUI files are in their own directory, so
1381 we can assume there are files to process if that directory exists.
1382
1383 Copy Main.html to derived sources before doing any processing on it.
1384 This makes all combining phases have the same --input-html argument.
1385
1386 (debugLog): Added. Leave in the logging I used to debug this.
1387
1388 (combineOrStripResourcesForWebKitAdditions):
1389 (stripResourcesForWebKitAdditions):
1390 (combineResourcesForWebKitAdditions):
1391 Determine if WebKitAdditions exists and whether there are any
1392 resources for WebInspectorUI present that need to be processed.
1393
1394 * UserInterface/Main.html:
1395 Add stub .js and .css WebKitAdditions files. We can add more later
1396 if it makes sense but this is good enough to validate the build machinery.
1397
nvasilyev@apple.com60460032018-03-23 21:35:34 +000013982018-03-23 Nikita Vasilyev <nvasilyev@apple.com>
1399
1400 Web Inspector: Styles Redesign: flashing when switching between nodes
1401 https://bugs.webkit.org/show_bug.cgi?id=179291
1402 <rdar://problem/35352660>
1403
1404 Reviewed by Matt Baker.
1405
1406 Flashing was happening because the layout was a two-step process:
1407 1. Append empty sections.
1408 2. Layout everything inside of the section on requestAnimationFrame.
1409
1410 SpreadsheetRulesStyleDetailsPanel was converted to use layout method,
1411 so both steps happen on requestAnimationFrame.
1412
1413 * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:
1414 (WI.SpreadsheetRulesStyleDetailsPanel):
1415 (WI.SpreadsheetRulesStyleDetailsPanel.prototype.refresh):
1416 (WI.SpreadsheetRulesStyleDetailsPanel.prototype.layout):
1417 The removed lines from the refresh method moved to the layout method without any changes.
1418
nvasilyev@apple.com70cbb092018-03-23 01:00:43 +000014192018-03-22 Nikita Vasilyev <nvasilyev@apple.com>
1420
1421 Uncaught Exception: TypeError: this._textEditor.toggleUnexecutedCodeHighlights().then is not a function
1422 https://bugs.webkit.org/show_bug.cgi?id=181912
1423 <rdar://problem/36700022>
1424
1425 Reviewed by Matt Baker.
1426
1427 The uncaught exception was caused by returning `false` instead of a promise object.
1428 This patch only fixes the exception. Further enhancements should be done in <https://webkit.org/b/183887>.
1429
1430 * UserInterface/Views/SourceCodeTextEditor.js:
1431 (WI.SourceCodeTextEditor.prototype.toggleTypeAnnotations):
1432 (WI.SourceCodeTextEditor.prototype.toggleUnexecutedCodeHighlights):
1433
nvasilyev@apple.comf064a5c2018-03-21 04:47:45 +000014342018-03-20 Nikita Vasilyev <nvasilyev@apple.com>
1435
1436 Web Inspector: Styles: Loses focus when editing a property while page is being loaded
1437 https://bugs.webkit.org/show_bug.cgi?id=182619
1438 <rdar://problem/37363185>
1439
1440 Reviewed by Matt Baker.
1441
1442 Adding or removing a stylesheet causes SpreadsheetRulesStyleDetailsPanel to refresh, triggering a layout
1443 of all SpreadsheetCSSStyleDeclarationSection child views. This resets the focus, selection, and
1444 auto-completion state.
1445
1446 This patch prevents SpreadsheetCSSStyleDeclarationSection from performing a layout when a property is being edited.
1447
1448 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
1449 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.layout):
1450 Allow re-layout after creating a blank CSS property and pasting CSS code.
1451 - _pendingAddBlankPropertyIndexOffset is a number after pasting CSS rules.
1452 - _propertyPendingStartEditing is a property model after creating a new property.
1453
webkit@devinrousso.com34e47452018-03-21 03:40:17 +000014542018-03-20 Devin Rousso <webkit@devinrousso.com>
1455
1456 Web Inspector: Session dividers are not added when Console tab is not visible
1457 https://bugs.webkit.org/show_bug.cgi?id=168622
1458
1459 Reviewed by Matt Baker.
1460
1461 Restructure `_pendingMessages` to be a `Map [ConsoleSession, ConsoleMessageView]`. Instead
1462 of rendering to the `_currentConsoleGroup`, we now render to the saved `ConsoleSession`.
1463 Also ensure that `_pendingMessages` is cleared when navigating and "Preserve Log" is off.
1464
1465 * UserInterface/Controllers/JavaScriptLogViewController.js:
1466 (WI.JavaScriptLogViewController):
1467 (WI.JavaScriptLogViewController.prototype.startNewSession):
1468 (WI.JavaScriptLogViewController.prototype.consolePromptHistoryDidChange):
1469 (WI.JavaScriptLogViewController.prototype._appendConsoleMessageView):
1470 (WI.JavaScriptLogViewController.prototype.renderPendingMessages):
1471 (WI.JavaScriptLogViewController.prototype.get prompt): Deleted.
1472 (WI.JavaScriptLogViewController.prototype.get currentConsoleGroup): Deleted.
1473
nvasilyev@apple.com44e91b72018-03-20 08:22:03 +000014742018-03-20 Nikita Vasilyev <nvasilyev@apple.com>
1475
1476 Web Inspector: Can't add a new class by editing class attribute in DOM outline
1477 https://bugs.webkit.org/show_bug.cgi?id=180890
1478
1479 Reviewed by Ryosuke Niwa.
1480
1481 Typing "my-foo my-bar" creates a single "my-foo\xA0my-bar" class name because
1482 contentEditable-based attribute editor sometimes inserts non-breaking space characters (\xA0).
1483
1484 Replace all non-breaking space characters with the regular space characters when
1485 commiting attribute change.
1486
1487 * UserInterface/Views/DOMTreeElement.js:
1488
nvasilyev@apple.com248ab7c2018-03-16 23:43:41 +000014892018-03-16 Nikita Vasilyev <nvasilyev@apple.com>
1490
1491 Web Inspector: Elements: "Force Print Media Styles" should not persist across Web Inspector sessions
1492 https://bugs.webkit.org/show_bug.cgi?id=183708
1493 <rdar://problem/36452183>
1494
1495 Reviewed by Matt Baker.
1496
1497 * UserInterface/Base/Main.js:
1498 (WI.loaded):
1499 * UserInterface/Views/DOMTreeContentView.js:
1500 (WI.DOMTreeContentView):
1501 (WI.DOMTreeContentView.prototype._showPrintStylesChanged):
1502 (WI.DOMTreeContentView.prototype._togglePrintStyles):
1503 (WI.DOMTreeContentView.prototype._showPrintStylesSettingChanged): Deleted.
1504 (WI.DOMTreeContentView.prototype._togglePrintStylesSetting): Deleted.
1505
webkit@devinrousso.comca9b6312018-03-15 05:54:53 +000015062018-03-14 Devin Rousso <webkit@devinrousso.com>
1507
1508 Web Inspector: Canvas: a recording initiated by the user should be shown immediately on completion
1509 https://bugs.webkit.org/show_bug.cgi?id=183647
1510 <rdar://problem/38479187>
1511
1512 Reviewed by Matt Baker.
1513
1514 When recordings are initiated via `console.record`, we don't want to automatically show the
1515 recording after it's payload is sent to the frontend. We determine whether a recording came
1516 from the console by comparing the recording's associated canvas with the current value of
1517 `_recordingCanvas`. Previously, when stopping a recording, we would always null the value,
1518 which meant that all non-single-frame recordings (single-frame recordings are stopped by
1519 the agent after the first paint or tick after an action is performed) would be categorized
1520 as coming from the console, since `_recordingCanvas` would be null by the time the frontend
1521 recieved the payload.
1522
1523 This patch changes it so that the nulling of `_recordingCanvas` in `stopRecording` is only
1524 done if the agent command errors. It was already the case that `_recordingCanvas` was nulled
1525 in `stopRecording`, so this patch just prevents it from being nulled too early.
1526
1527 * UserInterface/Controllers/CanvasManager.js:
1528 (WI.CanvasManager.prototype.stopRecording):
1529
jond@apple.comc123fc32018-03-12 19:35:00 +000015302018-03-12 Jon Davis <jond@apple.com>
1531
1532 Web Inspector: Remove redundant tooltips
1533 https://bugs.webkit.org/show_bug.cgi?id=183099
1534
1535 Reviewed by Matt Baker.
1536
1537 * Localizations/en.lproj/localizedStrings.js:
1538 * UserInterface/Base/Main.js:
1539 (WI.contentLoaded):
1540 Instantiate ConsoleDrawer so the keyboard shortcuts for FindBanner are available.
1541
1542 * UserInterface/Views/BreakpointTreeElement.js:
1543 (WI.BreakpointTreeElement):
1544 Suppress tooltips by setting the tooltipHandledSeprately flag with no custom handler.
1545
1546 * UserInterface/Views/ButtonNavigationItem.js:
1547 (WI.ButtonNavigationItem):
1548 Only show tooltips when the button style is an image.
1549
1550 * UserInterface/Views/ConsoleDrawer.js:
1551 (WI.ConsoleDrawer):
1552 (WI.ConsoleDrawer.prototype.toggleButtonShortcutTooltip):
1553 Added helper to set the toggle button keyboard shortcut tooltip.
1554
1555 * UserInterface/Views/DOMBreakpointTreeElement.js:
1556 (WI.DOMBreakpointTreeElement):
1557 Suppress tooltips by setting the tooltipHandledSeprately flag with no custom handler.
1558
1559 * UserInterface/Views/DOMNodeTreeElement.js:
1560 (WI.DOMNodeTreeElement):
1561 Suppress tooltips by setting the tooltipHandledSeprately flag with no custom handler.
1562
1563 * UserInterface/Views/FindBanner.js:
1564 (WI.FindBanner):
1565 * UserInterface/Views/HierarchicalPathComponent.js:
1566 (WI.HierarchicalPathComponent):
1567 (WI.HierarchicalPathComponent.prototype.get tooltip):
1568 (WI.HierarchicalPathComponent.prototype.set tooltip):
1569 (WI.HierarchicalPathComponent.prototype.get hideTooltip):
1570 (WI.HierarchicalPathComponent.prototype.set hideTooltip):
1571 (WI.HierarchicalPathComponent.prototype._updateElementTitleAndText):
1572 Add tooltip management features to manage tooltips separately of the displayName,
1573 and provide a behavior to hide tooltips while retaining the tooltip data.
1574
1575 * UserInterface/Views/HierarchicalPathNavigationItem.js:
1576 (WI.HierarchicalPathNavigationItem.prototype.updateLayout):
1577 Hide tooltips when fully visible, show tooltips for collapsed items.
1578
1579 * UserInterface/Views/PinnedTabBarItem.js:
1580 (WI.PinnedTabBarItem.prototype.titleDidChange):
1581 Set tooltips for pinned tab bar items.
1582
1583 * UserInterface/Views/QuickConsole.js:
1584 (WI.QuickConsole):
1585 Set the ConsoleDrawer toggle button tooltip after the keyboard shortcut is registered.
1586
1587 * UserInterface/Views/StorageTreeElement.js:
1588 (WI.StorageTreeElement):
1589 Suppress tooltips by setting the tooltipHandledSeprately flag with no custom handler.
1590
1591 * UserInterface/Views/TabBarItem.js:
1592 (WI.TabBarItem.prototype.get title):
1593 (WI.TabBarItem.prototype.set title):
1594 (WI.TabBarItem.prototype.titleDidChange):
1595 (WI.TabBarItem):
1596 Add title property management with an overridable titleDidChange handler for
1597 setting tooltips when needed.
1598
1599 * UserInterface/Views/TimelineTreeElement.js:
1600 (WI.TimelineTreeElement):
1601 Suppress tooltips by setting the tooltipHandledSeprately flag with no custom handler.
1602
1603 * UserInterface/Views/ToggleButtonNavigationItem.js:
1604 (WI.ToggleButtonNavigationItem.prototype.set defaultToolTip):
1605 Added a setter for manging the default tooltip of a toggle button.
1606
1607 * UserInterface/Views/XHRBreakpointTreeElement.js:
1608 (WI.XHRBreakpointTreeElement):
1609 Suppress tooltips by setting the tooltipHandledSeprately flag with no custom handler.
1610
nvasilyev@apple.comcf2bf4d2018-03-10 01:24:24 +000016112018-03-09 Nikita Vasilyev <nvasilyev@apple.com>
1612
1613 Web Inspector: Sources: Open all resources in Sources tab instead of Resources/Debugger
1614 https://bugs.webkit.org/show_bug.cgi?id=183317
1615 <rdar://problem/38108455>
1616
1617 Reviewed by Matt Baker.
1618
1619 * Localizations/en.lproj/localizedStrings.js:
1620 * UserInterface/Base/Main.js:
1621 * UserInterface/Views/ContextMenuUtilities.js:
1622 (WI.appendContextMenuItemsForURL):
1623 Introduce preferredTabType option instead of listing ignoreResourcesTab, ignoreDebuggerTab, ignoreSearchTab, and ignoreNetworkTab.
1624 The only correct outcome of selecting "Reveal in Sources Tab" context menu is to open Sources tab, not any other tab.
1625
1626 * UserInterface/Views/SourceCodeTextEditor.js:
1627 (WI.SourceCodeTextEditor.prototype.textEditorGutterContextMenu):
1628 * UserInterface/Views/TabBrowser.js:
1629 (WI.TabBrowser.prototype.bestTabContentViewForRepresentedObject):
1630
nvasilyev@apple.comb2dd5972018-03-09 01:32:51 +000016312018-03-08 Nikita Vasilyev <nvasilyev@apple.com>
1632
1633 Web Inspector: Sources: add SourcesTabContentView and SourceSidebarPanel classes
1634 https://bugs.webkit.org/show_bug.cgi?id=183316
1635 <rdar://problem/38107639>
1636
1637 Reviewed by Matt Baker.
1638
1639 Add Sources tab and sidebar panel, which are copies of the corresponding Resources classes.
1640 The Sources tab is shown when it's enabled in the experimental settings. This patch doesn't
1641 remove existing Resources and Debugger tabs.
1642
1643 * UserInterface/Base/Main.js:
1644 (WI.contentLoaded):
1645 * UserInterface/Main.html:
1646 * UserInterface/Views/SourcesSidebarPanel.css: Added.
1647 (.sidebar > .panel.navigation.sources > .content):
1648 (.sidebar > .panel.navigation.sources > .navigation-bar):
1649 * UserInterface/Views/SourcesSidebarPanel.js: Added.
1650 (WI.SourcesSidebarPanel):
1651 (WI.SourcesSidebarPanel.shouldPlaceResourcesAtTopLevel):
1652 (WI.SourcesSidebarPanel.prototype.get minimumWidth):
1653 (WI.SourcesSidebarPanel.prototype.closed):
1654 (WI.SourcesSidebarPanel.prototype.showDefaultContentView):
1655 (WI.SourcesSidebarPanel.prototype.treeElementForRepresentedObject.isAncestor):
1656 (WI.SourcesSidebarPanel.prototype.treeElementForRepresentedObject.getParent):
1657 (WI.SourcesSidebarPanel.prototype.treeElementForRepresentedObject):
1658 (WI.SourcesSidebarPanel.prototype.initialLayout):
1659 (WI.SourcesSidebarPanel.prototype.hasCustomFilters):
1660 (WI.SourcesSidebarPanel.prototype.matchTreeElementAgainstCustomFilters.match):
1661 (WI.SourcesSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
1662 (WI.SourcesSidebarPanel.prototype._mainResourceDidChange):
1663 (WI.SourcesSidebarPanel.prototype._mainFrameDidChange):
1664 (WI.SourcesSidebarPanel.prototype._mainFrameMainResourceDidChange.delayedWork):
1665 (WI.SourcesSidebarPanel.prototype._mainFrameMainResourceDidChange):
1666 (WI.SourcesSidebarPanel.prototype._scriptWasAdded):
1667 (WI.SourcesSidebarPanel.prototype._addScript):
1668 (WI.SourcesSidebarPanel.prototype._scriptWasRemoved):
1669 (WI.SourcesSidebarPanel.prototype._scriptsCleared):
1670 (WI.SourcesSidebarPanel.prototype._styleSheetAdded):
1671 (WI.SourcesSidebarPanel.prototype._addTargetWithMainResource):
1672 (WI.SourcesSidebarPanel.prototype._targetRemoved):
1673 (WI.SourcesSidebarPanel.prototype._treeSelectionDidChange):
1674 (WI.SourcesSidebarPanel.prototype._compareTreeElements):
1675 (WI.SourcesSidebarPanel.prototype._extraDomainsActivated):
1676 (WI.SourcesSidebarPanel.prototype._scopeBarSelectionDidChange):
1677 * UserInterface/Views/SourcesTabContentView.js: Added.
1678 (WI.SourcesTabContentView):
1679 (WI.SourcesTabContentView.tabInfo):
1680 (WI.SourcesTabContentView.isTabAllowed):
1681 (WI.SourcesTabContentView.prototype.get type):
1682 (WI.SourcesTabContentView.prototype.get supportsSplitContentBrowser):
1683 (WI.SourcesTabContentView.prototype.canShowRepresentedObject):
1684
webkit@devinrousso.comd457ef42018-03-07 23:09:00 +000016852018-03-07 Devin Rousso <webkit@devinrousso.com>
1686
1687 Web Inspector: Canvas tab: ensure that the Recording TreeOutline has a specified height for virtualization
1688 https://bugs.webkit.org/show_bug.cgi?id=183015
1689
1690 Reviewed by Matt Baker.
1691
1692 * UserInterface/Views/CanvasSidebarPanel.js:
1693 (WI.CanvasSidebarPanel):
1694
1695 * UserInterface/Views/CanvasSidebarPanel.css:
1696 (.sidebar > .panel.navigation.canvas > .content):
1697 (.sidebar > .panel.navigation.canvas > .content > .navigation-bar):
1698 (.sidebar > .panel.navigation.canvas.has-recordings > .content > .recording-content):
1699 (.sidebar > .panel.navigation.canvas:not(.has-recordings) > .filter-bar,):
1700 (.sidebar > .panel.navigation.canvas > .content > .recording-content > .navigation-bar): Deleted.
1701 (.sidebar > .panel.navigation.canvas.has-recordings > .content > .tree-outline.canvas): Deleted.
1702
1703 * UserInterface/Views/TreeElement.js:
1704 (WI.TreeElement.prototype._detach):
1705
webkit@devinrousso.com0263b9a2018-02-26 23:52:09 +000017062018-02-26 Devin Rousso <webkit@devinrousso.com>
1707
1708 Web Inspector: Canvas Tab: Scroll into view / Inspect element if Canvas has DOM node
1709 https://bugs.webkit.org/show_bug.cgi?id=181769
1710
1711 Reviewed by Matt Baker.
1712
1713 * Localizations/en.lproj/localizedStrings.js:
1714
1715 * UserInterface/Images/Markup.svg: Added.
1716
1717 * UserInterface/Views/CanvasContentView.js:
1718 (WI.CanvasContentView):
1719 (WI.CanvasContentView.prototype.initialLayout):
1720 (WI.CanvasContentView.prototype._canvasElementButtonClicked):
1721
mattbaker@apple.com6b1a54a2018-02-20 02:04:30 +000017222018-02-19 Matt Baker <mattbaker@apple.com>
1723
1724 Web Inspector: Canvas tab: hide navigation sidebar when viewing the overview
1725 https://bugs.webkit.org/show_bug.cgi?id=182597
1726 <rdar://problem/37341564>
1727
1728 Reviewed by Devin Rousso.
1729
1730 Support showing/hiding the navigation sidebar panel based on the current
1731 represented object. Individual TabContentViews can opt-in to this behavior,
1732 by overriding TabContentView.prototype.managesNavigationSidebarPanel.
1733
1734 * UserInterface/Views/CanvasSidebarPanel.js:
1735 (WI.CanvasSidebarPanel.prototype.canShowRepresentedObject):
1736 * UserInterface/Views/CanvasTabContentView.js:
1737 (WI.CanvasTabContentView.prototype.get managesNavigationSidebarPanel):
1738 Hide the Canvas navigation sidebar when viewing the overview.
1739
1740 * UserInterface/Views/ContentBrowserTabContentView.js:
1741 (WI.ContentBrowserTabContentView):
1742 (WI.ContentBrowserTabContentView.prototype.showNavigationSidebarPanel):
1743 (WI.ContentBrowserTabContentView.prototype._navigationSidebarCollapsedStateDidChange):
1744 (WI.ContentBrowserTabContentView.prototype._contentBrowserCurrentRepresentedObjectsDidChange):
1745
1746 * UserInterface/Views/NavigationSidebarPanel.js:
1747 (WI.NavigationSidebarPanel.prototype.canShowRepresentedObject):
1748 Provide default implementation that just defers to the TabContentView.
1749 This exists so that a NavigationSidebarPanel that implements canShowRepresentedObject
1750 will have a meaningful default to fall back on.
1751
1752 * UserInterface/Views/TabBrowser.js:
1753 (WI.TabBrowser.prototype._sidebarCollapsedStateDidChange):
1754 (WI.TabBrowser.prototype._showNavigationSidebarPanelForTabContentView):
1755
1756 * UserInterface/Views/TabContentView.js:
1757 (WI.TabContentView.prototype.get managesNavigationSidebarPanel):
1758
mattbaker@apple.com50344de2018-02-16 20:59:55 +000017592018-02-16 Matt Baker <mattbaker@apple.com>
1760
mattbaker@apple.comedefb682018-02-16 22:06:01 +00001761 Web Inspector: TabBar redesign: remove top-level search field and pin the Search tab
1762 https://bugs.webkit.org/show_bug.cgi?id=182353
1763 <rdar://problem/37088644>
1764
1765 Reviewed by Devin Rousso.
1766
1767 * Localizations/en.lproj/localizedStrings.js:
1768
1769 * UserInterface/Base/Main.js:
1770 (WI.contentLoaded):
1771 Create Search UI based on experimental setting. When the new TabBar is
1772 enabled, the Search tab is a pinned tab. Since it is also saveable, it
1773 needs to be added to the TabBrowser (the browser adds the item to the bar).
1774
1775 When restoring saved tabs, make an additional check to prevent a tab
1776 from being added twice. This can occur now that the Search tab is pinned.
1777
1778 * UserInterface/Images/Search.svg:
1779 Update art to better match Safari/macOS. Slightly increase the radius of
1780 the lens, and shorten the length of the handle.
1781
1782 * UserInterface/Views/GoToLineDialog.css:
1783 (.go-to-line-dialog > div::before):
1784 Update styles for new Search icon.
1785
1786 * UserInterface/Views/LegacyTabBar.js:
1787 (WI.LegacyTabBar.prototype.get saveableTabCount):
1788 Backported new TabBar method which is called by TabBrowser.
1789
1790 * UserInterface/Views/OpenResourceDialog.css:
1791 (.open-resource-dialog > .field::before):
1792 Update styles for new Search icon.
1793
1794 * UserInterface/Views/PinnedTabBarItem.js:
1795 (WI.PinnedTabBarItem.prototype.fromTabInfo):
1796 Match GeneralTabBarItem.fromTabInfo.
1797
1798 * UserInterface/Views/SearchTabContentView.js:
1799 (WI.SearchTabContentView):
1800 (WI.SearchTabContentView.tabInfo):
1801 New image (magnifying glass without border) when new TabBar is enabled.
1802
1803 * UserInterface/Views/SettingsTabContentView.js:
1804 (WI.SettingsTabContentView):
1805
1806 * UserInterface/Views/TabBar.js:
1807 (WI.TabBar):
1808 Move creation of the Settings item out of TabBar. The TabBar should
1809 only be concerned with managing tabs.
1810
1811 (WI.TabBar.prototype.get saveableTabCount):
1812 (WI.TabBar.prototype._handleContextMenu):
1813 (WI.TabBar.prototype.get normalNonEphemeralTabCount): Deleted.
1814 Now that the Search tab is pinned, there aren't any normal tabs that
1815 are also ephemeral. For the LegacyTabBar, both the Search and New Tab
1816 tabs are still in this category.
1817
1818 * UserInterface/Views/TabBrowser.js:
1819 (WI.TabBrowser.prototype.addTabForContentView):
1820 (WI.TabBrowser.prototype.closeTabForContentView):
1821 (WI.TabBrowser.prototype._tabBarItemSelected):
1822 (WI.TabBrowser._tabBarItemRemoved):
1823 Recent tab list should be validated against the list of saveable tabs,
1824 since the Search tab is no longer a normal tab (a GeneralTabBarItem),
1825 but is still persisted across Inspector sessions.
1826
18272018-02-16 Matt Baker <mattbaker@apple.com>
1828
mattbaker@apple.com50344de2018-02-16 20:59:55 +00001829 Web Inspector: TabBar redesign: TabBarItem close button is incorrectly positioned
1830 https://bugs.webkit.org/show_bug.cgi?id=182844
1831 <rdar://problem/37586749>
1832
1833 Reviewed by Timothy Hatcher.
1834
1835 * UserInterface/Views/GeneralTabBarItem.js:
1836 (WI.GeneralTabBarItem.prototype.set title):
1837 Insert the title before the last flexible space item.
1838
1839 * UserInterface/Views/TabBar.css:
1840 (.tab-bar > .item):
1841 (.tab-bar > .item > .close):
1842 (.tab-bar > .item > .flex-space):
1843 (.tab-bar > .item.ephemeral > .flex-space:last-child):
1844 (.tab-bar.collapsed > .item):
1845 (.tab-bar.collapsed > .item > .flex-space):
1846 (.tab-bar.collapsed > .item > .close):
1847 (.tab-bar.collapsed > .item:hover > .close):
1848 (.tab-bar.collapsed > .item.ephemeral:hover > .icon):
1849 (.tab-bar > .item:hover > .close): Deleted.
1850 (.tab-bar:not(.collapsed) > .item.ephemeral:hover > .icon): Deleted.
1851
1852 * UserInterface/Views/TabBarItem.js:
1853 (WI.TabBarItem):
1854 Restore flexible space items before and after the icon.
1855
nvasilyev@apple.com0eb9f1a2018-02-14 22:45:50 +000018562018-02-14 Nikita Vasilyev <nvasilyev@apple.com>
1857
1858 Web Inspector: Styles: completion popover doesn't hide when switching panels
1859 https://bugs.webkit.org/show_bug.cgi?id=182464
1860 <rdar://problem/37202763>
1861
1862 Reviewed by Timothy Hatcher.
1863
1864 Save the position of the anchor, an element the popover is shown for, and hide the completion popover
1865 when the position changes.
1866
1867 * UserInterface/Views/CompletionSuggestionsView.js:
1868 (WI.CompletionSuggestionsView.prototype.showUntilAnchorMoves):
1869 When the popover is visible, check every 200ms if the anchor moved.
1870
1871 (WI.CompletionSuggestionsView.prototype.hide):
1872 * UserInterface/Views/SpreadsheetTextField.js:
1873 (WI.SpreadsheetTextField.prototype._updateCompletions):
1874 (WI.SpreadsheetTextField.prototype._getCaretRect):
1875 getBoundingClientRect returns {x: 0, y: 0} when it can't determine node's position.
1876 This happens when a node isn't attached to DOM, attached to DOM but not visible, and
1877 a number of odd cases.
1878
mattbaker@apple.com9ae2c002018-02-14 20:17:30 +000018792018-02-14 Matt Baker <mattbaker@apple.com>
1880
1881 Web Inspector: TabBar redesign: only show allowed tabs in the available tabs context menu
1882 https://bugs.webkit.org/show_bug.cgi?id=182721
1883 <rdar://problem/37479019>
1884
1885 Reviewed by Timothy Hatcher.
1886
1887 In addition to only including allowed tabs in the TabBar context menu,
1888 perform a sanity check when setting the selected tab item, since the
1889 serialized selection index could refer to a tab that is no longer allowed.
1890
1891 * UserInterface/Views/LegacyTabBar.js:
1892 (WI.LegacyTabBar.prototype.set selectedTabBarItem):
1893 (WI.LegacyTabBar.prototype._handleContextMenu):
1894
1895 * UserInterface/Views/TabBar.js:
1896 (WI.TabBar.prototype.set selectedTabBarItem):
1897 (WI.TabBar.prototype._handleContextMenu):
1898
mattbaker@apple.com2df6e952018-02-09 20:40:10 +000018992018-02-09 Matt Baker <mattbaker@apple.com>
1900
mattbaker@apple.com87a77562018-02-10 06:15:46 +00001901 Web Inspector: Canvas tab: tree selection abruptly changes when selecting a recording frame
1902 https://bugs.webkit.org/show_bug.cgi?id=182667
1903 <rdar://problem/37412639>
1904
1905 Reviewed by Devin Rousso.
1906
1907 * UserInterface/Views/CanvasSidebarPanel.css:
1908 (.sidebar > .panel.navigation.canvas > .content > .recording-content > .navigation-bar):
1909 (.sidebar > .panel.navigation.canvas:not(.has-recordings) > .filter-bar,):
1910 (.sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline .item.recording > .icon):
1911 (.sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline .item.folder-icon > .icon):
1912 (.sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline .item.folder-icon > .status):
1913 (.sidebar > .panel.navigation.canvas > .content > .navigation-bar): Deleted.
1914 (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.recording > .icon): Deleted.
1915 (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.folder-icon > .icon): Deleted.
1916 (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.folder-icon > .status): Deleted.
1917 Style changes for the additional DOM element required to virtualize the recording tree outline.
1918
1919 * UserInterface/Views/CanvasSidebarPanel.js:
1920 (WI.CanvasSidebarPanel):
1921 In order to be virtualized, the tree must be the only child of its parent.
1922
1923 (WI.CanvasSidebarPanel.prototype.set action):
1924 Ensure that a frame tree element isn't deselected when the last action
1925 in the frame becomes selected in the RecordingContentView.
1926
1927 (WI.CanvasSidebarPanel.prototype.shown):
1928 Refresh the sidebar, as represented objects may have changed while hidden.
1929
1930 (WI.CanvasSidebarPanel.prototype._currentRepresentedObjectsDidChange):
1931 Unset the recording when no valid represented objects are found, to
1932 prevent a stale recording tree from being shown when viewing the overview.
1933
1934 (WI.CanvasSidebarPanel.prototype._canvasChanged):
1935 (WI.CanvasSidebarPanel.prototype._recordingChanged):
1936 (WI.CanvasSidebarPanel.prototype._updateRecordingScopeBar):
1937 Moved toggling of the "has-recordings" style to _canvasChanged, since
1938 the navigation bar should be hidden when no canvas exists.
1939
1940 * UserInterface/Views/CollectionContentView.js:
1941 (WI.CollectionContentView.prototype.addContentViewForItem):
1942 (WI.CollectionContentView.prototype.removeContentViewForItem):
1943 Drive by fixes for child view visible state.
1944
1945 * UserInterface/Views/TreeOutline.css:
1946 (.tree-outline:not(.large):matches(:focus, .force-focus) .item.selected .status .indeterminate-progress-spinner):
1947 Make spinner easier to see against the selection background color.
1948
19492018-02-09 Matt Baker <mattbaker@apple.com>
1950
mattbaker@apple.com2df6e952018-02-09 20:40:10 +00001951 Web Inspector: Object.shallowEqual always fails when comparing array property values
1952 https://bugs.webkit.org/show_bug.cgi?id=182634
1953 <rdar://problem/37374639>
1954
1955 Reviewed by Devin Rousso.
1956
1957 Object.shallowEqual should use Array.shallowEqual when comparing property
1958 values, since strictly comparing objects/arrays is only true if both
1959 operands reference the same Object.
1960
1961 * UserInterface/Base/Utilities.js:
1962 (value):
1963
mattbaker@apple.comb8adaba2018-02-09 00:52:28 +000019642018-02-08 Matt Baker <mattbaker@apple.com>
1965
1966 Web Inspector: add listing of Canvases/Programs/Recordings to the NavigationSidebar
1967 https://bugs.webkit.org/show_bug.cgi?id=178744
1968 <rdar://problem/35374379>
1969
1970 Reviewed by Devin Rousso.
1971
1972 * Localizations/en.lproj/localizedStrings.js:
1973
1974 * UserInterface/Images/Canvas2D.svg:
1975 * UserInterface/Images/Canvas3D.svg:
1976 * UserInterface/Images/Recording.svg:
1977 Update canvas icons to be monochrome. Simplified the recording icon.
1978
1979 * UserInterface/Main.html:
1980
1981 * UserInterface/Models/RecordingAction.js:
1982 (WI.RecordingAction.prototype.get state):
1983 (WI.RecordingAction.prototype.set state):
1984 Allow (2D) snapshot state to be associated with the action. Used by
1985 RecordingActionDetailsSidebarPanel to retrieve the snapshot state.
1986
1987 * UserInterface/Views/CanvasContentView.css:
1988 (.content-view.canvas:not(.tab)):
1989 (.content-view.canvas:not(.tab) > .progress): Deleted.
1990 (.content-view.canvas:not(.tab) > .progress > .frame-count): Deleted.
1991
1992 * UserInterface/Views/CanvasContentView.js:
1993 (WI.CanvasContentView):
1994 (WI.CanvasContentView.prototype.get navigationItems):
1995 (WI.CanvasContentView.prototype.layout):
1996 (WI.CanvasContentView.prototype.shown):
1997 (WI.CanvasContentView.prototype._recordingStarted):
1998 (WI.CanvasContentView.prototype._recordingProgress):
1999 (WI.CanvasContentView.prototype._recordingStopped):
2000 (WI.CanvasContentView.prototype._updateRecordNavigationItem):
2001 (WI.CanvasContentView.prototype._updateProgressView):
2002 Replace progress UI with a reusable ProgressView class.
2003 When in the overview, clicking the CanvasContentView shows a dedicated
2004 CanvasContentView for inspecting shaders and recordings. This behavior
2005 is controlled by CollectionContentView, so we need to prevent it when
2006 clicking inside the header and footer elements, which contain clickable UI.
2007
2008 * UserInterface/Views/CanvasDetailsSidebarPanel.js:
2009 (WI.CanvasDetailsSidebarPanel.prototype.inspect):
2010
2011 * UserInterface/Views/CanvasOverviewContentView.css:
2012 (.content-view.canvas-overview .content-view.canvas):
2013 (.content-view.canvas-overview .content-view.canvas.is-recording):
2014 (.content-view.canvas-overview .content-view.canvas > :matches(header, footer)):
2015 (.content-view.canvas-overview .content-view.canvas > header):
2016 (.content-view.canvas-overview .content-view.canvas.is-recording > header):
2017 (.content-view.canvas-overview .content-view.canvas > header > .navigation-bar):
2018 (.content-view.canvas-overview .content-view.canvas:matches(:hover, .is-recording) > header > .navigation-bar):
2019 (.content-view.canvas-overview .content-view.canvas.is-recording > .progress-view,):
2020 (.content-view.canvas-overview .content-view.canvas.is-recording > .preview):
2021 (.content-view.canvas-overview .content-view.canvas > :matches(header, .progress, .preview, footer)): Deleted.
2022 (.content-view.canvas-overview .content-view.canvas.selected > :matches(.progress, .preview, footer),): Deleted.
2023 (.content-view.canvas-overview .content-view.canvas:not(:hover, .is-recording, .selected) > header > .navigation-bar): Deleted.
2024 (.content-view.canvas-overview .content-view.canvas > :matches(.progress, .preview)): Deleted.
2025 (.content-view.canvas-overview .content-view.canvas > .preview): Deleted.
2026 (.content-view.canvas-overview .content-view.canvas > .progress ~ .preview): Deleted.
2027 Clean up styles, and remove selection styles as canvases are no longer selectable in the overview.
2028
2029 * UserInterface/Views/CanvasOverviewContentView.js:
2030 (WI.CanvasOverviewContentView):
2031 (WI.CanvasOverviewContentView.prototype.get navigationItems):
2032 (WI.CanvasOverviewContentView.prototype.attached):
2033 (WI.CanvasOverviewContentView.prototype.detached):
2034 (WI.CanvasOverviewContentView.prototype.get selectionPathComponents): Deleted.
2035 (WI.CanvasOverviewContentView.prototype._changeSelectedItemVertically): Deleted.
2036 (WI.CanvasOverviewContentView.prototype._changeSelectedItemHorizontally): Deleted.
2037 (WI.CanvasOverviewContentView.prototype._selectionPathComponentsChanged): Deleted.
2038 (WI.CanvasOverviewContentView.prototype._handleUp): Deleted.
2039 (WI.CanvasOverviewContentView.prototype._handleRight): Deleted.
2040 (WI.CanvasOverviewContentView.prototype._handleDown): Deleted.
2041 (WI.CanvasOverviewContentView.prototype._handleLeft): Deleted.
2042 (WI.CanvasOverviewContentView.prototype._handleSpace): Deleted.
2043 (WI.CanvasOverviewContentView.prototype._supplementalRepresentedObjectsDidChange): Deleted.
2044 Disable canvas selection. Remove logic for supplemental represented objects,
2045 path components, and selection keyboard shortcuts.
2046
2047 * UserInterface/Views/CanvasSidebarPanel.css: Added.
2048 (.sidebar > .panel.navigation.canvas > .content):
2049 (.sidebar > .panel.navigation.canvas > .navigation-bar > .item.record-start-stop.disabled):
2050 (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.canvas.canvas-2d .icon):
2051 (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.canvas.webgl .icon):
2052 (.sidebar > .panel.navigation.canvas > .content > .navigation-bar):
2053 (.sidebar > .panel.navigation.canvas.has-recordings > .content > .tree-outline.canvas):
2054 (.sidebar > .panel.navigation.canvas:not(.has-recordings) > .filter-bar,):
2055 (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.recording > .icon):
2056 (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.shader-program > .icon):
2057 (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.folder-icon > .icon):
2058 (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.folder-icon > .status):
2059
2060 * UserInterface/Views/CanvasSidebarPanel.js: Added.
2061 (WI.CanvasSidebarPanel):
2062 (WI.CanvasSidebarPanel.prototype.get canvas):
2063 (WI.CanvasSidebarPanel.prototype.set canvas):
2064 (WI.CanvasSidebarPanel.prototype.set recording):
2065 (WI.CanvasSidebarPanel.prototype.set action):
2066 (WI.CanvasSidebarPanel.prototype.shown):
2067 (WI.CanvasSidebarPanel.prototype.hidden):
2068 (WI.CanvasSidebarPanel.prototype.hasCustomFilters):
2069 (WI.CanvasSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
2070 (WI.CanvasSidebarPanel.prototype.initialLayout):
2071 (WI.CanvasSidebarPanel.prototype._recordingAdded):
2072 (WI.CanvasSidebarPanel.prototype._recordingRemoved):
2073 (WI.CanvasSidebarPanel.prototype._scopeBarSelectionChanged):
2074 (WI.CanvasSidebarPanel.prototype._toggleRecording):
2075 (WI.CanvasSidebarPanel.prototype._currentRepresentedObjectsDidChange):
2076 (WI.CanvasSidebarPanel.prototype._treeOutlineSelectionDidChange):
2077 (WI.CanvasSidebarPanel.prototype._canvasChanged):
2078 (WI.CanvasSidebarPanel.prototype._recordingChanged):
2079 (WI.CanvasSidebarPanel.prototype._updateRecordNavigationItem):
2080 (WI.CanvasSidebarPanel.prototype._updateRecordingScopeBar):
2081 Add new navigation sidebar, split into two sections. The upper section
2082 contains a tree with a single element for the current canvas, and child
2083 elements for any shader programs. The maximum height of this section is 50%
2084 of the sidebar's height. The lower section contains a tree for the selected
2085 recording, and a scope bar for choosing between recordings.
2086
2087 * UserInterface/Views/CanvasTabContentView.css:
2088 (.content-view.tab.canvas .navigation-bar > .item .canvas-overview .icon):
2089 (.content-view.tab.canvas .navigation-bar > .item .canvas.canvas-2d .icon):
2090 (.content-view.tab.canvas .navigation-bar > .item .canvas.webgl .icon):
2091 (.content-view.tab.canvas .navigation-bar > .item .shader-program > .icon):
2092 (.content-view.tab.canvas .navigation-bar > .item > .hierarchical-path-component > .icon): Deleted.
2093 (.content-view.tab.canvas .navigation-bar > .item .canvas .icon): Deleted.
2094
2095 * UserInterface/Views/CanvasTabContentView.js:
2096 (WI.CanvasTabContentView):
2097 (WI.CanvasTabContentView.prototype.canShowRepresentedObject):
2098 (WI.CanvasTabContentView.prototype.attached):
2099 (WI.CanvasTabContentView.prototype._addCanvas):
2100 (WI.CanvasTabContentView.prototype._removeCanvas):
2101 (WI.CanvasTabContentView.prototype._canvasTreeOutlineSelectionDidChange):
2102 (WI.CanvasTabContentView.prototype._recordingAdded):
2103 (WI.CanvasTabContentView.prototype._handleSpace):
2104 (WI.CanvasTabContentView.prototype.showRepresentedObject): Deleted.
2105 (WI.CanvasTabContentView.prototype._navigationSidebarTreeOutlineSelectionChanged): Deleted.
2106 (WI.CanvasTabContentView.prototype._recordingActionIndexChanged): Deleted.
2107 (WI.CanvasTabContentView.prototype._updateActionIndex): Deleted.
2108 The canvas tab now maintains a tree outline of all canvases, with an
2109 "Overview" element as the root. The Overview element is always the first
2110 item of content browser's hierarchical path.
2111
2112 * UserInterface/Views/CanvasTreeElement.js:
2113 (WI.CanvasTreeElement.createRecordingTreeElement):
2114 (WI.CanvasTreeElement):
2115 (WI.CanvasTreeElement.prototype.onattach):
2116 (WI.CanvasTreeElement.prototype.onpopulate):
2117 (WI.CanvasTreeElement.prototype._updateStatus):
2118 (WI.CanvasTreeElement.prototype.ondetach): Deleted.
2119 Make it possible to not show recordings under the Canvas element.
2120 Create `isRecording` status element (spinner).
2121
2122 * UserInterface/Views/CollectionContentView.js:
2123 (WI.CollectionContentView.prototype.shown):
2124 (WI.CollectionContentView.prototype.hidden):
2125 Child ContentViews need to be updated when the collection's visibility changes.
2126
2127 * UserInterface/Views/ContentView.js:
2128 (WI.ContentView.isViewable):
2129
2130 * UserInterface/Views/ProgressView.css: Added.
2131 (.progress-view):
2132 (.progress-view > .titles):
2133 (.progress-view > .titles > .title):
2134 (.progress-view > .titles > .subtitle):
2135 (.progress-view > .titles > .subtitle::before):
2136 (.progress-view > .indeterminate-progress-spinner):
2137
2138 * UserInterface/Views/ProgressView.js: Added.
2139 (WI.ProgressView):
2140 (WI.ProgressView.prototype.get title):
2141 (WI.ProgressView.prototype.set title):
2142 (WI.ProgressView.prototype.get subtitle):
2143 (WI.ProgressView.prototype.set subtitle):
2144 (WI.ProgressView.prototype.get visible):
2145 (WI.ProgressView.prototype.set visible):
2146 (WI.ProgressView.prototype.initialLayout):
2147 (WI.ProgressView.prototype._updateTitles):
2148 New view class (not a ContentView) for showing a generic progress message,
2149 with a title, subtitle, and progress spinner.
2150
2151 * UserInterface/Views/RecordingContentView.css:
2152 (.content-view:not(.tab).recording > .preview-container):
2153 Remove unnecessary styles.
2154
2155 * UserInterface/Views/RecordingContentView.js:
2156 (WI.RecordingContentView):
2157 (WI.RecordingContentView.prototype.get navigationItems):
2158 (WI.RecordingContentView.prototype.get supplementalRepresentedObjects):
2159 (WI.RecordingContentView.prototype.updateActionIndex):
2160 (WI.RecordingContentView.prototype.get saveData):
2161 (WI.RecordingContentView.prototype._exportRecording):
2162 Relocate the recording export logic and UI.
2163 (WI.RecordingContentView.prototype.async._generateContentCanvas2D):
2164 (WI.RecordingContentView.prototype.async._generateContentCanvasWebGL):
2165 (WI.RecordingContentView.prototype._sliderChanged):
2166 Refactor logic for notifying the rest of the UI of changes to the action slider.
2167 The selected action is now exposed as a supplemental represented object, and a
2168 corresponding SupplementalRepresentedObjectsDidChange event.
2169
2170 * UserInterface/Views/RecordingStateDetailsSidebarPanel.js:
2171 (WI.RecordingStateDetailsSidebarPanel.prototype.inspect):
2172 (WI.RecordingStateDetailsSidebarPanel.prototype.set action):
2173 (WI.RecordingStateDetailsSidebarPanel.prototype._generateDetailsCanvas2D):
2174 (WI.RecordingStateDetailsSidebarPanel):
2175 (WI.RecordingStateDetailsSidebarPanel.prototype.updateAction): Deleted.
2176
2177 * UserInterface/Views/RecordingTraceDetailsSidebarPanel.js:
2178 (WI.RecordingTraceDetailsSidebarPanel.prototype.inspect):
2179 (WI.RecordingTraceDetailsSidebarPanel.prototype.set action):
2180 (WI.RecordingTraceDetailsSidebarPanel):
2181 (WI.RecordingTraceDetailsSidebarPanel.prototype.updateAction): Deleted.
2182 Now that the selected action is exposed to the UI as a supplemental
2183 represented object, details sidebars can be more decoupled from the
2184 canvas tab, and be notified of changes to the selection via `inspect()`.
2185
2186 * UserInterface/Views/ResourceIcons.css:
2187 (.canvas > .icon): Deleted.
2188 (.shader-program .icon): Deleted.
2189
nvasilyev@apple.comc3a927d2018-02-08 23:18:28 +000021902018-02-08 Nikita Vasilyev <nvasilyev@apple.com>
2191
2192 Web Inspector: Styles: Typing value and quickly moving focus away may display outdated value in UI
2193 https://bugs.webkit.org/show_bug.cgi?id=182588
2194 <rdar://problem/37332161>
2195
2196 Reviewed by Matt Baker.
2197
2198 CSSProperty models were updated with a 250ms delay. Quickly adding a blank property after modifying
2199 an existing property could result in outdated values being shown.
2200
2201 This patch removes the 250ms delay.
2202
2203 * UserInterface/Views/SpreadsheetStyleProperty.js:
2204 (WI.SpreadsheetStyleProperty.prototype.spreadsheetTextFieldDidChange):
2205
mattbaker@apple.com029ef7a2018-02-08 00:58:25 +000022062018-02-07 Matt Baker <mattbaker@apple.com>
2207
2208 Web Inspector: replace isAncestor with Node.contains() in LegacyTabBar
2209 https://bugs.webkit.org/show_bug.cgi?id=182586
2210
2211 Reviewed by Timothy Hatcher.
2212
2213 * UserInterface/Views/LegacyTabBar.js:
2214
nvasilyev@apple.com92717732018-02-07 19:01:16 +000022152018-02-07 Nikita Vasilyev <nvasilyev@apple.com>
2216
2217 Web Inspector: Styles: completion popover doesn't hide when switching panels
2218 https://bugs.webkit.org/show_bug.cgi?id=182464
2219 <rdar://problem/37202763>
2220
2221 Reviewed by Timothy Hatcher.
2222
2223 Hide completion popover by triggering blur event on the focused text field.
2224 Removing text fields from the DOM tree would hide the completion popovers as well,
2225 but switching sidebar panels doesn't remove them from the DOM.
2226
2227 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
2228 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.hidden):
2229 * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
2230 (WI.SpreadsheetCSSStyleDeclarationSection.prototype.hidden):
2231 * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:
2232 (WI.SpreadsheetRulesStyleDetailsPanel.prototype.hidden):
2233 * UserInterface/Views/SpreadsheetStyleProperty.js:
2234 (WI.SpreadsheetStyleProperty.prototype.hidden):
2235
webkit@devinrousso.come1775ce2018-02-07 03:20:01 +000022362018-02-06 Devin Rousso <webkit@devinrousso.com>
2237
webkit@devinrousso.com7f34f522018-02-07 03:27:00 +00002238 Web Inspector: Replace isAncestor and isDescendant with native DOM contains method
2239 https://bugs.webkit.org/show_bug.cgi?id=182069
2240
2241 Reviewed by Brian Burg.
2242
2243 * UserInterface/Base/Main.js:
2244 (WI.restoreFocusFromElement):
2245 (WI._mouseDown):
2246 (WI._focusedContentBrowser):
2247 (WI._focusedContentView):
2248 * UserInterface/Base/Utilities.js:
2249 (Node.prototype.traverseNextNode):
2250 (Node.prototype.isAncestor): Deleted.
2251 (Node.prototype.isDescendant): Deleted.
2252 (Node.prototype.isSelfOrAncestor): Deleted.
2253 (Node.prototype.isSelfOrDescendant): Deleted.
2254 * UserInterface/Views/BoxModelDetailsSectionRow.js:
2255 (WI.BoxModelDetailsSectionRow.prototype._handleKeyDown):
2256 * UserInterface/Views/CSSStyleDeclarationSection.js:
2257 (WI.CSSStyleDeclarationSection.prototype._handleSelectorPaste):
2258 * UserInterface/Views/DOMTreeOutline.js:
2259 (WI.DOMTreeOutline.prototype._onmouseout):
2260 * UserInterface/Views/DetailsSection.js:
2261 (WI.DetailsSection.prototype._headerElementClicked):
2262 * UserInterface/Views/EditingSupport.js:
2263 (WI.incrementElementValue):
2264 * UserInterface/Views/LogContentView.js:
2265 (WI.LogContentView.prototype._handleContextMenuEvent):
2266 * UserInterface/Views/ShaderProgramTreeElement.js:
2267 (WI.ShaderProgramTreeElement.prototype.selectOnMouseDown):
2268 * UserInterface/Views/SoftContextMenu.js:
2269 (WI.SoftContextMenu.prototype._menuItemMouseOut):
2270 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
2271 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.initialLayout):
2272 * UserInterface/Views/TabBar.js:
2273 (WI.TabBar.prototype.insertTabBarItem):
2274
22752018-02-06 Devin Rousso <webkit@devinrousso.com>
2276
webkit@devinrousso.come1775ce2018-02-07 03:20:01 +00002277 Web Inspector: Elements tab should have "Jump to Layer" functionality
2278 https://bugs.webkit.org/show_bug.cgi?id=181800
2279
2280 Reviewed by Joseph Pecoraro.
2281
2282 * Localizations/en.lproj/localizedStrings.js:
2283
2284 * UserInterface/Base/Main.js:
2285 (WI.isShowingElementsTab):
2286 (WI.showLayersTab):
2287 (WI.isShowingLayersTab):
2288
2289 * UserInterface/Views/ContextMenuUtilities.js:
2290 (WI.appendContextMenuItemsForDOMNode):
2291
2292 * UserInterface/Views/LayersTabContentView.js:
2293 (WI.LayersTabContentView.prototype.selectLayerForNode):
2294
2295 * UserInterface/Views/Layers3DContentView.js:
2296 (WI.Layers3DContentView):
2297 (WI.Layers3DContentView.prototype.selectLayerForNode):
2298 (WI.Layers3DContentView.prototype.layout):
2299
2300 * UserInterface/Views/LayerDetailsSidebarPanel.js:
2301 (WI.LayerDetailsSidebarPanel):
2302 (WI.LayerDetailsSidebarPanel.prototype.selectNodeByLayerId):
2303 (WI.LayerDetailsSidebarPanel.prototype._updateDataGrid):
2304
nvasilyev@apple.coma9e56da2018-02-07 03:05:54 +000023052018-02-06 Nikita Vasilyev <nvasilyev@apple.com>
2306
2307 Web Inspector: Rename String.prototype.trimEnd to avoid conflicts with native trimEnd
2308 https://bugs.webkit.org/show_bug.cgi?id=182545
2309
2310 Reviewed by Brian Burg.
2311
2312 Rename:
2313 - trimEnd to truncateEnd
2314 - trimMiddle to truncateMiddle
2315
2316 * UserInterface/Base/Utilities.js:
2317 (String.prototype.trimMiddle): Deleted.
2318 (String.prototype.trimEnd): Deleted.
2319 (String.prototype.truncateMiddle): Added.
2320 (String.prototype.truncateEnd): Added.
2321 Use strict mode. Scrict mode allows `this` to be a primitive (a string, in our case).
2322 In non-strict mode, `this` is always an object. Without the strict mode,
2323 "a".truncateEnd(42) !== "a", because truncateEnd returns a string object.
2324
2325 * UserInterface/Views/DOMTreeElement.js:
2326 (WI.DOMTreeElement.prototype._buildAttributeDOM):
2327 * UserInterface/Views/DOMTreeElementPathComponent.js:
2328 (WI.DOMTreeElementPathComponent):
2329 * UserInterface/Views/SearchResultTreeElement.js:
2330 Remove an obvious comment.
2331
2332 (WI.SearchResultTreeElement.truncateAndHighlightTitle):
2333 * UserInterface/Views/SpreadsheetStyleProperty.js:
2334 (WI.SpreadsheetStyleProperty.prototype._renderValue):
2335
nvasilyev@apple.com2b126eb2018-02-05 22:37:51 +000023362018-02-05 Nikita Vasilyev <nvasilyev@apple.com>
2337
2338 Web Inspector: Add an experimental setting to enable Sources tab
2339 https://bugs.webkit.org/show_bug.cgi?id=182461
2340
2341 Reviewed by Brian Burg.
2342
2343 This patch only adds a setting. It doesn't add the Sources tab.
2344
2345 * Localizations/en.lproj/localizedStrings.js:
2346 * UserInterface/Base/Setting.js:
2347 * UserInterface/Views/SettingsTabContentView.js:
2348
webkit@devinrousso.comdb33a6a2018-02-02 22:52:56 +000023492018-02-02 Devin Rousso <webkit@devinrousso.com>
2350
2351 Web Inspector: Styles Redesign: Pasting multiple properties should create properties instead of a bad property
2352 https://bugs.webkit.org/show_bug.cgi?id=179622
2353 <rdar://problem/35511170>
2354
2355 Reviewed by Matt Baker.
2356
2357 * UserInterface/Views/SpreadsheetStyleProperty.js:
2358 (WI.SpreadsheetStyleProperty.prototype._remove):
2359 (WI.SpreadsheetStyleProperty.prototype._update):
2360 (WI.SpreadsheetStyleProperty.prototype.spreadsheetTextFieldDidCommit):
2361 (WI.SpreadsheetStyleProperty.prototype._handleNamePaste):
2362 When the user pastes into the name field, parse the text for a list of name-value pairs and
2363 replace the property being edited with the text of those pairs.
2364
2365 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
2366 (WI.SpreadsheetCSSStyleDeclarationEditor):
2367 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.layout):
2368 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.addBlankProperty):
2369 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyFocusMoved):
2370 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyAddBlankPropertySoon):
2371 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyRemoved):
2372 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._propertiesChanged):
2373 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetCSSStyleDeclarationEditorFocusMoved): Deleted.
2374 Calling `addBlankProperty` will trigger a layout on the next frame, but that might be before
2375 the CSSAgent has had a chance to finish refreshing, so we need a way to defer the creation
2376 of a new property until after we have finished the next layout (which is after the refresh).
2377 Drive-by: fix naming of some delegate functions.
2378
2379 * UserInterface/Models/CSSProperty.js:
2380 (WI.CSSProperty.prototype.replaceWithText):
2381 Provide a way for replacing the property with new text.
2382
mattbaker@apple.com0ea61b62018-02-02 21:04:52 +000023832018-02-02 Matt Baker <mattbaker@apple.com>
2384
2385 Web Inspector: TabBar redesign: remove New Tab button and add experimental feature flag
2386 https://bugs.webkit.org/show_bug.cgi?id=182342
2387 <rdar://problem/37078662>
2388
2389 Reviewed by Devin Rousso.
2390
2391 This patch adds a new experimental setting group, "User Interface", with
2392 a single setting, "Enable New TabBar". When enabled, the New Tab button is
2393 no longer available in the top-level TabBar. The 'open tabs' context menu
2394 no longer allows the last non-ephemeral open tab to be closed (unchecked).
2395
2396 * Localizations/en.lproj/localizedStrings.js:
2397
2398 * UserInterface/Base/Main.js:
2399 (WI.contentLoaded):
2400 (WI._tryToRestorePendingTabs):
2401 Retain legacy behavior behind experimental feature setting.
2402 (WI.isNewTabWithTypeAllowed):
2403
2404 * UserInterface/Base/Setting.js:
2405 * UserInterface/Main.html:
2406
2407 * UserInterface/Views/CanvasTabContentView.js:
2408 (WI.CanvasTabContentView):
2409 * UserInterface/Views/ConsoleTabContentView.js:
2410 (WI.ConsoleTabContentView):
2411 * UserInterface/Views/DebuggerTabContentView.js:
2412 (WI.DebuggerTabContentView):
2413 * UserInterface/Views/ElementsTabContentView.js:
2414 (WI.ElementsTabContentView):
2415
2416 * UserInterface/Views/GeneralTabBarItem.js:
2417 (WI.GeneralTabBarItem):
2418 (WI.GeneralTabBarItem.prototype.fromTabInfo):
2419 (WI.GeneralTabBarItem.prototype.get isEphemeral):
2420 (WI.GeneralTabBarItem.fromTabContentViewConstructor): Deleted.
2421
2422 * UserInterface/Views/LayersTabContentView.js:
2423 (WI.LayersTabContentView):
2424
2425 * UserInterface/Views/LegacyTabBar.js: Copied from Source/WebInspectorUI/UserInterface/Views/TabBar.js.
2426 (WI.LegacyTabBar):
2427 (WI.LegacyTabBar.prototype.get newTabTabBarItem):
2428 (WI.LegacyTabBar.prototype.updateNewTabTabBarItemState):
2429 (WI.LegacyTabBar.prototype.addTabBarItem):
2430 (WI.LegacyTabBar.prototype.insertTabBarItem.animateTabs):
2431 (WI.LegacyTabBar.prototype.insertTabBarItem.removeStyles):
2432 (WI.LegacyTabBar.prototype.insertTabBarItem):
2433 (WI.LegacyTabBar.prototype.removeTabBarItem.animateTabs):
2434 (WI.LegacyTabBar.prototype.removeTabBarItem.removeStyles):
2435 (WI.LegacyTabBar.prototype.removeTabBarItem):
2436 (WI.LegacyTabBar.prototype.selectPreviousTab):
2437 (WI.LegacyTabBar.prototype.selectNextTab):
2438 (WI.LegacyTabBar.prototype.get selectedTabBarItem):
2439 (WI.LegacyTabBar.prototype.set selectedTabBarItem):
2440 (WI.LegacyTabBar.prototype.get tabBarItems):
2441 (WI.LegacyTabBar.prototype.get normalTabCount):
2442 (WI.LegacyTabBar.prototype.layout.forceItemHidden):
2443 (WI.LegacyTabBar.prototype.layout):
2444 (WI.LegacyTabBar.prototype._tabBarItemsFromLeftToRight):
2445 (WI.LegacyTabBar.prototype._findTabBarItem):
2446 (WI.LegacyTabBar.prototype._hasMoreThanOneNormalTab):
2447 (WI.LegacyTabBar.prototype._openDefaultTab):
2448 (WI.LegacyTabBar.prototype._recordTabBarItemSizesAndPositions):
2449 (WI.LegacyTabBar.prototype._applyTabBarItemSizesAndPositions):
2450 (WI.LegacyTabBar.prototype._clearTabBarItemSizesAndPositions):
2451 (WI.LegacyTabBar.prototype._finishExpandingTabsAfterClose.):
2452 (WI.LegacyTabBar.prototype._finishExpandingTabsAfterClose):
2453 (WI.LegacyTabBar.prototype._handleMouseDown):
2454 (WI.LegacyTabBar.prototype._handleClick):
2455 (WI.LegacyTabBar.prototype._handleMouseMoved):
2456 (WI.LegacyTabBar.prototype._handleMouseUp):
2457 (WI.LegacyTabBar.prototype._handleMouseLeave):
2458 (WI.LegacyTabBar.prototype._handleContextMenu):
2459 (WI.LegacyTabBar.prototype._handleNewTabClick):
2460 (WI.LegacyTabBar.prototype._handleTabPickerTabContextMenu):
2461 (WI.LegacyTabBar.prototype._handleNewTabMouseEnter):
2462
2463 * UserInterface/Views/NetworkTabContentView.js:
2464 (WI.NetworkTabContentView):
2465 * UserInterface/Views/NewTabContentView.js:
2466 (WI.NewTabContentView):
2467 (WI.NewTabContentView.tabInfo):
2468 (WI.NewTabContentView.isEphemeral): Deleted.
2469 * UserInterface/Views/ResourcesTabContentView.js:
2470 (WI.ResourcesTabContentView):
2471 * UserInterface/Views/SearchTabContentView.js:
2472 (WI.SearchTabContentView):
2473 (WI.SearchTabContentView.tabInfo):
2474 (WI.SearchTabContentView.isEphemeral): Deleted.
2475
2476 * UserInterface/Views/SettingsTabContentView.js:
2477 (WI.SettingsTabContentView.tabInfo):
2478 (WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
2479 (WI.SettingsTabContentView.isEphemeral): Deleted.
2480
2481 * UserInterface/Views/StorageTabContentView.js:
2482 (WI.StorageTabContentView):
2483
2484 * UserInterface/Views/TabBar.css:
2485 * UserInterface/Views/TabBar.js:
2486 (WI.TabBar):
2487 (WI.TabBar.prototype.insertTabBarItem):
2488 (WI.TabBar.prototype.removeTabBarItem):
2489 (WI.TabBar.prototype.set selectedTabBarItem):
2490 (WI.TabBar.prototype.get normalNonEphemeralTabCount):
2491 (WI.TabBar.prototype._handleMouseDown):
2492 (WI.TabBar.prototype._handleClick):
2493 (WI.TabBar.prototype._handleMouseMoved):
2494 (WI.TabBar.prototype._handleMouseLeave):
2495 (WI.TabBar.prototype._handleContextMenu):
2496 (WI.TabBar.prototype._handleTabPickerTabContextMenu):
2497 (WI.TabBar.prototype.get newTabTabBarItem): Deleted.
2498 (WI.TabBar.prototype.updateNewTabTabBarItemState): Deleted.
2499 (WI.TabBar.prototype._openDefaultTab): Deleted.
2500 (WI.TabBar.prototype._handleNewTabClick): Deleted.
2501 (WI.TabBar.prototype._handleNewTabMouseEnter): Deleted.
2502 Remove support for the New Tab button and default tab. Without a default
2503 tab, there is nothing to display when no tabs are open, so prevent the
2504 last non-pinned tab from being removed.
2505
2506 * UserInterface/Views/TabBrowser.js:
2507 (WI.TabBrowser._tabBarItemRemoved):
2508 * UserInterface/Views/TabContentView.js:
2509 (WI.TabContentView.isEphemeral): Deleted.
2510 * UserInterface/Views/TimelineTabContentView.js:
2511 (WI.TimelineTabContentView):
2512
webkit@devinrousso.com594aa702018-01-31 00:39:18 +000025132018-01-30 Devin Rousso <webkit@devinrousso.com>
2514
2515 Web Inspector: Replace Object.shallowMerge with ES2018 spread operator
2516 https://bugs.webkit.org/show_bug.cgi?id=182219
2517
2518 Reviewed by Brian Burg.
2519
2520 * UserInterface/Base/Utilities.js:
2521 (Object.shallowMerge): Deleted.
2522 * UserInterface/Base/DOMUtilities.js:
2523 (WI.linkifyNodeReference):
2524 * UserInterface/Base/Main.js:
2525 (WI.handlePossibleLinkClick):
2526 (WI.openURL):
2527 (WI.showSourceCodeLocation):
2528 (WI.showOriginalUnformattedSourceCodeLocation):
2529 (WI.showOriginalOrFormattedSourceCodeLocation):
2530 (WI.showOriginalOrFormattedSourceCodeTextRange):
2531 (WI.linkifyLocation):
2532 * UserInterface/Views/DOMTreeElement.js:
2533 (WI.DOMTreeElement.prototype._insertAdjacentHTML):
2534 * UserInterface/Views/WebSocketContentView.js:
2535 (WI.WebSocketContentView.prototype._addRow):
2536
mattbaker@apple.com73348012018-01-27 00:49:10 +000025372018-01-26 Matt Baker <mattbaker@apple.com>
2538
mattbaker@apple.com0ead9da2018-01-27 01:36:36 +00002539 Web Inspector: Timelines content browser NavigationBar is squashed at narrow heights
2540 https://bugs.webkit.org/show_bug.cgi?id=182196
2541 <rdar://problem/36929899>
2542
2543 Reviewed by Joseph Pecoraro.
2544
2545 * UserInterface/Views/NavigationBar.css:
2546 (.navigation-bar):
2547
25482018-01-26 Matt Baker <mattbaker@apple.com>
2549
mattbaker@apple.com73348012018-01-27 00:49:10 +00002550 Web Inspector: TabBar redesign: improvements to tab layout and resize behavior
2551 https://bugs.webkit.org/show_bug.cgi?id=181468
2552 <rdar://problem/36395439>
2553
2554 Reviewed by Devin Rousso.
2555
2556 * Localizations/en.lproj/localizedStrings.js:
2557
2558 * UserInterface/Images/TabPicker.svg: Added.
2559 New ">>" icon for the tab picker button.
2560
2561 * UserInterface/Views/CanvasTabContentView.js:
2562 (WI.CanvasTabContentView):
2563 * UserInterface/Views/ConsoleTabContentView.js:
2564 (WI.ConsoleTabContentView):
2565 * UserInterface/Views/DebuggerTabContentView.js:
2566 (WI.DebuggerTabContentView):
2567 * UserInterface/Views/ElementsTabContentView.js:
2568 (WI.ElementsTabContentView):
2569
2570 * UserInterface/Views/GeneralTabBarItem.js:
2571 (WI.GeneralTabBarItem):
2572 (WI.GeneralTabBarItem.fromTabContentViewConstructor):
2573 (WI.GeneralTabBarItem.prototype.get title):
2574 Add missing override for getter/setter pair.
2575 (WI.GeneralTabBarItem.prototype.set title):
2576 (WI.GeneralTabBarItem.prototype._handleContextMenuEvent):
2577 Show the close button on ephemeral tabs only (Search, New Tab).
2578 Replace unused `representedObject` parameter with `isEphemeral`, which
2579 determines whether to show a close button for the tab.
2580
2581 * UserInterface/Views/LayersTabContentView.js:
2582 (WI.LayersTabContentView):
2583
2584 * UserInterface/Views/NavigationBar.js:
2585 Remove unused symbol.
2586
2587 * UserInterface/Views/NetworkTabContentView.js:
2588 (WI.NetworkTabContentView):
2589 * UserInterface/Views/NewTabContentView.js:
2590 (WI.NewTabContentView):
2591
2592 * UserInterface/Views/PinnedTabBarItem.js:
2593 (WI.PinnedTabBarItem):
2594 Remove unused parameter.
2595
2596 * UserInterface/Views/ResourcesTabContentView.js:
2597 (WI.ResourcesTabContentView):
2598 * UserInterface/Views/SearchTabContentView.js:
2599 (WI.SearchTabContentView):
2600 * UserInterface/Views/StorageTabContentView.js:
2601 (WI.StorageTabContentView):
2602
2603 * UserInterface/Views/TabBar.css:
2604 (.tab-bar > .item):
2605 (.tab-bar.calculate-width > .item):
2606 (.tab-bar > .item.pinned.tab-picker):
2607 (.tab-bar > .item > .close):
2608 (.tab-bar > .item > .title):
2609 (.tab-bar:not(.collapsed) > .item > .title):
2610 (.tab-bar.collapsed > .item:not(.pinned) > .icon):
2611 (.tab-bar > .item:hover > .close):
2612 (.tab-bar.collapsed > .item:hover > .close):
2613 (.tab-bar:not(.collapsed) > .item.ephemeral:hover > .icon):
2614 (.tab-bar.collapsed > .item.ephemeral:hover > .title):
2615 (body[dir=ltr] .tab-bar > .item > .close): Deleted.
2616 (body[dir=rtl] .tab-bar > .item > .close): Deleted.
2617 (.tab-bar > .item > .flex-space): Deleted.
2618 (.tab-bar > .item:not(.pinned) > .flex-space:last-child): Deleted.
2619 (body[dir=ltr] .tab-bar > .item:not(.pinned) > .flex-space:last-child): Deleted.
2620 (body[dir=rtl] .tab-bar > .item:not(.pinned) > .flex-space:last-child): Deleted.
2621 (body[dir=ltr] .tab-bar > .item > .title): Deleted.
2622 (body[dir=rtl] .tab-bar > .item > .title): Deleted.
2623 (.tab-bar.collapsed > .item): Deleted.
2624 (.tab-bar.collapsed > .item > .flex-space): Deleted.
2625 (.tab-bar.collapsed > .item > .close): Deleted.
2626 (body[dir=ltr] .tab-bar.collapsed > .item > .close): Deleted.
2627 (body[dir=rtl] .tab-bar.collapsed > .item > .close): Deleted.
2628 (.tab-bar.hide-titles > .item > .title): Deleted.
2629 (.tab-bar.collapsed:not(.hide-titles) > .item:not(.pinned):hover > .icon,): Deleted.
2630 (.tab-bar.collapsed:not(.hide-titles) > .item:hover > .close,): Deleted.
2631 Clean up tab styles and prevent tabs from shrinking during flex layout.
2632 Added new `calculate-width` class, to disable flex layout when measuring
2633 the minimum width of the TabBar required to fit all tab items.
2634
2635 * UserInterface/Views/TabBar.js:
2636 (WI.TabBar):
2637 (WI.TabBar.prototype.set selectedTabBarItem):
2638 (WI.TabBar.prototype.layout.forceItemHidden):
2639 (WI.TabBar.prototype.layout):
2640 Perform two layout passes, similar to NavigationBar. The first pass disables
2641 flex layout and measures tab items at full size. If the bar isn't wide enough
2642 to show all the tabs, hide their icons and measure again. If there still isn't
2643 room, hide tabs starting from the end of the bar and display the tab picker.
2644
2645 (WI.TabBar.prototype._handleMouseDown):
2646 (WI.TabBar.prototype._handleTabPickerTabContextMenu):
2647
2648 * UserInterface/Views/TabBarItem.js:
2649 (WI.TabBarItem):
2650
2651 * UserInterface/Views/TimelineTabContentView.js:
2652 (WI.TimelineTabContentView):
2653
commit-queue@webkit.orge4720eb2018-01-26 04:58:33 +000026542018-01-25 Joseph Pecoraro <pecoraro@apple.com>
2655
commit-queue@webkit.orgf8bef1a2018-01-26 05:30:29 +00002656 Web Inspector: Network Table: Sort indicator is not displayed when sorted column is hidden and re-shown
2657 https://bugs.webkit.org/show_bug.cgi?id=182164
2658 <rdar://problem/36892619>
2659
2660 Reviewed by Brian Burg.
2661
2662 * UserInterface/Views/Table.js:
2663 (WI.Table.prototype.showColumn):
2664 Re-add the sort classes if the column being shown is the active sort column.
2665
26662018-01-25 Joseph Pecoraro <pecoraro@apple.com>
2667
commit-queue@webkit.orgec61d272018-01-26 05:22:24 +00002668 Web Inspector: Network - Cookies view should behave better at narrow widths, all data is hidden
2669 https://bugs.webkit.org/show_bug.cgi?id=182163
2670 <rdar://problem/36893241>
2671
2672 Reviewed by Brian Burg.
2673
2674 * UserInterface/Views/ResourceCookiesContentView.css:
2675 (.resource-cookies .table):
2676 Give these tables a reasonable minimum size so that if the inspector
2677 is narrow, the content view can still be scrolled to see all of
2678 the table data.
2679
2680 * UserInterface/Views/Table.css:
2681 (.table > .header):
2682 Match the data-container and mark overflow as hidden, otherwise
2683 super narrow widths show header content beyond the edge.
2684
26852018-01-25 Joseph Pecoraro <pecoraro@apple.com>
2686
commit-queue@webkit.orge4720eb2018-01-26 04:58:33 +00002687 Web Inspector: "Displayed Columns" should not be displayed in context menu if all columns are required columns
2688 https://bugs.webkit.org/show_bug.cgi?id=182162
2689 <rdar://problem/36893758>
2690
2691 Reviewed by Matt Baker.
2692
2693 * UserInterface/Views/Table.js:
2694 (WI.Table.prototype._handleHeaderContextMenu):
2695 Only add the header column when we know there are hideable columns.
2696
commit-queue@webkit.orga9791512018-01-25 00:22:29 +000026972018-01-24 Joseph Pecoraro <pecoraro@apple.com>
2698
2699 Web Inspector: Simplify update-LegacyInspectorBackendCommands.rb
2700 https://bugs.webkit.org/show_bug.cgi?id=182067
2701
2702 Reviewed by Brian Burg.
2703
2704 * Scripts/update-LegacyInspectorBackendCommands.rb:
2705 Remove stale dependency_json, it has always been empty for a while now.
2706 Switch to framework WebInspectorUI to generate only the backend commands
2707 and not spend time generating a bunch of cpp files.
2708
nvasilyev@apple.comeca9aec2018-01-25 00:15:39 +000027092018-01-24 Nikita Vasilyev <nvasilyev@apple.com>
2710
2711 REGRESSION (r226994): Web Inspector: Styles: Suggestions popover floats in top-left corner of Web Inspector after tabbing
2712 https://bugs.webkit.org/show_bug.cgi?id=182027
2713
2714 Reviewed by Matt Baker.
2715
2716 r226994 added a layout of all properties on property removal. Layout caused
2717 a property element to be removed from DOM right before dislaying the suggestion
2718 popover, resulting in the popover being displayed at the top left corner.
2719
2720 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
2721 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.layout):
2722 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyRemoved):
2723 Only update property view indices when a property is removed.
2724
2725 * UserInterface/Views/SpreadsheetStyleProperty.js:
2726 (WI.SpreadsheetStyleProperty):
2727 (WI.SpreadsheetStyleProperty.prototype.set index):
2728
2729 * UserInterface/Views/SpreadsheetTextField.js:
2730 (WI.SpreadsheetTextField.prototype._updateCompletions):
2731 Checking this._element.parentNode to see if the element is attached to the DOM tree is unreliable,
2732 since the element may have a non-null parent node that is detached from the DOM tree. To fix that,
2733 we could traverse element's ancestors, but I used a concise isConnected property instead.
2734
commit-queue@webkit.org5e6bd7d2018-01-24 22:26:17 +000027352018-01-24 Joseph Pecoraro <pecoraro@apple.com>
2736
2737 ReferenceError:​ Can't find variable:​ DOMAgent (at ScriptSyntaxTree.js:​178:​22)​
2738 https://bugs.webkit.org/show_bug.cgi?id=182059
2739
2740 Reviewed by Matt Baker.
2741
2742 * UserInterface/Models/ScriptSyntaxTree.js:
2743 (WI.ScriptSyntaxTree.functionReturnDivot):
2744 DOMAgent won't be available in a ServiceWorker or JSContext inspector. So add
2745 a check for DOMAgent, and assume if DOMAgent doesn't exist that we should fall
2746 back to the latest path (non-iOS 9) target.
2747
commit-queue@webkit.org45355c82018-01-24 00:46:39 +000027482018-01-23 Joseph Pecoraro <pecoraro@apple.com>
2749
2750 Web Inspector: Network's columns shake when scrolling at non-default zoom level
2751 https://bugs.webkit.org/show_bug.cgi?id=181998
2752 <rdar://problem/36449808>
2753
2754 Reviewed by Matt Baker.
2755
2756 * UserInterface/Views/Table.js:
2757 When zoomed the bounding client rect values were fractional, which was
2758 unexpected by this area of code. Floor the values to get a value we expect
2759 to be able to evenly distribute.
2760
nvasilyev@apple.comda0a57c2018-01-23 00:52:32 +000027612018-01-22 Nikita Vasilyev <nvasilyev@apple.com>
2762
2763 Web Inspector: Styles Redesign: data corruption when updating values quickly
2764 https://bugs.webkit.org/show_bug.cgi?id=179461
2765 <rdar://problem/35431882>
2766
2767 Reviewed by Joseph Pecoraro.
2768
2769 Data corruption used to happen because CSSStyleDeclaration.prototype.text didn't
2770 update synchronously. Making two or more quick changes resulted in corrupted data.
2771
2772 Imagine we modify a CSS value 3 times:
2773
2774 Front-end: (1)-(2)---(3)
2775 Back-end: (1)-----(2)-(3)
2776
2777 The first response from the backend could happen after the 2nd edit. In this patch,
2778 CSSStyleDeclaration is locked when its view is being edited.
2779
2780 To correctly display invalid and overridden properties, the backend is allowed to update
2781 CSSStyleDeclaration and CSSProperty when they're locked if the text from the backend
2782 matches the model's text. This should happen when the backend is caught up with the
2783 front-end changes.
2784
2785 * UserInterface/Models/CSSProperty.js:
2786 (WI.CSSProperty.prototype.update):
2787 * UserInterface/Models/CSSStyleDeclaration.js:
2788 (WI.CSSStyleDeclaration):
2789 (WI.CSSStyleDeclaration.prototype.get locked):
2790 (WI.CSSStyleDeclaration.prototype.set locked):
2791 (WI.CSSStyleDeclaration.prototype.set text):
2792
2793 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
2794 (WI.SpreadsheetCSSStyleDeclarationEditor):
2795 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.initialLayout):
2796 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.detached):
2797 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.get editing):
2798 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.set focused):
2799 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.set inlineSwatchActive):
2800 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.stylePropertyInlineSwatchActivated):
2801 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.stylePropertyInlineSwatchDeactivated):
2802 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._propertiesChanged):
2803 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._updateStyleLock):
2804 Lock CSSStyleDeclaration when a CSS property name or value is focused or
2805 an inline widget is active.
2806
2807 * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
2808 (WI.SpreadsheetCSSStyleDeclarationSection):
2809 (WI.SpreadsheetCSSStyleDeclarationSection.prototype._handleMouseDown):
2810 (WI.SpreadsheetCSSStyleDeclarationSection.prototype._handleClick):
2811 * UserInterface/Views/SpreadsheetStyleProperty.js:
2812 (WI.SpreadsheetStyleProperty):
2813 (WI.SpreadsheetStyleProperty.prototype._createInlineSwatch):
2814 When selector is focused, clicking on the white-space should not add a new blank property.
2815
ross.kirsling@sony.com56b55eb2018-01-19 23:18:44 +000028162018-01-19 Ross Kirsling <ross.kirsling@sony.com>
2817
2818 Web Inspector: Layers tab should do away with popovers (if possible)
2819 https://bugs.webkit.org/show_bug.cgi?id=181805
2820
2821 Reviewed by Matt Baker.
2822
2823 * Localizations/en.lproj/localizedStrings.js:
2824 Remove superfluous colon from a string.
2825
2826 * UserInterface/Main.html:
2827 * UserInterface/Views/LayerDetailsSidebarPanel.css:
2828 * UserInterface/Views/Layers3DContentView.css: Added.
2829 Remove popover styling from sidebar, add new file with similar styling for canvas overlay.
2830
2831 * UserInterface/Views/LayerDetailsSidebarPanel.js:
2832 (WI.LayerDetailsSidebarPanel):
2833 (WI.LayerDetailsSidebarPanel.prototype.selectNodeByLayerId):
2834 (WI.LayerDetailsSidebarPanel.prototype._dataGridSelectedNodeChanged):
2835 (WI.LayerDetailsSidebarPanel.prototype._updateLayers):
2836 (WI.LayerDetailsSidebarPanel.prototype._updateBottomBar):
2837 (WI.LayerDetailsSidebarPanel.prototype.willDismissPopover): Deleted.
2838 (WI.LayerDetailsSidebarPanel.prototype._showPopoverForSelectedNode): Deleted.
2839 (WI.LayerDetailsSidebarPanel.prototype._presentPopover): Deleted.
2840 (WI.LayerDetailsSidebarPanel.prototype._contentForPopover): Deleted.
2841 (WI.LayerDetailsSidebarPanel.prototype._populateListOfCompositingReasons.addReason): Deleted.
2842 (WI.LayerDetailsSidebarPanel.prototype._populateListOfCompositingReasons): Deleted.
2843 * UserInterface/Views/Layers3DContentView.js:
2844 (WI.Layers3DContentView):
2845 (WI.Layers3DContentView.prototype.shown):
2846 (WI.Layers3DContentView.prototype.selectLayerById):
2847 (WI.Layers3DContentView.prototype._canvasMouseDown):
2848 (WI.Layers3DContentView.prototype._buildLayerInfoElement):
2849 (WI.Layers3DContentView.prototype._updateLayerInfoElement):
2850 (WI.Layers3DContentView.prototype._updateReasonsList):
2851 Remove popover from sidebar table, overlay div with same data arrangement on top of the canvas.
2852 Also reverse the fix from r226671 since the visualization is no longer unusable without the sidebar!
2853
mattbaker@apple.com94f98b92018-01-19 23:01:11 +000028542018-01-19 Matt Baker <mattbaker@apple.com>
2855
2856 Web Inspector: Canvas Tab: Multiple "waiting for frames" messages displayed
2857 https://bugs.webkit.org/show_bug.cgi?id=181865
2858 <rdar://problem/36664737>
2859
2860 Reviewed by Devin Rousso.
2861
2862 * UserInterface/Views/CanvasContentView.js:
2863 (WI.CanvasContentView.prototype._recordingStarted):
2864 (WI.CanvasContentView.prototype._recordingStopped):
2865
nvasilyev@apple.com4f2ceb42018-01-19 20:13:20 +000028662018-01-19 Nikita Vasilyev <nvasilyev@apple.com>
2867
nvasilyev@apple.com98b5d642018-01-19 21:36:58 +00002868 Web Inspector: Styles Redesign: tabbing on commented out property throws exception
2869 https://bugs.webkit.org/show_bug.cgi?id=180676
2870 <rdar://problem/35981058>
2871
2872 Reviewed by Joseph Pecoraro.
2873
2874 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
2875 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.startEditingFirstProperty):
2876 Tabbing from the selector field should focus on the first editable property.
2877 When no editable properties are present, a new blank property should be added after the commented out ones.
2878
2879 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.startEditingLastProperty):
2880 Shift-tabbing from the selector field should focus on the last editable property of the previous CSS rule.
2881 When no editable properties are present, a new blank property should be added after the commented out ones.
2882
2883 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetCSSStyleDeclarationEditorFocusMoved):
2884 When navigating between properties skip the commented out ones.
2885
2886 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._editablePropertyAfter):
2887 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._editablePropertyBefore):
2888 * UserInterface/Views/SpreadsheetStyleProperty.js:
2889 (WI.SpreadsheetStyleProperty.prototype.get enabled):
2890 (WI.SpreadsheetStyleProperty.prototype._update):
2891
28922018-01-19 Nikita Vasilyev <nvasilyev@apple.com>
2893
nvasilyev@apple.com4f2ceb42018-01-19 20:13:20 +00002894 Web Inspector: Make styles sidebar always LTR
2895 https://bugs.webkit.org/show_bug.cgi?id=175357
2896 <rdar://problem/33787988>
2897
2898 Reviewed by Joseph Pecoraro.
2899
2900 * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:
2901 (WI.SpreadsheetRulesStyleDetailsPanel):
2902
keith_miller@apple.combd951472018-01-19 18:33:52 +000029032018-01-19 Keith Miller <keith_miller@apple.com>
2904
2905 HaveInternalSDK includes should be "#include?"
2906 https://bugs.webkit.org/show_bug.cgi?id=179670
2907
2908 Reviewed by Dan Bernstein.
2909
2910 * Configurations/Base.xcconfig:
2911
mitz@apple.come8cb0be2018-01-18 19:49:51 +000029122018-01-18 Dan Bernstein <mitz@apple.com>
2913
2914 [Xcode] Streamline and future-proof target-macOS-version-dependent build setting definitions
2915 https://bugs.webkit.org/show_bug.cgi?id=181803
2916
2917 Reviewed by Tim Horton.
2918
2919 * Configurations/Base.xcconfig: Updated.
2920 * Configurations/DebugRelease.xcconfig: Ditto.
2921 * Configurations/Version.xcconfig: Ditto.
2922
webkit@devinrousso.com37da84f2018-01-18 19:41:00 +000029232018-01-18 Devin Rousso <webkit@devinrousso.com>
2924
2925 Web Inspector: Canvas Tab: record button on canvas card doesn't always show on hover, or is misplaced
2926 https://bugs.webkit.org/show_bug.cgi?id=179183
2927
2928 Reviewed by Joseph Pecoraro.
2929
2930 * UserInterface/Views/CanvasOverviewContentView.css:
2931 (.content-view.canvas-overview .content-view.canvas:not(.is-recording) > header > .navigation-bar > .item.record-start-stop): Deleted.
2932
webkit@devinrousso.com035c5722018-01-18 05:03:26 +000029332018-01-17 Devin Rousso <webkit@devinrousso.com>
2934
2935 Web Inspector: clicking on a path component that has no siblings should select it
2936 https://bugs.webkit.org/show_bug.cgi?id=181772
2937
2938 Reviewed by Joseph Pecoraro.
2939
2940 * UserInterface/Views/HierarchicalPathComponent.js:
2941 (WI.HierarchicalPathComponent.prototype._updateSelectElement):
2942 (WI.HierarchicalPathComponent.prototype._selectElementMouseDown):
2943
commit-queue@webkit.org5c38b6c2018-01-17 18:41:56 +000029442018-01-17 Joseph Pecoraro <pecoraro@apple.com>
2945
commit-queue@webkit.orgb27a05e2018-01-17 20:25:02 +00002946 Web Inspector: Add back localized strings for Styles sidebar panels
2947 https://bugs.webkit.org/show_bug.cgi?id=181748
2948 <rdar://problem/36583184>
2949
2950 Reviewed by Brian Burg.
2951
2952 * Localizations/en.lproj/localizedStrings.js:
2953 * UserInterface/Views/ComputedStyleDetailsSidebarPanel.js:
2954 (WI.ComputedStyleDetailsSidebarPanel):
2955 * UserInterface/Views/RulesStyleDetailsSidebarPanel.js:
2956 (WI.RulesStyleDetailsSidebarPanel):
2957 * UserInterface/Views/VisualStyleDetailsSidebarPanel.js:
2958 (WI.VisualStyleDetailsSidebarPanel):
2959 Add back localized strings for panel titles lost in r225547.
2960
29612018-01-17 Joseph Pecoraro <pecoraro@apple.com>
2962
commit-queue@webkit.org5c38b6c2018-01-17 18:41:56 +00002963 Web Inspector: Super long URL string causes bad wrapping in Resources detail sidebar
2964 https://bugs.webkit.org/show_bug.cgi?id=181617
2965
2966 Reviewed by Brian Burg.
2967
2968 * UserInterface/Views/DetailsSection.css:
2969 (.details-section > .content > .group > .row.simple > .value):
2970 Set the break to all characters.
2971
mattbaker@apple.comf13364d2018-01-16 23:17:36 +000029722018-01-16 Matt Baker <mattbaker@apple.com>
2973
2974 Web Inspector: Canvas tab: typing a "space" in the QuickConsole shouldn't trigger a recording
2975 https://bugs.webkit.org/show_bug.cgi?id=181706
2976 <rdar://problem/36558221>
2977
2978 Reviewed by Joseph Pecoraro.
2979
2980 * UserInterface/Views/CanvasOverviewContentView.js:
2981 (WI.CanvasOverviewContentView):
2982 (WI.CanvasOverviewContentView.prototype._handleSpace):
2983
commit-queue@webkit.org4b0009c2018-01-16 22:26:26 +000029842018-01-16 Joseph Pecoraro <pecoraro@apple.com>
2985
2986 Web Inspector: Make Console's Execution Context picker stand out when it is non-default
2987 https://bugs.webkit.org/show_bug.cgi?id=181628
2988 <rdar://problem/36492044>
2989
2990 Reviewed by Matt Baker.
2991
2992 * UserInterface/Views/HierarchicalPathComponent.css:
2993 (.hierarchical-path-component > .selector-arrows):
2994 * UserInterface/Views/HierarchicalPathComponent.js:
2995 (WI.HierarchicalPathComponent.prototype.set selectorArrows):
2996 Switch to SVG element so we can style the arrows.
2997
2998 * UserInterface/Views/QuickConsole.css:
2999 (.quick-console > .navigation-bar > .hierarchical-path .execution-context):
3000 (.quick-console > .navigation-bar > .hierarchical-path .execution-context .separator):
3001 (.quick-console > .navigation-bar > .hierarchical-path.non-default-execution-context .execution-context):
3002 (.quick-console > .navigation-bar > .hierarchical-path.non-default-execution-context .execution-context .selector-arrows):
3003 Styles for the execution context picker. We hide the unused separator
3004 and instead use margin so that the selected background and border don't
3005 have an extra 7px on the right/end side.
3006
3007 * UserInterface/Views/QuickConsole.js:
3008 (WI.QuickConsole.prototype._activeExecutionContextChanged):
3009 Toggle the non-default class name on the path.
3010
nvasilyev@apple.com1a133f32018-01-16 20:23:12 +000030112018-01-16 Nikita Vasilyev <nvasilyev@apple.com>
3012
nvasilyev@apple.com00c66e32018-01-16 20:54:04 +00003013 Web Inspector: Styles: pressing down key should select first item from completion list when focusing on empty value
3014 https://bugs.webkit.org/show_bug.cgi?id=181633
3015 <rdar://problem/36501797>
3016
3017 Reviewed by Joseph Pecoraro.
3018
3019 * UserInterface/Views/SpreadsheetTextField.js:
3020 (WI.SpreadsheetTextField.prototype._updateCompletions):
3021
30222018-01-16 Nikita Vasilyev <nvasilyev@apple.com>
3023
nvasilyev@apple.com7afead02018-01-16 20:31:54 +00003024 Web Inspector: Styles Redesign: Long value causes bad wrapping
3025 https://bugs.webkit.org/show_bug.cgi?id=181618
3026 <rdar://problem/36485175>
3027
3028 Reviewed by Joseph Pecoraro.
3029
3030 Wrap long values only when editing.
3031
3032 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
3033 (.spreadsheet-style-declaration-editor .value.editing):
3034
30352018-01-16 Nikita Vasilyev <nvasilyev@apple.com>
3036
nvasilyev@apple.com1a133f32018-01-16 20:23:12 +00003037 Web Inspector: Styles Redesign: clicking on the white space after the property sometimes places a blank property at the wrong index
3038 https://bugs.webkit.org/show_bug.cgi?id=179585
3039 <rdar://problem/35490780>
3040
3041 Reviewed by Joseph Pecoraro.
3042
3043 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
3044 (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyRemoved):
3045 Layout call is needed to update data-property-index attributes on the property views.
3046
commit-queue@webkit.orgad830a32018-01-16 20:20:35 +000030472018-01-16 Joseph Pecoraro <pecoraro@apple.com>
3048
3049 Web Inspector: Network Tab - Export HAR Context Menu not working
3050 https://bugs.webkit.org/show_bug.cgi?id=181694
3051 <rdar://problem/36479197>
3052
3053 Reviewed by Brian Burg.
3054
3055 * UserInterface/Views/NetworkTableContentView.js:
3056 (WI.NetworkTableContentView.prototype.tableCellContextMenuClicked):
3057 Ensure `this` works in the handler.
3058
mattbaker@apple.com34822982018-01-16 07:03:57 +000030592018-01-15 Matt Baker <mattbaker@apple.com>
3060
3061 Web Inspector: TabBar redesign: add context menu to TabBar for toggling available tabs
3062 https://bugs.webkit.org/show_bug.cgi?id=181448
3063 <rdar://problem/36383298>
3064
3065 Reviewed by Devin Rousso.
3066
3067 * UserInterface/Base/Main.js:
3068 (WI.loaded):
3069 (WI.contentLoaded):
3070 Reorder production tab classes and default (open) tabs.
3071 (WI.registerTabClass): Removed.
3072 Not used.
3073
3074 * UserInterface/Base/Object.js:
3075 Remove notification that is no longer used.
3076
3077 * UserInterface/Views/GeneralTabBarItem.js:
3078 (WI.GeneralTabBarItem):
3079 (WI.GeneralTabBarItem.prototype.set title):
3080 (WI.GeneralTabBarItem.prototype._handleContextMenuEvent): Deleted.
3081 Remove per-tab context menu (provided Close Tab and Close Other Tabs).
3082
3083 * UserInterface/Views/NewTabContentView.js:
3084 (WI.NewTabContentView):
3085
3086 * UserInterface/Views/TabBar.js:
3087 (WI.TabBar):
3088 (WI.TabBar.prototype._handleContextMenu):
3089
3090 * UserInterface/Views/TabBrowser.js:
3091 (WI.TabBrowser):
3092 (WI.TabBrowser._handleNewTabContextMenu): Deleted.
3093 No longer needed.
3094
nvasilyev@apple.com460e7352018-01-14 04:06:15 +000030952018-01-13 Nikita Vasilyev <nvasilyev@apple.com>
3096
3097 Web Inspector: Styles Redesign: properties should never be semitransparent or crossed out while editing
3098 https://bugs.webkit.org/show_bug.cgi?id=180793
3099 <rdar://problem/36038813>
3100
3101 Reviewed by Devin Rousso.
3102
3103 * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
3104 (.spreadsheet-style-declaration-editor .value.editing):
3105 (.spreadsheet-style-declaration-editor .property:matches(.invalid-name, .other-vendor, .overridden):not(.disabled) .content > *):
3106 (.spreadsheet-style-declaration-editor .property.invalid-name:not(.disabled) .content > *):
3107 (.spreadsheet-style-declaration-editor .property.invalid-value:not(.disabled) .content .value):
3108 (.spreadsheet-style-declaration-editor .property.not-inherited .content > *):
3109 * UserInterface/Views/SpreadsheetStyleProperty.js:
3110 (WI.SpreadsheetStyleProperty.prototype._update):
3111
commit-queue@webkit.org53962592018-01-12 21:03:22 +000031122018-01-12 Joseph Pecoraro <pecoraro@apple.com>
3113
commit-queue@webkit.org0b67c282018-01-12 21:47:07 +00003114 Web Inspector: Drop support for iOS 7 targets
3115 https://bugs.webkit.org/show_bug.cgi?id=181549
3116 <rdar://problem/36444813>
3117
3118 Reviewed by Brian Burg.
3119
3120 * Versions/Inspector-iOS-7.0.json: Removed.
3121 * UserInterface/Protocol/Legacy/7.0/InspectorBackendCommands.js: Removed.
3122 Remove protocol snapshot and generated commands for iOS 7.
3123
3124 * UserInterface/Base/Main.js:
3125 * UserInterface/Controllers/BreakpointPopoverController.js:
3126 (WI.BreakpointPopoverController.prototype._createPopoverContent):
3127 * UserInterface/Controllers/DebuggerManager.js:
3128 (WI.DebuggerManager.prototype._setBreakpoint):
3129 * UserInterface/Controllers/SourceMapManager.js:
3130 (WI.SourceMapManager.prototype._loadAndParseSourceMap):
3131 * UserInterface/Models/Instrument.js:
3132 (WI.Instrument.startLegacyTimelineAgent):
3133 * UserInterface/Models/ResourceTimingData.js:
3134 * UserInterface/Models/ScriptTimelineRecord.js:
3135 (WI.ScriptTimelineRecord.EventType.displayName):
3136 * UserInterface/Models/SourceMapResource.js:
3137 (WI.SourceMapResource.prototype.requestContentFromBackend):
3138 * UserInterface/Protocol/CSSObserver.js:
3139 (WI.CSSObserver.prototype.regionLayoutUpdated): Deleted.
3140 * UserInterface/Protocol/RemoteObject.js:
3141 (WI.RemoteObject.fromPayload):
3142 Remove code that was only necessary to support iOS 7.
3143
31442018-01-12 Joseph Pecoraro <pecoraro@apple.com>
3145
commit-queue@webkit.org53962592018-01-12 21:03:22 +00003146 Web Inspector: Support JSX (React) syntax highlighting
3147 https://bugs.webkit.org/show_bug.cgi?id=181607
3148 <rdar://problem/36442564>
3149
3150 Reviewed by Brian Burg.
3151
3152 * UserInterface/Base/MIMETypeUtilities.js:
3153 (WI.mimeTypeForFileExtension):
3154 (WI.fileExtensionForMIMEType):
3155 * UserInterface/Models/Resource.js:
3156 Support the jsx extension and mime types.
3157
3158 * UserInterface/Main.html:
3159 * Scripts/update-codemirror-resources.rb:
3160 * UserInterface/External/CodeMirror/jsx.js: Added.
3161 Include new mode from CodeMirror@d8926768.
3162
commit-queue@webkit.orgecdf31a2018-01-11 08:19:08 +000031632018-01-11 Joseph Pecoraro <pecoraro@apple.com>
3164
commit-queue@webkit.orgc47e70e2018-01-12 00:30:45 +00003165 Web Inspector: Rename "Query String" section as "Query String Parameters" for clarity
3166 https://bugs.webkit.org/show_bug.cgi?id=181464
3167
3168 Reviewed by Darin Adler.
3169
3170 * Localizations/en.lproj/localizedStrings.js:
3171 * UserInterface/Views/ResourceHeadersContentView.js:
3172 (WI.ResourceHeadersContentView.prototype.initialLayout):
3173
31742018-01-11 Joseph Pecoraro <pecoraro@apple.com>
3175
commit-queue@webkit.orgecdf31a2018-01-11 08:19:08 +00003176 Web Inspector: Remove unused variable in WI.DebuggerSidebarPanel
3177 https://bugs.webkit.org/show_bug.cgi?id=181517
3178
3179 Reviewed by Matt Baker.
3180
3181 * UserInterface/Views/DebuggerSidebarPanel.js:
3182
commit-queue@webkit.orgd0acc272018-01-11 07:05:12 +000031832018-01-10 Joseph Pecoraro <pecoraro@apple.com>
3184
commit-queue@webkit.org2f64c112018-01-11 07:07:52 +00003185 REGRESSION(r218975): Web Inspector: Add back NavigationSidebarPanel initialization parameter used by SearchSidebarPanel (top overflow shadow)
3186 https://bugs.webkit.org/show_bug.cgi?id=181518
3187 <rdar://problem/36427197>
3188
3189 Reviewed by Matt Baker.
3190
3191 * UserInterface/Views/NavigationSidebarPanel.css:
3192 (.sidebar > .panel.navigation > .overflow-shadow.top):
3193 * UserInterface/Views/NavigationSidebarPanel.js:
3194 (WI.NavigationSidebarPanel):
3195 Add back the initialization parameter still used by SearchSidebarPanel
3196 and add back its implementation. There were still references to
3197 dynamically update _topOverflowShadowElement in NavigationSidebarPanel.
3198
31992018-01-10 Joseph Pecoraro <pecoraro@apple.com>
3200
commit-queue@webkit.orgd0acc272018-01-11 07:05:12 +00003201 Web Inspector: Incorrect check with WI.debuggableType
3202 https://bugs.webkit.org/show_bug.cgi?id=181515
3203 <rdar://problem/36425509>
3204
3205 Reviewed by Brian Burg.
3206
3207 * UserInterface/Base/Main.js:
3208 (WI.contentLoaded):
3209 This moved to WI.sharedApp a while ago.
3210
mattbaker@apple.comef5b4372018-01-11 03:36:29 +000032112018-01-10 Matt Baker <mattbaker@apple.com>
3212
3213 Web Inspector: Canvas tab: throttle recording slider updates
3214 https://bugs.webkit.org/show_bug.cgi?id=180839
3215 <rdar://problem/36057849>
3216
3217 Reviewed by Joseph Pecoraro
3218
3219 * UserInterface/Base/Utilities.js:
3220 Add Object.throttle and Function.cancelThrottle. Repeated calls to a
3221 function on a throttled object are delayed, so that the function isn't
3222 invoked more frequently than the specified delay value.
3223
3224 For a description of throttling behavior see:
3225 - http://www.chrislondon.co/throttling-vs-debouncing
3226 - http://benalman.com/projects/jquery-throttle-debounce-plugin
3227
3228 * UserInterface/Views/RecordingContentView.js:
3229 (WI.RecordingContentView.prototype.updateActionIndex):
3230 Throttle frequency of canvas snapshot creation to 200ms.
3231 (WI.RecordingContentView.prototype.hidden):
3232 Prevent trailing edge call after hiding the view.
3233
commit-queue@webkit.org97cca382018-01-10 20:19:20 +000032342018-01-10 Joseph Pecoraro <pecoraro@apple.com>
3235
3236 Web Inspector: Should not try to autocomplete subsections of a string
3237 https://bugs.webkit.org/show_bug.cgi?id=181461
3238 <rdar://problem/36369421>
3239
3240 Reviewed by Brian Burg.
3241
3242 * UserInterface/Controllers/CodeMirrorCompletionController.js:
3243 (WI.CodeMirrorCompletionController.prototype._completeAtCurrentPosition):
3244 Disable autocompletion within strings.
3245
commit-queue@webkit.org2b3c6662018-01-10 03:17:27 +000032462018-01-09 Joseph Pecoraro <pecoraro@apple.com>
3247
3248 REGRESSION(r201855): Web Inspector: Should see "length" autocompletion suggestion on a string literal
3249 https://bugs.webkit.org/show_bug.cgi?id=181462
3250 <rdar://problem/36390699>
3251
3252 Reviewed by Matt Baker.
3253
3254 * UserInterface/Controllers/JavaScriptRuntimeCompletionProvider.js:
3255 (WI.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded.inspectedPage_evalResult_getCompletions):
3256 This is code that runs on the inspected target, which may have an old version of
3257 WebKit/JavaScriptCore, so don't use new syntax like this.
3258
3259 (WI.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded):
3260 We intended to return the result by as a JSON value instead of a RemoteObject.
3261
ross.kirsling@sony.comc9167ef2018-01-10 02:43:36 +000032622018-01-09 Ross Kirsling <ross.kirsling@sony.com>
3263
3264 Web Inspector: Layers sidebar shows popover on selection even when collapsed
3265 https://bugs.webkit.org/show_bug.cgi?id=181465
3266
3267 Reviewed by Matt Baker.
3268
3269 * UserInterface/Views/LayerDetailsSidebarPanel.js:
3270 (WI.LayerDetailsSidebarPanel.prototype.selectNodeByLayerId):
3271 Have sidebar show itself if necessary before displaying popover.
3272
commit-queue@webkit.orgba467f22018-01-08 17:42:17 +000032732018-01-08 Joseph Pecoraro <pecoraro@apple.com>
3274
3275 Web Inspector: Find next / previous within a resource content view does not have bouncy highlight when editor scrolls
3276 https://bugs.webkit.org/show_bug.cgi?id=181279
3277 <rdar://problem/36291097>
3278
3279 Reviewed by Brian Burg.
3280
3281 * UserInterface/Views/TextEditor.js:
3282 (WI.TextEditor.prototype._revealSearchResult):
3283 Reposition the bouncy highlight on scroll based on the CodeMirror
3284 line/ch position of the search result.
3285
3286 (WI.TextEditor.prototype._removeBouncyHighlightElementIfNeeded):
3287 Track the bouncy highlight scroll handler in a member variable so that
3288 we always remember to remove it and don't leak scroll handlers.
3289
ddkilzer@apple.com925e86e2018-01-08 06:00:43 +000032902018-01-07 David Kilzer <ddkilzer@apple.com>
3291
3292 Enable -Wcast-qual for WebInspectorUI, WebKitLegacy, WebKit projects
3293 <https://webkit.org/b/181256>
3294 <rdar://problem/36281730>
3295
3296 Reviewed by Darin Adler.
3297
3298 * Configurations/Base.xcconfig:
3299 (WARNING_CFLAGS): Add -Wcast-qual.
3300
commit-queue@webkit.org8f8a4b92018-01-06 01:29:12 +000033012018-01-05 Joseph Pecoraro <pecoraro@apple.com>
3302
3303 Web Inspector: Add another Protocol Version
3304 https://bugs.webkit.org/show_bug.cgi?id=181354
3305 <rdar://problem/35432817>
3306
3307 Reviewed by Matt Baker.
3308
3309 * UserInterface/Protocol/Legacy/11.3/InspectorBackendCommands.js: Added.
3310 * Versions/Inspector-iOS-11.3.json: Added.
3311
webkit@devinrousso.com9cefadd2018-01-05 06:40:30 +000033122018-01-04 Devin Rousso <webkit@devinrousso.com>
3313
3314 Web Inspector: replace HTMLCanvasElement with CanvasRenderingContext for instrumentation logic
3315 https://bugs.webkit.org/show_bug.cgi?id=180770
3316
3317 Reviewed by Joseph Pecoraro.
3318
3319 * UserInterface/Models/Canvas.js:
3320 (WI.Canvas.fromPayload):
3321 (WI.Canvas.prototype.get contextType):
3322 (WI.Canvas.prototype.saveIdentityToCookie):
3323 (WI.Canvas.prototype.get frame): Deleted.
3324
commit-queue@webkit.orgb8865be2018-01-05 04:34:07 +000033252018-01-04 Joseph Pecoraro <pecoraro@apple.com>
3326
3327 REGRESSION (r225709): Web Inspector: CSS Source maps not loading
3328 https://bugs.webkit.org/show_bug.cgi?id=181314
3329 <rdar://problem/36177620>
3330
3331 Reviewed by Brian Burg.
3332
3333 * UserInterface/Controllers/SourceMapManager.js:
3334 (WI.SourceMapManager.prototype._loadAndParseSourceMap):
3335 * UserInterface/Models/SourceMapResource.js:
3336 (WI.SourceMapResource.prototype.requestContentFromBackend):
3337 Correct this so that we only fall back to a reasonable frame id
3338 if we couldn't determine a frame id from earlier. Previously this
3339 was incorrectly clearing the frame id if we had gotten it earlier.
3340
3341 * UserInterface/Test.html:
3342 * UserInterface/Test/Test.js:
3343 (WI.loaded):
3344 Add SourceMap related files for tests.
3345
bburg@apple.com948fbb62018-01-04 21:29:13 +000033462018-01-04 Brian Burg <bburg@apple.com>
3347
bburg@apple.comd4373572018-01-05 00:00:25 +00003348 Web Inspector: Capture Element Screenshot looks fuzzy
3349 https://bugs.webkit.org/show_bug.cgi?id=175734
3350 <rdar://problem/33803377>
3351
3352 Reviewed by Joseph Pecoraro and Simon Fraser.
3353
3354 Spruce up these functions a bit. They now optionally return a promise
3355 if no callback is supplied. They now can take either a WI.DOMNode or a node id.
3356
3357 * UserInterface/Controllers/DOMTreeManager.js:
3358 (WI.DOMTreeManager.prototype.querySelector):
3359 (WI.DOMTreeManager.prototype.querySelectorAll):
3360
33612018-01-04 Brian Burg <bburg@apple.com>
3362
bburg@apple.com948fbb62018-01-04 21:29:13 +00003363 Web Inspector: add RemoteObject.fetchProperties and some basic tests for RemoteObject API
3364 https://bugs.webkit.org/show_bug.cgi?id=180945
3365
3366 Reviewed by Joseph Pecoraro.
3367
3368 Add a new method, fetchProperties, which async fetches an arbitrary list of properties
3369 from a RemoteObject. This is intended for writing tests and other quick evaluations,
3370 so it has some behaviors that are suitable in these situations:
3371 - If the evaluation throws an exception, the result will reject with that exception.
3372 - If there is a protocol error for some reason, the result will reject with an exception.
3373 - Non-string and non-number keys cause an exception, as this is probably not intended.
3374 - Does not accept a callback, returns a promise only. New code should use async.
3375
3376 For full fidelity introspection of property descriptors, clients should use the existing
3377 getOwnPropertyDescriptor[s] class of methods.
3378
3379 * UserInterface/Protocol/RemoteObject.js:
3380 (WI.RemoteObject.prototype.async.fetchProperties): Added.
3381 - Validate specified keys and remove duplicates.
3382 - Request properties one-by-one to avoid fetching all descriptors and dealing with previews.
3383 - Unwrap returned primitive values to avoid unnecessary munging in tests.
3384
3385 (WI.RemoteObject.prototype.getProperty):
3386 - Rework this to return a promise if no callback was supplied.
3387 - Introduce stricter property type checking to avoid unintended mistakes.
3388
3389 (WI.RemoteObject.prototype.callFunction):
3390 - Rework this to return a promise if no callback was supplied.
3391 - Turn thrown exceptions and protocol errors into rejected promises.
3392
commit-queue@webkit.orgdde3a322018-01-04 20:56:43 +000033932018-01-04 Joseph Pecoraro <pecoraro@apple.com>
3394
3395 Web Inspector: ⌘G / ⇧⌘G text search does not working after closing find banner
3396 https://bugs.webkit.org/show_bug.cgi?id=181280
3397 <rdar://problem/36291175>
3398
3399 Reviewed by Matt Baker.
3400
3401 * UserInterface/Views/ContentBrowser.js:
3402 (WI.ContentBrowser.prototype._findBannerDidHide):
3403 When the find banner is hidden trigger a new ContentView method,
3404 searchHidden instead of the destructive searchCleared. This allows
3405 most content views (text editors, DOM tree, Network Headers view)
3406 to keep their populated search results.
3407
3408 * UserInterface/Views/ContentView.js:
3409 (WI.ContentView.prototype.searchHidden):
3410 * UserInterface/Views/LogContentView.js:
3411 (WI.LogContentView.prototype.searchHidden):
3412 By default searchHidden does nothing. The Console's LogContentView
3413 treats the find banner differently and clears its search results.
3414
3415 * UserInterface/Views/TextEditor.js:
3416 (WI.TextEditor.prototype.searchCleared):
3417 Modernize some code while working in this area.
3418
3419 * UserInterface/Views/Main.css:
3420 (.bouncy-highlight):
3421 Ensure black text on yellow background in the bouncy highlight. In the
3422 DOM Tree it could have been white if the find banner was closed.
3423
commit-queue@webkit.org026ee042018-01-04 07:18:18 +000034242018-01-03 Ting-Wei Lan <lantw44@gmail.com>
3425
3426 Replace hard-coded paths in shebangs with #!/usr/bin/env
3427 https://bugs.webkit.org/show_bug.cgi?id=181040
3428
3429 Reviewed by Alex Christensen.
3430
3431 * Scripts/combine-resources.pl:
3432 * Scripts/copy-user-interface-resources-dryrun.rb:
3433 * Scripts/copy-user-interface-resources.pl:
3434 * Scripts/fix-worker-imports-for-optimized-builds.pl:
3435 * Scripts/remove-console-asserts-dryrun.rb:
3436 * Scripts/remove-console-asserts.pl:
3437 * Scripts/update-LegacyInspectorBackendCommands.rb:
3438 * Scripts/update-codemirror-resources.rb:
3439 * WebInspectorUI.vcxproj/build-webinspectorui.pl:
3440
commit-queue@webkit.orgc45f9572018-01-03 22:46:33 +000034412018-01-03 Joseph Pecoraro <pecoraro@apple.com>
3442
commit-queue@webkit.orgf95124f2018-01-04 05:58:24 +00003443 Web Inspector: "Log Value" context menu is sometimes unavailable
3444 https://bugs.webkit.org/show_bug.cgi?id=181278
3445 <rdar://problem/36281649>
3446
3447 Reviewed by Devin Rousso.
3448
3449 * UserInterface/Views/ObjectPreviewView.css:
3450 (.object-preview > .title):
3451 * UserInterface/Views/ObjectTreeView.css:
3452 (.object-tree.expanded > .title):
3453 Make the expanded object title information 16px tall to match ObjectTree
3454 tree element row heights. This eliminates the floating console message
3455 location from overlapping the first ObjectTree's TreeElement and causing
3456 truncation and other behavior issues (like Context Menu identification).
3457
34582018-01-03 Joseph Pecoraro <pecoraro@apple.com>
3459
commit-queue@webkit.orgf0c1ef42018-01-04 05:57:23 +00003460 Web Inspector: RTL - DOM Tree Element selection doesn't work
3461 https://bugs.webkit.org/show_bug.cgi?id=181275
3462 <rdar://problem/36290450>
3463
3464 Reviewed by Devin Rousso.
3465
3466 * UserInterface/Views/TreeOutline.js:
3467 (WI.TreeOutline.prototype.treeElementFromEvent):
3468 Provide a better explanation for why we are making the `x` adjustment here,
3469 to detect the inner most tree element along the horizontal. Fix the algorithm
3470 for RTL, since the intent is to adjust to the trailing edge of the container
3471 which is on the opposite side in RTL.
3472
34732018-01-03 Joseph Pecoraro <pecoraro@apple.com>
3474
commit-queue@webkit.org273c4b32018-01-04 00:46:52 +00003475 Web Inspector: Find banner sometimes does not work (when already populated and shown for first time on resource)
3476 https://bugs.webkit.org/show_bug.cgi?id=181255
3477 <rdar://problem/36248855>
3478
3479 Reviewed by Matt Baker.
3480
3481 * UserInterface/Views/TextEditor.js:
3482 (WI.TextEditor.prototype.set string):
3483 Defer any early searches until the initial content of a TextEditor has been set.
3484 Such searches can happen when the FindBanner already has content when a
3485 ContentView is first opened and needs to load its content from the backend.
3486 Further, even though the content may be loaded from the backend before the
3487 search results, microtask hops might cause the content to get to the TextEditor
3488 after the search results.
3489
34902018-01-03 Joseph Pecoraro <pecoraro@apple.com>
3491
commit-queue@webkit.orgc45f9572018-01-03 22:46:33 +00003492 REGRESSION: Web Inspector: Debugger tab doesn't restore selected resource on reload
3493 https://bugs.webkit.org/show_bug.cgi?id=181253
3494 <rdar://problem/36280564>
3495
3496 Reviewed by Matt Baker.
3497
3498 * UserInterface/Views/DebuggerSidebarPanel.js:
3499 (WI.DebuggerSidebarPanel.prototype.restoreStateFromCookie):
3500 Add braces to ensure the trailing else is actually trailing the outer
3501 chain as it was intended to be.
3502
commit-queue@webkit.orgd76347e2018-01-03 02:52:04 +000035032018-01-02 Joseph Pecoraro <pecoraro@apple.com>
3504
3505 Web Inspector: Clicking source location link in Console unexpectedly jumps to Network tab
3506 https://bugs.webkit.org/show_bug.cgi?id=181229
3507 <rdar://problem/36075219>
3508
3509 Reviewed by Matt Baker.
3510
3511 * UserInterface/Base/Main.js:
3512 Cleanup linkifyURLAsNode. Ignore Search tab in generic handlePossibleLinkClick
3513 when not already in the Search tab.
3514
3515 * UserInterface/Views/CallFrameView.js:
3516 (WI.CallFrameView):
3517 Ignore Search and Network tab in CallFrame links.
3518
3519 * UserInterface/Views/TabBrowser.js:
3520 (WI.TabBrowser.prototype.bestTabContentViewForRepresentedObject):
3521 Improve style.
3522
mcatanzaro@igalia.com3fcf3c32018-01-02 04:27:34 +00003523== Rolled over to ChangeLog-2018-01-01 ==