Web Inspector: recording view and slider have jumbled layout at narrow widths
[WebKit-https.git] / Source / WebInspectorUI / ChangeLog
1 2017-12-18  Devin Rousso  <webkit@devinrousso.com>
2
3         Web Inspector: recording view and slider have jumbled layout at narrow widths
4         https://bugs.webkit.org/show_bug.cgi?id=180597
5         <rdar://problem/35939904>
6
7         Reviewed by Timothy Hatcher.
8
9         * UserInterface/Views/RecordingContentView.css:
10         (.content-view:not(.tab).recording > header > .slider-container):
11         (.content-view:not(.tab).recording > header > .slider-container > *):
12         (.content-view:not(.tab).recording > header > .slider-container > input[type=range]):
13
14 2017-12-18  Matt Baker  <mattbaker@apple.com>
15
16         Web Inspector: Canvas tab: placeholder/help text wrapping looks poor at narrow widths
17         https://bugs.webkit.org/show_bug.cgi?id=180943
18         <rdar://problem/36114431>
19
20         Reviewed by Timothy Hatcher.
21
22         * UserInterface/Views/ContentView.css:
23         (.content-view > .message-text-view > .description):
24         * UserInterface/Views/Main.css:
25         (.message-text-view .navigation-item-help):
26         (.message-text-view .navigation-item-help .navigation-bar):
27         (.message-text-view .navigation-item-help .navigation-bar > .item):
28
29 2017-12-18  Devin Rousso  <webkit@devinrousso.com>
30
31         REGRESSION (r225569): Web Inspector: Commented out properties aren't properly highlighted
32         https://bugs.webkit.org/show_bug.cgi?id=180687
33
34         Reviewed by Timothy Hatcher.
35
36         * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
37         (.spreadsheet-style-declaration-editor .property:not(.disabled) .name):
38         (.spreadsheet-style-declaration-editor .property:not(.disabled) .value):
39         (.spreadsheet-style-declaration-editor .property.disabled):
40         (.spreadsheet-style-declaration-editor .name): Deleted.
41         (.spreadsheet-style-declaration-editor .value): Deleted.
42         (.spreadsheet-style-declaration-editor .property.disabled, .spreadsheet-style-declaration-editor .property.disabled > *): Deleted.
43
44 2017-12-18  Joseph Pecoraro  <pecoraro@apple.com>
45
46         Web Inspector: Network Tab - waterfall graph can be mis-sized after closing detail view
47         https://bugs.webkit.org/show_bug.cgi?id=180903
48         <rdar://problem/36087903>
49
50         Reviewed by Matt Baker.
51
52         * UserInterface/Views/NetworkTableContentView.js:
53         (WI.NetworkTableContentView.prototype._hideResourceDetailView):
54         Redraw waterfall column after hiding the detail view.
55
56 2017-12-15  Ryan Haddad  <ryanhaddad@apple.com>
57
58         Unreviewed, rolling out r225941.
59
60         This change introduced LayoutTest crashes and assertion
61         failures.
62
63         Reverted changeset:
64
65         "Web Inspector: replace HTMLCanvasElement with
66         CanvasRenderingContext for instrumentation logic"
67         https://bugs.webkit.org/show_bug.cgi?id=180770
68         https://trac.webkit.org/changeset/225941
69
70 2017-12-15  Devin Rousso  <webkit@devinrousso.com>
71
72         Web Inspector: Canvas Tab should be turned on by default
73         https://bugs.webkit.org/show_bug.cgi?id=180594
74         <rdar://problem/35938917>
75
76         Reviewed by Brian Burg.
77
78         * UserInterface/Base/Main.js:
79         (WI.loaded):
80
81 2017-12-15  Nikita Vasilyev  <nvasilyev@apple.com>
82
83         Web Inspector: Styles Redesign: clicking above selector should prepend new property
84         https://bugs.webkit.org/show_bug.cgi?id=180628
85         <rdar://problem/35954570>
86
87         Reviewed by Devin Rousso.
88
89         * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
90         (.spreadsheet-style-declaration-editor .property):
91         (.spreadsheet-style-declaration-editor .property-toggle):
92         (.spreadsheet-style-declaration-editor .property.has-warning .warning):
93         * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.css:
94         (.spreadsheet-css-declaration):
95         (.spreadsheet-css-declaration :matches(.header, .header-media)):
96         (.spreadsheet-css-declaration :matches(.header, .header-media):first-child):
97         When header-media element is present, header element should have padding-top set to 0.
98
99         (.spreadsheet-css-declaration .header.editing-selector .origin):
100         (.spreadsheet-css-declaration .close-brace):
101
102 2017-12-14  David Kilzer  <ddkilzer@apple.com>
103
104         Enable -Wstrict-prototypes for WebKit
105         <https://webkit.org/b/180757>
106         <rdar://problem/36024132>
107
108         Rubber-stamped by Joseph Pecoraro.
109
110         * Configurations/Base.xcconfig:
111         (CLANG_WARN_STRICT_PROTOTYPES): Add. Set to YES.
112
113 2017-12-14  Brian Burg  <bburg@apple.com>
114
115         Web Inspector: InspectorTest.evaluateInPage should unwrap primitive values by default
116         https://bugs.webkit.org/show_bug.cgi?id=180831
117
118         Reviewed by Joseph Pecoraro.
119
120         * UserInterface/Test/FrontendTestHarness.js:
121         (FrontendTestHarness.prototype.evaluateInPage.resultObjectToReturn):
122         (FrontendTestHarness.prototype.evaluateInPage):
123         Unwrap the resulting RemoteObject's value if it is a primitive.
124         Add an `options` dictionary so this behavior can be opted out.
125
126         * UserInterface/Test/TestHarness.js:
127         Add documentation of how evaluateInPage works.
128
129 2017-12-14  Nikita Vasilyev  <nvasilyev@apple.com>
130
131         Web Inspector: Styles Redesign: selecting text should not add new properties
132         https://bugs.webkit.org/show_bug.cgi?id=180797
133         <rdar://problem/36039751>
134
135         Reviewed by Devin Rousso.
136
137         * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
138         (WI.SpreadsheetCSSStyleDeclarationSection.prototype._handleClick):
139
140 2017-12-14  Devin Rousso  <webkit@devinrousso.com>
141
142         Web Inspector: replace HTMLCanvasElement with CanvasRenderingContext for instrumentation logic
143         https://bugs.webkit.org/show_bug.cgi?id=180770
144
145         Reviewed by Joseph Pecoraro.
146
147         * UserInterface/Models/Canvas.js:
148         (WI.Canvas.fromPayload):
149         (WI.Canvas.prototype.get contextType):
150         (WI.Canvas.prototype.saveIdentityToCookie):
151         (WI.Canvas.prototype.get frame): Deleted.
152
153 2017-12-14  Joseph Pecoraro  <pecoraro@apple.com>
154
155         Web Inspector: Network Tab - URL filter should be case-insensitive like filter bars in other tabs
156         https://bugs.webkit.org/show_bug.cgi?id=180824
157         <rdar://problem/35910750>
158
159         Reviewed by Brian Burg.
160
161         * UserInterface/Views/NetworkTableContentView.js:
162         (WI.NetworkTableContentView):
163         (WI.NetworkTableContentView.prototype._resetFilters):
164         (WI.NetworkTableContentView.prototype._urlFilterDidChange):
165         Use a case-insensitive regex created from the search query
166         and use that when filtering resources.
167
168         (WI.NetworkTableContentView.prototype._checkURLFilterAgainstFinishedResource): Deleted.
169         (WI.NetworkTableContentView.prototype._checkURLFilterAgainstResource):
170         (WI.NetworkTableContentView.prototype._resourceLoadingDidFinish):
171         (WI.NetworkTableContentView.prototype._resourceLoadingDidFail):
172         Rename the helper for checking the URL filter.
173
174 2017-12-14  Joseph Pecoraro  <pecoraro@apple.com>
175
176         Web Inspector: UncaughtExceptionReporter fails on early errors
177         https://bugs.webkit.org/show_bug.cgi?id=180776
178
179         Reviewed by Brian Burg.
180
181         * UserInterface/Debug/UncaughtExceptionReporter.js:
182         (urlLastPathComponent):
183         (handleError):
184         (handleUncaughtException):
185         URLUtilities parseURL might not be available, so have a small
186         helper for getting a good name from a URL / filename.
187
188         (handleUncaughtExceptionRecord):
189         (dismissErrorSheet):
190         Wrap `WI` namespace accesses in a try/catch since `WI` might not be available.
191         Safely check global variables there were `Foo` as `window.Foo` to avoid errors
192         if they are not actually available.
193
194 2017-12-13  Joseph Pecoraro  <pecoraro@apple.com>
195
196         Web Inspector: Network Tab - Make text filter just a URL filter and update incrementally
197         https://bugs.webkit.org/show_bug.cgi?id=180796
198
199         Reviewed by Brian Burg.
200
201         Revert the Network Tab's text filter back to being just a URL filter with the
202         normal behaviors of our other text filters that update as you type (incremental).
203         This also renames the "text filter" to "url filter" everywhere in the ContentView
204         for clarity. A follow-up change will make the url filter be case-insensitive
205         to fully match the filter bars in other tabs.
206
207         * Localizations/en.lproj/localizedStrings.js:
208         * UserInterface/Views/NetworkTableContentView.js:
209         (WI.NetworkTableContentView):
210         (WI.NetworkTableContentView.prototype.get filterNavigationItems):
211         (WI.NetworkTableContentView.prototype._checkURLFilterAgainstFinishedResource):
212         (WI.NetworkTableContentView.prototype._updateURLFilterActiveIndicator):
213         (WI.NetworkTableContentView.prototype._resourceLoadingDidFinish):
214         (WI.NetworkTableContentView.prototype._resourceLoadingDidFail):
215         (WI.NetworkTableContentView.prototype._hasURLFilter):
216         (WI.NetworkTableContentView.prototype._hasActiveFilter):
217         (WI.NetworkTableContentView.prototype._passURLFilter):
218         (WI.NetworkTableContentView.prototype._passFilter):
219         (WI.NetworkTableContentView.prototype._updateFilteredEntries):
220         (WI.NetworkTableContentView.prototype._resetFilters):
221         (WI.NetworkTableContentView.prototype._urlFilterDidChange):
222         (WI.NetworkTableContentView.prototype._checkTextFilterAgainstFinishedResource): Deleted.
223         (WI.NetworkTableContentView.prototype._checkTextFilterAgainstFailedResource): Deleted.
224         (WI.NetworkTableContentView.prototype._updateTextFilterActiveIndicator): Deleted.
225         (WI.NetworkTableContentView.prototype._hasTextFilter): Deleted.
226         (WI.NetworkTableContentView.prototype._passTextFilter): Deleted.
227         (WI.NetworkTableContentView.prototype._textFilterDidChange): Deleted.
228
229 2017-12-13  Joseph Pecoraro  <pecoraro@apple.com>
230
231         REGRESSION: Web Inspector: Opening inspector crashes page if there are empty resources
232         https://bugs.webkit.org/show_bug.cgi?id=180787
233         <rdar://problem/35934838>
234
235         Reviewed by Brian Burg.
236
237         * UserInterface/Test/TestUtilities.js:
238         Add a generic sanitizeURL used by many tests.
239
240         * UserInterface/TestStub.html:
241         Include TestUtilities.
242
243 2017-12-13  Devin Rousso  <webkit@devinrousso.com>
244
245         Web Inspector: add instrumentation for ImageBitmapRenderingContext
246         https://bugs.webkit.org/show_bug.cgi?id=180736
247
248         Reviewed by Joseph Pecoraro.
249
250         * UserInterface/Base/ImageUtilities.js:
251         (WI.ImageUtilities.promisifyLoad):
252         (WI.ImageUtilities.imageFromImageBitmap):
253
254         * UserInterface/Models/Canvas.js:
255         (WI.Canvas.fromPayload):
256         (WI.Canvas.displayNameForContextType):
257
258         * UserInterface/Models/NativeFunctionParameters.js:
259
260         * UserInterface/Models/Recording.js:
261         (WI.Recording.displayNameForSwizzleType):
262         (WI.Recording.prototype.async swizzle):
263
264         * UserInterface/Views/RecordingActionTreeElement.js:
265         (WI.RecordingActionTreeElement._generateDOM):
266         (WI.RecordingActionTreeElement._generateDOM.createParameterElement):
267
268 2017-12-12  Nikita Vasilyev  <nvasilyev@apple.com>
269
270         Web Inspector: Styles Redesign: navigating away from empty value should remove CSS property
271         https://bugs.webkit.org/show_bug.cgi?id=180508
272
273         Reviewed by Devin Rousso.
274
275         Remove a property when navigating away from it (e.g. to the next/previous property,
276         or outside of the styles panel entirely) and either its name or value is empty:
277
278             color: [ ]->
279             <-[ ]: red
280             <-[color]:
281
282         Don't remove a property when navigating from an empty value to a non-empty name:
283
284             color: <-[ ]
285
286         Always remove a property when both name and value are empty.
287
288         * UserInterface/Views/SpreadsheetStyleProperty.js:
289         (WI.SpreadsheetStyleProperty.prototype.spreadsheetTextFieldDidCommit):
290         (WI.SpreadsheetStyleProperty.prototype.spreadsheetTextFieldDidBlur):
291         * UserInterface/Views/SpreadsheetTextField.js:
292         (WI.SpreadsheetTextField.prototype._handleBlur):
293         (WI.SpreadsheetTextField.prototype.get valueBeforeEditing): Deleted.
294
295 2017-12-12  Brian Burg  <bburg@apple.com>
296
297         Web Inspector: support async setup() and async teardown() in AsyncTestSuite
298         https://bugs.webkit.org/show_bug.cgi?id=180626
299
300         Reviewed by Timothy Hatcher.
301
302         This can make some code simpler by removing Promise-related boilerplate. I'm splitting
303         this patch from the new use-site in the interest of making it easier to review.
304
305         * UserInterface/Test/TestSuite.js:
306         (AsyncTestSuite.prototype.runTestCases):
307         (AsyncTestSuite):
308
309 2017-12-12  Brian Burg  <bburg@apple.com>
310
311         Web Inspector: SyncTestSuite should complain if passed an async setup/test/teardown function
312         https://bugs.webkit.org/show_bug.cgi?id=180717
313
314         Reviewed by Devin Rousso.
315
316         * UserInterface/Test/TestSuite.js:
317         (SyncTestSuite.prototype.addTestCase):
318         Raise an exception if test/setup/teardown is an async function. It won't work.
319
320 2017-12-12  Brian Burg  <bburg@apple.com>
321
322         Web Inspector: add InspectorTest.expectException() and use it
323         https://bugs.webkit.org/show_bug.cgi?id=180719
324
325         Reviewed by Matt Baker.
326
327         This helps straighten out async test() functions that need
328         to test exceptional cases. Without this, every such method
329         needs try/catch boilerplate to leak the error outside the
330         scope of the catch-block and then assert that it exists.
331
332         * UserInterface/Test/TestHarness.js:
333         (TestHarness.prototype.expectException):
334         Added. This method takes a callback which is expected to raise
335         an exception either by throwing an Error instance or returning
336         a Promise that rejects with an Error instance. The method returns
337         a Promise that is either resolved with the expected exception
338         from one of the above sources, or is rejected with the non-exception
339         result that was returned or resolved by the callback.
340
341 2017-12-12  Michael Catanzaro  <mcatanzaro@igalia.com>
342
343         Don't require perl(File::Copy::Recursive)
344         https://bugs.webkit.org/show_bug.cgi?id=180479
345         <rdar://problem/35944218>
346
347         Reviewed by Daniel Bates.
348
349         Fix the error handling. I added this at the last moment and failed to test. The logic is
350         inverted, causing an error to always be reported on success.
351
352         Add a missing 'mkdir -p' using File::Path::make_path. This has its own built-in error
353         reporting, so no need to add our own.
354
355         * Scripts/copy-user-interface-resources.pl:
356         (ditto):
357
358 2017-12-12  Michael Catanzaro  <mcatanzaro@igalia.com>
359
360         Unreviewed, don't print empty error message when copying resource fails
361
362         Unsurprisingly, when system() fails, there is not any useful error to be printed, so don't.
363
364         * Scripts/copy-user-interface-resources.pl:
365         (ditto):
366
367 2017-12-08  Joseph Pecoraro  <pecoraro@apple.com>
368
369         ServiceWorker Inspector: Various issues inspecting service worker on mobile.twitter.com
370         https://bugs.webkit.org/show_bug.cgi?id=180520
371         <rdar://problem/35900764>
372
373         Reviewed by Brian Burg.
374
375         * UserInterface/Main.html:
376         * UserInterface/Test.html:
377         New files.
378
379         * UserInterface/Controllers/SourceMapManager.js:
380         (WI.SourceMapManager.prototype._loadAndParseSourceMap):
381         * UserInterface/Models/SourceMapResource.js:
382         (WI.SourceMapResource.prototype.requestContentFromBackend):
383         A ServiceWorker inspector doesn't have a main frame, fall back to an
384         empty frameIdentifier, it is ignored by the Service Worker network agent.
385
386         * UserInterface/Base/Main.js:
387         Handle a Service Worker inspector where there is no frame. This can
388         search the main resource's resource collection.
389
390         * UserInterface/Controllers/DebuggerManager.js:
391         (WI.DebuggerManager.prototype.scriptDidParse):
392
393         * UserInterface/Controllers/FrameResourceManager.js:
394         (WI.FrameResourceManager.prototype.resourceRequestDidFailLoading):
395         In Service Workers the resources won't have a parent frame.
396
397         (WI.FrameResourceManager.prototype._addNewResourceToFrameOrTarget):
398         (WI.FrameResourceManager.prototype._processServiceWorkerInitializationInfo):
399         In service worker initialization fallback to using the script content
400         as the main resource if we didn't get a Script that actually includes it.
401
402         * UserInterface/Models/LocalScript.js:
403         (WI.LocalScript):
404         (WI.LocalScript.prototype.requestContentFromBackend):
405         A way to create a local Script with content.
406
407         * UserInterface/Views/SourceCodeTextEditor.js:
408         (WI.SourceCodeTextEditor.prototype.get _supportsDebugging):
409         Disallow breakpoints in a LocalScript since we have no way to tell the
410         backend where to set breakpoints.
411
412         * UserInterface/Models/TextRange.js:
413         (WI.TextRange.fromText):
414         Add a way to get a TextRange from static text.
415
416 2017-12-08  Michael Catanzaro  <mcatanzaro@igalia.com>
417
418         Don't require perl(File::Copy::Recursive)
419         https://bugs.webkit.org/show_bug.cgi?id=180479
420
421         Reviewed by Konstantin Tokarev.
422
423         If File::Copy::Recursive is not installed, there is currently a Darwin
424         fallback to the ditto command. That doesn't exist on Linux, but we can
425         emulate it by running 'cp -R' on everything in the source directory.
426         This should probably work everywhere except Windows.
427
428         * Scripts/copy-user-interface-resources.pl:
429         (ditto):
430
431 2017-12-07  Eric Carlson  <eric.carlson@apple.com>
432
433         Simplify log channel configuration UI
434         https://bugs.webkit.org/show_bug.cgi?id=180527
435         <rdar://problem/35908382>
436
437         Reviewed by Joseph Pecoraro.
438
439         * Localizations/en.lproj/localizedStrings.js:
440         * UserInterface/Models/LoggingChannel.js:
441         * UserInterface/Views/SettingsTabContentView.js:
442         (WI.SettingsTabContentView.prototype._createGeneralSettingsView):
443
444 2017-12-07  Matt Lewis  <jlewis3@apple.com>
445
446         Unreviewed, rolling out r225634.
447
448         This caused layout tests to time out.
449
450         Reverted changeset:
451
452         "Simplify log channel configuration UI"
453         https://bugs.webkit.org/show_bug.cgi?id=180527
454         https://trac.webkit.org/changeset/225634
455
456 2017-12-07  Eric Carlson  <eric.carlson@apple.com>
457
458         Simplify log channel configuration UI
459         https://bugs.webkit.org/show_bug.cgi?id=180527
460         <rdar://problem/35908382>
461
462         Reviewed by Joseph Pecoraro.
463
464         * Localizations/en.lproj/localizedStrings.js:
465         * UserInterface/Models/LoggingChannel.js:
466         * UserInterface/Views/SettingsTabContentView.js:
467         (WI.SettingsTabContentView.prototype._createGeneralSettingsView):
468
469 2017-12-06  Devin Rousso  <webkit@devinrousso.com>
470
471         Web Inspector: Canvas: spurious warnings shown for commands that changed pixel contents
472         https://bugs.webkit.org/show_bug.cgi?id=180505
473         <rdar://problem/35891651>
474
475         Reviewed by Brian Burg.
476
477         * UserInterface/Models/RecordingAction.js:
478         (WI.RecordingAction.prototype.apply.getContent):
479         (WI.RecordingAction.prototype.apply):
480
481 2017-12-06  Devin Rousso  <webkit@devinrousso.com>
482
483         Web Inspector: Style Redesign: filtering removes header if one rule has no match even if others do
484         https://bugs.webkit.org/show_bug.cgi?id=180467
485
486         Reviewed by Timothy Hatcher.
487
488         * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:
489         (WI.SpreadsheetRulesStyleDetailsPanel.prototype.applyFilter):
490         (WI.SpreadsheetRulesStyleDetailsPanel.prototype._handleSectionFilterApplied):
491
492 2017-12-06  Matt Baker  <mattbaker@apple.com>
493
494         Web Inspector: Details section headers overlap Classes container in the Computed Styles panel
495         https://bugs.webkit.org/show_bug.cgi?id=180380
496
497         Reviewed by Timothy Hatcher.
498
499         * UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
500         (.sidebar > .panel.details.css-style > .content ~ :matches(.options-container, .class-list-container)):
501
502 2017-12-06  Matt Baker  <mattbaker@apple.com>
503
504         Web Inspector: Canvas Tab initial user experience is poor when no canvases exist
505         https://bugs.webkit.org/show_bug.cgi?id=179329
506         <rdar://problem/35842036>
507
508         Reviewed by Timothy Hatcher.
509
510         This patch adds a new method, WI.createNavigationItemHelp, for creating command
511         help to display in a message text view. The method accepts a format string and
512         NavigationItem, and returns a DOM element. For example,
513
514             WI.createNavigationItemHelp("Press %s to do X.", navigationItem)
515
516         returns:
517
518             <div class="navigation-item-help">
519                 Press <div class="navigation-bar"><div class="item">...</div></div> to do X.
520             </div>
521
522         * Localizations/en.lproj/localizedStrings.js:
523         * UserInterface/Base/Main.js:
524
525         * UserInterface/Controllers/CanvasManager.js:
526         (WI.CanvasManager.prototype.importRecording):
527         Importing a recording should be a manager command with a corresponding
528         event, so that it's decoupled from any specific location in the UI.
529
530         * UserInterface/Views/CanvasOverviewContentView.js:
531         (WI.CanvasOverviewContentView):
532
533         * UserInterface/Views/CanvasTabContentView.js:
534         (WI.CanvasTabContentView):
535         (WI.CanvasTabContentView.prototype.attached):
536         (WI.CanvasTabContentView.prototype._recordingImportedOrStopped):
537         (WI.CanvasTabContentView.prototype._recordingStopped): Deleted.
538         (WI.CanvasTabContentView.prototype._navigationSidebarImport): Deleted.
539
540         * UserInterface/Views/Main.css:
541         (.message-text-view .navigation-item-help):
542         (.message-text-view .navigation-item-help .navigation-bar):
543         (.message-text-view .navigation-item-help .navigation-bar > .item):
544         New styles for a NavigationItem appearing inline as part of descriptive
545         text. Wrapped in a fake navigation bar so navigation item styles are picked up.
546
547         * UserInterface/Views/RecordingNavigationSidebarPanel.js:
548         (WI.RecordingNavigationSidebarPanel.prototype.initialLayout):
549         (WI.RecordingNavigationSidebarPanel.prototype._importNavigationItemClicked): Deleted.
550         Moved import code to CanvasManager.
551
552 2017-12-06  Devin Rousso  <webkit@devinrousso.com>
553
554         Web Inspector: REGRESSION(r225569): CSSStyleDetailsSidebarPanel no longer exists
555         https://bugs.webkit.org/show_bug.cgi?id=180466
556
557         Reviewed by Joseph Pecoraro.
558
559         * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
560         (WI.SpreadsheetCSSStyleDeclarationSection.prototype.applyFilter):
561         (WI.SpreadsheetCSSStyleDeclarationSection.prototype._handleEditorFilterApplied):
562
563         * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:
564         (WI.SpreadsheetRulesStyleDetailsPanel.prototype.applyFilter):
565         (WI.SpreadsheetRulesStyleDetailsPanel.prototype._handleSectionFilterApplied):
566
567         * UserInterface/Views/SpreadsheetStyleProperty.js:
568         (WI.SpreadsheetStyleProperty.prototype.applyFilter):
569
570 2017-12-06  Devin Rousso  <webkit@devinrousso.com>
571
572         Web Inspector: Styles Redesign: display related pseudo-elements
573         https://bugs.webkit.org/show_bug.cgi?id=176187
574         <rdar://problem/34194917>
575
576         Reviewed by Timothy Hatcher.
577
578         * Localizations/en.lproj/localizedStrings.js:
579
580         * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:
581         (WI.SpreadsheetRulesStyleDetailsPanel):
582         (WI.SpreadsheetRulesStyleDetailsPanel.prototype.refresh):
583         (WI.SpreadsheetRulesStyleDetailsPanel.prototype.applyFilter):
584         (WI.SpreadsheetRulesStyleDetailsPanel.prototype._handleSectionFilterApplied):
585         * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.css:
586         (.spreadsheet-style-panel .section-header):
587         (.spreadsheet-style-panel .section-header .node-link):
588         (.spreadsheet-style-panel .section-header .node-link:hover):
589         (.spreadsheet-style-panel .section-inherited): Deleted.
590         (.spreadsheet-style-panel .section-inherited .node-link): Deleted.
591         (.spreadsheet-style-panel .section-inherited .node-link:hover): Deleted.
592         After all of the matched and inherited styles are added, loop over each pseudo-element, get
593         the DOMNodeStyles for each, refresh them if needed, and then add the header and sections.
594
595         * UserInterface/Models/DOMNodeStyles.js:
596         (WI.DOMNodeStyles.prototype.refreshIfNeeded):
597         (WI.DOMNodeStyles.prototype.refresh):
598         Return a reference to the DOMNodeStyles object once the refresh promise is resolved.
599
600         * UserInterface/Models/DOMNode.js:
601         (WI.DOMNode.prototype.get displayName):
602         If the node is a pseudo-element, display the pseudo-type instead of the node name.
603
604 2017-12-06  Devin Rousso  <webkit@devinrousso.com>
605
606         Web Inspector: [PARITY] Styles Redesign: Ability to add new style rules
607         https://bugs.webkit.org/show_bug.cgi?id=178329
608         <rdar://problem/35001005>
609
610         Reviewed by Timothy Hatcher.
611
612         * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:
613         (WI.SpreadsheetRulesStyleDetailsPanel):
614         (WI.SpreadsheetRulesStyleDetailsPanel.prototype.refresh):
615         (WI.SpreadsheetRulesStyleDetailsPanel.prototype.newRuleButtonClicked):
616         (WI.SpreadsheetRulesStyleDetailsPanel.prototype.newRuleButtonContextMenu):
617         (WI.SpreadsheetRulesStyleDetailsPanel.prototype._addNewRule):
618         Implement the two functions that CSSStyleDetailsSidebarPanel expects to exist in order for
619         the selected panel to support adding a new rule.
620
621         * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
622         (WI.SpreadsheetCSSStyleDeclarationSection):
623         (WI.SpreadsheetCSSStyleDeclarationSection.prototype.layout):
624         (WI.SpreadsheetCSSStyleDeclarationSection.prototype.startEditingRuleSelector):
625         If the _selectorElement has not been created yet, set a flag and focus it once layout() has
626         been called (thereby ensuring that initialLayout() has been called).
627
628 2017-12-05  Devin Rousso  <webkit@devinrousso.com>
629
630         Web Inspector: Styles Redesign: for newly added properties, pressing delete in empty value field should focus on name field
631         https://bugs.webkit.org/show_bug.cgi?id=179831
632         <rdar://problem/35626976>
633
634         Reviewed by Timothy Hatcher.
635
636         * UserInterface/Views/SpreadsheetTextField.js:
637         (WI.SpreadsheetTextField.prototype._handleKeyDown):
638
639         * UserInterface/Views/SpreadsheetStyleProperty.js:
640         (WI.SpreadsheetStyleProperty.prototype.spreadsheetTextFieldDidBackspace):
641
642 2017-12-05  Devin Rousso  <webkit@devinrousso.com>
643
644         Web Inspector: [PARITY] Styles Redesign: Make filtering work
645         https://bugs.webkit.org/show_bug.cgi?id=178331
646         <rdar://problem/35001015>
647
648         Reviewed by Timothy Hatcher.
649
650         Since both the sections and editors (per-section) use View semantics, we cannot simply
651         search for instances of the filtered text since not all of the subviews may have called
652         layout() yet. Instead, we have to rely on event listeners to relay information as to whether
653         the filtered text was matched up the chain, applying the correct style classes along the way.
654
655         * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:
656         (WI.SpreadsheetRulesStyleDetailsPanel):
657         (WI.SpreadsheetRulesStyleDetailsPanel.prototype.refresh):
658         (WI.SpreadsheetRulesStyleDetailsPanel.prototype.applyFilter):
659         (WI.SpreadsheetRulesStyleDetailsPanel.prototype.filterDidChange):
660         (WI.SpreadsheetRulesStyleDetailsPanel.prototype._handleSectionFilterApplied):
661         Save the "Inherited From" elements so that they can be hidden if no styles inherited from
662         that node match the filter.
663
664         * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
665         (WI.SpreadsheetCSSStyleDeclarationSection):
666         (WI.SpreadsheetCSSStyleDeclarationSection.prototype.initialLayout):
667         (WI.SpreadsheetCSSStyleDeclarationSection.prototype.layout):
668         (WI.SpreadsheetCSSStyleDeclarationSection.prototype.applyFilter):
669         (WI.SpreadsheetCSSStyleDeclarationSection.prototype._renderSelector):
670         (WI.SpreadsheetCSSStyleDeclarationSection.prototype._createMediaHeader):
671         (WI.SpreadsheetCSSStyleDeclarationSection.prototype._handleEditorFilterApplied):
672         Save the media header elements so that they can also be filtered.
673
674         * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
675         (WI.SpreadsheetCSSStyleDeclarationEditor):
676         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.layout):
677         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.applyFilter):
678
679         * UserInterface/Views/SpreadsheetStyleProperty.js:
680         (WI.SpreadsheetStyleProperty):
681         (WI.SpreadsheetStyleProperty.prototype.applyFilter):
682         (WI.SpreadsheetStyleProperty.prototype._update):
683         Move the name and value elements to a new container so that filter highlight won't also
684         apply to the checkbox or warning element.
685
686 2017-12-05  Nikita Vasilyev  <nvasilyev@apple.com>
687
688         Web Inspector: Styles Redesign: adding a property before or after the first one appends it to the end
689         https://bugs.webkit.org/show_bug.cgi?id=180321
690         <rdar://problem/35816402>
691
692         Reviewed by Timothy Hatcher.
693
694         * UserInterface/Models/CSSStyleDeclaration.js:
695         (WI.CSSStyleDeclaration.prototype._rangeAfterPropertyAtIndex):
696         * UserInterface/Models/TextRange.js:
697         (WI.TextRange.prototype.collapseToStart):
698
699 2017-12-05  Joseph Pecoraro  <pecoraro@apple.com>
700
701         Web Inspector: Empty Message View in Network Tab has padding at top
702         https://bugs.webkit.org/show_bug.cgi?id=180453
703
704         Reviewed by Matt Baker.
705
706         * UserInterface/Views/NetworkTableContentView.css:
707         (.content-view.network .message-text-view): Deleted.
708
709 2017-12-05  Nikita Vasilyev  <nvasilyev@apple.com>
710
711         Web Inspector: Styles: make Computed a top-level sidebar tab
712         https://bugs.webkit.org/show_bug.cgi?id=174229
713         <rdar://problem/33170193>
714
715         Reviewed by Matt Baker.
716
717         Styles dropdown tab selector was removed. Styles and Computed are now top-level sidebar tabs.
718
719         Visual styles is no longer visible in the Styles sidebar tabs by default but can be enabled in the settings.
720
721         * Localizations/en.lproj/localizedStrings.js:
722         * UserInterface/Base/Setting.js:
723         * UserInterface/Main.html:
724         * UserInterface/Views/CSSStyleDeclarationSection.js:
725         (WI.CSSStyleDeclarationSection.prototype.findMatchingPropertiesAndSelectors):
726         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
727         (WI.CSSStyleDeclarationTextEditor.prototype.findMatchingProperties):
728         (WI.CSSStyleDeclarationTextEditor.prototype.removeNonMatchingProperties):
729         * UserInterface/Views/ComputedStyleDetailsSidebarPanel.js: Added.
730         (WI.ComputedStyleDetailsSidebarPanel):
731         * UserInterface/Views/DOMTreeOutline.js:
732         (WI.DOMTreeOutline.prototype._ondragover):
733         (WI.DOMTreeOutline.prototype._ondrop):
734         * UserInterface/Views/ElementsTabContentView.js:
735         (WI.ElementsTabContentView):
736         * UserInterface/Views/GeneralStyleDetailsSidebarPanel.css: Renamed from Source/WebInspectorUI/UserInterface/Views/CSSStyleDetailsSidebarPanel.css.
737         * UserInterface/Views/GeneralStyleDetailsSidebarPanel.js: Renamed from Source/WebInspectorUI/UserInterface/Views/CSSStyleDetailsSidebarPanel.js.
738         (WI.GeneralStyleDetailsSidebarPanel):
739         (WI.GeneralStyleDetailsSidebarPanel.prototype.get panel):
740         (WI.GeneralStyleDetailsSidebarPanel.prototype.visibilityDidChange):
741         (WI.GeneralStyleDetailsSidebarPanel.prototype.computedStyleDetailsPanelShowProperty):
742         (WI.GeneralStyleDetailsSidebarPanel.prototype.layout):
743         (WI.GeneralStyleDetailsSidebarPanel.prototype.initialLayout):
744         (WI.GeneralStyleDetailsSidebarPanel.prototype.sizeDidChange):
745         (WI.GeneralStyleDetailsSidebarPanel.prototype.get _initialScrollOffset):
746         (WI.GeneralStyleDetailsSidebarPanel.prototype._updateNoForcedPseudoClassesScrollOffset):
747         (WI.GeneralStyleDetailsSidebarPanel.prototype._showPanel):
748         (WI.GeneralStyleDetailsSidebarPanel.prototype._newRuleButtonClicked):
749         (WI.GeneralStyleDetailsSidebarPanel.prototype._newRuleButtonContextMenu):
750         (WI.GeneralStyleDetailsSidebarPanel.prototype._populateClassToggles):
751         (WI.GeneralStyleDetailsSidebarPanel.prototype._createToggleForClassName):
752         (WI.GeneralStyleDetailsSidebarPanel.prototype._filterDidChange):
753         Styles and Computed tabs share a few UI components, such as force state (:hover, :focus, etc.),
754         filter field, and CSS class toggle components. To implement this, CSSStyleDetailsSidebarPanel was renamed
755         to GeneralStyleDetailsSidebarPanel.
756
757         CSSStyleDetailsSidebarPanel used to support several panels. This is no longer the case with GeneralStyleDetailsSidebarPanel:
758         - _initiallySelectedPanel was removed.
759         - _selectedPanel was replaced by _panel.
760
761         * UserInterface/Views/GroupNavigationItem.js:
762         (WI.GroupNavigationItem.prototype.get minimumWidth):
763         * UserInterface/Views/NavigationBar.css:
764         (.navigation-bar .item,):
765         (.sidebar-navigation-bar):
766         (.sidebar-navigation-bar .holder):
767         * UserInterface/Views/NavigationBar.js:
768         (WI.NavigationBar.prototype._calculateMinimumWidth):
769         Minor optimization: don't toggle class names when there are no visible navigation items.
770
771         * UserInterface/Views/RulesStyleDetailsPanel.js:
772         (WI.RulesStyleDetailsPanel.prototype.filterDidChange):
773         * UserInterface/Views/RulesStyleDetailsSidebarPanel.js: Copied from Source/WebInspectorUI/UserInterface/Views/NavigationBar.css.
774         (WI.RulesStyleDetailsSidebarPanel):
775         * UserInterface/Views/SearchTabContentView.js:
776         (WI.SearchTabContentView):
777         * UserInterface/Views/SettingsTabContentView.js:
778         (WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
779         * UserInterface/Views/Sidebar.js:
780         (WI.Sidebar):
781         * UserInterface/Views/SidebarNavigationBar.js: Copied from Source/WebInspectorUI/UserInterface/Views/NavigationBar.css.
782         (WI.SidebarNavigationBar):
783         (WI.SidebarNavigationBar.prototype.insertNavigationItem):
784         (WI.SidebarNavigationBar.prototype._calculateMinimumWidth):
785         SidebarNavigationBar wraps navigation items in an element so it can correctly calculate the width of all items with spacing between them.
786
787         * UserInterface/Views/StyleDetailsPanel.js:
788         (WI.StyleDetailsPanel.prototype.get _initialScrollOffset):
789         * UserInterface/Views/VisualStyleDetailsSidebarPanel.js: Copied from Source/WebInspectorUI/UserInterface/Views/NavigationBar.css.
790         (WI.VisualStyleDetailsSidebarPanel):
791
792 2017-12-05  Joseph Pecoraro  <pecoraro@apple.com>
793
794         Web Inspector: content views for resources loaded through XHR do not reflect declared mime-type
795         https://bugs.webkit.org/show_bug.cgi?id=141389
796         <rdar://problem/19767070>
797
798         Reviewed by Brian Burg.
799
800         * UserInterface/Base/Utilities.js:
801         Blob <-> Text conversion helpers.
802
803         * UserInterface/Models/Resource.js:
804         (WI.Resource.prototype.createObjectURL):
805         Previously all Image resources were assumed to have base64Encoded data
806         which we automatically convert to a Blob. Now that some image data
807         can be transfered as text, convert that to a Blob here since the output
808         is expected to be a Blob.
809
810         * UserInterface/Views/ResourceContentView.js:
811         (WI.ResourceContentView.prototype.showGenericNoContentMessage):
812         * UserInterface/Views/TextResourceContentView.js:
813         (WI.TextResourceContentView.prototype.contentAvailable):
814         (WI.TextResourceContentView.prototype._contentDidPopulate):
815         * UserInterface/Views/ImageResourceContentView.js:
816         (WI.ImageResourceContentView.prototype.contentAvailable):
817         Better handle no content cases.
818
819         * UserInterface/Views/ResourceClusterContentView.js:
820         (WI.ResourceClusterContentView.prototype.get responseContentView):
821         (WI.ResourceClusterContentView.prototype._contentViewForResourceType):
822         Make a best effort to find a good ContentView to show the resource data.
823         This is done by looking at the ResourceType and MIME Type.
824
825         * UserInterface/Views/SVGImageResourceClusterContentView.js:
826         (WI.SVGImageResourceClusterContentView.prototype._showContentViewForIdentifier):
827         Handle if image data is now text (the image/svg+xml case).
828
829 2017-12-05  Simon Fraser  <simon.fraser@apple.com>
830
831         Remove webkitGetImageDataHD and webkitPutImageDataHD from canvas API
832         https://bugs.webkit.org/show_bug.cgi?id=180387
833
834         Reviewed by Dean Jackson.
835
836         CanvasRenderingContext2D.webkitGetImageDataHD and webkitPutImageDataHD were never standardized,
837         and Blink removed support in 2014 (https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/FOPH5dloGG8).
838
839         Since our canvas backing store is always 1x, they have no use anyway, so remove them.
840
841         * UserInterface/Models/NativeFunctionParameters.js:
842         * UserInterface/Models/RecordingAction.js:
843         (WI.RecordingAction.prototype.getImageParameters):
844         (WI.RecordingAction):
845         * UserInterface/Views/RecordingActionTreeElement.js:
846         (WI.RecordingActionTreeElement._classNameForAction.classNameForActionName):
847         (WI.RecordingActionTreeElement._classNameForAction):
848
849 2017-12-04  Devin Rousso  <webkit@devinrousso.com>
850
851         Web Inspector: provide method for recording CanvasRenderingContext2D from JavaScript
852         https://bugs.webkit.org/show_bug.cgi?id=175166
853         <rdar://problem/34040740>
854
855         Reviewed by Joseph Pecoraro.
856
857         * UserInterface/Controllers/CanvasManager.js:
858         (WI.CanvasManager.prototype.recordingFinished):
859         If a `name` is sent with the payload, use it as the suggested name.
860
861         * UserInterface/Models/NativeFunctionParameters.js:
862         Add `console.record` and `console.recordEnd`.
863
864         * UserInterface/Views/CanvasTabContentView.js:
865         (WI.CanvasTabContentView.prototype.showRepresentedObject):
866         Drive-by: remove logic that toggled the collapsed state of the navigation sidebar, as this
867         was not very controllable by the user and often was aggravating.
868
869         (WI.CanvasTabContentView.prototype._recordingStopped):
870         Only show the recording if it was not started from the console. This can determined by
871         CanvasManager when it recieves a recording if the recording's source is not the same as the
872         current canvas being recorded.
873
874 2017-12-04  Matt Baker  <mattbaker@apple.com>
875
876         Web Inspector: Canvas Tab initial user interface needs some polish
877         https://bugs.webkit.org/show_bug.cgi?id=179330
878         <rdar://problem/35367581>
879
880         Reviewed by Joseph Pecoraro.
881
882         Update the Canvas overview placeholder text and prevent appearance of
883         the vertical scrollbar when no canvases exist. This patch also includes
884         a bunch of cleanup of code that creates content placeholder text throughout
885         the UI, and makes sure all text is styled consistently.
886
887         * Localizations/en.lproj/localizedStrings.js:
888         Updated Canvas overview message text.
889
890         * UserInterface/Base/Main.js:
891         Make the "message text view" a container with child message element, instead
892         of a simple element with text content. This makes it simpler to customize
893         the message (by adding buttons, more text, etc).
894
895         * UserInterface/Views/CanvasDetailsSidebarPanel.css:
896         (.sidebar > .panel.details.canvas .details-section.canvas-extensions .content > ul):
897         (.sidebar > .panel.details.canvas > .content > .empty-content-placeholder): Deleted.
898         (.sidebar > .panel.details.canvas > .content > .empty-content-placeholder > .message): Deleted.
899         * UserInterface/Views/CanvasDetailsSidebarPanel.js:
900         (WI.CanvasDetailsSidebarPanel.prototype.initialLayout):
901
902         * UserInterface/Views/CanvasOverviewContentView.js:
903         (WI.CanvasOverviewContentView):
904         Customize the content placeholder to include a description beneath
905         the "No Canvas Contexts" message.
906
907         * UserInterface/Views/CollectionContentView.css:
908         (.content-view.collection):
909         Change overflow-y to auto, to prevent scrollbar from appearing when
910         "Show scroll bars" system preference is enabled on macOS.
911
912         * UserInterface/Views/CollectionContentView.js:
913         Add support for custom content placeholders.
914         (WI.CollectionContentView):
915         (WI.CollectionContentView.prototype._showContentPlaceholder):
916         (WI.CollectionContentView.prototype._hideContentPlaceholder):
917
918         * UserInterface/Views/ContentView.css:
919         (.content-view > .message-text-view):
920         (.content-view > .message-text-view > .message):
921
922         * UserInterface/Views/DebuggerSidebarPanel.css:
923         (.sidebar > .panel.navigation.debugger > .content):
924         (.sidebar > .panel.navigation.debugger > :matches(.content, .empty-content-placeholder)): Deleted.
925
926         * UserInterface/Views/DetailsSection.css:
927         (.details-section > .content > .group > .row > .message-text-view):
928
929         * UserInterface/Views/Main.css:
930         (.message-text-view):
931         (.message-text-view > .message):
932         (.message-text-view.error):
933
934         * UserInterface/Views/NavigationSidebarPanel.css:
935         (.sidebar > .panel.navigation > .overflow-shadow):
936         (.sidebar > .panel.navigation > .content .empty-content-placeholder): Deleted.
937         (.sidebar > .panel.navigation > .content > .empty-content-placeholder): Deleted.
938         (.sidebar > .panel.navigation > .content .empty-content-placeholder > .message): Deleted.
939
940         * UserInterface/Views/NavigationSidebarPanel.js:
941         (WI.NavigationSidebarPanel.prototype.showEmptyContentPlaceholder):
942         (WI.NavigationSidebarPanel.prototype._createEmptyContentPlaceholderIfNeeded):
943
944         * UserInterface/Views/NetworkTableContentView.css:
945         (.content-view.network .message-text-view):
946         (.content-view.network .message-text-view > .message):
947         Workaround to prevent "No Filter Results" message from being styled like
948         "full width" messages displayed in ContentViews (large, bold font).
949         This is needed because the placeholder message element is a immediate child
950         of the network content view, rather than the network table.
951
952         (.content-view.network .empty-content-placeholder): Deleted.
953         (body[dir=ltr] .content-view.network .empty-content-placeholder): Deleted.
954         (body[dir=rtl] .content-view.network .empty-content-placeholder): Deleted.
955         (.content-view.network .empty-content-placeholder > .message): Deleted.
956
957         * UserInterface/Views/NetworkTableContentView.js:
958         (WI.NetworkTableContentView.prototype._showEmptyFilterResultsMessage):
959
960         * UserInterface/Views/RecordingNavigationSidebarPanel.css:
961         (.sidebar > .panel.navigation.recording > .content):
962         (.sidebar > .panel.navigation.recording > :matches(.content, .empty-content-placeholder)): Deleted.
963
964         * UserInterface/Views/ResourceSidebarPanel.css:
965         (.sidebar > .panel.navigation.resource > .content):
966         (.sidebar > .panel.navigation.resource > :matches(.content, .empty-content-placeholder)): Deleted.
967
968         * UserInterface/Views/RulesStyleDetailsPanel.css:
969         (.sidebar > .panel.details.css-style > .content > .rules > .message-text-view):
970         (.sidebar > .panel.details.css-style > .content > .rules:not(.filter-non-matching) > .message-text-view):
971         (.sidebar > .panel.details.css-style > .content > .rules:not(.filter-non-matching) > .no-filter-results): Deleted.
972         (.sidebar > .panel.details.css-style > .content.filter-in-progress > .rules.filter-non-matching > .no-filter-results): Deleted.
973         (.sidebar > .panel.details.css-style > .content.filter-in-progress > .rules.filter-non-matching > .no-filter-results > .no-filter-results-message): Deleted.
974
975         * UserInterface/Views/RulesStyleDetailsPanel.js:
976         (WI.RulesStyleDetailsPanel):
977
978         * UserInterface/Views/SearchSidebarPanel.css:
979         (.sidebar > .panel.navigation.search > :matches(.content, .message-text-view)):
980         (.sidebar > .panel.navigation.search.changed > :matches(.content, .message-text-view)):
981         (.sidebar > .panel.navigation.search > :matches(.content, .empty-content-placeholder)): Deleted.
982         (.sidebar > .panel.navigation.search.changed > :matches(.content, .empty-content-placeholder)): Deleted.
983
984         * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:
985         (WI.SpreadsheetRulesStyleDetailsPanel):
986
987         * UserInterface/Views/StorageSidebarPanel.css:
988         (.sidebar > .panel.navigation.storage > .content):
989         (.sidebar > .panel.navigation.storage > :matches(.content, .empty-content-placeholder)): Deleted.
990
991         * UserInterface/Views/Variables.css:
992         (:root):
993
994 2017-11-29  Nikita Vasilyev  <nvasilyev@apple.com>
995
996         Web Inspector: Styles Redesign: can't add new property after property without trailing semicolon
997         https://bugs.webkit.org/show_bug.cgi?id=179587
998         <rdar://problem/35490858>
999
1000         Reviewed by Timothy Hatcher.
1001
1002         * UserInterface/Models/CSSProperty.js:
1003         (WI.CSSProperty.prototype._updateOwnerStyleText):
1004         (WI.CSSProperty.prototype._appendSemicolonIfNeeded):
1005         Add a semicolon before the new property if the last property doesn't have it already.
1006
1007 2017-11-29  Joseph Pecoraro  <pecoraro@apple.com>
1008
1009         Web Inspector: Console Tab navigation bar sometimes does not include filter bar, clear console sometimes does not work
1010         https://bugs.webkit.org/show_bug.cgi?id=180124
1011         <rdar://problem/35740353>
1012
1013         Reviewed by Brian Burg.
1014
1015         * UserInterface/Views/LogContentView.js:
1016         (WI.LogContentView.prototype.closed):
1017         Avoid removing event listeners if this LogContentView singleton is ever closed.
1018         The singleton will always be alive so we don't want to remove the event listeners
1019         without a way to add them back.
1020
1021         * UserInterface/Base/Main.js:
1022         (WI.showSplitConsole):
1023         * UserInterface/Views/ConsoleTabContentView.js:
1024         (WI.ConsoleTabContentView.prototype.shown):
1025         When showing the ConsoleTab immediately collapse the split console so that any
1026         following code that checks WI.isShowingSplitConsole will get the expected value.
1027         It is also now possible to share a ContentView across ContentBrowsers via
1028         tombstones, so remove the old code that would frequently close the LogContentView.
1029
1030 2017-11-28  Devin Rousso  <webkit@devinrousso.com>
1031
1032         Web Inspector: remove extra space before call frames in Canvas backtraces
1033         https://bugs.webkit.org/show_bug.cgi?id=180129
1034
1035         Reviewed by Matt Baker.
1036
1037         * UserInterface/Views/CanvasDetailsSidebarPanel.js:
1038         (WI.CanvasDetailsSidebarPanel.prototype.initialLayout):
1039         * UserInterface/Views/RecordingTraceDetailsSidebarPanel.js:
1040         (WI.RecordingTraceDetailsSidebarPanel):
1041         Hide the disclosure buttons of these TreeOutlines as they don't have children.
1042
1043 2017-11-28  Matt Baker  <mattbaker@apple.com>
1044
1045         Web Inspector: Clean up backtrace in Canvas details sidebar
1046         https://bugs.webkit.org/show_bug.cgi?id=179807
1047         <rdar://problem/35604378>
1048
1049         Reviewed by Devin Rousso.
1050
1051         * UserInterface/Controllers/CallFrameTreeController.js: Added.
1052         Display a list of call frames in a tree outline. Browse to the represented
1053         call frame's source code location when a tree element is clicked or selected.
1054
1055         (WI.CallFrameTreeController):
1056         (WI.CallFrameTreeController.prototype.get treeOutline):
1057         (WI.CallFrameTreeController.prototype.get callFrames):
1058         (WI.CallFrameTreeController.prototype.set callFrames):
1059         (WI.CallFrameTreeController.prototype.disconnect):
1060         (WI.CallFrameTreeController.prototype._treeElementClicked):
1061         (WI.CallFrameTreeController.prototype._treeSelectionDidChange):
1062         (WI.CallFrameTreeController.prototype._showSourceCodeLocation):
1063
1064         * UserInterface/Main.html:
1065
1066         * UserInterface/Views/CanvasDetailsSidebarPanel.css:
1067         (.sidebar > .panel.details.canvas .details-section.canvas-backtrace .call-frame): Deleted.
1068         * UserInterface/Views/CanvasDetailsSidebarPanel.js:
1069         (WI.CanvasDetailsSidebarPanel.prototype.initialLayout):
1070         (WI.CanvasDetailsSidebarPanel.prototype._refreshBacktraceSection):
1071
1072         * UserInterface/Views/RecordingTraceDetailsSidebarPanel.css:
1073         (.sidebar > .panel.details.recording-trace > .content > .call-frame): Deleted.
1074         * UserInterface/Views/RecordingTraceDetailsSidebarPanel.js:
1075         (WI.RecordingTraceDetailsSidebarPanel):
1076         (WI.RecordingTraceDetailsSidebarPanel.prototype.updateAction):
1077
1078         * UserInterface/Views/TreeElement.js:
1079         (WI.TreeElement.treeElementToggled):
1080         (WI.TreeElement.prototype.selectOnMouseDown):
1081         Prevent selection if parent tree outline is not selectable.
1082
1083         * UserInterface/Views/TreeOutline.css:
1084         (.tree-outline.non-selectable .item:hover):
1085
1086         * UserInterface/Views/TreeOutline.js:
1087         Add `selectable` behavior, set at construction time. When false,
1088         clicking a tree element dispatches an event instead of selecting
1089         the tree element. Default true.
1090
1091         (WI.TreeOutline):
1092         (WI.TreeOutline.prototype.get selectable):
1093         Dispatch click event when not selectable, and some drive-by cleanup.
1094
1095 2017-11-28  Joseph Pecoraro  <pecoraro@apple.com>
1096
1097         Web Inspector: Move console Preserve Log setting from Setting tab to Console navigation bar
1098         https://bugs.webkit.org/show_bug.cgi?id=180125
1099
1100         Reviewed by Matt Baker.
1101
1102         * Localizations/en.lproj/localizedStrings.js:
1103         * UserInterface/Views/LogContentView.js:
1104         (WI.LogContentView):
1105         (WI.LogContentView.prototype.get navigationItems):
1106         (WI.LogContentView.prototype._clearLogOnNavigateSettingChanged):
1107         * UserInterface/Views/SettingsTabContentView.js:
1108         (WI.SettingsTabContentView.prototype._createGeneralSettingsView):
1109
1110 2017-11-28  Joseph Pecoraro  <pecoraro@apple.com>
1111
1112         Web Inspector: Remove Network "Clear on load" from Settings tab now that Network tab has a toggle for it
1113         https://bugs.webkit.org/show_bug.cgi?id=180123
1114
1115         Reviewed by Matt Baker.
1116
1117         * Localizations/en.lproj/localizedStrings.js:
1118         * UserInterface/Views/SettingsTabContentView.js:
1119         (WI.SettingsTabContentView.prototype._createGeneralSettingsView):
1120
1121 2017-11-28  Joseph Pecoraro  <pecoraro@apple.com>
1122
1123         Web Inspector: Network Tab - Add a toggle in the network tab to control automatically clearing or preserving log across loads
1124         https://bugs.webkit.org/show_bug.cgi?id=180110
1125         <rdar://problem/34071789>
1126
1127         Reviewed by Timothy Hatcher.
1128
1129         * Localizations/en.lproj/localizedStrings.js:
1130         New strings.
1131
1132         * UserInterface/Views/CheckboxNavigationItem.css:
1133         (.navigation-bar .item.checkbox input[type=checkbox]):
1134         Tweak style to more center the checkbox vertically.
1135
1136         * UserInterface/Views/CheckboxNavigationItem.js:
1137         (WI.CheckboxNavigationItem):
1138         Fix setting the initial value of a checkbox navigation item.
1139
1140         * UserInterface/Views/NetworkTableContentView.js:
1141         (WI.NetworkTableContentView):
1142         (WI.NetworkTableContentView.prototype.get navigationItems):
1143         (WI.NetworkTableContentView.prototype.closed):
1144         (WI.NetworkTableContentView.prototype._clearNetworkOnNavigateSettingChanged):
1145         Add a new checkbox for the clear on navigation setting.
1146
1147         * UserInterface/Views/SettingEditor.js:
1148         (WI.SettingEditor.createForSetting):
1149         Update the editor checkbox if the setting changes outside of the setting editor.
1150
1151         * UserInterface/Views/NavigationItem.js:
1152         (WI.NavigationItem.prototype.get tooltip):
1153         (WI.NavigationItem.prototype.set tooltip):
1154         * UserInterface/Views/ActivateButtonNavigationItem.js:
1155         (WI.ActivateButtonNavigationItem.prototype.set activated):
1156         * UserInterface/Views/ButtonNavigationItem.js:
1157         (WI.ButtonNavigationItem):
1158         (WI.ButtonNavigationItem.prototype.get toolTip): Deleted.
1159         (WI.ButtonNavigationItem.prototype.set toolTip): Deleted.
1160         * UserInterface/Views/ToggleButtonNavigationItem.js:
1161         (WI.ToggleButtonNavigationItem.prototype.set alternateToolTip):
1162         (WI.ToggleButtonNavigationItem.prototype.set toggled):
1163         Move tooltip to the base class and rename it from `toolTip` to `tooltip` to
1164         match existing generic places like TreeElement.
1165
1166 2017-11-28  Joseph Pecoraro  <pecoraro@apple.com>
1167
1168         Web Inspector: Include Beacon loads in the Network Table's "Other" filter
1169         https://bugs.webkit.org/show_bug.cgi?id=180113
1170
1171         Reviewed by Matt Baker.
1172
1173         * UserInterface/Views/NetworkTableContentView.js:
1174         (WI.NetworkTableContentView):
1175         Ensure the Other filter will handle any type that hasn't already been handled.
1176
1177 2017-11-28  Joseph Pecoraro  <pecoraro@apple.com>
1178
1179         ServiceWorker Inspector: Frontend changes to support Network tab and sub resources
1180         https://bugs.webkit.org/show_bug.cgi?id=179642
1181         <rdar://problem/35517704>
1182
1183         Reviewed by Brian Burg.
1184
1185         This patch makes use of the NetworkAgent and ServiceWorker agents in the frontend
1186         for a ServiceWorker inspection target. It also makes changes to ensure that the
1187         subresources requested by a ServiceWorker appear as expected in both the Resources
1188         and Network Tabs.
1189
1190         The backends of ServiceWorkers and DedicatedWorkers for network requests are
1191         different, but we want the presentation to be very similiar. Ultimately we'd like
1192         to move to more similiar backends if possible.
1193
1194         The first (after Inspector.enable) message a ServiceWorker inspector sends to the
1195         backend is ServiceWorker.getInitializationInfo. This parallels a Page inspector
1196         sending Page.getResourceTree. From the response we get enough information to
1197         setup the MainTarget with enough information (targetId, URL) to know what its main
1198         resource URL will be. Like DedicatedWorkers, the target's main resource will be
1199         filled in with the first WI.Script matching the URL. With this initialization
1200         message alone the ServiceWorker Target behaves almost identically to a Worker
1201         target and Network loads associated with the target (by targetId) are added as
1202         sub-resources as expected.
1203
1204         The biggest tension in this patch is within FrameResourceManager. The class, as
1205         its name indicates, assumes page resources with Frames, navigation, and loader
1206         semantics. It takes a few modifications to make it better handle resources not
1207         associated with a Page. A follow-up will rename this to just ResourceManager as
1208         the class' main task is now to associate Resources with Targets.
1209
1210         * UserInterface/Base/Main.js:
1211         (WI.loaded):
1212         There are assumptions in a few places that the main target is a Page. Those
1213         places can now be reached when the main target is a ServiceWorker. Add a
1214         convenience WI.pageTarget that can be used in these places.
1215
1216         * UserInterface/Test/Test.js:
1217         (WI.loaded):
1218         Add pageTarget.
1219
1220         * UserInterface/Controllers/DebuggerManager.js:
1221         (WI.DebuggerManager.prototype.scriptDidParse):
1222         Generalize the condition so the main target can have its main resource populated.
1223         This will be the case when a ServiceWorker is the main target and its main resource
1224         needs to be populated from a Script.
1225
1226         * UserInterface/Controllers/FrameResourceManager.js:
1227         (WI.FrameResourceManager):
1228         (WI.FrameResourceManager.prototype._processServiceWorkerInitializationInfo):
1229         Handle ServiceWorker Resource initialization which is different from Page initialization.
1230
1231         (WI.FrameResourceManager.prototype._addNewResourceToFrameOrTarget):
1232         (WI.FrameResourceManager.prototype._addResourceToTarget):
1233         (WI.FrameResourceManager.prototype._addFrameTreeFromFrameResourceTreePayload):
1234         Eliminate PageAgent, which might not be available in some targets.
1235         Use pageTarget instead of mainTarget where appropriate.
1236
1237         * UserInterface/Controllers/TargetManager.js:
1238         (WI.TargetManager.prototype.targetForIdentifier):
1239         A ServiceWorker is the first time that the main target has an identifier,
1240         so let TargetManager find it by target id.
1241
1242         * UserInterface/Models/Resource.js:
1243         (WI.Resource):
1244         (WI.Resource.resolvedType):
1245         (WI.Resource.prototype.updateForResponse):
1246         For Resource.Type.Other resources include a better type inferred from the MIME type.
1247         ServiceWorker loads currently don't have type information and this provides a great
1248         type for such loads. This should also provide nice types for CacheStorage.add*
1249         populated resources which are otherwise type-less fetches.
1250
1251         * UserInterface/Protocol/Connection.js:
1252         Rename the class since this may no longer be a "Page".
1253
1254         * UserInterface/Protocol/MainTarget.js:
1255         (WI.MainTarget):
1256         (WI.MainTarget.mainConnectionInfo):
1257         (WI.MainTarget.prototype.get mainResource):
1258         (WI.MainTarget.prototype.set mainResource):
1259         (WI.MainTarget.prototype.get displayName): Deleted.
1260         * UserInterface/Protocol/Target.js:
1261         (WI.Target.prototype.set identifier):
1262         (WI.Target.prototype.set name):
1263         (WI.Target.prototype.get mainResource):
1264         (WI.Target.prototype.set mainResource):
1265         (WI.Target.prototype.get displayName):
1266         Give richer types for the main target. And allow a few things to be initialized
1267         lazily, which will be necessary from an initialization message.
1268
1269         * UserInterface/Views/NetworkTabContentView.js:
1270         (WI.NetworkTabContentView.isTabAllowed):
1271         Remove a PageAgent requirement for the Network tab. A ServiceWorker will not
1272         have a PageAgent, but it will have a NetworkAgent, which should be good enough.
1273
1274         * UserInterface/Views/NetworkTableContentView.js:
1275         (WI.NetworkTableContentView.prototype._populateWithInitialResourcesIfNeeded):
1276         Initial populate should populate all subresources of all targets.
1277
1278         * UserInterface/Views/ResourceContentView.js:
1279         (WI.ResourceContentView.prototype.contentAvailable):
1280         This was getting used by ResourceType.Other without warning. Make it warn.
1281
1282         * UserInterface/Views/ResourceSidebarPanel.js:
1283         (WI.ResourceSidebarPanel.prototype._addScript):
1284         (WI.ResourceSidebarPanel.prototype._addTargetWithMainResource):
1285         * UserInterface/Views/ScriptTreeElement.js:
1286         (WI.ScriptTreeElement):
1287         Allow WorkerTreeElements for ServiceWorker targets which may also be the main target.
1288         Also when adding such a tree element, promote the resource sidebar to a full tree
1289         outline, and stop hiding disclosure buttons.
1290
1291 2017-11-27  Nikita Vasilyev  <nvasilyev@apple.com>
1292
1293         Web Inspector: Styles Redesign: selector's field shadow is clipped at the bottom
1294         https://bugs.webkit.org/show_bug.cgi?id=179961
1295
1296         Reviewed by Matt Baker.
1297
1298         * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.css:
1299         (.spreadsheet-css-declaration .selector):
1300
1301 2017-11-21  Tomas Popela  <tpopela@redhat.com>
1302
1303         Unreviewed compile warning fix
1304
1305         WARNING: console.assert inside control flow statement without braces on line: 130487:
1306         console.assert(this._loggingChannelSources.includes(channel.source));
1307
1308         * UserInterface/Controllers/LogManager.js:
1309         (WI.LogManager):
1310
1311 2017-11-18  Joseph Pecoraro  <pecoraro@apple.com>
1312
1313         Web Inspector: Update the Trash / Clear icon
1314         https://bugs.webkit.org/show_bug.cgi?id=179850
1315
1316         Reviewed by Matt Baker.
1317
1318         * UserInterface/Images/NavigationItemTrash.svg:
1319         Update the icon.
1320
1321         * UserInterface/Views/ProbeDetailsSidebarPanel.css:
1322         (.sidebar > .panel.probes > .navigation-bar .item.clear-samples):
1323         * UserInterface/Views/ProbeSetDetailsSection.js:
1324         (WI.ProbeSetDetailsSection):
1325         * UserInterface/Views/ScopeChainDetailsSidebarPanel.css:
1326         (.scope-chain .navigation-bar .item.clear-watch-expressions):
1327         * UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
1328         (WI.ScopeChainDetailsSidebarPanel):
1329         Resize to 15x15 and move it down a pixel.
1330
1331 2017-11-17  Joseph Pecoraro  <pecoraro@apple.com>
1332
1333         Web Inspector: Network Tab - Add HAR Export button
1334         https://bugs.webkit.org/show_bug.cgi?id=179570
1335         <rdar://problem/35484918>
1336
1337         Reviewed by Matt Baker.
1338
1339         * Localizations/en.lproj/localizedStrings.js:
1340         New strings.
1341
1342         * UserInterface/Images/Export.svg: Added.
1343         * UserInterface/Images/Import.svg: Added.
1344         Add symmetric import/export buttons.
1345
1346         * UserInterface/Base/Main.js:
1347         (WI.contentLoaded):
1348         Expose the save keyboard shortcut so we can show its display name in a tooltip.
1349
1350         * UserInterface/Views/NetworkTableContentView.js:
1351         (WI.NetworkTableContentView):
1352         (WI.NetworkTableContentView.prototype.get navigationItems):
1353         (WI.NetworkTableContentView.prototype.reset):
1354         (WI.NetworkTableContentView.prototype.layout):
1355         (WI.NetworkTableContentView.prototype._updateExportButton):
1356         Include the export button and enable/disable it when appropriate.
1357
1358         (WI.NetworkTableContentView.prototype.closed):
1359         Add a missing event listener removal.
1360
1361 2017-11-17  Matt Baker  <mattbaker@apple.com>
1362
1363         Web Inspector: Disabled ImageAndText-style buttons should have gray text
1364         https://bugs.webkit.org/show_bug.cgi?id=179843
1365         <rdar://problem/35624337>
1366
1367         Reviewed by Joseph Pecoraro.
1368
1369         * UserInterface/Views/ButtonNavigationItem.css:
1370         (.navigation-bar .item.button.disabled.image-and-text,):
1371         (.navigation-bar .item.button.disabled > .glyph): Deleted.
1372
1373 2017-11-17  Joseph Pecoraro  <pecoraro@apple.com>
1374
1375         Web Inspector: Network Tab - Update Ignore Caches button
1376         https://bugs.webkit.org/show_bug.cgi?id=179841
1377
1378         Reviewed by Matt Baker.
1379
1380         * UserInterface/Images/IgnoreCaches.svg:
1381         This changes from an arrow over a cache to a slash through a cache.
1382
1383 2017-11-17  Matt Baker  <mattbaker@apple.com>
1384
1385         Web Inspector: Remove WI.instanceForClass
1386         https://bugs.webkit.org/show_bug.cgi?id=179746
1387
1388         Reviewed by Timothy Hatcher.
1389
1390         The implementations of DetailsSidebarPanel subclasses assume that panels
1391         are closed and released when no longer needed. Keeping them alive with
1392         instanceForClass isn't the right choice, since sidebar panels remove their
1393         event listeners when closed.
1394
1395         * UserInterface/Base/Main.js:
1396         (WI.instanceForClass): Deleted.
1397         * UserInterface/Views/DebuggerTabContentView.js:
1398         (WI.DebuggerTabContentView.prototype.showDetailsSidebarPanels):
1399         * UserInterface/Views/TabContentView.js:
1400         (WI.TabContentView.prototype.get detailsSidebarPanels):
1401
1402 2017-11-17  Matt Baker  <mattbaker@apple.com>
1403
1404         Web Inspector: ButtonNavigationItem should support image and text button style
1405         https://bugs.webkit.org/show_bug.cgi?id=179625
1406         <rdar://problem/35512238>
1407
1408         Reviewed by Joseph Pecoraro.
1409
1410         * UserInterface/Main.html:
1411
1412         * UserInterface/Views/ButtonNavigationItem.css:
1413         (.navigation-bar .item.button):
1414         (.navigation-bar .item.button.image-only):
1415         (.navigation-bar .item.button.image-and-text):
1416         (.navigation-bar .item.button.image-and-text > span):
1417         (.navigation-bar .item.button.text-only):
1418         (.navigation-bar .item.button.text-only.checkbox): Deleted.
1419         (.navigation-bar .item.button.text-only.checkbox label): Deleted.
1420         Checkbox styles have been moved to a separate CSS file.
1421
1422         * UserInterface/Views/ButtonNavigationItem.js:
1423         Add backing data members for the image and label, allowing the DOM
1424         representation of the button to change as needed.
1425
1426         (WI.ButtonNavigationItem):
1427         Remove duplicate role logic. The base class sets the role.
1428
1429         (WI.ButtonNavigationItem.prototype.set label):
1430         (WI.ButtonNavigationItem.prototype.set image):
1431         (WI.ButtonNavigationItem.prototype.get buttonStyle):
1432         (WI.ButtonNavigationItem.prototype.set buttonStyle):
1433         (WI.ButtonNavigationItem.prototype.get additionalClassNames):
1434         (WI.ButtonNavigationItem.prototype._mouseClicked):
1435         (WI.ButtonNavigationItem.prototype._update):
1436         (WI.ButtonNavigationItem.prototype.updateButtonText): Deleted.
1437
1438         * UserInterface/Views/CheckboxNavigationItem.css: Added.
1439         (.navigation-bar .item.checkbox):
1440         (.navigation-bar .item.checkbox label):
1441
1442         * UserInterface/Views/CheckboxNavigationItem.js:
1443         Change base class to NavigationItem, since this item lacks an image
1444         and makes use of an actual label element instead of a span for its text.
1445
1446         (WI.CheckboxNavigationItem):
1447         (WI.CheckboxNavigationItem.prototype._checkboxChanged):
1448         (WI.CheckboxNavigationItem.prototype.updateButtonText): Deleted.
1449
1450 2017-11-17  Joseph Pecoraro  <pecoraro@apple.com>
1451
1452         Web Inspector: Remove FIXMEs for GTK+ missing icons
1453         https://bugs.webkit.org/show_bug.cgi?id=155282
1454         <rdar://problem/25076615>
1455
1456         Reviewed by Michael Catanzaro.
1457
1458         * UserInterface/Views/PathComponentIcons.css:
1459         (.source-icon .icon):
1460         (body:not(.mac-platform, .windows-platform) .heap-snapshot-record .icon,): Deleted.
1461         * UserInterface/Views/ResourceIcons.css:
1462         (.large .resource-icon.resource-type-websocket .icon):
1463         (body:not(.mac-platform, .windows-platform) .resource-icon.resource-type-ping .icon,): Deleted.
1464         (body:not(.mac-platform, .windows-platform) .large .resource-icon.resource-type-ping .icon,): Deleted.
1465         All ports now share the same images.
1466
1467 2017-11-15  Nikita Vasilyev  <nvasilyev@apple.com>
1468
1469         Web Inspector: Styles Redesign: typing colon in property name should advance to value field
1470         https://bugs.webkit.org/show_bug.cgi?id=178795
1471         <rdar://problem/35174674>
1472
1473         Reviewed by Devin Rousso.
1474
1475         * UserInterface/Views/SpreadsheetStyleProperty.js:
1476         (WI.SpreadsheetStyleProperty.prototype._update):
1477         (WI.SpreadsheetStyleProperty.prototype._handleNameBeforeInput):
1478         Unlike pressing Tab or Enter, typing ":" in the property name should discard suggestion hint.
1479
1480         (WI.SpreadsheetStyleProperty.prototype._valueCompletionDataProvider):
1481         We use 250ms debounce before updating this._property.name.
1482         When typing "font-f:", we want to discard suggestion hint (i.e. "font-family"),
1483         and immediately show autocomplete for "font-f" (in this case, invalid property).
1484
1485         * UserInterface/Views/SpreadsheetTextField.js:
1486         (WI.SpreadsheetTextField):
1487         (WI.SpreadsheetTextField.prototype.stopEditing):
1488         (WI.SpreadsheetTextField.prototype.discardCompletion):
1489         Call spreadsheetTextFieldDidChange when discarding non-empty suggestion hint.
1490
1491         (WI.SpreadsheetTextField.prototype.detached):
1492         (WI.SpreadsheetTextField.prototype.completionSuggestionsClickedCompletion):
1493         (WI.SpreadsheetTextField.prototype._handleBlur):
1494         (WI.SpreadsheetTextField.prototype._handleKeyDownForSuggestionView):
1495         (WI.SpreadsheetTextField.prototype._updateCompletions):
1496         (WI.SpreadsheetTextField.prototype._applyCompletionHint):
1497         (WI.SpreadsheetTextField.prototype._hideCompletions): Deleted.
1498
1499 2017-11-15  Matt Baker  <mattbaker@apple.com>
1500
1501         Web Inspector: REGRESSION (r217750): Navigation sidebar broken after closing and re-opening tab
1502         https://bugs.webkit.org/show_bug.cgi?id=179717
1503         <rdar://problem/35551541>
1504
1505         Reviewed by Devin Rousso.
1506
1507         NavigationSidebarPanels should not be created with WI.instanceForClass.
1508
1509         * UserInterface/Views/DebuggerSidebarPanel.js:
1510         * UserInterface/Views/ResourceSidebarPanel.js:
1511         (WI.ResourceSidebarPanel):
1512         * UserInterface/Views/SearchSidebarPanel.js:
1513         (WI.SearchSidebarPanel):
1514         * UserInterface/Views/StorageSidebarPanel.js:
1515         (WI.StorageSidebarPanel):
1516         * UserInterface/Views/TabContentView.js:
1517         (WI.TabContentView.prototype.get navigationSidebarPanel):
1518
1519 2017-11-15  Michael Catanzaro  <mcatanzaro@igalia.com>
1520
1521         Remove GTK web inspector images
1522         https://bugs.webkit.org/show_bug.cgi?id=179716
1523
1524         Reviewed by Carlos Garcia Campos.
1525
1526         * Scripts/copy-user-interface-resources.pl:
1527         * UserInterface/Images/gtk/AUTHORS: Removed.
1528         * UserInterface/Images/gtk/ActiveCallFrame.svg: Removed.
1529         * UserInterface/Images/gtk/AnimationPlayStatePaused.svg: Removed.
1530         * UserInterface/Images/gtk/AnimationPlayStateRunning.svg: Removed.
1531         * UserInterface/Images/gtk/ApplicationCache.png: Removed.
1532         * UserInterface/Images/gtk/ApplicationCache@2x.png: Removed.
1533         * UserInterface/Images/gtk/ApplicationCacheManifest.png: Removed.
1534         * UserInterface/Images/gtk/ApplicationCacheManifest@2x.png: Removed.
1535         * UserInterface/Images/gtk/ArrowUp.svg: Removed.
1536         * UserInterface/Images/gtk/Assertion.svg: Removed.
1537         * UserInterface/Images/gtk/BackForwardArrows.svg: Removed.
1538         * UserInterface/Images/gtk/Breakpoint.png: Removed.
1539         * UserInterface/Images/gtk/Breakpoint@2x.png: Removed.
1540         * UserInterface/Images/gtk/BreakpointButton.svg: Removed.
1541         * UserInterface/Images/gtk/BreakpointInactive.png: Removed.
1542         * UserInterface/Images/gtk/BreakpointInactive@2x.png: Removed.
1543         * UserInterface/Images/gtk/BreakpointInactiveButton.svg: Removed.
1544         * UserInterface/Images/gtk/Breakpoints.svg: Removed.
1545         * UserInterface/Images/gtk/COPYING: Removed.
1546         * UserInterface/Images/gtk/COPYING_CCBYSA3: Removed.
1547         * UserInterface/Images/gtk/COPYING_LGPL2: Removed.
1548         * UserInterface/Images/gtk/CSSVariable.svg: Removed.
1549         * UserInterface/Images/gtk/CallTrees.svg: Removed.
1550         * UserInterface/Images/gtk/Canvas.svg: Removed.
1551         * UserInterface/Images/gtk/Canvas2D.svg: Removed.
1552         * UserInterface/Images/gtk/Canvas3D.svg: Removed.
1553         * UserInterface/Images/gtk/CanvasOverview.svg: Removed.
1554         * UserInterface/Images/gtk/Checkers.svg: Removed.
1555         * UserInterface/Images/gtk/Circle.svg: Removed.
1556         * UserInterface/Images/gtk/ClearBoth.svg: Removed.
1557         * UserInterface/Images/gtk/ClearLeft.svg: Removed.
1558         * UserInterface/Images/gtk/ClearRight.svg: Removed.
1559         * UserInterface/Images/gtk/ClippingCSS.png: Removed.
1560         * UserInterface/Images/gtk/ClippingCSS@2x.png: Removed.
1561         * UserInterface/Images/gtk/ClippingCSSLarge.png: Removed.
1562         * UserInterface/Images/gtk/ClippingCSSLarge@2x.png: Removed.
1563         * UserInterface/Images/gtk/ClippingGeneric.png: Removed.
1564         * UserInterface/Images/gtk/ClippingGeneric@2x.png: Removed.
1565         * UserInterface/Images/gtk/ClippingGenericLarge.png: Removed.
1566         * UserInterface/Images/gtk/ClippingGenericLarge@2x.png: Removed.
1567         * UserInterface/Images/gtk/ClippingJS.png: Removed.
1568         * UserInterface/Images/gtk/ClippingJS@2x.png: Removed.
1569         * UserInterface/Images/gtk/ClippingJSLarge.png: Removed.
1570         * UserInterface/Images/gtk/ClippingJSLarge@2x.png: Removed.
1571         * UserInterface/Images/gtk/Close.svg: Removed.
1572         * UserInterface/Images/gtk/CloseLarge.svg: Removed.
1573         * UserInterface/Images/gtk/CloseWhite.svg: Removed.
1574         * UserInterface/Images/gtk/ColorIcon.png: Removed.
1575         * UserInterface/Images/gtk/ColorIcon@2x.png: Removed.
1576         * UserInterface/Images/gtk/Console.svg: Removed.
1577         * UserInterface/Images/gtk/Cookie.png: Removed.
1578         * UserInterface/Images/gtk/Cookie@2x.png: Removed.
1579         * UserInterface/Images/gtk/Crosshair.svg: Removed.
1580         * UserInterface/Images/gtk/CubicBezier.svg: Removed.
1581         * UserInterface/Images/gtk/DOMBreakpoint.svg: Removed.
1582         * UserInterface/Images/gtk/DOMCharacterData.svg: Removed.
1583         * UserInterface/Images/gtk/DOMComment.svg: Removed.
1584         * UserInterface/Images/gtk/DOMDocument.svg: Removed.
1585         * UserInterface/Images/gtk/DOMDocumentType.svg: Removed.
1586         * UserInterface/Images/gtk/DOMElement.svg: Removed.
1587         * UserInterface/Images/gtk/DOMNode.svg: Removed.
1588         * UserInterface/Images/gtk/DOMTextNode.svg: Removed.
1589         * UserInterface/Images/gtk/Database.png: Removed.
1590         * UserInterface/Images/gtk/Database@2x.png: Removed.
1591         * UserInterface/Images/gtk/DatabaseTable.png: Removed.
1592         * UserInterface/Images/gtk/DatabaseTable@2x.png: Removed.
1593         * UserInterface/Images/gtk/Debug.svg: Removed.
1594         * UserInterface/Images/gtk/Debugger.svg: Removed.
1595         * UserInterface/Images/gtk/DisclosureTriangles.svg: Removed.
1596         * UserInterface/Images/gtk/DockBottom.svg: Removed.
1597         * UserInterface/Images/gtk/DockLeft.svg: Removed.
1598         * UserInterface/Images/gtk/DockRight.svg: Removed.
1599         * UserInterface/Images/gtk/DocumentCSS.png: Removed.
1600         * UserInterface/Images/gtk/DocumentCSS@2x.png: Removed.
1601         * UserInterface/Images/gtk/DocumentCSSLarge.png: Removed.
1602         * UserInterface/Images/gtk/DocumentCSSLarge@2x.png: Removed.
1603         * UserInterface/Images/gtk/DocumentFont.png: Removed.
1604         * UserInterface/Images/gtk/DocumentFont@2x.png: Removed.
1605         * UserInterface/Images/gtk/DocumentFontLarge.png: Removed.
1606         * UserInterface/Images/gtk/DocumentFontLarge@2x.png: Removed.
1607         * UserInterface/Images/gtk/DocumentGeneric.png: Removed.
1608         * UserInterface/Images/gtk/DocumentGeneric@2x.png: Removed.
1609         * UserInterface/Images/gtk/DocumentGenericLarge.png: Removed.
1610         * UserInterface/Images/gtk/DocumentGenericLarge@2x.png: Removed.
1611         * UserInterface/Images/gtk/DocumentImage.png: Removed.
1612         * UserInterface/Images/gtk/DocumentImage@2x.png: Removed.
1613         * UserInterface/Images/gtk/DocumentImageLarge.png: Removed.
1614         * UserInterface/Images/gtk/DocumentImageLarge@2x.png: Removed.
1615         * UserInterface/Images/gtk/DocumentJS.png: Removed.
1616         * UserInterface/Images/gtk/DocumentJS@2x.png: Removed.
1617         * UserInterface/Images/gtk/DocumentJSLarge.png: Removed.
1618         * UserInterface/Images/gtk/DocumentJSLarge@2x.png: Removed.
1619         * UserInterface/Images/gtk/DocumentMarkup.png: Removed.
1620         * UserInterface/Images/gtk/DocumentMarkup@2x.png: Removed.
1621         * UserInterface/Images/gtk/DocumentMarkupLarge.png: Removed.
1622         * UserInterface/Images/gtk/DocumentMarkupLarge@2x.png: Removed.
1623         * UserInterface/Images/gtk/DownloadArrow.svg: Removed.
1624         * UserInterface/Images/gtk/Elements.svg: Removed.
1625         * UserInterface/Images/gtk/Error.svg: Removed.
1626         * UserInterface/Images/gtk/Errors.svg: Removed.
1627         * UserInterface/Images/gtk/ErrorsEnabled.svg: Removed.
1628         * UserInterface/Images/gtk/EventListener.svg: Removed.
1629         * UserInterface/Images/gtk/Events.svg: Removed.
1630         * UserInterface/Images/gtk/Exception.svg: Removed.
1631         * UserInterface/Images/gtk/Eye.svg: Removed.
1632         * UserInterface/Images/gtk/FilterFieldActiveGlyph.svg: Removed.
1633         * UserInterface/Images/gtk/FilterFieldGlyph.svg: Removed.
1634         * UserInterface/Images/gtk/FloatLeft.svg: Removed.
1635         * UserInterface/Images/gtk/FloatRight.svg: Removed.
1636         * UserInterface/Images/gtk/FolderGeneric.png: Removed.
1637         * UserInterface/Images/gtk/FolderGeneric@2x.png: Removed.
1638         * UserInterface/Images/gtk/FontStyleItalic.svg: Removed.
1639         * UserInterface/Images/gtk/FontStyleNormal.svg: Removed.
1640         * UserInterface/Images/gtk/Function.svg: Removed.
1641         * UserInterface/Images/gtk/Gear.svg: Removed.
1642         * UserInterface/Images/gtk/GoToArrow.svg: Removed.
1643         * UserInterface/Images/gtk/GradientStop.png: Removed.
1644         * UserInterface/Images/gtk/GradientStop@2x.png: Removed.
1645         * UserInterface/Images/gtk/GradientStopSelected.png: Removed.
1646         * UserInterface/Images/gtk/GradientStopSelected@2x.png: Removed.
1647         * UserInterface/Images/gtk/HeapAllocationsInstrument.svg: Removed.
1648         * UserInterface/Images/gtk/HeapSnapshotObjectGraph.svg: Removed.
1649         * UserInterface/Images/gtk/HierarchicalNavigationItemChevron.svg: Removed.
1650         * UserInterface/Images/gtk/HoverMenuButton.png: Removed.
1651         * UserInterface/Images/gtk/HoverMenuButton@2x.png: Removed.
1652         * UserInterface/Images/gtk/IgnoreCaches.svg: Removed.
1653         * UserInterface/Images/gtk/Image.svg: Removed.
1654         * UserInterface/Images/gtk/IndeterminateProgressSpinner1.svg: Removed.
1655         * UserInterface/Images/gtk/IndeterminateProgressSpinner10.svg: Removed.
1656         * UserInterface/Images/gtk/IndeterminateProgressSpinner11.svg: Removed.
1657         * UserInterface/Images/gtk/IndeterminateProgressSpinner12.svg: Removed.
1658         * UserInterface/Images/gtk/IndeterminateProgressSpinner2.svg: Removed.
1659         * UserInterface/Images/gtk/IndeterminateProgressSpinner3.svg: Removed.
1660         * UserInterface/Images/gtk/IndeterminateProgressSpinner4.svg: Removed.
1661         * UserInterface/Images/gtk/IndeterminateProgressSpinner5.svg: Removed.
1662         * UserInterface/Images/gtk/IndeterminateProgressSpinner6.svg: Removed.
1663         * UserInterface/Images/gtk/IndeterminateProgressSpinner7.svg: Removed.
1664         * UserInterface/Images/gtk/IndeterminateProgressSpinner8.svg: Removed.
1665         * UserInterface/Images/gtk/IndeterminateProgressSpinner9.svg: Removed.
1666         * UserInterface/Images/gtk/Info.svg: Removed.
1667         * UserInterface/Images/gtk/InstructionPointer.png: Removed.
1668         * UserInterface/Images/gtk/InstructionPointer@2x.png: Removed.
1669         * UserInterface/Images/gtk/Issues.svg: Removed.
1670         * UserInterface/Images/gtk/IssuesEnabled.svg: Removed.
1671         * UserInterface/Images/gtk/LayerBorders.svg: Removed.
1672         * UserInterface/Images/gtk/Layers.svg: Removed.
1673         * UserInterface/Images/gtk/LayoutInstrument.svg: Removed.
1674         * UserInterface/Images/gtk/ListStylePositionInside.svg: Removed.
1675         * UserInterface/Images/gtk/ListStylePositionOutside.svg: Removed.
1676         * UserInterface/Images/gtk/LocalStorage.png: Removed.
1677         * UserInterface/Images/gtk/LocalStorage@2x.png: Removed.
1678         * UserInterface/Images/gtk/Locked.svg: Removed.
1679         * UserInterface/Images/gtk/Log.svg: Removed.
1680         * UserInterface/Images/gtk/Logs.svg: Removed.
1681         * UserInterface/Images/gtk/MemoryInstrument.svg: Removed.
1682         * UserInterface/Images/gtk/Minus.svg: Removed.
1683         * UserInterface/Images/gtk/Native.svg: Removed.
1684         * UserInterface/Images/gtk/NavigationItemCheckers.svg: Removed.
1685         * UserInterface/Images/gtk/NavigationItemCodeCoverage.svg: Removed.
1686         * UserInterface/Images/gtk/NavigationItemCurleyBraces.svg: Removed.
1687         * UserInterface/Images/gtk/NavigationItemGarbageCollect.svg: Removed.
1688         * UserInterface/Images/gtk/NavigationItemTrash.svg: Removed.
1689         * UserInterface/Images/gtk/NavigationItemTypes.svg: Removed.
1690         * UserInterface/Images/gtk/Network.svg: Removed.
1691         * UserInterface/Images/gtk/NetworkInstrument.svg: Removed.
1692         * UserInterface/Images/gtk/NewTab.svg: Removed.
1693         * UserInterface/Images/gtk/NewTabPlus.svg: Removed.
1694         * UserInterface/Images/gtk/Paint.svg: Removed.
1695         * UserInterface/Images/gtk/Path.svg: Removed.
1696         * UserInterface/Images/gtk/Pause.svg: Removed.
1697         * UserInterface/Images/gtk/PausedBreakpoint.svg: Removed.
1698         * UserInterface/Images/gtk/Pencil.svg: Removed.
1699         * UserInterface/Images/gtk/Plus13.svg: Removed.
1700         * UserInterface/Images/gtk/Plus15.svg: Removed.
1701         * UserInterface/Images/gtk/Printer.svg: Removed.
1702         * UserInterface/Images/gtk/Program.svg: Removed.
1703         * UserInterface/Images/gtk/PseudoElement.svg: Removed.
1704         * UserInterface/Images/gtk/Receiving.svg: Removed.
1705         * UserInterface/Images/gtk/Record.svg: Removed.
1706         * UserInterface/Images/gtk/Recording.svg: Removed.
1707         * UserInterface/Images/gtk/Reflection.svg: Removed.
1708         * UserInterface/Images/gtk/ReloadFull.svg: Removed.
1709         * UserInterface/Images/gtk/ReloadToolbar.svg: Removed.
1710         * UserInterface/Images/gtk/RenderingFrame.svg: Removed.
1711         * UserInterface/Images/gtk/RenderingFramesInstrument.svg: Removed.
1712         * UserInterface/Images/gtk/Request.svg: Removed.
1713         * UserInterface/Images/gtk/Resources.svg: Removed.
1714         * UserInterface/Images/gtk/Response.svg: Removed.
1715         * UserInterface/Images/gtk/ResultLine.svg: Removed.
1716         * UserInterface/Images/gtk/Resume.svg: Removed.
1717         * UserInterface/Images/gtk/ScriptsInstrument.svg: Removed.
1718         * UserInterface/Images/gtk/Search.svg: Removed.
1719         * UserInterface/Images/gtk/SearchResults.svg: Removed.
1720         * UserInterface/Images/gtk/Sending.svg: Removed.
1721         * UserInterface/Images/gtk/SessionStorage.png: Removed.
1722         * UserInterface/Images/gtk/SessionStorage@2x.png: Removed.
1723         * UserInterface/Images/gtk/ShadowDOM.svg: Removed.
1724         * UserInterface/Images/gtk/SliderThumb.png: Removed.
1725         * UserInterface/Images/gtk/SliderThumb@2x.png: Removed.
1726         * UserInterface/Images/gtk/SliderThumbPressed.png: Removed.
1727         * UserInterface/Images/gtk/SliderThumbPressed@2x.png: Removed.
1728         * UserInterface/Images/gtk/SortIndicatorArrows.svg: Removed.
1729         * UserInterface/Images/gtk/Source.svg: Removed.
1730         * UserInterface/Images/gtk/SplitToggleUp.svg: Removed.
1731         * UserInterface/Images/gtk/StepInto.svg: Removed.
1732         * UserInterface/Images/gtk/StepOut.svg: Removed.
1733         * UserInterface/Images/gtk/StepOver.svg: Removed.
1734         * UserInterface/Images/gtk/Stop.svg: Removed.
1735         * UserInterface/Images/gtk/Stopwatch.svg: Removed.
1736         * UserInterface/Images/gtk/Storage.svg: Removed.
1737         * UserInterface/Images/gtk/StyleRule.svg: Removed.
1738         * UserInterface/Images/gtk/StyleRuleInheritedElement.svg: Removed.
1739         * UserInterface/Images/gtk/StyleRulePseudoElement.svg: Removed.
1740         * UserInterface/Images/gtk/TailDeletedFunction.svg: Removed.
1741         * UserInterface/Images/gtk/TextAlignCenter.svg: Removed.
1742         * UserInterface/Images/gtk/TextAlignJustify.svg: Removed.
1743         * UserInterface/Images/gtk/TextAlignLeft.svg: Removed.
1744         * UserInterface/Images/gtk/TextAlignRight.svg: Removed.
1745         * UserInterface/Images/gtk/TextDecorationLineThrough.svg: Removed.
1746         * UserInterface/Images/gtk/TextDecorationOverline.svg: Removed.
1747         * UserInterface/Images/gtk/TextDecorationUnderline.svg: Removed.
1748         * UserInterface/Images/gtk/TextTransformCapitalize.svg: Removed.
1749         * UserInterface/Images/gtk/TextTransformLowercase.svg: Removed.
1750         * UserInterface/Images/gtk/TextTransformUppercase.svg: Removed.
1751         * UserInterface/Images/gtk/Thread.svg: Removed.
1752         * UserInterface/Images/gtk/Time.svg: Removed.
1753         * UserInterface/Images/gtk/Timeline.svg: Removed.
1754         * UserInterface/Images/gtk/TimelineRecordAPI.svg: Removed.
1755         * UserInterface/Images/gtk/TimelineRecordAnimation.svg: Removed.
1756         * UserInterface/Images/gtk/TimelineRecordComposite.svg: Removed.
1757         * UserInterface/Images/gtk/TimelineRecordConsoleProfile.svg: Removed.
1758         * UserInterface/Images/gtk/TimelineRecordEvent.svg: Removed.
1759         * UserInterface/Images/gtk/TimelineRecordLayout.svg: Removed.
1760         * UserInterface/Images/gtk/TimelineRecordPaint.svg: Removed.
1761         * UserInterface/Images/gtk/TimelineRecordProbeSampled.svg: Removed.
1762         * UserInterface/Images/gtk/TimelineRecordScriptEvaluated.svg: Removed.
1763         * UserInterface/Images/gtk/TimelineRecordStyle.svg: Removed.
1764         * UserInterface/Images/gtk/TimelineRecordTimer.svg: Removed.
1765         * UserInterface/Images/gtk/ToggleLeftSidebar.svg: Removed.
1766         * UserInterface/Images/gtk/ToggleRightSidebar.svg: Removed.
1767         * UserInterface/Images/gtk/TypeBoolean.svg: Removed.
1768         * UserInterface/Images/gtk/TypeNull.svg: Removed.
1769         * UserInterface/Images/gtk/TypeNumber.svg: Removed.
1770         * UserInterface/Images/gtk/TypeObject.svg: Removed.
1771         * UserInterface/Images/gtk/TypeRegex.svg: Removed.
1772         * UserInterface/Images/gtk/TypeString.svg: Removed.
1773         * UserInterface/Images/gtk/TypeSymbol.svg: Removed.
1774         * UserInterface/Images/gtk/TypeUndefined.svg: Removed.
1775         * UserInterface/Images/gtk/Undock.svg: Removed.
1776         * UserInterface/Images/gtk/UpDownArrows.svg: Removed.
1777         * UserInterface/Images/gtk/UserInputPrompt.svg: Removed.
1778         * UserInterface/Images/gtk/UserInputPromptPrevious.svg: Removed.
1779         * UserInterface/Images/gtk/UserInputResult.svg: Removed.
1780         * UserInterface/Images/gtk/VisualStyleNone.svg: Removed.
1781         * UserInterface/Images/gtk/VisualStylePropertyLinked.svg: Removed.
1782         * UserInterface/Images/gtk/VisualStylePropertyUnlinked.svg: Removed.
1783         * UserInterface/Images/gtk/Warning.svg: Removed.
1784         * UserInterface/Images/gtk/WebSocket.png: Removed.
1785         * UserInterface/Images/gtk/WebSocket@2x.png: Removed.
1786         * UserInterface/Images/gtk/WebSocketLarge.png: Removed.
1787         * UserInterface/Images/gtk/WebSocketLarge@2x.png: Removed.
1788         * UserInterface/Images/gtk/Weight.svg: Removed.
1789         * UserInterface/Images/gtk/WorkerScript.png: Removed.
1790         * UserInterface/Images/gtk/WorkerScript@2x.png: Removed.
1791         * UserInterface/Images/gtk/WorkerScriptLarge.png: Removed.
1792         * UserInterface/Images/gtk/WorkerScriptLarge@2x.png: Removed.
1793
1794 2017-11-14  Joseph Pecoraro  <pecoraro@apple.com>
1795
1796         Relicense non-distributable web inspector images
1797         https://bugs.webkit.org/show_bug.cgi?id=166460
1798         <rdar://problem/29800966>
1799
1800         Reviewed by Brian Burg.
1801
1802         * APPLE_IMAGES_LICENSE.rtf: Removed.
1803         Remove the restrictive Web Inspector images license and default to the
1804         same license as the rest of WebKit.
1805
1806         The Apple Images license was never intended to restrict distribution of
1807         Web Inspector images when used as part of WebKit. Now, all contributions
1808         to Web Inspector, images and source, have the same licensing as all other
1809         WebKit contributions.
1810
1811 2017-11-14  Joseph Pecoraro  <pecoraro@apple.com>
1812
1813         Web Inspector: Network Detail Views - Split Metrics into Sizes and Timing
1814         https://bugs.webkit.org/show_bug.cgi?id=179569
1815         <rdar://problem/35484914>
1816
1817         Reviewed by Brian Burg.
1818
1819         * Localizations/en.lproj/localizedStrings.js:
1820         * UserInterface/Main.html:
1821         New resources and strings.
1822
1823         * UserInterface/Views/NetworkResourceDetailView.js:
1824         (WI.NetworkResourceDetailView):
1825         (WI.NetworkResourceDetailView.prototype.initialLayout):
1826         (WI.NetworkResourceDetailView.prototype._showPreferredContentView):
1827         (WI.NetworkResourceDetailView.prototype._showContentViewForNavigationItem):
1828         (WI.NetworkResourceDetailView.prototype.sizesContentViewGoToHeaders): Renamed.
1829         (WI.NetworkResourceDetailView.prototype.sizesContentViewGoToRequestBody): Renamed.
1830         (WI.NetworkResourceDetailView.prototype.sizesContentViewGoToResponseBody): Renamed.
1831         Split into two navigation items and views.
1832
1833         * UserInterface/Views/ResourceMetricsContentView.css: Removed.
1834         * UserInterface/Views/ResourceMetricsContentView.js: Removed.
1835         * UserInterface/Views/ResourceSizesContentView.css: Added.
1836         * UserInterface/Views/ResourceSizesContentView.js: Added.
1837         * UserInterface/Views/ResourceTimingContentView.css: Added.
1838         * UserInterface/Views/ResourceTimingContentView.js: Added.
1839         Split Metrics into two views.
1840
1841 2017-11-14  Matt Baker  <mattbaker@apple.com>
1842
1843         Web Inspector: Cleanup navigation bar dividers and separators
1844         https://bugs.webkit.org/show_bug.cgi?id=179654
1845         <rdar://problem/35523734>
1846
1847         Reviewed by Devin Rousso.
1848
1849         Update path separator icon, and reduce number of dividers used in the
1850         content browser's navigation bar, to more closely match modern Xcode.
1851
1852         * UserInterface/Images/HierarchicalNavigationItemChevron.svg:
1853         Update icon, remove tapered arrow head.
1854
1855         * UserInterface/Views/ContentBrowser.js:
1856         (WI.ContentBrowser):
1857         Remove divider between back/forward buttons and item name.
1858         (WI.ContentBrowser.prototype._updateContentViewNavigationItems):
1859
1860         * UserInterface/Views/HierarchicalPathComponent.css:
1861         (.hierarchical-path-component > .separator):
1862
1863         * UserInterface/Views/LogContentView.js:
1864         (WI.LogContentView.prototype.get navigationItems):
1865         Remove dividers between buttons provided by the current content view.
1866
1867 2017-11-13  Joseph Pecoraro  <pecoraro@apple.com>
1868
1869         Web Inspector: Network Details Views - make section headers more prominent
1870         https://bugs.webkit.org/show_bug.cgi?id=179565
1871         <rdar://problem/35510531>
1872
1873         Reviewed by Devin Rousso.
1874
1875         * UserInterface/Views/ResourceDetailsSection.css:
1876         (.resource-details > section > .title):
1877
1878 2017-11-13  Nikita Vasilyev  <nvasilyev@apple.com>
1879
1880         Web Inspector: Styles Redesign: make selector field inline-block when editing
1881         https://bugs.webkit.org/show_bug.cgi?id=179588
1882         <rdar://problem/35490915>
1883
1884         Reviewed by Brian Burg.
1885
1886         * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.css:
1887         (.spreadsheet-css-declaration .header.editing-selector .origin):
1888         When the selector field is multiline, it covers the source link entirely.
1889         When the selector field takes only one line, the source link remains where it was before editing.
1890
1891         (.spreadsheet-css-declaration .selector):
1892         Make it `position: relative` to cover the source link.
1893
1894         (.spreadsheet-css-declaration .selector.spreadsheet-selector-field.editing):
1895         * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
1896         (WI.SpreadsheetCSSStyleDeclarationSection.prototype.initialLayout):
1897
1898 2017-11-13  Joseph Pecoraro  <pecoraro@apple.com>
1899
1900         REGRESSION(r223856): Web Inspector: Cannot view Request Data
1901         https://bugs.webkit.org/show_bug.cgi?id=179567
1902
1903         Reviewed by Brian Burg.
1904
1905         * UserInterface/Views/ResourceClusterContentView.js:
1906         (WI.ResourceClusterContentView.prototype._canShowRequestContentView):
1907         This condition unintentionally got flipped in r223856.
1908
1909 2017-11-13  Matt Baker  <mattbaker@apple.com>
1910
1911         Web Inspector: Add CheckboxNavigationItem
1912         https://bugs.webkit.org/show_bug.cgi?id=179584
1913         <rdar://problem/35490085>
1914
1915         Reviewed by Brian Burg.
1916
1917         * UserInterface/Main.html:
1918         * UserInterface/Views/ButtonNavigationItem.css:
1919         (.navigation-bar .item.button.text-only.checkbox):
1920         (.navigation-bar .item.button.text-only.checkbox label):
1921
1922         * UserInterface/Views/ButtonNavigationItem.js:
1923         Cleanup and some tweaks to the label to make it work with subclasses
1924         regardless of how label is represented in the DOM.
1925
1926         (WI.ButtonNavigationItem):
1927         (WI.ButtonNavigationItem.prototype.get toolTip):
1928         (WI.ButtonNavigationItem.prototype.set toolTip):
1929         (WI.ButtonNavigationItem.prototype.get label):
1930         (WI.ButtonNavigationItem.prototype.set label):
1931         (WI.ButtonNavigationItem.prototype.set image):
1932         (WI.ButtonNavigationItem.prototype.get enabled):
1933         (WI.ButtonNavigationItem.prototype.set enabled):
1934         (WI.ButtonNavigationItem.prototype.updateButtonText):
1935
1936         * UserInterface/Views/CheckboxNavigationItem.js: Added.
1937         New button item with a checkbox and label. Dispatches a Clicked evennt
1938         whenever the checked state changes.
1939
1940         (WI.CheckboxNavigationItem):
1941         (WI.CheckboxNavigationItem.prototype.get checked):
1942         (WI.CheckboxNavigationItem.prototype.set checked):
1943         (WI.CheckboxNavigationItem.prototype.get additionalClassNames):
1944         (WI.CheckboxNavigationItem.prototype.updateButtonText):
1945         (WI.CheckboxNavigationItem.prototype._checkboxChanged):
1946
1947 2017-11-13  Joseph Pecoraro  <pecoraro@apple.com>
1948
1949         Web Inspector: Give DataGrid/Table Header ContextMenu a section header to better describe its functions
1950         https://bugs.webkit.org/show_bug.cgi?id=179560
1951
1952         Reviewed by Matt Baker.
1953
1954         * Localizations/en.lproj/localizedStrings.js:
1955         New string.
1956
1957         * UserInterface/Views/DataGrid.js:
1958         (WI.DataGrid.prototype._contextMenuInHeader):
1959         * UserInterface/Views/Table.js:
1960         (WI.Table.prototype._handleHeaderContextMenu):
1961         Include a disabled context menu item as a section header.
1962
1963 2017-11-12  Carlos Garcia Campos  <cgarcia@igalia.com>
1964
1965         REGRESSION(r224566): [GTK] 26 new timeouts on inspector related tests.
1966         https://bugs.webkit.org/show_bug.cgi?id=179471
1967
1968         Reviewed by Darin Adler.
1969
1970         TestStub.html and TestStub.js was missing in resources bundle.
1971
1972         * Scripts/copy-user-interface-resources.pl: Also combine resources for TestStub.
1973
1974 2017-11-11  Joseph Pecoraro  <pecoraro@apple.com>
1975
1976         Web Inspector: Network detail views - Include a newline between sections when copying
1977         https://bugs.webkit.org/show_bug.cgi?id=179577
1978
1979         Reviewed by Matt Baker.
1980
1981         * UserInterface/Views/NetworkResourceDetailView.css:
1982         (.content-view.resource-details):
1983         * UserInterface/Views/ResourceDetailsSection.css:
1984         (.resource-details > section):
1985         (.resource-details > section > .title):
1986         Adjust styles now that there is a <br> taking up space between sections.
1987         After all the changes, the top section moved up 1px from where it was originally.
1988
1989         * UserInterface/Views/ResourceDetailsSection.js:
1990         (WI.ResourceDetailsSection):
1991         Include a <br> to get newlines when copying.
1992
1993 2017-11-11  Joseph Pecoraro  <pecoraro@apple.com>
1994
1995         Web Inspector: Network waterfall graph - make connection part thinner
1996         https://bugs.webkit.org/show_bug.cgi?id=179561
1997
1998         Reviewed by Devin Rousso.
1999
2000         * UserInterface/Views/NetworkTableContentView.css:
2001         (.waterfall .block):
2002
2003 2017-11-11  Devin Rousso  <webkit@devinrousso.com>
2004
2005         Web Inspector: Canvas tab: show detailed status during canvas recording
2006         https://bugs.webkit.org/show_bug.cgi?id=178185
2007         <rdar://problem/34939862>
2008
2009         Reviewed by Brian Burg.
2010
2011         * Localizations/en.lproj/localizedStrings.js:
2012
2013         * UserInterface/Protocol/CanvasObserver.js:
2014         (WI.CanvasObserver.prototype.recordingProgress):
2015         * UserInterface/Controllers/CanvasManager.js:
2016         (WI.CanvasManager):
2017         (WI.CanvasManager.prototype.recordingProgress):
2018         (WI.CanvasManager.prototype.recordingFinished):
2019         Maintain arrays of recorded frames for each canvas and add new frames each time a progress
2020         event is fired. When the recording is finished, use the array as part of the payload for
2021         creating a WI.Recording object.
2022
2023         * UserInterface/Models/Recording.js:
2024         (WI.Recording.fromPayload):
2025
2026         * UserInterface/Models/RecordingAction.js:
2027         (WI.RecordingAction.prototype.apply.getContent):
2028         (WI.RecordingAction.prototype.apply):
2029         Drive-by fix: toDataURL is very slow, so add alternative ways of getting and comparing the
2030         content of the canvas to determine if the action has a visible effect.
2031
2032         * UserInterface/Views/CanvasContentView.css:
2033         (.content-view.canvas:not(.tab)):
2034         (.content-view.canvas:not(.tab) > .progress):
2035         (.content-view.canvas:not(.tab) > .progress > .frame-count):
2036         * UserInterface/Views/CanvasContentView.js:
2037         (WI.CanvasContentView):
2038         (WI.CanvasContentView.prototype.attached):
2039         (WI.CanvasContentView.prototype._recordingStarted):
2040         (WI.CanvasContentView.prototype._recordingProgress):
2041         (WI.CanvasContentView.prototype._recordingStopped):
2042         Steal some space from the preview area to display a count of the number of recorded frames
2043         and the current buffer usage.
2044
2045         * UserInterface/Views/CanvasOverviewContentView.css:
2046         (.content-view.canvas-overview .content-view.canvas > :matches(header, .progress, .preview, footer)):
2047         (.content-view.canvas-overview .content-view.canvas.selected > :matches(.progress, .preview, footer),):
2048         (.content-view.canvas-overview .content-view.canvas > :matches(.progress, .preview)):
2049         (.content-view.canvas-overview .content-view.canvas > .preview):
2050         (.content-view.canvas-overview .content-view.canvas > .progress ~ .preview):
2051         (.content-view.canvas-overview .content-view.canvas > :matches(header, .preview, footer)): Deleted.
2052         (.content-view.canvas-overview .content-view.canvas.selected > :matches(.preview, footer),): Deleted.
2053
2054 2017-11-09  Nikita Vasilyev  <nvasilyev@apple.com>
2055
2056         Web Inspector: Styles Redesign: clicking on inline swatches and property checkboxes should not add a new property
2057         https://bugs.webkit.org/show_bug.cgi?id=179507
2058         <rdar://problem/35452204>
2059
2060         Reviewed by Brian Burg.
2061
2062         * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
2063         (WI.SpreadsheetCSSStyleDeclarationSection.prototype.initialLayout):
2064         (WI.SpreadsheetCSSStyleDeclarationSection.prototype._handleClick):
2065         Don't add new properties when clicking on selector fields, source links, and property checkboxes.
2066
2067         * UserInterface/Views/SpreadsheetStyleProperty.js:
2068         (WI.SpreadsheetStyleProperty.prototype._update):
2069         It is safe to replace "change" event with "click" since it fires even when pressing Space key when the checkbox is focused.
2070
2071 2017-11-09  Devin Rousso  <webkit@devinrousso.com>
2072
2073         Web Inspector: support undo/redo of insertAdjacentHTML
2074         https://bugs.webkit.org/show_bug.cgi?id=179283
2075
2076         Reviewed by Joseph Pecoraro.
2077
2078         * UserInterface/Models/DOMNode.js:
2079         (WI.DOMNode.prototype.insertAdjacentHTML):
2080
2081         * UserInterface/Views/DOMTreeElement.js:
2082         (WI.DOMTreeElement.prototype._startEditingAsHTML):
2083         Drive-by: only attempt to update the cursor if an initialValue is supplied.
2084
2085 2017-11-09  Joseph Pecoraro  <pecoraro@apple.com>
2086
2087         Web Inspector: Make domain availability a list of types instead of a single type
2088         https://bugs.webkit.org/show_bug.cgi?id=179457
2089
2090         Reviewed by Brian Burg.
2091
2092         * UserInterface/Protocol/InspectorBackend.js:
2093         (InspectorBackendClass.prototype.activateDomain):
2094         The second value changed to be an optional list. Check if the active
2095         debuggable type is in the list or not.
2096
2097         * UserInterface/Protocol/Legacy/10.0/InspectorBackendCommands.js:
2098         * UserInterface/Protocol/Legacy/10.3/InspectorBackendCommands.js:
2099         * UserInterface/Protocol/Legacy/11.0/InspectorBackendCommands.js:
2100         * UserInterface/Protocol/Legacy/8.0/InspectorBackendCommands.js:
2101         * UserInterface/Protocol/Legacy/9.0/InspectorBackendCommands.js:
2102         * UserInterface/Protocol/Legacy/9.3/InspectorBackendCommands.js:
2103         * Versions/Inspector-iOS-10.0.json:
2104         * Versions/Inspector-iOS-10.3.json:
2105         * Versions/Inspector-iOS-11.0.json:
2106         * Versions/Inspector-iOS-8.0.json:
2107         * Versions/Inspector-iOS-9.0.json:
2108         * Versions/Inspector-iOS-9.3.json:
2109         Since this is a change to how we generate the frontend resource,
2110         update the legacy versioned backends and regenerate their resource.
2111
2112 2017-11-09  Carlos Garcia Campos  <cgarcia@igalia.com>
2113
2114         REGRESSION(r224566): [GTK][WPE] Many inspector tests are failing after r224566
2115         https://bugs.webkit.org/show_bug.cgi?id=179419
2116
2117         Reviewed by Carlos Alberto Lopez Perez.
2118
2119         All of them fail with the following error:
2120
2121         Uncaught exception in Inspector page: ReferenceError: Can't find variable: CodeMirror [TestCombined.js:36658:15]
2122
2123         This is because Test.html, even when combined, is trying to load CodeMirror from External/CodeMirror, but
2124         CodeMirror was already combined for Main.html. We need to also combine CodeMirror for Test.html.
2125
2126         * Scripts/copy-user-interface-resources.pl:
2127
2128 2017-11-08  Joseph Pecoraro  <pecoraro@apple.com>
2129
2130         Web Inspector: Show Internal properties of PaymentRequest in Web Inspector Console
2131         https://bugs.webkit.org/show_bug.cgi?id=179276
2132
2133         Reviewed by Andy Estes.
2134
2135         * UserInterface/Test.html:
2136         * UserInterface/Test/FrontendTestHarness.js:
2137         (FrontendTestHarness.prototype.evaluateInPage):
2138         * UserInterface/Test/TestUtilities.js: Added.
2139         (promisify):
2140         Make async tests a little easier to work with by providing promises
2141         in some cases that would normally take a callback.
2142
2143 2017-11-08  Brian Burg  <bburg@apple.com>
2144
2145         Web Inspector: fix incorrect curly quote orientation in a UIString
2146         https://bugs.webkit.org/show_bug.cgi?id=179353
2147         <rdar://problem/35368697>
2148
2149         Reviewed by Joseph Pecoraro.
2150
2151         I didn't see any other instances of this mistake in our localized strings.
2152
2153         * Localizations/en.lproj/localizedStrings.js:
2154         * UserInterface/Views/ResourceTimelineDataGridNode.js:
2155         Fix it.
2156
2157 2017-11-08  Joseph Pecoraro  <pecoraro@apple.com>
2158
2159         Web Inspector: Remove unused Page.ScriptIdentifier protocol type
2160         https://bugs.webkit.org/show_bug.cgi?id=179407
2161
2162         Reviewed by Matt Baker.
2163
2164         * Versions/Inspector-iOS-10.0.json:
2165         * Versions/Inspector-iOS-10.3.json:
2166         * Versions/Inspector-iOS-11.0.json:
2167         * Versions/Inspector-iOS-7.0.json:
2168         * Versions/Inspector-iOS-8.0.json:
2169         * Versions/Inspector-iOS-9.0.json:
2170         * Versions/Inspector-iOS-9.3.json:
2171         Remove unused protocol type.
2172
2173 2017-11-06  Nikita Vasilyev  <nvasilyev@apple.com>
2174
2175         Web Inspector: Styles Redesign: Display warnings
2176         https://bugs.webkit.org/show_bug.cgi?id=179215
2177
2178         Reviewed by Brian Burg.
2179
2180         Display warning icons on the right of the property.
2181
2182         For now, the warning icons have only three title messages:
2183         - Invalid property name;
2184         - Invalid property value;
2185         - Duplicate property.
2186
2187         * Localizations/en.lproj/localizedStrings.js:
2188         * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
2189         (.spreadsheet-style-declaration-editor .property):
2190         (.spreadsheet-style-declaration-editor .property-toggle):
2191         (.spreadsheet-style-declaration-editor .property.invalid-value:not(.disabled) .value):
2192         (.spreadsheet-style-declaration-editor .property.has-warning):
2193         (.spreadsheet-style-declaration-editor .property .warning):
2194         Draw the warning arrow and icon using only one HTML element.
2195         Don't set "top" property so the element remains vertically where it would be if it had "position: static".
2196
2197         (.spreadsheet-style-declaration-editor .property.has-warning .warning):
2198         * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
2199         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._propertiesChanged):
2200         (WI.SpreadsheetCSSStyleDeclarationEditor):
2201         * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.css:
2202         (.spreadsheet-css-declaration):
2203         (.spreadsheet-css-declaration :matches(.header, .header-media)):
2204         (.spreadsheet-css-declaration .close-brace):
2205         Make properties span the entire width of the styles sidebar. Unsupported properties have yellow
2206         background. There should be no gaps between the property element and sidebar left and right edges.
2207
2208         * UserInterface/Views/SpreadsheetStyleProperty.js:
2209         (WI.SpreadsheetStyleProperty):
2210         (WI.SpreadsheetStyleProperty.prototype.updateStatus):
2211         (WI.SpreadsheetStyleProperty.prototype._update):
2212         (WI.SpreadsheetStyleProperty.prototype.updateClassNames): Deleted.
2213         Rename updateClassNames to updateStatus since it modifies title attribute of the warning element.
2214
2215 2017-11-06  Ross Kirsling  <ross.kirsling@sony.com>
2216
2217         Web Inspector: Two little Layers tab fixes
2218         https://bugs.webkit.org/show_bug.cgi?id=179273
2219
2220         Reviewed by Devin Rousso.
2221
2222         * UserInterface/Views/LayerDetailsSidebarPanel.js:
2223         (WI.LayerDetailsSidebarPanel.prototype.selectNodeByLayerId):
2224         Even when we suppress refire of the selected event, we still want a popover.
2225
2226         * UserInterface/Views/Layers3DContentView.js:
2227         (WI.Layers3DContentView):
2228         (WI.Layers3DContentView.prototype.shown):
2229         (WI.Layers3DContentView.prototype.hidden):
2230         (WI.Layers3DContentView.prototype.closed):
2231         (WI.Layers3DContentView.prototype._layerTreeDidChange):
2232         Opening WI directly to the Layers tab wasn't fetching layers right away. Let's fetch on every shown() and
2233         prune the hacky logic we were previously using -- it's overkill anyway, now that we're tracking mutations.
2234
2235 2017-11-06  Joseph Pecoraro  <pecoraro@apple.com>
2236
2237         Web Inspector: no way to navigate from Resource tree element to its entry in Network Tab
2238         https://bugs.webkit.org/show_bug.cgi?id=179328
2239         <rdar://problem/35367294>
2240
2241         Reviewed by Brian Burg.
2242
2243         * Localizations/en.lproj/localizedStrings.js:
2244         New reveal in network tab string.
2245
2246         * UserInterface/Base/Main.js:
2247         (WI.isShowingNetworkTab):
2248         Utility to know if the network tab is showing.
2249
2250         * UserInterface/Views/ContextMenuUtilities.js:
2251         (WI.appendContextMenuItemsForSourceCode):
2252         (showResourceWithOptions):
2253         (WI.appendContextMenuItemsForURL):
2254         Generalize context menus for just a URL.
2255
2256         * UserInterface/Views/TabBrowser.js:
2257         (WI.TabBrowser.prototype.bestTabContentViewForRepresentedObject):
2258         Support more tab ignore options, this is starting to get icky. We may want to
2259         move to just a preferredTab approach, since that is what some of these want.
2260
2261         * UserInterface/Views/DOMTreeElement.js:
2262         (WI.DOMTreeElement.prototype._populateTagContextMenu):
2263         Make use of new ContextMenu utility to add menu items for a URL.
2264
2265         * UserInterface/Views/NetworkTabContentView.js:
2266         (WI.NetworkTabContentView.prototype.showRepresentedObject):
2267         * UserInterface/Views/NetworkTableContentView.js:
2268         (WI.NetworkTableContentView.prototype.showRepresentedObject):
2269         Handle showing a Resource in the NetworkTab. We immediately show
2270         the details view for it, otherwise we fallback to the list view.
2271
2272 2017-11-06  Joseph Pecoraro  <pecoraro@apple.com>
2273
2274         Uncaught Exception: TypeError: null is not an object (evaluating 'mimeType.endsWith')
2275         https://bugs.webkit.org/show_bug.cgi?id=179325
2276         <rdar://problem/35366896>
2277
2278         Reviewed by Brian Burg.
2279
2280         * UserInterface/Base/MIMETypeUtilities.js:
2281         (WI.fileExtensionForMIMEType):
2282         (WI.shouldTreatMIMETypeAsText):
2283         Handle null mime types.
2284
2285 2017-11-06  Joseph Pecoraro  <pecoraro@apple.com>
2286
2287         Web Inspector: Selecting a DOM Search Result in Search Tab unexpectedly changes Tabs
2288         https://bugs.webkit.org/show_bug.cgi?id=179223
2289         <rdar://problem/33949556>
2290
2291         Reviewed by Devin Rousso.
2292
2293         * Localizations/en.lproj/localizedStrings.js:
2294         New string.
2295
2296         * UserInterface/Views/SearchResultTreeElement.js:
2297         (WI.SearchResultTreeElement.prototype.populateContextMenu):
2298         Add a context menu for search results to jump to a different tab.
2299         These behaviors match the double click behavior for search results.
2300
2301         * UserInterface/Views/SearchTabContentView.js:
2302         (WI.SearchTabContentView.prototype.canShowRepresentedObject):
2303         Always support showing a DOM Tree. Clients should be using
2304         ignoreSearchTab if they don't want to jump here.
2305
2306         * UserInterface/Views/DOMTreeDataGridNode.js:
2307         (WI.DOMTreeDataGridNode.prototype._goToArrowWasClicked):
2308         * UserInterface/Views/LayerTreeDataGridNode.js:
2309         (WI.LayerTreeDataGridNode.prototype._goToArrowWasClicked):
2310         Use ignoreSearchTab just in case when showing a DOM Tree.
2311
2312         * UserInterface/Views/ContentBrowser.js:
2313         (WI.ContentBrowser.prototype.shown):
2314         When showing, update our UI to reflect the values of the current content view, which
2315         for a while may have been owned by another ContentBrowser.
2316
2317         (WI.ContentBrowser.prototype._contentViewSelectionPathComponentDidChange):
2318         (WI.ContentBrowser.prototype._contentViewSupplementalRepresentedObjectsDidChange):
2319         (WI.ContentBrowser.prototype._contentViewNavigationItemsDidChange):
2320         We can avoid work in a few places where we might not be the owning ContentBrowser
2321         of a ContentView that is changing.
2322
2323 2017-11-05  Nikita Vasilyev  <nvasilyev@apple.com>
2324
2325         REGRESSION (r221338): Web Inspector: NavigationBar incorrectly calculates minimumWidth
2326         https://bugs.webkit.org/show_bug.cgi?id=179292
2327
2328         Reviewed by Devin Rousso.
2329
2330         * UserInterface/Views/NavigationBar.js:
2331         (WI.NavigationBar.prototype._calculateMinimumWidth):
2332         totalItemWidth was the minimumWidth of the last item.
2333
2334 2017-11-05  Devin Rousso  <webkit@devinrousso.com>
2335
2336         Web Inspector: Canvas Tab: selecting Frame tree element should update preview/slider, does nothing
2337         https://bugs.webkit.org/show_bug.cgi?id=179072
2338         <rdar://problem/35278711>
2339
2340         Reviewed by Matt Baker.
2341
2342         * UserInterface/Views/CanvasTabContentView.js:
2343         (WI.CanvasTabContentView.prototype._navigationSidebarTreeOutlineSelectionChanged):
2344
2345         * UserInterface/Views/RecordingActionTreeElement.css:
2346         (.item.action > .titles .parameter.swizzled):
2347         (.tree-outline:not(:focus, .force-focus) .item.action:not(.initial-state, .parent, .invalid) > .icon): Deleted.
2348         (body:not(.window-inactive, .window-docked-inactive) .item.action > .titles .parameter.swizzled): Deleted.
2349         Drive-by: remove extra :focus selectors to prevent icon flashing when the window is blurred.
2350
2351 2017-11-04  Devin Rousso  <webkit@devinrousso.com>
2352
2353         Web Inspector: add contextmenu item to arbitrarily add HTML/Child to DOMTree
2354         https://bugs.webkit.org/show_bug.cgi?id=179042
2355
2356         Reviewed by Joseph Pecoraro.
2357
2358         * Localizations/en.lproj/localizedStrings.js:
2359
2360         * UserInterface/Models/DOMNode.js:
2361         (WI.DOMNode.prototype.insertAdjacentHTML.inspectedPage_node_insertAdjacentHTML):
2362         (WI.DOMNode.prototype.insertAdjacentHTML):
2363         Call-through to `insertAdjacentHTML` on the corresponding node in the inspected page.
2364
2365         * UserInterface/Views/DOMTreeElement.js:
2366         (WI.DOMTreeElement):
2367         (WI.DOMTreeElement.prototype._populateNodeContextMenu):
2368         (WI.DOMTreeElement.prototype._startEditingAsHTML.dispose):
2369         (WI.DOMTreeElement.prototype._startEditingAsHTML):
2370         (WI.DOMTreeElement.prototype._insertAdjacentHTML.commitCallback):
2371         (WI.DOMTreeElement.prototype._insertAdjacentHTML):
2372         (WI.DOMTreeElement.prototype.updateTitle):
2373         (WI.DOMTreeElement.prototype._singleTextChild):
2374         (WI.DOMTreeElement.prototype._nodeTitleInfo):
2375         (WI.DOMTreeElement.prototype._addHTML):
2376         (WI.DOMTreeElement.prototype._addPreviousSibling):
2377         (WI.DOMTreeElement.prototype._addNextSibling):
2378         (WI.DOMTreeElement.prototype._editAsHTML):
2379         Adjust where the editing element is placed depending on the options passed to `_editAsHTML`.
2380         If the placement is as a child, put it inside the child list. If the placement is as a
2381         sibling, place it before/after the selected TreeElement. Otherwise, add it as a child.
2382
2383         * UserInterface/Views/DOMTreeOutline.css:
2384         (.tree-outline.dom):
2385         (.tree-outline.dom li):
2386         (.tree-outline.dom li:not(.editing)):
2387         (.tree-outline.dom li.editing):
2388         (body[dir=ltr] .tree-outline.dom li): Deleted.
2389         (body[dir=rtl] .tree-outline.dom li): Deleted.
2390         Don't add padding when the list item is being edited.
2391
2392 2017-11-03  Nikita Vasilyev  <nvasilyev@apple.com>
2393
2394         Web Inspector: Uncaught Exception: null is not an object (evaluating 'selector.specificity.map') (at SpreadsheetCSSStyleDeclarationSection.js:199:51)
2395         https://bugs.webkit.org/show_bug.cgi?id=179225
2396         <rdar://problem/35329019>
2397
2398         Reviewed by Joseph Pecoraro.
2399
2400         * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
2401         (WI.SpreadsheetCSSStyleDeclarationSection.prototype._renderSelector):
2402         selector.specificity may not exist when the selector is dynamic and doesn't match the selected element.
2403
2404 2017-11-03  Ross Kirsling  <ross.kirsling@sony.com>
2405
2406         Web Inspector: Move Show Compositing Borders/Paint Flashing buttons from Elements tab to Layers tab
2407         https://bugs.webkit.org/show_bug.cgi?id=179211
2408
2409         Reviewed by Joseph Pecoraro.
2410
2411         * UserInterface/Views/DOMTreeContentView.js:
2412         (WI.DOMTreeContentView.prototype.get navigationItems):
2413         (WI.DOMTreeContentView.prototype._updateCompositingBordersButtonToMatchPageSettings):
2414         Guard old buttons with experimental flag.
2415
2416         * UserInterface/Views/Layers3DContentView.js:
2417         (WI.Layers3DContentView):
2418         (WI.Layers3DContentView.prototype.get navigationItems):
2419         (WI.Layers3DContentView.prototype.shown):
2420         (WI.Layers3DContentView.prototype.closed):
2421         (WI.Layers3DContentView.prototype._showPaintRectsSettingChanged):
2422         (WI.Layers3DContentView.prototype._togglePaintFlashing):
2423         (WI.Layers3DContentView.prototype._updateCompositingBordersButtonState):
2424         (WI.Layers3DContentView.prototype._toggleCompositingBorders):
2425         Add buttons to new home.
2426         No need to guard for get/setCompositingBordersVisible anymore, as these were introduced in iOS 7.
2427
2428 2017-11-03  Devin Rousso  <webkit@devinrousso.com>
2429
2430         Web Inspector: move top-level namespace functions in ImageUtilities to static class
2431         https://bugs.webkit.org/show_bug.cgi?id=179207
2432
2433         Reviewed by Brian Burg.
2434
2435         * .eslintrc:
2436         * UserInterface/Base/ImageUtilities.js:
2437         (WI.ImageUtilities.useSVGSymbol):
2438         (WI.ImageUtilities.scratchCanvasContext2D):
2439         (WI.ImageUtilities.imageFromImageData):
2440         (WI.ImageUtilities.imageFromCanvasGradient):
2441         (WI.ImageUtilities):
2442         (useSVGSymbol): Deleted.
2443         (WI.scratchCanvasContext2D): Deleted.
2444         (WI.imageFromImageData): Deleted.
2445         (WI.imageFromCanvasGradient): Deleted.
2446
2447         * UserInterface/Models/Recording.js:
2448         (WI.Recording.prototype.async swizzle):
2449         * UserInterface/Views/ButtonNavigationItem.js:
2450         (WI.ButtonNavigationItem.prototype.set image):
2451         * UserInterface/Views/CallFrameTreeElement.js:
2452         (WI.CallFrameTreeElement.prototype._updateStatus):
2453         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
2454         (WI.DOMNodeDetailsSidebarPanel.prototype.initialLayout):
2455         * UserInterface/Views/DOMTreeElement.js:
2456         (WI.DOMTreeElement.prototype._updateBreakpointStatus):
2457         * UserInterface/Views/MultipleScopeBarItem.js:
2458         (WI.MultipleScopeBarItem):
2459         * UserInterface/Views/RecordingActionTreeElement.js:
2460         (WI.RecordingActionTreeElement._generateDOM):
2461         (WI.RecordingActionTreeElement.prototype._handleHasVisibleEffectChanged):
2462         * UserInterface/Views/RecordingStateDetailsSidebarPanel.js:
2463         (WI.RecordingStateDetailsSidebarPanel.prototype._generateDetailsCanvas2D):
2464         * UserInterface/Views/ResourceMetricsContentView.js:
2465         (WI.ResourceMetricsContentView.prototype._refreshResourceSizeSection):
2466         * UserInterface/Views/ScopeRadioButtonNavigationItem.js:
2467         (WI.ScopeRadioButtonNavigationItem):
2468         * UserInterface/Views/ThreadTreeElement.js:
2469         (WI.ThreadTreeElement.prototype._updateStatus):
2470         * UserInterface/Views/TimelineTreeElement.js:
2471         (WI.TimelineTreeElement.prototype._showCloseButton):
2472         * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.js:
2473         (WI.VisualStyleCommaSeparatedKeywordEditor):
2474         * UserInterface/Views/VisualStyleKeywordIconList.js:
2475         (WI.VisualStyleKeywordIconList):
2476         * UserInterface/Views/VisualStylePropertyEditorLink.js:
2477         (WI.VisualStylePropertyEditorLink):
2478         * UserInterface/Views/VisualStyleSelectorSection.js:
2479         (WI.VisualStyleSelectorSection):
2480         * UserInterface/Views/WebSocketDataGridNode.js:
2481         (WI.WebSocketDataGridNode.prototype.createCellContent):
2482
2483 2017-11-03  Ross Kirsling  <ross.kirsling@sony.com>
2484
2485         Web Inspector: Hide legacy Layers sidebar on Search tab
2486         https://bugs.webkit.org/show_bug.cgi?id=179257
2487
2488         Reviewed by Joseph Pecoraro.
2489
2490         * UserInterface/Views/SearchTabContentView.js:
2491         (WI.SearchTabContentView):
2492
2493 2017-11-03  Joseph Pecoraro  <pecoraro@apple.com>
2494
2495         Web Inspector: Network Table - Include a secure lock indicator in the domain column
2496         https://bugs.webkit.org/show_bug.cgi?id=179233
2497         <rdar://problem/34070883>
2498
2499         Reviewed by Devin Rousso.
2500
2501         * UserInterface/Views/NetworkTableContentView.css:
2502         (.network-table .cell.domain > .lock):
2503         * UserInterface/Views/NetworkTableContentView.js:
2504         (WI.NetworkTableContentView.prototype.tablePopulateCell):
2505         (WI.NetworkTableContentView.prototype._populateDomainCell):
2506         Add a small lock icon by the domain if the request was https/wss.
2507
2508 2017-11-03  Devin Rousso  <webkit@devinrousso.com>
2509
2510         Web Inspector: Canvas2D Profiling: highlight expensive context commands in the captured command log
2511         https://bugs.webkit.org/show_bug.cgi?id=178302
2512         <rdar://problem/33158849>
2513
2514         Reviewed by Brian Burg.
2515
2516         * UserInterface/Models/RecordingFrame.js:
2517         (WI.RecordingFrame):
2518         (WI.RecordingFrame.fromPayload):
2519         (WI.RecordingFrame.prototype.get duration):
2520         (WI.RecordingFrame.prototype.toJSON):
2521
2522         * UserInterface/Views/RecordingNavigationSidebarPanel.js:
2523         (WI.RecordingNavigationSidebarPanel.prototype.set recording):
2524         * UserInterface/Views/RecordingNavigationSidebarPanel.css:
2525         (.sidebar > .panel.navigation.recording > .content > .tree-outline .item.folder-icon > .status):
2526
2527 2017-11-02  Devin Rousso  <webkit@devinrousso.com>
2528
2529         Web Inspector: Canvas Tab: show supported GL extensions for selected canvas
2530         https://bugs.webkit.org/show_bug.cgi?id=179070
2531         <rdar://problem/35278276>
2532
2533         Reviewed by Brian Burg.
2534
2535         * Localizations/en.lproj/localizedStrings.js:
2536
2537         * UserInterface/Protocol/CanvasObserver.js:
2538         (WI.CanvasObserver.prototype.extensionEnabled):
2539
2540         * UserInterface/Controllers/CanvasManager.js:
2541         (WI.CanvasManager.prototype.extensionEnabled):
2542
2543         * UserInterface/Models/Canvas.js:
2544         (WI.Canvas.prototype.get extensions):
2545         (WI.Canvas.prototype.enableExtension):
2546         Maintain a Set of enabled extensions, and dispatch an event whenever an extension is enabled.
2547
2548         * UserInterface/Views/CanvasDetailsSidebarPanel.css:
2549         (.sidebar > .panel.details.canvas .details-section.canvas-extensions .content > ul):
2550         * UserInterface/Views/CanvasDetailsSidebarPanel.js:
2551         (WI.CanvasDetailsSidebarPanel.prototype.set canvas):
2552         (WI.CanvasDetailsSidebarPanel.prototype.initialLayout):
2553         (WI.CanvasDetailsSidebarPanel.prototype.layout):
2554         (WI.CanvasDetailsSidebarPanel.prototype._refreshAttributesSection):
2555         (WI.CanvasDetailsSidebarPanel.prototype._refreshExtensionsSection):
2556         Drive-by: hide Attributes section when the canvas has no attributes.
2557
2558 2017-11-02  Joseph Pecoraro  <pecoraro@apple.com>
2559
2560         Make ServiceWorker a Remote Inspector debuggable target
2561         https://bugs.webkit.org/show_bug.cgi?id=179043
2562         <rdar://problem/34126008>
2563
2564         Reviewed by Brian Burg.
2565
2566         Customize the Web Inspector frontend for a ServiceWorker target.
2567         Currently this just behaves like a JavaScript Context target because
2568         we haven't yet added support for Networking capabilities.
2569
2570         * UserInterface/Controllers/DebuggerManager.js:
2571         (WI.DebuggerManager.prototype.get knownNonResourceScripts):
2572         Drive-by fix a bug where lazily initializing the Resources / Debugger tabs
2573         would show Console evaluation scripts. We should ignore them, like we
2574         do in other places.
2575
2576         * Localizations/en.lproj/localizedStrings.js:
2577         * UserInterface/Controllers/AppController.js:
2578         (WI.AppController):
2579         (WI.AppController.debuggableTypeFromHost):
2580         * UserInterface/Controllers/AppControllerBase.js:
2581         * UserInterface/Controllers/TimelineManager.js:
2582         (WI.TimelineManager.defaultTimelineTypes):
2583         (WI.TimelineManager.availableTimelineTypes):
2584         * UserInterface/Models/TimelineRecording.js:
2585         (WI.TimelineRecording.sourceCodeTimelinesSupported):
2586         * UserInterface/Protocol/MainTarget.js:
2587         (WI.MainTarget.prototype.get displayName):
2588         * UserInterface/Test/TestAppController.js:
2589         * UserInterface/Views/DashboardContainerView.css:
2590         (body:not(.web) .toolbar .dashboard-container):
2591         (body.javascript .toolbar .dashboard-container): Deleted.
2592         * UserInterface/Views/DefaultDashboardView.css:
2593         (body:not(.web) .toolbar .dashboard.default > :matches(.resourcesCount, .resourcesSize, .time)):
2594         (body.javascript .toolbar .dashboard.default > :matches(.resourcesCount, .resourcesSize, .time)): Deleted.
2595         * UserInterface/Views/ResourceSidebarPanel.js:
2596         (WI.ResourceSidebarPanel):
2597         (WI.ResourceSidebarPanel.shouldPlaceResourcesAtTopLevel):
2598         (WI.ResourceSidebarPanel.prototype.initialLayout):
2599         (WI.ResourceSidebarPanel.prototype._addScript):
2600         (WI.ResourceSidebarPanel.prototype._extraDomainsActivated):
2601         * UserInterface/Views/Toolbar.js:
2602
2603 2017-11-02  Devin Rousso  <webkit@devinrousso.com>
2604
2605         Web Inspector: Canvas: recording parameters that include an Image should show an InlineSwatch (2D canvas)
2606         https://bugs.webkit.org/show_bug.cgi?id=177032
2607
2608         Reviewed by Brian Burg.
2609
2610         * Localizations/en.lproj/localizedStrings.js:
2611
2612         * UserInterface/Test.html:
2613         * UserInterface/Base/ImageUtilities.js:
2614         (WI.scratchCanvasContext2D):
2615         Creates a static canvas that can be used for scratch purposes, such as converting ImageData
2616         to an Image, or rendering the result of a CanvasGradient. The canvas is reset after each
2617         call of the function so it can be reused by other callers.
2618
2619         (WI.imageFromImageData):
2620         (WI.imageFromCanvasGradient):
2621         Utility functions for getting a dataURL image of ImageData/CanvasGradient after drawing it
2622         onto WI.scratchCanvasContext2D.
2623
2624         * UserInterface/Models/Recording.js:
2625         (WI.Recording.prototype.async.swizzle):
2626         Set the Image used to create a CanvasPattern as an expando property for later use.
2627
2628         * UserInterface/Models/RecordingAction.js:
2629         (WI.RecordingAction.prototype.getImageParameters):
2630
2631         * UserInterface/Views/RecordingActionTreeElement.js:
2632         (WI.RecordingActionTreeElement._generateDOM):
2633         Add Image InlineSwatch elements for parameters that are viewable as an image. For ImageData
2634         and CanvasGradient, WI.scratchCanvasContext2D is used to draw the ImageData/CanvasGradient
2635         and get a dataURL to be used as the image.
2636
2637         (WI.RecordingActionTreeElement._createSwatchForColorParameters):
2638         Drive-by: add checks that the parameter is not a CanvasGradient or CanvasPattern.
2639
2640         * UserInterface/Views/RecordingStateDetailsSidebarPanel.js:
2641         (WI.RecordingStateDetailsSidebarPanel.prototype._generateDetailsCanvas2D):
2642         Add Image InlineSwatch elements for fillStyle/strokeStyle when the value is a CanvasGradient
2643         or a CanvasPattern.
2644
2645         * UserInterface/Views/InlineSwatch.js:
2646         (WI.InlineSwatch):
2647         (WI.InlineSwatch.prototype._updateSwatch):
2648         (WI.InlineSwatch.prototype._swatchElementClicked):
2649         * UserInterface/Views/InlineSwatch.css:
2650         (.inline-swatch):
2651         (.inline-swatch:matches(.color, .gradient)):
2652         (.inline-swatch:matches(.bezier, .spring, .variable)):
2653         (.inline-swatch:not(.read-only):matches(.bezier, .spring, .variable):hover):
2654         (.inline-swatch:not(.read-only):matches(.bezier, .spring, .variable):active):
2655         (.inline-swatch:not(.read-only):active > span):
2656         (.inline-swatch:matches(.bezier, .spring, .variable) > span):
2657         (.inline-swatch.image > span):
2658         (.inline-swatch:matches(.bezier, .spring, .variable):hover): Deleted.
2659         (.inline-swatch:matches(.bezier, .spring, .variable):active): Deleted.
2660         (.inline-swatch:active > span): Deleted.
2661         (.inline-swatch:matches(.bezier, .spring) > span): Deleted.
2662         Add Image type for showing previews of images.
2663         Drive-by: simplify some styles.
2664
2665         * UserInterface/Views/RecordingActionTreeElement.css:
2666         (.item.action > .titles .parameters > .inline-swatch):
2667         (.tree-outline:matches(:focus, .force-focus) .item.action > .titles .parameters > .inline-swatch): Deleted.
2668         Drive-by: remove the :focus requirement, as it would cause the InlineSwatch to shift when
2669         the user clicked out of the WebInspector window.
2670
2671 2017-11-02  Joseph Pecoraro  <pecoraro@apple.com>
2672
2673         Inspector should display service worker served responses properly
2674         https://bugs.webkit.org/show_bug.cgi?id=178597
2675         <rdar://problem/35186111>
2676
2677         Reviewed by Brian Burg.
2678
2679         * Localizations/en.lproj/localizedStrings.js:
2680         New Service Worker related strings.
2681
2682         * UserInterface/Controllers/HARBuilder.js:
2683         (WI.HARBuilder.entry):
2684         (WI.HARBuilder.timings):
2685         Only output timing data when we have real resource timing data.
2686
2687         (WI.HARBuilder.fetchType):
2688         Output a new string for a Service Worker load in our custom field.
2689
2690         * UserInterface/Models/ResourceTimingData.js:
2691         (WI.ResourceTimingData.prototype.get responseStart):
2692         Fallback further to the responseEnd. This can happen if the response
2693         itself is an error/failure and there was no response, so treat it as
2694         the same as response end.
2695
2696         * UserInterface/Models/Resource.js:
2697         (WI.Resource.responseSourceFromPayload):
2698         (WI.Resource.prototype.updateForRedirectResponse):
2699         (WI.Resource.prototype.updateForResponse):
2700         A fetch response won't change the URL, so if the URL is empty
2701         don't change it from what the request's URL was.
2702
2703         (WI.Resource.prototype.hasResponse):
2704         Failure is like finished. We should likely transition to an "isComplete" method.
2705
2706         * UserInterface/Views/NetworkTableContentView.js:
2707         (WI.NetworkTableContentView.prototype._populateTransferSizeCell):
2708         (WI.NetworkTableContentView.prototype._generateSortComparator):
2709         Output "(service worker)" in the transfer size field, to indicate this came
2710         from a Service worker. Sort such loads together.
2711
2712         * UserInterface/Views/ResourceHeadersContentView.js:
2713         (WI.ResourceHeadersContentView.prototype._responseSourceDisplayString):
2714         (WI.ResourceHeadersContentView.prototype._refreshSummarySection):
2715         Include the Service Worker response source in this details view. Also include
2716         a FIXME, since we would like to link directly to the service worker in the future.
2717
2718 2017-11-02  Nikita Vasilyev  <nvasilyev@apple.com>
2719
2720         Web Inspector: Styles Redesign: turn on CSS spreadsheet editor by default
2721         https://bugs.webkit.org/show_bug.cgi?id=179100
2722         <rdar://problem/35285990>
2723
2724         Reviewed by Brian Burg.
2725
2726         Add a "Legacy Style Editor" checkbox and remove the experimental "Spreadsheet Style Editor" checkbox.
2727
2728         Remove settings of the legacy styles editor:
2729         - Show inline warnings
2730         - Automatically insert newline
2731         - Select text on first click
2732
2733         These settings are not applicable for the spreadsheet styles editor and
2734         now are always enabled for the legacy styles editor.
2735
2736         * Localizations/en.lproj/localizedStrings.js:
2737         * UserInterface/Base/Setting.js:
2738         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
2739         (WI.CSSStyleDeclarationTextEditor):
2740         (WI.CSSStyleDeclarationTextEditor.prototype._handleMouseUp):
2741         (WI.CSSStyleDeclarationTextEditor.):
2742         * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
2743         (WI.CSSStyleDetailsSidebarPanel):
2744         * UserInterface/Views/SettingsTabContentView.js:
2745         (WI.SettingsTabContentView.prototype._createGeneralSettingsView):
2746         (WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
2747
2748 2017-11-01  Devin Rousso  <webkit@devinrousso.com>
2749
2750         Web Inspector: consolidate DOMTreeElement contextmenu items into submenus
2751         https://bugs.webkit.org/show_bug.cgi?id=178996
2752
2753         Reviewed by Joseph Pecoraro.
2754
2755         * Localizations/en.lproj/localizedStrings.js:
2756
2757         * UserInterface/Views/ContextMenu.js:
2758         (WI.ContextSubMenuItem.prototype.appendItem):
2759         (WI.ContextSubMenuItem.prototype.appendSubMenuItem):
2760         (WI.ContextSubMenuItem.prototype.appendCheckboxItem):
2761         (WI.ContextSubMenuItem.prototype.pushItem):
2762         (WI.ContextSubMenuItem.prototype._pushItem): Deleted.
2763         Made `pushItem` public so that it is possible to create a ContextMenuItem without
2764         immediately adding it to the ContextMenu.
2765
2766         (WI.ContextSubMenuItem.prototype._buildDescriptor):
2767         (WI.ContextMenu.prototype._buildDescriptor):
2768         Filter out submenus that have no items.
2769
2770         * UserInterface/Views/ContextMenuUtilities.js:
2771         (WI.appendContextMenuItemsForDOMNode):
2772         * UserInterface/Views/DOMTreeElement.js:
2773         (WI.DOMTreeElement.prototype.toggleElementVisibility):
2774         (WI.DOMTreeElement.prototype._populateTagContextMenu):
2775         (WI.DOMTreeElement.prototype._populateTextContextMenu):
2776         (WI.DOMTreeElement.prototype._populateNodeContextMenu):
2777         (WI.DOMTreeElement.prototype._populateForcedPseudoStateItems): Deleted.
2778         Add relevant items to the provided submenus and reorder the entire contextmenu for better
2779         readability and consistency.
2780
2781         * UserInterface/Views/DOMTreeOutline.js:
2782         (WI.DOMTreeOutline.prototype.populateContextMenu):
2783         Create submenus for Add, Edit, Copy, and Delete, and pass them to the DOMTreeElement
2784         "populate*ContextMenu" functions so that they can add items to each submenu.
2785
2786         (WI.DOMTreeOutline.prototype._hideElement):
2787         Move to DOMTreeElement so that it can be used by a contextmenu item.
2788
2789 2017-11-01  Ross Kirsling  <ross.kirsling@sony.com>
2790
2791         Web Inspector: Improve UX of Layers tab visualization
2792         https://bugs.webkit.org/show_bug.cgi?id=178966
2793
2794         Reviewed by Devin Rousso.
2795
2796         * UserInterface/Views/Layers3DContentView.js:
2797         (WI.Layers3DContentView):
2798         (WI.Layers3DContentView.prototype.initialLayout):
2799         (WI.Layers3DContentView.prototype._canvasMouseDown):
2800         (WI.Layers3DContentView.prototype._createLayerGroup): Renamed from _addLayerGroup.
2801         (WI.Layers3DContentView.prototype._updateLayerGroupPosition): Merged into _updateLayers.
2802         Set up zoom and pan.
2803
2804         (WI.Layers3DContentView.prototype._animate):
2805         (WI.Layers3DContentView.prototype._restrictPan):
2806         Restrict pan to bounding box on XY plane.
2807
2808         (WI.Layers3DContentView.prototype.layout):
2809         (WI.Layers3DContentView.prototype._updateDocument):
2810         (WI.Layers3DContentView.prototype._resetCamera):
2811         On new document, throw out all old layers and center the camera on the new document layer.
2812
2813         (WI.Layers3DContentView.prototype.selectLayerById):
2814         (WI.Layers3DContentView.prototype._centerOnSelection):
2815         Recenter the camera when layer group selection is updated programmatically.
2816
2817         (WI.Layers3DContentView.prototype._updateLayers):
2818         (WI.Layers3DContentView.prototype._createLayerMesh):
2819         Fix visual artifact due to "depthWrite" flag.
2820
2821         * UserInterface/Views/LayerDetailsSidebarPanel.js:
2822         (WI.LayerDetailsSidebarPanel.prototype.selectNodeByLayerId):
2823         Suppress selection update event when the data grid selection is updated programmatically.
2824
2825         * UserInterface/Views/DataGridNode.js:
2826         (WI.DataGridNode.prototype.revealAndSelect):
2827         Allow forwarding of select()'s parameter.
2828
2829 2017-11-01  Joseph Pecoraro  <pecoraro@apple.com>
2830
2831         Web Inspector: Combine all storage icon files into a single file
2832         https://bugs.webkit.org/show_bug.cgi?id=179134
2833
2834         Reviewed by Devin Rousso.
2835
2836         * UserInterface/Main.html:
2837         * UserInterface/Views/CookieIcon.css: Removed.
2838         * UserInterface/Views/DOMStorageIcons.css: Removed.
2839         * UserInterface/Views/DatabaseIcon.css: Removed.
2840         * UserInterface/Views/DatabaseTableIcon.css: Removed.
2841         * UserInterface/Views/StorageIcons.css: Added.
2842         (.application-cache-manifest .icon):
2843         (.application-cache-frame .icon):
2844         (.cookie-icon .icon):
2845         (.local-storage-icon .icon):
2846         (.session-storage-icon .icon):
2847         (.database-icon .icon):
2848         (.database-table-icon .icon):
2849
2850 2017-11-01  Nikita Vasilyev  <nvasilyev@apple.com>
2851
2852         Web Inspector: Styles Redesign: Hovering over a selector should highlight matching elements on the page
2853         https://bugs.webkit.org/show_bug.cgi?id=179040
2854
2855         Reviewed by Devin Rousso.
2856
2857         * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
2858         (WI.SpreadsheetCSSStyleDeclarationSection.prototype.initialLayout):
2859         Use mouseenter/mouseleave events instead of mousein/mouseout (as in the old styles sidebar)
2860         to avoid unnecessary events being fired.
2861
2862         (WI.SpreadsheetCSSStyleDeclarationSection.prototype._highlightNodesWithSelector):
2863         (WI.SpreadsheetCSSStyleDeclarationSection.prototype._hideDOMNodeHighlight):
2864
2865 2017-10-30  Nikita Vasilyev  <nvasilyev@apple.com>
2866
2867         Web Inspector: [PARITY] Styles Redesign: Ability to modify style attributes
2868         https://bugs.webkit.org/show_bug.cgi?id=178328
2869         <rdar://problem/35000990>
2870
2871         Reviewed by Joseph Pecoraro.
2872
2873         Before this patch, modifying a property of a style attribute duplicated the old property
2874         and appended the new one. This happened because WI.TextRange.prototype.resolveOffsets
2875         didn't resolve offsets correctly when text didn't end with a trailing new line.
2876
2877         Since WI.TextRange.prototype.resolveOffsets is used elsewhere and this could be expected
2878         behavior, append a line break before resolving a range.
2879
2880         * UserInterface/Models/CSSProperty.js:
2881         (WI.CSSProperty.prototype._updateOwnerStyleText):
2882
2883 2017-10-30  Ross Kirsling  <ross.kirsling@sony.com>
2884
2885         Web Inspector: Clicking filler in data grid should clear selection
2886         https://bugs.webkit.org/show_bug.cgi?id=179027
2887
2888         Reviewed by Brian Burg.
2889
2890         * UserInterface/Views/DataGrid.js:
2891         (WI.DataGrid.prototype._mouseDownInDataTable):
2892
2893 2017-10-30  Devin Rousso  <webkit@devinrousso.com>
2894
2895         Web Inspector: Canvas Tab: no path components shown in recording content view after selecting a recording via View Recordings... dropdown
2896         https://bugs.webkit.org/show_bug.cgi?id=178807
2897         <rdar://problem/35176463>
2898
2899         Reviewed by Brian Burg.
2900
2901         When the first Recording is taken of a canvas, it is immediately added as a child. When the
2902         CanvasTreeElement is `attached`, however, it will attempt to regenerate its children if
2903         necessary. This is especially true for canvases with ShaderPrograms, as they are added with
2904         `addRepresentedObjectToNewChildQueue`, meaning that the child TreeElements aren't actually
2905         added until the next tick, preventing the ContentBrowser logic from generating path
2906         components correctly.
2907
2908         This patch switches to using `addChildForRepresentedObject` so that there is no delay when
2909         adding children, and also ensures that any existing recordings are also added on regeneration.
2910
2911         * UserInterface/Views/CanvasTabContentView.js:
2912         (WI.CanvasTabContentView.prototype._recordingAdded):
2913         Move logic for adding TreeElements for new Recordings to CanvasTreeElement.
2914
2915         * UserInterface/Views/CanvasTreeElement.js:
2916         (WI.CanvasTreeElement.createRecordingTreeElement):
2917         (WI.CanvasTreeElement):
2918         (WI.CanvasTreeElement.prototype.onattach):
2919         (WI.CanvasTreeElement.prototype.ondetach):
2920         (WI.CanvasTreeElement.prototype.onpopulate):
2921         (WI.CanvasTreeElement.prototype._handleItemAdded):
2922         (WI.CanvasTreeElement.prototype._handleItemRemoved):
2923         (WI.CanvasTreeElement.prototype._shaderProgramAdded): Deleted.
2924         (WI.CanvasTreeElement.prototype._shaderProgramRemoved): Deleted.
2925
2926 2017-10-30  Fujii Hironori  <Hironori.Fujii@sony.com>
2927
2928         [GTK] Web Inspector: Add Path.svg
2929         https://bugs.webkit.org/show_bug.cgi?id=178432
2930
2931         Reviewed by Carlos Garcia Campos.
2932
2933         * UserInterface/Images/gtk/Path.svg: Added.
2934
2935 2017-10-30  Nikita Vasilyev  <nvasilyev@apple.com>
2936
2937         Web Inspector: [PARITY] Styles Redesign: clicking on the white space after the property should create a blank property
2938         https://bugs.webkit.org/show_bug.cgi?id=178022
2939         <rdar://problem/34861687>
2940
2941         Reviewed by Matt Baker.
2942
2943         - Clicking on the whitespace on the right side of a property should insert a blank property after the clicked one.
2944         - Clicking on the whitespace at the end of a CSS rule should append a blank property.
2945         - Clicking on the whitespace before the first property should insert a blank property before the first one.
2946
2947         * UserInterface/Models/CSSProperty.js:
2948         (WI.CSSProperty.prototype.remove):
2949         (WI.CSSProperty.prototype._updateOwnerStyleText):
2950         Remove method previously didn't do anything for a newly added property.
2951
2952         * UserInterface/Models/CSSStyleDeclaration.js:
2953         (WI.CSSStyleDeclaration.prototype.newBlankProperty):
2954         Update indices of all properties after the newly added property.
2955
2956         * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
2957         (WI.SpreadsheetCSSStyleDeclarationEditor):
2958         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.layout):
2959         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.startEditingFirstProperty):
2960         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.startEditingLastProperty):
2961         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.isFocused):
2962         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.addBlankProperty):
2963         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetCSSStyleDeclarationEditorFocusMoved):
2964         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._propertiesChanged):
2965         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._addBlankProperty): Deleted.
2966         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._isFocused): Deleted.
2967         Re-layout SpreadsheetCSSStyleDeclarationEditor after adding a new property. Preserve edited property
2968         so we can restore editing state after the re-layout.
2969
2970         * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
2971         (WI.SpreadsheetCSSStyleDeclarationSection):
2972         (WI.SpreadsheetCSSStyleDeclarationSection.prototype.initialLayout):
2973         (WI.SpreadsheetCSSStyleDeclarationSection.prototype._handleMouseDown):
2974         (WI.SpreadsheetCSSStyleDeclarationSection.prototype._handleClick):
2975         Clicking should add a new property only when we aren't editing an existing property.
2976
2977         * UserInterface/Views/SpreadsheetStyleProperty.js:
2978         (WI.SpreadsheetStyleProperty):
2979         (WI.SpreadsheetStyleProperty.prototype.updateClassNames):
2980         (WI.SpreadsheetStyleProperty.prototype.spreadsheetTextFieldDidCommit):
2981         Remove newlyAdded property of SpreadsheetStyleProperty. During layout SpreadsheetCSSStyleDeclarationEditor
2982         recreates SpreadsheetStyleProperty views and newlyAdded property gets lost.
2983
2984         * UserInterface/Views/SpreadsheetTextField.js:
2985         (WI.SpreadsheetTextField.prototype.get valueBeforeEditing):
2986         (WI.SpreadsheetTextField.prototype.startEditing):
2987         (WI.SpreadsheetTextField.prototype.stopEditing):
2988         (WI.SpreadsheetTextField.prototype._discardChange):
2989
2990 2017-10-27  Devin Rousso  <webkit@devinrousso.com>
2991
2992         Web Inspector: Canvas Tab: no way to see backtrace of where a canvas context was created
2993         https://bugs.webkit.org/show_bug.cgi?id=178799
2994         <rdar://problem/35175805>
2995
2996         Reviewed by Brian Burg.
2997
2998         * Localizations/en.lproj/localizedStrings.js:
2999
3000         * UserInterface/Models/Canvas.js:
3001         (WI.Canvas.fromPayload):
3002         (WI.Canvas.prototype.get backtrace):
3003
3004         * UserInterface/Views/CanvasDetailsSidebarPanel.css:
3005         (.sidebar > .panel.details.canvas .details-section.canvas-backtrace .call-frame):
3006
3007         * UserInterface/Views/CanvasDetailsSidebarPanel.js:
3008         (WI.CanvasDetailsSidebarPanel.prototype.initialLayout):
3009         (WI.CanvasDetailsSidebarPanel.prototype.layout):
3010         (WI.CanvasDetailsSidebarPanel.prototype._refreshBacktraceSection):
3011
3012         * UserInterface/Views/ResourceIcons.css:
3013         (.canvas > .icon):
3014         (.canvas .icon): Deleted.
3015
3016 2017-10-26  Devin Rousso  <webkit@devinrousso.com>
3017
3018         Web Inspector: Canvas Tab: canvas path components from old page stick around when page is reloaded
3019         https://bugs.webkit.org/show_bug.cgi?id=178806
3020         <rdar://problem/35176360>
3021
3022         Reviewed by Brian Burg.
3023
3024         Before this change, the CanvasCollection was regenerated each time the Canvas tab was
3025         attached. This also caused the invisible TreeOutline, used for the path components and to
3026         manage selection, to be reset as well. Whenever the page refreshed, however, the old
3027         canvases, and associated recordings, were not removed. This patch reworks all of this logic
3028         to create the CanvasCollection on construction of the tab and add/remove canvases as needed.
3029
3030         * UserInterface/Controllers/CanvasManager.js:
3031         (WI.CanvasManager.prototype.canvasAdded):
3032         (WI.CanvasManager.prototype.canvasRemoved):
3033         (WI.CanvasManager.prototype._removeCanvas):
3034         (WI.CanvasManager.prototype._mainResourceDidChange):
3035         Replaced the "Cleared" event by instead firing "CanvasRemoved" for every tracked canvas. This
3036         massively simplifies the logic for when the page navigates, as everything goes through a
3037         single event listener.
3038         Drive-by: changed existing event names to remove unnecessary words.
3039
3040         * UserInterface/Views/CanvasTabContentView.js:
3041         (WI.CanvasTabContentView):
3042         (WI.CanvasTabContentView.prototype.attached):
3043         (WI.CanvasTabContentView.prototype.detached):
3044         (WI.CanvasTabContentView.prototype._addCanvas):
3045         (WI.CanvasTabContentView.prototype._removeCanvas):
3046         (WI.CanvasTabContentView.prototype._handleCanvasAdded):
3047         (WI.CanvasTabContentView.prototype._handleCanvasRemoved):
3048         (WI.CanvasTabContentView.prototype._canvasAdded): Deleted.
3049         (WI.CanvasTabContentView.prototype._canvasRemoved): Deleted.
3050         (WI.CanvasTabContentView.prototype._mainResourceDidChange): Deleted.
3051         Rework logic for the way that the CanvasCollection is maintained. It is no longer
3052         created/destroyed each time the view is attached/detached, and instead a diff is calculated
3053         for the added/existing/removed canvases and the content views are added/removed as such.
3054
3055         * UserInterface/Views/CanvasOverviewContentView.js:
3056         (WI.CanvasOverviewContentView.prototype._selectionPathComponentsChanged):
3057         Drive-by: if an imported recording is selected on the Canvas Overview view, we should show it.
3058
3059 2017-10-26  Devin Rousso  <webkit@devinrousso.com>
3060
3061         Web Inspector: Canvas Tab: canvases overview should support navigation via keyboard
3062         https://bugs.webkit.org/show_bug.cgi?id=178800
3063         <rdar://problem/35175856>
3064
3065         Reviewed by Brian Burg.
3066
3067         Create a KeyboardShorcut for each of the following:
3068          - Up: selects the previous canvas in the selected column
3069          - Down: selects the next canvas in the selected column
3070          - Right: selects the next canvas in the selected row
3071          - Left: selects the previous canvas in the selected row
3072          - Space: toggle recording of the selected canvas
3073          - Shift+Space: toggle single-frame recording of the selected canvas
3074
3075         The calculation for selected row/colum is based on the `offsetWidth` of the parent element
3076         and the selected item's content view element. Since this view uses a flexbox, all of the
3077         items are expected to have the same dimensions, meaning that this value is uniform. The
3078         intended functionality is that of a spreadsheet, where pressing pressing left/right will
3079         never change the selected row and up/down will never change the selected column.
3080
3081         * UserInterface/Views/CanvasOverviewContentView.css:
3082         (.content-view.canvas-overview):
3083         (.content-view.canvas-overview .content-view.canvas):
3084         Move margin value to a CSS variable so that it can be easily retrieved via JavaScript.
3085
3086         * UserInterface/Views/CanvasOverviewContentView.js:
3087         (WI.CanvasOverviewContentView):
3088         (WI.CanvasOverviewContentView.prototype.contentViewAdded):
3089         (WI.CanvasOverviewContentView.prototype.contentViewRemoved):
3090         (WI.CanvasOverviewContentView.prototype.attached):
3091         (WI.CanvasOverviewContentView.prototype.detached):
3092         (WI.CanvasOverviewContentView.prototype.get _itemMargin):
3093         (WI.CanvasOverviewContentView.prototype._changeSelectedItemVertically):
3094         (WI.CanvasOverviewContentView.prototype._changeSelectedItemHorizontally):
3095         (WI.CanvasOverviewContentView.prototype._updateNavigationItems):
3096         (WI.CanvasOverviewContentView.prototype._handleUp):
3097         (WI.CanvasOverviewContentView.prototype._handleRight):
3098         (WI.CanvasOverviewContentView.prototype._handleDown):
3099         (WI.CanvasOverviewContentView.prototype._handleLeft):
3100         (WI.CanvasOverviewContentView.prototype._handleSpace):
3101         (WI.CanvasOverviewContentView.prototype._supplementalRepresentedObjectsDidChange):
3102         Drive-by: call `_updateNavigationItems` whenever an item is added/removed so that if there
3103         are no items the navigation items cannot be clicked.
3104
3105 2017-10-26  Nikita Vasilyev  <nvasilyev@apple.com>
3106
3107         Web Inspector: Styles Redesign: Make "Style Attribute" text darker and non-focusable
3108         https://bugs.webkit.org/show_bug.cgi?id=178837
3109
3110         Reviewed by Brian Burg.
3111
3112         * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.css:
3113         (.spreadsheet-css-declaration .selector.style-attribute):
3114         Use the same shade of gray as in the "Inherited from" sections.
3115
3116         * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
3117         (WI.SpreadsheetCSSStyleDeclarationSection.prototype.initialLayout):
3118         Only editable selectors should be focusable.
3119
3120 2017-10-26  Fujii Hironori  <Hironori.Fujii@sony.com>
3121
3122         [GTK] Web Inspector: Add CanvasOverview.svg and Canvas.svg
3123         https://bugs.webkit.org/show_bug.cgi?id=178426
3124
3125         Reviewed by Carlos Garcia Campos.
3126
3127         * UserInterface/Images/gtk/Canvas.svg: Added.
3128         * UserInterface/Images/gtk/CanvasOverview.svg: Added.
3129
3130 2017-10-25  Devin Rousso  <webkit@devinrousso.com>
3131
3132         Web Inspector: provide a way to enable/disable event listeners
3133         https://bugs.webkit.org/show_bug.cgi?id=177451
3134         <rdar://problem/34994925>
3135
3136         Reviewed by Joseph Pecoraro.
3137
3138         * Localizations/en.lproj/localizedStrings.js:
3139
3140         * UserInterface/Controllers/DOMTreeManager.js:
3141         (WI.DOMTreeManager.prototype.setEventListenerDisabled):
3142
3143         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
3144         (WI.DOMNodeDetailsSidebarPanel.prototype.attached):
3145         (WI.DOMNodeDetailsSidebarPanel.prototype.detached):
3146         (WI.DOMNodeDetailsSidebarPanel.prototype._eventListenersChanged):
3147         (WI.DOMNodeDetailsSidebarPanel.prototype.addEventListeners): Deleted.
3148         (WI.DOMNodeDetailsSidebarPanel.prototype.removeEventListeners): Deleted.
3149         Listen for `WI.DOMNode.Event.EventListenersChanged` on all instances of WI.DOMNode, since we
3150         will still want to refresh the event listeners section in the event that an event listener
3151         is removed from a parent node.
3152
3153         * UserInterface/Views/EventListenerSectionGroup.js:
3154         (WI.EventListenerSectionGroup):
3155         (WI.EventListenerSectionGroup.prototype._eventText):
3156         (WI.EventListenerSectionGroup.prototype._nodeTextOrLink):
3157         (WI.EventListenerSectionGroup.prototype._createDisabledToggleElement):
3158         (WI.EventListenerSectionGroup.prototype._createDisabledToggleElement.updateTitle):
3159         * UserInterface/Views/EventListenerSectionGroup.css:
3160         (.event-listener-section > .content input[type="checkbox"]):
3161
3162         * UserInterface/Views/DetailsSectionSimpleRow.js:
3163         (WI.DetailsSectionSimpleRow.prototype.get label):
3164         (WI.DetailsSectionSimpleRow.prototype.set label):
3165
3166 2017-10-25  Devin Rousso  <webkit@devinrousso.com>
3167
3168         Web Inspector: replace TypeVerifier with subclasses of WI.Collection
3169         https://bugs.webkit.org/show_bug.cgi?id=178045
3170         <rdar://problem/35174307>
3171
3172         Reviewed by Brian Burg.
3173
3174         * UserInterface/Models/Collection.js:
3175         (WI.Collection):
3176         (WI.Collection.prototype.get displayName):
3177         (WI.Collection.prototype.objectIsRequiredType):
3178         (WI.Collection.prototype.add):
3179         (WI.Collection.prototype.get typeVerifier): Deleted.
3180         Instead of exposing the typeVerifier, we create a public predicate that returns whether the
3181         given object matches the expected type of the Collection. Subclasses can override it to
3182         limit the scope of the collection to a particular type.
3183
3184         * UserInterface/Models/CollectionTypes.js:
3185         (WI.FrameCollection.prototype.get displayName):
3186         (WI.FrameCollection.prototype.objectIsRequiredType):
3187         (WI.FrameCollection): Deleted.
3188         (WI.ScriptCollection.prototype.get displayName):
3189         (WI.ScriptCollection.prototype.objectIsRequiredType):
3190         (WI.ScriptCollection): Deleted.
3191         (WI.CSSStyleSheetCollection.prototype.get displayName):
3192         (WI.CSSStyleSheetCollection.prototype.objectIsRequiredType):
3193         (WI.CSSStyleSheetCollection): Deleted.
3194         (WI.CanvasCollection.prototype.get displayName):
3195         (WI.CanvasCollection.prototype.objectIsRequiredType):
3196         (WI.CanvasCollection): Deleted.
3197         (WI.ShaderProgramCollection.prototype.get displayName):
3198         (WI.ShaderProgramCollection.prototype.objectIsRequiredType):
3199         (WI.ShaderProgramCollection): Deleted.
3200         (WI.RecordingCollection.prototype.get displayName):
3201         (WI.RecordingCollection.prototype.objectIsRequiredType):
3202         (WI.RecordingCollection): Deleted.
3203         * UserInterface/Models/ResourceCollection.js:
3204         (WI.ResourceCollection):
3205         (WI.ResourceCollection.prototype.get displayName):
3206         (WI.ResourceCollection.prototype.objectIsRequiredType):
3207         (WI.ResourceCollection.verifierForType): Deleted.
3208         * UserInterface/Views/TreeOutlineGroup.js:
3209         (WI.TreeOutlineGroup.prototype.objectIsRequiredType):
3210         (WI.TreeOutlineGroup): Deleted.
3211         Introduce additional subclasses of Collection for other model types. Modify existing
3212         subclasses to remove `typeVerifier` and instead extend `objectIsRequiredType`.
3213
3214         * UserInterface/Models/Canvas.js:
3215         (WI.Canvas):
3216         * UserInterface/Models/Frame.js:
3217         (WI.Frame):
3218         * UserInterface/Protocol/Target.js:
3219         (WI.Target):
3220         * UserInterface/Views/ResourceSidebarPanel.js:
3221         (WI.ResourceSidebarPanel.prototype.treeElementForRepresentedObject):
3222         (WI.ResourceSidebarPanel.prototype._addScript):
3223
3224         * UserInterface/Views/CollectionContentView.js:
3225         (WI.CollectionContentView):
3226         (WI.CollectionContentView.titleForCollection): Delete.
3227         * UserInterface/Views/ResourceCollectionContentView.js:
3228         (WI.ResourceCollectionContentView):
3229         Require that subclasses of Collection override `get displayName` if the CollectionContentView
3230         is not provided with a `contentPlaceholderText`.
3231
3232         (WI.CollectionContentView.prototype.initialLayout):
3233         We don't need to create and add ContentView for each item of the Collection, as this is
3234         already done by attached().
3235
3236         (WI.CollectionContentView.prototype._showContentPlaceholder):
3237         Remove the 250ms delay before showing the placeholder TitleView.
3238
3239         * UserInterface/Views/FolderizedTreeElement.js:
3240         (WI.FolderizedTreeElement.prototype._settingsForRepresentedObject):
3241
3242 2017-10-25  Joseph Pecoraro  <pecoraro@apple.com>
3243
3244         Web Inspector: Display fetch() initiated loads as "fetch" instead of "xhr" in the Network Tab
3245         https://bugs.webkit.org/show_bug.cgi?id=178826
3246
3247         Reviewed by Youenn Fablet.
3248
3249         * UserInterface/Views/NetworkTableContentView.js:
3250         (WI.NetworkTableContentView.shortDisplayNameForResourceType):
3251         Fetch and XHR loads are still grouped under the succinct "XHR" filter, but
3252         at least display the better type name in the "Type" column of the table.
3253
3254 2017-10-25  Devin Rousso  <webkit@devinrousso.com>
3255
3256         Web Inspector: Canvas Tab: selected canvas card loses selection outline style while recording
3257         https://bugs.webkit.org/show_bug.cgi?id=178814
3258         <rdar://problem/35177317>
3259
3260         Reviewed by Brian Burg.
3261
3262         * UserInterface/Views/CanvasOverviewContentView.css:
3263         (.content-view.canvas-overview .content-view.canvas):
3264         (.content-view.canvas-overview .content-view.canvas > :matches(header, .preview, footer)):
3265         (.content-view.canvas-overview .content-view.canvas.selected > :matches(.preview, footer),):
3266         (.content-view.canvas-overview .content-view.canvas > header):
3267         (.content-view.canvas-overview .content-view.canvas.is-recording > header):
3268         (.content-view.canvas-overview .content-view.canvas > .preview):
3269         (.content-view.canvas-overview .content-view.canvas > footer):
3270         (.content-view.canvas-overview .content-view.canvas.selected:not(.is-recording)): Deleted.
3271         Instead of applying the border to the entire element, apply parts of the border to each of
3272         its children so that we can choose what colors to use for each part.
3273
3274 2017-10-25  Nikita Vasilyev  <nvasilyev@apple.com>
3275
3276         Web Inspector: [PARITY] Styles Redesign: Add color gradient, bezier curve, and spring inline widgets
3277         https://bugs.webkit.org/show_bug.cgi?id=178404
3278         <rdar://problem/35035992>
3279
3280         Reviewed by Devin Rousso.
3281
3282         Add inline widgets for the following CSS values:
3283         - Gradients, e.g. `background-image: linear-gradient(yellow, orange)`
3284         - Bezier curves, e.g. `transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55)`
3285         - Spring functions, e.g. `transition-timing-function: spring(1, 2, 2, 4)`
3286
3287         * UserInterface/Models/Color.js:
3288         (WI.Color.prototype.toString):
3289         Don't throw. The are never try/catch blocks on the callsites.
3290
3291         * UserInterface/Views/SpreadsheetStyleProperty.js:
3292         (WI.SpreadsheetStyleProperty.prototype._renderValue):
3293         (WI.SpreadsheetStyleProperty.prototype._createInlineSwatch):
3294         (WI.SpreadsheetStyleProperty.prototype._addGradientTokens):
3295         (WI.SpreadsheetStyleProperty.prototype._addColorTokens):
3296         (WI.SpreadsheetStyleProperty.prototype._addTimingFunctionTokens):
3297
3298 2017-10-25  Nikita Vasilyev  <nvasilyev@apple.com>
3299
3300         Web Inspector: Styles Redesign: Newly added invalid property isn't immediately shown as invalid
3301         https://bugs.webkit.org/show_bug.cgi?id=178488
3302
3303         Reviewed by Brian Burg.
3304
3305         * UserInterface/Models/CSSStyleDeclaration.js:
3306         (WI.CSSStyleDeclaration.prototype.newBlankProperty):
3307         Call this.update to update _properties, _allProperties, _visibleProperties, and _allVisibleProperties.
3308
3309         * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
3310         (.spreadsheet-style-declaration-editor .property:matches(.invalid-name, .other-vendor, .overridden):not(.disabled)):
3311         (.spreadsheet-style-declaration-editor .property.invalid-name:not(.disabled)):
3312         (.spreadsheet-style-declaration-editor .property.invalid-value:not(.disabled) .value):
3313         When the property name is valid, but the value isn't, display red line-through only for the value.
3314         This is how it works in the old styles sidebar as well.
3315
3316         * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
3317         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._propertiesChanged):
3318         (WI.SpreadsheetCSSStyleDeclarationEditor):
3319         * UserInterface/Views/SpreadsheetStyleProperty.js:
3320         (WI.SpreadsheetStyleProperty):
3321         (WI.SpreadsheetStyleProperty.prototype.updateClassNames):
3322         (WI.SpreadsheetStyleProperty.prototype._update):
3323         Introduce updateClassNames method. Unlike _update, it doesn't change text selection or focus and
3324         can be safely called on a property while it's being edited.
3325
3326 2017-10-25  Devin Rousso  <webkit@devinrousso.com>
3327
3328         Web Inspector: Canvas Tab: clicking on a canvas card causes details sidebar to show and mess up card arrangement
3329         https://bugs.webkit.org/show_bug.cgi?id=178803
3330         <rdar://problem/35176082>
3331
3332         Reviewed by Brian Burg.
3333
3334         * Localizations/en.lproj/localizedStrings.js: