[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-10851-g50815da

yurys at chromium.org yurys at chromium.org
Wed Dec 22 17:47:11 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit ec8a30f3bafdf57d9c7d36d9d33d65e6a3f398f3
Author: yurys at chromium.org <yurys at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Nov 30 08:15:28 2010 +0000

    2010-11-30  Yury Semikhatsky  <yurys at chromium.org>
    
            Reviewed by Pavel Feldman.
    
            Web Inspector: make ScriptCallStack and ScriptArguments reference counted
            https://bugs.webkit.org/show_bug.cgi?id=50156
    
            No new tests. This refactoring is covered with existing inspector tests.
    
            * bindings/js/JSConsoleCustom.cpp:
            (WebCore::JSConsole::profile):
            (WebCore::JSConsole::profileEnd):
            * bindings/js/ScriptCallStackFactory.cpp:
            (WebCore::createScriptCallStack):
            (WebCore::createScriptArguments):
            * bindings/js/ScriptCallStackFactory.h:
            * bindings/scripts/CodeGeneratorJS.pm:
            * bindings/scripts/CodeGeneratorV8.pm:
            * bindings/scripts/test/JS/JSTestObj.cpp:
            (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
            * bindings/scripts/test/V8/V8TestObj.cpp:
            (WebCore::TestObjInternal::customArgsAndExceptionCallback):
            * bindings/v8/ScriptCallStackFactory.cpp:
            (WebCore::createScriptCallStack):
            (WebCore::createScriptArguments):
            * bindings/v8/ScriptCallStackFactory.h:
            * bindings/v8/V8ConsoleMessage.cpp:
            (WebCore::V8ConsoleMessage::handler):
            (WebCore::V8ConsoleMessage::dispatchNow):
            * bindings/v8/V8ConsoleMessage.h:
            * bindings/v8/custom/V8ConsoleCustom.cpp:
            (WebCore::V8Console::traceCallback):
            (WebCore::V8Console::assertCallback):
            (WebCore::V8Console::profileCallback):
            (WebCore::V8Console::profileEndCallback):
            * inspector/ConsoleMessage.cpp:
            (WebCore::ConsoleMessage::ConsoleMessage):
            * inspector/ConsoleMessage.h:
            * inspector/InspectorController.cpp:
            (WebCore::InspectorController::addMessageToConsole):
            (WebCore::InspectorController::startGroup):
            * inspector/InspectorController.h:
            * inspector/ScriptArguments.cpp:
            (WebCore::ScriptArguments::create):
            * inspector/ScriptArguments.h:
            * inspector/ScriptCallFrame.h:
            * inspector/ScriptCallStack.cpp:
            (WebCore::ScriptCallStack::create):
            (WebCore::ScriptCallStack::at):
            (WebCore::ScriptCallStack::size):
            * inspector/ScriptCallStack.h:
            * page/Console.cpp:
            (WebCore::Console::addMessage):
            (WebCore::Console::debug):
            (WebCore::Console::error):
            (WebCore::Console::info):
            (WebCore::Console::log):
            (WebCore::Console::dir):
            (WebCore::Console::dirxml):
            (WebCore::Console::trace):
            (WebCore::Console::assertCondition):
            (WebCore::Console::count):
            (WebCore::Console::markTimeline):
            (WebCore::Console::profile):
            (WebCore::Console::profileEnd):
            (WebCore::Console::timeEnd):
            (WebCore::Console::group):
            (WebCore::Console::groupCollapsed):
            (WebCore::Console::warn):
            * page/Console.h:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@72895 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 7f43e9d..a57b566 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,74 @@
+2010-11-30  Yury Semikhatsky  <yurys at chromium.org>
+
+        Reviewed by Pavel Feldman.
+
+        Web Inspector: make ScriptCallStack and ScriptArguments reference counted
+        https://bugs.webkit.org/show_bug.cgi?id=50156
+
+        No new tests. This refactoring is covered with existing inspector tests.
+
+        * bindings/js/JSConsoleCustom.cpp:
+        (WebCore::JSConsole::profile):
+        (WebCore::JSConsole::profileEnd):
+        * bindings/js/ScriptCallStackFactory.cpp:
+        (WebCore::createScriptCallStack):
+        (WebCore::createScriptArguments):
+        * bindings/js/ScriptCallStackFactory.h:
+        * bindings/scripts/CodeGeneratorJS.pm:
+        * bindings/scripts/CodeGeneratorV8.pm:
+        * bindings/scripts/test/JS/JSTestObj.cpp:
+        (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
+        * bindings/scripts/test/V8/V8TestObj.cpp:
+        (WebCore::TestObjInternal::customArgsAndExceptionCallback):
+        * bindings/v8/ScriptCallStackFactory.cpp:
+        (WebCore::createScriptCallStack):
+        (WebCore::createScriptArguments):
+        * bindings/v8/ScriptCallStackFactory.h:
+        * bindings/v8/V8ConsoleMessage.cpp:
+        (WebCore::V8ConsoleMessage::handler):
+        (WebCore::V8ConsoleMessage::dispatchNow):
+        * bindings/v8/V8ConsoleMessage.h:
+        * bindings/v8/custom/V8ConsoleCustom.cpp:
+        (WebCore::V8Console::traceCallback):
+        (WebCore::V8Console::assertCallback):
+        (WebCore::V8Console::profileCallback):
+        (WebCore::V8Console::profileEndCallback):
+        * inspector/ConsoleMessage.cpp:
+        (WebCore::ConsoleMessage::ConsoleMessage):
+        * inspector/ConsoleMessage.h:
+        * inspector/InspectorController.cpp:
+        (WebCore::InspectorController::addMessageToConsole):
+        (WebCore::InspectorController::startGroup):
+        * inspector/InspectorController.h:
+        * inspector/ScriptArguments.cpp:
+        (WebCore::ScriptArguments::create):
+        * inspector/ScriptArguments.h:
+        * inspector/ScriptCallFrame.h:
+        * inspector/ScriptCallStack.cpp:
+        (WebCore::ScriptCallStack::create):
+        (WebCore::ScriptCallStack::at):
+        (WebCore::ScriptCallStack::size):
+        * inspector/ScriptCallStack.h:
+        * page/Console.cpp:
+        (WebCore::Console::addMessage):
+        (WebCore::Console::debug):
+        (WebCore::Console::error):
+        (WebCore::Console::info):
+        (WebCore::Console::log):
+        (WebCore::Console::dir):
+        (WebCore::Console::dirxml):
+        (WebCore::Console::trace):
+        (WebCore::Console::assertCondition):
+        (WebCore::Console::count):
+        (WebCore::Console::markTimeline):
+        (WebCore::Console::profile):
+        (WebCore::Console::profileEnd):
+        (WebCore::Console::timeEnd):
+        (WebCore::Console::group):
+        (WebCore::Console::groupCollapsed):
+        (WebCore::Console::warn):
+        * page/Console.h:
+
 2010-11-29  Dan Bernstein  <mitz at apple.com>
 
         Build fix for non-ICU platforms after r72887.
diff --git a/WebCore/bindings/js/JSConsoleCustom.cpp b/WebCore/bindings/js/JSConsoleCustom.cpp
index 6df88f6..6a4fb17 100644
--- a/WebCore/bindings/js/JSConsoleCustom.cpp
+++ b/WebCore/bindings/js/JSConsoleCustom.cpp
@@ -57,23 +57,23 @@ JSValue JSConsole::profiles(ExecState* exec) const
 
 JSValue JSConsole::profile(ExecState* exec)
 {
-    OwnPtr<ScriptCallStack> callStack(createScriptCallStack(exec, 1));
+    RefPtr<ScriptCallStack> callStack(createScriptCallStack(exec, 1));
     const String& title = valueToStringWithUndefinedOrNullCheck(exec, exec->argument(0));
     if (exec->hadException())
         return jsUndefined();
 
-    impl()->profile(title, exec, callStack.release());
+    impl()->profile(title, exec, callStack);
     return jsUndefined();
 }
 
 JSValue JSConsole::profileEnd(ExecState* exec)
 {
-    OwnPtr<ScriptCallStack> callStack(createScriptCallStack(exec, 1));
+    RefPtr<ScriptCallStack> callStack(createScriptCallStack(exec, 1));
     const String& title = valueToStringWithUndefinedOrNullCheck(exec, exec->argument(0));
     if (exec->hadException())
         return jsUndefined();
 
-    impl()->profileEnd(title, exec, callStack.release());
+    impl()->profileEnd(title, exec, callStack);
     return jsUndefined();
 }
 
diff --git a/WebCore/bindings/js/ScriptCallStackFactory.cpp b/WebCore/bindings/js/ScriptCallStackFactory.cpp
index 25fabdd..9a64ffc 100644
--- a/WebCore/bindings/js/ScriptCallStackFactory.cpp
+++ b/WebCore/bindings/js/ScriptCallStackFactory.cpp
@@ -48,7 +48,7 @@ using namespace JSC;
 
 namespace WebCore {
 
-PassOwnPtr<ScriptCallStack> createScriptCallStack(JSC::ExecState* exec, size_t maxStackSize)
+PassRefPtr<ScriptCallStack> createScriptCallStack(JSC::ExecState* exec, size_t maxStackSize)
 {
     Vector<ScriptCallFrame> frames;
     CallFrame* callFrame = exec;
@@ -75,16 +75,16 @@ PassOwnPtr<ScriptCallStack> createScriptCallStack(JSC::ExecState* exec, size_t m
             break;
         callFrame = callFrame->callerFrame();
     }
-    return new ScriptCallStack(frames);
+    return ScriptCallStack::create(frames);
 }
 
-PassOwnPtr<ScriptArguments> createScriptArguments(JSC::ExecState* exec, unsigned skipArgumentCount)
+PassRefPtr<ScriptArguments> createScriptArguments(JSC::ExecState* exec, unsigned skipArgumentCount)
 {
     Vector<ScriptValue> arguments;
     size_t argumentCount = exec->argumentCount();
     for (size_t i = skipArgumentCount; i < argumentCount; ++i)
         arguments.append(ScriptValue(exec->argument(i)));
-    return new ScriptArguments(exec, arguments);
+    return ScriptArguments::create(exec, arguments);
 }
 
 bool ScriptCallStack::stackTrace(int, const RefPtr<InspectorArray>&)
diff --git a/WebCore/bindings/js/ScriptCallStackFactory.h b/WebCore/bindings/js/ScriptCallStackFactory.h
index 744d88d..9fbfc78 100644
--- a/WebCore/bindings/js/ScriptCallStackFactory.h
+++ b/WebCore/bindings/js/ScriptCallStackFactory.h
@@ -31,7 +31,7 @@
 #ifndef ScriptCallStackFactory_h
 #define ScriptCallStackFactory_h
 
-#include <wtf/PassOwnPtr.h>
+#include <wtf/Forward.h>
 
 namespace JSC {
 class ExecState;
@@ -42,8 +42,8 @@ namespace WebCore {
 class ScriptArguments;
 class ScriptCallStack;
 
-PassOwnPtr<ScriptCallStack> createScriptCallStack(JSC::ExecState*, size_t maxStackSize);
-PassOwnPtr<ScriptArguments> createScriptArguments(JSC::ExecState*, unsigned skipArgumentCount);
+PassRefPtr<ScriptCallStack> createScriptCallStack(JSC::ExecState*, size_t maxStackSize);
+PassRefPtr<ScriptArguments> createScriptArguments(JSC::ExecState*, unsigned skipArgumentCount);
 
 } // namespace WebCore
 
diff --git a/WebCore/bindings/scripts/CodeGeneratorJS.pm b/WebCore/bindings/scripts/CodeGeneratorJS.pm
index 95cdf30..9e71409 100644
--- a/WebCore/bindings/scripts/CodeGeneratorJS.pm
+++ b/WebCore/bindings/scripts/CodeGeneratorJS.pm
@@ -1908,9 +1908,9 @@ sub GenerateImplementation
                     my $hasOptionalArguments = 0;
 
                     if ($function->signature->extendedAttributes->{"CustomArgumentHandling"}) {
-                        push(@implContent, "    OwnPtr<ScriptArguments> scriptArguments(createScriptArguments(exec, $numParameters));\n");
+                        push(@implContent, "    RefPtr<ScriptArguments> scriptArguments(createScriptArguments(exec, $numParameters));\n");
                         push(@implContent, "    size_t maxStackSize = imp->shouldCaptureFullStackTrace() ? ScriptCallStack::maxCallStackSizeToCapture : 1;\n");
-                        push(@implContent, "    OwnPtr<ScriptCallStack> callStack(createScriptCallStack(exec, maxStackSize));\n");
+                        push(@implContent, "    RefPtr<ScriptCallStack> callStack(createScriptCallStack(exec, maxStackSize));\n");
                         $implIncludes{"ScriptArguments.h"} = 1;
                         $implIncludes{"ScriptCallStack.h"} = 1;
                         $implIncludes{"ScriptCallStackFactory.h"} = 1;
@@ -2302,7 +2302,7 @@ sub GenerateImplementationFunctionCall()
     if ($function->signature->extendedAttributes->{"CustomArgumentHandling"}) {
         $functionString .= ", " if $paramIndex;
         $paramIndex += 2;
-        $functionString .= "scriptArguments.release(), callStack.release()";
+        $functionString .= "scriptArguments, callStack";
     }
 
     if (@{$function->raisesExceptions}) {
diff --git a/WebCore/bindings/scripts/CodeGeneratorV8.pm b/WebCore/bindings/scripts/CodeGeneratorV8.pm
index 922da15..b0091bd 100644
--- a/WebCore/bindings/scripts/CodeGeneratorV8.pm
+++ b/WebCore/bindings/scripts/CodeGeneratorV8.pm
@@ -1265,9 +1265,9 @@ END
 
     if ($function->signature->extendedAttributes->{"CustomArgumentHandling"}) {
         push(@implContentDecls, <<END);
-    OwnPtr<ScriptArguments> scriptArguments(createScriptArguments(args, $numParameters));
+    RefPtr<ScriptArguments> scriptArguments(createScriptArguments(args, $numParameters));
     size_t maxStackSize = imp->shouldCaptureFullStackTrace() ? ScriptCallStack::maxCallStackSizeToCapture : 1;
-    OwnPtr<ScriptCallStack> callStack(createScriptCallStack(maxStackSize));
+    RefPtr<ScriptCallStack> callStack(createScriptCallStack(maxStackSize));
     if (!callStack)
         return v8::Undefined();
 END
@@ -2651,7 +2651,7 @@ sub GenerateFunctionCallString()
 
     if ($function->signature->extendedAttributes->{"CustomArgumentHandling"}) {
         $functionString .= ", " if $index;
-        $functionString .= "scriptArguments.release(), callStack.release()";
+        $functionString .= "scriptArguments, callStack";
         $index += 2;
     }
 
diff --git a/WebCore/bindings/scripts/test/JS/JSTestObj.cpp b/WebCore/bindings/scripts/test/JS/JSTestObj.cpp
index d8bf67e..44efde1 100644
--- a/WebCore/bindings/scripts/test/JS/JSTestObj.cpp
+++ b/WebCore/bindings/scripts/test/JS/JSTestObj.cpp
@@ -1057,14 +1057,14 @@ EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionCustomArgsAndException(Ex
     JSTestObj* castedThis = static_cast<JSTestObj*>(asObject(thisValue));
     TestObj* imp = static_cast<TestObj*>(castedThis->impl());
     ExceptionCode ec = 0;
-    OwnPtr<ScriptArguments> scriptArguments(createScriptArguments(exec, 1));
+    RefPtr<ScriptArguments> scriptArguments(createScriptArguments(exec, 1));
     size_t maxStackSize = imp->shouldCaptureFullStackTrace() ? ScriptCallStack::maxCallStackSizeToCapture : 1;
-    OwnPtr<ScriptCallStack> callStack(createScriptCallStack(exec, maxStackSize));
+    RefPtr<ScriptCallStack> callStack(createScriptCallStack(exec, maxStackSize));
     log* intArg = tolog(exec->argument(0));
     if (exec->hadException())
         return JSValue::encode(jsUndefined());
 
-    imp->customArgsAndException(intArg, scriptArguments.release(), callStack.release(), ec);
+    imp->customArgsAndException(intArg, scriptArguments, callStack, ec);
     setDOMException(exec, ec);
     return JSValue::encode(jsUndefined());
 }
diff --git a/WebCore/bindings/scripts/test/V8/V8TestObj.cpp b/WebCore/bindings/scripts/test/V8/V8TestObj.cpp
index e06d3f2..d4fdff5 100644
--- a/WebCore/bindings/scripts/test/V8/V8TestObj.cpp
+++ b/WebCore/bindings/scripts/test/V8/V8TestObj.cpp
@@ -764,13 +764,13 @@ static v8::Handle<v8::Value> customArgsAndExceptionCallback(const v8::Arguments&
     TestObj* imp = V8TestObj::toNative(args.Holder());
     ExceptionCode ec = 0;
     {
-    OwnPtr<ScriptArguments> scriptArguments(createScriptArguments(args, 1));
+    RefPtr<ScriptArguments> scriptArguments(createScriptArguments(args, 1));
     size_t maxStackSize = imp->shouldCaptureFullStackTrace() ? ScriptCallStack::maxCallStackSizeToCapture : 1;
-    OwnPtr<ScriptCallStack> callStack(createScriptCallStack(maxStackSize));
+    RefPtr<ScriptCallStack> callStack(createScriptCallStack(maxStackSize));
     if (!callStack)
         return v8::Undefined();
     EXCEPTION_BLOCK(log*, intArg, V8log::HasInstance(args[0]) ? V8log::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0);
-    imp->customArgsAndException(intArg, scriptArguments.release(), callStack.release(), ec);
+    imp->customArgsAndException(intArg, scriptArguments, callStack, ec);
     if (UNLIKELY(ec))
         goto fail;
     return v8::Handle<v8::Value>();
diff --git a/WebCore/bindings/v8/ScriptCallStackFactory.cpp b/WebCore/bindings/v8/ScriptCallStackFactory.cpp
index 62fbeef..5d4e146 100644
--- a/WebCore/bindings/v8/ScriptCallStackFactory.cpp
+++ b/WebCore/bindings/v8/ScriptCallStackFactory.cpp
@@ -78,17 +78,17 @@ static void toScriptCallFramesVector(v8::Local<v8::Context> context, v8::Handle<
     }
 }
 
-PassOwnPtr<ScriptCallStack> createScriptCallStack(v8::Local<v8::Context> context, v8::Handle<v8::StackTrace> stackTrace, size_t maxStackSize)
+PassRefPtr<ScriptCallStack> createScriptCallStack(v8::Local<v8::Context> context, v8::Handle<v8::StackTrace> stackTrace, size_t maxStackSize)
 {
     v8::HandleScope scope;
     v8::Context::Scope contextScope(context);
 
     Vector<ScriptCallFrame> scriptCallFrames;
     toScriptCallFramesVector(context, stackTrace, scriptCallFrames, maxStackSize);
-    return new ScriptCallStack(scriptCallFrames);
+    return ScriptCallStack::create(scriptCallFrames);
 }
 
-PassOwnPtr<ScriptCallStack> createScriptCallStack(size_t maxStackSize)
+PassRefPtr<ScriptCallStack> createScriptCallStack(size_t maxStackSize)
 {
     v8::HandleScope scope;
     v8::Local<v8::Context> context = v8::Context::GetCurrent();
@@ -98,7 +98,7 @@ PassOwnPtr<ScriptCallStack> createScriptCallStack(size_t maxStackSize)
     return createScriptCallStack(context, stackTrace, maxStackSize);
 }
 
-PassOwnPtr<ScriptArguments> createScriptArguments(const v8::Arguments& v8arguments, unsigned skipArgumentCount)
+PassRefPtr<ScriptArguments> createScriptArguments(const v8::Arguments& v8arguments, unsigned skipArgumentCount)
 {
     v8::HandleScope scope;
     v8::Local<v8::Context> context = v8::Context::GetCurrent();
@@ -108,7 +108,7 @@ PassOwnPtr<ScriptArguments> createScriptArguments(const v8::Arguments& v8argumen
     for (int i = skipArgumentCount; i < v8arguments.Length(); ++i)
         arguments.append(ScriptValue(v8arguments[i]));
 
-    return new ScriptArguments(state, arguments);
+    return ScriptArguments::create(state, arguments);
 }
 
 bool ScriptCallStack::stackTrace(int frameLimit, const RefPtr<InspectorArray>& stackTrace)
diff --git a/WebCore/bindings/v8/ScriptCallStackFactory.h b/WebCore/bindings/v8/ScriptCallStackFactory.h
index 613af7b..66e44f5 100644
--- a/WebCore/bindings/v8/ScriptCallStackFactory.h
+++ b/WebCore/bindings/v8/ScriptCallStackFactory.h
@@ -32,10 +32,12 @@
 #define ScriptCallStackFactory_h
 
 #include <v8.h>
-#include <wtf/PassOwnPtr.h>
+#include <wtf/Forward.h>
 
 namespace WebCore {
 
+class ScriptArguments;
+class ScriptCallStack;
 class ScriptState;
 
 const v8::StackTrace::StackTraceOptions stackTraceOptions = static_cast<v8::StackTrace::StackTraceOptions>(
@@ -44,12 +46,9 @@ const v8::StackTrace::StackTraceOptions stackTraceOptions = static_cast<v8::Stac
     | v8::StackTrace::kScriptNameOrSourceURL
     | v8::StackTrace::kFunctionName);
 
-class ScriptArguments;
-class ScriptCallStack;
-
-PassOwnPtr<ScriptCallStack> createScriptCallStack(v8::Local<v8::Context>, v8::Handle<v8::StackTrace>, size_t maxStackSize);
-PassOwnPtr<ScriptCallStack> createScriptCallStack(size_t maxStackSize);
-PassOwnPtr<ScriptArguments> createScriptArguments(const v8::Arguments& v8arguments, unsigned skipArgumentCount);
+PassRefPtr<ScriptCallStack> createScriptCallStack(v8::Local<v8::Context>, v8::Handle<v8::StackTrace>, size_t maxStackSize);
+PassRefPtr<ScriptCallStack> createScriptCallStack(size_t maxStackSize);
+PassRefPtr<ScriptArguments> createScriptArguments(const v8::Arguments& v8arguments, unsigned skipArgumentCount);
 
 } // namespace WebCore
 
diff --git a/WebCore/bindings/v8/V8ConsoleMessage.cpp b/WebCore/bindings/v8/V8ConsoleMessage.cpp
index 40f9a7a..9e6e267 100644
--- a/WebCore/bindings/v8/V8ConsoleMessage.cpp
+++ b/WebCore/bindings/v8/V8ConsoleMessage.cpp
@@ -114,7 +114,7 @@ void V8ConsoleMessage::handler(v8::Handle<v8::Message> message, v8::Handle<v8::V
     String errorMessage = toWebCoreString(errorMessageString);
 
     v8::Handle<v8::StackTrace> stackTrace = message->GetStackTrace();
-    OwnPtr<ScriptCallStack> callStack;
+    RefPtr<ScriptCallStack> callStack;
     // Currently stack trace is only collected when inspector is open.
     if (!stackTrace.IsEmpty() && stackTrace->GetFrameCount() > 0) {
         v8::Local<v8::Context> context = v8::Context::GetEntered();
@@ -125,10 +125,10 @@ void V8ConsoleMessage::handler(v8::Handle<v8::Message> message, v8::Handle<v8::V
     bool useURL = resourceName.IsEmpty() || !resourceName->IsString();
     String resourceNameString = useURL ? frame->document()->url() : toWebCoreString(resourceName);
     V8ConsoleMessage consoleMessage(errorMessage, resourceNameString, message->GetLineNumber());
-    consoleMessage.dispatchNow(page, callStack.release());
+    consoleMessage.dispatchNow(page, callStack);
 }
 
-void V8ConsoleMessage::dispatchNow(Page* page, PassOwnPtr<ScriptCallStack> callStack)
+void V8ConsoleMessage::dispatchNow(Page* page, PassRefPtr<ScriptCallStack> callStack)
 {
     ASSERT(page);
 
diff --git a/WebCore/bindings/v8/V8ConsoleMessage.h b/WebCore/bindings/v8/V8ConsoleMessage.h
index 6b892dd..97de24f 100644
--- a/WebCore/bindings/v8/V8ConsoleMessage.h
+++ b/WebCore/bindings/v8/V8ConsoleMessage.h
@@ -82,7 +82,7 @@ namespace WebCore {
         const String m_sourceID;
         const unsigned m_lineNumber;
 
-        void dispatchNow(Page*, PassOwnPtr<ScriptCallStack>);
+        void dispatchNow(Page*, PassRefPtr<ScriptCallStack>);
 
         // All delayed messages are stored in this vector. If the vector
         // is 0, there are no delayed messages.
diff --git a/WebCore/bindings/v8/custom/V8ConsoleCustom.cpp b/WebCore/bindings/v8/custom/V8ConsoleCustom.cpp
index 9142ad7..e21354e 100644
--- a/WebCore/bindings/v8/custom/V8ConsoleCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8ConsoleCustom.cpp
@@ -65,9 +65,9 @@ v8::Handle<v8::Value> V8Console::traceCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.Console.traceCallback");
     Console* imp = V8Console::toNative(args.Holder());
-    OwnPtr<ScriptCallStack> callStack(createScriptCallStack(ScriptCallStack::maxCallStackSizeToCapture));
-    OwnPtr<ScriptArguments> scriptArguments(createScriptArguments(args, 0));
-    imp->trace(scriptArguments.release(), callStack.release());
+    RefPtr<ScriptCallStack> callStack(createScriptCallStack(ScriptCallStack::maxCallStackSizeToCapture));
+    RefPtr<ScriptArguments> scriptArguments(createScriptArguments(args, 0));
+    imp->trace(scriptArguments.release(), callStack);
     return v8::Handle<v8::Value>();
 }
 
@@ -75,10 +75,10 @@ v8::Handle<v8::Value> V8Console::assertCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.Console.assertCallback");
     Console* imp = V8Console::toNative(args.Holder());
-    OwnPtr<ScriptCallStack> callStack(createScriptCallStack(ScriptCallStack::maxCallStackSizeToCapture));
+    RefPtr<ScriptCallStack> callStack(createScriptCallStack(ScriptCallStack::maxCallStackSizeToCapture));
     bool condition = args[0]->BooleanValue();
-    OwnPtr<ScriptArguments> scriptArguments(createScriptArguments(args, 1));
-    imp->assertCondition(condition, scriptArguments.release(), callStack.release());
+    RefPtr<ScriptArguments> scriptArguments(createScriptArguments(args, 1));
+    imp->assertCondition(condition, scriptArguments.release(), callStack);
     return v8::Handle<v8::Value>();
 }
 
@@ -87,11 +87,11 @@ v8::Handle<v8::Value> V8Console::profileCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.Console.profile");
     Console* imp = V8Console::toNative(args.Holder());
-    OwnPtr<ScriptCallStack> callStack(createScriptCallStack(1));
+    RefPtr<ScriptCallStack> callStack(createScriptCallStack(1));
     if (!callStack)
         return v8::Undefined();
     STRING_TO_V8PARAMETER_EXCEPTION_BLOCK(V8Parameter<WithUndefinedOrNullCheck>, title, args[0]);
-    imp->profile(title, ScriptState::current(), callStack.release());
+    imp->profile(title, ScriptState::current(), callStack);
     return v8::Handle<v8::Value>();
 }
 
@@ -99,11 +99,11 @@ v8::Handle<v8::Value> V8Console::profileEndCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.Console.profileEnd");
     Console* imp = V8Console::toNative(args.Holder());
-    OwnPtr<ScriptCallStack> callStack(createScriptCallStack(1));
+    RefPtr<ScriptCallStack> callStack(createScriptCallStack(1));
     if (!callStack)
         return v8::Undefined();
     STRING_TO_V8PARAMETER_EXCEPTION_BLOCK(V8Parameter<WithUndefinedOrNullCheck>, title, args[0]);
-    imp->profileEnd(title, ScriptState::current(), callStack.release());
+    imp->profileEnd(title, ScriptState::current(), callStack);
     return v8::Handle<v8::Value>();
 }
 #endif
diff --git a/WebCore/inspector/ConsoleMessage.cpp b/WebCore/inspector/ConsoleMessage.cpp
index a5e9ec6..f1534df 100644
--- a/WebCore/inspector/ConsoleMessage.cpp
+++ b/WebCore/inspector/ConsoleMessage.cpp
@@ -40,7 +40,6 @@
 #include "ScriptArguments.h"
 #include "ScriptCallStack.h"
 #include "ScriptValue.h"
-#include <wtf/PassOwnPtr.h>
 
 namespace WebCore {
 
@@ -56,7 +55,7 @@ ConsoleMessage::ConsoleMessage(MessageSource s, MessageType t, MessageLevel l, c
 {
 }
 
-ConsoleMessage::ConsoleMessage(MessageSource s, MessageType t, MessageLevel l, const String& m, PassOwnPtr<ScriptArguments> arguments, PassOwnPtr<ScriptCallStack> callStack, unsigned g)
+ConsoleMessage::ConsoleMessage(MessageSource s, MessageType t, MessageLevel l, const String& m, PassRefPtr<ScriptArguments> arguments, PassRefPtr<ScriptCallStack> callStack, unsigned g)
     : m_source(s)
     , m_type(t)
     , m_level(l)
diff --git a/WebCore/inspector/ConsoleMessage.h b/WebCore/inspector/ConsoleMessage.h
index 4e88bec..351c584 100644
--- a/WebCore/inspector/ConsoleMessage.h
+++ b/WebCore/inspector/ConsoleMessage.h
@@ -49,7 +49,7 @@ class ScriptValue;
 class ConsoleMessage : public Noncopyable {
 public:
     ConsoleMessage(MessageSource, MessageType, MessageLevel, const String& m, unsigned li, const String& u, unsigned g);
-    ConsoleMessage(MessageSource, MessageType, MessageLevel, const String& m, PassOwnPtr<ScriptArguments>, PassOwnPtr<ScriptCallStack>, unsigned g);
+    ConsoleMessage(MessageSource, MessageType, MessageLevel, const String& m, PassRefPtr<ScriptArguments>, PassRefPtr<ScriptCallStack>, unsigned g);
 
     void addToFrontend(InspectorFrontend*, InjectedScriptHost*);
     void updateRepeatCountInConsole(InspectorFrontend* frontend);
@@ -64,8 +64,8 @@ private:
     MessageType m_type;
     MessageLevel m_level;
     String m_message;
-    OwnPtr<ScriptArguments> m_arguments;
-    OwnPtr<ScriptCallStack> m_callStack;
+    RefPtr<ScriptArguments> m_arguments;
+    RefPtr<ScriptCallStack> m_callStack;
     unsigned m_line;
     String m_url;
     unsigned m_groupLevel;
diff --git a/WebCore/inspector/InspectorController.cpp b/WebCore/inspector/InspectorController.cpp
index 243b7ac..92282e4 100644
--- a/WebCore/inspector/InspectorController.cpp
+++ b/WebCore/inspector/InspectorController.cpp
@@ -330,7 +330,7 @@ void InspectorController::setConsoleMessagesEnabled(bool enabled)
         m_consoleMessages[i]->addToFrontend(m_frontend.get(), m_injectedScriptHost.get());
 }
 
-void InspectorController::addMessageToConsole(MessageSource source, MessageType type, MessageLevel level, const String& message, PassOwnPtr<ScriptArguments> arguments, PassOwnPtr<ScriptCallStack> callStack)
+void InspectorController::addMessageToConsole(MessageSource source, MessageType type, MessageLevel level, const String& message, PassRefPtr<ScriptArguments> arguments, PassRefPtr<ScriptCallStack> callStack)
 {
     if (!enabled())
         return;
@@ -381,7 +381,7 @@ void InspectorController::clearConsoleMessages()
         m_frontend->consoleMessagesCleared();
 }
 
-void InspectorController::startGroup(PassOwnPtr<ScriptArguments> arguments, PassOwnPtr<ScriptCallStack> callStack, bool collapsed)
+void InspectorController::startGroup(PassRefPtr<ScriptArguments> arguments, PassRefPtr<ScriptCallStack> callStack, bool collapsed)
 {
     ++m_groupLevel;
 
diff --git a/WebCore/inspector/InspectorController.h b/WebCore/inspector/InspectorController.h
index ca5a9d9..5b407e0 100644
--- a/WebCore/inspector/InspectorController.h
+++ b/WebCore/inspector/InspectorController.h
@@ -146,7 +146,7 @@ public:
     void disconnectFrontend();
 
     void setConsoleMessagesEnabled(bool enabled, bool* newState);
-    void addMessageToConsole(MessageSource, MessageType, MessageLevel, const String& message, PassOwnPtr<ScriptArguments> arguments, PassOwnPtr<ScriptCallStack>);
+    void addMessageToConsole(MessageSource, MessageType, MessageLevel, const String& message, PassRefPtr<ScriptArguments> arguments, PassRefPtr<ScriptCallStack>);
     void addMessageToConsole(MessageSource, MessageType, MessageLevel, const String& message, unsigned lineNumber, const String&);
     void clearConsoleMessages();
     const Vector<OwnPtr<ConsoleMessage> >& consoleMessages() const { return m_consoleMessages; }
@@ -230,7 +230,7 @@ public:
     void startTiming(const String& title);
     bool stopTiming(const String& title, double& elapsed);
 
-    void startGroup(PassOwnPtr<ScriptArguments>, PassOwnPtr<ScriptCallStack> callFrame, bool collapsed = false);
+    void startGroup(PassRefPtr<ScriptArguments>, PassRefPtr<ScriptCallStack> callFrame, bool collapsed = false);
     void endGroup(MessageSource source, unsigned lineNumber, const String& sourceURL);
 
     void markTimeline(const String& message);
diff --git a/WebCore/inspector/ScriptArguments.cpp b/WebCore/inspector/ScriptArguments.cpp
index e30e135..b0fe554 100644
--- a/WebCore/inspector/ScriptArguments.cpp
+++ b/WebCore/inspector/ScriptArguments.cpp
@@ -35,6 +35,11 @@
 
 namespace WebCore {
 
+PassRefPtr<ScriptArguments> ScriptArguments::create(ScriptState* scriptState, Vector<ScriptValue>& arguments)
+{
+    return adoptRef(new ScriptArguments(scriptState, arguments));
+}
+
 ScriptArguments::ScriptArguments(ScriptState* scriptState, Vector<ScriptValue>& arguments)
     : m_scriptState(scriptState)
 {
diff --git a/WebCore/inspector/ScriptArguments.h b/WebCore/inspector/ScriptArguments.h
index fdf05ab..26549b6 100644
--- a/WebCore/inspector/ScriptArguments.h
+++ b/WebCore/inspector/ScriptArguments.h
@@ -33,15 +33,18 @@
 
 #include "PlatformString.h"
 #include "ScriptState.h"
+#include <wtf/Forward.h>
+#include <wtf/RefCounted.h>
 #include <wtf/Vector.h>
 
 namespace WebCore {
 
 class ScriptValue;
 
-class ScriptArguments {
+class ScriptArguments : public RefCounted<ScriptArguments> {
 public:
-    ScriptArguments(ScriptState*, Vector<ScriptValue>& arguments);
+    static PassRefPtr<ScriptArguments> create(ScriptState*, Vector<ScriptValue>& arguments);
+
     ~ScriptArguments();
 
     const ScriptValue& argumentAt(size_t) const;
@@ -53,6 +56,8 @@ public:
     bool isEqual(ScriptArguments*) const;
 
 private:
+    ScriptArguments(ScriptState*, Vector<ScriptValue>& arguments);
+
     ScriptStateProtectedPtr m_scriptState;
     Vector<ScriptValue> m_arguments;
 };
diff --git a/WebCore/inspector/ScriptCallFrame.h b/WebCore/inspector/ScriptCallFrame.h
index 60d77e1..2a1f257 100644
--- a/WebCore/inspector/ScriptCallFrame.h
+++ b/WebCore/inspector/ScriptCallFrame.h
@@ -32,7 +32,7 @@
 #define ScriptCallFrame_h
 
 #include "PlatformString.h"
-#include <wtf/PassRefPtr.h>
+#include <wtf/Forward.h>
 
 namespace WebCore {
 
diff --git a/WebCore/inspector/ScriptCallStack.cpp b/WebCore/inspector/ScriptCallStack.cpp
index 31ec1c1..70229e5 100644
--- a/WebCore/inspector/ScriptCallStack.cpp
+++ b/WebCore/inspector/ScriptCallStack.cpp
@@ -35,6 +35,11 @@
 
 namespace WebCore {
 
+PassRefPtr<ScriptCallStack> ScriptCallStack::create(Vector<ScriptCallFrame>& frames)
+{
+    return adoptRef(new ScriptCallStack(frames));
+}
+
 ScriptCallStack::ScriptCallStack(Vector<ScriptCallFrame>& frames)
 {
     m_frames.swap(frames);
@@ -44,13 +49,13 @@ ScriptCallStack::~ScriptCallStack()
 {
 }
 
-const ScriptCallFrame &ScriptCallStack::at(size_t index)
+const ScriptCallFrame &ScriptCallStack::at(size_t index) const
 {
     ASSERT(m_frames.size() > index);
     return m_frames[index];
 }
 
-size_t ScriptCallStack::size()
+size_t ScriptCallStack::size() const
 {
     return m_frames.size();
 }
diff --git a/WebCore/inspector/ScriptCallStack.h b/WebCore/inspector/ScriptCallStack.h
index 54c6bba..36ea670 100644
--- a/WebCore/inspector/ScriptCallStack.h
+++ b/WebCore/inspector/ScriptCallStack.h
@@ -32,28 +32,32 @@
 #define ScriptCallStack_h
 
 #include "ScriptCallFrame.h"
-#include <wtf/Noncopyable.h>
+#include <wtf/Forward.h>
+#include <wtf/RefCounted.h>
 #include <wtf/Vector.h>
 
 namespace WebCore {
 
 class InspectorArray;
 
-class ScriptCallStack : public Noncopyable {
+class ScriptCallStack : public RefCounted<ScriptCallStack> {
 public:
     static const size_t maxCallStackSizeToCapture = 200;
+    
+    static PassRefPtr<ScriptCallStack> create(Vector<ScriptCallFrame>&);
 
-    ScriptCallStack(Vector<ScriptCallFrame>&);
     ~ScriptCallStack();
 
-    const ScriptCallFrame &at(size_t);
-    size_t size();
+    const ScriptCallFrame &at(size_t) const;
+    size_t size() const;
     static bool stackTrace(int, const RefPtr<InspectorArray>&);
 
     bool isEqual(ScriptCallStack*) const;
     PassRefPtr<InspectorArray> buildInspectorObject() const;
 
 private:
+    ScriptCallStack(Vector<ScriptCallFrame>&);
+
     Vector<ScriptCallFrame> m_frames;
 };
 
diff --git a/WebCore/page/Console.cpp b/WebCore/page/Console.cpp
index 34db538..219647d 100644
--- a/WebCore/page/Console.cpp
+++ b/WebCore/page/Console.cpp
@@ -137,7 +137,7 @@ void Console::addMessage(MessageSource source, MessageType type, MessageLevel le
     addMessage(source, type, level, message, lineNumber, sourceURL, 0);
 }
 
-void Console::addMessage(MessageSource source, MessageType type, MessageLevel level, const String& message, unsigned lineNumber, const String& sourceURL, PassOwnPtr<ScriptCallStack> callStack)
+void Console::addMessage(MessageSource source, MessageType type, MessageLevel level, const String& message, unsigned lineNumber, const String& sourceURL, PassRefPtr<ScriptCallStack> callStack)
 {
     Page* page = this->page();
     if (!page)
@@ -162,7 +162,7 @@ void Console::addMessage(MessageSource source, MessageType type, MessageLevel le
     printf(" %s\n", message.utf8().data());
 }
 
-void Console::addMessage(MessageType type, MessageLevel level, PassOwnPtr<ScriptArguments> arguments,  PassOwnPtr<ScriptCallStack> callStack, bool acceptNoArguments)
+void Console::addMessage(MessageType type, MessageLevel level, PassRefPtr<ScriptArguments> arguments,  PassRefPtr<ScriptCallStack> callStack, bool acceptNoArguments)
 {
     Page* page = this->page();
     if (!page)
@@ -194,39 +194,39 @@ void Console::addMessage(MessageType type, MessageLevel level, PassOwnPtr<Script
 #endif
 }
 
-void Console::debug(PassOwnPtr<ScriptArguments> arguments, PassOwnPtr<ScriptCallStack> callStack)
+void Console::debug(PassRefPtr<ScriptArguments> arguments, PassRefPtr<ScriptCallStack> callStack)
 {
     // In Firebug, console.debug has the same behavior as console.log. So we'll do the same.
     log(arguments, callStack);
 }
 
-void Console::error(PassOwnPtr<ScriptArguments> arguments, PassOwnPtr<ScriptCallStack> callStack)
+void Console::error(PassRefPtr<ScriptArguments> arguments, PassRefPtr<ScriptCallStack> callStack)
 {
     addMessage(LogMessageType, ErrorMessageLevel, arguments, callStack);
 }
 
-void Console::info(PassOwnPtr<ScriptArguments> arguments, PassOwnPtr<ScriptCallStack> callStack)
+void Console::info(PassRefPtr<ScriptArguments> arguments, PassRefPtr<ScriptCallStack> callStack)
 {
     log(arguments, callStack);
 }
 
-void Console::log(PassOwnPtr<ScriptArguments> arguments, PassOwnPtr<ScriptCallStack> callStack)
+void Console::log(PassRefPtr<ScriptArguments> arguments, PassRefPtr<ScriptCallStack> callStack)
 {
     addMessage(LogMessageType, LogMessageLevel, arguments, callStack);
 }
 
-void Console::dir(PassOwnPtr<ScriptArguments> arguments, PassOwnPtr<ScriptCallStack> callStack)
+void Console::dir(PassRefPtr<ScriptArguments> arguments, PassRefPtr<ScriptCallStack> callStack)
 {
     addMessage(ObjectMessageType, LogMessageLevel, arguments, callStack);
 }
 
-void Console::dirxml(PassOwnPtr<ScriptArguments> arguments, PassOwnPtr<ScriptCallStack> callStack)
+void Console::dirxml(PassRefPtr<ScriptArguments> arguments, PassRefPtr<ScriptCallStack> callStack)
 {
     // The standard behavior of our console.log will print the DOM tree for nodes.
     log(arguments, callStack);
 }
 
-void Console::trace(PassOwnPtr<ScriptArguments> arguments, PassOwnPtr<ScriptCallStack> callStack)
+void Console::trace(PassRefPtr<ScriptArguments> arguments, PassRefPtr<ScriptCallStack> callStack)
 {
     addMessage(TraceMessageType, LogMessageLevel, arguments, callStack, true);
 
@@ -240,7 +240,7 @@ void Console::trace(PassOwnPtr<ScriptArguments> arguments, PassOwnPtr<ScriptCall
     }
 }
 
-void Console::assertCondition(bool condition, PassOwnPtr<ScriptArguments> arguments, PassOwnPtr<ScriptCallStack> callStack)
+void Console::assertCondition(bool condition, PassRefPtr<ScriptArguments> arguments, PassRefPtr<ScriptCallStack> callStack)
 {
     if (condition)
         return;
@@ -248,7 +248,7 @@ void Console::assertCondition(bool condition, PassOwnPtr<ScriptArguments> argume
     addMessage(AssertMessageType, ErrorMessageLevel, arguments, callStack, true);
 }
 
-void Console::count(PassOwnPtr<ScriptArguments> arguments, PassOwnPtr<ScriptCallStack> callStack)
+void Console::count(PassRefPtr<ScriptArguments> arguments, PassRefPtr<ScriptCallStack> callStack)
 {
 #if ENABLE(INSPECTOR)
     Page* page = this->page();
@@ -267,7 +267,7 @@ void Console::count(PassOwnPtr<ScriptArguments> arguments, PassOwnPtr<ScriptCall
 #endif
 }
 
-void Console::markTimeline(PassOwnPtr<ScriptArguments> arguments, PassOwnPtr<ScriptCallStack>)
+void Console::markTimeline(PassRefPtr<ScriptArguments> arguments, PassRefPtr<ScriptCallStack>)
 {
 #if ENABLE(INSPECTOR)
     Page* page = this->page();
@@ -312,7 +312,7 @@ String Console::lastWMLErrorMessage() const
 
 #if ENABLE(JAVASCRIPT_DEBUGGER)
 
-void Console::profile(const String& title, ScriptState* state, PassOwnPtr<ScriptCallStack> callStack)
+void Console::profile(const String& title, ScriptState* state, PassRefPtr<ScriptCallStack> callStack)
 {
     Page* page = this->page();
     if (!page)
@@ -341,7 +341,7 @@ void Console::profile(const String& title, ScriptState* state, PassOwnPtr<Script
 #endif
 }
 
-void Console::profileEnd(const String& title, ScriptState* state, PassOwnPtr<ScriptCallStack> callStack)
+void Console::profileEnd(const String& title, ScriptState* state, PassRefPtr<ScriptCallStack> callStack)
 {
     Page* page = this->page();
     if (!page)
@@ -385,7 +385,7 @@ void Console::time(const String& title)
 #endif
 }
 
-void Console::timeEnd(const String& title, PassOwnPtr<ScriptArguments>, PassOwnPtr<ScriptCallStack> callStack)
+void Console::timeEnd(const String& title, PassRefPtr<ScriptArguments>, PassRefPtr<ScriptCallStack> callStack)
 {
 #if ENABLE(INSPECTOR)
     Page* page = this->page();
@@ -411,7 +411,7 @@ void Console::timeEnd(const String& title, PassOwnPtr<ScriptArguments>, PassOwnP
 #endif
 }
 
-void Console::group(PassOwnPtr<ScriptArguments> arguments, PassOwnPtr<ScriptCallStack> callStack)
+void Console::group(PassRefPtr<ScriptArguments> arguments, PassRefPtr<ScriptCallStack> callStack)
 {
 #if ENABLE(INSPECTOR)
     Page* page = this->page();
@@ -425,7 +425,7 @@ void Console::group(PassOwnPtr<ScriptArguments> arguments, PassOwnPtr<ScriptCall
 #endif
 }
 
-void Console::groupCollapsed(PassOwnPtr<ScriptArguments> arguments, PassOwnPtr<ScriptCallStack> callStack)
+void Console::groupCollapsed(PassRefPtr<ScriptArguments> arguments, PassRefPtr<ScriptCallStack> callStack)
 {
 #if ENABLE(INSPECTOR)
     Page* page = this->page();
@@ -463,7 +463,7 @@ bool Console::shouldCaptureFullStackTrace() const
 #endif
 }
 
-void Console::warn(PassOwnPtr<ScriptArguments> arguments, PassOwnPtr<ScriptCallStack> callStack)
+void Console::warn(PassRefPtr<ScriptArguments> arguments, PassRefPtr<ScriptCallStack> callStack)
 {
     addMessage(LogMessageType, WarningMessageLevel, arguments, callStack);
 }
diff --git a/WebCore/page/Console.h b/WebCore/page/Console.h
index 92fee59..19f1a57 100644
--- a/WebCore/page/Console.h
+++ b/WebCore/page/Console.h
@@ -87,31 +87,31 @@ public:
     void disconnectFrame();
 
     void addMessage(MessageSource, MessageType, MessageLevel, const String& message, unsigned lineNumber, const String& sourceURL);
-    void addMessage(MessageSource, MessageType, MessageLevel, const String& message, unsigned lineNumber, const String& sourceURL, PassOwnPtr<ScriptCallStack> callStack);
-
-    void debug(PassOwnPtr<ScriptArguments>, PassOwnPtr<ScriptCallStack>);
-    void error(PassOwnPtr<ScriptArguments>, PassOwnPtr<ScriptCallStack>);
-    void info(PassOwnPtr<ScriptArguments>, PassOwnPtr<ScriptCallStack>);
-    void log(PassOwnPtr<ScriptArguments>, PassOwnPtr<ScriptCallStack>);
-    void warn(PassOwnPtr<ScriptArguments>, PassOwnPtr<ScriptCallStack>);
-    void dir(PassOwnPtr<ScriptArguments>, PassOwnPtr<ScriptCallStack>);
-    void dirxml(PassOwnPtr<ScriptArguments>, PassOwnPtr<ScriptCallStack>);
-    void trace(PassOwnPtr<ScriptArguments>, PassOwnPtr<ScriptCallStack>);
-    void assertCondition(bool condition, PassOwnPtr<ScriptArguments>, PassOwnPtr<ScriptCallStack>);
-    void count(PassOwnPtr<ScriptArguments>, PassOwnPtr<ScriptCallStack>);
-    void markTimeline(PassOwnPtr<ScriptArguments>, PassOwnPtr<ScriptCallStack>);
+    void addMessage(MessageSource, MessageType, MessageLevel, const String& message, unsigned lineNumber, const String& sourceURL, PassRefPtr<ScriptCallStack> callStack);
+
+    void debug(PassRefPtr<ScriptArguments>, PassRefPtr<ScriptCallStack>);
+    void error(PassRefPtr<ScriptArguments>, PassRefPtr<ScriptCallStack>);
+    void info(PassRefPtr<ScriptArguments>, PassRefPtr<ScriptCallStack>);
+    void log(PassRefPtr<ScriptArguments>, PassRefPtr<ScriptCallStack>);
+    void warn(PassRefPtr<ScriptArguments>, PassRefPtr<ScriptCallStack>);
+    void dir(PassRefPtr<ScriptArguments>, PassRefPtr<ScriptCallStack>);
+    void dirxml(PassRefPtr<ScriptArguments>, PassRefPtr<ScriptCallStack>);
+    void trace(PassRefPtr<ScriptArguments>, PassRefPtr<ScriptCallStack>);
+    void assertCondition(bool condition, PassRefPtr<ScriptArguments>, PassRefPtr<ScriptCallStack>);
+    void count(PassRefPtr<ScriptArguments>, PassRefPtr<ScriptCallStack>);
+    void markTimeline(PassRefPtr<ScriptArguments>, PassRefPtr<ScriptCallStack>);
 #if ENABLE(WML)
     String lastWMLErrorMessage() const;
 #endif
 #if ENABLE(JAVASCRIPT_DEBUGGER)
     const ProfilesArray& profiles() const { return m_profiles; }
-    void profile(const String&, ScriptState*, PassOwnPtr<ScriptCallStack>);
-    void profileEnd(const String&, ScriptState*, PassOwnPtr<ScriptCallStack>);
+    void profile(const String&, ScriptState*, PassRefPtr<ScriptCallStack>);
+    void profileEnd(const String&, ScriptState*, PassRefPtr<ScriptCallStack>);
 #endif
     void time(const String&);
-    void timeEnd(const String&, PassOwnPtr<ScriptArguments>, PassOwnPtr<ScriptCallStack>);
-    void group(PassOwnPtr<ScriptArguments>, PassOwnPtr<ScriptCallStack>);
-    void groupCollapsed(PassOwnPtr<ScriptArguments>, PassOwnPtr<ScriptCallStack>);
+    void timeEnd(const String&, PassRefPtr<ScriptArguments>, PassRefPtr<ScriptCallStack>);
+    void group(PassRefPtr<ScriptArguments>, PassRefPtr<ScriptCallStack>);
+    void groupCollapsed(PassRefPtr<ScriptArguments>, PassRefPtr<ScriptCallStack>);
     void groupEnd();
 
     bool shouldCaptureFullStackTrace() const;
@@ -123,7 +123,7 @@ public:
 
 private:
     inline Page* page() const;
-    void addMessage(MessageType, MessageLevel, PassOwnPtr<ScriptArguments>, PassOwnPtr<ScriptCallStack>, bool acceptNoArguments = false);
+    void addMessage(MessageType, MessageLevel, PassRefPtr<ScriptArguments>, PassRefPtr<ScriptCallStack>, bool acceptNoArguments = false);
 
     Console(Frame*);
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list