Changeset 223997 in webkit
- Timestamp:
- Oct 25, 2017 4:49:05 PM (7 years ago)
- Location:
- trunk
- Files:
-
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r223994 r223997 1 2017-10-25 Devin Rousso <webkit@devinrousso.com> 2 3 Web Inspector: replace TypeVerifier with subclasses of WI.Collection 4 https://bugs.webkit.org/show_bug.cgi?id=178045 5 <rdar://problem/35174307> 6 7 Reviewed by Brian Burg. 8 9 * inspector/unit-tests/collection-expected.txt: 10 * inspector/unit-tests/collection.html: 11 1 12 2017-10-25 Youenn Fablet <youenn@apple.com> 2 13 -
trunk/LayoutTests/inspector/unit-tests/collection-expected.txt
r220119 r223997 15 15 [] 16 16 17 -- Running test case: WI.Collection. prototype.get typeVerifier17 -- Running test case: WI.Collection.SpecifiedType 18 18 ["one","two"] 19 19 ["one","two"] 20 PASS: typeVerifier is the given function.21 20 -
trunk/LayoutTests/inspector/unit-tests/collection.html
r220119 r223997 6 6 function test() 7 7 { 8 let suite = InspectorTest.createAsyncSuite("Collection"); 8 class TestCollection extends WI.Collection { 9 objectIsRequiredType(object) 10 { 11 return true; 12 } 13 } 14 15 class StringCollection extends WI.Collection { 16 objectIsRequiredType(object) 17 { 18 return typeof object === "string"; 19 } 20 } 21 22 let suite = InspectorTest.createSyncSuite("Collection"); 9 23 10 24 suite.addTestCase({ 11 25 name: "WI.Collection.prototype.add", 12 test( resolve, reject) {13 let collection = new WI.Collection;26 test() { 27 let collection = new TestCollection; 14 28 collection.add("one"); 15 29 collection.add("two"); … … 21 35 InspectorTest.log(collection); 22 36 23 re solve();37 return true; 24 38 } 25 39 }); … … 27 41 suite.addTestCase({ 28 42 name: "WI.Collection.prototype.remove", 29 test( resolve, reject) {43 test() { 30 44 let item = "one"; 31 45 32 let collection = new WI.Collection;46 let collection = new TestCollection; 33 47 collection.add(item); 34 48 collection.add("two"); … … 40 54 InspectorTest.log(collection); 41 55 42 re solve();56 return true; 43 57 } 44 58 }); … … 46 60 suite.addTestCase({ 47 61 name: "WI.Collection.prototype.clear", 48 test( resolve, reject) {49 let collection = new WI.Collection;62 test() { 63 let collection = new TestCollection; 50 64 collection.add("one"); 51 65 collection.add("two"); … … 58 72 InspectorTest.log(collection); 59 73 60 re solve();74 return true; 61 75 } 62 76 }); 63 77 64 78 suite.addTestCase({ 65 name: "WI.Collection.prototype.get typeVerifier", 66 test(resolve, reject) { 67 function stringVerifier(object) { 68 return typeof object === "string"; 69 } 70 71 let collection = new WI.Collection(stringVerifier); 79 name: "WI.Collection.SpecifiedType", 80 test() { 81 let collection = new StringCollection; 72 82 collection.add("one"); 73 83 collection.add("two"); … … 78 88 79 89 InspectorTest.log(collection); 80 InspectorTest.expectEqual(collection.typeVerifier, stringVerifier, "typeVerifier is the given function.");81 90 82 re solve();91 return true; 83 92 } 84 93 }); -
trunk/Source/WebInspectorUI/ChangeLog
r223991 r223997 1 1 2017-10-25 Devin Rousso <webkit@devinrousso.com> 2 2 3 Web Inspector: Canvas Tab: clicking on a canvas card causes details sidebar to show and mess up card arrangement4 https://bugs.webkit.org/show_bug.cgi?id=178 8035 <rdar://problem/3517 6082>3 Web Inspector: replace TypeVerifier with subclasses of WI.Collection 4 https://bugs.webkit.org/show_bug.cgi?id=178045 5 <rdar://problem/35174307> 6 6 7 7 Reviewed by Brian Burg. 8 8 9 * Localizations/en.lproj/localizedStrings.js: 10 * UserInterface/Views/CanvasDetailsSidebarPanel.css: 11 (.sidebar > .panel.details.canvas > .content > .empty-content-placeholder): 12 (.sidebar > .panel.details.canvas > .content > .empty-content-placeholder > .message): 13 * UserInterface/Views/CanvasDetailsSidebarPanel.js: 14 (WI.CanvasDetailsSidebarPanel): 15 (WI.CanvasDetailsSidebarPanel.prototype.inspect): 16 (WI.CanvasDetailsSidebarPanel.prototype.initialLayout): 17 (WI.CanvasDetailsSidebarPanel.prototype.layout): 18 19 * UserInterface/Views/RecordingNavigationSidebarPanel.js: 20 (WI.RecordingNavigationSidebarPanel.disallowInstanceForClass): Deleted. 21 * UserInterface/Views/RecordingStateDetailsSidebarPanel.js: 22 (WI.RecordingStateDetailsSidebarPanel.disallowInstanceForClass): Deleted. 23 * UserInterface/Views/RecordingTraceDetailsSidebarPanel.js: 24 (WI.RecordingTraceDetailsSidebarPanel.disallowInstanceForClass): Deleted. 25 Drive-by: these sidebar panels are now only used by the Canvas tab, so we no longer need to 26 provide support for multiple instances of them. 9 * UserInterface/Models/Collection.js: 10 (WI.Collection): 11 (WI.Collection.prototype.get displayName): 12 (WI.Collection.prototype.objectIsRequiredType): 13 (WI.Collection.prototype.add): 14 (WI.Collection.prototype.get typeVerifier): Deleted. 15 Instead of exposing the typeVerifier, we create a public predicate that returns whether the 16 given object matches the expected type of the Collection. Subclasses can override it to 17 limit the scope of the collection to a particular type. 18 19 * UserInterface/Models/CollectionTypes.js: 20 (WI.FrameCollection.prototype.get displayName): 21 (WI.FrameCollection.prototype.objectIsRequiredType): 22 (WI.FrameCollection): Deleted. 23 (WI.ScriptCollection.prototype.get displayName): 24 (WI.ScriptCollection.prototype.objectIsRequiredType): 25 (WI.ScriptCollection): Deleted. 26 (WI.CSSStyleSheetCollection.prototype.get displayName): 27 (WI.CSSStyleSheetCollection.prototype.objectIsRequiredType): 28 (WI.CSSStyleSheetCollection): Deleted. 29 (WI.CanvasCollection.prototype.get displayName): 30 (WI.CanvasCollection.prototype.objectIsRequiredType): 31 (WI.CanvasCollection): Deleted. 32 (WI.ShaderProgramCollection.prototype.get displayName): 33 (WI.ShaderProgramCollection.prototype.objectIsRequiredType): 34 (WI.ShaderProgramCollection): Deleted. 35 (WI.RecordingCollection.prototype.get displayName): 36 (WI.RecordingCollection.prototype.objectIsRequiredType): 37 (WI.RecordingCollection): Deleted. 38 * UserInterface/Models/ResourceCollection.js: 39 (WI.ResourceCollection): 40 (WI.ResourceCollection.prototype.get displayName): 41 (WI.ResourceCollection.prototype.objectIsRequiredType): 42 (WI.ResourceCollection.verifierForType): Deleted. 43 * UserInterface/Views/TreeOutlineGroup.js: 44 (WI.TreeOutlineGroup.prototype.objectIsRequiredType): 45 (WI.TreeOutlineGroup): Deleted. 46 Introduce additional subclasses of Collection for other model types. Modify existing 47 subclasses to remove `typeVerifier` and instead extend `objectIsRequiredType`. 48 49 * UserInterface/Models/Canvas.js: 50 (WI.Canvas): 51 * UserInterface/Models/Frame.js: 52 (WI.Frame): 53 * UserInterface/Protocol/Target.js: 54 (WI.Target): 55 * UserInterface/Views/ResourceSidebarPanel.js: 56 (WI.ResourceSidebarPanel.prototype.treeElementForRepresentedObject): 57 (WI.ResourceSidebarPanel.prototype._addScript): 58 59 * UserInterface/Views/CollectionContentView.js: 60 (WI.CollectionContentView): 61 (WI.CollectionContentView.titleForCollection): Delete. 62 * UserInterface/Views/ResourceCollectionContentView.js: 63 (WI.ResourceCollectionContentView): 64 Require that subclasses of Collection override `get displayName` if the CollectionContentView 65 is not provided with a `contentPlaceholderText`. 66 67 (WI.CollectionContentView.prototype.initialLayout): 68 We don't need to create and add ContentView for each item of the Collection, as this is 69 already done by attached(). 70 71 (WI.CollectionContentView.prototype._showContentPlaceholder): 72 Remove the 250ms delay before showing the placeholder TitleView. 73 74 * UserInterface/Views/FolderizedTreeElement.js: 75 (WI.FolderizedTreeElement.prototype._settingsForRepresentedObject): 27 76 28 77 2017-10-25 Joseph Pecoraro <pecoraro@apple.com> … … 109 158 Introduce updateClassNames method. Unlike _update, it doesn't change text selection or focus and 110 159 can be safely called on a property while it's being edited. 160 161 2017-10-25 Devin Rousso <webkit@devinrousso.com> 162 163 Web Inspector: Canvas Tab: clicking on a canvas card causes details sidebar to show and mess up card arrangement 164 https://bugs.webkit.org/show_bug.cgi?id=178803 165 <rdar://problem/35176082> 166 167 Reviewed by Brian Burg. 168 169 * Localizations/en.lproj/localizedStrings.js: 170 * UserInterface/Views/CanvasDetailsSidebarPanel.css: 171 (.sidebar > .panel.details.canvas > .content > .empty-content-placeholder): 172 (.sidebar > .panel.details.canvas > .content > .empty-content-placeholder > .message): 173 * UserInterface/Views/CanvasDetailsSidebarPanel.js: 174 (WI.CanvasDetailsSidebarPanel): 175 (WI.CanvasDetailsSidebarPanel.prototype.inspect): 176 (WI.CanvasDetailsSidebarPanel.prototype.initialLayout): 177 (WI.CanvasDetailsSidebarPanel.prototype.layout): 178 179 * UserInterface/Views/RecordingNavigationSidebarPanel.js: 180 (WI.RecordingNavigationSidebarPanel.disallowInstanceForClass): Deleted. 181 * UserInterface/Views/RecordingStateDetailsSidebarPanel.js: 182 (WI.RecordingStateDetailsSidebarPanel.disallowInstanceForClass): Deleted. 183 * UserInterface/Views/RecordingTraceDetailsSidebarPanel.js: 184 (WI.RecordingTraceDetailsSidebarPanel.disallowInstanceForClass): Deleted. 185 Drive-by: these sidebar panels are now only used by the Canvas tab, so we no longer need to 186 provide support for multiple instances of them. 111 187 112 188 2017-10-25 Devin Rousso <webkit@devinrousso.com> -
trunk/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js
r223991 r223997 212 212 localizedStrings["Collapse columns"] = "Collapse columns"; 213 213 localizedStrings["Collect garbage"] = "Collect garbage"; 214 localizedStrings["Collection"] = "Collection";215 214 localizedStrings["Color"] = "Color"; 216 215 localizedStrings["Comment"] = "Comment"; … … 724 723 localizedStrings["Recording Timeline Data"] = "Recording Timeline Data"; 725 724 localizedStrings["Recording error: %s"] = "Recording error: %s"; 725 localizedStrings["Recordings"] = "Recordings"; 726 726 localizedStrings["Reference Issue"] = "Reference Issue"; 727 727 localizedStrings["Reflection"] = "Reflection"; -
trunk/Source/WebInspectorUI/UserInterface/Models/Canvas.js
r223952 r223997 43 43 44 44 this._cssCanvasClientNodes = null; 45 this._shaderProgramCollection = new WI. Collection(WI.Collection.TypeVerifier.ShaderProgram);45 this._shaderProgramCollection = new WI.ShaderProgramCollection; 46 46 this._recordingCollection = new WI.RecordingCollection; 47 47 -
trunk/Source/WebInspectorUI/UserInterface/Models/Collection.js
r222356 r223997 26 26 WI.Collection = class Collection extends WI.Object 27 27 { 28 constructor( typeVerifier)28 constructor(items = []) 29 29 { 30 30 super(); … … 32 32 this._items = new Set; 33 33 34 console.assert(!typeVerifier || typeof typeVerifier === "function");35 this._typeVerifier = typeVerifier || WI.Collection.TypeVerifier.Any;34 for (let item of items) 35 this.add(item); 36 36 } 37 37 38 38 // Public 39 39 40 40 get items() { return this._items; } 41 get typeVerifier() { return this._typeVerifier; } 41 42 get displayName() 43 { 44 throw WI.NotImplementedError.subclassMustOverride(); 45 } 46 47 objectIsRequiredType(object) 48 { 49 throw WI.NotImplementedError.subclassMustOverride(); 50 } 42 51 43 52 add(item) 44 53 { 45 let isValidType = this. _typeVerifier(item);54 let isValidType = this.objectIsRequiredType(item); 46 55 console.assert(isValidType); 47 56 if (!isValidType) … … 106 115 }; 107 116 108 117 WI.Collection.Event = { 109 118 ItemAdded: "collection-item-added", 110 119 ItemRemoved: "collection-item-removed", 111 120 }; 112 121 113 WI.Collection.TypeVerifier = {114 Any: (object) => true,115 Frame: (object) => object instanceof WI.Frame,116 Resource: (object) => object instanceof WI.Resource,117 Script: (object) => object instanceof WI.Script,118 CSSStyleSheet: (object) => object instanceof WI.CSSStyleSheet,119 Canvas: (object) => object instanceof WI.Canvas,120 ShaderProgram: (object) => object instanceof WI.ShaderProgram,121 }; -
trunk/Source/WebInspectorUI/UserInterface/Models/CollectionTypes.js
r223952 r223997 1 1 /* 2 2 * Copyright (C) 2017 Apple Inc. All rights reserved. 3 * Copyright (C) 2017 Devin Rousso <webkit@devinrousso.com>. All rights reserved. 3 4 * 4 5 * Redistribution and use in source and binary forms, with or without … … 24 25 */ 25 26 27 WI.FrameCollection = class FrameCollection extends WI.Collection 28 { 29 // Public 30 31 get displayName() 32 { 33 return WI.UIString("Frames"); 34 } 35 36 objectIsRequiredType(object) 37 { 38 return object instanceof WI.Frame; 39 } 40 }; 41 42 WI.ScriptCollection = class ScriptCollection extends WI.Collection 43 { 44 // Public 45 46 get displayName() 47 { 48 return WI.UIString("Scripts"); 49 } 50 51 objectIsRequiredType(object) 52 { 53 return object instanceof WI.Script; 54 } 55 }; 56 57 WI.CSSStyleSheetCollection = class CSSStyleSheetCollection extends WI.Collection 58 { 59 // Public 60 61 get displayName() 62 { 63 return WI.UIString("Stylesheets"); 64 } 65 66 objectIsRequiredType(object) 67 { 68 return object instanceof WI.CSSStyleSheet; 69 } 70 }; 71 72 26 73 WI.CanvasCollection = class CanvasCollection extends WI.Collection 27 74 { 28 constructor(canvases = []) 75 // Public 76 77 get displayName() 29 78 { 30 super((item) => item instanceof WI.Canvas); 79 return WI.UIString("Canvases"); 80 } 31 81 32 for (let canvas of canvases) 33 this.add(canvas); 82 objectIsRequiredType(object) 83 { 84 return object instanceof WI.Canvas; 85 } 86 }; 87 88 WI.ShaderProgramCollection = class ShaderProgramCollection extends WI.Collection 89 { 90 // Public 91 92 get displayName() 93 { 94 return WI.UIString("Shader Programs"); 95 } 96 97 objectIsRequiredType(object) 98 { 99 return object instanceof WI.ShaderProgram; 34 100 } 35 101 }; … … 37 103 WI.RecordingCollection = class RecordingCollection extends WI.Collection 38 104 { 39 constructor(recordings = []) 105 // Public 106 107 get displayName() 40 108 { 41 super((item) => item instanceof WI.Recording); 109 return WI.UIString("Recordings"); 110 } 42 111 43 for (let recording of recordings) 44 this.add(recording); 112 objectIsRequiredType(object) 113 { 114 return object instanceof WI.Recording; 45 115 } 46 116 }; -
trunk/Source/WebInspectorUI/UserInterface/Models/Frame.js
r223920 r223997 39 39 this._resourceCollection = new WI.ResourceCollection; 40 40 this._provisionalResourceCollection = new WI.ResourceCollection; 41 this._extraScriptCollection = new WI. Collection(WI.Collection.TypeVerifier.Script);42 43 this._childFrameCollection = new WI. Collection(WI.Collection.TypeVerifier.Frame);41 this._extraScriptCollection = new WI.ScriptCollection; 42 43 this._childFrameCollection = new WI.FrameCollection; 44 44 this._childFrameIdentifierMap = new Map; 45 45 -
trunk/Source/WebInspectorUI/UserInterface/Models/ResourceCollection.js
r223308 r223997 29 29 constructor(resourceType) 30 30 { 31 super( WI.ResourceCollection.verifierForType(resourceType));31 super(); 32 32 33 33 this._resourceType = resourceType || null; … … 36 36 } 37 37 38 // Static39 40 static verifierForType(type) {41 switch (type) {42 case WI.Resource.Type.Document:43 return WI.ResourceCollection.TypeVerifier.Document;44 case WI.Resource.Type.Stylesheet:45 return WI.ResourceCollection.TypeVerifier.Stylesheet;46 case WI.Resource.Type.Image:47 return WI.ResourceCollection.TypeVerifier.Image;48 case WI.Resource.Type.Font:49 return WI.ResourceCollection.TypeVerifier.Font;50 case WI.Resource.Type.Script:51 return WI.ResourceCollection.TypeVerifier.Script;52 case WI.Resource.Type.XHR:53 return WI.ResourceCollection.TypeVerifier.XHR;54 case WI.Resource.Type.Fetch:55 return WI.ResourceCollection.TypeVerifier.Fetch;56 case WI.Resource.Type.Ping:57 return WI.ResourceCollection.TypeVerifier.Ping;58 case WI.Resource.Type.Beacon:59 return WI.ResourceCollection.TypeVerifier.Beacon;60 case WI.Resource.Type.WebSocket:61 return WI.ResourceCollection.TypeVerifier.WebSocket;62 case WI.Resource.Type.Other:63 return WI.ResourceCollection.TypeVerifier.Other;64 default:65 return WI.Collection.TypeVerifier.Resource;66 }67 }68 69 38 // Public 70 39 71 40 get resourceType() { return this._resourceType; } 41 42 get displayName() 43 { 44 const plural = true; 45 return this._resourceType ? WI.Resource.displayNameForType(this._resourceType, plural) : WI.UIString("Resources"); 46 } 47 48 objectIsRequiredType(object) 49 { 50 if (!(object instanceof WI.Resource)) 51 return false; 52 53 if (!this._resourceType) 54 return true; 55 56 if (this._resourceType === WI.Resource.Type.Stylesheet && object instanceof WI.CSSStyleSheet) 57 return true; 58 59 return object.type === this._resourceType; 60 } 72 61 73 62 resourceForURL(url) … … 192 181 } 193 182 }; 194 195 WI.ResourceCollection.TypeVerifier = {196 Document: (object) => WI.Collection.TypeVerifier.Resource(object) && object.type === WI.Resource.Type.Document,197 Stylesheet: (object) => {198 if (WI.Collection.TypeVerifier.CSSStyleSheet(object))199 return true;200 return WI.Collection.TypeVerifier.Resource(object) && object.type === WI.Resource.Type.Stylesheet;201 },202 Image: (object) => WI.Collection.TypeVerifier.Resource(object) && object.type === WI.Resource.Type.Image,203 Font: (object) => WI.Collection.TypeVerifier.Resource(object) && object.type === WI.Resource.Type.Font,204 Script: (object) => WI.Collection.TypeVerifier.Resource(object) && object.type === WI.Resource.Type.Script,205 XHR: (object) => WI.Collection.TypeVerifier.Resource(object) && object.type === WI.Resource.Type.XHR,206 Fetch: (object) => WI.Collection.TypeVerifier.Resource(object) && object.type === WI.Resource.Type.Fetch,207 Ping: (object) => WI.Collection.TypeVerifier.Resource(object) && object.type === WI.Resource.Type.Ping,208 Beacon: (object) => WI.Collection.TypeVerifier.Resource(object) && object.type === WI.Resource.Type.Beacon,209 WebSocket: (object) => WI.Collection.TypeVerifier.Resource(object) && object.type === WI.Resource.Type.WebSocket,210 Other: (object) => WI.Collection.TypeVerifier.Resource(object) && object.type === WI.Resource.Type.Other,211 }; -
trunk/Source/WebInspectorUI/UserInterface/Protocol/Target.js
r220119 r223997 37 37 this._mainResource = null; 38 38 this._resourceCollection = new WI.ResourceCollection; 39 this._extraScriptCollection = new WI. Collection(WI.Collection.TypeVerifier.Script);39 this._extraScriptCollection = new WI.ScriptCollection; 40 40 41 41 this._connection.target = this; -
trunk/Source/WebInspectorUI/UserInterface/Views/CollectionContentView.js
r223011 r223997 34 34 this.element.classList.add("collection"); 35 35 36 this._contentPlaceholderText = contentPlaceholderText || WI.CollectionContentView.titleForCollection(collection);36 this._contentPlaceholderText = contentPlaceholderText || collection.displayName; 37 37 this._contentViewConstructor = contentViewConstructor; 38 38 this._contentViewMap = new Map; … … 42 42 } 43 43 44 static titleForCollection(collection)45 {46 switch (collection.typeVerifier) {47 case WI.Collection.TypeVerifier.Frame:48 return WI.UIString("Frames");49 case WI.Collection.TypeVerifier.Resource:50 return WI.UIString("Resources");51 case WI.Collection.TypeVerifier.Script:52 return WI.UIString("Scripts");53 case WI.Collection.TypeVerifier.CSSStyleSheet:54 return WI.UIString("Stylesheets");55 case WI.Collection.TypeVerifier.Canvas:56 return WI.UIString("Canvases");57 case WI.Collection.TypeVerifier.ShaderProgram:58 return WI.UIString("Shader Programs");59 }60 61 console.warn("No default title for Collection type verifier.", collection.typeVerifier);62 return WI.UIString("Collection");63 }64 65 44 // Public 66 45 … … 189 168 return; 190 169 } 191 192 for (let item of items)193 this.addContentViewForItem(item);194 170 } 195 171 … … 277 253 278 254 if (!this._contentPlaceholder.parentView) 279 this. debounce(250).addSubview(this._contentPlaceholder);255 this.addSubview(this._contentPlaceholder); 280 256 } 281 257 -
trunk/Source/WebInspectorUI/UserInterface/Views/FolderizedTreeElement.js
r220119 r223997 326 326 { 327 327 for (let settings of this._folderizeSettingsMap.values()) { 328 if (settings.representedObject. typeVerifier(representedObject))328 if (settings.representedObject.objectIsRequiredType(representedObject)) 329 329 return settings; 330 330 } -
trunk/Source/WebInspectorUI/UserInterface/Views/ResourceCollectionContentView.js
r222573 r223997 34 34 contentViewConstructor = WI.ImageResourceContentView; 35 35 36 const plural = true; 37 let contentPlaceholderText = WI.Resource.displayNameForType(collection.resourceType, plural); 38 39 super(collection, contentViewConstructor, contentPlaceholderText); 36 super(collection, contentViewConstructor); 40 37 } 41 38 -
trunk/Source/WebInspectorUI/UserInterface/Views/ResourceSidebarPanel.js
r223920 r223997 169 169 170 170 if (!this._anonymousScriptsFolderTreeElement) { 171 let collection = new WI. Collection(WI.Collection.TypeVerifier.Script);171 let collection = new WI.ScriptCollection; 172 172 this._anonymousScriptsFolderTreeElement = new WI.FolderTreeElement(WI.UIString("Anonymous Scripts"), collection); 173 173 } … … 321 321 if (script.injected) { 322 322 if (!this._extensionScriptsFolderTreeElement) { 323 let collection = new WI. Collection(WI.Collection.TypeVerifier.Script);323 let collection = new WI.ScriptCollection; 324 324 this._extensionScriptsFolderTreeElement = new WI.FolderTreeElement(WI.UIString("Extension Scripts"), collection); 325 325 } … … 331 331 else { 332 332 if (!this._extraScriptsFolderTreeElement) { 333 let collection = new WI. Collection(WI.Collection.TypeVerifier.Script);333 let collection = new WI.ScriptCollection; 334 334 this._extraScriptsFolderTreeElement = new WI.FolderTreeElement(WI.UIString("Extra Scripts"), collection); 335 335 } -
trunk/Source/WebInspectorUI/UserInterface/Views/TreeOutlineGroup.js
r220119 r223997 26 26 WI.TreeOutlineGroup = class TreeOutlineGroup extends WI.Collection 27 27 { 28 constructor()29 {30 super((object) => object instanceof WI.TreeOutline);31 }32 33 28 // Static 34 29 … … 39 34 40 35 // Public 36 37 objectIsRequiredType(object) 38 { 39 return object instanceof WI.TreeOutline; 40 } 41 41 42 42 get selectedTreeElement()
Note: See TracChangeset
for help on using the changeset viewer.