<!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  &lt;pecoraro@apple.com&gt;
+
+        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  &lt;mark.lam@apple.com&gt;
</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">     &lt;ClCompile Include=&quot;..\inspector\InspectorValues.cpp&quot; /&gt;
</span><span class="cx">     &lt;ClCompile Include=&quot;..\inspector\JSInjectedScriptHost.cpp&quot; /&gt;
</span><span class="cx">     &lt;ClCompile Include=&quot;..\inspector\JSInjectedScriptHostPrototype.cpp&quot; /&gt;
</span><ins>+    &lt;ClCompile Include=&quot;..\inspector\JSJavaScriptCallFrame.cpp&quot; /&gt;
+    &lt;ClCompile Include=&quot;..\inspector\JSJavaScriptCallFramePrototype.cpp&quot; /&gt;
+    &lt;ClCompile Include=&quot;..\inspector\JavaScriptCallFrame.cpp&quot; /&gt;
+    &lt;ClCompile Include=&quot;..\inspector\ScriptDebugServer.cpp&quot; /&gt;
</ins><span class="cx">     &lt;ClCompile Include=&quot;..\inspector\agents\InspectorAgent.cpp&quot; /&gt;
</span><span class="cx">     &lt;ClCompile Include=&quot;..\interpreter\AbstractPC.cpp&quot; /&gt;
</span><span class="cx">     &lt;ClCompile Include=&quot;..\interpreter\CallFrame.cpp&quot; /&gt;
</span><span class="lines">@@ -1057,8 +1061,12 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\inspector\InspectorValues.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\inspector\JSInjectedScriptHost.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\inspector\JSInjectedScriptHostPrototype.h&quot; /&gt;
</span><ins>+    &lt;ClInclude Include=&quot;..\inspector\JSJavaScriptCallFrame.h&quot; /&gt;
+    &lt;ClInclude Include=&quot;..\inspector\JSJavaScriptCallFramePrototype.h&quot; /&gt;
+    &lt;ClInclude Include=&quot;..\inspector\JavaScriptCallFrame.h&quot; /&gt;
</ins><span class="cx">     &lt;ClInclude Include=&quot;..\inspector\ScriptBreakpoint.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\inspector\ScriptDebugListener.h&quot; /&gt;
</span><ins>+    &lt;ClInclude Include=&quot;..\inspector\ScriptDebugServer.h&quot; /&gt;
</ins><span class="cx">     &lt;ClInclude Include=&quot;..\inspector\agents\InspectorAgent.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\interpreter\AbstractPC.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\interpreter\CachedCall.h&quot; /&gt;
</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 = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A1712B3E11C7B228007A5315 /* RegExpCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RegExpCache.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A1712B4011C7B235007A5315 /* RegExpKey.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RegExpKey.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><ins>+                A503FA13188E0FAF00110F14 /* JavaScriptCallFrame.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JavaScriptCallFrame.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                A503FA14188E0FAF00110F14 /* JavaScriptCallFrame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JavaScriptCallFrame.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                A503FA15188E0FB000110F14 /* JSJavaScriptCallFrame.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSJavaScriptCallFrame.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                A503FA16188E0FB000110F14 /* JSJavaScriptCallFrame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSJavaScriptCallFrame.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                A503FA17188E0FB000110F14 /* JSJavaScriptCallFramePrototype.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSJavaScriptCallFramePrototype.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                A503FA18188E0FB000110F14 /* JSJavaScriptCallFramePrototype.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSJavaScriptCallFramePrototype.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 A503FA1F188EFF6800110F14 /* ScriptBreakpoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScriptBreakpoint.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A503FA20188EFF6800110F14 /* ScriptDebugListener.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScriptDebugListener.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><ins>+                A503FA23188EFFFD00110F14 /* ScriptDebugServer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScriptDebugServer.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                A503FA24188EFFFD00110F14 /* ScriptDebugServer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScriptDebugServer.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 A51007BE187CC3C600B38879 /* JSGlobalObjectInspectorController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSGlobalObjectInspectorController.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A51007BF187CC3C600B38879 /* JSGlobalObjectInspectorController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSGlobalObjectInspectorController.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A513E5B5185B8BD3007E95AD /* InjectedScript.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InjectedScript.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</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 = &quot;&lt;group&gt;&quot;;
</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&amp;);
</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 &quot;config.h&quot;
+#include &quot;JSJavaScriptCallFrame.h&quot;
+
+#if ENABLE(INSPECTOR)
+#if ENABLE(JAVASCRIPT_DEBUGGER)
+
+#include &quot;Error.h&quot;
+#include &quot;JSCJSValue.h&quot;
+#include &quot;JSCellInlines.h&quot;
+#include &quot;JSJavaScriptCallFramePrototype.h&quot;
+#include &quot;StructureInlines.h&quot;
+
+using namespace JSC;
+
+namespace Inspector {
+
+const ClassInfo JSJavaScriptCallFrame::s_info = { &quot;JavaScriptCallFrame&quot;, &amp;Base::s_info, 0, 0, CREATE_METHOD_TABLE(JSJavaScriptCallFrame) };
+
+JSJavaScriptCallFrame::JSJavaScriptCallFrame(VM&amp; vm, Structure* structure, PassRefPtr&lt;JavaScriptCallFrame&gt; impl)
+    : JSDestructibleObject(vm, structure)
+    , m_impl(impl.leakRef())
+{
+}
+
+void JSJavaScriptCallFrame::finishCreation(VM&amp; vm)
+{
+    Base::finishCreation(vm);
+    ASSERT(inherits(info()));
+}
+
+JSObject* JSJavaScriptCallFrame::createPrototype(VM&amp; vm, JSGlobalObject* globalObject)
+{
+    return JSJavaScriptCallFramePrototype::create(vm, globalObject, JSJavaScriptCallFramePrototype::createStructure(vm, globalObject, globalObject-&gt;objectPrototype()));
+}
+
+void JSJavaScriptCallFrame::destroy(JSC::JSCell* cell)
+{
+    JSJavaScriptCallFrame* thisObject = static_cast&lt;JSJavaScriptCallFrame*&gt;(cell);
+    thisObject-&gt;JSJavaScriptCallFrame::~JSJavaScriptCallFrame();
+}
+
+void JSJavaScriptCallFrame::releaseImpl()
+{
+    if (m_impl) {
+        m_impl-&gt;deref();
+        m_impl = nullptr;
+    }
+}
+
+JSJavaScriptCallFrame::~JSJavaScriptCallFrame()
+{
+    releaseImpl();
+}
+
+JSValue JSJavaScriptCallFrame::evaluate(ExecState* exec)
+{
+    JSValue exception;
+    JSValue result = impl().evaluate(exec-&gt;argument(0).toString(exec)-&gt;value(exec), exception);
+    if (exception)
+        exec-&gt;vm().throwException(exec, exception);
+
+    return result;
+}
+
+JSValue JSJavaScriptCallFrame::scopeType(ExecState* exec)
+{
+    if (!impl().scopeChain())
+        return jsUndefined();
+
+    if (!exec-&gt;argument(0).isInt32())
+        return jsUndefined();
+    int index = exec-&gt;argument(0).asInt32();
+
+    JSScope* scopeChain = impl().scopeChain();
+    ScopeChainIterator end = scopeChain-&gt;end();
+
+    // FIXME: We should be identifying and returning CATCH_SCOPE appropriately.
+
+    bool foundLocalScope = false;
+    for (ScopeChainIterator iter = scopeChain-&gt;begin(); iter != end; ++iter) {
+        JSObject* scope = iter.get();
+        if (scope-&gt;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-&gt;begin();
+    ScopeChainIterator end = scopeChain-&gt;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(&quot;function&quot;));
+    case DebuggerCallFrame::ProgramType:
+        return jsNontrivialString(exec, ASCIILiteral(&quot;program&quot;));
+    }
+
+    ASSERT_NOT_REACHED();
+    return jsNull();
+}
+
+JSValue toJS(ExecState* exec, JSGlobalObject* globalObject, JavaScriptCallFrame* impl)
+{
+    if (!impl)
+        return jsNull();
+
+    JSObject* prototype = JSJavaScriptCallFrame::createPrototype(exec-&gt;vm(), globalObject);
+    Structure* structure = JSJavaScriptCallFrame::createStructure(exec-&gt;vm(), globalObject, prototype);
+    JSJavaScriptCallFrame* javaScriptCallFrame = JSJavaScriptCallFrame::create(exec-&gt;vm(), structure, impl);
+
+    return javaScriptCallFrame;
+}
+
+JSJavaScriptCallFrame* toJSJavaScriptCallFrame(JSValue value)
+{
+    return value.inherits(JSJavaScriptCallFrame::info()) ? jsCast&lt;JSJavaScriptCallFrame*&gt;(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 &quot;JSDestructibleObject.h&quot;
+#include &quot;JavaScriptCallFrame.h&quot;
+
+namespace Inspector {
+
+class JSJavaScriptCallFrame : public JSC::JSDestructibleObject {
+public:
+    typedef JSC::JSDestructibleObject Base;
+
+    DECLARE_INFO;
+
+    static JSC::Structure* createStructure(JSC::VM&amp; 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&amp; vm, JSC::Structure* structure, PassRefPtr&lt;JavaScriptCallFrame&gt; impl)
+    {
+        JSJavaScriptCallFrame* instance = new (NotNull, JSC::allocateCell&lt;JSJavaScriptCallFrame&gt;(vm.heap)) JSJavaScriptCallFrame(vm, structure, impl);
+        instance-&gt;finishCreation(vm);
+        return instance;
+    }
+
+    static JSC::JSObject* createPrototype(JSC::VM&amp;, JSC::JSGlobalObject*);
+    static void destroy(JSC::JSCell*);
+
+    JavaScriptCallFrame&amp; 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&amp;);
+
+private:
+    JSJavaScriptCallFrame(JSC::VM&amp;, JSC::Structure*, PassRefPtr&lt;JavaScriptCallFrame&gt;);
+    ~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 &quot;config.h&quot;
+#include &quot;JSJavaScriptCallFramePrototype.h&quot;
+
+#if ENABLE(INSPECTOR)
+#if ENABLE(JAVASCRIPT_DEBUGGER)
+
+#include &quot;Error.h&quot;
+#include &quot;GetterSetter.h&quot;
+#include &quot;Identifier.h&quot;
+#include &quot;JSCJSValueInlines.h&quot;
+#include &quot;JSFunction.h&quot;
+#include &quot;JSJavaScriptCallFrame.h&quot;
+
+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 = { &quot;JavaScriptCallFrame&quot;, &amp;Base::s_info, 0, 0, CREATE_METHOD_TABLE(JSJavaScriptCallFramePrototype) };
+
+#define JSC_NATIVE_NON_INDEX_ACCESSOR(jsName, cppName, attributes) \
+    { \
+        Identifier identifier(&amp;vm, jsName); \
+        GetterSetter* accessor = GetterSetter::create(vm); \
+        JSFunction* function = JSFunction::create(vm, globalObject, 0, identifier.string(), cppName); \
+        accessor-&gt;setGetter(vm, function); \
+        putDirectNonIndexAccessor(vm, identifier, accessor, (attributes)); \
+    }
+
+void JSJavaScriptCallFramePrototype::finishCreation(VM&amp; vm, JSGlobalObject* globalObject)
+{
+    Base::finishCreation(vm);
+    ASSERT(inherits(info()));
+    vm.prototypeMap.addPrototype(this);
+
+    JSC_NATIVE_FUNCTION(&quot;evaluate&quot;, jsJavaScriptCallFramePrototypeFunctionEvaluate, DontEnum, 1);
+    JSC_NATIVE_FUNCTION(&quot;scopeType&quot;, jsJavaScriptCallFramePrototypeFunctionScopeType, DontEnum, 1);
+
+    JSC_NATIVE_NON_INDEX_ACCESSOR(&quot;caller&quot;, jsJavaScriptCallFrameAttributeCaller, DontEnum | Accessor);
+    JSC_NATIVE_NON_INDEX_ACCESSOR(&quot;sourceID&quot;, jsJavaScriptCallFrameAttributeSourceID, DontEnum | Accessor);
+    JSC_NATIVE_NON_INDEX_ACCESSOR(&quot;line&quot;, jsJavaScriptCallFrameAttributeLine, DontEnum | Accessor);
+    JSC_NATIVE_NON_INDEX_ACCESSOR(&quot;column&quot;, jsJavaScriptCallFrameAttributeColumn, DontEnum | Accessor);
+    JSC_NATIVE_NON_INDEX_ACCESSOR(&quot;functionName&quot;, jsJavaScriptCallFrameAttributeFunctionName, DontEnum | Accessor);
+    JSC_NATIVE_NON_INDEX_ACCESSOR(&quot;scopeChain&quot;, jsJavaScriptCallFrameAttributeScopeChain, DontEnum | Accessor);
+    JSC_NATIVE_NON_INDEX_ACCESSOR(&quot;thisObject&quot;, jsJavaScriptCallFrameAttributeThisObject, DontEnum | Accessor);
+    JSC_NATIVE_NON_INDEX_ACCESSOR(&quot;type&quot;, jsJavaScriptCallFrameAttributeType, DontEnum | Accessor);
+
+    JSC_NATIVE_NON_INDEX_ACCESSOR(&quot;GLOBAL_SCOPE&quot;, jsJavaScriptCallFrameConstantGLOBAL_SCOPE, DontEnum | Accessor);
+    JSC_NATIVE_NON_INDEX_ACCESSOR(&quot;LOCAL_SCOPE&quot;, jsJavaScriptCallFrameConstantLOCAL_SCOPE, DontEnum | Accessor);
+    JSC_NATIVE_NON_INDEX_ACCESSOR(&quot;WITH_SCOPE&quot;, jsJavaScriptCallFrameConstantWITH_SCOPE, DontEnum | Accessor);
+    JSC_NATIVE_NON_INDEX_ACCESSOR(&quot;CLOSURE_SCOPE&quot;, jsJavaScriptCallFrameConstantCLOSURE_SCOPE, DontEnum | Accessor);
+    JSC_NATIVE_NON_INDEX_ACCESSOR(&quot;CATCH_SCOPE&quot;, jsJavaScriptCallFrameConstantCATCH_SCOPE, DontEnum | Accessor);
+}
+
+EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFramePrototypeFunctionEvaluate(ExecState* exec)
+{
+    JSValue thisValue = exec-&gt;hostThisValue();
+    JSJavaScriptCallFrame* castedThis = jsDynamicCast&lt;JSJavaScriptCallFrame*&gt;(thisValue);
+    if (!castedThis)
+        return throwVMTypeError(exec);
+
+    ASSERT_GC_OBJECT_INHERITS(castedThis, JSJavaScriptCallFrame::info());
+    return JSValue::encode(castedThis-&gt;evaluate(exec));
+}
+
+EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFramePrototypeFunctionScopeType(ExecState* exec)
+{
+    JSValue thisValue = exec-&gt;hostThisValue();
+    JSJavaScriptCallFrame* castedThis = jsDynamicCast&lt;JSJavaScriptCallFrame*&gt;(thisValue);
+    if (!castedThis)
+        return throwVMTypeError(exec);
+
+    ASSERT_GC_OBJECT_INHERITS(castedThis, JSJavaScriptCallFrame::info());
+    return JSValue::encode(castedThis-&gt;scopeType(exec));
+}
+
+EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameAttributeCaller(ExecState* exec)
+{
+    JSValue thisValue = exec-&gt;hostThisValue();
+    JSJavaScriptCallFrame* castedThis = jsDynamicCast&lt;JSJavaScriptCallFrame*&gt;(thisValue);
+    if (!castedThis)
+        return throwVMTypeError(exec);
+
+    ASSERT_GC_OBJECT_INHERITS(castedThis, JSJavaScriptCallFrame::info());
+    return JSValue::encode(castedThis-&gt;caller(exec));
+}
+
+EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameAttributeSourceID(ExecState* exec)
+{
+    JSValue thisValue = exec-&gt;hostThisValue();
+    JSJavaScriptCallFrame* castedThis = jsDynamicCast&lt;JSJavaScriptCallFrame*&gt;(thisValue);
+    if (!castedThis)
+        return throwVMTypeError(exec);
+
+    ASSERT_GC_OBJECT_INHERITS(castedThis, JSJavaScriptCallFrame::info());
+    return JSValue::encode(castedThis-&gt;sourceID(exec));
+}
+
+EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameAttributeLine(ExecState* exec)
+{
+    JSValue thisValue = exec-&gt;hostThisValue();
+    JSJavaScriptCallFrame* castedThis = jsDynamicCast&lt;JSJavaScriptCallFrame*&gt;(thisValue);
+    if (!castedThis)
+        return throwVMTypeError(exec);
+
+    ASSERT_GC_OBJECT_INHERITS(castedThis, JSJavaScriptCallFrame::info());
+    return JSValue::encode(castedThis-&gt;line(exec));
+}
+
+EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameAttributeColumn(ExecState* exec)
+{
+    JSValue thisValue = exec-&gt;hostThisValue();
+    JSJavaScriptCallFrame* castedThis = jsDynamicCast&lt;JSJavaScriptCallFrame*&gt;(thisValue);
+    if (!castedThis)
+        return throwVMTypeError(exec);
+
+    ASSERT_GC_OBJECT_INHERITS(castedThis, JSJavaScriptCallFrame::info());
+    return JSValue::encode(castedThis-&gt;column(exec));
+}
+
+EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameAttributeFunctionName(ExecState* exec)
+{
+    JSValue thisValue = exec-&gt;hostThisValue();
+    JSJavaScriptCallFrame* castedThis = jsDynamicCast&lt;JSJavaScriptCallFrame*&gt;(thisValue);
+    if (!castedThis)
+        return throwVMTypeError(exec);
+
+    ASSERT_GC_OBJECT_INHERITS(castedThis, JSJavaScriptCallFrame::info());
+    return JSValue::encode(castedThis-&gt;functionName(exec));
+}
+
+EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameAttributeScopeChain(ExecState* exec)
+{
+    JSValue thisValue = exec-&gt;hostThisValue();
+    JSJavaScriptCallFrame* castedThis = jsDynamicCast&lt;JSJavaScriptCallFrame*&gt;(thisValue);
+    if (!castedThis)
+        return throwVMTypeError(exec);
+
+    ASSERT_GC_OBJECT_INHERITS(castedThis, JSJavaScriptCallFrame::info());
+    return JSValue::encode(castedThis-&gt;scopeChain(exec));
+}
+
+EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameAttributeThisObject(ExecState* exec)
+{
+    JSValue thisValue = exec-&gt;hostThisValue();
+    JSJavaScriptCallFrame* castedThis = jsDynamicCast&lt;JSJavaScriptCallFrame*&gt;(thisValue);
+    if (!castedThis)
+        return throwVMTypeError(exec);
+
+    ASSERT_GC_OBJECT_INHERITS(castedThis, JSJavaScriptCallFrame::info());
+    return JSValue::encode(castedThis-&gt;thisObject(exec));
+}
+
+EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameAttributeType(ExecState* exec)
+{
+    JSValue thisValue = exec-&gt;hostThisValue();
+    JSJavaScriptCallFrame* castedThis = jsDynamicCast&lt;JSJavaScriptCallFrame*&gt;(thisValue);
+    if (!castedThis)
+        return throwVMTypeError(exec);
+
+    ASSERT_GC_OBJECT_INHERITS(castedThis, JSJavaScriptCallFrame::info());
+    return JSValue::encode(castedThis-&gt;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 &quot;JSObject.h&quot;
+
+namespace Inspector {
+
+class JSJavaScriptCallFramePrototype : public JSC::JSNonFinalObject {
+public:
+    typedef JSC::JSNonFinalObject Base;
+
+    DECLARE_INFO;
+
+    static JSJavaScriptCallFramePrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
+    {
+        JSJavaScriptCallFramePrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSJavaScriptCallFramePrototype&gt;(vm.heap)) JSJavaScriptCallFramePrototype(vm, globalObject, structure);
+        ptr-&gt;finishCreation(vm, globalObject);
+        return ptr;
+    }
+
+    static JSC::Structure* createStructure(JSC::VM&amp; 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&amp; vm, JSC::JSGlobalObject*, JSC::Structure* structure)
+        : JSC::JSNonFinalObject(vm, structure)
+    {
+    }
+    void finishCreation(JSC::VM&amp;, 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 &quot;config.h&quot;
+#include &quot;JavaScriptCallFrame.h&quot;
+
+#if ENABLE(INSPECTOR)
+#if ENABLE(JAVASCRIPT_DEBUGGER)
+
+using namespace JSC;
+
+namespace Inspector {
+
+JavaScriptCallFrame::JavaScriptCallFrame(PassRefPtr&lt;DebuggerCallFrame&gt; debuggerCallFrame)
+    : m_debuggerCallFrame(debuggerCallFrame)
+{
+}
+
+JavaScriptCallFrame* JavaScriptCallFrame::caller()
+{
+    if (m_caller)
+        return m_caller.get();
+
+    RefPtr&lt;DebuggerCallFrame&gt; debuggerCallerFrame = m_debuggerCallFrame-&gt;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 &quot;JSCJSValueInlines.h&quot;
+#include &quot;debugger/DebuggerCallFrame.h&quot;
+#include &quot;interpreter/CallFrame.h&quot;
+#include &lt;wtf/Forward.h&gt;
+#include &lt;wtf/PassRefPtr.h&gt;
+#include &lt;wtf/RefCounted.h&gt;
+#include &lt;wtf/text/TextPosition.h&gt;
+
+namespace Inspector {
+
+class JavaScriptCallFrame : public RefCounted&lt;JavaScriptCallFrame&gt; {
+public:
+    static PassRefPtr&lt;JavaScriptCallFrame&gt; create(PassRefPtr&lt;JSC::DebuggerCallFrame&gt; debuggerCallFrame)
+    {
+        return adoptRef(new JavaScriptCallFrame(debuggerCallFrame));
+    }
+
+    JavaScriptCallFrame* caller();
+    intptr_t sourceID() const { return m_debuggerCallFrame-&gt;sourceID(); }
+    const TextPosition position() const { return m_debuggerCallFrame-&gt;position(); }
+    int line() const { return m_debuggerCallFrame-&gt;line(); }
+    int column() const { return m_debuggerCallFrame-&gt;column(); }
+
+    String functionName() const { return m_debuggerCallFrame-&gt;functionName(); }
+    JSC::DebuggerCallFrame::Type type() const { return m_debuggerCallFrame-&gt;type(); }
+    JSC::JSScope* scopeChain() const { return m_debuggerCallFrame-&gt;scope(); }
+    JSC::JSGlobalObject* vmEntryGlobalObject() const { return m_debuggerCallFrame-&gt;vmEntryGlobalObject(); }
+
+    JSC::JSValue thisValue() const { return m_debuggerCallFrame-&gt;thisValue(); }
+    JSC::JSValue evaluate(const String&amp; script, JSC::JSValue&amp; exception) const  { return m_debuggerCallFrame-&gt;evaluate(script, exception); }
+
+private:
+    JavaScriptCallFrame(PassRefPtr&lt;JSC::DebuggerCallFrame&gt;);
+
+    RefPtr&lt;JSC::DebuggerCallFrame&gt; m_debuggerCallFrame;
+    RefPtr&lt;JavaScriptCallFrame&gt; 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&amp; callFrames, const Deprecated::ScriptValue&amp; exception) = 0;
</span><span class="cx">     virtual void didSampleProbe(JSC::ExecState*, int probeIdentifier, int hitCount, const Deprecated::ScriptValue&amp; result) = 0;
</span><span class="cx">     virtual void didContinue() = 0;
</span><ins>+
+    virtual void breakpointActionLog(JSC::ExecState*, const String&amp;) = 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. (&quot;Apple&quot;) 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 &quot;AS IS&quot; 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 &quot;config.h&quot;
+#include &quot;ScriptDebugServer.h&quot;
+
+#if ENABLE(JAVASCRIPT_DEBUGGER)
+
+#include &quot;DebuggerCallFrame.h&quot;
+#include &quot;JSJavaScriptCallFrame.h&quot;
+#include &quot;JSLock.h&quot;
+#include &quot;JavaScriptCallFrame.h&quot;
+#include &quot;ScriptValue.h&quot;
+#include &quot;SourceProvider.h&quot;
+#include &lt;wtf/MainThread.h&gt;
+#include &lt;wtf/NeverDestroyed.h&gt;
+#include &lt;wtf/TemporaryChange.h&gt;
+#include &lt;wtf/text/WTFString.h&gt;
+
+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&amp; 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 &amp;&amp; !scriptBreakpoint.actions.isEmpty()) {
+#ifndef NDEBUG
+        BreakpointIDToActionsMap::iterator it = m_breakpointIDToActions.find(id);
+        ASSERT(it == m_breakpointIDToActions.end());
+#endif
+        const Vector&lt;ScriptBreakpointAction&gt; &amp;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&amp; breakpointAction)
+{
+    DebuggerCallFrame* debuggerCallFrame = currentDebuggerCallFrame();
+
+    switch (breakpointAction.type) {
+    case ScriptBreakpointActionTypeLog: {
+        dispatchBreakpointActionLog(debuggerCallFrame-&gt;exec(), breakpointAction.data);
+        break;
+    }
+    case ScriptBreakpointActionTypeEvaluate: {
+        JSValue exception;
+        debuggerCallFrame-&gt;evaluate(breakpointAction.data, exception);
+        if (exception)
+            reportException(debuggerCallFrame-&gt;exec(), exception);
+        break;
+    }
+    case ScriptBreakpointActionTypeSound:
+        dispatchBreakpointActionSound(debuggerCallFrame-&gt;exec());
+        break;
+    case ScriptBreakpointActionTypeProbe: {
+        JSValue exception;
+        JSValue result = debuggerCallFrame-&gt;evaluate(breakpointAction.data, exception);
+        if (exception)
+            reportException(debuggerCallFrame-&gt;exec(), exception);
+        
+        JSC::ExecState* state = debuggerCallFrame-&gt;scope()-&gt;globalObject()-&gt;globalExec();
+        Deprecated::ScriptValue wrappedResult = Deprecated::ScriptValue(state-&gt;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-&gt;scope()-&gt;globalObject();
+    JSC::ExecState* state = globalObject-&gt;globalExec();
+    RefPtr&lt;JavaScriptCallFrame&gt; javaScriptCallFrame = JavaScriptCallFrame::create(debuggerCallFrame);
+    JSValue jsCallFrame = toJS(state, globalObject, javaScriptCallFrame.get());
+    listener-&gt;didPause(state, Deprecated::ScriptValue(state-&gt;vm(), jsCallFrame), Deprecated::ScriptValue());
+}
+
+void ScriptDebugServer::dispatchBreakpointActionLog(ExecState* exec, const String&amp; message)
+{
+    if (m_callingListeners)
+        return;
+
+    ListenerSet* listeners = getListenersForGlobalObject(exec-&gt;lexicalGlobalObject());
+    if (!listeners)
+        return;
+    ASSERT(!listeners-&gt;isEmpty());
+
+    TemporaryChange&lt;bool&gt; change(m_callingListeners, true);
+
+    Vector&lt;ScriptDebugListener*&gt; listenersCopy;
+    copyToVector(*listeners, listenersCopy);
+    for (auto listener : listenersCopy)
+        listener-&gt;breakpointActionLog(exec, message);
+}
+
+void ScriptDebugServer::dispatchBreakpointActionSound(ExecState* exec)
+{
+    if (m_callingListeners)
+        return;
+
+    ListenerSet* listeners = getListenersForGlobalObject(exec-&gt;lexicalGlobalObject());
+    if (!listeners)
+        return;
+    ASSERT(!listeners-&gt;isEmpty());
+
+    TemporaryChange&lt;bool&gt; change(m_callingListeners, true);
+
+    Vector&lt;ScriptDebugListener*&gt; listenersCopy;
+    copyToVector(*listeners, listenersCopy);
+    for (auto listener : listenersCopy)
+        listener-&gt;breakpointActionSound();
+}
+
+void ScriptDebugServer::dispatchDidSampleProbe(ExecState* exec, int identifier, const Deprecated::ScriptValue&amp; sample)
+{
+    if (m_callingListeners)
+        return;
+
+    ListenerSet* listeners = getListenersForGlobalObject(exec-&gt;lexicalGlobalObject());
+    if (!listeners)
+        return;
+    ASSERT(!listeners-&gt;isEmpty());
+
+    TemporaryChange&lt;bool&gt; change(m_callingListeners, true);
+
+    Vector&lt;ScriptDebugListener*&gt; listenersCopy;
+    copyToVector(*listeners, listenersCopy);
+    for (auto listener : listenersCopy)
+        listener-&gt;didSampleProbe(exec, identifier, m_hitCount, sample);
+}
+
+void ScriptDebugServer::dispatchDidContinue(ScriptDebugListener* listener)
+{
+    listener-&gt;didContinue();
+}
+
+void ScriptDebugServer::dispatchDidParseSource(const ListenerSet&amp; listeners, SourceProvider* sourceProvider, bool isContentScript)
+{
+    JSC::SourceID sourceID = sourceProvider-&gt;asID();
+
+    ScriptDebugListener::Script script;
+    script.url = sourceProvider-&gt;url();
+    script.source = sourceProvider-&gt;source();
+    script.startLine = sourceProvider-&gt;startPosition().m_line.zeroBasedInt();
+    script.startColumn = sourceProvider-&gt;startPosition().m_column.zeroBasedInt();
+    script.isContentScript = isContentScript;
+
+    int sourceLength = script.source.length();
+    int lineCount = 1;
+    int lastLineStart = 0;
+    for (int i = 0; i &lt; 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&lt;ScriptDebugListener*&gt; copy;
+    copyToVector(listeners, copy);
+    for (size_t i = 0; i &lt; copy.size(); ++i)
+        copy[i]-&gt;didParseSource(sourceID, script);
+}
+
+void ScriptDebugServer::dispatchFailedToParseSource(const ListenerSet&amp; listeners, SourceProvider* sourceProvider, int errorLine, const String&amp; errorMessage)
+{
+    String url = sourceProvider-&gt;url();
+    const String&amp; data = sourceProvider-&gt;source();
+    int firstLine = sourceProvider-&gt;startPosition().m_line.oneBasedInt();
+
+    Vector&lt;ScriptDebugListener*&gt; copy;
+    copyToVector(listeners, copy);
+    for (size_t i = 0; i &lt; copy.size(); ++i)
+        copy[i]-&gt;failedToParseSource(url, data, firstLine, errorLine, errorMessage);
+}
+
+void ScriptDebugServer::sourceParsed(ExecState* exec, SourceProvider* sourceProvider, int errorLine, const String&amp; errorMessage)
+{
+    if (m_callingListeners)
+        return;
+
+    ListenerSet* listeners = getListenersForGlobalObject(exec-&gt;lexicalGlobalObject());
+    if (!listeners)
+        return;
+    ASSERT(!listeners-&gt;isEmpty());
+
+    TemporaryChange&lt;bool&gt; 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&amp; listeners, JavaScriptExecutionCallback callback)
+{
+    Vector&lt;ScriptDebugListener*&gt; copy;
+    copyToVector(listeners, copy);
+    for (size_t i = 0; i &lt; copy.size(); ++i)
+        (this-&gt;*callback)(copy[i]);
+}
+
+void ScriptDebugServer::dispatchFunctionToListeners(JavaScriptExecutionCallback callback, JSGlobalObject* globalObject)
+{
+    if (m_callingListeners)
+        return;
+
+    TemporaryChange&lt;bool&gt; change(m_callingListeners, true);
+
+    if (ListenerSet* listeners = getListenersForGlobalObject(globalObject)) {
+        ASSERT(!listeners-&gt;isEmpty());
+        dispatchFunctionToListeners(*listeners, callback);
+    }
+}
+
+void ScriptDebugServer::notifyDoneProcessingDebuggerEvents()
+{
+    m_doneProcessingDebuggerEvents = true;
+}
+
+bool ScriptDebugServer::needPauseHandling(JSGlobalObject* globalObject)
+{
+    return !!getListenersForGlobalObject(globalObject);
+}
+
+void ScriptDebugServer::handleBreakpointHit(const JSC::Breakpoint&amp; breakpoint)
+{
+    m_hitCount++;
+    BreakpointIDToActionsMap::iterator it = m_breakpointIDToActions.find(breakpoint.id);
+    if (it != m_breakpointIDToActions.end()) {
+        BreakpointActions&amp; actions = it-&gt;value;
+        for (size_t i = 0; i &lt; 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(&amp;ScriptDebugServer::dispatchDidPause, vmEntryGlobalObject);
+    didPause(vmEntryGlobalObject);
+
+    m_doneProcessingDebuggerEvents = false;
+    runEventLoopWhilePaused();
+
+    didContinue(vmEntryGlobalObject);
+    dispatchFunctionToListeners(&amp;ScriptDebugServer::dispatchDidContinue, vmEntryGlobalObject);
+}
+
+const Vector&lt;ScriptBreakpointAction&gt;&amp; ScriptDebugServer::getActionsForBreakpoint(JSC::BreakpointID breakpointID)
+{
+    ASSERT(breakpointID != JSC::noBreakpointID);
+
+    if (m_breakpointIDToActions.contains(breakpointID))
+        return m_breakpointIDToActions.find(breakpointID)-&gt;value;
+    
+    static NeverDestroyed&lt;Vector&lt;ScriptBreakpointAction&gt;&gt; emptyActionVector = Vector&lt;ScriptBreakpointAction&gt;();
+    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. (&quot;Apple&quot;) 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 &quot;AS IS&quot; 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 &quot;ScriptBreakpoint.h&quot;
+#include &quot;ScriptDebugListener.h&quot;
+#include &quot;bindings/ScriptObject.h&quot;
+#include &quot;debugger/Debugger.h&quot;
+#include &lt;wtf/HashMap.h&gt;
+#include &lt;wtf/HashSet.h&gt;
+#include &lt;wtf/RefPtr.h&gt;
+#include &lt;wtf/Vector.h&gt;
+#include &lt;wtf/text/TextPosition.h&gt;
+#include &lt;wtf/text/WTFString.h&gt;
+
+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&amp;, unsigned* actualLineNumber, unsigned* actualColumnNumber);
+    void removeBreakpoint(JSC::BreakpointID);
+    void clearBreakpoints();
+
+    virtual void recompileAllJSFunctions() = 0;
+
+    const Vector&lt;ScriptBreakpointAction&gt;&amp; getActionsForBreakpoint(JSC::BreakpointID);
+
+    class Task {
+        WTF_MAKE_FAST_ALLOCATED;
+    public:
+        virtual ~Task() { }
+        virtual void run() = 0;
+    };
+
+protected:
+    typedef HashSet&lt;ScriptDebugListener*&gt; 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&amp;);
+
+    void dispatchFunctionToListeners(JavaScriptExecutionCallback, JSC::JSGlobalObject*);
+    void dispatchFunctionToListeners(const ListenerSet&amp; listeners, JavaScriptExecutionCallback);
+    void dispatchDidPause(ScriptDebugListener*);
+    void dispatchDidContinue(ScriptDebugListener*);
+    void dispatchDidParseSource(const ListenerSet&amp; listeners, JSC::SourceProvider*, bool isContentScript);
+    void dispatchFailedToParseSource(const ListenerSet&amp; listeners, JSC::SourceProvider*, int errorLine, const String&amp; errorMessage);
+    void dispatchBreakpointActionLog(JSC::ExecState*, const String&amp;);
+    void dispatchBreakpointActionSound(JSC::ExecState*);
+    void dispatchDidSampleProbe(JSC::ExecState*, int probeIdentifier, const Deprecated::ScriptValue&amp; sample);
+
+    bool m_doneProcessingDebuggerEvents;
+
+private:
+    typedef Vector&lt;ScriptBreakpointAction&gt; BreakpointActions;
+    typedef HashMap&lt;JSC::BreakpointID, BreakpointActions&gt; BreakpointIDToActionsMap;
+
+    virtual void sourceParsed(JSC::ExecState*, JSC::SourceProvider*, int errorLine, const String&amp; errorMsg) override final;
+    virtual bool needPauseHandling(JSC::JSGlobalObject*) override final;
+    virtual void handleBreakpointHit(const JSC::Breakpoint&amp;) 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  &lt;pecoraro@apple.com&gt;
+
+        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  &lt;bfulgham@apple.com&gt;
</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 &quot;JSIDBTransaction.cpp&quot;
</span><span class="cx"> #include &quot;JSImageData.cpp&quot;
</span><span class="cx"> #include &quot;JSInspectorFrontendHost.cpp&quot;
</span><del>-#include &quot;JSJavaScriptCallFrame.cpp&quot;
</del><span class="cx"> #include &quot;JSKeyboardEvent.cpp&quot;
</span><span class="cx"> #include &quot;JSLocation.cpp&quot;
</span><span class="cx"> #include &quot;JSMediaController.cpp&quot;
</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 &quot;$(subst $(space),,$(patsubst %,%\n,$(BINDING_IDLS) $(ADDITIONAL_IDLS)))&quot; &gt; $(IDL_FILES_TMP)
</del><ins>+$(SUPPLEMENTAL_MAKEFILE_DEPS) : $(PREPROCESS_IDLS_SCRIPTS) $(BINDING_IDLS) $(PLATFORM_FEATURE_DEFINES)
+        printf &quot;$(subst $(space),,$(patsubst %,%\n,$(BINDING_IDLS)))&quot; &gt; $(IDL_FILES_TMP)
</ins><span class="cx">         $(call preprocess_idls_script, $(PREPROCESS_IDLS_SCRIPTS)) --defines &quot;$(FEATURE_DEFINES) $(ADDITIONAL_IDL_DEFINES) LANGUAGE_JAVASCRIPT&quot; --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 &lt;JavaScriptCore/ScriptDebugServer.h&gt;
+#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">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSJavaScriptCallFrame.cpp&quot;&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='DebugSuffix|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-    &lt;/ClCompile&gt;
</del><span class="cx">     &lt;ClCompile Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSKeyboardEvent.cpp&quot;&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="lines">@@ -15800,20 +15786,6 @@
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;..\bindings\js\JavaScriptCallFrame.cpp&quot;&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='DebugSuffix|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-    &lt;/ClCompile&gt;
</del><span class="cx">     &lt;ClCompile Include=&quot;..\bindings\js\JSAttrCustom.cpp&quot;&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="lines">@@ -16656,20 +16628,6 @@
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;..\bindings\js\JSJavaScriptCallFrameCustom.cpp&quot;&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='DebugSuffix|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-    &lt;/ClCompile&gt;
</del><span class="cx">     &lt;ClCompile Include=&quot;..\bindings\js\JSLazyEventListener.cpp&quot;&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="lines">@@ -17286,20 +17244,6 @@
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;..\bindings\js\ScriptDebugServer.cpp&quot;&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='DebugSuffix|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-    &lt;/ClCompile&gt;
</del><span class="cx">     &lt;ClCompile Include=&quot;..\bindings\js\ScriptGlobalObject.cpp&quot; /&gt;
</span><span class="cx">     &lt;ClCompile Include=&quot;..\bindings\js\ScriptProfile.cpp&quot; /&gt;
</span><span class="cx">     &lt;ClCompile Include=&quot;..\bindings\js\ScriptProfiler.cpp&quot;&gt;
</span><span class="lines">@@ -18260,7 +18204,6 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSIDBTransaction.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSImageData.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSInspectorFrontendHost.h&quot; /&gt;
</span><del>-    &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSJavaScriptCallFrame.h&quot; /&gt;
</del><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSKeyboardEvent.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSLocation.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSMediaControlsHost.h&quot; /&gt;
</span><span class="lines">@@ -20563,7 +20506,6 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\bindings\js\DOMWrapperWorld.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\bindings\js\GCController.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\bindings\js\IDBBindingUtilities.h&quot; /&gt;
</span><del>-    &lt;ClInclude Include=&quot;..\bindings\js\JavaScriptCallFrame.h&quot; /&gt;
</del><span class="cx">     &lt;ClInclude Include=&quot;..\bindings\js\JSCallbackData.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\bindings\js\JSCSSStyleDeclarationCustom.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\bindings\js\JSCustomXPathNSResolver.h&quot; /&gt;
</span><span class="lines">@@ -20595,7 +20537,6 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\bindings\js\ScriptCachedFrameData.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\bindings\js\ScriptCallStackFactory.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\bindings\js\ScriptController.h&quot; /&gt;
</span><del>-    &lt;ClInclude Include=&quot;..\bindings\js\ScriptDebugServer.h&quot; /&gt;
</del><span class="cx">     &lt;ClInclude Include=&quot;..\bindings\js\ScriptHeapSnapshot.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\bindings\js\ScriptGlobalObject.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\bindings\js\ScriptProfile.h&quot; /&gt;
</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">     &lt;ClCompile Include=&quot;..\bindings\js\IDBBindingUtilities.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;bindings\js&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;..\bindings\js\JavaScriptCallFrame.cpp&quot;&gt;
-      &lt;Filter&gt;bindings\js&lt;/Filter&gt;
-    &lt;/ClCompile&gt;
</del><span class="cx">     &lt;ClCompile Include=&quot;..\bindings\js\JSAttrCustom.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;bindings\js&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><span class="lines">@@ -4365,9 +4362,6 @@
</span><span class="cx">     &lt;ClCompile Include=&quot;..\bindings\js\JSInspectorFrontendHostCustom.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;bindings\js&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;..\bindings\js\JSJavaScriptCallFrameCustom.cpp&quot;&gt;
-      &lt;Filter&gt;bindings\js&lt;/Filter&gt;
-    &lt;/ClCompile&gt;
</del><span class="cx">     &lt;ClCompile Include=&quot;..\bindings\js\JSLazyEventListener.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;bindings\js&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><span class="lines">@@ -4500,9 +4494,6 @@
</span><span class="cx">     &lt;ClCompile Include=&quot;..\bindings\js\ScriptController.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;bindings\js&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;..\bindings\js\ScriptDebugServer.cpp&quot;&gt;
-      &lt;Filter&gt;bindings\js&lt;/Filter&gt;
-    &lt;/ClCompile&gt;
</del><span class="cx">     &lt;ClCompile Include=&quot;..\bindings\js\ScriptGlobalObject.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;bindings\js&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><span class="lines">@@ -5719,9 +5710,6 @@
</span><span class="cx">     &lt;ClCompile Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSInspectorFrontendHost.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;DerivedSources&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSJavaScriptCallFrame.cpp&quot;&gt;
-      &lt;Filter&gt;DerivedSources&lt;/Filter&gt;
-    &lt;/ClCompile&gt;
</del><span class="cx">     &lt;ClCompile Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSKeyboardEvent.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;DerivedSources&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><span class="lines">@@ -11279,9 +11267,6 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\bindings\js\IDBBindingUtilities.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;bindings\js&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><del>-    &lt;ClInclude Include=&quot;..\bindings\js\JavaScriptCallFrame.h&quot;&gt;
-      &lt;Filter&gt;bindings\js&lt;/Filter&gt;
-    &lt;/ClInclude&gt;
</del><span class="cx">     &lt;ClInclude Include=&quot;..\bindings\js\JSCallbackData.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;bindings\js&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><span class="lines">@@ -11357,9 +11342,6 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\bindings\js\ScriptController.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;bindings\js&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><del>-    &lt;ClInclude Include=&quot;..\bindings\js\ScriptDebugServer.h&quot;&gt;
-      &lt;Filter&gt;bindings\js&lt;/Filter&gt;
-    &lt;/ClInclude&gt;
</del><span class="cx">     &lt;ClInclude Include=&quot;..\bindings\js\ScriptHeapSnapshot.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;bindings\js&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><span class="lines">@@ -13462,9 +13444,6 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSInspectorFrontendHost.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;DerivedSources&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><del>-    &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSJavaScriptCallFrame.h&quot;&gt;
-      &lt;Filter&gt;DerivedSources&lt;/Filter&gt;
-    &lt;/ClInclude&gt;
</del><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSKeyboardEvent.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;DerivedSources&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</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 = &quot;&lt;group&gt;&quot;; tabWidth = 8; usesTabs = 0; };
</span><span class="cx">                 1C4C8F630AD8655D009475CE /* DeleteButton.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DeleteButton.cpp; sourceTree = &quot;&lt;group&gt;&quot;; tabWidth = 8; usesTabs = 0; };
</span><span class="cx">                 1C4C8F640AD8655D009475CE /* DeleteButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DeleteButton.h; sourceTree = &quot;&lt;group&gt;&quot;; tabWidth = 8; usesTabs = 0; };
</span><del>-                1C5FAECF0DCFD90100D58F78 /* JSJavaScriptCallFrame.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSJavaScriptCallFrame.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
-                1C5FAED00DCFD90100D58F78 /* JSJavaScriptCallFrame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSJavaScriptCallFrame.h; sourceTree = &quot;&lt;group&gt;&quot;; };
-                1C5FAEE60DCFDA6800D58F78 /* JSJavaScriptCallFrameCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSJavaScriptCallFrameCustom.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 1C81B9560E97330800266E07 /* InspectorController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorController.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 1C81B9570E97330800266E07 /* InspectorController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorController.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 1C81B9580E97330800266E07 /* InspectorClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorClient.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                1C81BA030E97348300266E07 /* JavaScriptCallFrame.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JavaScriptCallFrame.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
-                1C81BA040E97348300266E07 /* JavaScriptCallFrame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JavaScriptCallFrame.h; sourceTree = &quot;&lt;group&gt;&quot;; };
-                1C81BA050E97348300266E07 /* JavaScriptCallFrame.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = JavaScriptCallFrame.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 1C904DF90BA9D2C80081E9D0 /* Version.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Version.xcconfig; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 1CA19E030DC255950065A994 /* EventLoopMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = EventLoopMac.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 1CA19E150DC255CA0065A994 /* EventLoop.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EventLoop.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</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 = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 9F0D6B2D121BFEBA006C0288 /* InspectorProfilerAgent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorProfilerAgent.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 9F3B947D12241758005304E7 /* ScriptHeapSnapshot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScriptHeapSnapshot.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                9F6FC1941122E82A00E80196 /* ScriptDebugServer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScriptDebugServer.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
-                9F6FC1951122E82A00E80196 /* ScriptDebugServer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScriptDebugServer.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 9F72304C11184B4100AD0126 /* ScriptProfile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScriptProfile.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 9F72304D11184B4100AD0126 /* ScriptProfiler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScriptProfiler.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 9F72304E11184B4100AD0126 /* ScriptProfiler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScriptProfiler.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</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 &quot;JSImageConstructor.cpp&quot;
</span><span class="cx"> #include &quot;JSImageDataCustom.cpp&quot;
</span><span class="cx"> #include &quot;JSInspectorFrontendHostCustom.cpp&quot;
</span><del>-#include &quot;JSJavaScriptCallFrameCustom.cpp&quot;
</del><span class="cx"> #include &quot;JSLazyEventListener.cpp&quot;
</span><span class="cx"> #include &quot;JSLocationCustom.cpp&quot;
</span><span class="cx"> #include &quot;JSMainThreadExecState.cpp&quot;
</span><span class="lines">@@ -141,13 +140,11 @@
</span><span class="cx"> #include &quot;JSXMLHttpRequestCustom.cpp&quot;
</span><span class="cx"> #include &quot;JSXPathResultCustom.cpp&quot;
</span><span class="cx"> #include &quot;JSXSLTProcessorCustom.cpp&quot;
</span><del>-#include &quot;JavaScriptCallFrame.cpp&quot;
</del><span class="cx"> #include &quot;PageScriptDebugServer.cpp&quot;
</span><span class="cx"> #include &quot;ScheduledAction.cpp&quot;
</span><span class="cx"> #include &quot;ScriptCachedFrameData.cpp&quot;
</span><span class="cx"> #include &quot;ScriptCallStackFactory.cpp&quot;
</span><span class="cx"> #include &quot;ScriptController.cpp&quot;
</span><del>-#include &quot;ScriptDebugServer.cpp&quot;
</del><span class="cx"> #include &quot;ScriptProfiler.cpp&quot;
</span><span class="cx"> #include &quot;ScriptState.cpp&quot;
</span><span class="cx"> #include &quot;SerializedScriptValue.cpp&quot;
</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 &quot;config.h&quot;
-
-#if ENABLE(JAVASCRIPT_DEBUGGER)
-
-#include &quot;JSJavaScriptCallFrame.h&quot;
-
-#include &quot;JavaScriptCallFrame.h&quot;
-#include &lt;runtime/ArrayPrototype.h&gt;
-#include &lt;runtime/Error.h&gt;
-
-using namespace JSC;
-
-namespace WebCore {
-
-JSValue JSJavaScriptCallFrame::evaluate(ExecState* exec)
-{
-    JSValue exception;
-    JSValue result = impl().evaluate(exec-&gt;argument(0).toString(exec)-&gt;value(exec), exception);
-
-    if (exception)
-        exec-&gt;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(&quot;function&quot;));
-    case DebuggerCallFrame::ProgramType:
-        return jsNontrivialString(exec, ASCIILiteral(&quot;program&quot;));
-    }
-
-    ASSERT_NOT_REACHED();
-    return jsNull();
-}
-
-JSValue JSJavaScriptCallFrame::scopeChain(ExecState* exec) const
-{
-    if (!impl().scopeChain())
-        return jsNull();
-
-    JSScope* scopeChain = impl().scopeChain();
-    ScopeChainIterator iter = scopeChain-&gt;begin();
-    ScopeChainIterator end = scopeChain-&gt;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-&gt;argument(0).isInt32())
-        return jsUndefined();
-    int index = exec-&gt;argument(0).asInt32();
-
-    JSScope* scopeChain = impl().scopeChain();
-    ScopeChainIterator end = scopeChain-&gt;end();
-
-    bool foundLocalScope = false;
-    for (ScopeChainIterator iter = scopeChain-&gt;begin(); iter != end; ++iter) {
-        JSObject* scope = iter.get();
-        if (scope-&gt;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 &quot;config.h&quot;
-
-#if ENABLE(JAVASCRIPT_DEBUGGER)
-
-#include &quot;JavaScriptCallFrame.h&quot;
-
-#include &lt;debugger/DebuggerCallFrame.h&gt;
-
-using namespace JSC;
-
-namespace WebCore {
-
-JavaScriptCallFrame::JavaScriptCallFrame(PassRefPtr&lt;DebuggerCallFrame&gt; debuggerCallFrame)
-    : m_debuggerCallFrame(debuggerCallFrame)
-{
-}
-
-JavaScriptCallFrame* JavaScriptCallFrame::caller()
-{
-    if (m_caller)
-        return m_caller.get();
-
-    RefPtr&lt;DebuggerCallFrame&gt; debuggerCallerFrame = m_debuggerCallFrame-&gt;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 &lt;debugger/DebuggerCallFrame.h&gt;
-#include &lt;interpreter/CallFrame.h&gt;
-#include &lt;wtf/Forward.h&gt;
-#include &lt;wtf/PassRefPtr.h&gt;
-#include &lt;wtf/RefCounted.h&gt;
-#include &lt;wtf/text/TextPosition.h&gt;
-
-namespace WebCore {
-
-class JavaScriptCallFrame : public RefCounted&lt;JavaScriptCallFrame&gt; {
-public:
-    static PassRefPtr&lt;JavaScriptCallFrame&gt; create(PassRefPtr&lt;JSC::DebuggerCallFrame&gt; debuggerCallFrame)
-    {
-        return adoptRef(new JavaScriptCallFrame(debuggerCallFrame));
-    }
-
-    JavaScriptCallFrame* caller();
-    intptr_t sourceID() const { return m_debuggerCallFrame-&gt;sourceID(); }
-    const TextPosition position() const { return m_debuggerCallFrame-&gt;position(); }
-    int line() const { return m_debuggerCallFrame-&gt;line(); }
-    int column() const { return m_debuggerCallFrame-&gt;column(); }
-
-    String functionName() const { return m_debuggerCallFrame-&gt;functionName(); }
-    JSC::DebuggerCallFrame::Type type() const { return m_debuggerCallFrame-&gt;type(); }
-    JSC::JSScope* scopeChain() const { return m_debuggerCallFrame-&gt;scope(); }
-    JSC::JSGlobalObject* vmEntryGlobalObject() const { return m_debuggerCallFrame-&gt;vmEntryGlobalObject(); }
-
-    JSC::JSValue thisValue() const { return m_debuggerCallFrame-&gt;thisValue(); }
-    JSC::JSValue evaluate(const String&amp; script, JSC::JSValue&amp; exception) const  { return m_debuggerCallFrame-&gt;evaluate(script, exception); }
-    
-private:
-    JavaScriptCallFrame(PassRefPtr&lt;JSC::DebuggerCallFrame&gt;);
-
-    RefPtr&lt;JSC::DebuggerCallFrame&gt; m_debuggerCallFrame;
-    RefPtr&lt;JavaScriptCallFrame&gt; 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 &quot;PageGroup.h&quot;
</span><span class="cx"> #include &quot;PluginView.h&quot;
</span><span class="cx"> #include &quot;ScriptController.h&quot;
</span><ins>+#include &quot;Timer.h&quot;
</ins><span class="cx"> #include &quot;Widget.h&quot;
</span><span class="cx"> #include &lt;runtime/JSLock.h&gt;
</span><span class="cx"> #include &lt;wtf/MainThread.h&gt;
</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 &amp;&amp; !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 &amp;currentWorld(exec) != &amp;mainThreadNormalWorld();
+}
+
+void PageScriptDebugServer::reportException(ExecState* exec, JSValue exception) const
+{
+    WebCore::reportException(exec, exception);
+}
+
</ins><span class="cx"> void PageScriptDebugServer::setJavaScriptPaused(const PageGroup&amp; 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 &quot;ScriptDebugServer.h&quot;
</del><ins>+#include &lt;inspector/ScriptDebugServer.h&gt;
</ins><span class="cx"> #include &lt;wtf/Forward.h&gt;
</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&amp; 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. (&quot;Apple&quot;) 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 &quot;AS IS&quot; 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 &quot;config.h&quot;
-
-#if ENABLE(JAVASCRIPT_DEBUGGER)
-
-#include &quot;ScriptDebugServer.h&quot;
-
-#include &quot;EventLoop.h&quot;
-#include &quot;JSDOMWindowCustom.h&quot;
-#include &quot;JSJavaScriptCallFrame.h&quot;
-#include &quot;JavaScriptCallFrame.h&quot;
-#include &quot;PageConsole.h&quot;
-#include &quot;Sound.h&quot;
-#include &quot;Timer.h&quot;
-#include &lt;bindings/ScriptValue.h&gt;
-#include &lt;debugger/DebuggerCallFrame.h&gt;
-#include &lt;parser/SourceProvider.h&gt;
-#include &lt;runtime/JSLock.h&gt;
-#include &lt;wtf/MainThread.h&gt;
-#include &lt;wtf/NeverDestroyed.h&gt;
-#include &lt;wtf/TemporaryChange.h&gt;
-#include &lt;wtf/text/WTFString.h&gt;
-
-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&amp; 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 &amp;&amp; !scriptBreakpoint.actions.isEmpty()) {
-#ifndef NDEBUG
-        BreakpointIDToActionsMap::iterator it = m_breakpointIDToActions.find(id);
-        ASSERT(it == m_breakpointIDToActions.end());
-#endif
-        const Vector&lt;ScriptBreakpointAction&gt; &amp;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&amp; breakpointAction)
-{
-    DebuggerCallFrame* debuggerCallFrame = currentDebuggerCallFrame();
-    switch (breakpointAction.type) {
-    case ScriptBreakpointActionTypeLog: {
-        DOMWindow&amp; window = asJSDOMWindow(debuggerCallFrame-&gt;vmEntryGlobalObject())-&gt;impl();
-        if (PageConsole* console = window.pageConsole())
-            console-&gt;addMessage(JSMessageSource, LogMessageLevel, breakpointAction.data);
-        break;
-    }
-    case ScriptBreakpointActionTypeEvaluate: {
-        JSValue exception;
-        debuggerCallFrame-&gt;evaluate(breakpointAction.data, exception);
-        if (exception)
-            reportException(debuggerCallFrame-&gt;exec(), exception);
-        break;
-    }
-    case ScriptBreakpointActionTypeSound:
-        systemBeep();
-        break;
-    case ScriptBreakpointActionTypeProbe: {
-        JSValue exception;
-        JSValue result = debuggerCallFrame-&gt;evaluate(breakpointAction.data, exception);
-        if (exception)
-            reportException(debuggerCallFrame-&gt;exec(), exception);
-
-        JSC::ExecState* state = debuggerCallFrame-&gt;scope()-&gt;globalObject()-&gt;globalExec();
-        Deprecated::ScriptValue wrappedResult = Deprecated::ScriptValue(state-&gt;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-&gt;scope()-&gt;globalObject();
-    JSC::ExecState* state = globalObject-&gt;globalExec();
-    RefPtr&lt;JavaScriptCallFrame&gt; javaScriptCallFrame = JavaScriptCallFrame::create(debuggerCallFrame);
-    JSValue jsCallFrame;
-    {
-        if (globalObject-&gt;inherits(JSDOMGlobalObject::info())) {
-            JSDOMGlobalObject* domGlobalObject = jsCast&lt;JSDOMGlobalObject*&gt;(globalObject);
-            JSLockHolder lock(state);
-            jsCallFrame = toJS(state, domGlobalObject, javaScriptCallFrame.get());
-        } else
-            jsCallFrame = jsUndefined();
-    }
-    listener-&gt;didPause(state, Deprecated::ScriptValue(state-&gt;vm(), jsCallFrame), Deprecated::ScriptValue());
-}
-
-void ScriptDebugServer::dispatchDidSampleProbe(ExecState* exec, int identifier, const Deprecated::ScriptValue&amp; sample)
-{
-    if (m_callingListeners)
-        return;
-
-    ListenerSet* listeners = getListenersForGlobalObject(exec-&gt;lexicalGlobalObject());
-    if (!listeners)
-        return;
-    ASSERT(!listeners-&gt;isEmpty());
-
-    TemporaryChange&lt;bool&gt; change(m_callingListeners, true);
-
-    Vector&lt;ScriptDebugListener*&gt; listenersCopy;
-    copyToVector(*listeners, listenersCopy);
-    for (auto listener : listenersCopy)
-        listener-&gt;didSampleProbe(exec, identifier, m_hitCount, sample);
-}
-
-void ScriptDebugServer::dispatchDidContinue(ScriptDebugListener* listener)
-{
-    listener-&gt;didContinue();
-}
-
-void ScriptDebugServer::dispatchDidParseSource(const ListenerSet&amp; listeners, SourceProvider* sourceProvider, bool isContentScript)
-{
-    JSC::SourceID sourceID = sourceProvider-&gt;asID();
-
-    ScriptDebugListener::Script script;
-    script.url = sourceProvider-&gt;url();
-    script.source = sourceProvider-&gt;source();
-    script.startLine = sourceProvider-&gt;startPosition().m_line.zeroBasedInt();
-    script.startColumn = sourceProvider-&gt;startPosition().m_column.zeroBasedInt();
-    script.isContentScript = isContentScript;
-
-    int sourceLength = script.source.length();
-    int lineCount = 1;
-    int lastLineStart = 0;
-    for (int i = 0; i &lt; 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&lt;ScriptDebugListener*&gt; copy;
-    copyToVector(listeners, copy);
-    for (size_t i = 0; i &lt; copy.size(); ++i)
-        copy[i]-&gt;didParseSource(sourceID, script);
-}
-
-void ScriptDebugServer::dispatchFailedToParseSource(const ListenerSet&amp; listeners, SourceProvider* sourceProvider, int errorLine, const String&amp; errorMessage)
-{
-    String url = sourceProvider-&gt;url();
-    const String&amp; data = sourceProvider-&gt;source();
-    int firstLine = sourceProvider-&gt;startPosition().m_line.oneBasedInt();
-
-    Vector&lt;ScriptDebugListener*&gt; copy;
-    copyToVector(listeners, copy);
-    for (size_t i = 0; i &lt; copy.size(); ++i)
-        copy[i]-&gt;failedToParseSource(url, data, firstLine, errorLine, errorMessage);
-}
-
-bool ScriptDebugServer::isContentScript(ExecState* exec)
-{
-    return &amp;currentWorld(exec) != &amp;mainThreadNormalWorld();
-}
-
-void ScriptDebugServer::sourceParsed(ExecState* exec, SourceProvider* sourceProvider, int errorLine, const String&amp; errorMessage)
-{
-    if (m_callingListeners)
-        return;
-
-    ListenerSet* listeners = getListenersForGlobalObject(exec-&gt;lexicalGlobalObject());
-    if (!listeners)
-        return;
-    ASSERT(!listeners-&gt;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&amp; listeners, JavaScriptExecutionCallback callback)
-{
-    Vector&lt;ScriptDebugListener*&gt; copy;
-    copyToVector(listeners, copy);
-    for (size_t i = 0; i &lt; copy.size(); ++i)
-        (this-&gt;*callback)(copy[i]);
-}
-
-void ScriptDebugServer::dispatchFunctionToListeners(JavaScriptExecutionCallback callback, JSGlobalObject* globalObject)
-{
-    if (m_callingListeners)
-        return;
-
-    m_callingListeners = true;
-
-    if (ListenerSet* listeners = getListenersForGlobalObject(globalObject)) {
-        ASSERT(!listeners-&gt;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&amp; breakpoint)
-{
-    m_hitCount++;
-    BreakpointIDToActionsMap::iterator it = m_breakpointIDToActions.find(breakpoint.id);
-    if (it != m_breakpointIDToActions.end()) {
-        BreakpointActions&amp; actions = it-&gt;value;
-        for (size_t i = 0; i &lt; 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(&amp;ScriptDebugServer::dispatchDidPause, vmEntryGlobalObject);
-    didPause(vmEntryGlobalObject);
-
-    TimerBase::fireTimersInNestedEventLoop();
-
-    m_doneProcessingDebuggerEvents = false;
-    runEventLoopWhilePaused();
-
-    didContinue(vmEntryGlobalObject);
-    dispatchFunctionToListeners(&amp;ScriptDebugServer::dispatchDidContinue, vmEntryGlobalObject);
-}
-
-const Vector&lt;ScriptBreakpointAction&gt;&amp; ScriptDebugServer::getActionsForBreakpoint(JSC::BreakpointID breakpointID)
-{
-    ASSERT(breakpointID != JSC::noBreakpointID);
-
-    if (m_breakpointIDToActions.contains(breakpointID))
-        return m_breakpointIDToActions.find(breakpointID)-&gt;value;
-    
-    static NeverDestroyed&lt;Vector&lt;ScriptBreakpointAction&gt;&gt; emptyActionVector = Vector&lt;ScriptBreakpointAction&gt;();
-    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. (&quot;Apple&quot;) 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 &quot;AS IS&quot; 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 &lt;bindings/ScriptObject.h&gt;
-#include &lt;debugger/Debugger.h&gt;
-#include &lt;inspector/ScriptBreakpoint.h&gt;
-#include &lt;inspector/ScriptDebugListener.h&gt;
-#include &lt;wtf/HashMap.h&gt;
-#include &lt;wtf/HashSet.h&gt;
-#include &lt;wtf/RefPtr.h&gt;
-#include &lt;wtf/Vector.h&gt;
-#include &lt;wtf/text/TextPosition.h&gt;
-#include &lt;wtf/text/WTFString.h&gt;
-
-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&amp;, unsigned* actualLineNumber, unsigned* actualColumnNumber);
-    void removeBreakpoint(JSC::BreakpointID);
-    void clearBreakpoints();
-
-    virtual void recompileAllJSFunctions() = 0;
-
-    const Vector&lt;Inspector::ScriptBreakpointAction&gt;&amp; getActionsForBreakpoint(JSC::BreakpointID);
-
-    class Task {
-        WTF_MAKE_FAST_ALLOCATED;
-    public:
-        virtual ~Task() { }
-        virtual void run() = 0;
-    };
-
-protected:
-    typedef HashSet&lt;Inspector::ScriptDebugListener*&gt; 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&amp;);
-
-    void dispatchFunctionToListeners(JavaScriptExecutionCallback, JSC::JSGlobalObject*);
-    void dispatchFunctionToListeners(const ListenerSet&amp; listeners, JavaScriptExecutionCallback callback);
-    void dispatchDidPause(Inspector::ScriptDebugListener*);
-    void dispatchDidContinue(Inspector::ScriptDebugListener*);
-    void dispatchDidParseSource(const ListenerSet&amp; listeners, JSC::SourceProvider*, bool isContentScript);
-    void dispatchFailedToParseSource(const ListenerSet&amp; listeners, JSC::SourceProvider*, int errorLine, const String&amp; errorMessage);
-    void dispatchDidSampleProbe(JSC::ExecState*, int probeIdentifier, const Deprecated::ScriptValue&amp; sample);
-
-    bool m_doneProcessingDebuggerEvents;
-
-private:
-    typedef Vector&lt;Inspector::ScriptBreakpointAction&gt; BreakpointActions;
-    typedef HashMap&lt;JSC::BreakpointID, BreakpointActions&gt; BreakpointIDToActionsMap;
-
-    virtual void sourceParsed(JSC::ExecState*, JSC::SourceProvider*, int errorLine, const String&amp; errorMsg) override final;
-    virtual bool needPauseHandling(JSC::JSGlobalObject*) override final;
-    virtual void handleBreakpointHit(const JSC::Breakpoint&amp;) 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 &quot;JSDOMBinding.h&quot;
+#include &quot;Timer.h&quot;
</ins><span class="cx"> #include &quot;WorkerDebuggerAgent.h&quot;
</span><span class="cx"> #include &quot;WorkerGlobalScope.h&quot;
</span><span class="cx"> #include &quot;WorkerRunLoop.h&quot;
</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-&gt;thread()-&gt;runLoop().runInMode(m_workerGlobalScope, m_debuggerTaskMode);
</span><span class="lines">@@ -97,6 +101,11 @@
</span><span class="cx">     } while (result != MessageQueueTerminated &amp;&amp; !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&lt;ScriptDebugServer::Task&gt;)
</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 &quot;ScriptDebugServer.h&quot;
</del><ins>+#include &lt;inspector/ScriptDebugServer.h&gt;
</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&amp;);
</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 &quot;CachedResource.h&quot;
</span><span class="cx"> #include &quot;InspectorPageAgent.h&quot;
</span><span class="cx"> #include &quot;InstrumentingAgents.h&quot;
</span><del>-#include &quot;ScriptDebugServer.h&quot;
</del><ins>+#include &quot;ScriptArguments.h&quot;
+#include &quot;Sound.h&quot;
</ins><span class="cx"> #include &lt;bindings/ScriptObject.h&gt;
</span><span class="cx"> #include &lt;bindings/ScriptValue.h&gt;
</span><span class="cx"> #include &lt;inspector/ContentSearchUtilities.h&gt;
</span><span class="cx"> #include &lt;inspector/InjectedScript.h&gt;
</span><span class="cx"> #include &lt;inspector/InjectedScriptManager.h&gt;
</span><span class="cx"> #include &lt;inspector/InspectorValues.h&gt;
</span><ins>+#include &lt;inspector/ScriptDebugServer.h&gt;
</ins><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> #include &lt;yarr/RegularExpression.h&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -690,6 +692,12 @@
</span><span class="cx">     m_frontendDispatcher-&gt;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&amp; scriptDebugServer() = 0;
</del><ins>+    virtual Inspector::ScriptDebugServer&amp; 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&amp;) override final;
</span><span class="cx">     virtual void failedToParseSource(const String&amp; url, const String&amp; data, int firstLine, int errorLine, const String&amp; errorMessage) override final;
</span><span class="cx">     virtual void didSampleProbe(JSC::ExecState*, int probeIdentifier, int hitCount, const Deprecated::ScriptValue&amp; sample) override final;
</span><ins>+    virtual void breakpointActionSound() override final;
</ins><span class="cx"> 
</span><span class="cx">     PassRefPtr&lt;Inspector::TypeBuilder::Debugger::Location&gt; resolveBreakpoint(const String&amp; breakpointIdentifier, JSC::SourceID, const Inspector::ScriptBreakpoint&amp;);
</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 &lt;wtf/PassRefPtr.h&gt;
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(JAVASCRIPT_DEBUGGER)
</span><del>-#include &quot;ScriptDebugServer.h&quot;
</del><ins>+#include &lt;inspector/ScriptDebugServer.h&gt;
</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&amp; message)
+{
+    m_pageAgent-&gt;page()-&gt;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&amp;) 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) &amp;&amp; ENABLE(INSPECTOR)
</span><span class="cx"> 
</span><del>-#include &quot;ScriptDebugServer.h&quot;
</del><span class="cx"> #include &quot;WorkerGlobalScope.h&quot;
</span><span class="cx"> #include &quot;WorkerThread.h&quot;
</span><span class="cx"> #include &lt;inspector/InjectedScript.h&gt;
</span><span class="cx"> #include &lt;inspector/InjectedScriptManager.h&gt;
</span><ins>+#include &lt;inspector/ScriptDebugServer.h&gt;
</ins><span class="cx"> #include &lt;mutex&gt;
</span><span class="cx"> #include &lt;wtf/MessageQueue.h&gt;
</span><span class="cx"> #include &lt;wtf/NeverDestroyed.h&gt;
</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&amp; message)
+{
+    m_inspectedWorkerGlobalScope-&gt;addConsoleMessage(JSMessageSource, LogMessageLevel, message);
+}
+
</ins><span class="cx"> WorkerScriptDebugServer&amp; 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&amp;) 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&amp; message, unsigned long requestIdentifier = 0) override;
+
</ins><span class="cx">     protected:
</span><span class="cx">         WorkerGlobalScope(const URL&amp;, const String&amp; userAgent, std::unique_ptr&lt;GroupSettings&gt;, WorkerThread*, PassRefPtr&lt;SecurityOrigin&gt; topOrigin);
</span><span class="cx">         void applyContentSecurityPolicyFromString(const String&amp; 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&amp; message, const String&amp; sourceURL, unsigned lineNumber, unsigned columnNumber, PassRefPtr&lt;ScriptCallStack&gt;, JSC::ExecState* = 0, unsigned long requestIdentifier = 0) override;
</span><del>-        virtual void addConsoleMessage(MessageSource, MessageLevel, const String&amp; 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>