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

Side by Side Diff: inspector/InjectedScriptHost.cpp

Issue 542055: DevTools: injected script per context(WebCore part) (Closed) Base URL: http://svn.webkit.org/repository/webkit/trunk/WebCore/
Patch Set: '' Created 10 years, 11 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
« no previous file with comments | « inspector/InjectedScriptHost.h ('k') | inspector/InjectedScriptHost.idl » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2007, 2008 Apple Inc. All rights reserved. 2 * Copyright (C) 2007, 2008 Apple Inc. All rights reserved.
3 * Copyright (C) 2008 Matt Lilek <webkit@mattlilek.com> 3 * Copyright (C) 2008 Matt Lilek <webkit@mattlilek.com>
4 * Copyright (C) 2009 Google Inc. All rights reserved. 4 * Copyright (C) 2009 Google Inc. All rights reserved.
5 * 5 *
6 * Redistribution and use in source and binary forms, with or without 6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions 7 * modification, are permitted provided that the following conditions
8 * are met: 8 * are met:
9 * 9 *
10 * 1. Redistributions of source code must retain the above copyright 10 * 1. Redistributions of source code must retain the above copyright
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
91 Pasteboard::generalPasteboard()->writePlainText(text); 91 Pasteboard::generalPasteboard()->writePlainText(text);
92 } 92 }
93 93
94 Node* InjectedScriptHost::nodeForId(long nodeId) 94 Node* InjectedScriptHost::nodeForId(long nodeId)
95 { 95 {
96 if (InspectorDOMAgent* domAgent = inspectorDOMAgent()) 96 if (InspectorDOMAgent* domAgent = inspectorDOMAgent())
97 return domAgent->nodeForId(nodeId); 97 return domAgent->nodeForId(nodeId);
98 return 0; 98 return 0;
99 } 99 }
100 100
101 ScriptValue InjectedScriptHost::wrapObject(const ScriptValue& object, const Stri ng& objectGroup)
102 {
103 if (m_inspectorController)
104 return m_inspectorController->wrapObject(object, objectGroup);
105 return ScriptValue();
106 }
107
108 ScriptValue InjectedScriptHost::unwrapObject(const String& objectId)
109 {
110 if (m_inspectorController)
111 return m_inspectorController->unwrapObject(objectId);
112 return ScriptValue();
113 }
114
115 long InjectedScriptHost::pushNodePathToFrontend(Node* node, bool withChildren, b ool selectInUI) 101 long InjectedScriptHost::pushNodePathToFrontend(Node* node, bool withChildren, b ool selectInUI)
116 { 102 {
117 InspectorFrontend* frontend = inspectorFrontend(); 103 InspectorFrontend* frontend = inspectorFrontend();
118 InspectorDOMAgent* domAgent = inspectorDOMAgent(); 104 InspectorDOMAgent* domAgent = inspectorDOMAgent();
119 if (!domAgent || !frontend) 105 if (!domAgent || !frontend)
120 return 0; 106 return 0;
121 long id = domAgent->pushNodePathToFrontend(node); 107 long id = domAgent->pushNodePathToFrontend(node);
122 if (withChildren) 108 if (withChildren)
123 domAgent->pushChildNodesToFrontend(id); 109 domAgent->pushChildNodesToFrontend(id);
124 if (selectInUI) 110 if (selectInUI)
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
184 ScriptObject InjectedScriptHost::injectedScriptForId(long id) 170 ScriptObject InjectedScriptHost::injectedScriptForId(long id)
185 { 171 {
186 return m_idToInjectedScript.get(id); 172 return m_idToInjectedScript.get(id);
187 } 173 }
188 174
189 void InjectedScriptHost::discardInjectedScripts() 175 void InjectedScriptHost::discardInjectedScripts()
190 { 176 {
191 m_idToInjectedScript.clear(); 177 m_idToInjectedScript.clear();
192 } 178 }
193 179
180 void InjectedScriptHost::releaseWrapperObjectGroup(long injectedScriptId, const String& objectGroup)
181 {
182 if (injectedScriptId) {
183 ScriptObject injectedScript = m_idToInjectedScript.get(injectedScriptId );
184 if (!injectedScript.hasNoValue())
185 releaseWrapperObjectGroup(injectedScript, objectGroup);
186 } else {
187 // Iterate over all injected scripts if injectedScriptId is not specifi ed.
188 for (IdToInjectedScriptMap::iterator it = m_idToInjectedScript.begin(); it != m_idToInjectedScript.end(); ++it)
189 releaseWrapperObjectGroup(it->second, objectGroup);
190 }
191 }
192
194 InspectorDOMAgent* InjectedScriptHost::inspectorDOMAgent() 193 InspectorDOMAgent* InjectedScriptHost::inspectorDOMAgent()
195 { 194 {
196 if (!m_inspectorController) 195 if (!m_inspectorController)
197 return 0; 196 return 0;
198 return m_inspectorController->domAgent(); 197 return m_inspectorController->domAgent();
199 } 198 }
200 199
201 InspectorFrontend* InjectedScriptHost::inspectorFrontend() 200 InspectorFrontend* InjectedScriptHost::inspectorFrontend()
202 { 201 {
203 if (!m_inspectorController) 202 if (!m_inspectorController)
204 return 0; 203 return 0;
205 return m_inspectorController->m_frontend.get(); 204 return m_inspectorController->m_frontend.get();
206 } 205 }
207 206
207 void InjectedScriptHost::releaseWrapperObjectGroup(const ScriptObject& injectedS cript, const String& objectGroup)
208 {
209 ScriptFunctionCall releaseFunction(injectedScript.scriptState(), injectedScr ipt, "releaseWrapperObjectGroup");
210 releaseFunction.appendArgument(objectGroup);
211 releaseFunction.call();
212 }
213
208 } // namespace WebCore 214 } // namespace WebCore
209 215
210 #endif // ENABLE(INSPECTOR) 216 #endif // ENABLE(INSPECTOR)
OLDNEW
« no previous file with comments | « inspector/InjectedScriptHost.h ('k') | inspector/InjectedScriptHost.idl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698