OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2011 Google Inc. All rights reserved. | 2 * Copyright (C) 2011 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 16 matching lines...) Expand all Loading... |
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
29 */ | 29 */ |
30 | 30 |
31 /** | 31 /** |
32 * @unrestricted | 32 * @unrestricted |
33 */ | 33 */ |
34 SDK.ResourceTreeModel = class extends SDK.SDKModel { | 34 SDK.ResourceTreeModel = class extends SDK.SDKModel { |
35 /** | 35 /** |
36 * @param {!SDK.Target} target | 36 * @param {!SDK.Target} target |
| 37 * @param {!Protocol.Dispatcher} dispatcher |
37 */ | 38 */ |
38 constructor(target) { | 39 constructor(target, dispatcher) { |
39 super(target); | 40 super(target, dispatcher); |
40 | 41 |
41 var networkManager = target.model(SDK.NetworkManager); | 42 var networkManager = target.model(SDK.NetworkManager); |
42 if (networkManager) { | 43 if (networkManager) { |
43 networkManager.addEventListener(SDK.NetworkManager.Events.RequestFinished,
this._onRequestFinished, this); | 44 networkManager.addEventListener(SDK.NetworkManager.Events.RequestFinished,
this._onRequestFinished, this); |
44 networkManager.addEventListener( | 45 networkManager.addEventListener( |
45 SDK.NetworkManager.Events.RequestUpdateDropped, this._onRequestUpdateD
ropped, this); | 46 SDK.NetworkManager.Events.RequestUpdateDropped, this._onRequestUpdateD
ropped, this); |
46 } | 47 } |
47 | 48 |
48 this._agent = target.pageAgent(); | 49 this._agent = dispatcher.pageAgent(); |
49 this._agent.enable(); | 50 this._agent.enable(); |
50 this._securityOriginManager = target.model(SDK.SecurityOriginManager); | 51 this._securityOriginManager = target.model(SDK.SecurityOriginManager); |
51 | 52 |
52 this._fetchResourceTree(); | 53 this._fetchResourceTree(); |
53 | 54 |
54 target.registerPageDispatcher(new SDK.PageDispatcher(this)); | 55 dispatcher.registerPageDispatcher(new SDK.PageDispatcher(this)); |
55 | 56 |
56 this._pendingReloadOptions = null; | 57 this._pendingReloadOptions = null; |
57 this._reloadSuspensionCount = 0; | 58 this._reloadSuspensionCount = 0; |
58 this._isInterstitialShowing = false; | 59 this._isInterstitialShowing = false; |
| 60 |
| 61 var autoAttachSetting = Common.settings.moduleSetting('autoAttachToCreatedPa
ges'); |
| 62 autoAttachSetting.addChangeListener(() => this._agent.setAutoAttachToCreated
Pages(autoAttachSetting.get())); |
| 63 if (autoAttachSetting.get()) |
| 64 this._agent.setAutoAttachToCreatedPages(true); |
59 } | 65 } |
60 | 66 |
61 /** | 67 /** |
62 * @return {!Array.<!SDK.ResourceTreeFrame>} | 68 * @return {!Array.<!SDK.ResourceTreeFrame>} |
63 */ | 69 */ |
64 static frames() { | 70 static frames() { |
65 var result = []; | 71 var result = []; |
66 for (var resourceTreeModel of SDK.targetManager.models(SDK.ResourceTreeModel
)) | 72 for (var resourceTreeModel of SDK.targetManager.models(SDK.ResourceTreeModel
)) |
67 result = result.concat(resourceTreeModel._frames.valuesArray()); | 73 result = result.concat(resourceTreeModel._frames.valuesArray()); |
68 return result; | 74 return result; |
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
261 var frameId = event.data.frameId; | 267 var frameId = event.data.frameId; |
262 var frame = this._frames.get(frameId); | 268 var frame = this._frames.get(frameId); |
263 if (!frame) | 269 if (!frame) |
264 return; | 270 return; |
265 | 271 |
266 var url = event.data.url; | 272 var url = event.data.url; |
267 if (frame._resourcesMap[url]) | 273 if (frame._resourcesMap[url]) |
268 return; | 274 return; |
269 | 275 |
270 var resource = new SDK.Resource( | 276 var resource = new SDK.Resource( |
271 this, null, url, frame.url, frameId, event.data.loaderId, Common.resourc
eTypes[event.data.resourceType], | 277 this, this._agent, null, url, frame.url, frameId, event.data.loaderId, |
272 event.data.mimeType, event.data.lastModified, null); | 278 Common.resourceTypes[event.data.resourceType], event.data.mimeType, even
t.data.lastModified, null); |
273 frame.addResource(resource); | 279 frame.addResource(resource); |
274 } | 280 } |
275 | 281 |
276 /** | 282 /** |
277 * @param {!Protocol.Page.FrameId} frameId | 283 * @param {!Protocol.Page.FrameId} frameId |
278 * @return {!SDK.ResourceTreeFrame} | 284 * @return {!SDK.ResourceTreeFrame} |
279 */ | 285 */ |
280 frameForId(frameId) { | 286 frameForId(frameId) { |
281 return this._frames.get(frameId); | 287 return this._frames.get(frameId); |
282 } | 288 } |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
337 * @param {string} url | 343 * @param {string} url |
338 * @param {!Common.ResourceType} type | 344 * @param {!Common.ResourceType} type |
339 * @param {string} mimeType | 345 * @param {string} mimeType |
340 * @param {?number} lastModifiedTime | 346 * @param {?number} lastModifiedTime |
341 * @param {?number} contentSize | 347 * @param {?number} contentSize |
342 * @return {!SDK.Resource} | 348 * @return {!SDK.Resource} |
343 */ | 349 */ |
344 _createResourceFromFramePayload(frame, url, type, mimeType, lastModifiedTime,
contentSize) { | 350 _createResourceFromFramePayload(frame, url, type, mimeType, lastModifiedTime,
contentSize) { |
345 var lastModified = typeof lastModifiedTime === 'number' ? new Date(lastModif
iedTime * 1000) : null; | 351 var lastModified = typeof lastModifiedTime === 'number' ? new Date(lastModif
iedTime * 1000) : null; |
346 return new SDK.Resource( | 352 return new SDK.Resource( |
347 this, null, url, frame.url, frame.id, frame.loaderId, type, mimeType, la
stModified, contentSize); | 353 this, this._agent, null, url, frame.url, frame.id, frame.loaderId, type,
mimeType, lastModified, contentSize); |
348 } | 354 } |
349 | 355 |
350 suspendReload() { | 356 suspendReload() { |
351 this._reloadSuspensionCount++; | 357 this._reloadSuspensionCount++; |
352 } | 358 } |
353 | 359 |
354 resumeReload() { | 360 resumeReload() { |
355 this._reloadSuspensionCount--; | 361 this._reloadSuspensionCount--; |
356 console.assert(this._reloadSuspensionCount >= 0, 'Unbalanced call to Resourc
eTreeModel.resumeReload()'); | 362 console.assert(this._reloadSuspensionCount >= 0, 'Unbalanced call to Resourc
eTreeModel.resumeReload()'); |
357 if (!this._reloadSuspensionCount && this._pendingReloadOptions) | 363 if (!this._reloadSuspensionCount && this._pendingReloadOptions) |
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
471 var origin = frame.securityOrigin; | 477 var origin = frame.securityOrigin; |
472 if (!origin) | 478 if (!origin) |
473 continue; | 479 continue; |
474 securityOrigins.add(origin); | 480 securityOrigins.add(origin); |
475 if (frame.isMainFrame()) | 481 if (frame.isMainFrame()) |
476 mainSecurityOrigin = origin; | 482 mainSecurityOrigin = origin; |
477 } | 483 } |
478 this._securityOriginManager.updateSecurityOrigins(securityOrigins); | 484 this._securityOriginManager.updateSecurityOrigins(securityOrigins); |
479 this._securityOriginManager.setMainSecurityOrigin(mainSecurityOrigin || ''); | 485 this._securityOriginManager.setMainSecurityOrigin(mainSecurityOrigin || ''); |
480 } | 486 } |
| 487 |
| 488 requestAppBanner() { |
| 489 this._agent.requestAppBanner(); |
| 490 } |
481 }; | 491 }; |
482 | 492 |
483 SDK.SDKModel.register(SDK.ResourceTreeModel, SDK.Target.Capability.DOM, true); | 493 SDK.SDKModel.register(SDK.ResourceTreeModel, SDK.Target.Capability.DOM, true); |
484 | 494 |
485 /** @enum {symbol} */ | 495 /** @enum {symbol} */ |
486 SDK.ResourceTreeModel.Events = { | 496 SDK.ResourceTreeModel.Events = { |
487 FrameAdded: Symbol('FrameAdded'), | 497 FrameAdded: Symbol('FrameAdded'), |
488 FrameNavigated: Symbol('FrameNavigated'), | 498 FrameNavigated: Symbol('FrameNavigated'), |
489 FrameDetached: Symbol('FrameDetached'), | 499 FrameDetached: Symbol('FrameDetached'), |
490 FrameResized: Symbol('FrameResized'), | 500 FrameResized: Symbol('FrameResized'), |
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
674 /** | 684 /** |
675 * @param {!SDK.NetworkRequest} request | 685 * @param {!SDK.NetworkRequest} request |
676 */ | 686 */ |
677 _addRequest(request) { | 687 _addRequest(request) { |
678 var resource = this._resourcesMap[request.url()]; | 688 var resource = this._resourcesMap[request.url()]; |
679 if (resource && resource.request === request) { | 689 if (resource && resource.request === request) { |
680 // Already in the tree, we just got an extra update. | 690 // Already in the tree, we just got an extra update. |
681 return; | 691 return; |
682 } | 692 } |
683 resource = new SDK.Resource( | 693 resource = new SDK.Resource( |
684 this._model, request, request.url(), request.documentURL, request.frameI
d, request.loaderId, | 694 this._model, this._model._agent, request, request.url(), request.documen
tURL, request.frameId, request.loaderId, |
685 request.resourceType(), request.mimeType, null, null); | 695 request.resourceType(), request.mimeType, null, null); |
686 this._resourcesMap[resource.url] = resource; | 696 this._resourcesMap[resource.url] = resource; |
687 this._model.dispatchEventToListeners(SDK.ResourceTreeModel.Events.ResourceAd
ded, resource); | 697 this._model.dispatchEventToListeners(SDK.ResourceTreeModel.Events.ResourceAd
ded, resource); |
688 } | 698 } |
689 | 699 |
690 /** | 700 /** |
691 * @return {!Array.<!SDK.Resource>} | 701 * @return {!Array.<!SDK.Resource>} |
692 */ | 702 */ |
693 resources() { | 703 resources() { |
694 var result = []; | 704 var result = []; |
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
883 this._resourceTreeModel.dispatchEventToListeners(SDK.ResourceTreeModel.Event
s.InterstitialHidden); | 893 this._resourceTreeModel.dispatchEventToListeners(SDK.ResourceTreeModel.Event
s.InterstitialHidden); |
884 } | 894 } |
885 | 895 |
886 /** | 896 /** |
887 * @override | 897 * @override |
888 */ | 898 */ |
889 navigationRequested() { | 899 navigationRequested() { |
890 // Frontend is not interested in when navigations are requested. | 900 // Frontend is not interested in when navigations are requested. |
891 } | 901 } |
892 }; | 902 }; |
OLD | NEW |