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