<!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>[46490] trunk/WebCore</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/46490">46490</a></dd>
<dt>Author</dt> <dd>pfeldman@chromium.org</dd>
<dt>Date</dt> <dd>2009-07-28 09:04:34 -0700 (Tue, 28 Jul 2009)</dd>
</dl>

<h3>Log Message</h3>
<pre>2009-07-28  Pavel Feldman  &lt;pfeldman@chromium.org&gt;

        Reviewed by Dmitry Glazkov.

        Web Inspector: encapsulate ScriptState into the ScriptObject, get rid of
        InspectorJSONObject.

        https://bugs.webkit.org/show_bug.cgi?id=27766

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * bindings/js/ScriptArray.cpp:
        (WebCore::ScriptArray::ScriptArray):
        (WebCore::ScriptArray::set):
        (WebCore::ScriptArray::length):
        (WebCore::ScriptArray::createNew):
        * bindings/js/ScriptArray.h:
        * bindings/js/ScriptFunctionCall.cpp:
        (WebCore::ScriptFunctionCall::construct):
        * bindings/js/ScriptObject.cpp:
        (WebCore::ScriptObject::ScriptObject):
        (WebCore::ScriptObject::set):
        (WebCore::ScriptObject::createNew):
        (WebCore::ScriptGlobalObject::get):
        * bindings/js/ScriptObject.h:
        * bindings/js/ScriptObjectQuarantine.cpp:
        (WebCore::getQuarantinedScriptObject):
        * bindings/v8/ScriptArray.cpp:
        (WebCore::ScriptArray::ScriptArray):
        (WebCore::ScriptArray::set):
        (WebCore::ScriptArray::length):
        (WebCore::ScriptArray::createNew):
        * bindings/v8/ScriptArray.h:
        * bindings/v8/ScriptFunctionCall.cpp:
        (WebCore::ScriptFunctionCall::construct):
        * bindings/v8/ScriptObject.cpp:
        (WebCore::ScriptObject::ScriptObject):
        (WebCore::ScriptObject::set):
        (WebCore::ScriptObject::createNew):
        (WebCore::ScriptGlobalObject::get):
        * bindings/v8/ScriptObject.h:
        (WebCore::ScriptObject::ScriptObject):
        * bindings/v8/ScriptObjectQuarantine.cpp:
        (WebCore::getQuarantinedScriptObject):
        * inspector/ConsoleMessage.cpp:
        (WebCore::ConsoleMessage::addToConsole):
        * inspector/InspectorDOMStorageResource.cpp:
        (WebCore::InspectorDOMStorageResource::bind):
        * inspector/InspectorDatabaseResource.cpp:
        (WebCore::InspectorDatabaseResource::bind):
        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::newScriptArray):
        (WebCore::InspectorFrontend::newScriptObject):
        (WebCore::InspectorFrontend::addMessageToConsole):
        (WebCore::InspectorFrontend::addResource):
        (WebCore::InspectorFrontend::updateResource):
        (WebCore::InspectorFrontend::addDatabase):
        (WebCore::InspectorFrontend::addDOMStorage):
        * inspector/InspectorFrontend.h:
        * inspector/InspectorJSONObject.cpp: Removed.
        * inspector/InspectorJSONObject.h: Removed.
        * inspector/InspectorResource.cpp:
        (WebCore::populateHeadersObject):
        (WebCore::InspectorResource::createScriptObject):
        (WebCore::InspectorResource::updateScriptObject):</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkWebCoreChangeLog">trunk/WebCore/ChangeLog</a></li>
<li><a href="#trunkWebCoreGNUmakefileam">trunk/WebCore/GNUmakefile.am</a></li>
<li><a href="#trunkWebCoreWebCoregypi">trunk/WebCore/WebCore.gypi</a></li>
<li><a href="#trunkWebCoreWebCorepro">trunk/WebCore/WebCore.pro</a></li>
<li><a href="#trunkWebCoreWebCorevcprojWebCorevcproj">trunk/WebCore/WebCore.vcproj/WebCore.vcproj</a></li>
<li><a href="#trunkWebCoreWebCorexcodeprojprojectpbxproj">trunk/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkWebCoreWebCoreSourcesbkl">trunk/WebCore/WebCoreSources.bkl</a></li>
<li><a href="#trunkWebCorebindingsjsScriptArraycpp">trunk/WebCore/bindings/js/ScriptArray.cpp</a></li>
<li><a href="#trunkWebCorebindingsjsScriptArrayh">trunk/WebCore/bindings/js/ScriptArray.h</a></li>
<li><a href="#trunkWebCorebindingsjsScriptFunctionCallcpp">trunk/WebCore/bindings/js/ScriptFunctionCall.cpp</a></li>
<li><a href="#trunkWebCorebindingsjsScriptObjectcpp">trunk/WebCore/bindings/js/ScriptObject.cpp</a></li>
<li><a href="#trunkWebCorebindingsjsScriptObjecth">trunk/WebCore/bindings/js/ScriptObject.h</a></li>
<li><a href="#trunkWebCorebindingsjsScriptObjectQuarantinecpp">trunk/WebCore/bindings/js/ScriptObjectQuarantine.cpp</a></li>
<li><a href="#trunkWebCorebindingsv8ScriptArraycpp">trunk/WebCore/bindings/v8/ScriptArray.cpp</a></li>
<li><a href="#trunkWebCorebindingsv8ScriptArrayh">trunk/WebCore/bindings/v8/ScriptArray.h</a></li>
<li><a href="#trunkWebCorebindingsv8ScriptFunctionCallcpp">trunk/WebCore/bindings/v8/ScriptFunctionCall.cpp</a></li>
<li><a href="#trunkWebCorebindingsv8ScriptObjectcpp">trunk/WebCore/bindings/v8/ScriptObject.cpp</a></li>
<li><a href="#trunkWebCorebindingsv8ScriptObjecth">trunk/WebCore/bindings/v8/ScriptObject.h</a></li>
<li><a href="#trunkWebCorebindingsv8ScriptObjectQuarantinecpp">trunk/WebCore/bindings/v8/ScriptObjectQuarantine.cpp</a></li>
<li><a href="#trunkWebCoreinspectorConsoleMessagecpp">trunk/WebCore/inspector/ConsoleMessage.cpp</a></li>
<li><a href="#trunkWebCoreinspectorInspectorDOMStorageResourcecpp">trunk/WebCore/inspector/InspectorDOMStorageResource.cpp</a></li>
<li><a href="#trunkWebCoreinspectorInspectorDatabaseResourcecpp">trunk/WebCore/inspector/InspectorDatabaseResource.cpp</a></li>
<li><a href="#trunkWebCoreinspectorInspectorFrontendcpp">trunk/WebCore/inspector/InspectorFrontend.cpp</a></li>
<li><a href="#trunkWebCoreinspectorInspectorFrontendh">trunk/WebCore/inspector/InspectorFrontend.h</a></li>
<li><a href="#trunkWebCoreinspectorInspectorResourcecpp">trunk/WebCore/inspector/InspectorResource.cpp</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkWebCoreinspectorInspectorJSONObjectcpp">trunk/WebCore/inspector/InspectorJSONObject.cpp</a></li>
<li><a href="#trunkWebCoreinspectorInspectorJSONObjecth">trunk/WebCore/inspector/InspectorJSONObject.h</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/ChangeLog (46489 => 46490)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/ChangeLog        2009-07-28 15:41:59 UTC (rev 46489)
+++ trunk/WebCore/ChangeLog        2009-07-28 16:04:34 UTC (rev 46490)
</span><span class="lines">@@ -1,3 +1,73 @@
</span><ins>+2009-07-28  Pavel Feldman  &lt;pfeldman@chromium.org&gt;
+
+        Reviewed by Dmitry Glazkov.
+
+        Web Inspector: encapsulate ScriptState into the ScriptObject, get rid of
+        InspectorJSONObject.
+
+        https://bugs.webkit.org/show_bug.cgi?id=27766
+
+        * GNUmakefile.am:
+        * WebCore.gypi:
+        * WebCore.pro:
+        * WebCore.vcproj/WebCore.vcproj:
+        * WebCore.xcodeproj/project.pbxproj:
+        * WebCoreSources.bkl:
+        * bindings/js/ScriptArray.cpp:
+        (WebCore::ScriptArray::ScriptArray):
+        (WebCore::ScriptArray::set):
+        (WebCore::ScriptArray::length):
+        (WebCore::ScriptArray::createNew):
+        * bindings/js/ScriptArray.h:
+        * bindings/js/ScriptFunctionCall.cpp:
+        (WebCore::ScriptFunctionCall::construct):
+        * bindings/js/ScriptObject.cpp:
+        (WebCore::ScriptObject::ScriptObject):
+        (WebCore::ScriptObject::set):
+        (WebCore::ScriptObject::createNew):
+        (WebCore::ScriptGlobalObject::get):
+        * bindings/js/ScriptObject.h:
+        * bindings/js/ScriptObjectQuarantine.cpp:
+        (WebCore::getQuarantinedScriptObject):
+        * bindings/v8/ScriptArray.cpp:
+        (WebCore::ScriptArray::ScriptArray):
+        (WebCore::ScriptArray::set):
+        (WebCore::ScriptArray::length):
+        (WebCore::ScriptArray::createNew):
+        * bindings/v8/ScriptArray.h:
+        * bindings/v8/ScriptFunctionCall.cpp:
+        (WebCore::ScriptFunctionCall::construct):
+        * bindings/v8/ScriptObject.cpp:
+        (WebCore::ScriptObject::ScriptObject):
+        (WebCore::ScriptObject::set):
+        (WebCore::ScriptObject::createNew):
+        (WebCore::ScriptGlobalObject::get):
+        * bindings/v8/ScriptObject.h:
+        (WebCore::ScriptObject::ScriptObject):
+        * bindings/v8/ScriptObjectQuarantine.cpp:
+        (WebCore::getQuarantinedScriptObject):
+        * inspector/ConsoleMessage.cpp:
+        (WebCore::ConsoleMessage::addToConsole):
+        * inspector/InspectorDOMStorageResource.cpp:
+        (WebCore::InspectorDOMStorageResource::bind):
+        * inspector/InspectorDatabaseResource.cpp:
+        (WebCore::InspectorDatabaseResource::bind):
+        * inspector/InspectorFrontend.cpp:
+        (WebCore::InspectorFrontend::newScriptArray):
+        (WebCore::InspectorFrontend::newScriptObject):
+        (WebCore::InspectorFrontend::addMessageToConsole):
+        (WebCore::InspectorFrontend::addResource):
+        (WebCore::InspectorFrontend::updateResource):
+        (WebCore::InspectorFrontend::addDatabase):
+        (WebCore::InspectorFrontend::addDOMStorage):
+        * inspector/InspectorFrontend.h:
+        * inspector/InspectorJSONObject.cpp: Removed.
+        * inspector/InspectorJSONObject.h: Removed.
+        * inspector/InspectorResource.cpp:
+        (WebCore::populateHeadersObject):
+        (WebCore::InspectorResource::createScriptObject):
+        (WebCore::InspectorResource::updateScriptObject):
+
</ins><span class="cx"> 2009-07-28  Nikolas Zimmermann  &lt;nikolas.zimmermann@torchmobile.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Reviewed by George Staikos.
</span></span></pre></div>
<a id="trunkWebCoreGNUmakefileam"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/GNUmakefile.am (46489 => 46490)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/GNUmakefile.am        2009-07-28 15:41:59 UTC (rev 46489)
+++ trunk/WebCore/GNUmakefile.am        2009-07-28 16:04:34 UTC (rev 46490)
</span><span class="lines">@@ -1143,8 +1143,6 @@
</span><span class="cx">         WebCore/inspector/JavaScriptProfile.h \
</span><span class="cx">         WebCore/inspector/JavaScriptProfileNode.cpp \
</span><span class="cx">         WebCore/inspector/JavaScriptProfileNode.h \
</span><del>-        WebCore/inspector/InspectorJSONObject.cpp \
-        WebCore/inspector/InspectorJSONObject.h \
</del><span class="cx">         WebCore/loader/Cache.cpp \
</span><span class="cx">         WebCore/loader/Cache.h \
</span><span class="cx">         WebCore/loader/CachePolicy.h \
</span></span></pre></div>
<a id="trunkWebCoreWebCoregypi"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/WebCore.gypi (46489 => 46490)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/WebCore.gypi        2009-07-28 15:41:59 UTC (rev 46489)
+++ trunk/WebCore/WebCore.gypi        2009-07-28 16:04:34 UTC (rev 46490)
</span><span class="lines">@@ -1409,8 +1409,6 @@
</span><span class="cx">             'inspector/InspectorDOMStorageResource.h',
</span><span class="cx">             'inspector/InspectorFrontend.cpp',
</span><span class="cx">             'inspector/InspectorFrontend.h',
</span><del>-            'inspector/InspectorJSONObject.cpp',
-            'inspector/InspectorJSONObject.h',
</del><span class="cx">             'inspector/InspectorResource.cpp',
</span><span class="cx">             'inspector/InspectorResource.h',
</span><span class="cx">             'inspector/JavaScriptCallFrame.cpp',
</span></span></pre></div>
<a id="trunkWebCoreWebCorepro"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/WebCore.pro (46489 => 46490)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/WebCore.pro        2009-07-28 15:41:59 UTC (rev 46489)
+++ trunk/WebCore/WebCore.pro        2009-07-28 16:04:34 UTC (rev 46490)
</span><span class="lines">@@ -852,7 +852,6 @@
</span><span class="cx">     inspector/InspectorController.cpp \
</span><span class="cx">     inspector/InspectorFrontend.cpp \
</span><span class="cx">     inspector/InspectorResource.cpp \
</span><del>-    inspector/InspectorJSONObject.cpp \
</del><span class="cx">     loader/archive/ArchiveFactory.cpp \
</span><span class="cx">     loader/archive/ArchiveResource.cpp \
</span><span class="cx">     loader/archive/ArchiveResourceCollection.cpp \
</span><span class="lines">@@ -1508,7 +1507,6 @@
</span><span class="cx">     inspector/InspectorDatabaseResource.h \
</span><span class="cx">     inspector/InspectorDOMStorageResource.h \
</span><span class="cx">     inspector/InspectorFrontend.h \
</span><del>-    inspector/InspectorJSONObject.h \
</del><span class="cx">     inspector/InspectorResource.h \
</span><span class="cx">     inspector/JavaScriptCallFrame.h \
</span><span class="cx">     inspector/JavaScriptDebugServer.h \
</span></span></pre></div>
<a id="trunkWebCoreWebCorevcprojWebCorevcproj"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/WebCore.vcproj/WebCore.vcproj (46489 => 46490)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/WebCore.vcproj/WebCore.vcproj        2009-07-28 15:41:59 UTC (rev 46489)
+++ trunk/WebCore/WebCore.vcproj/WebCore.vcproj        2009-07-28 16:04:34 UTC (rev 46490)
</span><span class="lines">@@ -30684,14 +30684,6 @@
</span><span class="cx">                                 &gt;
</span><span class="cx">                         &lt;/File&gt;
</span><span class="cx">                         &lt;File
</span><del>-                                RelativePath=&quot;..\inspector\InspectorJSONObject.cpp&quot;
-                                &gt;
-                        &lt;/File&gt;
-                        &lt;File
-                                RelativePath=&quot;..\inspector\InspectorJSONObject.h&quot;
-                                &gt;
-                        &lt;/File&gt;
-                        &lt;File
</del><span class="cx">                                 RelativePath=&quot;..\inspector\InspectorResource.cpp&quot;
</span><span class="cx">                                 &gt;
</span><span class="cx">                         &lt;/File&gt;
</span></span></pre></div>
<a id="trunkWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/WebCore.xcodeproj/project.pbxproj (46489 => 46490)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/WebCore.xcodeproj/project.pbxproj        2009-07-28 15:41:59 UTC (rev 46489)
+++ trunk/WebCore/WebCore.xcodeproj/project.pbxproj        2009-07-28 16:04:34 UTC (rev 46490)
</span><span class="lines">@@ -1028,8 +1028,6 @@
</span><span class="cx">                 7A74ECBA101839A600BF939E /* InspectorBackend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7A74ECB8101839A500BF939E /* InspectorBackend.cpp */; };
</span><span class="cx">                 7A74ECBB101839A600BF939E /* InspectorBackend.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A74ECB9101839A600BF939E /* InspectorBackend.h */; };
</span><span class="cx">                 7A74ECBD101839DA00BF939E /* JSInspectorBackendCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7A74ECBC101839DA00BF939E /* JSInspectorBackendCustom.cpp */; };
</span><del>-                7AB6F8870FB9D27100805D02 /* InspectorJSONObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7AB6F8850FB9D27100805D02 /* InspectorJSONObject.cpp */; };
-                7AB6F8880FB9D27100805D02 /* InspectorJSONObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 7AB6F8860FB9D27100805D02 /* InspectorJSONObject.h */; };
</del><span class="cx">                 7AED3E050FBB1EAA00D2B03C /* InspectorFrontend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7AED3E030FBB1EAA00D2B03C /* InspectorFrontend.cpp */; };
</span><span class="cx">                 7AED3E060FBB1EAA00D2B03C /* InspectorFrontend.h in Headers */ = {isa = PBXBuildFile; fileRef = 7AED3E040FBB1EAA00D2B03C /* InspectorFrontend.h */; };
</span><span class="cx">                 845E72F80FD261EE00A87D79 /* Filter.h in Headers */ = {isa = PBXBuildFile; fileRef = 845E72F70FD261EE00A87D79 /* Filter.h */; };
</span><span class="lines">@@ -6054,8 +6052,6 @@
</span><span class="cx">                 7A74ECB8101839A500BF939E /* InspectorBackend.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorBackend.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 7A74ECB9101839A600BF939E /* InspectorBackend.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorBackend.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 7A74ECBC101839DA00BF939E /* JSInspectorBackendCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSInspectorBackendCustom.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                7AB6F8850FB9D27100805D02 /* InspectorJSONObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorJSONObject.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
-                7AB6F8860FB9D27100805D02 /* InspectorJSONObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorJSONObject.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 7AED3E030FBB1EAA00D2B03C /* InspectorFrontend.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorFrontend.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 7AED3E040FBB1EAA00D2B03C /* InspectorFrontend.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorFrontend.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 845E72F70FD261EE00A87D79 /* Filter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Filter.h; path = filters/Filter.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -9847,8 +9843,6 @@
</span><span class="cx">                                 41F061720F5F00AC00A07EAC /* InspectorDOMStorageResource.h */,
</span><span class="cx">                                 7AED3E030FBB1EAA00D2B03C /* InspectorFrontend.cpp */,
</span><span class="cx">                                 7AED3E040FBB1EAA00D2B03C /* InspectorFrontend.h */,
</span><del>-                                7AB6F8850FB9D27100805D02 /* InspectorJSONObject.cpp */,
-                                7AB6F8860FB9D27100805D02 /* InspectorJSONObject.h */,
</del><span class="cx">                                 41F062000F5F0B6600A07EAC /* InspectorResource.cpp */,
</span><span class="cx">                                 41F061FF0F5F0B6600A07EAC /* InspectorResource.h */,
</span><span class="cx">                                 1C81BA030E97348300266E07 /* JavaScriptCallFrame.cpp */,
</span><span class="lines">@@ -15958,7 +15952,6 @@
</span><span class="cx">                                 41F062140F5F192600A07EAC /* InspectorDatabaseResource.h in Headers */,
</span><span class="cx">                                 41F061740F5F00AC00A07EAC /* InspectorDOMStorageResource.h in Headers */,
</span><span class="cx">                                 7AED3E060FBB1EAA00D2B03C /* InspectorFrontend.h in Headers */,
</span><del>-                                7AB6F8880FB9D27100805D02 /* InspectorJSONObject.h in Headers */,
</del><span class="cx">                                 41F062010F5F0B6600A07EAC /* InspectorResource.h in Headers */,
</span><span class="cx">                                 B27535720B053814002CE64F /* IntPoint.h in Headers */,
</span><span class="cx">                                 B27535740B053814002CE64F /* IntRect.h in Headers */,
</span><span class="lines">@@ -18002,7 +17995,6 @@
</span><span class="cx">                                 41F062150F5F192600A07EAC /* InspectorDatabaseResource.cpp in Sources */,
</span><span class="cx">                                 41F061750F5F00AC00A07EAC /* InspectorDOMStorageResource.cpp in Sources */,
</span><span class="cx">                                 7AED3E050FBB1EAA00D2B03C /* InspectorFrontend.cpp in Sources */,
</span><del>-                                7AB6F8870FB9D27100805D02 /* InspectorJSONObject.cpp in Sources */,
</del><span class="cx">                                 41F062020F5F0B6600A07EAC /* InspectorResource.cpp in Sources */,
</span><span class="cx">                                 B27535600B053814002CE64F /* IntPointCG.cpp in Sources */,
</span><span class="cx">                                 B275357C0B053814002CE64F /* IntPointMac.mm in Sources */,
</span></span></pre></div>
<a id="trunkWebCoreWebCoreSourcesbkl"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/WebCoreSources.bkl (46489 => 46490)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/WebCoreSources.bkl        2009-07-28 15:41:59 UTC (rev 46489)
+++ trunk/WebCore/WebCoreSources.bkl        2009-07-28 16:04:34 UTC (rev 46490)
</span><span class="lines">@@ -671,7 +671,6 @@
</span><span class="cx">         inspector/JavaScriptDebugServer.cpp
</span><span class="cx">         inspector/JavaScriptProfile.cpp
</span><span class="cx">         inspector/JavaScriptProfileNode.cpp
</span><del>-        inspector/InspectorJSONObject.cpp
</del><span class="cx">     &lt;/set&gt;
</span><span class="cx"> 
</span><span class="cx">     &lt;set append=&quot;1&quot; var=&quot;WEBCORE_SOURCES_LOADER&quot;&gt;
</span></span></pre></div>
<a id="trunkWebCorebindingsjsScriptArraycpp"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/bindings/js/ScriptArray.cpp (46489 => 46490)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/bindings/js/ScriptArray.cpp        2009-07-28 15:41:59 UTC (rev 46489)
+++ trunk/WebCore/bindings/js/ScriptArray.cpp        2009-07-28 16:04:34 UTC (rev 46490)
</span><span class="lines">@@ -37,8 +37,8 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-ScriptArray::ScriptArray(JSArray* object)
-    : ScriptObject(object)
</del><ins>+ScriptArray::ScriptArray(ScriptState* scriptState, JSArray* object)
+    : ScriptObject(scriptState, object)
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -51,57 +51,58 @@
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool ScriptArray::set(ScriptState* scriptState, unsigned index, const ScriptObject&amp; value)
</del><ins>+bool ScriptArray::set(unsigned index, const ScriptObject&amp; value)
</ins><span class="cx"> {
</span><span class="cx">     JSLock lock(SilenceAssertionsOnly);
</span><del>-    jsArray()-&gt;put(scriptState, index, value.jsObject());
-    return handleException(scriptState);
</del><ins>+    jsArray()-&gt;put(m_scriptState, index, value.jsObject());
+    return handleException(m_scriptState);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool ScriptArray::set(ScriptState* scriptState, unsigned index, const String&amp; value)
</del><ins>+bool ScriptArray::set(unsigned index, const String&amp; value)
</ins><span class="cx"> {
</span><span class="cx">     JSLock lock(SilenceAssertionsOnly);
</span><del>-    jsArray()-&gt;put(scriptState, index, jsString(scriptState, value));
-    return handleException(scriptState);
</del><ins>+    jsArray()-&gt;put(m_scriptState, index, jsString(m_scriptState, value));
+    return handleException(m_scriptState);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool ScriptArray::set(ScriptState* scriptState, unsigned index, double value)
</del><ins>+bool ScriptArray::set(unsigned index, double value)
</ins><span class="cx"> {
</span><span class="cx">     JSLock lock(SilenceAssertionsOnly);
</span><del>-    jsArray()-&gt;put(scriptState, index, jsNumber(scriptState, value));
-    return handleException(scriptState);
</del><ins>+    jsArray()-&gt;put(m_scriptState, index, jsNumber(m_scriptState, value));
+    return handleException(m_scriptState);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool ScriptArray::set(ScriptState* scriptState, unsigned index, long long value)
</del><ins>+bool ScriptArray::set(unsigned index, long long value)
</ins><span class="cx"> {
</span><span class="cx">     JSLock lock(SilenceAssertionsOnly);
</span><del>-    jsArray()-&gt;put(scriptState, index, jsNumber(scriptState, value));
-    return handleException(scriptState);
</del><ins>+    jsArray()-&gt;put(m_scriptState, index, jsNumber(m_scriptState, value));
+    return handleException(m_scriptState);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool ScriptArray::set(ScriptState* scriptState, unsigned index, int value)
</del><ins>+bool ScriptArray::set(unsigned index, int value)
</ins><span class="cx"> {
</span><span class="cx">     JSLock lock(SilenceAssertionsOnly);
</span><del>-    jsArray()-&gt;put(scriptState, index, jsNumber(scriptState, value));
-    return handleException(scriptState);
</del><ins>+    jsArray()-&gt;put(m_scriptState, index, jsNumber(m_scriptState, value));
+    return handleException(m_scriptState);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool ScriptArray::set(ScriptState* scriptState, unsigned index, bool value)
</del><ins>+bool ScriptArray::set(unsigned index, bool value)
</ins><span class="cx"> {
</span><span class="cx">     JSLock lock(SilenceAssertionsOnly);
</span><del>-    jsArray()-&gt;put(scriptState, index, jsBoolean(value));
-    return handleException(scriptState);
</del><ins>+    jsArray()-&gt;put(m_scriptState, index, jsBoolean(value));
+    return handleException(m_scriptState);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-unsigned ScriptArray::length(ScriptState*)
</del><ins>+unsigned ScriptArray::length()
</ins><span class="cx"> {
</span><ins>+    JSLock lock(SilenceAssertionsOnly);
</ins><span class="cx">     return jsArray()-&gt;length();
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> ScriptArray ScriptArray::createNew(ScriptState* scriptState)
</span><span class="cx"> {
</span><span class="cx">     JSLock lock(SilenceAssertionsOnly);
</span><del>-    return ScriptArray(constructEmptyArray(scriptState));
</del><ins>+    return ScriptArray(scriptState, constructEmptyArray(scriptState));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkWebCorebindingsjsScriptArrayh"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/bindings/js/ScriptArray.h (46489 => 46490)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/bindings/js/ScriptArray.h        2009-07-28 15:41:59 UTC (rev 46489)
+++ trunk/WebCore/bindings/js/ScriptArray.h        2009-07-28 16:04:34 UTC (rev 46490)
</span><span class="lines">@@ -40,17 +40,17 @@
</span><span class="cx"> 
</span><span class="cx">     class ScriptArray : public ScriptObject {
</span><span class="cx">     public:
</span><del>-        ScriptArray(JSC::JSArray*);
</del><ins>+        ScriptArray(ScriptState*, JSC::JSArray*);
</ins><span class="cx">         ScriptArray() {}
</span><span class="cx">         JSC::JSArray* jsArray() const { return asArray(jsValue()); }
</span><span class="cx"> 
</span><del>-        bool set(ScriptState*, unsigned index, const ScriptObject&amp;);
-        bool set(ScriptState*, unsigned index, const String&amp;);
-        bool set(ScriptState*, unsigned index, double);
-        bool set(ScriptState*, unsigned index, long long);
-        bool set(ScriptState*, unsigned index, int);
-        bool set(ScriptState*, unsigned index, bool);
-        unsigned length(ScriptState*);
</del><ins>+        bool set(unsigned index, const ScriptObject&amp;);
+        bool set(unsigned index, const String&amp;);
+        bool set(unsigned index, double);
+        bool set(unsigned index, long long);
+        bool set(unsigned index, int);
+        bool set(unsigned index, bool);
+        unsigned length();
</ins><span class="cx"> 
</span><span class="cx">         static ScriptArray createNew(ScriptState*);
</span><span class="cx">     };
</span></span></pre></div>
<a id="trunkWebCorebindingsjsScriptFunctionCallcpp"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/bindings/js/ScriptFunctionCall.cpp (46489 => 46490)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/bindings/js/ScriptFunctionCall.cpp        2009-07-28 15:41:59 UTC (rev 46489)
+++ trunk/WebCore/bindings/js/ScriptFunctionCall.cpp        2009-07-28 16:04:34 UTC (rev 46490)
</span><span class="lines">@@ -170,7 +170,7 @@
</span><span class="cx">         return ScriptObject();
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    return ScriptObject(asObject(result));
</del><ins>+    return ScriptObject(m_exec, asObject(result));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkWebCorebindingsjsScriptObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/bindings/js/ScriptObject.cpp (46489 => 46490)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/bindings/js/ScriptObject.cpp        2009-07-28 15:41:59 UTC (rev 46489)
+++ trunk/WebCore/bindings/js/ScriptObject.cpp        2009-07-28 16:04:34 UTC (rev 46490)
</span><span class="lines">@@ -40,8 +40,9 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-ScriptObject::ScriptObject(JSObject* object)
</del><ins>+ScriptObject::ScriptObject(ScriptState* scriptState, JSObject* object)
</ins><span class="cx">     : ScriptValue(object)
</span><ins>+    , m_scriptState(scriptState)
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -54,66 +55,66 @@
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool ScriptObject::set(ScriptState* scriptState, const String&amp; name, const String&amp; value)
</del><ins>+bool ScriptObject::set(const String&amp; name, const String&amp; value)
</ins><span class="cx"> {
</span><span class="cx">     JSLock lock(SilenceAssertionsOnly);
</span><span class="cx">     PutPropertySlot slot;
</span><del>-    jsObject()-&gt;put(scriptState, Identifier(scriptState, name), jsString(scriptState, value), slot);
-    return handleException(scriptState);
</del><ins>+    jsObject()-&gt;put(m_scriptState, Identifier(m_scriptState, name), jsString(m_scriptState, value), slot);
+    return handleException(m_scriptState);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool ScriptObject::set(ScriptState* scriptState, const char* name, const ScriptObject&amp; value)
</del><ins>+bool ScriptObject::set(const char* name, const ScriptObject&amp; value)
</ins><span class="cx"> {
</span><span class="cx">     JSLock lock(SilenceAssertionsOnly);
</span><span class="cx">     PutPropertySlot slot;
</span><del>-    jsObject()-&gt;put(scriptState, Identifier(scriptState, name), value.jsObject(), slot);
-    return handleException(scriptState);
</del><ins>+    jsObject()-&gt;put(m_scriptState, Identifier(m_scriptState, name), value.jsObject(), slot);
+    return handleException(m_scriptState);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool ScriptObject::set(ScriptState* scriptState, const char* name, const String&amp; value)
</del><ins>+bool ScriptObject::set(const char* name, const String&amp; value)
</ins><span class="cx"> {
</span><span class="cx">     JSLock lock(SilenceAssertionsOnly);
</span><span class="cx">     PutPropertySlot slot;
</span><del>-    jsObject()-&gt;put(scriptState, Identifier(scriptState, name), jsString(scriptState, value), slot);
-    return handleException(scriptState);
</del><ins>+    jsObject()-&gt;put(m_scriptState, Identifier(m_scriptState, name), jsString(m_scriptState, value), slot);
+    return handleException(m_scriptState);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool ScriptObject::set(ScriptState* scriptState, const char* name, double value)
</del><ins>+bool ScriptObject::set(const char* name, double value)
</ins><span class="cx"> {
</span><span class="cx">     JSLock lock(SilenceAssertionsOnly);
</span><span class="cx">     PutPropertySlot slot;
</span><del>-    jsObject()-&gt;put(scriptState, Identifier(scriptState, name), jsNumber(scriptState, value), slot);
-    return handleException(scriptState);
</del><ins>+    jsObject()-&gt;put(m_scriptState, Identifier(m_scriptState, name), jsNumber(m_scriptState, value), slot);
+    return handleException(m_scriptState);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool ScriptObject::set(ScriptState* scriptState, const char* name, long long value)
</del><ins>+bool ScriptObject::set(const char* name, long long value)
</ins><span class="cx"> {
</span><span class="cx">     JSLock lock(SilenceAssertionsOnly);
</span><span class="cx">     PutPropertySlot slot;
</span><del>-    jsObject()-&gt;put(scriptState, Identifier(scriptState, name), jsNumber(scriptState, value), slot);
-    return handleException(scriptState);
</del><ins>+    jsObject()-&gt;put(m_scriptState, Identifier(m_scriptState, name), jsNumber(m_scriptState, value), slot);
+    return handleException(m_scriptState);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool ScriptObject::set(ScriptState* scriptState, const char* name, int value)
</del><ins>+bool ScriptObject::set(const char* name, int value)
</ins><span class="cx"> {
</span><span class="cx">     JSLock lock(SilenceAssertionsOnly);
</span><span class="cx">     PutPropertySlot slot;
</span><del>-    jsObject()-&gt;put(scriptState, Identifier(scriptState, name), jsNumber(scriptState, value), slot);
-    return handleException(scriptState);
</del><ins>+    jsObject()-&gt;put(m_scriptState, Identifier(m_scriptState, name), jsNumber(m_scriptState, value), slot);
+    return handleException(m_scriptState);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool ScriptObject::set(ScriptState* scriptState, const char* name, bool value)
</del><ins>+bool ScriptObject::set(const char* name, bool value)
</ins><span class="cx"> {
</span><span class="cx">     JSLock lock(SilenceAssertionsOnly);
</span><span class="cx">     PutPropertySlot slot;
</span><del>-    jsObject()-&gt;put(scriptState, Identifier(scriptState, name), jsBoolean(value), slot);
-    return handleException(scriptState);
</del><ins>+    jsObject()-&gt;put(m_scriptState, Identifier(m_scriptState, name), jsBoolean(value), slot);
+    return handleException(m_scriptState);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> ScriptObject ScriptObject::createNew(ScriptState* scriptState)
</span><span class="cx"> {
</span><span class="cx">     JSLock lock(SilenceAssertionsOnly);
</span><del>-    return ScriptObject(constructEmptyObject(scriptState));
</del><ins>+    return ScriptObject(scriptState, constructEmptyObject(scriptState));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool ScriptGlobalObject::set(ScriptState* scriptState, const char* name, const ScriptObject&amp; value)
</span><span class="lines">@@ -141,7 +142,7 @@
</span><span class="cx">     if (!jsValue.isObject())
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><del>-    value = ScriptObject(asObject(jsValue));
</del><ins>+    value = ScriptObject(scriptState, asObject(jsValue));
</ins><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkWebCorebindingsjsScriptObjecth"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/bindings/js/ScriptObject.h (46489 => 46490)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/bindings/js/ScriptObject.h        2009-07-28 15:41:59 UTC (rev 46489)
+++ trunk/WebCore/bindings/js/ScriptObject.h        2009-07-28 16:04:34 UTC (rev 46490)
</span><span class="lines">@@ -42,19 +42,22 @@
</span><span class="cx"> 
</span><span class="cx">     class ScriptObject : public ScriptValue {
</span><span class="cx">     public:
</span><del>-        ScriptObject(JSC::JSObject*);
</del><ins>+        ScriptObject(ScriptState*, JSC::JSObject*);
</ins><span class="cx">         ScriptObject() {}
</span><span class="cx">         JSC::JSObject* jsObject() const { return asObject(jsValue()); }
</span><span class="cx"> 
</span><del>-        bool set(ScriptState*, const String&amp; name, const String&amp;);
-        bool set(ScriptState*, const char* name, const ScriptObject&amp;);
-        bool set(ScriptState*, const char* name, const String&amp;);
-        bool set(ScriptState*, const char* name, double);
-        bool set(ScriptState*, const char* name, long long);
-        bool set(ScriptState*, const char* name, int);
-        bool set(ScriptState*, const char* name, bool);
</del><ins>+        bool set(const String&amp; name, const String&amp;);
+        bool set(const char* name, const ScriptObject&amp;);
+        bool set(const char* name, const String&amp;);
+        bool set(const char* name, double);
+        bool set(const char* name, long long);
+        bool set(const char* name, int);
+        bool set(const char* name, bool);
</ins><span class="cx"> 
</span><span class="cx">         static ScriptObject createNew(ScriptState*);
</span><ins>+    
+    protected:
+        ScriptState* m_scriptState;
</ins><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     class ScriptGlobalObject {
</span></span></pre></div>
<a id="trunkWebCorebindingsjsScriptObjectQuarantinecpp"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/bindings/js/ScriptObjectQuarantine.cpp (46489 => 46490)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/bindings/js/ScriptObjectQuarantine.cpp        2009-07-28 15:41:59 UTC (rev 46489)
+++ trunk/WebCore/bindings/js/ScriptObjectQuarantine.cpp        2009-07-28 16:04:34 UTC (rev 46490)
</span><span class="lines">@@ -73,7 +73,7 @@
</span><span class="cx">     ExecState* exec = globalObject-&gt;globalExec();
</span><span class="cx"> 
</span><span class="cx">     JSLock lock(SilenceAssertionsOnly);
</span><del>-    quarantinedObject = ScriptObject(asObject(JSInspectedObjectWrapper::wrap(exec, toJS(exec, globalObject, database))));
</del><ins>+    quarantinedObject = ScriptObject(exec, asObject(JSInspectedObjectWrapper::wrap(exec, toJS(exec, globalObject, database))));
</ins><span class="cx"> 
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="lines">@@ -89,7 +89,7 @@
</span><span class="cx">     ExecState* exec = globalObject-&gt;globalExec();
</span><span class="cx"> 
</span><span class="cx">     JSLock lock(SilenceAssertionsOnly);
</span><del>-    quarantinedObject = ScriptObject(asObject(JSInspectedObjectWrapper::wrap(exec, toJS(exec, globalObject, storage))));
</del><ins>+    quarantinedObject = ScriptObject(exec, asObject(JSInspectedObjectWrapper::wrap(exec, toJS(exec, globalObject, storage))));
</ins><span class="cx"> 
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="lines">@@ -103,7 +103,7 @@
</span><span class="cx"> 
</span><span class="cx">     JSLock lock(SilenceAssertionsOnly);
</span><span class="cx">     // FIXME: Should use some sort of globalObjectFromNode()
</span><del>-    quarantinedObject = ScriptObject(asObject(JSInspectedObjectWrapper::wrap(exec, toJS(exec, deprecatedGlobalObjectForPrototype(exec), node))));
</del><ins>+    quarantinedObject = ScriptObject(exec, asObject(JSInspectedObjectWrapper::wrap(exec, toJS(exec, deprecatedGlobalObjectForPrototype(exec), node))));
</ins><span class="cx"> 
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="lines">@@ -116,7 +116,7 @@
</span><span class="cx">     ExecState* exec = window-&gt;globalExec();
</span><span class="cx"> 
</span><span class="cx">     JSLock lock(SilenceAssertionsOnly);
</span><del>-    quarantinedObject = ScriptObject(asObject(JSInspectedObjectWrapper::wrap(exec, window)));
</del><ins>+    quarantinedObject = ScriptObject(exec, asObject(JSInspectedObjectWrapper::wrap(exec, window)));
</ins><span class="cx"> 
</span><span class="cx">     return true;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkWebCorebindingsv8ScriptArraycpp"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/bindings/v8/ScriptArray.cpp (46489 => 46490)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/bindings/v8/ScriptArray.cpp        2009-07-28 15:41:59 UTC (rev 46489)
+++ trunk/WebCore/bindings/v8/ScriptArray.cpp        2009-07-28 16:04:34 UTC (rev 46490)
</span><span class="lines">@@ -43,63 +43,63 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-ScriptArray::ScriptArray(v8::Handle&lt;v8::Array&gt; v8Array)
-    : ScriptObject(v8Array)
</del><ins>+ScriptArray::ScriptArray(ScriptState* scriptState, v8::Handle&lt;v8::Array&gt; v8Array)
+    : ScriptObject(scriptState, v8Array)
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool ScriptArray::set(ScriptState* scriptState, unsigned index, const ScriptObject&amp; value)
</del><ins>+bool ScriptArray::set(unsigned index, const ScriptObject&amp; value)
</ins><span class="cx"> {
</span><del>-    ScriptScope scope(scriptState);
</del><ins>+    ScriptScope scope(m_scriptState);
</ins><span class="cx">     v8Object()-&gt;Set(v8::Integer::New(index), value.v8Value());
</span><span class="cx">     return scope.success();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool ScriptArray::set(ScriptState* scriptState, unsigned index, const String&amp; value)
</del><ins>+bool ScriptArray::set(unsigned index, const String&amp; value)
</ins><span class="cx"> {
</span><del>-    ScriptScope scope(scriptState);
</del><ins>+    ScriptScope scope(m_scriptState);
</ins><span class="cx">     v8Object()-&gt;Set(v8::Integer::New(index), v8String(value));
</span><span class="cx">     return scope.success();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool ScriptArray::set(ScriptState* scriptState, unsigned index, double value)
</del><ins>+bool ScriptArray::set(unsigned index, double value)
</ins><span class="cx"> {
</span><del>-    ScriptScope scope(scriptState);
</del><ins>+    ScriptScope scope(m_scriptState);
</ins><span class="cx">     v8Object()-&gt;Set(v8::Integer::New(index), v8::Number::New(value));
</span><span class="cx">     return scope.success();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool ScriptArray::set(ScriptState* scriptState, unsigned index, long long value)
</del><ins>+bool ScriptArray::set(unsigned index, long long value)
</ins><span class="cx"> {
</span><del>-    ScriptScope scope(scriptState);
</del><ins>+    ScriptScope scope(m_scriptState);
</ins><span class="cx">     v8Object()-&gt;Set(v8::Integer::New(index), v8::Number::New(value));
</span><span class="cx">     return scope.success();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool ScriptArray::set(ScriptState* scriptState, unsigned index, int value)
</del><ins>+bool ScriptArray::set(unsigned index, int value)
</ins><span class="cx"> {
</span><del>-    ScriptScope scope(scriptState);
</del><ins>+    ScriptScope scope(m_scriptState);
</ins><span class="cx">     v8Object()-&gt;Set(v8::Integer::New(index), v8::Number::New(value));
</span><span class="cx">     return scope.success();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool ScriptArray::set(ScriptState* scriptState, unsigned index, bool value)
</del><ins>+bool ScriptArray::set(unsigned index, bool value)
</ins><span class="cx"> {
</span><del>-    ScriptScope scope(scriptState);
</del><ins>+    ScriptScope scope(m_scriptState);
</ins><span class="cx">     v8Object()-&gt;Set(v8::Integer::New(index), v8Boolean(value));
</span><span class="cx">     return scope.success();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-unsigned ScriptArray::length(ScriptState* scriptState)
</del><ins>+unsigned ScriptArray::length()
</ins><span class="cx"> {
</span><del>-    ScriptScope scope(scriptState);
</del><ins>+    ScriptScope scope(m_scriptState);
</ins><span class="cx">     return v8::Array::Cast(*v8Value())-&gt;Length();
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> ScriptArray ScriptArray::createNew(ScriptState* scriptState)
</span><span class="cx"> {
</span><span class="cx">     ScriptScope scope(scriptState);
</span><del>-    return ScriptArray(v8::Array::New());
</del><ins>+    return ScriptArray(scriptState, v8::Array::New());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkWebCorebindingsv8ScriptArrayh"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/bindings/v8/ScriptArray.h (46489 => 46490)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/bindings/v8/ScriptArray.h        2009-07-28 15:41:59 UTC (rev 46489)
+++ trunk/WebCore/bindings/v8/ScriptArray.h        2009-07-28 16:04:34 UTC (rev 46490)
</span><span class="lines">@@ -40,17 +40,16 @@
</span><span class="cx"> 
</span><span class="cx">     class ScriptArray : public ScriptObject {
</span><span class="cx">     public:
</span><del>-        ScriptArray(v8::Handle&lt;v8::Array&gt;);
-        ScriptArray() {}
</del><ins>+        ScriptArray(ScriptState* scriptState, v8::Handle&lt;v8::Array&gt;);
</ins><span class="cx">         virtual ~ScriptArray() {}
</span><span class="cx"> 
</span><del>-        bool set(ScriptState*, unsigned index, const ScriptObject&amp;);
-        bool set(ScriptState*, unsigned index, const String&amp;);
-        bool set(ScriptState*, unsigned index, double);
-        bool set(ScriptState*, unsigned index, long long);
-        bool set(ScriptState*, unsigned index, int);
-        bool set(ScriptState*, unsigned index, bool);
-        unsigned length(ScriptState*);
</del><ins>+        bool set(unsigned index, const ScriptObject&amp;);
+        bool set(unsigned index, const String&amp;);
+        bool set(unsigned index, double);
+        bool set(unsigned index, long long);
+        bool set(unsigned index, int);
+        bool set(unsigned index, bool);
+        unsigned length();
</ins><span class="cx"> 
</span><span class="cx">         static ScriptArray createNew(ScriptState*);
</span><span class="cx">     };
</span></span></pre></div>
<a id="trunkWebCorebindingsv8ScriptFunctionCallcpp"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/bindings/v8/ScriptFunctionCall.cpp (46489 => 46490)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/bindings/v8/ScriptFunctionCall.cpp        2009-07-28 15:41:59 UTC (rev 46489)
+++ trunk/WebCore/bindings/v8/ScriptFunctionCall.cpp        2009-07-28 16:04:34 UTC (rev 46490)
</span><span class="lines">@@ -162,7 +162,7 @@
</span><span class="cx">         return ScriptObject();
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    return ScriptObject(result);
</del><ins>+    return ScriptObject(m_scriptState, result);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkWebCorebindingsv8ScriptObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/bindings/v8/ScriptObject.cpp (46489 => 46490)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/bindings/v8/ScriptObject.cpp        2009-07-28 15:41:59 UTC (rev 46489)
+++ trunk/WebCore/bindings/v8/ScriptObject.cpp        2009-07-28 16:04:34 UTC (rev 46490)
</span><span class="lines">@@ -43,8 +43,9 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-ScriptObject::ScriptObject(v8::Handle&lt;v8::Object&gt; v8Object)
</del><ins>+ScriptObject::ScriptObject(ScriptState* scriptState, v8::Handle&lt;v8::Object&gt; v8Object)
</ins><span class="cx">     : ScriptValue(v8Object)
</span><ins>+    , m_scriptState(scriptState)
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -54,51 +55,51 @@
</span><span class="cx">     return v8::Local&lt;v8::Object&gt;(v8::Object::Cast(*v8Value()));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool ScriptObject::set(ScriptState* scriptState, const String&amp; name, const String&amp; value)
</del><ins>+bool ScriptObject::set(const String&amp; name, const String&amp; value)
</ins><span class="cx"> {
</span><del>-    ScriptScope scope(scriptState);
</del><ins>+    ScriptScope scope(m_scriptState);
</ins><span class="cx">     v8Object()-&gt;Set(v8String(name), v8String(value));
</span><span class="cx">     return scope.success();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool ScriptObject::set(ScriptState* scriptState, const char* name, const ScriptObject&amp; value)
</del><ins>+bool ScriptObject::set(const char* name, const ScriptObject&amp; value)
</ins><span class="cx"> {
</span><del>-    ScriptScope scope(scriptState);
</del><ins>+    ScriptScope scope(m_scriptState);
</ins><span class="cx">     v8Object()-&gt;Set(v8::String::New(name), value.v8Value());
</span><span class="cx">     return scope.success();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool ScriptObject::set(ScriptState* scriptState, const char* name, const String&amp; value)
</del><ins>+bool ScriptObject::set(const char* name, const String&amp; value)
</ins><span class="cx"> {
</span><del>-    ScriptScope scope(scriptState);
</del><ins>+    ScriptScope scope(m_scriptState);
</ins><span class="cx">     v8Object()-&gt;Set(v8::String::New(name), v8String(value));
</span><span class="cx">     return scope.success();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool ScriptObject::set(ScriptState* scriptState, const char* name, double value)
</del><ins>+bool ScriptObject::set(const char* name, double value)
</ins><span class="cx"> {
</span><del>-    ScriptScope scope(scriptState);
</del><ins>+    ScriptScope scope(m_scriptState);
</ins><span class="cx">     v8Object()-&gt;Set(v8::String::New(name), v8::Number::New(value));
</span><span class="cx">     return scope.success();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool ScriptObject::set(ScriptState* scriptState, const char* name, long long value)
</del><ins>+bool ScriptObject::set(const char* name, long long value)
</ins><span class="cx"> {
</span><del>-    ScriptScope scope(scriptState);
</del><ins>+    ScriptScope scope(m_scriptState);
</ins><span class="cx">     v8Object()-&gt;Set(v8::String::New(name), v8::Number::New(value));
</span><span class="cx">     return scope.success();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool ScriptObject::set(ScriptState* scriptState, const char* name, int value)
</del><ins>+bool ScriptObject::set(const char* name, int value)
</ins><span class="cx"> {
</span><del>-    ScriptScope scope(scriptState);
</del><ins>+    ScriptScope scope(m_scriptState);
</ins><span class="cx">     v8Object()-&gt;Set(v8::String::New(name), v8::Number::New(value));
</span><span class="cx">     return scope.success();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool ScriptObject::set(ScriptState* scriptState, const char* name, bool value)
</del><ins>+bool ScriptObject::set(const char* name, bool value)
</ins><span class="cx"> {
</span><del>-    ScriptScope scope(scriptState);
</del><ins>+    ScriptScope scope(m_scriptState);
</ins><span class="cx">     v8Object()-&gt;Set(v8::String::New(name), v8Boolean(value));
</span><span class="cx">     return scope.success();
</span><span class="cx"> }
</span><span class="lines">@@ -106,7 +107,7 @@
</span><span class="cx"> ScriptObject ScriptObject::createNew(ScriptState* scriptState)
</span><span class="cx"> {
</span><span class="cx">     ScriptScope scope(scriptState);
</span><del>-    return ScriptObject(v8::Object::New());
</del><ins>+    return ScriptObject(scriptState, v8::Object::New());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool ScriptGlobalObject::set(ScriptState* scriptState, const char* name, const ScriptObject&amp; value)
</span><span class="lines">@@ -133,7 +134,7 @@
</span><span class="cx">     if (!v8Value-&gt;IsObject())
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><del>-    value = ScriptObject(v8::Handle&lt;v8::Object&gt;(v8::Object::Cast(*v8Value)));
</del><ins>+    value = ScriptObject(scriptState, v8::Handle&lt;v8::Object&gt;(v8::Object::Cast(*v8Value)));
</ins><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkWebCorebindingsv8ScriptObjecth"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/bindings/v8/ScriptObject.h (46489 => 46490)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/bindings/v8/ScriptObject.h        2009-07-28 15:41:59 UTC (rev 46489)
+++ trunk/WebCore/bindings/v8/ScriptObject.h        2009-07-28 16:04:34 UTC (rev 46490)
</span><span class="lines">@@ -41,21 +41,23 @@
</span><span class="cx"> 
</span><span class="cx">     class ScriptObject : public ScriptValue {
</span><span class="cx">     public:
</span><del>-        ScriptObject(v8::Handle&lt;v8::Object&gt;);
-        ScriptObject() {}
</del><ins>+        ScriptObject(ScriptState*, v8::Handle&lt;v8::Object&gt;);
+        ScriptObject() {};
</ins><span class="cx">         virtual ~ScriptObject() {}
</span><span class="cx"> 
</span><span class="cx">         v8::Local&lt;v8::Object&gt; v8Object() const;
</span><span class="cx"> 
</span><del>-        bool set(ScriptState*, const String&amp; name, const String&amp;);
-        bool set(ScriptState*, const char* name, const ScriptObject&amp;);
-        bool set(ScriptState*, const char* name, const String&amp;);
-        bool set(ScriptState*, const char* name, double);
-        bool set(ScriptState*, const char* name, long long);
-        bool set(ScriptState*, const char* name, int);
-        bool set(ScriptState*, const char* name, bool);
</del><ins>+        bool set(const String&amp; name, const String&amp;);
+        bool set(const char* name, const ScriptObject&amp;);
+        bool set(const char* name, const String&amp;);
+        bool set(const char* name, double);
+        bool set(const char* name, long long);
+        bool set(const char* name, int);
+        bool set(const char* name, bool);
</ins><span class="cx"> 
</span><span class="cx">         static ScriptObject createNew(ScriptState*);
</span><ins>+    protected:
+        ScriptState* m_scriptState;
</ins><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     class ScriptGlobalObject {
</span></span></pre></div>
<a id="trunkWebCorebindingsv8ScriptObjectQuarantinecpp"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/bindings/v8/ScriptObjectQuarantine.cpp (46489 => 46490)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/bindings/v8/ScriptObjectQuarantine.cpp        2009-07-28 15:41:59 UTC (rev 46489)
+++ trunk/WebCore/bindings/v8/ScriptObjectQuarantine.cpp        2009-07-28 16:04:34 UTC (rev 46490)
</span><span class="lines">@@ -72,7 +72,7 @@
</span><span class="cx">     v8::Context::Scope scope(context);
</span><span class="cx"> 
</span><span class="cx">     v8::Handle&lt;v8::Value&gt; v8Storage = V8DOMWrapper::convertToV8Object(V8ClassIndex::STORAGE, storage);
</span><del>-    quarantinedObject = ScriptObject(v8::Local&lt;v8::Object&gt;(v8::Object::Cast(*v8Storage)));
</del><ins>+    quarantinedObject = ScriptObject(frame-&gt;script()-&gt;state(), v8::Local&lt;v8::Object&gt;(v8::Object::Cast(*v8Storage)));
</ins><span class="cx"> #else
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     quarantinedObject = ScriptObject();
</span><span class="lines">@@ -85,11 +85,12 @@
</span><span class="cx">     ASSERT(node);
</span><span class="cx"> 
</span><span class="cx">     v8::HandleScope handleScope;
</span><del>-    v8::Local&lt;v8::Context&gt; context = V8Proxy::context(node-&gt;document()-&gt;page()-&gt;mainFrame());
</del><ins>+    Frame* frame = node-&gt;document()-&gt;page()-&gt;mainFrame();
+    v8::Local&lt;v8::Context&gt; context = V8Proxy::context(frame);
</ins><span class="cx">     v8::Context::Scope scope(context);
</span><span class="cx"> 
</span><span class="cx">     v8::Handle&lt;v8::Value&gt; v8Node = V8DOMWrapper::convertNodeToV8Object(node);
</span><del>-    quarantinedObject = ScriptObject(v8::Local&lt;v8::Object&gt;(v8::Object::Cast(*v8Node)));
</del><ins>+    quarantinedObject = ScriptObject(frame-&gt;script()-&gt;state(), v8::Local&lt;v8::Object&gt;(v8::Object::Cast(*v8Node)));
</ins><span class="cx"> 
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="lines">@@ -99,11 +100,12 @@
</span><span class="cx">     ASSERT(domWindow);
</span><span class="cx"> 
</span><span class="cx">     v8::HandleScope handleScope;
</span><del>-    v8::Local&lt;v8::Context&gt; context = V8Proxy::context(domWindow-&gt;frame());
</del><ins>+    Frame* frame = domWindow-&gt;frame();
+    v8::Local&lt;v8::Context&gt; context = V8Proxy::context(frame);
</ins><span class="cx">     v8::Context::Scope scope(context);
</span><span class="cx"> 
</span><span class="cx">     v8::Handle&lt;v8::Value&gt; v8DomWindow = V8DOMWrapper::convertToV8Object(V8ClassIndex::DOMWINDOW, domWindow);
</span><del>-    quarantinedObject = ScriptObject(v8::Local&lt;v8::Object&gt;(v8::Object::Cast(*v8DomWindow)));
</del><ins>+    quarantinedObject = ScriptObject(frame-&gt;script()-&gt;state(), v8::Local&lt;v8::Object&gt;(v8::Object::Cast(*v8DomWindow)));
</ins><span class="cx"> 
</span><span class="cx">     return true;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkWebCoreinspectorConsoleMessagecpp"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/inspector/ConsoleMessage.cpp (46489 => 46490)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/inspector/ConsoleMessage.cpp        2009-07-28 15:41:59 UTC (rev 46489)
+++ trunk/WebCore/inspector/ConsoleMessage.cpp        2009-07-28 16:04:34 UTC (rev 46490)
</span><span class="lines">@@ -32,8 +32,8 @@
</span><span class="cx"> #include &quot;ConsoleMessage.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;InspectorFrontend.h&quot;
</span><del>-#include &quot;InspectorJSONObject.h&quot;
</del><span class="cx"> #include &quot;ScriptCallStack.h&quot;
</span><ins>+#include &quot;ScriptObject.h&quot;
</ins><span class="cx"> #include &quot;ScriptObjectQuarantine.h&quot;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -77,7 +77,7 @@
</span><span class="cx"> 
</span><span class="cx"> void ConsoleMessage::addToConsole(InspectorFrontend* frontend)
</span><span class="cx"> {
</span><del>-    InspectorJSONObject jsonObj = frontend-&gt;newInspectorJSONObject();
</del><ins>+    ScriptObject jsonObj = frontend-&gt;newScriptObject();
</ins><span class="cx">     jsonObj.set(&quot;source&quot;, static_cast&lt;int&gt;(m_source));
</span><span class="cx">     jsonObj.set(&quot;type&quot;, static_cast&lt;int&gt;(m_type));
</span><span class="cx">     jsonObj.set(&quot;level&quot;, static_cast&lt;int&gt;(m_level));
</span></span></pre></div>
<a id="trunkWebCoreinspectorInspectorDOMStorageResourcecpp"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/inspector/InspectorDOMStorageResource.cpp (46489 => 46490)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/inspector/InspectorDOMStorageResource.cpp        2009-07-28 15:41:59 UTC (rev 46489)
+++ trunk/WebCore/inspector/InspectorDOMStorageResource.cpp        2009-07-28 16:04:34 UTC (rev 46490)
</span><span class="lines">@@ -36,7 +36,7 @@
</span><span class="cx"> #include &quot;Document.h&quot;
</span><span class="cx"> #include &quot;Frame.h&quot;
</span><span class="cx"> #include &quot;InspectorFrontend.h&quot;
</span><del>-#include &quot;InspectorJSONObject.h&quot;
</del><ins>+#include &quot;ScriptObject.h&quot;
</ins><span class="cx"> #include &quot;ScriptObjectQuarantine.h&quot;
</span><span class="cx"> #include &quot;Storage.h&quot;
</span><span class="cx"> 
</span><span class="lines">@@ -62,7 +62,7 @@
</span><span class="cx">     if (m_scriptObjectCreated)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    InspectorJSONObject jsonObject = frontend-&gt;newInspectorJSONObject();
</del><ins>+    ScriptObject jsonObject = frontend-&gt;newScriptObject();
</ins><span class="cx">     ScriptObject domStorage;
</span><span class="cx">     if (!getQuarantinedScriptObject(m_frame.get(), m_domStorage.get(), domStorage))
</span><span class="cx">         return;
</span></span></pre></div>
<a id="trunkWebCoreinspectorInspectorDatabaseResourcecpp"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/inspector/InspectorDatabaseResource.cpp (46489 => 46490)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/inspector/InspectorDatabaseResource.cpp        2009-07-28 15:41:59 UTC (rev 46489)
+++ trunk/WebCore/inspector/InspectorDatabaseResource.cpp        2009-07-28 16:04:34 UTC (rev 46490)
</span><span class="lines">@@ -36,7 +36,7 @@
</span><span class="cx"> #include &quot;Document.h&quot;
</span><span class="cx"> #include &quot;Frame.h&quot;
</span><span class="cx"> #include &quot;InspectorFrontend.h&quot;
</span><del>-#include &quot;InspectorJSONObject.h&quot;
</del><ins>+#include &quot;ScriptObject.h&quot;
</ins><span class="cx"> #include &quot;ScriptObjectQuarantine.h&quot;
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -56,7 +56,7 @@
</span><span class="cx">     if (m_scriptObjectCreated)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    InspectorJSONObject jsonObject = frontend-&gt;newInspectorJSONObject();
</del><ins>+    ScriptObject jsonObject = frontend-&gt;newScriptObject();
</ins><span class="cx">     ScriptObject database;
</span><span class="cx">     if (!getQuarantinedScriptObject(m_database.get(), database))
</span><span class="cx">         return;
</span></span></pre></div>
<a id="trunkWebCoreinspectorInspectorFrontendcpp"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/inspector/InspectorFrontend.cpp (46489 => 46490)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/inspector/InspectorFrontend.cpp        2009-07-28 15:41:59 UTC (rev 46489)
+++ trunk/WebCore/inspector/InspectorFrontend.cpp        2009-07-28 16:04:34 UTC (rev 46490)
</span><span class="lines">@@ -33,7 +33,6 @@
</span><span class="cx"> #include &quot;ConsoleMessage.h&quot;
</span><span class="cx"> #include &quot;Frame.h&quot;
</span><span class="cx"> #include &quot;InspectorController.h&quot;  // TODO(pfeldman): Extract SpecialPanels to remove include.
</span><del>-#include &quot;InspectorJSONObject.h&quot;
</del><span class="cx"> #include &quot;Node.h&quot;
</span><span class="cx"> #include &quot;ScriptFunctionCall.h&quot;
</span><span class="cx"> #include &quot;ScriptObject.h&quot;
</span><span class="lines">@@ -61,15 +60,20 @@
</span><span class="cx">     m_webInspector = ScriptObject();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-InspectorJSONObject InspectorFrontend::newInspectorJSONObject()
</del><ins>+ScriptArray InspectorFrontend::newScriptArray()
</ins><span class="cx"> {
</span><del>-    return InspectorJSONObject::createNew(m_scriptState);
</del><ins>+    return ScriptArray::createNew(m_scriptState);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorFrontend::addMessageToConsole(const InspectorJSONObject&amp; messageObj, const Vector&lt;ScriptString&gt;&amp; frames, const Vector&lt;ScriptValue&gt; wrappedArguments, const String&amp; message)
</del><ins>+ScriptObject InspectorFrontend::newScriptObject()
</ins><span class="cx"> {
</span><ins>+    return ScriptObject::createNew(m_scriptState);
+}
+
+void InspectorFrontend::addMessageToConsole(const ScriptObject&amp; messageObj, const Vector&lt;ScriptString&gt;&amp; frames, const Vector&lt;ScriptValue&gt; wrappedArguments, const String&amp; message)
+{
</ins><span class="cx">     OwnPtr&lt;ScriptFunctionCall&gt; function(newFunctionCall(&quot;addMessageToConsole&quot;));
</span><del>-    function-&gt;appendArgument(messageObj.scriptObject());
</del><ins>+    function-&gt;appendArgument(messageObj);
</ins><span class="cx">     if (!frames.isEmpty()) {
</span><span class="cx">         for (unsigned i = 0; i &lt; frames.size(); ++i)
</span><span class="cx">             function-&gt;appendArgument(frames[i]);
</span><span class="lines">@@ -81,21 +85,21 @@
</span><span class="cx">     function-&gt;call();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool InspectorFrontend::addResource(long long identifier, const InspectorJSONObject&amp; resourceObj)
</del><ins>+bool InspectorFrontend::addResource(long long identifier, const ScriptObject&amp; resourceObj)
</ins><span class="cx"> {
</span><span class="cx">     OwnPtr&lt;ScriptFunctionCall&gt; function(newFunctionCall(&quot;addResource&quot;));
</span><span class="cx">     function-&gt;appendArgument(identifier);
</span><del>-    function-&gt;appendArgument(resourceObj.scriptObject());
</del><ins>+    function-&gt;appendArgument(resourceObj);
</ins><span class="cx">     bool hadException = false;
</span><span class="cx">     function-&gt;call(hadException);
</span><span class="cx">     return !hadException;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool InspectorFrontend::updateResource(long long identifier, const InspectorJSONObject&amp; resourceObj)
</del><ins>+bool InspectorFrontend::updateResource(long long identifier, const ScriptObject&amp; resourceObj)
</ins><span class="cx"> {
</span><span class="cx">     OwnPtr&lt;ScriptFunctionCall&gt; function(newFunctionCall(&quot;updateResource&quot;));
</span><span class="cx">     function-&gt;appendArgument(identifier);
</span><del>-    function-&gt;appendArgument(resourceObj.scriptObject());
</del><ins>+    function-&gt;appendArgument(resourceObj);
</ins><span class="cx">     bool hadException = false;
</span><span class="cx">     function-&gt;call(hadException);
</span><span class="cx">     return !hadException;
</span><span class="lines">@@ -261,10 +265,10 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(DATABASE)
</span><del>-bool InspectorFrontend::addDatabase(const InspectorJSONObject&amp; dbObject)
</del><ins>+bool InspectorFrontend::addDatabase(const ScriptObject&amp; dbObject)
</ins><span class="cx"> {
</span><span class="cx">     OwnPtr&lt;ScriptFunctionCall&gt; function(newFunctionCall(&quot;addDatabase&quot;));
</span><del>-    function-&gt;appendArgument(dbObject.scriptObject());
</del><ins>+    function-&gt;appendArgument(dbObject);
</ins><span class="cx">     bool hadException = false;
</span><span class="cx">     function-&gt;call(hadException);
</span><span class="cx">     return !hadException;
</span><span class="lines">@@ -272,10 +276,10 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(DOM_STORAGE)
</span><del>-bool InspectorFrontend::addDOMStorage(const InspectorJSONObject&amp; domStorageObj)
</del><ins>+bool InspectorFrontend::addDOMStorage(const ScriptObject&amp; domStorageObj)
</ins><span class="cx"> {
</span><span class="cx">     OwnPtr&lt;ScriptFunctionCall&gt; function(newFunctionCall(&quot;addDOMStorage&quot;));
</span><del>-    function-&gt;appendArgument(domStorageObj.scriptObject());
</del><ins>+    function-&gt;appendArgument(domStorageObj);
</ins><span class="cx">     bool hadException = false;
</span><span class="cx">     function-&gt;call(hadException);
</span><span class="cx">     return !hadException;
</span></span></pre></div>
<a id="trunkWebCoreinspectorInspectorFrontendh"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/inspector/InspectorFrontend.h (46489 => 46490)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/inspector/InspectorFrontend.h        2009-07-28 15:41:59 UTC (rev 46489)
+++ trunk/WebCore/inspector/InspectorFrontend.h        2009-07-28 16:04:34 UTC (rev 46490)
</span><span class="lines">@@ -30,7 +30,8 @@
</span><span class="cx"> #ifndef InspectorFrontend_h
</span><span class="cx"> #define InspectorFrontend_h
</span><span class="cx"> 
</span><del>-#include &quot;InspectorJSONObject.h&quot;
</del><ins>+#include &quot;ScriptArray.h&quot;
+#include &quot;ScriptObject.h&quot;
</ins><span class="cx"> #include &quot;ScriptState.h&quot;
</span><span class="cx"> #include &lt;wtf/PassOwnPtr.h&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -53,12 +54,14 @@
</span><span class="cx">     public:
</span><span class="cx">         InspectorFrontend(ScriptState*, ScriptObject webInspector);
</span><span class="cx">         ~InspectorFrontend();
</span><del>-        InspectorJSONObject newInspectorJSONObject();
</del><span class="cx"> 
</span><del>-        void addMessageToConsole(const InspectorJSONObject&amp; messageObj, const Vector&lt;ScriptString&gt;&amp; frames, const Vector&lt;ScriptValue&gt; wrappedArguments, const String&amp; message);
</del><ins>+        ScriptArray newScriptArray();
+        ScriptObject newScriptObject();
+
+        void addMessageToConsole(const ScriptObject&amp; messageObj, const Vector&lt;ScriptString&gt;&amp; frames, const Vector&lt;ScriptValue&gt; wrappedArguments, const String&amp; message);
</ins><span class="cx">         
</span><del>-        bool addResource(long long identifier, const InspectorJSONObject&amp; resourceObj);
-        bool updateResource(long long identifier, const InspectorJSONObject&amp; resourceObj);
</del><ins>+        bool addResource(long long identifier, const ScriptObject&amp; resourceObj);
+        bool updateResource(long long identifier, const ScriptObject&amp; resourceObj);
</ins><span class="cx">         void removeResource(long long identifier);
</span><span class="cx"> 
</span><span class="cx">         void updateFocusedNode(Node* node);
</span><span class="lines">@@ -86,11 +89,11 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(DATABASE)
</span><del>-        bool addDatabase(const InspectorJSONObject&amp; dbObj);
</del><ins>+        bool addDatabase(const ScriptObject&amp; dbObj);
</ins><span class="cx"> #endif
</span><span class="cx">         
</span><span class="cx"> #if ENABLE(DOM_STORAGE)
</span><del>-        bool addDOMStorage(const InspectorJSONObject&amp; domStorageObj);
</del><ins>+        bool addDOMStorage(const ScriptObject&amp; domStorageObj);
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     private:
</span></span></pre></div>
<a id="trunkWebCoreinspectorInspectorJSONObjectcpp"></a>
<div class="delfile"><h4>Deleted: trunk/WebCore/inspector/InspectorJSONObject.cpp (46489 => 46490)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/inspector/InspectorJSONObject.cpp        2009-07-28 15:41:59 UTC (rev 46489)
+++ trunk/WebCore/inspector/InspectorJSONObject.cpp        2009-07-28 16:04:34 UTC (rev 46490)
</span><span class="lines">@@ -1,95 +0,0 @@
</span><del>-/*
- * Copyright (C) 2009 Apple Inc. All rights reserved.
- * Copyright (C) 2009 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.
- */
-
-#include &quot;config.h&quot;
-#include &quot;InspectorJSONObject.h&quot;
-
-#include &quot;PlatformString.h&quot;
-#include &quot;ScriptObject.h&quot;
-#include &quot;ScriptState.h&quot;
-
-namespace WebCore {
-
-InspectorJSONObject::InspectorJSONObject(ScriptState* scriptState)
-    : m_scriptState(scriptState)
-{
-    m_scriptObject = ScriptObject::createNew(scriptState);
-}
-
-bool InspectorJSONObject::set(const String&amp; name, const String&amp; value)
-{
-    return m_scriptObject.set(m_scriptState, name, value);
-}
-
-bool InspectorJSONObject::set(const char* name, const ScriptObject&amp; value)
-{
-    return m_scriptObject.set(m_scriptState, name, value);
-}
-
-bool InspectorJSONObject::set(const char* name, const InspectorJSONObject&amp; value)
-{
-    return set(name, value.scriptObject());
-}
-
-bool InspectorJSONObject::set(const char* name, const String&amp; value)
-{
-    return m_scriptObject.set(m_scriptState, name, value);
-}
-
-bool InspectorJSONObject::set(const char* name, double value)
-{
-    return m_scriptObject.set(m_scriptState, name, value);
-}
-
-bool InspectorJSONObject::set(const char* name, long long value)
-{
-    return m_scriptObject.set(m_scriptState, name, value);
-}
-
-bool InspectorJSONObject::set(const char* name, int value)
-{
-    return m_scriptObject.set(m_scriptState, name, value);
-}
-
-bool InspectorJSONObject::set(const char* name, bool value)
-{
-    return m_scriptObject.set(m_scriptState, name, value);
-}
-
-ScriptObject InspectorJSONObject::scriptObject() const
-{
-    return m_scriptObject;
-}
-
-InspectorJSONObject InspectorJSONObject::createNew(ScriptState* scriptState)
-{
-    return InspectorJSONObject(scriptState);
-}
-
-} // namespace WebCore
</del></span></pre></div>
<a id="trunkWebCoreinspectorInspectorJSONObjecth"></a>
<div class="delfile"><h4>Deleted: trunk/WebCore/inspector/InspectorJSONObject.h (46489 => 46490)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/inspector/InspectorJSONObject.h        2009-07-28 15:41:59 UTC (rev 46489)
+++ trunk/WebCore/inspector/InspectorJSONObject.h        2009-07-28 16:04:34 UTC (rev 46490)
</span><span class="lines">@@ -1,60 +0,0 @@
</span><del>-/*
- * Copyright (C) 2009 Apple Inc. All rights reserved.
- * Copyright (C) 2009 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 InspectorJSONObject_h
-#define InspectorJSONObject_h
-
-#include &quot;ScriptObject.h&quot;
-#include &quot;ScriptState.h&quot;
-
-namespace WebCore {
-    class String;
-
-    class InspectorJSONObject {
-    public:
-        bool set(const String&amp; name, const String&amp;);
-        bool set(const char* name, const InspectorJSONObject&amp;);
-        bool set(const char* name, const ScriptObject&amp;);
-        bool set(const char* name, const String&amp;);
-        bool set(const char* name, double);
-        bool set(const char* name, long long);
-        bool set(const char* name, int);
-        bool set(const char* name, bool);
-        ScriptObject scriptObject() const;
-
-        static InspectorJSONObject createNew(ScriptState* scriptState);
-    private:
-        InspectorJSONObject(ScriptState* scriptState);
-        ScriptState* m_scriptState;
-        ScriptObject m_scriptObject;
-    };
-}
-
-#endif // InspectorJSONObject.h
</del></span></pre></div>
<a id="trunkWebCoreinspectorInspectorResourcecpp"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/inspector/InspectorResource.cpp (46489 => 46490)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/inspector/InspectorResource.cpp        2009-07-28 15:41:59 UTC (rev 46489)
+++ trunk/WebCore/inspector/InspectorResource.cpp        2009-07-28 16:04:34 UTC (rev 46490)
</span><span class="lines">@@ -36,10 +36,10 @@
</span><span class="cx"> #include &quot;DocumentLoader.h&quot;
</span><span class="cx"> #include &quot;Frame.h&quot;
</span><span class="cx"> #include &quot;InspectorFrontend.h&quot;
</span><del>-#include &quot;InspectorJSONObject.h&quot;
</del><span class="cx"> #include &quot;ResourceRequest.h&quot;
</span><span class="cx"> #include &quot;ResourceResponse.h&quot;
</span><span class="cx"> #include &quot;TextEncoding.h&quot;
</span><ins>+#include &quot;ScriptObject.h&quot;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -105,7 +105,7 @@
</span><span class="cx">     m_changes.set(TypeChange);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static void populateHeadersObject(InspectorJSONObject* object, const HTTPHeaderMap&amp; headers)
</del><ins>+static void populateHeadersObject(ScriptObject* object, const HTTPHeaderMap&amp; headers)
</ins><span class="cx"> {
</span><span class="cx">     HTTPHeaderMap::const_iterator end = headers.end();
</span><span class="cx">     for (HTTPHeaderMap::const_iterator it = headers.begin(); it != end; ++it) {
</span><span class="lines">@@ -116,8 +116,8 @@
</span><span class="cx"> void InspectorResource::createScriptObject(InspectorFrontend* frontend)
</span><span class="cx"> {
</span><span class="cx">     if (!m_scriptObjectCreated) {
</span><del>-        InspectorJSONObject jsonObject = frontend-&gt;newInspectorJSONObject();
-        InspectorJSONObject requestHeaders = frontend-&gt;newInspectorJSONObject();
</del><ins>+        ScriptObject jsonObject = frontend-&gt;newScriptObject();
+        ScriptObject requestHeaders = frontend-&gt;newScriptObject();
</ins><span class="cx">         populateHeadersObject(&amp;requestHeaders, m_requestHeaderFields);
</span><span class="cx">         jsonObject.set(&quot;requestHeaders&quot;, requestHeaders);
</span><span class="cx">         jsonObject.set(&quot;requestURL&quot;, requestURL());
</span><span class="lines">@@ -143,13 +143,13 @@
</span><span class="cx">     if (m_changes.hasChange(NoChange))
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    InspectorJSONObject jsonObject = frontend-&gt;newInspectorJSONObject();
</del><ins>+    ScriptObject jsonObject = frontend-&gt;newScriptObject();
</ins><span class="cx">     if (m_changes.hasChange(RequestChange)) {
</span><span class="cx">         jsonObject.set(&quot;url&quot;, requestURL());
</span><span class="cx">         jsonObject.set(&quot;domain&quot;, m_requestURL.host());
</span><span class="cx">         jsonObject.set(&quot;path&quot;, m_requestURL.path());
</span><span class="cx">         jsonObject.set(&quot;lastPathComponent&quot;, m_requestURL.lastPathComponent());
</span><del>-        InspectorJSONObject requestHeaders = frontend-&gt;newInspectorJSONObject();
</del><ins>+        ScriptObject requestHeaders = frontend-&gt;newScriptObject();
</ins><span class="cx">         populateHeadersObject(&amp;requestHeaders, m_requestHeaderFields);
</span><span class="cx">         jsonObject.set(&quot;requestHeaders&quot;, requestHeaders);
</span><span class="cx">         jsonObject.set(&quot;mainResource&quot;, m_isMainResource);
</span><span class="lines">@@ -162,7 +162,7 @@
</span><span class="cx">         jsonObject.set(&quot;expectedContentLength&quot;, m_expectedContentLength);
</span><span class="cx">         jsonObject.set(&quot;statusCode&quot;, m_responseStatusCode);
</span><span class="cx">         jsonObject.set(&quot;suggestedFilename&quot;, m_suggestedFilename);
</span><del>-        InspectorJSONObject responseHeaders = frontend-&gt;newInspectorJSONObject();
</del><ins>+        ScriptObject responseHeaders = frontend-&gt;newScriptObject();
</ins><span class="cx">         populateHeadersObject(&amp;responseHeaders, m_responseHeaderFields);
</span><span class="cx">         jsonObject.set(&quot;responseHeaders&quot;, responseHeaders);
</span><span class="cx">         jsonObject.set(&quot;didResponseChange&quot;, true);
</span></span></pre>
</div>
</div>

</body>
</html>