<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[162757] trunk/Source</title>
</head>
<body>
<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/162757">162757</a></dd>
<dt>Author</dt> <dd>joepeck@webkit.org</dd>
<dt>Date</dt> <dd>2014-01-24 20:42:25 -0800 (Fri, 24 Jan 2014)</dd>
</dl>
<h3>Log Message</h3>
<pre>Move JavaScriptCallFrame and ScriptDebugServer into JavaScriptCore for inspector
https://bugs.webkit.org/show_bug.cgi?id=127543
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
Add new files.
* inspector/ScriptDebugListener.h:
Extract WebCore knowledge from ScriptDebugServer. This will
eventually be made to work outside of WebCore.
* inspector/ScriptDebugServer.h: Renamed from Source/WebCore/bindings/js/ScriptDebugServer.h.
* inspector/ScriptDebugServer.cpp: Renamed from Source/WebCore/bindings/js/ScriptDebugServer.cpp.
(Inspector::ScriptDebugServer::evaluateBreakpointAction):
(Inspector::ScriptDebugServer::dispatchDidPause):
(Inspector::ScriptDebugServer::dispatchBreakpointActionLog):
(Inspector::ScriptDebugServer::dispatchBreakpointActionSound):
(Inspector::ScriptDebugServer::sourceParsed):
(Inspector::ScriptDebugServer::dispatchFunctionToListeners):
(Inspector::ScriptDebugServer::handlePause):
Modernize code, and call the new ScriptDebugListener callbacks where appropriate.
* inspector/JSJavaScriptCallFrame.cpp: Renamed from Source/WebCore/bindings/js/JSJavaScriptCallFrameCustom.cpp.
(Inspector::JSJavaScriptCallFrame::JSJavaScriptCallFrame):
(Inspector::JSJavaScriptCallFrame::finishCreation):
(Inspector::JSJavaScriptCallFrame::createPrototype):
(Inspector::JSJavaScriptCallFrame::destroy):
(Inspector::JSJavaScriptCallFrame::releaseImpl):
(Inspector::JSJavaScriptCallFrame::~JSJavaScriptCallFrame):
(Inspector::JSJavaScriptCallFrame::evaluate):
(Inspector::JSJavaScriptCallFrame::scopeType):
(Inspector::JSJavaScriptCallFrame::caller):
(Inspector::JSJavaScriptCallFrame::sourceID):
(Inspector::JSJavaScriptCallFrame::line):
(Inspector::JSJavaScriptCallFrame::column):
(Inspector::JSJavaScriptCallFrame::functionName):
(Inspector::JSJavaScriptCallFrame::scopeChain):
(Inspector::JSJavaScriptCallFrame::thisObject):
(Inspector::JSJavaScriptCallFrame::type):
(Inspector::toJS):
(Inspector::toJSJavaScriptCallFrame):
* inspector/JSJavaScriptCallFrame.h: Added.
(Inspector::JSJavaScriptCallFrame::createStructure):
(Inspector::JSJavaScriptCallFrame::create):
(Inspector::JSJavaScriptCallFrame::impl):
* inspector/JSJavaScriptCallFramePrototype.cpp: Added.
(Inspector::JSJavaScriptCallFramePrototype::finishCreation):
(Inspector::jsJavaScriptCallFramePrototypeFunctionEvaluate):
(Inspector::jsJavaScriptCallFramePrototypeFunctionScopeType):
(Inspector::jsJavaScriptCallFrameAttributeCaller):
(Inspector::jsJavaScriptCallFrameAttributeSourceID):
(Inspector::jsJavaScriptCallFrameAttributeLine):
(Inspector::jsJavaScriptCallFrameAttributeColumn):
(Inspector::jsJavaScriptCallFrameAttributeFunctionName):
(Inspector::jsJavaScriptCallFrameAttributeScopeChain):
(Inspector::jsJavaScriptCallFrameAttributeThisObject):
(Inspector::jsJavaScriptCallFrameAttributeType):
(Inspector::jsJavaScriptCallFrameConstantGLOBAL_SCOPE):
(Inspector::jsJavaScriptCallFrameConstantLOCAL_SCOPE):
(Inspector::jsJavaScriptCallFrameConstantWITH_SCOPE):
(Inspector::jsJavaScriptCallFrameConstantCLOSURE_SCOPE):
(Inspector::jsJavaScriptCallFrameConstantCATCH_SCOPE):
* inspector/JSJavaScriptCallFramePrototype.h: Added.
(Inspector::JSJavaScriptCallFramePrototype::create):
(Inspector::JSJavaScriptCallFramePrototype::createStructure):
(Inspector::JSJavaScriptCallFramePrototype::JSJavaScriptCallFramePrototype):
* inspector/JavaScriptCallFrame.cpp: Renamed from Source/WebCore/bindings/js/JavaScriptCallFrame.cpp.
(Inspector::JavaScriptCallFrame::caller):
* inspector/JavaScriptCallFrame.h: Renamed from Source/WebCore/bindings/js/JavaScriptCallFrame.h.
Port of JavaScriptCallFrame.idl to a set of native JS classes.
Source/WebCore:
Covered by existing tests.
* ForwardingHeaders/inspector/ScriptDebugServer.h: Added.
* GNUmakefile.list.am:
* UseJSC.cmake:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSBindingsAllInOne.cpp:
* inspector/JavaScriptCallFrame.idl: Removed.
Update builds now that ScriptDebugServer moved to JavaScriptCore.
* bindings/js/PageScriptDebugServer.h:
* bindings/js/PageScriptDebugServer.cpp:
(WebCore::PageScriptDebugServer::runEventLoopWhilePaused):
(WebCore::PageScriptDebugServer::isContentScript):
(WebCore::PageScriptDebugServer::reportException):
* bindings/js/WorkerScriptDebugServer.h:
* bindings/js/WorkerScriptDebugServer.cpp:
(WebCore::WorkerScriptDebugServer::runEventLoopWhilePaused):
(WebCore::WorkerScriptDebugServer::reportException):
Handle ScriptDebugServer functionality depending on WebCore knowledge.
* inspector/InspectorDebuggerAgent.h:
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::breakpointActionSound):
Handle ScriptDebugServer functionality that depended on WebCore knowledge.
This will eventually be written in a non-WebCore specific way.
* inspector/InspectorRuntimeAgent.cpp:
* inspector/InspectorRuntimeAgent.h:
Update ScriptDebugServer type now that it is in namespace Inspector.
* workers/WorkerGlobalScope.h:
Make addConsoleMessage public again so the inspector can call it.
* inspector/PageDebuggerAgent.cpp:
(WebCore::PageDebuggerAgent::breakpointActionLog):
* inspector/PageDebuggerAgent.h:
* inspector/WorkerDebuggerAgent.cpp:
(WebCore::WorkerDebuggerAgent::breakpointActionLog):
* inspector/WorkerDebuggerAgent.h:
Let each of these handle console logs in their own way. Both of these
eventually go through the PageConsole and log through the InspectorConsoleAgent
and ChromeClient.</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceJavaScriptCoreCMakeListstxt">trunk/Source/JavaScriptCore/CMakeLists.txt</a></li>
<li><a href="#trunkSourceJavaScriptCoreChangeLog">trunk/Source/JavaScriptCore/ChangeLog</a></li>
<li><a href="#trunkSourceJavaScriptCoreGNUmakefilelistam">trunk/Source/JavaScriptCore/GNUmakefile.list.am</a></li>
<li><a href="#trunkSourceJavaScriptCoreJavaScriptCorevcxprojJavaScriptCorevcxproj">trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj</a></li>
<li><a href="#trunkSourceJavaScriptCoreJavaScriptCorexcodeprojprojectpbxproj">trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorJSInjectedScriptHosth">trunk/Source/JavaScriptCore/inspector/JSInjectedScriptHost.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorScriptDebugListenerh">trunk/Source/JavaScriptCore/inspector/ScriptDebugListener.h</a></li>
<li><a href="#trunkSourceWebCoreCMakeListstxt">trunk/Source/WebCore/CMakeLists.txt</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreDerivedSourcescpp">trunk/Source/WebCore/DerivedSources.cpp</a></li>
<li><a href="#trunkSourceWebCoreDerivedSourcesmake">trunk/Source/WebCore/DerivedSources.make</a></li>
<li><a href="#trunkSourceWebCoreGNUmakefilelistam">trunk/Source/WebCore/GNUmakefile.list.am</a></li>
<li><a href="#trunkSourceWebCoreUseJSCcmake">trunk/Source/WebCore/UseJSC.cmake</a></li>
<li><a href="#trunkSourceWebCoreWebCorevcxprojWebCorevcxproj">trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj</a></li>
<li><a href="#trunkSourceWebCoreWebCorevcxprojWebCorevcxprojfilters">trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters</a></li>
<li><a href="#trunkSourceWebCoreWebCorexcodeprojprojectpbxproj">trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSBindingsAllInOnecpp">trunk/Source/WebCore/bindings/js/JSBindingsAllInOne.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsPageScriptDebugServercpp">trunk/Source/WebCore/bindings/js/PageScriptDebugServer.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsPageScriptDebugServerh">trunk/Source/WebCore/bindings/js/PageScriptDebugServer.h</a></li>
<li><a href="#trunkSourceWebCorebindingsjsWorkerScriptDebugServercpp">trunk/Source/WebCore/bindings/js/WorkerScriptDebugServer.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsWorkerScriptDebugServerh">trunk/Source/WebCore/bindings/js/WorkerScriptDebugServer.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorDebuggerAgentcpp">trunk/Source/WebCore/inspector/InspectorDebuggerAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorDebuggerAgenth">trunk/Source/WebCore/inspector/InspectorDebuggerAgent.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorRuntimeAgentcpp">trunk/Source/WebCore/inspector/InspectorRuntimeAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorRuntimeAgenth">trunk/Source/WebCore/inspector/InspectorRuntimeAgent.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorPageDebuggerAgentcpp">trunk/Source/WebCore/inspector/PageDebuggerAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorPageDebuggerAgenth">trunk/Source/WebCore/inspector/PageDebuggerAgent.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorWorkerDebuggerAgentcpp">trunk/Source/WebCore/inspector/WorkerDebuggerAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorWorkerDebuggerAgenth">trunk/Source/WebCore/inspector/WorkerDebuggerAgent.h</a></li>
<li><a href="#trunkSourceWebCoreworkersWorkerGlobalScopeh">trunk/Source/WebCore/workers/WorkerGlobalScope.h</a></li>
</ul>
<h3>Added Paths</h3>
<ul>
<li><a href="#trunkSourceJavaScriptCoreinspectorJSJavaScriptCallFramecpp">trunk/Source/JavaScriptCore/inspector/JSJavaScriptCallFrame.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorJSJavaScriptCallFrameh">trunk/Source/JavaScriptCore/inspector/JSJavaScriptCallFrame.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorJSJavaScriptCallFramePrototypecpp">trunk/Source/JavaScriptCore/inspector/JSJavaScriptCallFramePrototype.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorJSJavaScriptCallFramePrototypeh">trunk/Source/JavaScriptCore/inspector/JSJavaScriptCallFramePrototype.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorJavaScriptCallFramecpp">trunk/Source/JavaScriptCore/inspector/JavaScriptCallFrame.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorJavaScriptCallFrameh">trunk/Source/JavaScriptCore/inspector/JavaScriptCallFrame.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorScriptDebugServercpp">trunk/Source/JavaScriptCore/inspector/ScriptDebugServer.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorScriptDebugServerh">trunk/Source/JavaScriptCore/inspector/ScriptDebugServer.h</a></li>
<li><a href="#trunkSourceWebCoreForwardingHeadersinspectorScriptDebugServerh">trunk/Source/WebCore/ForwardingHeaders/inspector/ScriptDebugServer.h</a></li>
</ul>
<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkSourceWebCorebindingsjsJSJavaScriptCallFrameCustomcpp">trunk/Source/WebCore/bindings/js/JSJavaScriptCallFrameCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJavaScriptCallFramecpp">trunk/Source/WebCore/bindings/js/JavaScriptCallFrame.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJavaScriptCallFrameh">trunk/Source/WebCore/bindings/js/JavaScriptCallFrame.h</a></li>
<li><a href="#trunkSourceWebCorebindingsjsScriptDebugServercpp">trunk/Source/WebCore/bindings/js/ScriptDebugServer.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsScriptDebugServerh">trunk/Source/WebCore/bindings/js/ScriptDebugServer.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorJavaScriptCallFrameidl">trunk/Source/WebCore/inspector/JavaScriptCallFrame.idl</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceJavaScriptCoreCMakeListstxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/CMakeLists.txt (162756 => 162757)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/CMakeLists.txt        2014-01-25 04:42:00 UTC (rev 162756)
+++ trunk/Source/JavaScriptCore/CMakeLists.txt        2014-01-25 04:42:25 UTC (rev 162757)
</span><span class="lines">@@ -237,6 +237,10 @@
</span><span class="cx"> inspector/InspectorValues.cpp
</span><span class="cx"> inspector/JSInjectedScriptHost.cpp
</span><span class="cx"> inspector/JSInjectedScriptHostPrototype.cpp
</span><ins>+ inspector/JSJavaScriptCallFrame.cpp
+ inspector/JSJavaScriptCallFramePrototype.cpp
+ inspector/JavaScriptCallFrame.cpp
+ inspector/ScriptDebugServer.cpp
</ins><span class="cx"> inspector/agents/InspectorAgent.cpp
</span><span class="cx">
</span><span class="cx"> interpreter/AbstractPC.cpp
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/ChangeLog (162756 => 162757)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/ChangeLog        2014-01-25 04:42:00 UTC (rev 162756)
+++ trunk/Source/JavaScriptCore/ChangeLog        2014-01-25 04:42:25 UTC (rev 162757)
</span><span class="lines">@@ -1,3 +1,80 @@
</span><ins>+2014-01-23 Joseph Pecoraro <pecoraro@apple.com>
+
+ Move JavaScriptCallFrame and ScriptDebugServer into JavaScriptCore for inspector
+ https://bugs.webkit.org/show_bug.cgi?id=127543
+
+ Reviewed by Geoffrey Garen.
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ Add new files.
+
+ * inspector/ScriptDebugListener.h:
+ Extract WebCore knowledge from ScriptDebugServer. This will
+ eventually be made to work outside of WebCore.
+
+ * inspector/ScriptDebugServer.h: Renamed from Source/WebCore/bindings/js/ScriptDebugServer.h.
+ * inspector/ScriptDebugServer.cpp: Renamed from Source/WebCore/bindings/js/ScriptDebugServer.cpp.
+ (Inspector::ScriptDebugServer::evaluateBreakpointAction):
+ (Inspector::ScriptDebugServer::dispatchDidPause):
+ (Inspector::ScriptDebugServer::dispatchBreakpointActionLog):
+ (Inspector::ScriptDebugServer::dispatchBreakpointActionSound):
+ (Inspector::ScriptDebugServer::sourceParsed):
+ (Inspector::ScriptDebugServer::dispatchFunctionToListeners):
+ (Inspector::ScriptDebugServer::handlePause):
+ Modernize code, and call the new ScriptDebugListener callbacks where appropriate.
+
+ * inspector/JSJavaScriptCallFrame.cpp: Renamed from Source/WebCore/bindings/js/JSJavaScriptCallFrameCustom.cpp.
+ (Inspector::JSJavaScriptCallFrame::JSJavaScriptCallFrame):
+ (Inspector::JSJavaScriptCallFrame::finishCreation):
+ (Inspector::JSJavaScriptCallFrame::createPrototype):
+ (Inspector::JSJavaScriptCallFrame::destroy):
+ (Inspector::JSJavaScriptCallFrame::releaseImpl):
+ (Inspector::JSJavaScriptCallFrame::~JSJavaScriptCallFrame):
+ (Inspector::JSJavaScriptCallFrame::evaluate):
+ (Inspector::JSJavaScriptCallFrame::scopeType):
+ (Inspector::JSJavaScriptCallFrame::caller):
+ (Inspector::JSJavaScriptCallFrame::sourceID):
+ (Inspector::JSJavaScriptCallFrame::line):
+ (Inspector::JSJavaScriptCallFrame::column):
+ (Inspector::JSJavaScriptCallFrame::functionName):
+ (Inspector::JSJavaScriptCallFrame::scopeChain):
+ (Inspector::JSJavaScriptCallFrame::thisObject):
+ (Inspector::JSJavaScriptCallFrame::type):
+ (Inspector::toJS):
+ (Inspector::toJSJavaScriptCallFrame):
+ * inspector/JSJavaScriptCallFrame.h: Added.
+ (Inspector::JSJavaScriptCallFrame::createStructure):
+ (Inspector::JSJavaScriptCallFrame::create):
+ (Inspector::JSJavaScriptCallFrame::impl):
+ * inspector/JSJavaScriptCallFramePrototype.cpp: Added.
+ (Inspector::JSJavaScriptCallFramePrototype::finishCreation):
+ (Inspector::jsJavaScriptCallFramePrototypeFunctionEvaluate):
+ (Inspector::jsJavaScriptCallFramePrototypeFunctionScopeType):
+ (Inspector::jsJavaScriptCallFrameAttributeCaller):
+ (Inspector::jsJavaScriptCallFrameAttributeSourceID):
+ (Inspector::jsJavaScriptCallFrameAttributeLine):
+ (Inspector::jsJavaScriptCallFrameAttributeColumn):
+ (Inspector::jsJavaScriptCallFrameAttributeFunctionName):
+ (Inspector::jsJavaScriptCallFrameAttributeScopeChain):
+ (Inspector::jsJavaScriptCallFrameAttributeThisObject):
+ (Inspector::jsJavaScriptCallFrameAttributeType):
+ (Inspector::jsJavaScriptCallFrameConstantGLOBAL_SCOPE):
+ (Inspector::jsJavaScriptCallFrameConstantLOCAL_SCOPE):
+ (Inspector::jsJavaScriptCallFrameConstantWITH_SCOPE):
+ (Inspector::jsJavaScriptCallFrameConstantCLOSURE_SCOPE):
+ (Inspector::jsJavaScriptCallFrameConstantCATCH_SCOPE):
+ * inspector/JSJavaScriptCallFramePrototype.h: Added.
+ (Inspector::JSJavaScriptCallFramePrototype::create):
+ (Inspector::JSJavaScriptCallFramePrototype::createStructure):
+ (Inspector::JSJavaScriptCallFramePrototype::JSJavaScriptCallFramePrototype):
+ * inspector/JavaScriptCallFrame.cpp: Renamed from Source/WebCore/bindings/js/JavaScriptCallFrame.cpp.
+ (Inspector::JavaScriptCallFrame::caller):
+ * inspector/JavaScriptCallFrame.h: Renamed from Source/WebCore/bindings/js/JavaScriptCallFrame.h.
+ Port of JavaScriptCallFrame.idl to a set of native JS classes.
+
</ins><span class="cx"> 2014-01-24 Mark Lam <mark.lam@apple.com>
</span><span class="cx">
</span><span class="cx"> DebuggerCallFrame::evaluateWithCallFrame() should not execute a null executable.
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreGNUmakefilelistam"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/GNUmakefile.list.am (162756 => 162757)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/GNUmakefile.list.am        2014-01-25 04:42:00 UTC (rev 162756)
+++ trunk/Source/JavaScriptCore/GNUmakefile.list.am        2014-01-25 04:42:25 UTC (rev 162757)
</span><span class="lines">@@ -653,8 +653,16 @@
</span><span class="cx">         Source/JavaScriptCore/inspector/JSInjectedScriptHost.h \
</span><span class="cx">         Source/JavaScriptCore/inspector/JSInjectedScriptHostPrototype.cpp \
</span><span class="cx">         Source/JavaScriptCore/inspector/JSInjectedScriptHostPrototype.h \
</span><ins>+        Source/JavaScriptCore/inspector/JSJavaScriptCallFrame.cpp \
+        Source/JavaScriptCore/inspector/JSJavaScriptCallFrame.h \
+        Source/JavaScriptCore/inspector/JSJavaScriptCallFramePrototype.cpp \
+        Source/JavaScriptCore/inspector/JSJavaScriptCallFramePrototype.h \
+        Source/JavaScriptCore/inspector/JavaScriptCallFrame.cpp \
+        Source/JavaScriptCore/inspector/JavaScriptCallFrame.h \
</ins><span class="cx">         Source/JavaScriptCore/inspector/ScriptBreakpoint.h \
</span><span class="cx">         Source/JavaScriptCore/inspector/ScriptDebugListener.h \
</span><ins>+        Source/JavaScriptCore/inspector/ScriptDebugServer.cpp \
+        Source/JavaScriptCore/inspector/ScriptDebugServer.h \
</ins><span class="cx">         Source/JavaScriptCore/inspector/agents/InspectorAgent.h \
</span><span class="cx">         Source/JavaScriptCore/inspector/agents/InspectorAgent.cpp \
</span><span class="cx">         Source/JavaScriptCore/interpreter/AbstractPC.cpp \
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreJavaScriptCorevcxprojJavaScriptCorevcxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj (162756 => 162757)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj        2014-01-25 04:42:00 UTC (rev 162756)
+++ trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj        2014-01-25 04:42:25 UTC (rev 162757)
</span><span class="lines">@@ -486,6 +486,10 @@
</span><span class="cx"> <ClCompile Include="..\inspector\InspectorValues.cpp" />
</span><span class="cx"> <ClCompile Include="..\inspector\JSInjectedScriptHost.cpp" />
</span><span class="cx"> <ClCompile Include="..\inspector\JSInjectedScriptHostPrototype.cpp" />
</span><ins>+ <ClCompile Include="..\inspector\JSJavaScriptCallFrame.cpp" />
+ <ClCompile Include="..\inspector\JSJavaScriptCallFramePrototype.cpp" />
+ <ClCompile Include="..\inspector\JavaScriptCallFrame.cpp" />
+ <ClCompile Include="..\inspector\ScriptDebugServer.cpp" />
</ins><span class="cx"> <ClCompile Include="..\inspector\agents\InspectorAgent.cpp" />
</span><span class="cx"> <ClCompile Include="..\interpreter\AbstractPC.cpp" />
</span><span class="cx"> <ClCompile Include="..\interpreter\CallFrame.cpp" />
</span><span class="lines">@@ -1057,8 +1061,12 @@
</span><span class="cx"> <ClInclude Include="..\inspector\InspectorValues.h" />
</span><span class="cx"> <ClInclude Include="..\inspector\JSInjectedScriptHost.h" />
</span><span class="cx"> <ClInclude Include="..\inspector\JSInjectedScriptHostPrototype.h" />
</span><ins>+ <ClInclude Include="..\inspector\JSJavaScriptCallFrame.h" />
+ <ClInclude Include="..\inspector\JSJavaScriptCallFramePrototype.h" />
+ <ClInclude Include="..\inspector\JavaScriptCallFrame.h" />
</ins><span class="cx"> <ClInclude Include="..\inspector\ScriptBreakpoint.h" />
</span><span class="cx"> <ClInclude Include="..\inspector\ScriptDebugListener.h" />
</span><ins>+ <ClInclude Include="..\inspector\ScriptDebugServer.h" />
</ins><span class="cx"> <ClInclude Include="..\inspector\agents\InspectorAgent.h" />
</span><span class="cx"> <ClInclude Include="..\interpreter\AbstractPC.h" />
</span><span class="cx"> <ClInclude Include="..\interpreter\CachedCall.h" />
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreJavaScriptCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj (162756 => 162757)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj        2014-01-25 04:42:00 UTC (rev 162756)
+++ trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj        2014-01-25 04:42:25 UTC (rev 162757)
</span><span class="lines">@@ -900,8 +900,16 @@
</span><span class="cx">                 A1712B4111C7B235007A5315 /* RegExpKey.h in Headers */ = {isa = PBXBuildFile; fileRef = A1712B4011C7B235007A5315 /* RegExpKey.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 A1A009C01831A22D00CF8711 /* MacroAssemblerARM64.h in Headers */ = {isa = PBXBuildFile; fileRef = 8640923C156EED3B00566CB2 /* MacroAssemblerARM64.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 A1A009C11831A26E00CF8711 /* ARM64Assembler.h in Headers */ = {isa = PBXBuildFile; fileRef = 8640923B156EED3B00566CB2 /* ARM64Assembler.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><ins>+                A503FA19188E0FB000110F14 /* JavaScriptCallFrame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A503FA13188E0FAF00110F14 /* JavaScriptCallFrame.cpp */; };
+                A503FA1A188E0FB000110F14 /* JavaScriptCallFrame.h in Headers */ = {isa = PBXBuildFile; fileRef = A503FA14188E0FAF00110F14 /* JavaScriptCallFrame.h */; };
+                A503FA1B188E0FB000110F14 /* JSJavaScriptCallFrame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A503FA15188E0FB000110F14 /* JSJavaScriptCallFrame.cpp */; };
+                A503FA1C188E0FB000110F14 /* JSJavaScriptCallFrame.h in Headers */ = {isa = PBXBuildFile; fileRef = A503FA16188E0FB000110F14 /* JSJavaScriptCallFrame.h */; };
+                A503FA1D188E0FB000110F14 /* JSJavaScriptCallFramePrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A503FA17188E0FB000110F14 /* JSJavaScriptCallFramePrototype.cpp */; };
+                A503FA1E188E0FB000110F14 /* JSJavaScriptCallFramePrototype.h in Headers */ = {isa = PBXBuildFile; fileRef = A503FA18188E0FB000110F14 /* JSJavaScriptCallFramePrototype.h */; };
</ins><span class="cx">                 A503FA21188EFF6800110F14 /* ScriptBreakpoint.h in Headers */ = {isa = PBXBuildFile; fileRef = A503FA1F188EFF6800110F14 /* ScriptBreakpoint.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 A503FA22188EFF6800110F14 /* ScriptDebugListener.h in Headers */ = {isa = PBXBuildFile; fileRef = A503FA20188EFF6800110F14 /* ScriptDebugListener.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><ins>+                A503FA25188EFFFD00110F14 /* ScriptDebugServer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A503FA23188EFFFD00110F14 /* ScriptDebugServer.cpp */; };
+                A503FA26188EFFFD00110F14 /* ScriptDebugServer.h in Headers */ = {isa = PBXBuildFile; fileRef = A503FA24188EFFFD00110F14 /* ScriptDebugServer.h */; settings = {ATTRIBUTES = (Private, ); }; };
</ins><span class="cx">                 A51007C0187CC3C600B38879 /* JSGlobalObjectInspectorController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A51007BE187CC3C600B38879 /* JSGlobalObjectInspectorController.cpp */; };
</span><span class="cx">                 A51007C1187CC3C600B38879 /* JSGlobalObjectInspectorController.h in Headers */ = {isa = PBXBuildFile; fileRef = A51007BF187CC3C600B38879 /* JSGlobalObjectInspectorController.h */; };
</span><span class="cx">                 A513E5B7185B8BD3007E95AD /* InjectedScript.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A513E5B5185B8BD3007E95AD /* InjectedScript.cpp */; };
</span><span class="lines">@@ -2290,8 +2298,16 @@
</span><span class="cx">                 A1712B3A11C7B212007A5315 /* RegExpCache.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RegExpCache.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 A1712B3E11C7B228007A5315 /* RegExpCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RegExpCache.h; sourceTree = "<group>"; };
</span><span class="cx">                 A1712B4011C7B235007A5315 /* RegExpKey.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RegExpKey.h; sourceTree = "<group>"; };
</span><ins>+                A503FA13188E0FAF00110F14 /* JavaScriptCallFrame.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JavaScriptCallFrame.cpp; sourceTree = "<group>"; };
+                A503FA14188E0FAF00110F14 /* JavaScriptCallFrame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JavaScriptCallFrame.h; sourceTree = "<group>"; };
+                A503FA15188E0FB000110F14 /* JSJavaScriptCallFrame.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSJavaScriptCallFrame.cpp; sourceTree = "<group>"; };
+                A503FA16188E0FB000110F14 /* JSJavaScriptCallFrame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSJavaScriptCallFrame.h; sourceTree = "<group>"; };
+                A503FA17188E0FB000110F14 /* JSJavaScriptCallFramePrototype.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSJavaScriptCallFramePrototype.cpp; sourceTree = "<group>"; };
+                A503FA18188E0FB000110F14 /* JSJavaScriptCallFramePrototype.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSJavaScriptCallFramePrototype.h; sourceTree = "<group>"; };
</ins><span class="cx">                 A503FA1F188EFF6800110F14 /* ScriptBreakpoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScriptBreakpoint.h; sourceTree = "<group>"; };
</span><span class="cx">                 A503FA20188EFF6800110F14 /* ScriptDebugListener.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScriptDebugListener.h; sourceTree = "<group>"; };
</span><ins>+                A503FA23188EFFFD00110F14 /* ScriptDebugServer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScriptDebugServer.cpp; sourceTree = "<group>"; };
+                A503FA24188EFFFD00110F14 /* ScriptDebugServer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScriptDebugServer.h; sourceTree = "<group>"; };
</ins><span class="cx">                 A51007BE187CC3C600B38879 /* JSGlobalObjectInspectorController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSGlobalObjectInspectorController.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 A51007BF187CC3C600B38879 /* JSGlobalObjectInspectorController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSGlobalObjectInspectorController.h; sourceTree = "<group>"; };
</span><span class="cx">                 A513E5B5185B8BD3007E95AD /* InjectedScript.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InjectedScript.cpp; sourceTree = "<group>"; };
</span><span class="lines">@@ -4409,8 +4425,16 @@
</span><span class="cx">                                 A513E5BB185BFACC007E95AD /* JSInjectedScriptHost.h */,
</span><span class="cx">                                 A513E5BC185BFACC007E95AD /* JSInjectedScriptHostPrototype.cpp */,
</span><span class="cx">                                 A513E5BD185BFACC007E95AD /* JSInjectedScriptHostPrototype.h */,
</span><ins>+                                A503FA15188E0FB000110F14 /* JSJavaScriptCallFrame.cpp */,
+                                A503FA16188E0FB000110F14 /* JSJavaScriptCallFrame.h */,
+                                A503FA17188E0FB000110F14 /* JSJavaScriptCallFramePrototype.cpp */,
+                                A503FA18188E0FB000110F14 /* JSJavaScriptCallFramePrototype.h */,
+                                A503FA13188E0FAF00110F14 /* JavaScriptCallFrame.cpp */,
+                                A503FA14188E0FAF00110F14 /* JavaScriptCallFrame.h */,
</ins><span class="cx">                                 A503FA1F188EFF6800110F14 /* ScriptBreakpoint.h */,
</span><span class="cx">                                 A503FA20188EFF6800110F14 /* ScriptDebugListener.h */,
</span><ins>+                                A503FA23188EFFFD00110F14 /* ScriptDebugServer.cpp */,
+                                A503FA24188EFFFD00110F14 /* ScriptDebugServer.h */,
</ins><span class="cx">                         );
</span><span class="cx">                         path = inspector;
</span><span class="cx">                         sourceTree = "<group>";
</span><span class="lines">@@ -4508,6 +4532,7 @@
</span><span class="cx">                                 86D3B2C510156BDE002865E7 /* AssemblerBufferWithConstantPool.h in Headers */,
</span><span class="cx">                                 0F24E54117EA9F5900ABB217 /* AssemblyHelpers.h in Headers */,
</span><span class="cx">                                 A784A26111D16622005776AC /* ASTBuilder.h in Headers */,
</span><ins>+                                A503FA1A188E0FB000110F14 /* JavaScriptCallFrame.h in Headers */,
</ins><span class="cx">                                 147B83AC0E6DB8C9004775A4 /* BatchedTransitionOptimizer.h in Headers */,
</span><span class="cx">                                 866739D213BFDE710023D87C /* BigInteger.h in Headers */,
</span><span class="cx">                                 14816E1C154CC56C00B8054C /* BlockAllocator.h in Headers */,
</span><span class="lines">@@ -4607,6 +4632,7 @@
</span><span class="cx">                                 0F7B294D14C3CD4C007C3DB1 /* DFGCommon.h in Headers */,
</span><span class="cx">                                 0FEA0A32170D40BF00BB722C /* DFGCommonData.h in Headers */,
</span><span class="cx">                                 0F38B01817CFE75500B144D3 /* DFGCompilationKey.h in Headers */,
</span><ins>+                                A503FA1E188E0FB000110F14 /* JSJavaScriptCallFramePrototype.h in Headers */,
</ins><span class="cx">                                 0F38B01A17CFE75500B144D3 /* DFGCompilationMode.h in Headers */,
</span><span class="cx">                                 0F3B3A1B153E68F4003ED0FF /* DFGConstantFoldingPhase.h in Headers */,
</span><span class="cx">                                 0FBE0F7316C1DB050082C5E8 /* DFGCPSRethreadingPhase.h in Headers */,
</span><span class="lines">@@ -4799,6 +4825,7 @@
</span><span class="cx">                                 0F666EC1183566F900D017F1 /* FullBytecodeLiveness.h in Headers */,
</span><span class="cx">                                 C2E526BE1590EF000054E48D /* HeapTimer.h in Headers */,
</span><span class="cx">                                 0F4680D514BBD24B00BFE272 /* HostCallReturnValue.h in Headers */,
</span><ins>+                                A503FA26188EFFFD00110F14 /* ScriptDebugServer.h in Headers */,
</ins><span class="cx">                                 BC18C40F0E16F5CD00B34460 /* Identifier.h in Headers */,
</span><span class="cx">                                 C25F8BCE157544A900245B71 /* IncrementalSweeper.h in Headers */,
</span><span class="cx">                                 0FB7F39915ED8E4600F167B2 /* IndexingHeader.h in Headers */,
</span><span class="lines">@@ -5825,6 +5852,7 @@
</span><span class="cx">                                 0FF0F19F16B72A17005DF95B /* FunctionExecutableDump.cpp in Sources */,
</span><span class="cx">                                 147F39CC107EC37600427A48 /* FunctionPrototype.cpp in Sources */,
</span><span class="cx">                                 C2D58C3415912FEE0021A844 /* GCActivityCallback.cpp in Sources */,
</span><ins>+                                A503FA1D188E0FB000110F14 /* JSJavaScriptCallFramePrototype.cpp in Sources */,
</ins><span class="cx">                                 0F766D2F15A8DCE0008F363E /* GCAwareJITStubRoutine.cpp in Sources */,
</span><span class="cx">                                 C2239D1A16262BDD005AC5FD /* GCThread.cpp in Sources */,
</span><span class="cx">                                 C21122E115DD9AB300790E3A /* GCThreadSharedData.cpp in Sources */,
</span><span class="lines">@@ -5867,6 +5895,7 @@
</span><span class="cx">                                 0F766D2815A8CC1E008F363E /* JITStubRoutine.cpp in Sources */,
</span><span class="cx">                                 0F766D2B15A8CC38008F363E /* JITStubRoutineSet.cpp in Sources */,
</span><span class="cx">                                 14A23D750F4E1ABB0023CDAD /* JITStubs.cpp in Sources */,
</span><ins>+                                A503FA19188E0FB000110F14 /* JavaScriptCallFrame.cpp in Sources */,
</ins><span class="cx">                                 0F5EF91E16878F7A003E5C25 /* JITThunks.cpp in Sources */,
</span><span class="cx">                                 0FC712E217CD8791008CC93C /* JITToDFGDeferredCompilationCallback.cpp in Sources */,
</span><span class="cx">                                 140B7D1D0DC69AF7009C42B8 /* JSActivation.cpp in Sources */,
</span><span class="lines">@@ -5933,6 +5962,7 @@
</span><span class="cx">                                 A7CA3AE717DA41AE006538AF /* JSWeakMap.cpp in Sources */,
</span><span class="cx">                                 A7482B9411671147003B0712 /* JSWeakObjectMapRefPrivate.cpp in Sources */,
</span><span class="cx">                                 1442566115EDE98D0066A49B /* JSWithScope.cpp in Sources */,
</span><ins>+                                A503FA1B188E0FB000110F14 /* JSJavaScriptCallFrame.cpp in Sources */,
</ins><span class="cx">                                 86E3C618167BABEE006D760A /* JSWrapperMap.mm in Sources */,
</span><span class="cx">                                 14280870107EC1340013E7B2 /* JSWrapperObject.cpp in Sources */,
</span><span class="cx">                                 BCFD8C920EEB2EE700283848 /* JumpTable.cpp in Sources */,
</span><span class="lines">@@ -6048,6 +6078,7 @@
</span><span class="cx">                                 A730B6131250068F009D25B1 /* StrictEvalActivation.cpp in Sources */,
</span><span class="cx">                                 14469DEB107EC7E700650446 /* StringConstructor.cpp in Sources */,
</span><span class="cx">                                 14469DEC107EC7E700650446 /* StringObject.cpp in Sources */,
</span><ins>+                                A503FA25188EFFFD00110F14 /* ScriptDebugServer.cpp in Sources */,
</ins><span class="cx">                                 14469DED107EC7E700650446 /* StringPrototype.cpp in Sources */,
</span><span class="cx">                                 9335F24D12E6765B002B5553 /* StringRecursionChecker.cpp in Sources */,
</span><span class="cx">                                 BCDE3B430E6C832D001453A7 /* Structure.cpp in Sources */,
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorJSInjectedScriptHosth"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/JSInjectedScriptHost.h (162756 => 162757)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/JSInjectedScriptHost.h        2014-01-25 04:42:00 UTC (rev 162756)
+++ trunk/Source/JavaScriptCore/inspector/JSInjectedScriptHost.h        2014-01-25 04:42:25 UTC (rev 162757)
</span><span class="lines">@@ -69,7 +69,7 @@
</span><span class="cx"> JSC::JSValue getInternalProperties(JSC::ExecState*);
</span><span class="cx">
</span><span class="cx"> protected:
</span><del>- static const unsigned StructureFlags = JSC::OverridesGetOwnPropertySlot | JSC::InterceptsGetOwnPropertySlotByIndexEvenWhenLengthIsNotZero | Base::StructureFlags;
</del><ins>+ static const unsigned StructureFlags = Base::StructureFlags;
</ins><span class="cx">
</span><span class="cx"> void finishCreation(JSC::VM&);
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorJSJavaScriptCallFramecppfromrev162755trunkSourceWebCorebindingsjsJSJavaScriptCallFrameCustomcpp"></a>
<div class="copfile"><h4>Copied: trunk/Source/JavaScriptCore/inspector/JSJavaScriptCallFrame.cpp (from rev 162755, trunk/Source/WebCore/bindings/js/JSJavaScriptCallFrameCustom.cpp) (0 => 162757)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/JSJavaScriptCallFrame.cpp         (rev 0)
+++ trunk/Source/JavaScriptCore/inspector/JSJavaScriptCallFrame.cpp        2014-01-25 04:42:25 UTC (rev 162757)
</span><span class="lines">@@ -0,0 +1,215 @@
</span><ins>+/*
+ * Copyright (C) 2014 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "JSJavaScriptCallFrame.h"
+
+#if ENABLE(INSPECTOR)
+#if ENABLE(JAVASCRIPT_DEBUGGER)
+
+#include "Error.h"
+#include "JSCJSValue.h"
+#include "JSCellInlines.h"
+#include "JSJavaScriptCallFramePrototype.h"
+#include "StructureInlines.h"
+
+using namespace JSC;
+
+namespace Inspector {
+
+const ClassInfo JSJavaScriptCallFrame::s_info = { "JavaScriptCallFrame", &Base::s_info, 0, 0, CREATE_METHOD_TABLE(JSJavaScriptCallFrame) };
+
+JSJavaScriptCallFrame::JSJavaScriptCallFrame(VM& vm, Structure* structure, PassRefPtr<JavaScriptCallFrame> impl)
+ : JSDestructibleObject(vm, structure)
+ , m_impl(impl.leakRef())
+{
+}
+
+void JSJavaScriptCallFrame::finishCreation(VM& vm)
+{
+ Base::finishCreation(vm);
+ ASSERT(inherits(info()));
+}
+
+JSObject* JSJavaScriptCallFrame::createPrototype(VM& vm, JSGlobalObject* globalObject)
+{
+ return JSJavaScriptCallFramePrototype::create(vm, globalObject, JSJavaScriptCallFramePrototype::createStructure(vm, globalObject, globalObject->objectPrototype()));
+}
+
+void JSJavaScriptCallFrame::destroy(JSC::JSCell* cell)
+{
+ JSJavaScriptCallFrame* thisObject = static_cast<JSJavaScriptCallFrame*>(cell);
+ thisObject->JSJavaScriptCallFrame::~JSJavaScriptCallFrame();
+}
+
+void JSJavaScriptCallFrame::releaseImpl()
+{
+ if (m_impl) {
+ m_impl->deref();
+ m_impl = nullptr;
+ }
+}
+
+JSJavaScriptCallFrame::~JSJavaScriptCallFrame()
+{
+ releaseImpl();
+}
+
+JSValue JSJavaScriptCallFrame::evaluate(ExecState* exec)
+{
+ JSValue exception;
+ JSValue result = impl().evaluate(exec->argument(0).toString(exec)->value(exec), exception);
+ if (exception)
+ exec->vm().throwException(exec, exception);
+
+ return result;
+}
+
+JSValue JSJavaScriptCallFrame::scopeType(ExecState* exec)
+{
+ if (!impl().scopeChain())
+ return jsUndefined();
+
+ if (!exec->argument(0).isInt32())
+ return jsUndefined();
+ int index = exec->argument(0).asInt32();
+
+ JSScope* scopeChain = impl().scopeChain();
+ ScopeChainIterator end = scopeChain->end();
+
+ // FIXME: We should be identifying and returning CATCH_SCOPE appropriately.
+
+ bool foundLocalScope = false;
+ for (ScopeChainIterator iter = scopeChain->begin(); iter != end; ++iter) {
+ JSObject* scope = iter.get();
+ if (scope->isActivationObject()) {
+ if (!foundLocalScope) {
+ // First activation object is local scope, each successive activation object is closure.
+ if (!index)
+ return jsNumber(JSJavaScriptCallFrame::LOCAL_SCOPE);
+ foundLocalScope = true;
+ } else if (!index)
+ return jsNumber(JSJavaScriptCallFrame::CLOSURE_SCOPE);
+ }
+
+ if (!index) {
+ // Last in the chain is global scope.
+ if (++iter == end)
+ return jsNumber(JSJavaScriptCallFrame::GLOBAL_SCOPE);
+ return jsNumber(JSJavaScriptCallFrame::WITH_SCOPE);
+ }
+
+ --index;
+ }
+
+ ASSERT_NOT_REACHED();
+ return jsUndefined();
+}
+
+JSValue JSJavaScriptCallFrame::caller(ExecState* exec) const
+{
+ return toJS(exec, globalObject(), impl().caller());
+}
+
+JSValue JSJavaScriptCallFrame::sourceID(ExecState*) const
+{
+ return jsNumber(impl().sourceID());
+}
+
+JSValue JSJavaScriptCallFrame::line(ExecState*) const
+{
+ return jsNumber(impl().line());
+}
+
+JSValue JSJavaScriptCallFrame::column(ExecState*) const
+{
+ return jsNumber(impl().column());
+}
+
+JSValue JSJavaScriptCallFrame::functionName(ExecState* exec) const
+{
+ return jsString(exec, impl().functionName());
+}
+
+JSValue JSJavaScriptCallFrame::scopeChain(ExecState* exec) const
+{
+ if (!impl().scopeChain())
+ return jsNull();
+
+ JSScope* scopeChain = impl().scopeChain();
+ ScopeChainIterator iter = scopeChain->begin();
+ ScopeChainIterator end = scopeChain->end();
+
+ // We must always have something in the scope chain.
+ ASSERT(iter != end);
+
+ MarkedArgumentBuffer list;
+ do {
+ list.append(iter.get());
+ ++iter;
+ } while (iter != end);
+
+ return constructArray(exec, nullptr, globalObject(), list);
+}
+
+JSValue JSJavaScriptCallFrame::thisObject(ExecState*) const
+{
+ return impl().thisValue();
+}
+
+JSValue JSJavaScriptCallFrame::type(ExecState* exec) const
+{
+ switch (impl().type()) {
+ case DebuggerCallFrame::FunctionType:
+ return jsNontrivialString(exec, ASCIILiteral("function"));
+ case DebuggerCallFrame::ProgramType:
+ return jsNontrivialString(exec, ASCIILiteral("program"));
+ }
+
+ ASSERT_NOT_REACHED();
+ return jsNull();
+}
+
+JSValue toJS(ExecState* exec, JSGlobalObject* globalObject, JavaScriptCallFrame* impl)
+{
+ if (!impl)
+ return jsNull();
+
+ JSObject* prototype = JSJavaScriptCallFrame::createPrototype(exec->vm(), globalObject);
+ Structure* structure = JSJavaScriptCallFrame::createStructure(exec->vm(), globalObject, prototype);
+ JSJavaScriptCallFrame* javaScriptCallFrame = JSJavaScriptCallFrame::create(exec->vm(), structure, impl);
+
+ return javaScriptCallFrame;
+}
+
+JSJavaScriptCallFrame* toJSJavaScriptCallFrame(JSValue value)
+{
+ return value.inherits(JSJavaScriptCallFrame::info()) ? jsCast<JSJavaScriptCallFrame*>(value) : nullptr;
+}
+
+} // namespace Inspector
+
+#endif // ENABLE(JAVASCRIPT_DEBUGGER)
+#endif // ENABLE(INSPECTOR)
</ins></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorJSJavaScriptCallFramehfromrev162755trunkSourceJavaScriptCoreinspectorJSInjectedScriptHosth"></a>
<div class="copfile"><h4>Copied: trunk/Source/JavaScriptCore/inspector/JSJavaScriptCallFrame.h (from rev 162755, trunk/Source/JavaScriptCore/inspector/JSInjectedScriptHost.h) (0 => 162757)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/JSJavaScriptCallFrame.h         (rev 0)
+++ trunk/Source/JavaScriptCore/inspector/JSJavaScriptCallFrame.h        2014-01-25 04:42:25 UTC (rev 162757)
</span><span class="lines">@@ -0,0 +1,102 @@
</span><ins>+/*
+ * Copyright (C) 2014 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef JSJavaScriptCallFrame_h
+#define JSJavaScriptCallFrame_h
+
+#if ENABLE(INSPECTOR)
+#if ENABLE(JAVASCRIPT_DEBUGGER)
+
+#include "JSDestructibleObject.h"
+#include "JavaScriptCallFrame.h"
+
+namespace Inspector {
+
+class JSJavaScriptCallFrame : public JSC::JSDestructibleObject {
+public:
+ typedef JSC::JSDestructibleObject Base;
+
+ DECLARE_INFO;
+
+ static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
+ {
+ return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
+ }
+
+ static JSJavaScriptCallFrame* create(JSC::VM& vm, JSC::Structure* structure, PassRefPtr<JavaScriptCallFrame> impl)
+ {
+ JSJavaScriptCallFrame* instance = new (NotNull, JSC::allocateCell<JSJavaScriptCallFrame>(vm.heap)) JSJavaScriptCallFrame(vm, structure, impl);
+ instance->finishCreation(vm);
+ return instance;
+ }
+
+ static JSC::JSObject* createPrototype(JSC::VM&, JSC::JSGlobalObject*);
+ static void destroy(JSC::JSCell*);
+
+ JavaScriptCallFrame& impl() const { return *m_impl; }
+ void releaseImpl();
+
+ // Functions.
+ JSC::JSValue evaluate(JSC::ExecState*);
+ JSC::JSValue scopeType(JSC::ExecState*);
+
+ // Attributes.
+ JSC::JSValue caller(JSC::ExecState*) const;
+ JSC::JSValue sourceID(JSC::ExecState*) const;
+ JSC::JSValue line(JSC::ExecState*) const;
+ JSC::JSValue column(JSC::ExecState*) const;
+ JSC::JSValue functionName(JSC::ExecState*) const;
+ JSC::JSValue scopeChain(JSC::ExecState*) const;
+ JSC::JSValue thisObject(JSC::ExecState*) const;
+ JSC::JSValue type(JSC::ExecState*) const;
+
+ // Constants.
+ static const unsigned short GLOBAL_SCOPE = 0;
+ static const unsigned short LOCAL_SCOPE = 1;
+ static const unsigned short WITH_SCOPE = 2;
+ static const unsigned short CLOSURE_SCOPE = 3;
+ static const unsigned short CATCH_SCOPE = 4;
+
+protected:
+ static const unsigned StructureFlags = Base::StructureFlags;
+
+ void finishCreation(JSC::VM&);
+
+private:
+ JSJavaScriptCallFrame(JSC::VM&, JSC::Structure*, PassRefPtr<JavaScriptCallFrame>);
+ ~JSJavaScriptCallFrame();
+
+ JavaScriptCallFrame* m_impl;
+};
+
+JSC::JSValue toJS(JSC::ExecState*, JSC::JSGlobalObject*, JavaScriptCallFrame*);
+JSJavaScriptCallFrame* toJSJavaScriptCallFrame(JSC::JSValue);
+
+} // namespace Inspector
+
+#endif // ENABLE(JAVASCRIPT_DEBUGGER)
+#endif // ENABLE(INSPECTOR)
+
+#endif // !defined(JSJavaScriptCallFrame_h)
</ins></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorJSJavaScriptCallFramePrototypecpp"></a>
<div class="addfile"><h4>Added: trunk/Source/JavaScriptCore/inspector/JSJavaScriptCallFramePrototype.cpp (0 => 162757)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/JSJavaScriptCallFramePrototype.cpp         (rev 0)
+++ trunk/Source/JavaScriptCore/inspector/JSJavaScriptCallFramePrototype.cpp        2014-01-25 04:42:25 UTC (rev 162757)
</span><span class="lines">@@ -0,0 +1,238 @@
</span><ins>+/*
+ * Copyright (C) 2014 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "JSJavaScriptCallFramePrototype.h"
+
+#if ENABLE(INSPECTOR)
+#if ENABLE(JAVASCRIPT_DEBUGGER)
+
+#include "Error.h"
+#include "GetterSetter.h"
+#include "Identifier.h"
+#include "JSCJSValueInlines.h"
+#include "JSFunction.h"
+#include "JSJavaScriptCallFrame.h"
+
+using namespace JSC;
+
+namespace Inspector {
+
+// Functions.
+static EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFramePrototypeFunctionEvaluate(ExecState*);
+static EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFramePrototypeFunctionScopeType(ExecState*);
+
+// Attributes.
+static EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameAttributeCaller(ExecState*);
+static EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameAttributeSourceID(ExecState*);
+static EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameAttributeLine(ExecState*);
+static EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameAttributeColumn(ExecState*);
+static EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameAttributeFunctionName(ExecState*);
+static EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameAttributeScopeChain(ExecState*);
+static EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameAttributeThisObject(ExecState*);
+static EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameAttributeType(ExecState*);
+
+// Constants.
+static EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameConstantGLOBAL_SCOPE(ExecState*);
+static EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameConstantLOCAL_SCOPE(ExecState*);
+static EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameConstantWITH_SCOPE(ExecState*);
+static EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameConstantCLOSURE_SCOPE(ExecState*);
+static EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameConstantCATCH_SCOPE(ExecState*);
+
+const ClassInfo JSJavaScriptCallFramePrototype::s_info = { "JavaScriptCallFrame", &Base::s_info, 0, 0, CREATE_METHOD_TABLE(JSJavaScriptCallFramePrototype) };
+
+#define JSC_NATIVE_NON_INDEX_ACCESSOR(jsName, cppName, attributes) \
+ { \
+ Identifier identifier(&vm, jsName); \
+ GetterSetter* accessor = GetterSetter::create(vm); \
+ JSFunction* function = JSFunction::create(vm, globalObject, 0, identifier.string(), cppName); \
+ accessor->setGetter(vm, function); \
+ putDirectNonIndexAccessor(vm, identifier, accessor, (attributes)); \
+ }
+
+void JSJavaScriptCallFramePrototype::finishCreation(VM& vm, JSGlobalObject* globalObject)
+{
+ Base::finishCreation(vm);
+ ASSERT(inherits(info()));
+ vm.prototypeMap.addPrototype(this);
+
+ JSC_NATIVE_FUNCTION("evaluate", jsJavaScriptCallFramePrototypeFunctionEvaluate, DontEnum, 1);
+ JSC_NATIVE_FUNCTION("scopeType", jsJavaScriptCallFramePrototypeFunctionScopeType, DontEnum, 1);
+
+ JSC_NATIVE_NON_INDEX_ACCESSOR("caller", jsJavaScriptCallFrameAttributeCaller, DontEnum | Accessor);
+ JSC_NATIVE_NON_INDEX_ACCESSOR("sourceID", jsJavaScriptCallFrameAttributeSourceID, DontEnum | Accessor);
+ JSC_NATIVE_NON_INDEX_ACCESSOR("line", jsJavaScriptCallFrameAttributeLine, DontEnum | Accessor);
+ JSC_NATIVE_NON_INDEX_ACCESSOR("column", jsJavaScriptCallFrameAttributeColumn, DontEnum | Accessor);
+ JSC_NATIVE_NON_INDEX_ACCESSOR("functionName", jsJavaScriptCallFrameAttributeFunctionName, DontEnum | Accessor);
+ JSC_NATIVE_NON_INDEX_ACCESSOR("scopeChain", jsJavaScriptCallFrameAttributeScopeChain, DontEnum | Accessor);
+ JSC_NATIVE_NON_INDEX_ACCESSOR("thisObject", jsJavaScriptCallFrameAttributeThisObject, DontEnum | Accessor);
+ JSC_NATIVE_NON_INDEX_ACCESSOR("type", jsJavaScriptCallFrameAttributeType, DontEnum | Accessor);
+
+ JSC_NATIVE_NON_INDEX_ACCESSOR("GLOBAL_SCOPE", jsJavaScriptCallFrameConstantGLOBAL_SCOPE, DontEnum | Accessor);
+ JSC_NATIVE_NON_INDEX_ACCESSOR("LOCAL_SCOPE", jsJavaScriptCallFrameConstantLOCAL_SCOPE, DontEnum | Accessor);
+ JSC_NATIVE_NON_INDEX_ACCESSOR("WITH_SCOPE", jsJavaScriptCallFrameConstantWITH_SCOPE, DontEnum | Accessor);
+ JSC_NATIVE_NON_INDEX_ACCESSOR("CLOSURE_SCOPE", jsJavaScriptCallFrameConstantCLOSURE_SCOPE, DontEnum | Accessor);
+ JSC_NATIVE_NON_INDEX_ACCESSOR("CATCH_SCOPE", jsJavaScriptCallFrameConstantCATCH_SCOPE, DontEnum | Accessor);
+}
+
+EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFramePrototypeFunctionEvaluate(ExecState* exec)
+{
+ JSValue thisValue = exec->hostThisValue();
+ JSJavaScriptCallFrame* castedThis = jsDynamicCast<JSJavaScriptCallFrame*>(thisValue);
+ if (!castedThis)
+ return throwVMTypeError(exec);
+
+ ASSERT_GC_OBJECT_INHERITS(castedThis, JSJavaScriptCallFrame::info());
+ return JSValue::encode(castedThis->evaluate(exec));
+}
+
+EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFramePrototypeFunctionScopeType(ExecState* exec)
+{
+ JSValue thisValue = exec->hostThisValue();
+ JSJavaScriptCallFrame* castedThis = jsDynamicCast<JSJavaScriptCallFrame*>(thisValue);
+ if (!castedThis)
+ return throwVMTypeError(exec);
+
+ ASSERT_GC_OBJECT_INHERITS(castedThis, JSJavaScriptCallFrame::info());
+ return JSValue::encode(castedThis->scopeType(exec));
+}
+
+EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameAttributeCaller(ExecState* exec)
+{
+ JSValue thisValue = exec->hostThisValue();
+ JSJavaScriptCallFrame* castedThis = jsDynamicCast<JSJavaScriptCallFrame*>(thisValue);
+ if (!castedThis)
+ return throwVMTypeError(exec);
+
+ ASSERT_GC_OBJECT_INHERITS(castedThis, JSJavaScriptCallFrame::info());
+ return JSValue::encode(castedThis->caller(exec));
+}
+
+EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameAttributeSourceID(ExecState* exec)
+{
+ JSValue thisValue = exec->hostThisValue();
+ JSJavaScriptCallFrame* castedThis = jsDynamicCast<JSJavaScriptCallFrame*>(thisValue);
+ if (!castedThis)
+ return throwVMTypeError(exec);
+
+ ASSERT_GC_OBJECT_INHERITS(castedThis, JSJavaScriptCallFrame::info());
+ return JSValue::encode(castedThis->sourceID(exec));
+}
+
+EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameAttributeLine(ExecState* exec)
+{
+ JSValue thisValue = exec->hostThisValue();
+ JSJavaScriptCallFrame* castedThis = jsDynamicCast<JSJavaScriptCallFrame*>(thisValue);
+ if (!castedThis)
+ return throwVMTypeError(exec);
+
+ ASSERT_GC_OBJECT_INHERITS(castedThis, JSJavaScriptCallFrame::info());
+ return JSValue::encode(castedThis->line(exec));
+}
+
+EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameAttributeColumn(ExecState* exec)
+{
+ JSValue thisValue = exec->hostThisValue();
+ JSJavaScriptCallFrame* castedThis = jsDynamicCast<JSJavaScriptCallFrame*>(thisValue);
+ if (!castedThis)
+ return throwVMTypeError(exec);
+
+ ASSERT_GC_OBJECT_INHERITS(castedThis, JSJavaScriptCallFrame::info());
+ return JSValue::encode(castedThis->column(exec));
+}
+
+EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameAttributeFunctionName(ExecState* exec)
+{
+ JSValue thisValue = exec->hostThisValue();
+ JSJavaScriptCallFrame* castedThis = jsDynamicCast<JSJavaScriptCallFrame*>(thisValue);
+ if (!castedThis)
+ return throwVMTypeError(exec);
+
+ ASSERT_GC_OBJECT_INHERITS(castedThis, JSJavaScriptCallFrame::info());
+ return JSValue::encode(castedThis->functionName(exec));
+}
+
+EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameAttributeScopeChain(ExecState* exec)
+{
+ JSValue thisValue = exec->hostThisValue();
+ JSJavaScriptCallFrame* castedThis = jsDynamicCast<JSJavaScriptCallFrame*>(thisValue);
+ if (!castedThis)
+ return throwVMTypeError(exec);
+
+ ASSERT_GC_OBJECT_INHERITS(castedThis, JSJavaScriptCallFrame::info());
+ return JSValue::encode(castedThis->scopeChain(exec));
+}
+
+EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameAttributeThisObject(ExecState* exec)
+{
+ JSValue thisValue = exec->hostThisValue();
+ JSJavaScriptCallFrame* castedThis = jsDynamicCast<JSJavaScriptCallFrame*>(thisValue);
+ if (!castedThis)
+ return throwVMTypeError(exec);
+
+ ASSERT_GC_OBJECT_INHERITS(castedThis, JSJavaScriptCallFrame::info());
+ return JSValue::encode(castedThis->thisObject(exec));
+}
+
+EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameAttributeType(ExecState* exec)
+{
+ JSValue thisValue = exec->hostThisValue();
+ JSJavaScriptCallFrame* castedThis = jsDynamicCast<JSJavaScriptCallFrame*>(thisValue);
+ if (!castedThis)
+ return throwVMTypeError(exec);
+
+ ASSERT_GC_OBJECT_INHERITS(castedThis, JSJavaScriptCallFrame::info());
+ return JSValue::encode(castedThis->type(exec));
+}
+
+EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameConstantGLOBAL_SCOPE(ExecState*)
+{
+ return JSValue::encode(jsNumber(JSJavaScriptCallFrame::GLOBAL_SCOPE));
+}
+
+EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameConstantLOCAL_SCOPE(ExecState*)
+{
+ return JSValue::encode(jsNumber(JSJavaScriptCallFrame::LOCAL_SCOPE));
+}
+
+EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameConstantWITH_SCOPE(ExecState*)
+{
+ return JSValue::encode(jsNumber(JSJavaScriptCallFrame::WITH_SCOPE));
+}
+
+EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameConstantCLOSURE_SCOPE(ExecState*)
+{
+ return JSValue::encode(jsNumber(JSJavaScriptCallFrame::CLOSURE_SCOPE));
+}
+
+EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameConstantCATCH_SCOPE(ExecState*)
+{
+ return JSValue::encode(jsNumber(JSJavaScriptCallFrame::CATCH_SCOPE));
+}
+
+} // namespace Inspector
+
+#endif // ENABLE(JAVASCRIPT_DEBUGGER)
+#endif // ENABLE(INSPECTOR)
</ins></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorJSJavaScriptCallFramePrototypehfromrev162755trunkSourceJavaScriptCoreinspectorJSInjectedScriptHosth"></a>
<div class="copfile"><h4>Copied: trunk/Source/JavaScriptCore/inspector/JSJavaScriptCallFramePrototype.h (from rev 162755, trunk/Source/JavaScriptCore/inspector/JSInjectedScriptHost.h) (0 => 162757)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/JSJavaScriptCallFramePrototype.h         (rev 0)
+++ trunk/Source/JavaScriptCore/inspector/JSJavaScriptCallFramePrototype.h        2014-01-25 04:42:25 UTC (rev 162757)
</span><span class="lines">@@ -0,0 +1,70 @@
</span><ins>+/*
+ * Copyright (C) 2014 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef JSJavaScriptCallFramePrototype_h
+#define JSJavaScriptCallFramePrototype_h
+
+#if ENABLE(INSPECTOR)
+#if ENABLE(JAVASCRIPT_DEBUGGER)
+
+#include "JSObject.h"
+
+namespace Inspector {
+
+class JSJavaScriptCallFramePrototype : public JSC::JSNonFinalObject {
+public:
+ typedef JSC::JSNonFinalObject Base;
+
+ DECLARE_INFO;
+
+ static JSJavaScriptCallFramePrototype* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
+ {
+ JSJavaScriptCallFramePrototype* ptr = new (NotNull, JSC::allocateCell<JSJavaScriptCallFramePrototype>(vm.heap)) JSJavaScriptCallFramePrototype(vm, globalObject, structure);
+ ptr->finishCreation(vm, globalObject);
+ return ptr;
+ }
+
+ static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
+ {
+ return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
+ }
+
+protected:
+ static const unsigned StructureFlags = JSC::OverridesGetOwnPropertySlot | Base::StructureFlags;
+
+private:
+ JSJavaScriptCallFramePrototype(JSC::VM& vm, JSC::JSGlobalObject*, JSC::Structure* structure)
+ : JSC::JSNonFinalObject(vm, structure)
+ {
+ }
+ void finishCreation(JSC::VM&, JSC::JSGlobalObject*);
+};
+
+} // namespace Inspector
+
+#endif // ENABLE(JAVASCRIPT_DEBUGGER)
+#endif // ENABLE(INSPECTOR)
+
+#endif // !defined(JSJavaScriptCallFramePrototype_h)
</ins></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorJavaScriptCallFramecppfromrev162755trunkSourceWebCorebindingsjsJavaScriptCallFramecpp"></a>
<div class="copfile"><h4>Copied: trunk/Source/JavaScriptCore/inspector/JavaScriptCallFrame.cpp (from rev 162755, trunk/Source/WebCore/bindings/js/JavaScriptCallFrame.cpp) (0 => 162757)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/JavaScriptCallFrame.cpp         (rev 0)
+++ trunk/Source/JavaScriptCore/inspector/JavaScriptCallFrame.cpp        2014-01-25 04:42:25 UTC (rev 162757)
</span><span class="lines">@@ -0,0 +1,57 @@
</span><ins>+/*
+ * Copyright (C) 2008, 2013 Apple Inc. All Rights Reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "JavaScriptCallFrame.h"
+
+#if ENABLE(INSPECTOR)
+#if ENABLE(JAVASCRIPT_DEBUGGER)
+
+using namespace JSC;
+
+namespace Inspector {
+
+JavaScriptCallFrame::JavaScriptCallFrame(PassRefPtr<DebuggerCallFrame> debuggerCallFrame)
+ : m_debuggerCallFrame(debuggerCallFrame)
+{
+}
+
+JavaScriptCallFrame* JavaScriptCallFrame::caller()
+{
+ if (m_caller)
+ return m_caller.get();
+
+ RefPtr<DebuggerCallFrame> debuggerCallerFrame = m_debuggerCallFrame->callerFrame();
+ if (!debuggerCallerFrame)
+ return nullptr;
+
+ m_caller = create(debuggerCallerFrame);
+ return m_caller.get();
+}
+
+} // namespace Inspector
+
+#endif // ENABLE(JAVASCRIPT_DEBUGGER)
+#endif // ENABLE(INSPECTOR)
</ins></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorJavaScriptCallFramehfromrev162755trunkSourceWebCorebindingsjsJavaScriptCallFrameh"></a>
<div class="copfile"><h4>Copied: trunk/Source/JavaScriptCore/inspector/JavaScriptCallFrame.h (from rev 162755, trunk/Source/WebCore/bindings/js/JavaScriptCallFrame.h) (0 => 162757)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/JavaScriptCallFrame.h         (rev 0)
+++ trunk/Source/JavaScriptCore/inspector/JavaScriptCallFrame.h        2014-01-25 04:42:25 UTC (rev 162757)
</span><span class="lines">@@ -0,0 +1,75 @@
</span><ins>+/*
+ * Copyright (C) 2008, 2013 Apple Inc. All Rights Reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef JavaScriptCallFrame_h
+#define JavaScriptCallFrame_h
+
+#if ENABLE(INSPECTOR)
+#if ENABLE(JAVASCRIPT_DEBUGGER)
+
+#include "JSCJSValueInlines.h"
+#include "debugger/DebuggerCallFrame.h"
+#include "interpreter/CallFrame.h"
+#include <wtf/Forward.h>
+#include <wtf/PassRefPtr.h>
+#include <wtf/RefCounted.h>
+#include <wtf/text/TextPosition.h>
+
+namespace Inspector {
+
+class JavaScriptCallFrame : public RefCounted<JavaScriptCallFrame> {
+public:
+ static PassRefPtr<JavaScriptCallFrame> create(PassRefPtr<JSC::DebuggerCallFrame> debuggerCallFrame)
+ {
+ return adoptRef(new JavaScriptCallFrame(debuggerCallFrame));
+ }
+
+ JavaScriptCallFrame* caller();
+ intptr_t sourceID() const { return m_debuggerCallFrame->sourceID(); }
+ const TextPosition position() const { return m_debuggerCallFrame->position(); }
+ int line() const { return m_debuggerCallFrame->line(); }
+ int column() const { return m_debuggerCallFrame->column(); }
+
+ String functionName() const { return m_debuggerCallFrame->functionName(); }
+ JSC::DebuggerCallFrame::Type type() const { return m_debuggerCallFrame->type(); }
+ JSC::JSScope* scopeChain() const { return m_debuggerCallFrame->scope(); }
+ JSC::JSGlobalObject* vmEntryGlobalObject() const { return m_debuggerCallFrame->vmEntryGlobalObject(); }
+
+ JSC::JSValue thisValue() const { return m_debuggerCallFrame->thisValue(); }
+ JSC::JSValue evaluate(const String& script, JSC::JSValue& exception) const { return m_debuggerCallFrame->evaluate(script, exception); }
+
+private:
+ JavaScriptCallFrame(PassRefPtr<JSC::DebuggerCallFrame>);
+
+ RefPtr<JSC::DebuggerCallFrame> m_debuggerCallFrame;
+ RefPtr<JavaScriptCallFrame> m_caller;
+};
+
+} // namespace Inspector
+
+#endif // ENABLE(JAVASCRIPT_DEBUGGER)
+#endif // ENABLE(INSPECTOR)
+
+#endif // JavaScriptCallFrame_h
</ins></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorScriptDebugListenerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/ScriptDebugListener.h (162756 => 162757)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/ScriptDebugListener.h        2014-01-25 04:42:00 UTC (rev 162756)
+++ trunk/Source/JavaScriptCore/inspector/ScriptDebugListener.h        2014-01-25 04:42:25 UTC (rev 162757)
</span><span class="lines">@@ -73,6 +73,9 @@
</span><span class="cx"> virtual void didPause(JSC::ExecState*, const Deprecated::ScriptValue& callFrames, const Deprecated::ScriptValue& exception) = 0;
</span><span class="cx"> virtual void didSampleProbe(JSC::ExecState*, int probeIdentifier, int hitCount, const Deprecated::ScriptValue& result) = 0;
</span><span class="cx"> virtual void didContinue() = 0;
</span><ins>+
+ virtual void breakpointActionLog(JSC::ExecState*, const String&) = 0;
+ virtual void breakpointActionSound() = 0;
</ins><span class="cx"> };
</span><span class="cx">
</span><span class="cx"> } // namespace Inspector
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorScriptDebugServercppfromrev162755trunkSourceWebCorebindingsjsScriptDebugServercpp"></a>
<div class="copfile"><h4>Copied: trunk/Source/JavaScriptCore/inspector/ScriptDebugServer.cpp (from rev 162755, trunk/Source/WebCore/bindings/js/ScriptDebugServer.cpp) (0 => 162757)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/ScriptDebugServer.cpp         (rev 0)
+++ trunk/Source/JavaScriptCore/inspector/ScriptDebugServer.cpp        2014-01-25 04:42:25 UTC (rev 162757)
</span><span class="lines">@@ -0,0 +1,342 @@
</span><ins>+/*
+ * Copyright (C) 2008, 2009, 2013, 2014 Apple Inc. All rights reserved.
+ * Copyright (C) 2010-2011 Google Inc. All rights reserved.
+ * Copyright (C) 2013 University of Washington. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "ScriptDebugServer.h"
+
+#if ENABLE(JAVASCRIPT_DEBUGGER)
+
+#include "DebuggerCallFrame.h"
+#include "JSJavaScriptCallFrame.h"
+#include "JSLock.h"
+#include "JavaScriptCallFrame.h"
+#include "ScriptValue.h"
+#include "SourceProvider.h"
+#include <wtf/MainThread.h>
+#include <wtf/NeverDestroyed.h>
+#include <wtf/TemporaryChange.h>
+#include <wtf/text/WTFString.h>
+
+using namespace JSC;
+using namespace Inspector;
+
+namespace Inspector {
+
+ScriptDebugServer::ScriptDebugServer(bool isInWorkerThread)
+ : Debugger(isInWorkerThread)
+ , m_doneProcessingDebuggerEvents(true)
+ , m_callingListeners(false)
+{
+}
+
+ScriptDebugServer::~ScriptDebugServer()
+{
+}
+
+JSC::BreakpointID ScriptDebugServer::setBreakpoint(JSC::SourceID sourceID, const ScriptBreakpoint& scriptBreakpoint, unsigned* actualLineNumber, unsigned* actualColumnNumber)
+{
+ if (!sourceID)
+ return JSC::noBreakpointID;
+
+ JSC::Breakpoint breakpoint(sourceID, scriptBreakpoint.lineNumber, scriptBreakpoint.columnNumber, scriptBreakpoint.condition, scriptBreakpoint.autoContinue);
+ JSC::BreakpointID id = Debugger::setBreakpoint(breakpoint, *actualLineNumber, *actualColumnNumber);
+ if (id != JSC::noBreakpointID && !scriptBreakpoint.actions.isEmpty()) {
+#ifndef NDEBUG
+ BreakpointIDToActionsMap::iterator it = m_breakpointIDToActions.find(id);
+ ASSERT(it == m_breakpointIDToActions.end());
+#endif
+ const Vector<ScriptBreakpointAction> &actions = scriptBreakpoint.actions;
+ m_breakpointIDToActions.set(id, actions);
+ }
+ return id;
+}
+
+void ScriptDebugServer::removeBreakpoint(JSC::BreakpointID id)
+{
+ ASSERT(id != JSC::noBreakpointID);
+ BreakpointIDToActionsMap::iterator it = m_breakpointIDToActions.find(id);
+ if (it != m_breakpointIDToActions.end())
+ m_breakpointIDToActions.remove(it);
+
+ Debugger::removeBreakpoint(id);
+}
+
+bool ScriptDebugServer::evaluateBreakpointAction(const ScriptBreakpointAction& breakpointAction)
+{
+ DebuggerCallFrame* debuggerCallFrame = currentDebuggerCallFrame();
+
+ switch (breakpointAction.type) {
+ case ScriptBreakpointActionTypeLog: {
+ dispatchBreakpointActionLog(debuggerCallFrame->exec(), breakpointAction.data);
+ break;
+ }
+ case ScriptBreakpointActionTypeEvaluate: {
+ JSValue exception;
+ debuggerCallFrame->evaluate(breakpointAction.data, exception);
+ if (exception)
+ reportException(debuggerCallFrame->exec(), exception);
+ break;
+ }
+ case ScriptBreakpointActionTypeSound:
+ dispatchBreakpointActionSound(debuggerCallFrame->exec());
+ break;
+ case ScriptBreakpointActionTypeProbe: {
+ JSValue exception;
+ JSValue result = debuggerCallFrame->evaluate(breakpointAction.data, exception);
+ if (exception)
+ reportException(debuggerCallFrame->exec(), exception);
+
+ JSC::ExecState* state = debuggerCallFrame->scope()->globalObject()->globalExec();
+ Deprecated::ScriptValue wrappedResult = Deprecated::ScriptValue(state->vm(), exception ? exception : result);
+ dispatchDidSampleProbe(state, breakpointAction.identifier, wrappedResult);
+ break;
+ }
+ default:
+ ASSERT_NOT_REACHED();
+ }
+
+ return true;
+}
+
+void ScriptDebugServer::clearBreakpoints()
+{
+ Debugger::clearBreakpoints();
+ m_breakpointIDToActions.clear();
+}
+
+void ScriptDebugServer::dispatchDidPause(ScriptDebugListener* listener)
+{
+ ASSERT(isPaused());
+ DebuggerCallFrame* debuggerCallFrame = currentDebuggerCallFrame();
+ JSGlobalObject* globalObject = debuggerCallFrame->scope()->globalObject();
+ JSC::ExecState* state = globalObject->globalExec();
+ RefPtr<JavaScriptCallFrame> javaScriptCallFrame = JavaScriptCallFrame::create(debuggerCallFrame);
+ JSValue jsCallFrame = toJS(state, globalObject, javaScriptCallFrame.get());
+ listener->didPause(state, Deprecated::ScriptValue(state->vm(), jsCallFrame), Deprecated::ScriptValue());
+}
+
+void ScriptDebugServer::dispatchBreakpointActionLog(ExecState* exec, const String& message)
+{
+ if (m_callingListeners)
+ return;
+
+ ListenerSet* listeners = getListenersForGlobalObject(exec->lexicalGlobalObject());
+ if (!listeners)
+ return;
+ ASSERT(!listeners->isEmpty());
+
+ TemporaryChange<bool> change(m_callingListeners, true);
+
+ Vector<ScriptDebugListener*> listenersCopy;
+ copyToVector(*listeners, listenersCopy);
+ for (auto listener : listenersCopy)
+ listener->breakpointActionLog(exec, message);
+}
+
+void ScriptDebugServer::dispatchBreakpointActionSound(ExecState* exec)
+{
+ if (m_callingListeners)
+ return;
+
+ ListenerSet* listeners = getListenersForGlobalObject(exec->lexicalGlobalObject());
+ if (!listeners)
+ return;
+ ASSERT(!listeners->isEmpty());
+
+ TemporaryChange<bool> change(m_callingListeners, true);
+
+ Vector<ScriptDebugListener*> listenersCopy;
+ copyToVector(*listeners, listenersCopy);
+ for (auto listener : listenersCopy)
+ listener->breakpointActionSound();
+}
+
+void ScriptDebugServer::dispatchDidSampleProbe(ExecState* exec, int identifier, const Deprecated::ScriptValue& sample)
+{
+ if (m_callingListeners)
+ return;
+
+ ListenerSet* listeners = getListenersForGlobalObject(exec->lexicalGlobalObject());
+ if (!listeners)
+ return;
+ ASSERT(!listeners->isEmpty());
+
+ TemporaryChange<bool> change(m_callingListeners, true);
+
+ Vector<ScriptDebugListener*> listenersCopy;
+ copyToVector(*listeners, listenersCopy);
+ for (auto listener : listenersCopy)
+ listener->didSampleProbe(exec, identifier, m_hitCount, sample);
+}
+
+void ScriptDebugServer::dispatchDidContinue(ScriptDebugListener* listener)
+{
+ listener->didContinue();
+}
+
+void ScriptDebugServer::dispatchDidParseSource(const ListenerSet& listeners, SourceProvider* sourceProvider, bool isContentScript)
+{
+ JSC::SourceID sourceID = sourceProvider->asID();
+
+ ScriptDebugListener::Script script;
+ script.url = sourceProvider->url();
+ script.source = sourceProvider->source();
+ script.startLine = sourceProvider->startPosition().m_line.zeroBasedInt();
+ script.startColumn = sourceProvider->startPosition().m_column.zeroBasedInt();
+ script.isContentScript = isContentScript;
+
+ int sourceLength = script.source.length();
+ int lineCount = 1;
+ int lastLineStart = 0;
+ for (int i = 0; i < sourceLength; ++i) {
+ if (script.source[i] == '\n') {
+ lineCount += 1;
+ lastLineStart = i + 1;
+ }
+ }
+
+ script.endLine = script.startLine + lineCount - 1;
+ if (lineCount == 1)
+ script.endColumn = script.startColumn + sourceLength;
+ else
+ script.endColumn = sourceLength - lastLineStart;
+
+ Vector<ScriptDebugListener*> copy;
+ copyToVector(listeners, copy);
+ for (size_t i = 0; i < copy.size(); ++i)
+ copy[i]->didParseSource(sourceID, script);
+}
+
+void ScriptDebugServer::dispatchFailedToParseSource(const ListenerSet& listeners, SourceProvider* sourceProvider, int errorLine, const String& errorMessage)
+{
+ String url = sourceProvider->url();
+ const String& data = sourceProvider->source();
+ int firstLine = sourceProvider->startPosition().m_line.oneBasedInt();
+
+ Vector<ScriptDebugListener*> copy;
+ copyToVector(listeners, copy);
+ for (size_t i = 0; i < copy.size(); ++i)
+ copy[i]->failedToParseSource(url, data, firstLine, errorLine, errorMessage);
+}
+
+void ScriptDebugServer::sourceParsed(ExecState* exec, SourceProvider* sourceProvider, int errorLine, const String& errorMessage)
+{
+ if (m_callingListeners)
+ return;
+
+ ListenerSet* listeners = getListenersForGlobalObject(exec->lexicalGlobalObject());
+ if (!listeners)
+ return;
+ ASSERT(!listeners->isEmpty());
+
+ TemporaryChange<bool> change(m_callingListeners, true);
+
+ bool isError = errorLine != -1;
+ if (isError)
+ dispatchFailedToParseSource(*listeners, sourceProvider, errorLine, errorMessage);
+ else
+ dispatchDidParseSource(*listeners, sourceProvider, isContentScript(exec));
+}
+
+void ScriptDebugServer::dispatchFunctionToListeners(const ListenerSet& listeners, JavaScriptExecutionCallback callback)
+{
+ Vector<ScriptDebugListener*> copy;
+ copyToVector(listeners, copy);
+ for (size_t i = 0; i < copy.size(); ++i)
+ (this->*callback)(copy[i]);
+}
+
+void ScriptDebugServer::dispatchFunctionToListeners(JavaScriptExecutionCallback callback, JSGlobalObject* globalObject)
+{
+ if (m_callingListeners)
+ return;
+
+ TemporaryChange<bool> change(m_callingListeners, true);
+
+ if (ListenerSet* listeners = getListenersForGlobalObject(globalObject)) {
+ ASSERT(!listeners->isEmpty());
+ dispatchFunctionToListeners(*listeners, callback);
+ }
+}
+
+void ScriptDebugServer::notifyDoneProcessingDebuggerEvents()
+{
+ m_doneProcessingDebuggerEvents = true;
+}
+
+bool ScriptDebugServer::needPauseHandling(JSGlobalObject* globalObject)
+{
+ return !!getListenersForGlobalObject(globalObject);
+}
+
+void ScriptDebugServer::handleBreakpointHit(const JSC::Breakpoint& breakpoint)
+{
+ m_hitCount++;
+ BreakpointIDToActionsMap::iterator it = m_breakpointIDToActions.find(breakpoint.id);
+ if (it != m_breakpointIDToActions.end()) {
+ BreakpointActions& actions = it->value;
+ for (size_t i = 0; i < actions.size(); ++i) {
+ if (!evaluateBreakpointAction(actions[i]))
+ return;
+ }
+ }
+}
+
+void ScriptDebugServer::handleExceptionInBreakpointCondition(JSC::ExecState* exec, JSC::JSValue exception) const
+{
+ reportException(exec, exception);
+}
+
+void ScriptDebugServer::handlePause(Debugger::ReasonForPause, JSGlobalObject* vmEntryGlobalObject)
+{
+ dispatchFunctionToListeners(&ScriptDebugServer::dispatchDidPause, vmEntryGlobalObject);
+ didPause(vmEntryGlobalObject);
+
+ m_doneProcessingDebuggerEvents = false;
+ runEventLoopWhilePaused();
+
+ didContinue(vmEntryGlobalObject);
+ dispatchFunctionToListeners(&ScriptDebugServer::dispatchDidContinue, vmEntryGlobalObject);
+}
+
+const Vector<ScriptBreakpointAction>& ScriptDebugServer::getActionsForBreakpoint(JSC::BreakpointID breakpointID)
+{
+ ASSERT(breakpointID != JSC::noBreakpointID);
+
+ if (m_breakpointIDToActions.contains(breakpointID))
+ return m_breakpointIDToActions.find(breakpointID)->value;
+
+ static NeverDestroyed<Vector<ScriptBreakpointAction>> emptyActionVector = Vector<ScriptBreakpointAction>();
+ return emptyActionVector;
+}
+
+} // namespace Inspector
+
+#endif // ENABLE(JAVASCRIPT_DEBUGGER)
</ins></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorScriptDebugServerhfromrev162755trunkSourceWebCorebindingsjsScriptDebugServerh"></a>
<div class="copfile"><h4>Copied: trunk/Source/JavaScriptCore/inspector/ScriptDebugServer.h (from rev 162755, trunk/Source/WebCore/bindings/js/ScriptDebugServer.h) (0 => 162757)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/ScriptDebugServer.h         (rev 0)
+++ trunk/Source/JavaScriptCore/inspector/ScriptDebugServer.h        2014-01-25 04:42:25 UTC (rev 162757)
</span><span class="lines">@@ -0,0 +1,120 @@
</span><ins>+/*
+ * Copyright (C) 2008, 2013, 2014 Apple Inc. All rights reserved.
+ * Copyright (C) 2010-2011 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef ScriptDebugServer_h
+#define ScriptDebugServer_h
+
+#if ENABLE(JAVASCRIPT_DEBUGGER)
+
+#include "ScriptBreakpoint.h"
+#include "ScriptDebugListener.h"
+#include "bindings/ScriptObject.h"
+#include "debugger/Debugger.h"
+#include <wtf/HashMap.h>
+#include <wtf/HashSet.h>
+#include <wtf/RefPtr.h>
+#include <wtf/Vector.h>
+#include <wtf/text/TextPosition.h>
+#include <wtf/text/WTFString.h>
+
+namespace JSC {
+class ExecState;
+class JSGlobalObject;
+}
+
+namespace Inspector {
+
+class JS_EXPORT_PRIVATE ScriptDebugServer : public JSC::Debugger {
+ WTF_MAKE_NONCOPYABLE(ScriptDebugServer);
+ WTF_MAKE_FAST_ALLOCATED;
+public:
+ JSC::BreakpointID setBreakpoint(JSC::SourceID, const ScriptBreakpoint&, unsigned* actualLineNumber, unsigned* actualColumnNumber);
+ void removeBreakpoint(JSC::BreakpointID);
+ void clearBreakpoints();
+
+ virtual void recompileAllJSFunctions() = 0;
+
+ const Vector<ScriptBreakpointAction>& getActionsForBreakpoint(JSC::BreakpointID);
+
+ class Task {
+ WTF_MAKE_FAST_ALLOCATED;
+ public:
+ virtual ~Task() { }
+ virtual void run() = 0;
+ };
+
+protected:
+ typedef HashSet<ScriptDebugListener*> ListenerSet;
+ typedef void (ScriptDebugServer::*JavaScriptExecutionCallback)(ScriptDebugListener*);
+
+ ScriptDebugServer(bool isInWorkerThread = false);
+ ~ScriptDebugServer();
+
+ virtual ListenerSet* getListenersForGlobalObject(JSC::JSGlobalObject*) = 0;
+ virtual void didPause(JSC::JSGlobalObject*) = 0;
+ virtual void didContinue(JSC::JSGlobalObject*) = 0;
+ virtual void runEventLoopWhilePaused() = 0;
+ virtual bool isContentScript(JSC::ExecState*) const = 0;
+ virtual void reportException(JSC::ExecState*, JSC::JSValue) const = 0;
+
+ bool evaluateBreakpointAction(const ScriptBreakpointAction&);
+
+ void dispatchFunctionToListeners(JavaScriptExecutionCallback, JSC::JSGlobalObject*);
+ void dispatchFunctionToListeners(const ListenerSet& listeners, JavaScriptExecutionCallback);
+ void dispatchDidPause(ScriptDebugListener*);
+ void dispatchDidContinue(ScriptDebugListener*);
+ void dispatchDidParseSource(const ListenerSet& listeners, JSC::SourceProvider*, bool isContentScript);
+ void dispatchFailedToParseSource(const ListenerSet& listeners, JSC::SourceProvider*, int errorLine, const String& errorMessage);
+ void dispatchBreakpointActionLog(JSC::ExecState*, const String&);
+ void dispatchBreakpointActionSound(JSC::ExecState*);
+ void dispatchDidSampleProbe(JSC::ExecState*, int probeIdentifier, const Deprecated::ScriptValue& sample);
+
+ bool m_doneProcessingDebuggerEvents;
+
+private:
+ typedef Vector<ScriptBreakpointAction> BreakpointActions;
+ typedef HashMap<JSC::BreakpointID, BreakpointActions> BreakpointIDToActionsMap;
+
+ virtual void sourceParsed(JSC::ExecState*, JSC::SourceProvider*, int errorLine, const String& errorMsg) override final;
+ virtual bool needPauseHandling(JSC::JSGlobalObject*) override final;
+ virtual void handleBreakpointHit(const JSC::Breakpoint&) override final;
+ virtual void handleExceptionInBreakpointCondition(JSC::ExecState*, JSC::JSValue exception) const override final;
+ virtual void handlePause(JSC::Debugger::ReasonForPause, JSC::JSGlobalObject*) override final;
+ virtual void notifyDoneProcessingDebuggerEvents() override final;
+
+ unsigned m_hitCount;
+ bool m_callingListeners;
+ BreakpointIDToActionsMap m_breakpointIDToActions;
+};
+
+} // namespace Inspector
+
+#endif // ENABLE(JAVASCRIPT_DEBUGGER)
+
+#endif // ScriptDebugServer_h
</ins></span></pre></div>
<a id="trunkSourceWebCoreCMakeListstxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/CMakeLists.txt (162756 => 162757)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/CMakeLists.txt        2014-01-25 04:42:00 UTC (rev 162756)
+++ trunk/Source/WebCore/CMakeLists.txt        2014-01-25 04:42:25 UTC (rev 162757)
</span><span class="lines">@@ -533,7 +533,6 @@
</span><span class="cx">
</span><span class="cx"> inspector/CommandLineAPIHost.idl
</span><span class="cx"> inspector/InspectorFrontendHost.idl
</span><del>- inspector/JavaScriptCallFrame.idl
</del><span class="cx"> inspector/ScriptProfile.idl
</span><span class="cx"> inspector/ScriptProfileNode.idl
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (162756 => 162757)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2014-01-25 04:42:00 UTC (rev 162756)
+++ trunk/Source/WebCore/ChangeLog        2014-01-25 04:42:25 UTC (rev 162757)
</span><span class="lines">@@ -1,3 +1,56 @@
</span><ins>+2014-01-23 Joseph Pecoraro <pecoraro@apple.com>
+
+ Move JavaScriptCallFrame and ScriptDebugServer into JavaScriptCore for inspector
+ https://bugs.webkit.org/show_bug.cgi?id=127543
+
+ Reviewed by Geoffrey Garen.
+
+ Covered by existing tests.
+
+ * ForwardingHeaders/inspector/ScriptDebugServer.h: Added.
+ * GNUmakefile.list.am:
+ * UseJSC.cmake:
+ * WebCore.vcxproj/WebCore.vcxproj:
+ * WebCore.vcxproj/WebCore.vcxproj.filters:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSBindingsAllInOne.cpp:
+ * inspector/JavaScriptCallFrame.idl: Removed.
+ Update builds now that ScriptDebugServer moved to JavaScriptCore.
+
+ * bindings/js/PageScriptDebugServer.h:
+ * bindings/js/PageScriptDebugServer.cpp:
+ (WebCore::PageScriptDebugServer::runEventLoopWhilePaused):
+ (WebCore::PageScriptDebugServer::isContentScript):
+ (WebCore::PageScriptDebugServer::reportException):
+ * bindings/js/WorkerScriptDebugServer.h:
+ * bindings/js/WorkerScriptDebugServer.cpp:
+ (WebCore::WorkerScriptDebugServer::runEventLoopWhilePaused):
+ (WebCore::WorkerScriptDebugServer::reportException):
+ Handle ScriptDebugServer functionality depending on WebCore knowledge.
+
+ * inspector/InspectorDebuggerAgent.h:
+ * inspector/InspectorDebuggerAgent.cpp:
+ (WebCore::InspectorDebuggerAgent::breakpointActionSound):
+ Handle ScriptDebugServer functionality that depended on WebCore knowledge.
+ This will eventually be written in a non-WebCore specific way.
+
+ * inspector/InspectorRuntimeAgent.cpp:
+ * inspector/InspectorRuntimeAgent.h:
+ Update ScriptDebugServer type now that it is in namespace Inspector.
+
+ * workers/WorkerGlobalScope.h:
+ Make addConsoleMessage public again so the inspector can call it.
+
+ * inspector/PageDebuggerAgent.cpp:
+ (WebCore::PageDebuggerAgent::breakpointActionLog):
+ * inspector/PageDebuggerAgent.h:
+ * inspector/WorkerDebuggerAgent.cpp:
+ (WebCore::WorkerDebuggerAgent::breakpointActionLog):
+ * inspector/WorkerDebuggerAgent.h:
+ Let each of these handle console logs in their own way. Both of these
+ eventually go through the PageConsole and log through the InspectorConsoleAgent
+ and ChromeClient.
+
</ins><span class="cx"> 2014-01-24 Brent Fulgham <bfulgham@apple.com>
</span><span class="cx">
</span><span class="cx"> Improve latching behavior for wheel events
</span></span></pre></div>
<a id="trunkSourceWebCoreDerivedSourcescpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/DerivedSources.cpp (162756 => 162757)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/DerivedSources.cpp        2014-01-25 04:42:00 UTC (rev 162756)
+++ trunk/Source/WebCore/DerivedSources.cpp        2014-01-25 04:42:25 UTC (rev 162757)
</span><span class="lines">@@ -243,7 +243,6 @@
</span><span class="cx"> #include "JSIDBTransaction.cpp"
</span><span class="cx"> #include "JSImageData.cpp"
</span><span class="cx"> #include "JSInspectorFrontendHost.cpp"
</span><del>-#include "JSJavaScriptCallFrame.cpp"
</del><span class="cx"> #include "JSKeyboardEvent.cpp"
</span><span class="cx"> #include "JSLocation.cpp"
</span><span class="cx"> #include "JSMediaController.cpp"
</span></span></pre></div>
<a id="trunkSourceWebCoreDerivedSourcesmake"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/DerivedSources.make (162756 => 162757)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/DerivedSources.make        2014-01-25 04:42:00 UTC (rev 162756)
+++ trunk/Source/WebCore/DerivedSources.make        2014-01-25 04:42:25 UTC (rev 162757)
</span><span class="lines">@@ -727,8 +727,6 @@
</span><span class="cx"> $(JS_DOM_HEADERS) \
</span><span class="cx"> $(WEB_DOM_HEADERS) \
</span><span class="cx"> \
</span><del>- JSJavaScriptCallFrame.h \
- \
</del><span class="cx"> CSSGrammar.cpp \
</span><span class="cx"> CSSPropertyNames.h \
</span><span class="cx"> CSSValueKeywords.h \
</span><span class="lines">@@ -1085,7 +1083,6 @@
</span><span class="cx"> SHAREDWORKERGLOBALSCOPE_CONSTRUCTORS_FILE = ./SharedWorkerGlobalScopeConstructors.idl
</span><span class="cx"> DEDICATEDWORKERGLOBALSCOPE_CONSTRUCTORS_FILE = ./DedicatedWorkerGlobalScopeConstructors.idl
</span><span class="cx"> IDL_FILES_TMP = ./idl_files.tmp
</span><del>-ADDITIONAL_IDLS = $(WebCore)/inspector/JavaScriptCallFrame.idl
</del><span class="cx"> IDL_ATTRIBUTES_FILE = $(WebCore)/bindings/scripts/IDLAttributes.txt
</span><span class="cx">
</span><span class="cx"> # The following two lines get a space character stored in a variable.
</span><span class="lines">@@ -1093,8 +1090,8 @@
</span><span class="cx"> space :=
</span><span class="cx"> space +=
</span><span class="cx">
</span><del>-$(SUPPLEMENTAL_MAKEFILE_DEPS) : $(PREPROCESS_IDLS_SCRIPTS) $(BINDING_IDLS) $(ADDITIONAL_IDLS) $(PLATFORM_FEATURE_DEFINES)
-        printf "$(subst $(space),,$(patsubst %,%\n,$(BINDING_IDLS) $(ADDITIONAL_IDLS)))" > $(IDL_FILES_TMP)
</del><ins>+$(SUPPLEMENTAL_MAKEFILE_DEPS) : $(PREPROCESS_IDLS_SCRIPTS) $(BINDING_IDLS) $(PLATFORM_FEATURE_DEFINES)
+        printf "$(subst $(space),,$(patsubst %,%\n,$(BINDING_IDLS)))" > $(IDL_FILES_TMP)
</ins><span class="cx">         $(call preprocess_idls_script, $(PREPROCESS_IDLS_SCRIPTS)) --defines "$(FEATURE_DEFINES) $(ADDITIONAL_IDL_DEFINES) LANGUAGE_JAVASCRIPT" --idlFilesList $(IDL_FILES_TMP) --supplementalDependencyFile $(SUPPLEMENTAL_DEPENDENCY_FILE) --windowConstructorsFile $(WINDOW_CONSTRUCTORS_FILE) --workerGlobalScopeConstructorsFile $(WORKERGLOBALSCOPE_CONSTRUCTORS_FILE) --sharedWorkerGlobalScopeConstructorsFile $(SHAREDWORKERGLOBALSCOPE_CONSTRUCTORS_FILE) --dedicatedWorkerGlobalScopeConstructorsFile $(DEDICATEDWORKERGLOBALSCOPE_CONSTRUCTORS_FILE) --supplementalMakefileDeps $@
</span><span class="cx">         rm -f $(IDL_FILES_TMP)
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoreForwardingHeadersinspectorScriptDebugServerh"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/ForwardingHeaders/inspector/ScriptDebugServer.h (0 => 162757)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ForwardingHeaders/inspector/ScriptDebugServer.h         (rev 0)
+++ trunk/Source/WebCore/ForwardingHeaders/inspector/ScriptDebugServer.h        2014-01-25 04:42:25 UTC (rev 162757)
</span><span class="lines">@@ -0,0 +1,4 @@
</span><ins>+#ifndef WebCore_FWD_ScriptDebugServer_h
+#define WebCore_FWD_ScriptDebugServer_h
+#include <JavaScriptCore/ScriptDebugServer.h>
+#endif
</ins></span></pre></div>
<a id="trunkSourceWebCoreGNUmakefilelistam"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/GNUmakefile.list.am (162756 => 162757)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/GNUmakefile.list.am        2014-01-25 04:42:00 UTC (rev 162756)
+++ trunk/Source/WebCore/GNUmakefile.list.am        2014-01-25 04:42:25 UTC (rev 162757)
</span><span class="lines">@@ -457,8 +457,6 @@
</span><span class="cx">         DerivedSources/WebCore/JSInspectorFrontendHost.h \
</span><span class="cx">         DerivedSources/WebCore/JSScriptProcessorNode.cpp \
</span><span class="cx">         DerivedSources/WebCore/JSScriptProcessorNode.h \
</span><del>-        DerivedSources/WebCore/JSJavaScriptCallFrame.cpp \
-        DerivedSources/WebCore/JSJavaScriptCallFrame.h \
</del><span class="cx">         DerivedSources/WebCore/JSKeyboardEvent.cpp \
</span><span class="cx">         DerivedSources/WebCore/JSKeyboardEvent.h \
</span><span class="cx">         DerivedSources/WebCore/JSLocation.cpp \
</span><span class="lines">@@ -1549,7 +1547,6 @@
</span><span class="cx">         $(WebCore)/html/track/VideoTrackList.idl \
</span><span class="cx">         $(WebCore)/inspector/CommandLineAPIHost.idl \
</span><span class="cx">         $(WebCore)/inspector/InspectorFrontendHost.idl \
</span><del>-        $(WebCore)/inspector/JavaScriptCallFrame.idl \
</del><span class="cx">         $(WebCore)/inspector/ScriptProfile.idl \
</span><span class="cx">         $(WebCore)/inspector/ScriptProfileNode.idl \
</span><span class="cx">         $(WebCore)/loader/appcache/DOMApplicationCache.idl \
</span><span class="lines">@@ -2370,7 +2367,6 @@
</span><span class="cx">         Source/WebCore/bindings/js/JSImageConstructor.h \
</span><span class="cx">         Source/WebCore/bindings/js/JSImageDataCustom.cpp \
</span><span class="cx">         Source/WebCore/bindings/js/JSInspectorFrontendHostCustom.cpp \
</span><del>-        Source/WebCore/bindings/js/JSJavaScriptCallFrameCustom.cpp \
</del><span class="cx">         Source/WebCore/bindings/js/JSLazyEventListener.cpp \
</span><span class="cx">         Source/WebCore/bindings/js/JSLazyEventListener.h \
</span><span class="cx">         Source/WebCore/bindings/js/JSLocationCustom.cpp \
</span><span class="lines">@@ -2434,8 +2430,6 @@
</span><span class="cx">         Source/WebCore/bindings/js/JSXMLHttpRequestCustom.cpp \
</span><span class="cx">         Source/WebCore/bindings/js/JSXPathResultCustom.cpp \
</span><span class="cx">         Source/WebCore/bindings/js/JSXSLTProcessorCustom.cpp \
</span><del>-        Source/WebCore/bindings/js/JavaScriptCallFrame.cpp \
-        Source/WebCore/bindings/js/JavaScriptCallFrame.h \
</del><span class="cx">         Source/WebCore/bindings/js/Dictionary.cpp \
</span><span class="cx">         Source/WebCore/bindings/js/Dictionary.h \
</span><span class="cx">         Source/WebCore/bindings/js/PageScriptDebugServer.cpp \
</span><span class="lines">@@ -2448,8 +2442,6 @@
</span><span class="cx">         Source/WebCore/bindings/js/ScriptCallStackFactory.h \
</span><span class="cx">         Source/WebCore/bindings/js/ScriptController.cpp \
</span><span class="cx">         Source/WebCore/bindings/js/ScriptController.h \
</span><del>-        Source/WebCore/bindings/js/ScriptDebugServer.cpp \
-        Source/WebCore/bindings/js/ScriptDebugServer.h \
</del><span class="cx">         Source/WebCore/bindings/js/ScriptHeapSnapshot.h \
</span><span class="cx">         Source/WebCore/bindings/js/ScriptGlobalObject.cpp \
</span><span class="cx">         Source/WebCore/bindings/js/ScriptGlobalObject.h \
</span></span></pre></div>
<a id="trunkSourceWebCoreUseJSCcmake"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/UseJSC.cmake (162756 => 162757)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/UseJSC.cmake        2014-01-25 04:42:00 UTC (rev 162756)
+++ trunk/Source/WebCore/UseJSC.cmake        2014-01-25 04:42:25 UTC (rev 162757)
</span><span class="lines">@@ -97,7 +97,6 @@
</span><span class="cx"> bindings/js/JSImageConstructor.cpp
</span><span class="cx"> bindings/js/JSImageDataCustom.cpp
</span><span class="cx"> bindings/js/JSInspectorFrontendHostCustom.cpp
</span><del>- bindings/js/JSJavaScriptCallFrameCustom.cpp
</del><span class="cx"> bindings/js/JSLazyEventListener.cpp
</span><span class="cx"> bindings/js/JSLocationCustom.cpp
</span><span class="cx"> bindings/js/JSMainThreadExecState.cpp
</span><span class="lines">@@ -154,13 +153,11 @@
</span><span class="cx"> bindings/js/JSXMLHttpRequestCustom.cpp
</span><span class="cx"> bindings/js/JSXPathResultCustom.cpp
</span><span class="cx"> bindings/js/JSXSLTProcessorCustom.cpp
</span><del>- bindings/js/JavaScriptCallFrame.cpp
</del><span class="cx"> bindings/js/PageScriptDebugServer.cpp
</span><span class="cx"> bindings/js/ScheduledAction.cpp
</span><span class="cx"> bindings/js/ScriptCachedFrameData.cpp
</span><span class="cx"> bindings/js/ScriptCallStackFactory.cpp
</span><span class="cx"> bindings/js/ScriptController.cpp
</span><del>- bindings/js/ScriptDebugServer.cpp
</del><span class="cx"> bindings/js/ScriptGlobalObject.cpp
</span><span class="cx"> bindings/js/ScriptProfile.cpp
</span><span class="cx"> bindings/js/ScriptProfiler.cpp
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorevcxprojWebCorevcxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj (162756 => 162757)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj        2014-01-25 04:42:00 UTC (rev 162756)
+++ trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj        2014-01-25 04:42:25 UTC (rev 162757)
</span><span class="lines">@@ -3187,20 +3187,6 @@
</span><span class="cx"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
</span><span class="cx"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
</span><span class="cx"> </ClCompile>
</span><del>- <ClCompile Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSJavaScriptCallFrame.cpp">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </ClCompile>
</del><span class="cx"> <ClCompile Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSKeyboardEvent.cpp">
</span><span class="cx"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
</span><span class="cx"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
</span><span class="lines">@@ -15800,20 +15786,6 @@
</span><span class="cx"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
</span><span class="cx"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
</span><span class="cx"> </ClCompile>
</span><del>- <ClCompile Include="..\bindings\js\JavaScriptCallFrame.cpp">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </ClCompile>
</del><span class="cx"> <ClCompile Include="..\bindings\js\JSAttrCustom.cpp">
</span><span class="cx"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
</span><span class="cx"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
</span><span class="lines">@@ -16656,20 +16628,6 @@
</span><span class="cx"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
</span><span class="cx"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
</span><span class="cx"> </ClCompile>
</span><del>- <ClCompile Include="..\bindings\js\JSJavaScriptCallFrameCustom.cpp">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </ClCompile>
</del><span class="cx"> <ClCompile Include="..\bindings\js\JSLazyEventListener.cpp">
</span><span class="cx"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
</span><span class="cx"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
</span><span class="lines">@@ -17286,20 +17244,6 @@
</span><span class="cx"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
</span><span class="cx"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
</span><span class="cx"> </ClCompile>
</span><del>- <ClCompile Include="..\bindings\js\ScriptDebugServer.cpp">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </ClCompile>
</del><span class="cx"> <ClCompile Include="..\bindings\js\ScriptGlobalObject.cpp" />
</span><span class="cx"> <ClCompile Include="..\bindings\js\ScriptProfile.cpp" />
</span><span class="cx"> <ClCompile Include="..\bindings\js\ScriptProfiler.cpp">
</span><span class="lines">@@ -18260,7 +18204,6 @@
</span><span class="cx"> <ClInclude Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSIDBTransaction.h" />
</span><span class="cx"> <ClInclude Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSImageData.h" />
</span><span class="cx"> <ClInclude Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSInspectorFrontendHost.h" />
</span><del>- <ClInclude Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSJavaScriptCallFrame.h" />
</del><span class="cx"> <ClInclude Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSKeyboardEvent.h" />
</span><span class="cx"> <ClInclude Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSLocation.h" />
</span><span class="cx"> <ClInclude Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSMediaControlsHost.h" />
</span><span class="lines">@@ -20563,7 +20506,6 @@
</span><span class="cx"> <ClInclude Include="..\bindings\js\DOMWrapperWorld.h" />
</span><span class="cx"> <ClInclude Include="..\bindings\js\GCController.h" />
</span><span class="cx"> <ClInclude Include="..\bindings\js\IDBBindingUtilities.h" />
</span><del>- <ClInclude Include="..\bindings\js\JavaScriptCallFrame.h" />
</del><span class="cx"> <ClInclude Include="..\bindings\js\JSCallbackData.h" />
</span><span class="cx"> <ClInclude Include="..\bindings\js\JSCSSStyleDeclarationCustom.h" />
</span><span class="cx"> <ClInclude Include="..\bindings\js\JSCustomXPathNSResolver.h" />
</span><span class="lines">@@ -20595,7 +20537,6 @@
</span><span class="cx"> <ClInclude Include="..\bindings\js\ScriptCachedFrameData.h" />
</span><span class="cx"> <ClInclude Include="..\bindings\js\ScriptCallStackFactory.h" />
</span><span class="cx"> <ClInclude Include="..\bindings\js\ScriptController.h" />
</span><del>- <ClInclude Include="..\bindings\js\ScriptDebugServer.h" />
</del><span class="cx"> <ClInclude Include="..\bindings\js\ScriptHeapSnapshot.h" />
</span><span class="cx"> <ClInclude Include="..\bindings\js\ScriptGlobalObject.h" />
</span><span class="cx"> <ClInclude Include="..\bindings\js\ScriptProfile.h" />
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorevcxprojWebCorevcxprojfilters"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters (162756 => 162757)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters        2014-01-25 04:42:00 UTC (rev 162756)
+++ trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters        2014-01-25 04:42:25 UTC (rev 162757)
</span><span class="lines">@@ -4224,9 +4224,6 @@
</span><span class="cx"> <ClCompile Include="..\bindings\js\IDBBindingUtilities.cpp">
</span><span class="cx"> <Filter>bindings\js</Filter>
</span><span class="cx"> </ClCompile>
</span><del>- <ClCompile Include="..\bindings\js\JavaScriptCallFrame.cpp">
- <Filter>bindings\js</Filter>
- </ClCompile>
</del><span class="cx"> <ClCompile Include="..\bindings\js\JSAttrCustom.cpp">
</span><span class="cx"> <Filter>bindings\js</Filter>
</span><span class="cx"> </ClCompile>
</span><span class="lines">@@ -4365,9 +4362,6 @@
</span><span class="cx"> <ClCompile Include="..\bindings\js\JSInspectorFrontendHostCustom.cpp">
</span><span class="cx"> <Filter>bindings\js</Filter>
</span><span class="cx"> </ClCompile>
</span><del>- <ClCompile Include="..\bindings\js\JSJavaScriptCallFrameCustom.cpp">
- <Filter>bindings\js</Filter>
- </ClCompile>
</del><span class="cx"> <ClCompile Include="..\bindings\js\JSLazyEventListener.cpp">
</span><span class="cx"> <Filter>bindings\js</Filter>
</span><span class="cx"> </ClCompile>
</span><span class="lines">@@ -4500,9 +4494,6 @@
</span><span class="cx"> <ClCompile Include="..\bindings\js\ScriptController.cpp">
</span><span class="cx"> <Filter>bindings\js</Filter>
</span><span class="cx"> </ClCompile>
</span><del>- <ClCompile Include="..\bindings\js\ScriptDebugServer.cpp">
- <Filter>bindings\js</Filter>
- </ClCompile>
</del><span class="cx"> <ClCompile Include="..\bindings\js\ScriptGlobalObject.cpp">
</span><span class="cx"> <Filter>bindings\js</Filter>
</span><span class="cx"> </ClCompile>
</span><span class="lines">@@ -5719,9 +5710,6 @@
</span><span class="cx"> <ClCompile Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSInspectorFrontendHost.cpp">
</span><span class="cx"> <Filter>DerivedSources</Filter>
</span><span class="cx"> </ClCompile>
</span><del>- <ClCompile Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSJavaScriptCallFrame.cpp">
- <Filter>DerivedSources</Filter>
- </ClCompile>
</del><span class="cx"> <ClCompile Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSKeyboardEvent.cpp">
</span><span class="cx"> <Filter>DerivedSources</Filter>
</span><span class="cx"> </ClCompile>
</span><span class="lines">@@ -11279,9 +11267,6 @@
</span><span class="cx"> <ClInclude Include="..\bindings\js\IDBBindingUtilities.h">
</span><span class="cx"> <Filter>bindings\js</Filter>
</span><span class="cx"> </ClInclude>
</span><del>- <ClInclude Include="..\bindings\js\JavaScriptCallFrame.h">
- <Filter>bindings\js</Filter>
- </ClInclude>
</del><span class="cx"> <ClInclude Include="..\bindings\js\JSCallbackData.h">
</span><span class="cx"> <Filter>bindings\js</Filter>
</span><span class="cx"> </ClInclude>
</span><span class="lines">@@ -11357,9 +11342,6 @@
</span><span class="cx"> <ClInclude Include="..\bindings\js\ScriptController.h">
</span><span class="cx"> <Filter>bindings\js</Filter>
</span><span class="cx"> </ClInclude>
</span><del>- <ClInclude Include="..\bindings\js\ScriptDebugServer.h">
- <Filter>bindings\js</Filter>
- </ClInclude>
</del><span class="cx"> <ClInclude Include="..\bindings\js\ScriptHeapSnapshot.h">
</span><span class="cx"> <Filter>bindings\js</Filter>
</span><span class="cx"> </ClInclude>
</span><span class="lines">@@ -13462,9 +13444,6 @@
</span><span class="cx"> <ClInclude Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSInspectorFrontendHost.h">
</span><span class="cx"> <Filter>DerivedSources</Filter>
</span><span class="cx"> </ClInclude>
</span><del>- <ClInclude Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSJavaScriptCallFrame.h">
- <Filter>DerivedSources</Filter>
- </ClInclude>
</del><span class="cx"> <ClInclude Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSKeyboardEvent.h">
</span><span class="cx"> <Filter>DerivedSources</Filter>
</span><span class="cx"> </ClInclude>
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (162756 => 162757)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2014-01-25 04:42:00 UTC (rev 162756)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2014-01-25 04:42:25 UTC (rev 162757)
</span><span class="lines">@@ -904,14 +904,9 @@
</span><span class="cx">                 1C26497C0D7E24EC00BD10F2 /* PageMac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1C26497B0D7E24EC00BD10F2 /* PageMac.cpp */; };
</span><span class="cx">                 1C4C8F020AD85D87009475CE /* DeleteButtonController.h in Headers */ = {isa = PBXBuildFile; fileRef = 1C4C8F000AD85D87009475CE /* DeleteButtonController.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 1C4C8F660AD8655D009475CE /* DeleteButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 1C4C8F640AD8655D009475CE /* DeleteButton.h */; };
</span><del>-                1C5FAED10DCFD90100D58F78 /* JSJavaScriptCallFrame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1C5FAECF0DCFD90100D58F78 /* JSJavaScriptCallFrame.cpp */; };
-                1C5FAED20DCFD90100D58F78 /* JSJavaScriptCallFrame.h in Headers */ = {isa = PBXBuildFile; fileRef = 1C5FAED00DCFD90100D58F78 /* JSJavaScriptCallFrame.h */; };
-                1C5FAEE70DCFDA6800D58F78 /* JSJavaScriptCallFrameCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1C5FAEE60DCFDA6800D58F78 /* JSJavaScriptCallFrameCustom.cpp */; };
</del><span class="cx">                 1C81B95A0E97330800266E07 /* InspectorController.h in Headers */ = {isa = PBXBuildFile; fileRef = 1C81B9560E97330800266E07 /* InspectorController.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 1C81B95B0E97330800266E07 /* InspectorController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1C81B9570E97330800266E07 /* InspectorController.cpp */; };
</span><span class="cx">                 1C81B95C0E97330800266E07 /* InspectorClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 1C81B9580E97330800266E07 /* InspectorClient.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><del>-                1C81BA090E97348300266E07 /* JavaScriptCallFrame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1C81BA030E97348300266E07 /* JavaScriptCallFrame.cpp */; };
-                1C81BA0A0E97348300266E07 /* JavaScriptCallFrame.h in Headers */ = {isa = PBXBuildFile; fileRef = 1C81BA040E97348300266E07 /* JavaScriptCallFrame.h */; };
</del><span class="cx">                 1CA19E050DC255950065A994 /* EventLoopMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1CA19E030DC255950065A994 /* EventLoopMac.mm */; };
</span><span class="cx">                 1CA19E160DC255CA0065A994 /* EventLoop.h in Headers */ = {isa = PBXBuildFile; fileRef = 1CA19E150DC255CA0065A994 /* EventLoop.h */; };
</span><span class="cx">                 1CAF34810A6C405200ABE06E /* WebScriptObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 1CAF347E0A6C405200ABE06E /* WebScriptObject.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="lines">@@ -3512,8 +3507,6 @@
</span><span class="cx">                 9F0D6B2E121BFEBA006C0288 /* InspectorProfilerAgent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9F0D6B2C121BFEBA006C0288 /* InspectorProfilerAgent.cpp */; };
</span><span class="cx">                 9F0D6B2F121BFEBA006C0288 /* InspectorProfilerAgent.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F0D6B2D121BFEBA006C0288 /* InspectorProfilerAgent.h */; };
</span><span class="cx">                 9F3B947E12241758005304E7 /* ScriptHeapSnapshot.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F3B947D12241758005304E7 /* ScriptHeapSnapshot.h */; };
</span><del>-                9F6FC1961122E82A00E80196 /* ScriptDebugServer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9F6FC1941122E82A00E80196 /* ScriptDebugServer.cpp */; };
-                9F6FC1971122E82A00E80196 /* ScriptDebugServer.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F6FC1951122E82A00E80196 /* ScriptDebugServer.h */; settings = {ATTRIBUTES = (Private, ); }; };
</del><span class="cx">                 9F72304F11184B4100AD0126 /* ScriptProfile.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F72304C11184B4100AD0126 /* ScriptProfile.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 9F72305011184B4100AD0126 /* ScriptProfiler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9F72304D11184B4100AD0126 /* ScriptProfiler.cpp */; };
</span><span class="cx">                 9F72305111184B4100AD0126 /* ScriptProfiler.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F72304E11184B4100AD0126 /* ScriptProfiler.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="lines">@@ -7688,15 +7681,9 @@
</span><span class="cx">                 1C4C8F000AD85D87009475CE /* DeleteButtonController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DeleteButtonController.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
</span><span class="cx">                 1C4C8F630AD8655D009475CE /* DeleteButton.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DeleteButton.cpp; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
</span><span class="cx">                 1C4C8F640AD8655D009475CE /* DeleteButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DeleteButton.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
</span><del>-                1C5FAECF0DCFD90100D58F78 /* JSJavaScriptCallFrame.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSJavaScriptCallFrame.cpp; sourceTree = "<group>"; };
-                1C5FAED00DCFD90100D58F78 /* JSJavaScriptCallFrame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSJavaScriptCallFrame.h; sourceTree = "<group>"; };
-                1C5FAEE60DCFDA6800D58F78 /* JSJavaScriptCallFrameCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSJavaScriptCallFrameCustom.cpp; sourceTree = "<group>"; };
</del><span class="cx">                 1C81B9560E97330800266E07 /* InspectorController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorController.h; sourceTree = "<group>"; };
</span><span class="cx">                 1C81B9570E97330800266E07 /* InspectorController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorController.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 1C81B9580E97330800266E07 /* InspectorClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorClient.h; sourceTree = "<group>"; };
</span><del>-                1C81BA030E97348300266E07 /* JavaScriptCallFrame.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JavaScriptCallFrame.cpp; sourceTree = "<group>"; };
-                1C81BA040E97348300266E07 /* JavaScriptCallFrame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JavaScriptCallFrame.h; sourceTree = "<group>"; };
-                1C81BA050E97348300266E07 /* JavaScriptCallFrame.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = JavaScriptCallFrame.idl; sourceTree = "<group>"; };
</del><span class="cx">                 1C904DF90BA9D2C80081E9D0 /* Version.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Version.xcconfig; sourceTree = "<group>"; };
</span><span class="cx">                 1CA19E030DC255950065A994 /* EventLoopMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = EventLoopMac.mm; sourceTree = "<group>"; };
</span><span class="cx">                 1CA19E150DC255CA0065A994 /* EventLoop.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EventLoop.h; sourceTree = "<group>"; };
</span><span class="lines">@@ -10476,8 +10463,6 @@
</span><span class="cx">                 9F0D6B2C121BFEBA006C0288 /* InspectorProfilerAgent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorProfilerAgent.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 9F0D6B2D121BFEBA006C0288 /* InspectorProfilerAgent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorProfilerAgent.h; sourceTree = "<group>"; };
</span><span class="cx">                 9F3B947D12241758005304E7 /* ScriptHeapSnapshot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScriptHeapSnapshot.h; sourceTree = "<group>"; };
</span><del>-                9F6FC1941122E82A00E80196 /* ScriptDebugServer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScriptDebugServer.cpp; sourceTree = "<group>"; };
-                9F6FC1951122E82A00E80196 /* ScriptDebugServer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScriptDebugServer.h; sourceTree = "<group>"; };
</del><span class="cx">                 9F72304C11184B4100AD0126 /* ScriptProfile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScriptProfile.h; sourceTree = "<group>"; };
</span><span class="cx">                 9F72304D11184B4100AD0126 /* ScriptProfiler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScriptProfiler.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 9F72304E11184B4100AD0126 /* ScriptProfiler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScriptProfiler.h; sourceTree = "<group>"; };
</span><span class="lines">@@ -14772,8 +14757,6 @@
</span><span class="cx">                                 A584FE3A1864E2D800843B10 /* JSCommandLineAPIHost.h */,
</span><span class="cx">                                 7A0E771C10C00DB100A0276E /* JSInspectorFrontendHost.cpp */,
</span><span class="cx">                                 7A0E771D10C00DB100A0276E /* JSInspectorFrontendHost.h */,
</span><del>-                                1C5FAECF0DCFD90100D58F78 /* JSJavaScriptCallFrame.cpp */,
-                                1C5FAED00DCFD90100D58F78 /* JSJavaScriptCallFrame.h */,
</del><span class="cx">                                 9FA37EF61172FD9300C4CD55 /* JSScriptProfile.cpp */,
</span><span class="cx">                                 9FA37EF71172FD9300C4CD55 /* JSScriptProfile.h */,
</span><span class="cx">                                 9FA37EF81172FD9300C4CD55 /* JSScriptProfileNode.cpp */,
</span><span class="lines">@@ -14884,7 +14867,6 @@
</span><span class="cx">                                 F375CC061150D300008DDB81 /* InspectorWorkerResource.h */,
</span><span class="cx">                                 F350B73413F1377D00880C43 /* InstrumentingAgents.cpp */,
</span><span class="cx">                                 F3ABFE0B130E9DA000E7F7D1 /* InstrumentingAgents.h */,
</span><del>-                                1C81BA050E97348300266E07 /* JavaScriptCallFrame.idl */,
</del><span class="cx">                                 59C27F04138D28C10079B7E2 /* NetworkResourcesData.cpp */,
</span><span class="cx">                                 59C27F06138D28CF0079B7E2 /* NetworkResourcesData.h */,
</span><span class="cx">                                 F382088A147D35F90010BC06 /* PageConsoleAgent.cpp */,
</span><span class="lines">@@ -20140,8 +20122,6 @@
</span><span class="cx">                                 1432E8460C51493800B1500F /* GCController.h */,
</span><span class="cx">                                 C585A66011D4FAC5004C3E4B /* IDBBindingUtilities.cpp */,
</span><span class="cx">                                 C585A66111D4FAC5004C3E4B /* IDBBindingUtilities.h */,
</span><del>-                                1C81BA030E97348300266E07 /* JavaScriptCallFrame.cpp */,
-                                1C81BA040E97348300266E07 /* JavaScriptCallFrame.h */,
</del><span class="cx">                                 E157A8EE18185425009F821D /* JSCryptoAlgorithmBuilder.cpp */,
</span><span class="cx">                                 E157A8EF18185425009F821D /* JSCryptoAlgorithmBuilder.h */,
</span><span class="cx">                                 E125F83B182411E700D84CD9 /* JSCryptoOperationData.cpp */,
</span><span class="lines">@@ -20191,8 +20171,6 @@
</span><span class="cx">                                 93B70D5309EB0C7C009D8468 /* ScriptController.cpp */,
</span><span class="cx">                                 93B70D5409EB0C7C009D8468 /* ScriptController.h */,
</span><span class="cx">                                 A83E1C720E49042B00140B9C /* ScriptControllerMac.mm */,
</span><del>-                                9F6FC1941122E82A00E80196 /* ScriptDebugServer.cpp */,
-                                9F6FC1951122E82A00E80196 /* ScriptDebugServer.h */,
</del><span class="cx">                                 9F3B947D12241758005304E7 /* ScriptHeapSnapshot.h */,
</span><span class="cx">                                 41F066E30F64BCF600A07EAC /* ScriptGlobalObject.cpp */,
</span><span class="cx">                                 41F066E20F64BCF600A07EAC /* ScriptGlobalObject.h */,
</span><span class="lines">@@ -20336,7 +20314,6 @@
</span><span class="cx">                                 511EF2CE17F0FDF100E4FA16 /* JSIDBObjectStoreCustom.cpp */,
</span><span class="cx">                                 A7D0318D0E93540300E24ACD /* JSImageDataCustom.cpp */,
</span><span class="cx">                                 7A74ECBC101839DA00BF939E /* JSInspectorFrontendHostCustom.cpp */,
</span><del>-                                1C5FAEE60DCFDA6800D58F78 /* JSJavaScriptCallFrameCustom.cpp */,
</del><span class="cx">                                 BCE1C43F0D9830F4003B02F2 /* JSLocationCustom.cpp */,
</span><span class="cx">                                 AD726FE716D9F204003A4E6D /* JSMediaListCustom.h */,
</span><span class="cx">                                 E1A5F99A0E7EAA2500AF85EA /* JSMessageChannelCustom.cpp */,
</span><span class="lines">@@ -24000,7 +23977,6 @@
</span><span class="cx">                                 E134F5AB12EE343F004EC58D /* IntRectHash.h in Headers */,
</span><span class="cx">                                 B27535750B053814002CE64F /* IntSize.h in Headers */,
</span><span class="cx">                                 B27535760B053814002CE64F /* IntSizeHash.h in Headers */,
</span><del>-                                1C81BA0A0E97348300266E07 /* JavaScriptCallFrame.h in Headers */,
</del><span class="cx">                                 418F88050FF957AF0080F045 /* JSAbstractWorker.h in Headers */,
</span><span class="cx">                                 FDA15ECA12B03F50003A583A /* JSAnalyserNode.h in Headers */,
</span><span class="cx">                                 65DF31DB09D1C123000BE325 /* JSAttr.h in Headers */,
</span><span class="lines">@@ -24249,7 +24225,6 @@
</span><span class="cx">                                 BC6C49F40D7DBA0500FFA558 /* JSImageConstructor.h in Headers */,
</span><span class="cx">                                 A77979290D6B9E64003851B9 /* JSImageData.h in Headers */,
</span><span class="cx">                                 7A0E771F10C00DB100A0276E /* JSInspectorFrontendHost.h in Headers */,
</span><del>-                                1C5FAED20DCFD90100D58F78 /* JSJavaScriptCallFrame.h in Headers */,
</del><span class="cx">                                 A86629D309DA2B48009633A5 /* JSKeyboardEvent.h in Headers */,
</span><span class="cx">                                 1AE00D59182DAC8D00087DD7 /* KeyedCoding.h in Headers */,
</span><span class="cx">                                 935F45430F7C3B5F00D7C1FB /* JSLazyEventListener.h in Headers */,
</span><span class="lines">@@ -25144,7 +25119,6 @@
</span><span class="cx">                                 416E75BE0EDF8FD700360E1D /* ScriptCallStack.h in Headers */,
</span><span class="cx">                                 F392249D126F11AE00A926D9 /* ScriptCallStackFactory.h in Headers */,
</span><span class="cx">                                 93B70D7009EB0C7C009D8468 /* ScriptController.h in Headers */,
</span><del>-                                9F6FC1971122E82A00E80196 /* ScriptDebugServer.h in Headers */,
</del><span class="cx">                                 4998AED213FB224D0090B1AA /* ScriptedAnimationController.h in Headers */,
</span><span class="cx">                                 08A484780E5272C500C3FE76 /* ScriptElement.h in Headers */,
</span><span class="cx">                                 E11C9D9B0EB3681200E409DB /* ScriptExecutionContext.h in Headers */,
</span><span class="lines">@@ -27332,7 +27306,6 @@
</span><span class="cx">                                 B275357D0B053814002CE64F /* IntRectMac.mm in Sources */,
</span><span class="cx">                                 B27535620B053814002CE64F /* IntSizeCG.cpp in Sources */,
</span><span class="cx">                                 B275357E0B053814002CE64F /* IntSizeMac.mm in Sources */,
</span><del>-                                1C81BA090E97348300266E07 /* JavaScriptCallFrame.cpp in Sources */,
</del><span class="cx">                                 418F88040FF957AE0080F045 /* JSAbstractWorker.cpp in Sources */,
</span><span class="cx">                                 073BE34F17D18183002BD431 /* RTCIceCandidateDescriptor.cpp in Sources */,
</span><span class="cx">                                 E172AF6D180F24C600FBADB9 /* CryptoAlgorithm.cpp in Sources */,
</span><span class="lines">@@ -27614,10 +27587,8 @@
</span><span class="cx">                                 A7D0318E0E93540300E24ACD /* JSImageDataCustom.cpp in Sources */,
</span><span class="cx">                                 7A0E771E10C00DB100A0276E /* JSInspectorFrontendHost.cpp in Sources */,
</span><span class="cx">                                 7A74ECBD101839DA00BF939E /* JSInspectorFrontendHostCustom.cpp in Sources */,
</span><del>-                                1C5FAED10DCFD90100D58F78 /* JSJavaScriptCallFrame.cpp in Sources */,
</del><span class="cx">                                 076306E017E16089005A7C4E /* JSSourceInfo.cpp in Sources */,
</span><span class="cx">                                 07969DB717D14151007FF842 /* JSRTCIceCandidateEvent.cpp in Sources */,
</span><del>-                                1C5FAEE70DCFDA6800D58F78 /* JSJavaScriptCallFrameCustom.cpp in Sources */,
</del><span class="cx">                                 A86629D409DA2B48009633A5 /* JSKeyboardEvent.cpp in Sources */,
</span><span class="cx">                                 935F45420F7C3B5F00D7C1FB /* JSLazyEventListener.cpp in Sources */,
</span><span class="cx">                                 BCE1C43B0D9830D3003B02F2 /* JSLocation.cpp in Sources */,
</span><span class="lines">@@ -28461,7 +28432,6 @@
</span><span class="cx">                                 F392249C126F11AE00A926D9 /* ScriptCallStackFactory.cpp in Sources */,
</span><span class="cx">                                 93B70D6F09EB0C7C009D8468 /* ScriptController.cpp in Sources */,
</span><span class="cx">                                 A83E1C740E49042C00140B9C /* ScriptControllerMac.mm in Sources */,
</span><del>-                                9F6FC1961122E82A00E80196 /* ScriptDebugServer.cpp in Sources */,
</del><span class="cx">                                 4998AED113FB224D0090B1AA /* ScriptedAnimationController.cpp in Sources */,
</span><span class="cx">                                 08A484770E5272C500C3FE76 /* ScriptElement.cpp in Sources */,
</span><span class="cx">                                 E11C9DB00EB3699500E409DB /* ScriptExecutionContext.cpp in Sources */,
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSBindingsAllInOnecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSBindingsAllInOne.cpp (162756 => 162757)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSBindingsAllInOne.cpp        2014-01-25 04:42:00 UTC (rev 162756)
+++ trunk/Source/WebCore/bindings/js/JSBindingsAllInOne.cpp        2014-01-25 04:42:25 UTC (rev 162757)
</span><span class="lines">@@ -20,7 +20,7 @@
</span><span class="cx"> * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
</span><span class="cx"> * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
</span><span class="cx"> * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
</span><del>- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
</del><ins>+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
</ins><span class="cx"> */
</span><span class="cx">
</span><span class="cx"> // This all-in-one cpp file cuts down on template bloat to allow us to build our Windows release build.
</span><span class="lines">@@ -95,7 +95,6 @@
</span><span class="cx"> #include "JSImageConstructor.cpp"
</span><span class="cx"> #include "JSImageDataCustom.cpp"
</span><span class="cx"> #include "JSInspectorFrontendHostCustom.cpp"
</span><del>-#include "JSJavaScriptCallFrameCustom.cpp"
</del><span class="cx"> #include "JSLazyEventListener.cpp"
</span><span class="cx"> #include "JSLocationCustom.cpp"
</span><span class="cx"> #include "JSMainThreadExecState.cpp"
</span><span class="lines">@@ -141,13 +140,11 @@
</span><span class="cx"> #include "JSXMLHttpRequestCustom.cpp"
</span><span class="cx"> #include "JSXPathResultCustom.cpp"
</span><span class="cx"> #include "JSXSLTProcessorCustom.cpp"
</span><del>-#include "JavaScriptCallFrame.cpp"
</del><span class="cx"> #include "PageScriptDebugServer.cpp"
</span><span class="cx"> #include "ScheduledAction.cpp"
</span><span class="cx"> #include "ScriptCachedFrameData.cpp"
</span><span class="cx"> #include "ScriptCallStackFactory.cpp"
</span><span class="cx"> #include "ScriptController.cpp"
</span><del>-#include "ScriptDebugServer.cpp"
</del><span class="cx"> #include "ScriptProfiler.cpp"
</span><span class="cx"> #include "ScriptState.cpp"
</span><span class="cx"> #include "SerializedScriptValue.cpp"
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSJavaScriptCallFrameCustomcpp"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/bindings/js/JSJavaScriptCallFrameCustom.cpp (162756 => 162757)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSJavaScriptCallFrameCustom.cpp        2014-01-25 04:42:00 UTC (rev 162756)
+++ trunk/Source/WebCore/bindings/js/JSJavaScriptCallFrameCustom.cpp        2014-01-25 04:42:25 UTC (rev 162757)
</span><span class="lines">@@ -1,129 +0,0 @@
</span><del>-/*
- * Copyright (C) 2008 Apple Inc. All Rights Reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-
-#if ENABLE(JAVASCRIPT_DEBUGGER)
-
-#include "JSJavaScriptCallFrame.h"
-
-#include "JavaScriptCallFrame.h"
-#include <runtime/ArrayPrototype.h>
-#include <runtime/Error.h>
-
-using namespace JSC;
-
-namespace WebCore {
-
-JSValue JSJavaScriptCallFrame::evaluate(ExecState* exec)
-{
- JSValue exception;
- JSValue result = impl().evaluate(exec->argument(0).toString(exec)->value(exec), exception);
-
- if (exception)
- exec->vm().throwException(exec, exception);
-
- return result;
-}
-
-JSValue JSJavaScriptCallFrame::thisObject(ExecState*) const
-{
- return impl().thisValue();
-}
-
-JSValue JSJavaScriptCallFrame::type(ExecState* exec) const
-{
- switch (impl().type()) {
- case DebuggerCallFrame::FunctionType:
- return jsNontrivialString(exec, ASCIILiteral("function"));
- case DebuggerCallFrame::ProgramType:
- return jsNontrivialString(exec, ASCIILiteral("program"));
- }
-
- ASSERT_NOT_REACHED();
- return jsNull();
-}
-
-JSValue JSJavaScriptCallFrame::scopeChain(ExecState* exec) const
-{
- if (!impl().scopeChain())
- return jsNull();
-
- JSScope* scopeChain = impl().scopeChain();
- ScopeChainIterator iter = scopeChain->begin();
- ScopeChainIterator end = scopeChain->end();
-
- // we must always have something in the scope chain
- ASSERT(iter != end);
-
- MarkedArgumentBuffer list;
- do {
- list.append(iter.get());
- ++iter;
- } while (iter != end);
-
- return constructArray(exec, 0, globalObject(), list);
-}
-
-JSValue JSJavaScriptCallFrame::scopeType(ExecState* exec)
-{
- if (!impl().scopeChain())
- return jsUndefined();
-
- if (!exec->argument(0).isInt32())
- return jsUndefined();
- int index = exec->argument(0).asInt32();
-
- JSScope* scopeChain = impl().scopeChain();
- ScopeChainIterator end = scopeChain->end();
-
- bool foundLocalScope = false;
- for (ScopeChainIterator iter = scopeChain->begin(); iter != end; ++iter) {
- JSObject* scope = iter.get();
- if (scope->isActivationObject()) {
- if (!foundLocalScope) {
- // First activation object is local scope, each successive activation object is closure.
- if (!index)
- return JSValue::decode(jsJavaScriptCallFrameLOCAL_SCOPE(exec, EncodedJSValue(), EncodedJSValue(), Identifier()));
- foundLocalScope = true;
- } else if (!index)
- return JSValue::decode(jsJavaScriptCallFrameCLOSURE_SCOPE(exec, EncodedJSValue(), EncodedJSValue(), Identifier()));
- }
-
- if (!index) {
- // Last in the chain is global scope.
- if (++iter == end)
- return JSValue::decode(jsJavaScriptCallFrameGLOBAL_SCOPE(exec, EncodedJSValue(), EncodedJSValue(), Identifier()));
- return JSValue::decode(jsJavaScriptCallFrameWITH_SCOPE(exec, EncodedJSValue(), EncodedJSValue(), Identifier()));
- }
-
- --index;
- }
- return jsUndefined();
-}
-
-} // namespace WebCore
-
-#endif // ENABLE(JAVASCRIPT_DEBUGGER)
</del></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJavaScriptCallFramecpp"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/bindings/js/JavaScriptCallFrame.cpp (162756 => 162757)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JavaScriptCallFrame.cpp        2014-01-25 04:42:00 UTC (rev 162756)
+++ trunk/Source/WebCore/bindings/js/JavaScriptCallFrame.cpp        2014-01-25 04:42:25 UTC (rev 162757)
</span><span class="lines">@@ -1,58 +0,0 @@
</span><del>-/*
- * Copyright (C) 2008, 2013 Apple Inc. All Rights Reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-
-#if ENABLE(JAVASCRIPT_DEBUGGER)
-
-#include "JavaScriptCallFrame.h"
-
-#include <debugger/DebuggerCallFrame.h>
-
-using namespace JSC;
-
-namespace WebCore {
-
-JavaScriptCallFrame::JavaScriptCallFrame(PassRefPtr<DebuggerCallFrame> debuggerCallFrame)
- : m_debuggerCallFrame(debuggerCallFrame)
-{
-}
-
-JavaScriptCallFrame* JavaScriptCallFrame::caller()
-{
- if (m_caller)
- return m_caller.get();
-
- RefPtr<DebuggerCallFrame> debuggerCallerFrame = m_debuggerCallFrame->callerFrame();
- if (!debuggerCallerFrame)
- return 0;
-
- m_caller = create(debuggerCallerFrame);
- return m_caller.get();
-}
-
-} // namespace WebCore
-
-#endif // ENABLE(JAVASCRIPT_DEBUGGER)
</del></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJavaScriptCallFrameh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/bindings/js/JavaScriptCallFrame.h (162756 => 162757)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JavaScriptCallFrame.h        2014-01-25 04:42:00 UTC (rev 162756)
+++ trunk/Source/WebCore/bindings/js/JavaScriptCallFrame.h        2014-01-25 04:42:25 UTC (rev 162757)
</span><span class="lines">@@ -1,72 +0,0 @@
</span><del>-/*
- * Copyright (C) 2008, 2013 Apple Inc. All Rights Reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef JavaScriptCallFrame_h
-#define JavaScriptCallFrame_h
-
-#if ENABLE(JAVASCRIPT_DEBUGGER)
-
-#include <debugger/DebuggerCallFrame.h>
-#include <interpreter/CallFrame.h>
-#include <wtf/Forward.h>
-#include <wtf/PassRefPtr.h>
-#include <wtf/RefCounted.h>
-#include <wtf/text/TextPosition.h>
-
-namespace WebCore {
-
-class JavaScriptCallFrame : public RefCounted<JavaScriptCallFrame> {
-public:
- static PassRefPtr<JavaScriptCallFrame> create(PassRefPtr<JSC::DebuggerCallFrame> debuggerCallFrame)
- {
- return adoptRef(new JavaScriptCallFrame(debuggerCallFrame));
- }
-
- JavaScriptCallFrame* caller();
- intptr_t sourceID() const { return m_debuggerCallFrame->sourceID(); }
- const TextPosition position() const { return m_debuggerCallFrame->position(); }
- int line() const { return m_debuggerCallFrame->line(); }
- int column() const { return m_debuggerCallFrame->column(); }
-
- String functionName() const { return m_debuggerCallFrame->functionName(); }
- JSC::DebuggerCallFrame::Type type() const { return m_debuggerCallFrame->type(); }
- JSC::JSScope* scopeChain() const { return m_debuggerCallFrame->scope(); }
- JSC::JSGlobalObject* vmEntryGlobalObject() const { return m_debuggerCallFrame->vmEntryGlobalObject(); }
-
- JSC::JSValue thisValue() const { return m_debuggerCallFrame->thisValue(); }
- JSC::JSValue evaluate(const String& script, JSC::JSValue& exception) const { return m_debuggerCallFrame->evaluate(script, exception); }
-
-private:
- JavaScriptCallFrame(PassRefPtr<JSC::DebuggerCallFrame>);
-
- RefPtr<JSC::DebuggerCallFrame> m_debuggerCallFrame;
- RefPtr<JavaScriptCallFrame> m_caller;
-};
-
-} // namespace WebCore
-
-#endif // ENABLE(JAVASCRIPT_DEBUGGER)
-
-#endif // JavaScriptCallFrame_h
</del></span></pre></div>
<a id="trunkSourceWebCorebindingsjsPageScriptDebugServercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/PageScriptDebugServer.cpp (162756 => 162757)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/PageScriptDebugServer.cpp        2014-01-25 04:42:00 UTC (rev 162756)
+++ trunk/Source/WebCore/bindings/js/PageScriptDebugServer.cpp        2014-01-25 04:42:25 UTC (rev 162757)
</span><span class="lines">@@ -43,6 +43,7 @@
</span><span class="cx"> #include "PageGroup.h"
</span><span class="cx"> #include "PluginView.h"
</span><span class="cx"> #include "ScriptController.h"
</span><ins>+#include "Timer.h"
</ins><span class="cx"> #include "Widget.h"
</span><span class="cx"> #include <runtime/JSLock.h>
</span><span class="cx"> #include <wtf/MainThread.h>
</span><span class="lines">@@ -193,6 +194,8 @@
</span><span class="cx"> WebRunLoopEnableNested();
</span><span class="cx"> #endif
</span><span class="cx">
</span><ins>+ TimerBase::fireTimersInNestedEventLoop();
+
</ins><span class="cx"> EventLoop loop;
</span><span class="cx"> while (!m_doneProcessingDebuggerEvents && !loop.ended())
</span><span class="cx"> loop.cycle();
</span><span class="lines">@@ -204,6 +207,16 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx">
</span><ins>+bool PageScriptDebugServer::isContentScript(ExecState* exec) const
+{
+ return &currentWorld(exec) != &mainThreadNormalWorld();
+}
+
+void PageScriptDebugServer::reportException(ExecState* exec, JSValue exception) const
+{
+ WebCore::reportException(exec, exception);
+}
+
</ins><span class="cx"> void PageScriptDebugServer::setJavaScriptPaused(const PageGroup& pageGroup, bool paused)
</span><span class="cx"> {
</span><span class="cx"> setMainThreadCallbacksPaused(paused);
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsPageScriptDebugServerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/PageScriptDebugServer.h (162756 => 162757)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/PageScriptDebugServer.h        2014-01-25 04:42:00 UTC (rev 162756)
+++ trunk/Source/WebCore/bindings/js/PageScriptDebugServer.h        2014-01-25 04:42:25 UTC (rev 162757)
</span><span class="lines">@@ -33,7 +33,7 @@
</span><span class="cx">
</span><span class="cx"> #if ENABLE(JAVASCRIPT_DEBUGGER)
</span><span class="cx">
</span><del>-#include "ScriptDebugServer.h"
</del><ins>+#include <inspector/ScriptDebugServer.h>
</ins><span class="cx"> #include <wtf/Forward.h>
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -43,7 +43,7 @@
</span><span class="cx"> class Page;
</span><span class="cx"> class PageGroup;
</span><span class="cx">
</span><del>-class PageScriptDebugServer : public ScriptDebugServer {
</del><ins>+class PageScriptDebugServer : public Inspector::ScriptDebugServer {
</ins><span class="cx"> WTF_MAKE_NONCOPYABLE(PageScriptDebugServer);
</span><span class="cx"> public:
</span><span class="cx"> static PageScriptDebugServer& shared();
</span><span class="lines">@@ -62,9 +62,11 @@
</span><span class="cx"> virtual ListenerSet* getListenersForGlobalObject(JSC::JSGlobalObject*);
</span><span class="cx"> virtual void didPause(JSC::JSGlobalObject*);
</span><span class="cx"> virtual void didContinue(JSC::JSGlobalObject*);
</span><del>-
</del><span class="cx"> virtual void runEventLoopWhilePaused();
</span><ins>+ virtual bool isContentScript(JSC::ExecState*) const override;
+ virtual void reportException(JSC::ExecState*, JSC::JSValue) const override;
</ins><span class="cx">
</span><ins>+
</ins><span class="cx"> void didAddFirstListener(Page*);
</span><span class="cx"> void didRemoveLastListener(Page*, bool skipRecompile);
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsScriptDebugServercpp"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/bindings/js/ScriptDebugServer.cpp (162756 => 162757)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/ScriptDebugServer.cpp        2014-01-25 04:42:00 UTC (rev 162756)
+++ trunk/Source/WebCore/bindings/js/ScriptDebugServer.cpp        2014-01-25 04:42:25 UTC (rev 162757)
</span><span class="lines">@@ -1,330 +0,0 @@
</span><del>-/*
- * Copyright (C) 2008, 2009, 2013, 2014 Apple Inc. All rights reserved.
- * Copyright (C) 2010-2011 Google Inc. All rights reserved.
- * Copyright (C) 2013 University of Washington. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-
-#if ENABLE(JAVASCRIPT_DEBUGGER)
-
-#include "ScriptDebugServer.h"
-
-#include "EventLoop.h"
-#include "JSDOMWindowCustom.h"
-#include "JSJavaScriptCallFrame.h"
-#include "JavaScriptCallFrame.h"
-#include "PageConsole.h"
-#include "Sound.h"
-#include "Timer.h"
-#include <bindings/ScriptValue.h>
-#include <debugger/DebuggerCallFrame.h>
-#include <parser/SourceProvider.h>
-#include <runtime/JSLock.h>
-#include <wtf/MainThread.h>
-#include <wtf/NeverDestroyed.h>
-#include <wtf/TemporaryChange.h>
-#include <wtf/text/WTFString.h>
-
-using namespace JSC;
-using namespace Inspector;
-
-namespace WebCore {
-
-ScriptDebugServer::ScriptDebugServer(bool isInWorkerThread)
- : Debugger(isInWorkerThread)
- , m_doneProcessingDebuggerEvents(true)
- , m_callingListeners(false)
-{
-}
-
-ScriptDebugServer::~ScriptDebugServer()
-{
-}
-
-JSC::BreakpointID ScriptDebugServer::setBreakpoint(JSC::SourceID sourceID, const ScriptBreakpoint& scriptBreakpoint, unsigned* actualLineNumber, unsigned* actualColumnNumber)
-{
- if (!sourceID)
- return JSC::noBreakpointID;
-
- JSC::Breakpoint breakpoint(sourceID, scriptBreakpoint.lineNumber, scriptBreakpoint.columnNumber, scriptBreakpoint.condition, scriptBreakpoint.autoContinue);
- JSC::BreakpointID id = Debugger::setBreakpoint(breakpoint, *actualLineNumber, *actualColumnNumber);
- if (id != JSC::noBreakpointID && !scriptBreakpoint.actions.isEmpty()) {
-#ifndef NDEBUG
- BreakpointIDToActionsMap::iterator it = m_breakpointIDToActions.find(id);
- ASSERT(it == m_breakpointIDToActions.end());
-#endif
- const Vector<ScriptBreakpointAction> &actions = scriptBreakpoint.actions;
- m_breakpointIDToActions.set(id, actions);
- }
- return id;
-}
-
-void ScriptDebugServer::removeBreakpoint(JSC::BreakpointID id)
-{
- ASSERT(id != JSC::noBreakpointID);
- BreakpointIDToActionsMap::iterator it = m_breakpointIDToActions.find(id);
- if (it != m_breakpointIDToActions.end())
- m_breakpointIDToActions.remove(it);
-
- Debugger::removeBreakpoint(id);
-}
-
-bool ScriptDebugServer::evaluateBreakpointAction(const ScriptBreakpointAction& breakpointAction)
-{
- DebuggerCallFrame* debuggerCallFrame = currentDebuggerCallFrame();
- switch (breakpointAction.type) {
- case ScriptBreakpointActionTypeLog: {
- DOMWindow& window = asJSDOMWindow(debuggerCallFrame->vmEntryGlobalObject())->impl();
- if (PageConsole* console = window.pageConsole())
- console->addMessage(JSMessageSource, LogMessageLevel, breakpointAction.data);
- break;
- }
- case ScriptBreakpointActionTypeEvaluate: {
- JSValue exception;
- debuggerCallFrame->evaluate(breakpointAction.data, exception);
- if (exception)
- reportException(debuggerCallFrame->exec(), exception);
- break;
- }
- case ScriptBreakpointActionTypeSound:
- systemBeep();
- break;
- case ScriptBreakpointActionTypeProbe: {
- JSValue exception;
- JSValue result = debuggerCallFrame->evaluate(breakpointAction.data, exception);
- if (exception)
- reportException(debuggerCallFrame->exec(), exception);
-
- JSC::ExecState* state = debuggerCallFrame->scope()->globalObject()->globalExec();
- Deprecated::ScriptValue wrappedResult = Deprecated::ScriptValue(state->vm(), exception ? exception : result);
- dispatchDidSampleProbe(state, breakpointAction.identifier, wrappedResult);
- break;
- }
- }
-
- return true;
-}
-
-void ScriptDebugServer::clearBreakpoints()
-{
- Debugger::clearBreakpoints();
- m_breakpointIDToActions.clear();
-}
-
-void ScriptDebugServer::dispatchDidPause(ScriptDebugListener* listener)
-{
- ASSERT(isPaused());
- DebuggerCallFrame* debuggerCallFrame = currentDebuggerCallFrame();
- JSGlobalObject* globalObject = debuggerCallFrame->scope()->globalObject();
- JSC::ExecState* state = globalObject->globalExec();
- RefPtr<JavaScriptCallFrame> javaScriptCallFrame = JavaScriptCallFrame::create(debuggerCallFrame);
- JSValue jsCallFrame;
- {
- if (globalObject->inherits(JSDOMGlobalObject::info())) {
- JSDOMGlobalObject* domGlobalObject = jsCast<JSDOMGlobalObject*>(globalObject);
- JSLockHolder lock(state);
- jsCallFrame = toJS(state, domGlobalObject, javaScriptCallFrame.get());
- } else
- jsCallFrame = jsUndefined();
- }
- listener->didPause(state, Deprecated::ScriptValue(state->vm(), jsCallFrame), Deprecated::ScriptValue());
-}
-
-void ScriptDebugServer::dispatchDidSampleProbe(ExecState* exec, int identifier, const Deprecated::ScriptValue& sample)
-{
- if (m_callingListeners)
- return;
-
- ListenerSet* listeners = getListenersForGlobalObject(exec->lexicalGlobalObject());
- if (!listeners)
- return;
- ASSERT(!listeners->isEmpty());
-
- TemporaryChange<bool> change(m_callingListeners, true);
-
- Vector<ScriptDebugListener*> listenersCopy;
- copyToVector(*listeners, listenersCopy);
- for (auto listener : listenersCopy)
- listener->didSampleProbe(exec, identifier, m_hitCount, sample);
-}
-
-void ScriptDebugServer::dispatchDidContinue(ScriptDebugListener* listener)
-{
- listener->didContinue();
-}
-
-void ScriptDebugServer::dispatchDidParseSource(const ListenerSet& listeners, SourceProvider* sourceProvider, bool isContentScript)
-{
- JSC::SourceID sourceID = sourceProvider->asID();
-
- ScriptDebugListener::Script script;
- script.url = sourceProvider->url();
- script.source = sourceProvider->source();
- script.startLine = sourceProvider->startPosition().m_line.zeroBasedInt();
- script.startColumn = sourceProvider->startPosition().m_column.zeroBasedInt();
- script.isContentScript = isContentScript;
-
- int sourceLength = script.source.length();
- int lineCount = 1;
- int lastLineStart = 0;
- for (int i = 0; i < sourceLength; ++i) {
- if (script.source[i] == '\n') {
- lineCount += 1;
- lastLineStart = i + 1;
- }
- }
-
- script.endLine = script.startLine + lineCount - 1;
- if (lineCount == 1)
- script.endColumn = script.startColumn + sourceLength;
- else
- script.endColumn = sourceLength - lastLineStart;
-
- Vector<ScriptDebugListener*> copy;
- copyToVector(listeners, copy);
- for (size_t i = 0; i < copy.size(); ++i)
- copy[i]->didParseSource(sourceID, script);
-}
-
-void ScriptDebugServer::dispatchFailedToParseSource(const ListenerSet& listeners, SourceProvider* sourceProvider, int errorLine, const String& errorMessage)
-{
- String url = sourceProvider->url();
- const String& data = sourceProvider->source();
- int firstLine = sourceProvider->startPosition().m_line.oneBasedInt();
-
- Vector<ScriptDebugListener*> copy;
- copyToVector(listeners, copy);
- for (size_t i = 0; i < copy.size(); ++i)
- copy[i]->failedToParseSource(url, data, firstLine, errorLine, errorMessage);
-}
-
-bool ScriptDebugServer::isContentScript(ExecState* exec)
-{
- return &currentWorld(exec) != &mainThreadNormalWorld();
-}
-
-void ScriptDebugServer::sourceParsed(ExecState* exec, SourceProvider* sourceProvider, int errorLine, const String& errorMessage)
-{
- if (m_callingListeners)
- return;
-
- ListenerSet* listeners = getListenersForGlobalObject(exec->lexicalGlobalObject());
- if (!listeners)
- return;
- ASSERT(!listeners->isEmpty());
-
- m_callingListeners = true;
-
- bool isError = errorLine != -1;
- if (isError)
- dispatchFailedToParseSource(*listeners, sourceProvider, errorLine, errorMessage);
- else
- dispatchDidParseSource(*listeners, sourceProvider, isContentScript(exec));
-
- m_callingListeners = false;
-}
-
-void ScriptDebugServer::dispatchFunctionToListeners(const ListenerSet& listeners, JavaScriptExecutionCallback callback)
-{
- Vector<ScriptDebugListener*> copy;
- copyToVector(listeners, copy);
- for (size_t i = 0; i < copy.size(); ++i)
- (this->*callback)(copy[i]);
-}
-
-void ScriptDebugServer::dispatchFunctionToListeners(JavaScriptExecutionCallback callback, JSGlobalObject* globalObject)
-{
- if (m_callingListeners)
- return;
-
- m_callingListeners = true;
-
- if (ListenerSet* listeners = getListenersForGlobalObject(globalObject)) {
- ASSERT(!listeners->isEmpty());
- dispatchFunctionToListeners(*listeners, callback);
- }
-
- m_callingListeners = false;
-}
-
-void ScriptDebugServer::notifyDoneProcessingDebuggerEvents()
-{
- m_doneProcessingDebuggerEvents = true;
-}
-
-bool ScriptDebugServer::needPauseHandling(JSGlobalObject* globalObject)
-{
- return !!getListenersForGlobalObject(globalObject);
-}
-
-void ScriptDebugServer::handleBreakpointHit(const JSC::Breakpoint& breakpoint)
-{
- m_hitCount++;
- BreakpointIDToActionsMap::iterator it = m_breakpointIDToActions.find(breakpoint.id);
- if (it != m_breakpointIDToActions.end()) {
- BreakpointActions& actions = it->value;
- for (size_t i = 0; i < actions.size(); ++i) {
- if (!evaluateBreakpointAction(actions[i]))
- return;
- }
- }
-}
-
-void ScriptDebugServer::handleExceptionInBreakpointCondition(JSC::ExecState* exec, JSC::JSValue exception) const
-{
- reportException(exec, exception);
-}
-
-void ScriptDebugServer::handlePause(Debugger::ReasonForPause, JSGlobalObject* vmEntryGlobalObject)
-{
- dispatchFunctionToListeners(&ScriptDebugServer::dispatchDidPause, vmEntryGlobalObject);
- didPause(vmEntryGlobalObject);
-
- TimerBase::fireTimersInNestedEventLoop();
-
- m_doneProcessingDebuggerEvents = false;
- runEventLoopWhilePaused();
-
- didContinue(vmEntryGlobalObject);
- dispatchFunctionToListeners(&ScriptDebugServer::dispatchDidContinue, vmEntryGlobalObject);
-}
-
-const Vector<ScriptBreakpointAction>& ScriptDebugServer::getActionsForBreakpoint(JSC::BreakpointID breakpointID)
-{
- ASSERT(breakpointID != JSC::noBreakpointID);
-
- if (m_breakpointIDToActions.contains(breakpointID))
- return m_breakpointIDToActions.find(breakpointID)->value;
-
- static NeverDestroyed<Vector<ScriptBreakpointAction>> emptyActionVector = Vector<ScriptBreakpointAction>();
- return emptyActionVector;
-}
-
-} // namespace WebCore
-
-#endif // ENABLE(JAVASCRIPT_DEBUGGER)
</del></span></pre></div>
<a id="trunkSourceWebCorebindingsjsScriptDebugServerh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/bindings/js/ScriptDebugServer.h (162756 => 162757)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/ScriptDebugServer.h        2014-01-25 04:42:00 UTC (rev 162756)
+++ trunk/Source/WebCore/bindings/js/ScriptDebugServer.h        2014-01-25 04:42:25 UTC (rev 162757)
</span><span class="lines">@@ -1,121 +0,0 @@
</span><del>-/*
- * Copyright (C) 2008, 2013 Apple Inc. All rights reserved.
- * Copyright (C) 2010-2011 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef ScriptDebugServer_h
-#define ScriptDebugServer_h
-
-#if ENABLE(JAVASCRIPT_DEBUGGER)
-
-#include <bindings/ScriptObject.h>
-#include <debugger/Debugger.h>
-#include <inspector/ScriptBreakpoint.h>
-#include <inspector/ScriptDebugListener.h>
-#include <wtf/HashMap.h>
-#include <wtf/HashSet.h>
-#include <wtf/RefPtr.h>
-#include <wtf/Vector.h>
-#include <wtf/text/TextPosition.h>
-#include <wtf/text/WTFString.h>
-
-namespace JSC {
-class DebuggerCallFrame;
-class JSGlobalObject;
-class ExecState;
-}
-
-namespace WebCore {
-
-class ScriptDebugServer : public JSC::Debugger {
- WTF_MAKE_NONCOPYABLE(ScriptDebugServer); WTF_MAKE_FAST_ALLOCATED;
-public:
- JSC::BreakpointID setBreakpoint(JSC::SourceID, const Inspector::ScriptBreakpoint&, unsigned* actualLineNumber, unsigned* actualColumnNumber);
- void removeBreakpoint(JSC::BreakpointID);
- void clearBreakpoints();
-
- virtual void recompileAllJSFunctions() = 0;
-
- const Vector<Inspector::ScriptBreakpointAction>& getActionsForBreakpoint(JSC::BreakpointID);
-
- class Task {
- WTF_MAKE_FAST_ALLOCATED;
- public:
- virtual ~Task() { }
- virtual void run() = 0;
- };
-
-protected:
- typedef HashSet<Inspector::ScriptDebugListener*> ListenerSet;
- typedef void (ScriptDebugServer::*JavaScriptExecutionCallback)(Inspector::ScriptDebugListener*);
-
- ScriptDebugServer(bool isInWorkerThread = false);
- ~ScriptDebugServer();
-
- virtual ListenerSet* getListenersForGlobalObject(JSC::JSGlobalObject*) = 0;
- virtual void didPause(JSC::JSGlobalObject*) = 0;
- virtual void didContinue(JSC::JSGlobalObject*) = 0;
-
- virtual void runEventLoopWhilePaused() = 0;
-
- virtual bool isContentScript(JSC::ExecState*);
-
- bool evaluateBreakpointAction(const Inspector::ScriptBreakpointAction&);
-
- void dispatchFunctionToListeners(JavaScriptExecutionCallback, JSC::JSGlobalObject*);
- void dispatchFunctionToListeners(const ListenerSet& listeners, JavaScriptExecutionCallback callback);
- void dispatchDidPause(Inspector::ScriptDebugListener*);
- void dispatchDidContinue(Inspector::ScriptDebugListener*);
- void dispatchDidParseSource(const ListenerSet& listeners, JSC::SourceProvider*, bool isContentScript);
- void dispatchFailedToParseSource(const ListenerSet& listeners, JSC::SourceProvider*, int errorLine, const String& errorMessage);
- void dispatchDidSampleProbe(JSC::ExecState*, int probeIdentifier, const Deprecated::ScriptValue& sample);
-
- bool m_doneProcessingDebuggerEvents;
-
-private:
- typedef Vector<Inspector::ScriptBreakpointAction> BreakpointActions;
- typedef HashMap<JSC::BreakpointID, BreakpointActions> BreakpointIDToActionsMap;
-
- virtual void sourceParsed(JSC::ExecState*, JSC::SourceProvider*, int errorLine, const String& errorMsg) override final;
- virtual bool needPauseHandling(JSC::JSGlobalObject*) override final;
- virtual void handleBreakpointHit(const JSC::Breakpoint&) override final;
- virtual void handleExceptionInBreakpointCondition(JSC::ExecState*, JSC::JSValue exception) const override final;
- virtual void handlePause(JSC::Debugger::ReasonForPause, JSC::JSGlobalObject*) override final;
- virtual void notifyDoneProcessingDebuggerEvents() override final;
-
- unsigned m_hitCount;
- bool m_callingListeners;
- BreakpointIDToActionsMap m_breakpointIDToActions;
-
- friend class DebuggerCallFrameScope;
-};
-
-} // namespace WebCore
-
-#endif // ENABLE(JAVASCRIPT_DEBUGGER)
-
-#endif // ScriptDebugServer_h
</del></span></pre></div>
<a id="trunkSourceWebCorebindingsjsWorkerScriptDebugServercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/WorkerScriptDebugServer.cpp (162756 => 162757)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/WorkerScriptDebugServer.cpp        2014-01-25 04:42:00 UTC (rev 162756)
+++ trunk/Source/WebCore/bindings/js/WorkerScriptDebugServer.cpp        2014-01-25 04:42:25 UTC (rev 162757)
</span><span class="lines">@@ -34,6 +34,8 @@
</span><span class="cx">
</span><span class="cx"> #if ENABLE(JAVASCRIPT_DEBUGGER)
</span><span class="cx">
</span><ins>+#include "JSDOMBinding.h"
+#include "Timer.h"
</ins><span class="cx"> #include "WorkerDebuggerAgent.h"
</span><span class="cx"> #include "WorkerGlobalScope.h"
</span><span class="cx"> #include "WorkerRunLoop.h"
</span><span class="lines">@@ -90,6 +92,8 @@
</span><span class="cx">
</span><span class="cx"> void WorkerScriptDebugServer::runEventLoopWhilePaused()
</span><span class="cx"> {
</span><ins>+ TimerBase::fireTimersInNestedEventLoop();
+
</ins><span class="cx"> MessageQueueWaitResult result;
</span><span class="cx"> do {
</span><span class="cx"> result = m_workerGlobalScope->thread()->runLoop().runInMode(m_workerGlobalScope, m_debuggerTaskMode);
</span><span class="lines">@@ -97,6 +101,11 @@
</span><span class="cx"> } while (result != MessageQueueTerminated && !m_doneProcessingDebuggerEvents);
</span><span class="cx"> }
</span><span class="cx">
</span><ins>+void WorkerScriptDebugServer::reportException(JSC::ExecState* exec, JSC::JSValue exception) const
+{
+ WebCore::reportException(exec, exception);
+}
+
</ins><span class="cx"> void WorkerScriptDebugServer::interruptAndRunTask(PassOwnPtr<ScriptDebugServer::Task>)
</span><span class="cx"> {
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsWorkerScriptDebugServerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/WorkerScriptDebugServer.h (162756 => 162757)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/WorkerScriptDebugServer.h        2014-01-25 04:42:00 UTC (rev 162756)
+++ trunk/Source/WebCore/bindings/js/WorkerScriptDebugServer.h        2014-01-25 04:42:25 UTC (rev 162757)
</span><span class="lines">@@ -33,13 +33,13 @@
</span><span class="cx">
</span><span class="cx"> #if ENABLE(JAVASCRIPT_DEBUGGER)
</span><span class="cx">
</span><del>-#include "ScriptDebugServer.h"
</del><ins>+#include <inspector/ScriptDebugServer.h>
</ins><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><span class="cx"> class WorkerGlobalScope;
</span><span class="cx">
</span><del>-class WorkerScriptDebugServer final : public ScriptDebugServer {
</del><ins>+class WorkerScriptDebugServer final : public Inspector::ScriptDebugServer {
</ins><span class="cx"> WTF_MAKE_NONCOPYABLE(WorkerScriptDebugServer);
</span><span class="cx"> public:
</span><span class="cx"> WorkerScriptDebugServer(WorkerGlobalScope*, const String&);
</span><span class="lines">@@ -57,6 +57,8 @@
</span><span class="cx"> virtual void didPause(JSC::JSGlobalObject*) override { }
</span><span class="cx"> virtual void didContinue(JSC::JSGlobalObject*) override { }
</span><span class="cx"> virtual void runEventLoopWhilePaused() override;
</span><ins>+ virtual bool isContentScript(JSC::ExecState*) const override { return false; }
+ virtual void reportException(JSC::ExecState*, JSC::JSValue) const override;
</ins><span class="cx">
</span><span class="cx"> WorkerGlobalScope* m_workerGlobalScope;
</span><span class="cx"> ListenerSet m_listeners;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorDebuggerAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorDebuggerAgent.cpp (162756 => 162757)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorDebuggerAgent.cpp        2014-01-25 04:42:00 UTC (rev 162756)
+++ trunk/Source/WebCore/inspector/InspectorDebuggerAgent.cpp        2014-01-25 04:42:25 UTC (rev 162757)
</span><span class="lines">@@ -35,13 +35,15 @@
</span><span class="cx"> #include "CachedResource.h"
</span><span class="cx"> #include "InspectorPageAgent.h"
</span><span class="cx"> #include "InstrumentingAgents.h"
</span><del>-#include "ScriptDebugServer.h"
</del><ins>+#include "ScriptArguments.h"
+#include "Sound.h"
</ins><span class="cx"> #include <bindings/ScriptObject.h>
</span><span class="cx"> #include <bindings/ScriptValue.h>
</span><span class="cx"> #include <inspector/ContentSearchUtilities.h>
</span><span class="cx"> #include <inspector/InjectedScript.h>
</span><span class="cx"> #include <inspector/InjectedScriptManager.h>
</span><span class="cx"> #include <inspector/InspectorValues.h>
</span><ins>+#include <inspector/ScriptDebugServer.h>
</ins><span class="cx"> #include <wtf/text/WTFString.h>
</span><span class="cx"> #include <yarr/RegularExpression.h>
</span><span class="cx">
</span><span class="lines">@@ -690,6 +692,12 @@
</span><span class="cx"> m_frontendDispatcher->didSampleProbe(result.release());
</span><span class="cx"> }
</span><span class="cx">
</span><ins>+void InspectorDebuggerAgent::breakpointActionSound()
+{
+ // FIXME: We should send a message to the frontend to make the frontend beep.
+ systemBeep();
+}
+
</ins><span class="cx"> void InspectorDebuggerAgent::didContinue()
</span><span class="cx"> {
</span><span class="cx"> m_pausedScriptState = nullptr;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorDebuggerAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorDebuggerAgent.h (162756 => 162757)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorDebuggerAgent.h        2014-01-25 04:42:00 UTC (rev 162756)
+++ trunk/Source/WebCore/inspector/InspectorDebuggerAgent.h        2014-01-25 04:42:25 UTC (rev 162757)
</span><span class="lines">@@ -54,12 +54,12 @@
</span><span class="cx"> class InspectorArray;
</span><span class="cx"> class InspectorObject;
</span><span class="cx"> class InspectorValue;
</span><ins>+class ScriptDebugServer;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><span class="cx"> class InstrumentingAgents;
</span><del>-class ScriptDebugServer;
</del><span class="cx">
</span><span class="cx"> typedef String ErrorString;
</span><span class="cx">
</span><span class="lines">@@ -122,7 +122,7 @@
</span><span class="cx"> };
</span><span class="cx"> void setListener(Listener* listener) { m_listener = listener; }
</span><span class="cx">
</span><del>- virtual ScriptDebugServer& scriptDebugServer() = 0;
</del><ins>+ virtual Inspector::ScriptDebugServer& scriptDebugServer() = 0;
</ins><span class="cx">
</span><span class="cx"> protected:
</span><span class="cx"> InspectorDebuggerAgent(InstrumentingAgents*, Inspector::InjectedScriptManager*);
</span><span class="lines">@@ -146,6 +146,7 @@
</span><span class="cx"> virtual void didParseSource(JSC::SourceID, const Script&) override final;
</span><span class="cx"> virtual void failedToParseSource(const String& url, const String& data, int firstLine, int errorLine, const String& errorMessage) override final;
</span><span class="cx"> virtual void didSampleProbe(JSC::ExecState*, int probeIdentifier, int hitCount, const Deprecated::ScriptValue& sample) override final;
</span><ins>+ virtual void breakpointActionSound() override final;
</ins><span class="cx">
</span><span class="cx"> PassRefPtr<Inspector::TypeBuilder::Debugger::Location> resolveBreakpoint(const String& breakpointIdentifier, JSC::SourceID, const Inspector::ScriptBreakpoint&);
</span><span class="cx"> bool assertPaused(ErrorString*);
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorRuntimeAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorRuntimeAgent.cpp (162756 => 162757)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorRuntimeAgent.cpp        2014-01-25 04:42:00 UTC (rev 162756)
+++ trunk/Source/WebCore/inspector/InspectorRuntimeAgent.cpp        2014-01-25 04:42:25 UTC (rev 162757)
</span><span class="lines">@@ -45,7 +45,7 @@
</span><span class="cx"> #include <wtf/PassRefPtr.h>
</span><span class="cx">
</span><span class="cx"> #if ENABLE(JAVASCRIPT_DEBUGGER)
</span><del>-#include "ScriptDebugServer.h"
</del><ins>+#include <inspector/ScriptDebugServer.h>
</ins><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> using namespace JSC;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorRuntimeAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorRuntimeAgent.h (162756 => 162757)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorRuntimeAgent.h        2014-01-25 04:42:00 UTC (rev 162756)
+++ trunk/Source/WebCore/inspector/InspectorRuntimeAgent.h        2014-01-25 04:42:25 UTC (rev 162757)
</span><span class="lines">@@ -46,12 +46,12 @@
</span><span class="cx"> class InspectorArray;
</span><span class="cx"> class InspectorObject;
</span><span class="cx"> class InspectorValue;
</span><ins>+class ScriptDebugServer;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><span class="cx"> class InstrumentingAgents;
</span><del>-class ScriptDebugServer;
</del><span class="cx"> class WorkerGlobalScope;
</span><span class="cx">
</span><span class="cx"> typedef String ErrorString;
</span><span class="lines">@@ -90,7 +90,7 @@
</span><span class="cx"> virtual void run(ErrorString*) override;
</span><span class="cx">
</span><span class="cx"> #if ENABLE(JAVASCRIPT_DEBUGGER)
</span><del>- void setScriptDebugServer(ScriptDebugServer*);
</del><ins>+ void setScriptDebugServer(Inspector::ScriptDebugServer*);
</ins><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> protected:
</span><span class="lines">@@ -106,7 +106,7 @@
</span><span class="cx"> private:
</span><span class="cx"> Inspector::InjectedScriptManager* m_injectedScriptManager;
</span><span class="cx"> #if ENABLE(JAVASCRIPT_DEBUGGER)
</span><del>- ScriptDebugServer* m_scriptDebugServer;
</del><ins>+ Inspector::ScriptDebugServer* m_scriptDebugServer;
</ins><span class="cx"> #endif
</span><span class="cx"> };
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorJavaScriptCallFrameidl"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/inspector/JavaScriptCallFrame.idl (162756 => 162757)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/JavaScriptCallFrame.idl        2014-01-25 04:42:00 UTC (rev 162756)
+++ trunk/Source/WebCore/inspector/JavaScriptCallFrame.idl        2014-01-25 04:42:25 UTC (rev 162757)
</span><span class="lines">@@ -1,51 +0,0 @@
</span><del>-/*
- * Copyright (C) 2008 Apple Inc. All Rights Reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-[
- NoInterfaceObject,
- Conditional=JAVASCRIPT_DEBUGGER,
- DoNotCheckConstants,
- ImplementationLacksVTable
-] interface JavaScriptCallFrame {
-
- // Scope type
- const unsigned short GLOBAL_SCOPE = 0;
- const unsigned short LOCAL_SCOPE = 1;
- const unsigned short WITH_SCOPE = 2;
- const unsigned short CLOSURE_SCOPE = 3;
- const unsigned short CATCH_SCOPE = 4;
-
- [Custom] void evaluate(DOMString script);
-
- readonly attribute JavaScriptCallFrame caller;
- readonly attribute long sourceID;
- readonly attribute long line;
- readonly attribute long column;
- [CustomGetter] readonly attribute Array scopeChain;
- [Custom] unsigned short scopeType(int scopeIndex);
- [CustomGetter] readonly attribute Object thisObject;
- readonly attribute DOMString functionName;
- [CustomGetter] readonly attribute DOMString type;
-};
</del></span></pre></div>
<a id="trunkSourceWebCoreinspectorPageDebuggerAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/PageDebuggerAgent.cpp (162756 => 162757)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/PageDebuggerAgent.cpp        2014-01-25 04:42:00 UTC (rev 162756)
+++ trunk/Source/WebCore/inspector/PageDebuggerAgent.cpp        2014-01-25 04:42:25 UTC (rev 162757)
</span><span class="lines">@@ -96,6 +96,11 @@
</span><span class="cx"> PageConsole::unmute();
</span><span class="cx"> }
</span><span class="cx">
</span><ins>+void PageDebuggerAgent::breakpointActionLog(JSC::ExecState*, const String& message)
+{
+ m_pageAgent->page()->console().addMessage(JSMessageSource, LogMessageLevel, message);
+}
+
</ins><span class="cx"> InjectedScript PageDebuggerAgent::injectedScriptForEval(ErrorString* errorString, const int* executionContextId)
</span><span class="cx"> {
</span><span class="cx"> if (!executionContextId) {
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorPageDebuggerAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/PageDebuggerAgent.h (162756 => 162757)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/PageDebuggerAgent.h        2014-01-25 04:42:00 UTC (rev 162756)
+++ trunk/Source/WebCore/inspector/PageDebuggerAgent.h        2014-01-25 04:42:25 UTC (rev 162757)
</span><span class="lines">@@ -43,7 +43,7 @@
</span><span class="cx"> class Page;
</span><span class="cx"> class PageScriptDebugServer;
</span><span class="cx">
</span><del>-class PageDebuggerAgent : public InspectorDebuggerAgent {
</del><ins>+class PageDebuggerAgent final : public InspectorDebuggerAgent {
</ins><span class="cx"> WTF_MAKE_NONCOPYABLE(PageDebuggerAgent);
</span><span class="cx"> WTF_MAKE_FAST_ALLOCATED;
</span><span class="cx"> public:
</span><span class="lines">@@ -63,6 +63,8 @@
</span><span class="cx"> virtual void muteConsole() override;
</span><span class="cx"> virtual void unmuteConsole() override;
</span><span class="cx">
</span><ins>+ virtual void breakpointActionLog(JSC::ExecState*, const String&) override;
+
</ins><span class="cx"> virtual Inspector::InjectedScript injectedScriptForEval(ErrorString*, const int* executionContextId) override;
</span><span class="cx"> virtual void setOverlayMessage(ErrorString*, const String*) override;
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorWorkerDebuggerAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/WorkerDebuggerAgent.cpp (162756 => 162757)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/WorkerDebuggerAgent.cpp        2014-01-25 04:42:00 UTC (rev 162756)
+++ trunk/Source/WebCore/inspector/WorkerDebuggerAgent.cpp        2014-01-25 04:42:25 UTC (rev 162757)
</span><span class="lines">@@ -33,11 +33,11 @@
</span><span class="cx">
</span><span class="cx"> #if ENABLE(JAVASCRIPT_DEBUGGER) && ENABLE(INSPECTOR)
</span><span class="cx">
</span><del>-#include "ScriptDebugServer.h"
</del><span class="cx"> #include "WorkerGlobalScope.h"
</span><span class="cx"> #include "WorkerThread.h"
</span><span class="cx"> #include <inspector/InjectedScript.h>
</span><span class="cx"> #include <inspector/InjectedScriptManager.h>
</span><ins>+#include <inspector/ScriptDebugServer.h>
</ins><span class="cx"> #include <mutex>
</span><span class="cx"> #include <wtf/MessageQueue.h>
</span><span class="cx"> #include <wtf/NeverDestroyed.h>
</span><span class="lines">@@ -127,6 +127,11 @@
</span><span class="cx"> scriptDebugServer().removeListener(this, isBeingDestroyed);
</span><span class="cx"> }
</span><span class="cx">
</span><ins>+void WorkerDebuggerAgent::breakpointActionLog(JSC::ExecState*, const String& message)
+{
+ m_inspectedWorkerGlobalScope->addConsoleMessage(JSMessageSource, LogMessageLevel, message);
+}
+
</ins><span class="cx"> WorkerScriptDebugServer& WorkerDebuggerAgent::scriptDebugServer()
</span><span class="cx"> {
</span><span class="cx"> return m_scriptDebugServer;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorWorkerDebuggerAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/WorkerDebuggerAgent.h (162756 => 162757)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/WorkerDebuggerAgent.h        2014-01-25 04:42:00 UTC (rev 162756)
+++ trunk/Source/WebCore/inspector/WorkerDebuggerAgent.h        2014-01-25 04:42:25 UTC (rev 162757)
</span><span class="lines">@@ -40,7 +40,7 @@
</span><span class="cx"> class WorkerGlobalScope;
</span><span class="cx"> class WorkerThread;
</span><span class="cx">
</span><del>-class WorkerDebuggerAgent : public InspectorDebuggerAgent {
</del><ins>+class WorkerDebuggerAgent final : public InspectorDebuggerAgent {
</ins><span class="cx"> WTF_MAKE_NONCOPYABLE(WorkerDebuggerAgent);
</span><span class="cx"> WTF_MAKE_FAST_ALLOCATED;
</span><span class="cx"> public:
</span><span class="lines">@@ -57,6 +57,8 @@
</span><span class="cx"> virtual void muteConsole() override;
</span><span class="cx"> virtual void unmuteConsole() override;
</span><span class="cx">
</span><ins>+ virtual void breakpointActionLog(JSC::ExecState*, const String&) override;
+
</ins><span class="cx"> private:
</span><span class="cx"> WorkerScriptDebugServer m_scriptDebugServer;
</span><span class="cx"> WorkerGlobalScope* m_inspectedWorkerGlobalScope;
</span></span></pre></div>
<a id="trunkSourceWebCoreworkersWorkerGlobalScopeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/workers/WorkerGlobalScope.h (162756 => 162757)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/workers/WorkerGlobalScope.h        2014-01-25 04:42:00 UTC (rev 162756)
+++ trunk/Source/WebCore/workers/WorkerGlobalScope.h        2014-01-25 04:42:25 UTC (rev 162757)
</span><span class="lines">@@ -133,6 +133,8 @@
</span><span class="cx">
</span><span class="cx"> virtual SecurityOrigin* topOrigin() const override { return m_topOrigin.get(); }
</span><span class="cx">
</span><ins>+ virtual void addConsoleMessage(MessageSource, MessageLevel, const String& message, unsigned long requestIdentifier = 0) override;
+
</ins><span class="cx"> protected:
</span><span class="cx"> WorkerGlobalScope(const URL&, const String& userAgent, std::unique_ptr<GroupSettings>, WorkerThread*, PassRefPtr<SecurityOrigin> topOrigin);
</span><span class="cx"> void applyContentSecurityPolicyFromString(const String& contentSecurityPolicy, ContentSecurityPolicy::HeaderType);
</span><span class="lines">@@ -148,7 +150,6 @@
</span><span class="cx"> virtual void derefEventTarget() override final { deref(); }
</span><span class="cx">
</span><span class="cx"> virtual void addMessage(MessageSource, MessageLevel, const String& message, const String& sourceURL, unsigned lineNumber, unsigned columnNumber, PassRefPtr<ScriptCallStack>, JSC::ExecState* = 0, unsigned long requestIdentifier = 0) override;
</span><del>- virtual void addConsoleMessage(MessageSource, MessageLevel, const String& message, unsigned long requestIdentifier = 0) override;
</del><span class="cx">
</span><span class="cx"> virtual EventTarget* errorEventTarget() override;
</span><span class="cx">
</span></span></pre>
</div>
</div>
</body>
</html>