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 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
48 this._agent = target.pageAgent(); | 48 this._agent = target.pageAgent(); |
49 this._agent.enable(); | 49 this._agent.enable(); |
50 this._securityOriginManager = securityOriginManager; | 50 this._securityOriginManager = securityOriginManager; |
51 | 51 |
52 this._fetchResourceTree(); | 52 this._fetchResourceTree(); |
53 | 53 |
54 target.registerPageDispatcher(new WebInspector.PageDispatcher(this)); | 54 target.registerPageDispatcher(new WebInspector.PageDispatcher(this)); |
55 | 55 |
56 this._pendingReloadOptions = null; | 56 this._pendingReloadOptions = null; |
57 this._reloadSuspensionCount = 0; | 57 this._reloadSuspensionCount = 0; |
58 } | 58 }; |
59 | 59 |
60 /** @enum {symbol} */ | 60 /** @enum {symbol} */ |
61 WebInspector.ResourceTreeModel.Events = { | 61 WebInspector.ResourceTreeModel.Events = { |
62 FrameAdded: Symbol("FrameAdded"), | 62 FrameAdded: Symbol("FrameAdded"), |
63 FrameNavigated: Symbol("FrameNavigated"), | 63 FrameNavigated: Symbol("FrameNavigated"), |
64 FrameDetached: Symbol("FrameDetached"), | 64 FrameDetached: Symbol("FrameDetached"), |
65 FrameResized: Symbol("FrameResized"), | 65 FrameResized: Symbol("FrameResized"), |
66 FrameWillNavigate: Symbol("FrameWillNavigate"), | 66 FrameWillNavigate: Symbol("FrameWillNavigate"), |
67 MainFrameNavigated: Symbol("MainFrameNavigated"), | 67 MainFrameNavigated: Symbol("MainFrameNavigated"), |
68 ResourceAdded: Symbol("ResourceAdded"), | 68 ResourceAdded: Symbol("ResourceAdded"), |
69 WillLoadCachedResources: Symbol("WillLoadCachedResources"), | 69 WillLoadCachedResources: Symbol("WillLoadCachedResources"), |
70 CachedResourcesLoaded: Symbol("CachedResourcesLoaded"), | 70 CachedResourcesLoaded: Symbol("CachedResourcesLoaded"), |
71 DOMContentLoaded: Symbol("DOMContentLoaded"), | 71 DOMContentLoaded: Symbol("DOMContentLoaded"), |
72 Load: Symbol("Load"), | 72 Load: Symbol("Load"), |
73 PageReloadRequested: Symbol("PageReloadRequested"), | 73 PageReloadRequested: Symbol("PageReloadRequested"), |
74 WillReloadPage: Symbol("WillReloadPage"), | 74 WillReloadPage: Symbol("WillReloadPage"), |
75 ScreencastFrame: Symbol("ScreencastFrame"), | 75 ScreencastFrame: Symbol("ScreencastFrame"), |
76 ScreencastVisibilityChanged: Symbol("ScreencastVisibilityChanged"), | 76 ScreencastVisibilityChanged: Symbol("ScreencastVisibilityChanged"), |
77 ColorPicked: Symbol("ColorPicked"), | 77 ColorPicked: Symbol("ColorPicked"), |
78 InterstitialShown: Symbol("InterstitialShown"), | 78 InterstitialShown: Symbol("InterstitialShown"), |
79 InterstitialHidden: Symbol("InterstitialHidden") | 79 InterstitialHidden: Symbol("InterstitialHidden") |
80 } | 80 }; |
81 | 81 |
82 /** | 82 /** |
83 * @param {!WebInspector.Target} target | 83 * @param {!WebInspector.Target} target |
84 * @return {?WebInspector.ResourceTreeModel} | 84 * @return {?WebInspector.ResourceTreeModel} |
85 */ | 85 */ |
86 WebInspector.ResourceTreeModel.fromTarget = function(target) | 86 WebInspector.ResourceTreeModel.fromTarget = function(target) |
87 { | 87 { |
88 return /** @type {?WebInspector.ResourceTreeModel} */ (target.model(WebInspe
ctor.ResourceTreeModel)); | 88 return /** @type {?WebInspector.ResourceTreeModel} */ (target.model(WebInspe
ctor.ResourceTreeModel)); |
89 } | 89 }; |
90 | 90 |
91 /** | 91 /** |
92 * @return {!Array.<!WebInspector.ResourceTreeFrame>} | 92 * @return {!Array.<!WebInspector.ResourceTreeFrame>} |
93 */ | 93 */ |
94 WebInspector.ResourceTreeModel.frames = function() | 94 WebInspector.ResourceTreeModel.frames = function() |
95 { | 95 { |
96 var result = []; | 96 var result = []; |
97 for (var target of WebInspector.targetManager.targets(WebInspector.Target.Ca
pability.DOM)) | 97 for (var target of WebInspector.targetManager.targets(WebInspector.Target.Ca
pability.DOM)) |
98 result = result.concat(WebInspector.ResourceTreeModel.fromTarget(target)
._frames.valuesArray()); | 98 result = result.concat(WebInspector.ResourceTreeModel.fromTarget(target)
._frames.valuesArray()); |
99 return result; | 99 return result; |
100 } | 100 }; |
101 | 101 |
102 /** | 102 /** |
103 * @param {string} url | 103 * @param {string} url |
104 * @return {?WebInspector.Resource} | 104 * @return {?WebInspector.Resource} |
105 */ | 105 */ |
106 WebInspector.ResourceTreeModel.resourceForURL = function(url) | 106 WebInspector.ResourceTreeModel.resourceForURL = function(url) |
107 { | 107 { |
108 for (var target of WebInspector.targetManager.targets(WebInspector.Target.Ca
pability.DOM)) { | 108 for (var target of WebInspector.targetManager.targets(WebInspector.Target.Ca
pability.DOM)) { |
109 var mainFrame = WebInspector.ResourceTreeModel.fromTarget(target).mainFr
ame; | 109 var mainFrame = WebInspector.ResourceTreeModel.fromTarget(target).mainFr
ame; |
110 var result = mainFrame ? mainFrame.resourceForURL(url) : null; | 110 var result = mainFrame ? mainFrame.resourceForURL(url) : null; |
111 if (result) | 111 if (result) |
112 return result; | 112 return result; |
113 } | 113 } |
114 return null; | 114 return null; |
115 } | 115 }; |
116 | 116 |
117 WebInspector.ResourceTreeModel.prototype = { | 117 WebInspector.ResourceTreeModel.prototype = { |
118 _fetchResourceTree: function() | 118 _fetchResourceTree: function() |
119 { | 119 { |
120 /** @type {!Map<string, !WebInspector.ResourceTreeFrame>} */ | 120 /** @type {!Map<string, !WebInspector.ResourceTreeFrame>} */ |
121 this._frames = new Map(); | 121 this._frames = new Map(); |
122 this._cachedResourcesProcessed = false; | 122 this._cachedResourcesProcessed = false; |
123 this._agent.getResourceTree(this._processCachedResources.bind(this)); | 123 this._agent.getResourceTree(this._processCachedResources.bind(this)); |
124 }, | 124 }, |
125 | 125 |
(...skipping 343 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
469 if (!frameB && frameA) | 469 if (!frameB && frameA) |
470 return 1; | 470 return 1; |
471 | 471 |
472 if (frameA && frameB) { | 472 if (frameA && frameB) { |
473 return frameA.id.localeCompare(frameB.id); | 473 return frameA.id.localeCompare(frameB.id); |
474 } | 474 } |
475 return WebInspector.ExecutionContext.comparator(a,b); | 475 return WebInspector.ExecutionContext.comparator(a,b); |
476 }, | 476 }, |
477 | 477 |
478 __proto__: WebInspector.SDKModel.prototype | 478 __proto__: WebInspector.SDKModel.prototype |
479 } | 479 }; |
480 | 480 |
481 /** | 481 /** |
482 * @constructor | 482 * @constructor |
483 * @param {!WebInspector.ResourceTreeModel} model | 483 * @param {!WebInspector.ResourceTreeModel} model |
484 * @param {?WebInspector.ResourceTreeFrame} parentFrame | 484 * @param {?WebInspector.ResourceTreeFrame} parentFrame |
485 * @param {!PageAgent.FrameId} frameId | 485 * @param {!PageAgent.FrameId} frameId |
486 * @param {!PageAgent.Frame=} payload | 486 * @param {!PageAgent.Frame=} payload |
487 */ | 487 */ |
488 WebInspector.ResourceTreeFrame = function(model, parentFrame, frameId, payload) | 488 WebInspector.ResourceTreeFrame = function(model, parentFrame, frameId, payload) |
489 { | 489 { |
(...skipping 15 matching lines...) Expand all Loading... |
505 */ | 505 */ |
506 this._childFrames = []; | 506 this._childFrames = []; |
507 | 507 |
508 /** | 508 /** |
509 * @type {!Object.<string, !WebInspector.Resource>} | 509 * @type {!Object.<string, !WebInspector.Resource>} |
510 */ | 510 */ |
511 this._resourcesMap = {}; | 511 this._resourcesMap = {}; |
512 | 512 |
513 if (this._parentFrame) | 513 if (this._parentFrame) |
514 this._parentFrame._childFrames.push(this); | 514 this._parentFrame._childFrames.push(this); |
515 } | 515 }; |
516 | 516 |
517 /** | 517 /** |
518 * @param {!WebInspector.ExecutionContext|!WebInspector.CSSStyleSheetHeader|!Web
Inspector.Resource} object | 518 * @param {!WebInspector.ExecutionContext|!WebInspector.CSSStyleSheetHeader|!Web
Inspector.Resource} object |
519 * @return {?WebInspector.ResourceTreeFrame} | 519 * @return {?WebInspector.ResourceTreeFrame} |
520 */ | 520 */ |
521 WebInspector.ResourceTreeFrame._fromObject = function(object) | 521 WebInspector.ResourceTreeFrame._fromObject = function(object) |
522 { | 522 { |
523 var resourceTreeModel = WebInspector.ResourceTreeModel.fromTarget(object.tar
get()); | 523 var resourceTreeModel = WebInspector.ResourceTreeModel.fromTarget(object.tar
get()); |
524 var frameId = object.frameId; | 524 var frameId = object.frameId; |
525 if (!resourceTreeModel || !frameId) | 525 if (!resourceTreeModel || !frameId) |
526 return null; | 526 return null; |
527 return resourceTreeModel.frameForId(frameId); | 527 return resourceTreeModel.frameForId(frameId); |
528 } | 528 }; |
529 | 529 |
530 /** | 530 /** |
531 * @param {!WebInspector.Script} script | 531 * @param {!WebInspector.Script} script |
532 * @return {?WebInspector.ResourceTreeFrame} | 532 * @return {?WebInspector.ResourceTreeFrame} |
533 */ | 533 */ |
534 WebInspector.ResourceTreeFrame.fromScript = function(script) | 534 WebInspector.ResourceTreeFrame.fromScript = function(script) |
535 { | 535 { |
536 var executionContext = script.executionContext(); | 536 var executionContext = script.executionContext(); |
537 if (!executionContext) | 537 if (!executionContext) |
538 return null; | 538 return null; |
539 return WebInspector.ResourceTreeFrame._fromObject(executionContext); | 539 return WebInspector.ResourceTreeFrame._fromObject(executionContext); |
540 } | 540 }; |
541 | 541 |
542 /** | 542 /** |
543 * @param {!WebInspector.CSSStyleSheetHeader} header | 543 * @param {!WebInspector.CSSStyleSheetHeader} header |
544 * @return {?WebInspector.ResourceTreeFrame} | 544 * @return {?WebInspector.ResourceTreeFrame} |
545 */ | 545 */ |
546 WebInspector.ResourceTreeFrame.fromStyleSheet = function(header) | 546 WebInspector.ResourceTreeFrame.fromStyleSheet = function(header) |
547 { | 547 { |
548 return WebInspector.ResourceTreeFrame._fromObject(header); | 548 return WebInspector.ResourceTreeFrame._fromObject(header); |
549 } | 549 }; |
550 | 550 |
551 /** | 551 /** |
552 * @param {!WebInspector.Resource} resource | 552 * @param {!WebInspector.Resource} resource |
553 * @return {?WebInspector.ResourceTreeFrame} | 553 * @return {?WebInspector.ResourceTreeFrame} |
554 */ | 554 */ |
555 WebInspector.ResourceTreeFrame.fromResource = function(resource) | 555 WebInspector.ResourceTreeFrame.fromResource = function(resource) |
556 { | 556 { |
557 return WebInspector.ResourceTreeFrame._fromObject(resource); | 557 return WebInspector.ResourceTreeFrame._fromObject(resource); |
558 } | 558 }; |
559 | 559 |
560 WebInspector.ResourceTreeFrame.prototype = { | 560 WebInspector.ResourceTreeFrame.prototype = { |
561 /** | 561 /** |
562 * @return {!WebInspector.Target} | 562 * @return {!WebInspector.Target} |
563 */ | 563 */ |
564 target: function() | 564 target: function() |
565 { | 565 { |
566 return this._model.target(); | 566 return this._model.target(); |
567 }, | 567 }, |
568 | 568 |
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
759 if (!this._parentFrame) | 759 if (!this._parentFrame) |
760 return WebInspector.UIString("top"); | 760 return WebInspector.UIString("top"); |
761 var subtitle = new WebInspector.ParsedURL(this._url).displayName; | 761 var subtitle = new WebInspector.ParsedURL(this._url).displayName; |
762 if (subtitle) { | 762 if (subtitle) { |
763 if (!this._name) | 763 if (!this._name) |
764 return subtitle; | 764 return subtitle; |
765 return this._name + " (" + subtitle + ")"; | 765 return this._name + " (" + subtitle + ")"; |
766 } | 766 } |
767 return WebInspector.UIString("<iframe>"); | 767 return WebInspector.UIString("<iframe>"); |
768 } | 768 } |
769 } | 769 }; |
770 | 770 |
771 /** | 771 /** |
772 * @constructor | 772 * @constructor |
773 * @implements {PageAgent.Dispatcher} | 773 * @implements {PageAgent.Dispatcher} |
774 */ | 774 */ |
775 WebInspector.PageDispatcher = function(resourceTreeModel) | 775 WebInspector.PageDispatcher = function(resourceTreeModel) |
776 { | 776 { |
777 this._resourceTreeModel = resourceTreeModel; | 777 this._resourceTreeModel = resourceTreeModel; |
778 } | 778 }; |
779 | 779 |
780 WebInspector.PageDispatcher.prototype = { | 780 WebInspector.PageDispatcher.prototype = { |
781 /** | 781 /** |
782 * @override | 782 * @override |
783 * @param {number} time | 783 * @param {number} time |
784 */ | 784 */ |
785 domContentEventFired: function(time) | 785 domContentEventFired: function(time) |
786 { | 786 { |
787 this._resourceTreeModel.dispatchEventToListeners(WebInspector.ResourceTr
eeModel.Events.DOMContentLoaded, time); | 787 this._resourceTreeModel.dispatchEventToListeners(WebInspector.ResourceTr
eeModel.Events.DOMContentLoaded, time); |
788 }, | 788 }, |
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
929 }, | 929 }, |
930 | 930 |
931 /** | 931 /** |
932 * @override | 932 * @override |
933 */ | 933 */ |
934 navigationRequested: function() | 934 navigationRequested: function() |
935 { | 935 { |
936 // Frontend is not interested in when navigations are requested. | 936 // Frontend is not interested in when navigations are requested. |
937 } | 937 } |
938 | 938 |
939 } | 939 }; |
OLD | NEW |