OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 /** @typedef {!{ | 4 /** @typedef {!{ |
5 rect: !Protocol.DOM.Rect, | 5 rect: !Protocol.DOM.Rect, |
6 snapshot: !SDK.PaintProfilerSnapshot | 6 snapshot: !SDK.PaintProfilerSnapshot |
7 }} | 7 }} |
8 */ | 8 */ |
9 SDK.SnapshotWithRect; | 9 SDK.SnapshotWithRect; |
10 | 10 |
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
143 SDK.LayerTreeBase = class { | 143 SDK.LayerTreeBase = class { |
144 /** | 144 /** |
145 * @param {?SDK.Target} target | 145 * @param {?SDK.Target} target |
146 */ | 146 */ |
147 constructor(target) { | 147 constructor(target) { |
148 this._target = target; | 148 this._target = target; |
149 this._domModel = target ? SDK.DOMModel.fromTarget(target) : null; | 149 this._domModel = target ? SDK.DOMModel.fromTarget(target) : null; |
150 this._layersById = {}; | 150 this._layersById = {}; |
151 this._root = null; | 151 this._root = null; |
152 this._contentRoot = null; | 152 this._contentRoot = null; |
153 /** @type Map<number, ?SDK.DOMNode> */ | 153 /** @type {!Map<number, ?SDK.DOMNode>} */ |
154 this._backendNodeIdToNode = new Map(); | 154 this._backendNodeIdToNode = new Map(); |
155 } | 155 } |
156 | 156 |
157 /** | 157 /** |
158 * @return {?SDK.Target} | 158 * @return {?SDK.Target} |
159 */ | 159 */ |
160 target() { | 160 target() { |
161 return this._target; | 161 return this._target; |
162 } | 162 } |
163 | 163 |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
210 * @return {?SDK.Layer} | 210 * @return {?SDK.Layer} |
211 */ | 211 */ |
212 layerById(id) { | 212 layerById(id) { |
213 return this._layersById[id] || null; | 213 return this._layersById[id] || null; |
214 } | 214 } |
215 | 215 |
216 /** | 216 /** |
217 * @param {!Set<number>} requestedNodeIds | 217 * @param {!Set<number>} requestedNodeIds |
218 * @param {function()} callback | 218 * @param {function()} callback |
219 */ | 219 */ |
220 _resolveBackendNodeIds(requestedNodeIds, callback) { | 220 resolveBackendNodeIds(requestedNodeIds, callback) { |
221 if (!requestedNodeIds.size || !this._domModel) { | 221 if (!requestedNodeIds.size || !this._domModel) { |
222 callback(); | 222 callback(); |
223 return; | 223 return; |
224 } | 224 } |
225 if (this._domModel) | 225 if (this._domModel) |
226 this._domModel.pushNodesByBackendIdsToFrontend(requestedNodeIds, populateB
ackendNodeMap.bind(this)); | 226 this._domModel.pushNodesByBackendIdsToFrontend(requestedNodeIds, populateB
ackendNodeMap.bind(this)); |
227 | 227 |
228 /** | 228 /** |
229 * @this {SDK.LayerTreeBase} | 229 * @this {SDK.LayerTreeBase} |
230 * @param {?Map<number, ?SDK.DOMNode>} nodesMap | 230 * @param {?Map<number, ?SDK.DOMNode>} nodesMap |
231 */ | 231 */ |
232 function populateBackendNodeMap(nodesMap) { | 232 function populateBackendNodeMap(nodesMap) { |
233 if (nodesMap) { | 233 if (nodesMap) { |
234 for (var nodeId of nodesMap.keysArray()) | 234 for (var nodeId of nodesMap.keysArray()) |
235 this._backendNodeIdToNode.set(nodeId, nodesMap.get(nodeId) || null); | 235 this._backendNodeIdToNode.set(nodeId, nodesMap.get(nodeId) || null); |
236 } | 236 } |
237 callback(); | 237 callback(); |
238 } | 238 } |
239 } | 239 } |
240 | 240 |
241 /** | 241 /** |
| 242 * @return {!Map<number, ?SDK.DOMNode>} |
| 243 */ |
| 244 backendNodeIdToNode() { |
| 245 return this._backendNodeIdToNode; |
| 246 } |
| 247 |
| 248 /** |
242 * @param {!{width: number, height: number}} viewportSize | 249 * @param {!{width: number, height: number}} viewportSize |
243 */ | 250 */ |
244 setViewportSize(viewportSize) { | 251 setViewportSize(viewportSize) { |
245 this._viewportSize = viewportSize; | 252 this._viewportSize = viewportSize; |
246 } | 253 } |
247 | 254 |
248 /** | 255 /** |
249 * @return {!{width: number, height: number}|undefined} | 256 * @return {!{width: number, height: number}|undefined} |
250 */ | 257 */ |
251 viewportSize() { | 258 viewportSize() { |
252 return this._viewportSize; | 259 return this._viewportSize; |
253 } | 260 } |
254 | 261 |
255 /** | 262 /** |
256 * @param {number} id | 263 * @param {number} id |
257 * @return {?SDK.DOMNode} | 264 * @return {?SDK.DOMNode} |
258 */ | 265 */ |
259 _nodeForId(id) { | 266 _nodeForId(id) { |
260 return this._domModel ? this._domModel.nodeForId(id) : null; | 267 return this._domModel ? this._domModel.nodeForId(id) : null; |
261 } | 268 } |
262 }; | 269 }; |
OLD | NEW |