Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(278)

Side by Side Diff: third_party/WebKit/Source/devtools/front_end/sdk/RuntimeModel.js

Issue 2163093003: [DevTools] Remove Object.values and Object.isEmpty from utilities.js (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2012 Google Inc. All rights reserved. 2 * Copyright (C) 2012 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 23 matching lines...) Expand all
34 * @param {!WebInspector.Target} target 34 * @param {!WebInspector.Target} target
35 */ 35 */
36 WebInspector.RuntimeModel = function(target) 36 WebInspector.RuntimeModel = function(target)
37 { 37 {
38 WebInspector.SDKModel.call(this, WebInspector.RuntimeModel, target); 38 WebInspector.SDKModel.call(this, WebInspector.RuntimeModel, target);
39 39
40 this._agent = target.runtimeAgent(); 40 this._agent = target.runtimeAgent();
41 this.target().registerRuntimeDispatcher(new WebInspector.RuntimeDispatcher(t his)); 41 this.target().registerRuntimeDispatcher(new WebInspector.RuntimeDispatcher(t his));
42 if (target.hasJSCapability()) 42 if (target.hasJSCapability())
43 this._agent.enable(); 43 this._agent.enable();
44 /** 44 /** @type {!Map<number, !WebInspector.ExecutionContext>} */
45 * @type {!Object.<number, !WebInspector.ExecutionContext>} 45 this._executionContextById = new Map();
46 */
47 this._executionContextById = {};
48 this._executionContextComparator = WebInspector.ExecutionContext.comparator; 46 this._executionContextComparator = WebInspector.ExecutionContext.comparator;
49 47
50 if (WebInspector.moduleSetting("customFormatters").get()) 48 if (WebInspector.moduleSetting("customFormatters").get())
51 this._agent.setCustomObjectFormatterEnabled(true); 49 this._agent.setCustomObjectFormatterEnabled(true);
52 50
53 WebInspector.moduleSetting("customFormatters").addChangeListener(this._custo mFormattersStateChanged.bind(this)); 51 WebInspector.moduleSetting("customFormatters").addChangeListener(this._custo mFormattersStateChanged.bind(this));
54 } 52 }
55 53
56 WebInspector.RuntimeModel.Events = { 54 WebInspector.RuntimeModel.Events = {
57 ExecutionContextCreated: "ExecutionContextCreated", 55 ExecutionContextCreated: "ExecutionContextCreated",
58 ExecutionContextDestroyed: "ExecutionContextDestroyed", 56 ExecutionContextDestroyed: "ExecutionContextDestroyed",
59 ExecutionContextChanged: "ExecutionContextChanged" 57 ExecutionContextChanged: "ExecutionContextChanged"
60 } 58 }
61 59
62 WebInspector.RuntimeModel._privateScript = "private script"; 60 WebInspector.RuntimeModel._privateScript = "private script";
63 61
64 WebInspector.RuntimeModel.prototype = { 62 WebInspector.RuntimeModel.prototype = {
65 63
66 /** 64 /**
67 * @return {!Array.<!WebInspector.ExecutionContext>} 65 * @return {!Array.<!WebInspector.ExecutionContext>}
68 */ 66 */
69 executionContexts: function() 67 executionContexts: function()
70 { 68 {
71 return Object.values(this._executionContextById).sort(this.executionCont extComparator()); 69 return this._executionContextById.valuesArray().sort(this.executionConte xtComparator());
72 }, 70 },
73 71
74 /** 72 /**
75 * @param {function(!WebInspector.ExecutionContext,!WebInspector.ExecutionCo ntext)} comparator 73 * @param {function(!WebInspector.ExecutionContext,!WebInspector.ExecutionCo ntext)} comparator
76 */ 74 */
77 setExecutionContextComparator: function(comparator) 75 setExecutionContextComparator: function(comparator)
78 { 76 {
79 this._executionContextComparator = comparator; 77 this._executionContextComparator = comparator;
80 }, 78 },
81 79
82 /** 80 /**
83 * @return {function(!WebInspector.ExecutionContext,!WebInspector.ExecutionC ontext)} comparator 81 * @return {function(!WebInspector.ExecutionContext,!WebInspector.ExecutionC ontext)} comparator
84 */ 82 */
85 executionContextComparator: function() 83 executionContextComparator: function()
86 { 84 {
87 return this._executionContextComparator; 85 return this._executionContextComparator;
88 }, 86 },
89 87
90 /** 88 /**
91 * @return {?WebInspector.ExecutionContext} 89 * @return {?WebInspector.ExecutionContext}
92 */ 90 */
93 defaultExecutionContext: function() 91 defaultExecutionContext: function()
94 { 92 {
95 for (var context of Object.values(this._executionContextById)) { 93 for (var context of this._executionContextById.values()) {
96 if (context.isDefault) 94 if (context.isDefault)
97 return context; 95 return context;
98 } 96 }
99 return null; 97 return null;
100 }, 98 },
101 99
102 /** 100 /**
103 * @param {!RuntimeAgent.ExecutionContextId} id 101 * @param {!RuntimeAgent.ExecutionContextId} id
104 * @return {?WebInspector.ExecutionContext} 102 * @return {?WebInspector.ExecutionContext}
105 */ 103 */
106 executionContext: function(id) 104 executionContext: function(id)
107 { 105 {
108 return this._executionContextById[id] || null; 106 return this._executionContextById.get(id) || null;
109 }, 107 },
110 108
111 /** 109 /**
112 * @param {!RuntimeAgent.ExecutionContextDescription} context 110 * @param {!RuntimeAgent.ExecutionContextDescription} context
113 */ 111 */
114 _executionContextCreated: function(context) 112 _executionContextCreated: function(context)
115 { 113 {
116 // The private script context should be hidden behind an experiment. 114 // The private script context should be hidden behind an experiment.
117 if (context.name === WebInspector.RuntimeModel._privateScript && !contex t.origin && !Runtime.experiments.isEnabled("privateScriptInspection")) { 115 if (context.name === WebInspector.RuntimeModel._privateScript && !contex t.origin && !Runtime.experiments.isEnabled("privateScriptInspection")) {
118 return; 116 return;
119 } 117 }
120 var executionContext = new WebInspector.ExecutionContext(this.target(), context.id, context.name, context.origin, context.isDefault, context.frameId); 118 var executionContext = new WebInspector.ExecutionContext(this.target(), context.id, context.name, context.origin, context.isDefault, context.frameId);
121 this._executionContextById[executionContext.id] = executionContext; 119 this._executionContextById.set(executionContext.id, executionContext);
122 this.dispatchEventToListeners(WebInspector.RuntimeModel.Events.Execution ContextCreated, executionContext); 120 this.dispatchEventToListeners(WebInspector.RuntimeModel.Events.Execution ContextCreated, executionContext);
123 }, 121 },
124 122
125 /** 123 /**
126 * @param {number} executionContextId 124 * @param {number} executionContextId
127 */ 125 */
128 _executionContextDestroyed: function(executionContextId) 126 _executionContextDestroyed: function(executionContextId)
129 { 127 {
130 var executionContext = this._executionContextById[executionContextId]; 128 var executionContext = this._executionContextById.get(executionContextId );
131 if (!executionContext) 129 if (!executionContext)
132 return; 130 return;
133 delete this._executionContextById[executionContextId]; 131 this._executionContextById.delete(executionContextId);
134 this.dispatchEventToListeners(WebInspector.RuntimeModel.Events.Execution ContextDestroyed, executionContext); 132 this.dispatchEventToListeners(WebInspector.RuntimeModel.Events.Execution ContextDestroyed, executionContext);
135 }, 133 },
136 134
137 _executionContextsCleared: function() 135 _executionContextsCleared: function()
138 { 136 {
139 var debuggerModel = WebInspector.DebuggerModel.fromTarget(this.target()) ; 137 var debuggerModel = WebInspector.DebuggerModel.fromTarget(this.target()) ;
140 if (debuggerModel) 138 if (debuggerModel)
141 debuggerModel.globalObjectCleared(); 139 debuggerModel.globalObjectCleared();
142 var contexts = this.executionContexts(); 140 var contexts = this.executionContexts();
143 this._executionContextById = {}; 141 this._executionContextById.clear();
144 for (var i = 0; i < contexts.length; ++i) 142 for (var i = 0; i < contexts.length; ++i)
145 this.dispatchEventToListeners(WebInspector.RuntimeModel.Events.Execu tionContextDestroyed, contexts[i]); 143 this.dispatchEventToListeners(WebInspector.RuntimeModel.Events.Execu tionContextDestroyed, contexts[i]);
146 }, 144 },
147 145
148 /** 146 /**
149 * @param {!RuntimeAgent.RemoteObject} payload 147 * @param {!RuntimeAgent.RemoteObject} payload
150 * @return {!WebInspector.RemoteObject} 148 * @return {!WebInspector.RemoteObject}
151 */ 149 */
152 createRemoteObject: function(payload) 150 createRemoteObject: function(payload)
153 { 151 {
(...skipping 858 matching lines...) Expand 10 before | Expand all | Expand 10 after
1012 /** 1010 /**
1013 * @return {boolean} 1011 * @return {boolean}
1014 */ 1012 */
1015 isNormalListenerType: function() 1013 isNormalListenerType: function()
1016 { 1014 {
1017 return this._listenerType === "normal"; 1015 return this._listenerType === "normal";
1018 }, 1016 },
1019 1017
1020 __proto__: WebInspector.SDKObject.prototype 1018 __proto__: WebInspector.SDKObject.prototype
1021 } 1019 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698