Changeset 208246 in webkit
- Timestamp:
- Nov 1, 2016 2:48:31 PM (7 years ago)
- Location:
- trunk
- Files:
-
- 23 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r208242 r208246 1 2016-11-01 Devin Rousso <dcrousso+webkit@gmail.com> 2 3 Web Inspector: Replace sublists inside DOM-related model objects with WI.Collection 4 https://bugs.webkit.org/show_bug.cgi?id=164098 5 6 Reviewed by Timothy Hatcher. 7 8 * http/tests/inspector/console/cross-domain-inspected-node-access-expected.txt: 9 * http/tests/inspector/console/cross-domain-inspected-node-access.html: 10 * http/tests/inspector/dom/disconnect-dom-tree-after-main-frame-navigation.html: 11 * inspector/css/manager-preferredInspectorStyleSheetForFrame-expected.txt: 12 * inspector/css/manager-preferredInspectorStyleSheetForFrame.html: 13 * inspector/dom/content-flow-list.html: 14 * inspector/dom/highlightFrame-expected.txt: 15 * inspector/dom/highlightFrame.html: 16 * inspector/dom/highlightNode-expected.txt: 17 * inspector/dom/highlightNode.html: 18 * inspector/dom/highlightSelector-expected.txt: 19 * inspector/dom/highlightSelector.html: 20 * inspector/model/frame-extra-scripts-expected.txt: 21 * inspector/model/frame-extra-scripts.html: 22 Change functionality to support WebInspector.Collection methods. 23 1 24 2016-11-01 Antoine Quint <graouts@apple.com> 2 25 -
trunk/LayoutTests/http/tests/inspector/console/cross-domain-inspected-node-access-expected.txt
r200533 r208246 4 4 5 5 6 PASS: Page should have a subframe. 6 7 7 8 == Running test suite: CommandLineAPI.$0.cross-frame -
trunk/LayoutTests/http/tests/inspector/console/cross-domain-inspected-node-access.html
r192186 r208246 8 8 let suite = InspectorTest.createAsyncSuite("CommandLineAPI.$0.cross-frame"); 9 9 10 let mainFrame = WebInspector.frameResourceManager.mainFrame; 11 let childFrames = mainFrame.childFrameCollection.toArray(); 12 InspectorTest.expectEqual(childFrames.length, 1, "Page should have a subframe."); 13 10 14 let nodeInMainFrameId; 11 15 let nodeInSubFrameId; … … 14 18 name: "AttemptCrossFrame$0AccessFromMainFrame", 15 19 description: "Should not be able to access $0 node in different domain subframe from the main frame.", 16 test : (resolve, reject) =>{20 test(resolve, reject) { 17 21 InspectorTest.log("Setting $0 to node within subframe."); 18 22 ConsoleAgent.addInspectedNode(nodeInSubFrameId); … … 30 34 name: "AttemptSameFrame$0AccessFromMainFrame", 31 35 description: "Should be able to access $0 node in the same frame.", 32 test : (resolve, reject) =>{36 test(resolve, reject) { 33 37 InspectorTest.log("Setting $0 to node within the main frame."); 34 38 ConsoleAgent.addInspectedNode(nodeInMainFrameId); … … 46 50 name: "AttemptCrossFrame$0AccessFromSubFrame", 47 51 description: "Should not be able to access $0 node in different domain main frame from the subframe.", 48 test : (resolve, reject) =>{52 test(resolve, reject) { 49 53 InspectorTest.log("Setting $0 to node within the main frame."); 50 54 ConsoleAgent.addInspectedNode(nodeInMainFrameId); 51 const childFrame = WebInspector.frameResourceManager.mainFrame.childFrames[0]; 52 RuntimeAgent.evaluate.invoke({expression: "$0", includeCommandLineAPI: true, contextId: childFrame.pageExecutionContext.id}, (error, remoteObjectPayload, wasThrown) => { 55 RuntimeAgent.evaluate.invoke({expression: "$0", includeCommandLineAPI: true, contextId: childFrames[0].pageExecutionContext.id}, (error, remoteObjectPayload, wasThrown) => { 53 56 InspectorTest.assert(!error, "Should not be a protocol error."); 54 57 InspectorTest.assert(!wasThrown, "Should not be an exception."); … … 63 66 name: "AttemptSameFrame$0AccessFromSubFrame", 64 67 description: "Should be able to access $0 node in the same frame.", 65 test : (resolve, reject) =>{68 test(resolve, reject) { 66 69 InspectorTest.log("Setting $0 to node within the subframe."); 67 70 ConsoleAgent.addInspectedNode(nodeInSubFrameId); 68 const childFrame = WebInspector.frameResourceManager.mainFrame.childFrames[0]; 69 RuntimeAgent.evaluate.invoke({expression: "$0", includeCommandLineAPI: true, contextId: childFrame.pageExecutionContext.id}, (error, remoteObjectPayload, wasThrown) => { 71 RuntimeAgent.evaluate.invoke({expression: "$0", includeCommandLineAPI: true, contextId: childFrames[0].pageExecutionContext.id}, (error, remoteObjectPayload, wasThrown) => { 70 72 InspectorTest.assert(!error, "Should not be a protocol error."); 71 73 InspectorTest.assert(!wasThrown, "Should not be an exception."); -
trunk/LayoutTests/http/tests/inspector/dom/disconnect-dom-tree-after-main-frame-navigation.html
r206130 r208246 31 31 32 32 // Force creation of child DOM trees. 33 mainFrame.childFrames[0].domTree; 34 mainFrame.childFrames[0].childFrames[0].domTree; 35 mainFrame.childFrames[0].childFrames[0].childFrames[0].domTree; 33 let childrenLevel1 = mainFrame.childFrameCollection.toArray(); 34 childrenLevel1[0].domTree; 35 36 let childrenLevel2 = childrenLevel1[0].childFrameCollection.toArray(); 37 childrenLevel2[0].domTree; 38 39 let childrenLevel3 = childrenLevel2[0].childFrameCollection.toArray(); 40 childrenLevel3[0].domTree; 36 41 37 42 instances = WebInspector.domTreeManager.retainedObjectsWithPrototype(WebInspector.DOMTree); -
trunk/LayoutTests/inspector/css/manager-preferredInspectorStyleSheetForFrame-expected.txt
r206133 r208246 2 2 3 3 4 PASS: Page should have a subframe. 4 5 5 6 == Running test suite: CSSManager.preferredInspectorStyleSheetForFrame -
trunk/LayoutTests/inspector/css/manager-preferredInspectorStyleSheetForFrame.html
r206133 r208246 7 7 { 8 8 let mainFrame = WebInspector.frameResourceManager.mainFrame; 9 let childFrame = mainFrame.childFrames[0]; 9 let childFrames = mainFrame.childFrameCollection.toArray(); 10 InspectorTest.expectEqual(childFrames.length, 1, "Page should have a subframe."); 10 11 11 12 let suite = InspectorTest.createAsyncSuite("CSSManager.preferredInspectorStyleSheetForFrame"); … … 65 66 InspectorTest.expectThat(event.data.styleSheet.origin === WebInspector.CSSStyleSheet.Type.Inspector, "Added StyleSheet origin should be 'inspector'."); 66 67 InspectorTest.expectThat(event.data.styleSheet.isInspectorStyleSheet(), "StyleSheet.isInspectorStyleSheet() should be true."); 67 InspectorTest.expectThat(event.data.styleSheet.parentFrame === childFrame , "Added StyleSheet frame should be a child frame.");68 InspectorTest.expectThat(event.data.styleSheet.parentFrame === childFrames[0], "Added StyleSheet frame should be a child frame."); 68 69 }); 69 70 70 WebInspector.cssStyleManager.preferredInspectorStyleSheetForFrame(childFrame , (styleSheet) => {71 WebInspector.cssStyleManager.preferredInspectorStyleSheetForFrame(childFrames[0], (styleSheet) => { 71 72 InspectorTest.expectThat(WebInspector.cssStyleManager.styleSheets.length === 2, "Should be two stylesheets."); 72 73 InspectorTest.expectThat(styleSheet.origin === WebInspector.CSSStyleSheet.Type.Inspector, "StyleSheet origin should be 'inspector'."); … … 84 85 InspectorTest.assert(false, "Should not create a new StyleSheet, should reuse the existing one"); 85 86 }); 86 WebInspector.cssStyleManager.preferredInspectorStyleSheetForFrame(childFrame , (styleSheet) => {87 WebInspector.cssStyleManager.preferredInspectorStyleSheetForFrame(childFrames[0], (styleSheet) => { 87 88 InspectorTest.expectThat(WebInspector.cssStyleManager.styleSheets.length === 2, "Should be two stylesheets."); 88 89 InspectorTest.expectThat(styleSheet.origin === WebInspector.CSSStyleSheet.Type.Inspector, "StyleSheet origin should be 'inspector'."); -
trunk/LayoutTests/inspector/dom/content-flow-list.html
r188059 r208246 17 17 function test() 18 18 { 19 let domTree = WebInspector.frameResourceManager.mainFrame.domTree; 20 19 21 function onRootDOMNodeInvalidated() 20 22 { 21 WebInspector.frameResourceManager.mainFrame.domTree.requestContentFlowList();23 domTree.requestContentFlowList(); 22 24 } 23 25 24 26 function onContentFlowWasAdded(event) 25 27 { 26 InspectorTest.expect That(event.data.flow.name ==="flow1", "ContentFlow was added");27 InspectorTest.expect That(WebInspector.frameResourceManager.mainFrame.domTree.flowsCount ===1, "Flow count is 1");28 InspectorTest.expectEqual(event.data.flow.name, "flow1", "ContentFlow was added"); 29 InspectorTest.expectEqual(domTree.contentFlowCollection.items.size, 1, "Flow count is 1"); 28 30 29 31 InspectorTest.evaluateInPage("removeFlow()"); … … 32 34 function onContentFlowWasRemoved(event) 33 35 { 34 InspectorTest.expect That(event.data.flow.name ==="flow1", "ContentFlow was removed");35 InspectorTest.expect That(WebInspector.frameResourceManager.mainFrame.domTree.flowsCount ===0, "Flow count is 0");36 InspectorTest.expectEqual(event.data.flow.name, "flow1", "ContentFlow was removed"); 37 InspectorTest.expectEqual(domTree.contentFlowCollection.items.size, 0, "Flow count is 0"); 36 38 InspectorTest.completeTest(); 37 39 } 38 40 39 41 WebInspector.Frame.addEventListener(WebInspector.Frame.Event.MainResourceDidChange, function() { 40 var domTree = WebInspector.frameResourceManager.mainFrame.domTree; 41 domTree.addEventListener(WebInspector.DOMTree.Event.RootDOMNodeInvalidated, onRootDOMNodeInvalidated, null); 42 domTree.addEventListener(WebInspector.DOMTree.Event.ContentFlowWasAdded, onContentFlowWasAdded, null); 43 domTree.addEventListener(WebInspector.DOMTree.Event.ContentFlowWasRemoved, onContentFlowWasRemoved, null); 42 domTree.addEventListener(WebInspector.DOMTree.Event.RootDOMNodeInvalidated, onRootDOMNodeInvalidated); 43 domTree.addEventListener(WebInspector.DOMTree.Event.ContentFlowWasAdded, onContentFlowWasAdded); 44 domTree.addEventListener(WebInspector.DOMTree.Event.ContentFlowWasRemoved, onContentFlowWasRemoved); 44 45 domTree.requestContentFlowList(); 45 46 }); -
trunk/LayoutTests/inspector/dom/highlightFrame-expected.txt
r189416 r208246 2 2 3 3 4 PASS: Page should have subframes. 4 5 5 6 == Running test suite: DOM.highlightFrame -
trunk/LayoutTests/inspector/dom/highlightFrame.html
r189416 r208246 6 6 function test() 7 7 { 8 InspectorTest.assert(WebInspector.frameResourceManager.mainFrame.childFrames.length === 2, "Page should have subframes."); 9 const mainFrame = WebInspector.frameResourceManager.mainFrame; 10 const childFrame1 = WebInspector.frameResourceManager.mainFrame.childFrames[0]; 11 const childFrame2 = WebInspector.frameResourceManager.mainFrame.childFrames[1]; 8 let suite = InspectorTest.createAsyncSuite("DOM.highlightFrame"); 9 10 let mainFrame = WebInspector.frameResourceManager.mainFrame; 11 let childFrames = mainFrame.childFrameCollection.toArray(); 12 InspectorTest.expectEqual(childFrames.length, 2, "Page should have subframes."); 12 13 13 14 function getHighlight(callback) { … … 26 27 } 27 28 28 let suite = InspectorTest.createAsyncSuite("DOM.highlightFrame");29 30 29 suite.addTestCase({ 31 30 name: "CheckEmptyHighlight", 32 31 description: "Should not be a highlight yet.", 33 test : (resolve, reject) =>{32 test(resolve, reject) { 34 33 getHighlight((highlightObjectPayload) => { 35 34 InspectorTest.expectThat(highlightObjectPayload.length === 0, "Should not be a highlight yet."); … … 42 41 name: "HighlightMainFrame", 43 42 description: "Main frame does not have an owner element, so there will be no highlight.", 44 test : (resolve, reject) =>{43 test(resolve, reject) { 45 44 DOMAgent.highlightFrame(mainFrame.id, undefined, undefined, (error) => { 46 45 getHighlight((highlightObjectPayload) => { … … 55 54 name: "HighlightChildFrame1", 56 55 description: "Should highlight child frame 1.", 57 test : (resolve, reject) =>{58 DOMAgent.highlightFrame(childFrame 1.id, undefined, undefined, (error) => {56 test(resolve, reject) { 57 DOMAgent.highlightFrame(childFrames[0].id, undefined, undefined, (error) => { 59 58 InspectorTest.assert(!error, "Should not have an error."); 60 59 dumpHighlight(resolve); … … 66 65 name: "HighlightChildFrame2", 67 66 description: "Should highlight child frame 2.", 68 test : (resolve, reject) =>{69 DOMAgent.highlightFrame(childFrame 2.id, undefined, undefined, (error) => {67 test(resolve, reject) { 68 DOMAgent.highlightFrame(childFrames[1].id, undefined, undefined, (error) => { 70 69 InspectorTest.assert(!error, "Should not have an error."); 71 70 dumpHighlight(resolve); … … 79 78 name: "BadFrameId", 80 79 description: "Bad frame id should cause an error.", 81 test : (resolve, reject) =>{80 test(resolve, reject) { 82 81 DOMAgent.highlightFrame("bad-frame-id", undefined, undefined, (error) => { 83 82 InspectorTest.expectThat(error, "Should produce an error."); -
trunk/LayoutTests/inspector/dom/highlightNode-expected.txt
r205035 r208246 2 2 3 3 4 PASS: Page should have a subframe. 4 5 5 6 == Running test suite: DOM.highlightNode -
trunk/LayoutTests/inspector/dom/highlightNode.html
r189416 r208246 6 6 function test() 7 7 { 8 InspectorTest.assert(WebInspector.frameResourceManager.mainFrame.childFrames.length === 1, "Page should have a subframe."); 9 const mainFrame = WebInspector.frameResourceManager.mainFrame; 10 const childFrame = WebInspector.frameResourceManager.mainFrame.childFrames[0]; 8 let suite = InspectorTest.createAsyncSuite("DOM.highlightNode"); 9 10 let mainFrame = WebInspector.frameResourceManager.mainFrame; 11 let childFrames = mainFrame.childFrameCollection.toArray(); 12 InspectorTest.expectEqual(childFrames.length, 1, "Page should have a subframe."); 13 11 14 const highlightConfig = { 12 15 showInfo: true, … … 27 30 function dumpHighlight(callback) { 28 31 getHighlight((highlightObjectPayload) => { 29 InspectorTest.expect That(highlightObjectPayload.length ===1, "Should be one highlighted node.");32 InspectorTest.expectEqual(highlightObjectPayload.length, 1, "Should be one highlighted node."); 30 33 InspectorTest.log("Highlighted Element Data: " + JSON.stringify(highlightObjectPayload[0].elementData)); 31 34 callback(); … … 37 40 let childFrameDocumentNodeId, childFrameTargetNode; 38 41 39 let suite = InspectorTest.createAsyncSuite("DOM.highlightNode");40 41 42 suite.addTestCase({ 42 43 name: "CheckEmptyHighlight", 43 44 description: "Should not be a highlight yet.", 44 test : (resolve, reject) =>{45 test(resolve, reject) { 45 46 getHighlight((highlightObjectPayload) => { 46 InspectorTest.expect That(highlightObjectPayload.length ===0, "Should not be a highlight yet.");47 InspectorTest.expectEqual(highlightObjectPayload.length, 0, "Should not be a highlight yet."); 47 48 resolve(); 48 49 }); … … 53 54 name: "MainFrameNodeViaNodeId", 54 55 description: "Should highlight a node in the main frame using node id.", 55 test : (resolve, reject) =>{56 test(resolve, reject) { 56 57 WebInspector.domTreeManager.querySelector(mainFrameDocumentNodeId, "#id-one", function(nodeId) { 57 58 mainFrameTargetNode = WebInspector.domTreeManager.nodeForId(nodeId); … … 67 68 name: "ChildFrameNodeViaNodeId", 68 69 description: "Should highlight a node in the child frame using node id.", 69 test : (resolve, reject) =>{70 test(resolve, reject) { 70 71 WebInspector.domTreeManager.querySelector(childFrameDocumentNodeId, "#id-one", function(nodeId) { 71 72 childFrameTargetNode = WebInspector.domTreeManager.nodeForId(nodeId); … … 81 82 name: "MainFrameNodeViaObjectId", 82 83 description: "Should highlight a node in the main frame using object id.", 83 test : (resolve, reject) =>{84 test(resolve, reject) { 84 85 WebInspector.RemoteObject.resolveNode(mainFrameTargetNode, "test", (remoteObject) => { 85 86 DOMAgent.highlightNode(highlightConfig, undefined, remoteObject.objectId, (error) => { … … 94 95 name: "ChildFrameNodeViaObjectId", 95 96 description: "Should highlight a node in the child frame using object id.", 96 test : (resolve, reject) =>{97 test(resolve, reject) { 97 98 WebInspector.RemoteObject.resolveNode(childFrameTargetNode, "test", (remoteObject) => { 98 99 DOMAgent.highlightNode(highlightConfig, undefined, remoteObject.objectId, (error) => { … … 109 110 name: "MissingNodeAndObjectIdShouldError", 110 111 description: "Missing identifiers should cause an error.", 111 test : (resolve, reject) =>{112 test(resolve, reject) { 112 113 DOMAgent.highlightNode(highlightConfig, undefined, undefined, (error) => { 113 114 InspectorTest.expectThat(error, "Should produce an error."); … … 121 122 name: "BadNodeId", 122 123 description: "Bad node id should cause an error.", 123 test : (resolve, reject) =>{124 test(resolve, reject) { 124 125 DOMAgent.highlightNode(highlightConfig, 9999999, undefined, (error) => { 125 126 InspectorTest.expectThat(error, "Should produce an error."); … … 133 134 name: "BadObjectId", 134 135 description: "Bad object id should cause an error.", 135 test : (resolve, reject) =>{136 test(resolve, reject) { 136 137 DOMAgent.highlightNode(highlightConfig, undefined, "bad-object-id", (error) => { 137 138 InspectorTest.expectThat(error, "Should produce an error."); … … 144 145 WebInspector.domTreeManager.requestDocument((documentNode) => { 145 146 mainFrameDocumentNodeId = documentNode.id; 146 RuntimeAgent.evaluate.invoke({expression: "document", objectGroup: "test", contextId: childFrame .pageExecutionContext.id}, (error, remoteObjectPayload) => {147 RuntimeAgent.evaluate.invoke({expression: "document", objectGroup: "test", contextId: childFrames[0].pageExecutionContext.id}, (error, remoteObjectPayload) => { 147 148 let remoteObject = WebInspector.RemoteObject.fromPayload(remoteObjectPayload) 148 149 remoteObject.pushNodeToFrontend((documentNodeId) => { -
trunk/LayoutTests/inspector/dom/highlightSelector-expected.txt
r205035 r208246 2 2 3 3 4 PASS: Page should have a subframe. 4 5 5 6 == Running test suite: DOM.highlightSelector -
trunk/LayoutTests/inspector/dom/highlightSelector.html
r205035 r208246 6 6 function test() 7 7 { 8 InspectorTest.assert(WebInspector.frameResourceManager.mainFrame.childFrames.length === 1, "Page should have a subframe."); 9 const mainFrameId = WebInspector.frameResourceManager.mainFrame.id; 10 const childFrameId = WebInspector.frameResourceManager.mainFrame.childFrames[0].id; 8 let suite = InspectorTest.createAsyncSuite("DOM.highlightSelector"); 9 10 let mainFrame = WebInspector.frameResourceManager.mainFrame; 11 let childFrames = mainFrame.childFrameCollection.toArray(); 12 InspectorTest.expectEqual(childFrames.length, 1, "Page should have a subframe."); 13 14 let mainFrameId = mainFrame.id; 15 let childFrameId = childFrames[0].id; 16 11 17 const highlightConfig = { 12 18 showInfo: true, … … 103 109 } 104 110 105 let suite = InspectorTest.createAsyncSuite("DOM.highlightSelector"); 106 107 for (let testcase of tests) { 108 let {name, frameId, selector, expectedElements, expectError} = testcase; 111 for (let {name, frameId, selector, expectedElements, expectError} of tests) { 109 112 suite.addTestCase({ 110 113 name, 111 test : (resolve, reject) =>{114 test(resolve, reject) { 112 115 InspectorTest.log("- Frame: " + displayNameForFrameId(frameId)); 113 116 InspectorTest.log("- Selector: " + selector); -
trunk/LayoutTests/inspector/model/frame-extra-scripts-expected.txt
r200065 r208246 1 1 CONSOLE MESSAGE: line 1: dynamically added script element 2 WebInspector.Frame.extraScript s.2 WebInspector.Frame.extraScriptCollection. 3 3 4 4 5 == Running test suite: WebInspector.Frame.extraScript s5 == Running test suite: WebInspector.Frame.extraScriptCollection 6 6 -- Running test case: FrameHasNoExtraScriptsYet 7 7 PASS: Main frame should have no dynamic scripts. -
trunk/LayoutTests/inspector/model/frame-extra-scripts.html
r206152 r208246 12 12 function test() 13 13 { 14 let suite = InspectorTest.createAsyncSuite("WebInspector.Frame.extraScripts"); 14 let suite = InspectorTest.createAsyncSuite("WebInspector.Frame.extraScriptCollection"); 15 16 let mainFrame = WebInspector.frameResourceManager.mainFrame; 15 17 16 18 suite.addTestCase({ … … 18 20 description: "No extra scripts yet.", 19 21 test(resolve, reject) { 20 let mainFrame = WebInspector.frameResourceManager.mainFrame; 21 InspectorTest.expectThat(mainFrame.extraScripts.length === 0, "Main frame should have no dynamic scripts."); 22 InspectorTest.expectEqual(mainFrame.extraScriptCollection.items.size, 0, "Main frame should have no dynamic scripts."); 22 23 resolve(); 23 24 } … … 32 33 InspectorTest.pass("ExtraScriptAdded event fired."); 33 34 InspectorTest.expectThat(event.data.script.dynamicallyAddedScriptElement, "Script should identify as dynamic."); 34 35 let mainFrame = WebInspector.frameResourceManager.mainFrame; 36 InspectorTest.expectThat(mainFrame.extraScripts.length === 1, "Main frame should have 1 dynamic script."); 35 InspectorTest.expectEqual(mainFrame.extraScriptCollection.items.size, 1, "Main frame should have 1 dynamic script."); 37 36 }) 38 37 .then(resolve, reject); … … 47 46 </head> 48 47 <body onload="runTest()"> 49 <p>WebInspector.Frame.extraScript s.</p>48 <p>WebInspector.Frame.extraScriptCollection.</p> 50 49 </body> 51 50 </html> -
trunk/Source/WebInspectorUI/ChangeLog
r208234 r208246 1 2016-11-01 Devin Rousso <dcrousso+webkit@gmail.com> 2 3 Web Inspector: Replace sublists inside DOM-related model objects with WI.Collection 4 https://bugs.webkit.org/show_bug.cgi?id=164098 5 6 Reviewed by Timothy Hatcher. 7 8 * UserInterface/Models/DOMTree.js: 9 * UserInterface/Models/Frame.js: 10 Add support for WebInspector.Collection. 11 12 * UserInterface/Models/Script.js: 13 (WebInspector.Script): 14 * UserInterface/Views/DebuggerSidebarPanel.js: 15 (WebInspector.DebuggerSidebarPanel.prototype._addResourcesRecursivelyForFrame): 16 * UserInterface/Views/FrameTreeElement.js: 17 (WebInspector.FrameTreeElement): 18 (WebInspector.FrameTreeElement.prototype.onpopulate): 19 * UserInterface/Views/OpenResourceDialog.js: 20 (WebInspector.OpenResourceDialog.prototype._addResourcesForFrame): 21 Use new functions defined by changing to WebInspector.Collection. 22 1 23 2016-11-01 Devin Rousso <dcrousso+webkit@gmail.com> 2 24 -
trunk/Source/WebInspectorUI/UserInterface/Models/Collection.js
r208012 r208246 113 113 WebInspector.Collection.TypeVerifier = { 114 114 Any: (object) => true, 115 ContentFlow: (object) => object instanceof WebInspector.ContentFlow, 115 116 Frame: (object) => object instanceof WebInspector.Frame, 116 117 Resource: (object) => object instanceof WebInspector.Resource, -
trunk/Source/WebInspectorUI/UserInterface/Models/DOMTree.js
r188993 r208246 34 34 this._rootDOMNode = null; 35 35 this._requestIdentifier = 0; 36 this._ flowMap = {};36 this._contentFlowCollection = new WebInspector.Collection(WebInspector.Collection.TypeVerifier.ContentFlow); 37 37 38 38 this._frame.addEventListener(WebInspector.Frame.Event.PageExecutionContextChanged, this._framePageExecutionContextChanged, this); … … 53 53 // Public 54 54 55 get frame() 56 { 57 return this._frame; 58 } 59 60 get flowMap() 61 { 62 return this._flowMap; 63 } 64 65 get flowsCount() 66 { 67 return Object.keys(this._flowMap).length; 68 } 55 get frame() { return this._frame; } 56 get contentFlowCollection() { return this._contentFlowCollection; } 69 57 70 58 disconnect() … … 264 252 265 253 // Assume that all the flows have been removed. 266 var deletedFlows = {}; 267 for (var flowId in this._flowMap) 268 deletedFlows[flowId] = this._flowMap[flowId]; 269 270 var newFlows = []; 271 272 var flows = event.data.flows; 273 for (var i = 0; i < flows.length; ++i) { 274 var flow = flows[i]; 254 let deletedFlows = new Set(this._contentFlowCollection.items); 255 let newFlows = new Set; 256 for (let flow of event.data.flows) { 275 257 // All the flows received from WebKit are part of the same document. 276 258 console.assert(this._isContentFlowInCurrentDocument(flow)); 277 259 278 var flowId = flow.id; 279 if (this._flowMap.hasOwnProperty(flowId)) { 260 if (this._contentFlowCollection.items.has(flow)) { 280 261 // Remove the flow name from the deleted list. 281 console.assert(deletedFlows.has OwnProperty(flowId));282 delete deletedFlows[flowId];262 console.assert(deletedFlows.has(flow)); 263 deletedFlows.delete(flow); 283 264 } else { 284 this._ flowMap[flowId] = flow;285 newFlows. push(flow);265 this._contentFlowCollection.add(flow); 266 newFlows.add(flow); 286 267 } 287 268 } 288 269 289 for (var flowId in deletedFlows) { 290 delete this._flowMap[flowId]; 291 } 270 for (let flow of deletedFlows) 271 this._contentFlowCollection.remove(flow); 292 272 293 273 // Send update events to listeners. 294 274 295 for ( var flowId indeletedFlows)296 this.dispatchEventToListeners(WebInspector.DOMTree.Event.ContentFlowWasRemoved, {flow : deletedFlows[flowId]});297 298 for ( var i = 0; i < newFlows.length; ++i)299 this.dispatchEventToListeners(WebInspector.DOMTree.Event.ContentFlowWasAdded, {flow : newFlows[i]});275 for (let flow of deletedFlows) 276 this.dispatchEventToListeners(WebInspector.DOMTree.Event.ContentFlowWasRemoved, {flow}); 277 278 for (let flow of newFlows) 279 this.dispatchEventToListeners(WebInspector.DOMTree.Event.ContentFlowWasAdded, {flow}); 300 280 } 301 281 302 282 _contentFlowWasAdded(event) 303 283 { 304 varflow = event.data.flow;284 let flow = event.data.flow; 305 285 if (!this._isContentFlowInCurrentDocument(flow)) 306 286 return; 307 287 308 var flowId = flow.id; 309 console.assert(!this._flowMap.hasOwnProperty(flowId)); 310 this._flowMap[flowId] = flow; 288 this._contentFlowCollection.add(flow); 311 289 312 290 this.dispatchEventToListeners(WebInspector.DOMTree.Event.ContentFlowWasAdded, {flow}); … … 315 293 _contentFlowWasRemoved(event) 316 294 { 317 varflow = event.data.flow;295 let flow = event.data.flow; 318 296 if (!this._isContentFlowInCurrentDocument(flow)) 319 297 return; 320 298 321 var flowId = flow.id; 322 console.assert(this._flowMap.hasOwnProperty(flowId)); 323 delete this._flowMap[flowId]; 299 this._contentFlowCollection.remove(flow); 324 300 325 301 this.dispatchEventToListeners(WebInspector.DOMTree.Event.ContentFlowWasRemoved, {flow}); -
trunk/Source/WebInspectorUI/UserInterface/Models/Frame.js
r208012 r208246 39 39 this._resourceCollection = new WebInspector.ResourceCollection; 40 40 this._provisionalResourceCollection = new WebInspector.ResourceCollection; 41 this._extraScript s = [];42 43 this._childFrame s = [];41 this._extraScriptCollection = new WebInspector.Collection(WebInspector.Collection.TypeVerifier.Script); 42 43 this._childFrameCollection = new WebInspector.Collection(WebInspector.Collection.TypeVerifier.Frame); 44 44 this._childFrameIdentifierMap = new Map; 45 45 … … 58 58 59 59 get resourceCollection() { return this._resourceCollection; } 60 get extraScriptCollection() { return this._extraScriptCollection; } 61 get childFrameCollection() { return this._childFrameCollection; } 60 62 61 63 initialize(name, securityOrigin, loaderIdentifier, mainResource) … … 131 133 this._resourceCollection = this._provisionalResourceCollection; 132 134 this._provisionalResourceCollection = new WebInspector.ResourceCollection; 133 this._extraScript s = [];135 this._extraScriptCollection.clear(); 134 136 135 137 this.clearExecutionContexts(true); … … 236 238 { 237 239 return this._parentFrame; 238 }239 240 get childFrames()241 {242 return this._childFrames;243 240 } 244 241 … … 307 304 frame._parentFrame.removeChildFrame(frame); 308 305 309 this._childFrame s.push(frame);306 this._childFrameCollection.add(frame); 310 307 this._childFrameIdentifierMap.set(frame._id, frame); 311 308 … … 319 316 console.assert(frameOrFrameId); 320 317 321 if (frameOrFrameId instanceof WebInspector.Frame) 322 var childFrameId = frameOrFrameId._id; 323 else 324 var childFrameId = frameOrFrameId; 318 let childFrameId = frameOrFrameId; 319 if (childFrameId instanceof WebInspector.Frame) 320 childFrameId = frameOrFrameId._id; 325 321 326 322 // Fetch the frame by id even if we were passed a WebInspector.Frame. 327 // We do this incase the WebInspector.Frame is a new object that isn't in _childFrames,328 // but the id is a valid child frame.329 varchildFrame = this.childFrameForIdentifier(childFrameId);323 // We do this incase the WebInspector.Frame is a new object that isn't 324 // in _childFrameCollection, but the id is a valid child frame. 325 let childFrame = this.childFrameForIdentifier(childFrameId); 330 326 console.assert(childFrame instanceof WebInspector.Frame); 331 327 if (!(childFrame instanceof WebInspector.Frame)) … … 334 330 console.assert(childFrame.parentFrame === this); 335 331 336 this._childFrame s.remove(childFrame);332 this._childFrameCollection.remove(childFrame); 337 333 this._childFrameIdentifierMap.delete(childFrame._id); 338 334 … … 346 342 this._detachFromParentFrame(); 347 343 348 for (let childFrame of this._childFrame s)344 for (let childFrame of this._childFrameCollection.items) 349 345 childFrame.removeAllChildFrames(); 350 346 351 this._childFrame s = [];347 this._childFrameCollection.clear(); 352 348 this._childFrameIdentifierMap.clear(); 353 349 … … 362 358 363 359 // Check the main resources of the child frames for the requested URL. 364 for ( var i = 0; i < this._childFrames.length; ++i) {365 resource = this._childFrames[i].mainResource;360 for (let childFrame of this._childFrameCollection.items) { 361 resource = childFrame.mainResource; 366 362 if (resource.url === url) 367 363 return resource; … … 372 368 373 369 // Recursively search resources of child frames. 374 for ( var i = 0; i < this._childFrames.length; ++i) {375 resource = this._childFrames[i].resourceForURL(url, true);370 for (let childFrame of this._childFrameCollection.items) { 371 resource = childFrame.resourceForURL(url, true); 376 372 if (resource) 377 373 return resource; … … 409 405 } 410 406 411 removeResource(resource OrURL)407 removeResource(resource) 412 408 { 413 409 // This does not remove provisional resources. 414 410 415 var resource = this._resourceCollection.remove(resourceOrURL); 416 if (!resource) 417 return; 411 this._resourceCollection.remove(resource); 418 412 419 413 this._disassociateWithResource(resource); … … 438 432 } 439 433 440 get extraScripts()441 {442 return this._extraScripts;443 }444 445 434 addExtraScript(script) 446 435 { 447 this._extraScript s.push(script);436 this._extraScriptCollection.add(script); 448 437 449 438 this.dispatchEventToListeners(WebInspector.Frame.Event.ExtraScriptAdded, {script}); -
trunk/Source/WebInspectorUI/UserInterface/Models/Script.js
r206654 r208246 53 53 this._dynamicallyAddedScriptElement = true; 54 54 documentResource.parentFrame.addExtraScript(this); 55 this._dynamicallyAddedScriptElementNumber = documentResource.parentFrame.extraScript s.length;55 this._dynamicallyAddedScriptElementNumber = documentResource.parentFrame.extraScriptCollection.items.size; 56 56 } else if (this._resource) 57 57 this._resource.associateWithScript(this); -
trunk/Source/WebInspectorUI/UserInterface/Views/DebuggerSidebarPanel.js
r208012 r208246 423 423 this._addResource(resource); 424 424 425 for ( var childFrame of frame.childFrames)425 for (let childFrame of frame.childFrameCollection.items) 426 426 this._addResourcesRecursivelyForFrame(childFrame); 427 427 } -
trunk/Source/WebInspectorUI/UserInterface/Views/FrameTreeElement.js
r208012 r208246 52 52 this.registerFolderizeSettings("frames", WebInspector.UIString("Frames"), 53 53 (representedObject) => representedObject instanceof WebInspector.Frame, 54 () => this.frame.childFrame s.length,54 () => this.frame.childFrameCollection.items.size, 55 55 WebInspector.FrameTreeElement 56 56 ); … … 58 58 this.registerFolderizeSettings("flows", WebInspector.UIString("Flows"), 59 59 (representedObject) => representedObject instanceof WebInspector.ContentFlow, 60 () => this.frame.domTree. flowsCount,60 () => this.frame.domTree.contentFlowCollection.items.size, 61 61 WebInspector.ContentFlowTreeElement 62 62 ); … … 64 64 this.registerFolderizeSettings("extra-scripts", WebInspector.UIString("Extra Scripts"), 65 65 (representedObject) => representedObject instanceof WebInspector.Script && representedObject.dynamicallyAddedScriptElement, 66 () => this.frame.extraScript s.length,66 () => this.frame.extraScriptCollection.items.size, 67 67 WebInspector.ScriptTreeElement 68 68 ); … … 179 179 this.prepareToPopulate(); 180 180 181 for ( var i = 0; i < this._frame.childFrames.length; ++i)182 this.addChildForRepresentedObject( this._frame.childFrames[i]);181 for (let frame of this._frame.childFrameCollection.items) 182 this.addChildForRepresentedObject(frame); 183 183 184 184 for (let resource of this._frame.resourceCollection.items) … … 192 192 } 193 193 194 var flowMap = this._frame.domTree.flowMap; 195 for (var flowKey in flowMap) 196 this.addChildForRepresentedObject(flowMap[flowKey]); 197 198 for (let extraScript of this._frame.extraScripts) { 194 for (let contentFlow of this._frame.domTree.contentFlowCollection.items) 195 this.addChildForRepresentedObject(contentFlow); 196 197 for (let extraScript of this._frame.extraScriptCollection.items) { 199 198 if (extraScript.sourceURL || extraScript.sourceMappingURL) 200 199 this.addChildForRepresentedObject(extraScript); -
trunk/Source/WebInspectorUI/UserInterface/Views/OpenResourceDialog.js
r208012 r208246 273 273 this._addResource(resource, suppressFilterUpdate); 274 274 275 frames = frames.concat(currentFrame.childFrame s);275 frames = frames.concat(currentFrame.childFrameCollection.toArray()); 276 276 } 277 277
Note: See TracChangeset
for help on using the changeset viewer.