Changeset 55227 in webkit
- Timestamp:
- Feb 25, 2010 3:24:53 AM (14 years ago)
- Location:
- trunk/WebCore
- Files:
-
- 1 added
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebCore/ChangeLog
r55225 r55227 1 2010-02-25 Andrey Kosyakov <caseq@chromium.org> 2 3 Reviewed by Pavel Feldman. 4 5 Fake workers implementation that simulates workers using iframe and timer, 6 needed to support workers debugging. Also, a facility to inject scripts into 7 inspected page upon load. 8 https://bugs.webkit.org/show_bug.cgi?id=35148 9 10 * WebCore.gypi: 11 * WebCore.vcproj/WebCore.vcproj: 12 * inspector/InspectorBackend.cpp: 13 (WebCore::InspectorBackend::addScriptToEvaluateOnLoad): 14 (WebCore::InspectorBackend::removeAllScriptsToEvaluateOnLoad): 15 * inspector/InspectorBackend.h: 16 * inspector/InspectorBackend.idl: 17 * inspector/InspectorController.cpp: 18 (WebCore::InspectorController::didCommitLoad): 19 (WebCore::InspectorController::addScriptToEvaluateOnLoad): 20 (WebCore::InspectorController::removeAllScriptsToEvaluateOnLoad): 21 * inspector/InspectorController.h: 22 * inspector/front-end/InjectedFakeWorker.js: Added. 23 (InjectedFakeWorker.Worker): 24 (InjectedFakeWorker.FakeWorker): 25 (InjectedFakeWorker.FakeWorker.prototype.postMessage): 26 (InjectedFakeWorker.FakeWorker.prototype.terminate): 27 (InjectedFakeWorker.FakeWorker.prototype._onmessageWrapper): 28 (InjectedFakeWorker.FakeWorker.prototype._dispatchMessage): 29 (InjectedFakeWorker.FakeWorker.prototype._handleException): 30 (InjectedFakeWorker.FakeWorker.prototype._buildWorker): 31 (InjectedFakeWorker.FakeWorker.prototype._setupWorkerContext.handler): 32 (InjectedFakeWorker.FakeWorker.prototype._setupWorkerContext): 33 (InjectedFakeWorker.FakeWorker.prototype._importScripts): 34 (InjectedFakeWorker.FakeWorker.prototype._loadScript): 35 (InjectedFakeWorker.URL): 36 (InjectedFakeWorker.URL.prototype.urlRegEx.split): 37 (InjectedFakeWorker.URL.prototype.mockLocation): 38 (InjectedFakeWorker.URL.prototype.completeWith): 39 (InjectedFakeWorker.URL.prototype.sameOrigin): 40 (InjectedFakeWorker.DOMCoreException.formatError): 41 (InjectedFakeWorker.DOMCoreException): 42 (InjectedFakeWorker.noop): 43 * inspector/front-end/InspectorBackendStub.js: 44 (.WebInspector.InspectorBackendStub.prototype.setInjectedScriptSource): 45 (.WebInspector.InspectorBackendStub.prototype.addScriptToEvaluateOnLoad): 46 (.WebInspector.InspectorBackendStub.prototype.removeAllScriptsToEvaluateOnLoad): 47 * inspector/front-end/WebKit.qrc: 48 * inspector/front-end/inspector.html: 49 1 50 2010-02-24 Nicholas Young <nicholas.young@nokia.com> 2 51 -
trunk/WebCore/WebCore.gypi
r55215 r55227 3747 3747 'inspector/front-end/InspectorBackendStub.js', 3748 3748 'inspector/front-end/InspectorFrontendHostStub.js', 3749 'inspector/front-end/InjectedFakeWorker.js', 3749 3750 'inspector/front-end/InjectedScript.js', 3750 3751 'inspector/front-end/InjectedScriptAccess.js', -
trunk/WebCore/WebCore.vcproj/WebCore.vcproj
r55215 r55227 42857 42857 </File> 42858 42858 <File 42859 RelativePath="..\inspector\front-end\InjectedFakeWorker.js" 42860 > 42861 </File> 42862 <File 42859 42863 RelativePath="..\inspector\front-end\InjectedScript.js" 42860 42864 > -
trunk/WebCore/inspector/InspectorBackend.cpp
r55077 r55227 470 470 } 471 471 472 void InspectorBackend::addScriptToEvaluateOnLoad(const String& source) 473 { 474 if (m_inspectorController) 475 m_inspectorController->addScriptToEvaluateOnLoad(source); 476 } 477 478 void InspectorBackend::removeAllScriptsToEvaluateOnLoad() 479 { 480 if (m_inspectorController) 481 m_inspectorController->removeAllScriptsToEvaluateOnLoad(); 482 } 483 472 484 } // namespace WebCore 473 485 -
trunk/WebCore/inspector/InspectorBackend.h
r55077 r55227 106 106 void setInjectedScriptSource(const String& source); 107 107 void dispatchOnInjectedScript(long callId, long injectedScriptId, const String& methodName, const String& arguments, bool async); 108 void addScriptToEvaluateOnLoad(const String& source); 109 void removeAllScriptsToEvaluateOnLoad(); 108 110 void getChildNodes(long callId, long nodeId); 109 111 void setAttribute(long callId, long elementId, const String& name, const String& value); -
trunk/WebCore/inspector/InspectorBackend.idl
r55077 r55227 81 81 void dispatchOnInjectedScript(in long callId, in long injectedScriptId, in DOMString methodName, in DOMString arguments, in boolean async); 82 82 83 void addScriptToEvaluateOnLoad(in DOMString scriptSource); 84 void removeAllScriptsToEvaluateOnLoad(); 85 83 86 void getChildNodes(in long callId, in long nodeId); 84 87 void setAttribute(in long callId, in long elementId, in DOMString name, in DOMString value); -
trunk/WebCore/inspector/InspectorController.cpp
r55207 r55227 77 77 #include "ScriptProfile.h" 78 78 #include "ScriptProfiler.h" 79 #include "ScriptSourceCode.h" 79 80 #include "ScriptString.h" 80 81 #include "SecurityOrigin.h" … … 803 804 if (ResourcesMap* resourceMap = m_frameResources.get(frame)) 804 805 pruneResources(resourceMap, loader); 806 807 for (Vector<String>::iterator it = m_scriptsToEvaluateOnLoad.begin(); 808 it != m_scriptsToEvaluateOnLoad.end(); ++it) { 809 ScriptSourceCode scriptSourceCode(*it); 810 loader->frame()->script()->evaluate(scriptSourceCode); 811 } 805 812 } 806 813 … … 1901 1908 } 1902 1909 1910 void InspectorController::addScriptToEvaluateOnLoad(const String& source) 1911 { 1912 m_scriptsToEvaluateOnLoad.append(source); 1913 } 1914 1915 void InspectorController::removeAllScriptsToEvaluateOnLoad() 1916 { 1917 m_scriptsToEvaluateOnLoad.clear(); 1918 } 1919 1903 1920 } // namespace WebCore 1904 1921 -
trunk/WebCore/inspector/InspectorController.h
r55107 r55227 251 251 252 252 InjectedScript injectedScriptForNodeId(long id); 253 void addScriptToEvaluateOnLoad(const String& source); 254 void removeAllScriptsToEvaluateOnLoad(); 253 255 254 256 private: … … 350 352 351 353 Vector<pair<long, String> > m_pendingEvaluateTestCommands; 354 Vector<String> m_scriptsToEvaluateOnLoad; 352 355 #if ENABLE(JAVASCRIPT_DEBUGGER) 353 356 bool m_debuggerEnabled; -
trunk/WebCore/inspector/front-end/InspectorBackendStub.js
r55077 r55227 265 265 setInjectedScriptSource: function() 266 266 { 267 }, 268 269 addScriptToEvaluateOnLoad: function() 270 { 271 }, 272 273 removeAllScriptsToEvaluateOnLoad: function() 274 { 267 275 } 268 276 } -
trunk/WebCore/inspector/front-end/WebKit.qrc
r55187 r55227 33 33 <file>FontView.js</file> 34 34 <file>ImageView.js</file> 35 <file>InjectedFakeWorker.js</file> 35 36 <file>InjectedScript.js</file> 36 37 <file>InjectedScriptAccess.js</file> -
trunk/WebCore/inspector/front-end/inspector.html
r54962 r55227 86 86 <script type="text/javascript" src="ElementsPanel.js"></script> 87 87 <script type="text/javascript" src="ResourcesPanel.js"></script> 88 <script type="text/javascript" src="InjectedFakeWorker.js"></script> 88 89 <script type="text/javascript" src="ScriptsPanel.js"></script> 89 90 <script type="text/javascript" src="StoragePanel.js"></script>
Note: See TracChangeset
for help on using the changeset viewer.