Title: [201253] trunk/Source
Revision
201253
Author
[email protected]
Date
2016-05-22 10:27:18 -0700 (Sun, 22 May 2016)

Log Message

Remove uses of PassRefPtr in JS bindings code
https://bugs.webkit.org/show_bug.cgi?id=157949

Reviewed by Andreas Kling.

Remove uses of PassRefPtr in JS bindings code.

Source/_javascript_Core:

* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::queueMicrotask):
* runtime/JSGlobalObject.h:

Source/WebCore:

* bindings/js/JSDOMBinding.cpp:
(WebCore::jsArray):
* bindings/js/JSDOMBinding.h:
* bindings/js/JSDOMGlobalObject.cpp:
(WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
* bindings/js/JSDOMGlobalObject.h:
* bindings/js/JSDOMGlobalObjectTask.cpp:
(WebCore::JSGlobalObjectTask::JSGlobalObjectTask):
* bindings/js/JSDOMGlobalObjectTask.h:
* bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::JSDOMWindowBase):
(WebCore::JSDOMWindowMicrotaskCallback::create):
(WebCore::JSDOMWindowMicrotaskCallback::call):
(WebCore::JSDOMWindowMicrotaskCallback::JSDOMWindowMicrotaskCallback):
(WebCore::JSDOMWindowBase::queueTaskToEventLoop):
* bindings/js/JSDOMWindowBase.h:
* bindings/js/JSDOMWindowShell.cpp:
(WebCore::JSDOMWindowShell::finishCreation):
(WebCore::JSDOMWindowShell::setWindow):
* bindings/js/JSDOMWindowShell.h:
(WebCore::JSDOMWindowShell::create):
* bindings/js/JSWorkerGlobalScopeBase.cpp:
(WebCore::JSWorkerGlobalScopeBase::JSWorkerGlobalScopeBase):
(WebCore::JSWorkerGlobalScopeBase::queueTaskToEventLoop):
* bindings/js/JSWorkerGlobalScopeBase.h:
* bindings/objc/DOMCustomXPathNSResolver.h:
* bindings/scripts/CodeGeneratorJS.pm:
(GetNativeTypeForCallbacks):
* bindings/scripts/test/JS/JSTestCallback.cpp:
(WebCore::JSTestCallback::callbackWithSerializedScriptValueParam):
(WebCore::JSTestCallback::callbackWithStringList):
* bindings/scripts/test/JS/JSTestCallback.h:
* bindings/scripts/test/JS/JSTestCallbackFunction.cpp:
(WebCore::JSTestCallbackFunction::callbackWithSerializedScriptValueParam):
(WebCore::JSTestCallbackFunction::callbackWithStringList):
* bindings/scripts/test/JS/JSTestCallbackFunction.h:

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (201252 => 201253)


--- trunk/Source/_javascript_Core/ChangeLog	2016-05-22 16:51:47 UTC (rev 201252)
+++ trunk/Source/_javascript_Core/ChangeLog	2016-05-22 17:27:18 UTC (rev 201253)
@@ -1,3 +1,16 @@
+2016-05-22  Chris Dumez  <[email protected]>
+
+        Remove uses of PassRefPtr in JS bindings code
+        https://bugs.webkit.org/show_bug.cgi?id=157949
+
+        Reviewed by Andreas Kling.
+
+        Remove uses of PassRefPtr in JS bindings code.
+
+        * runtime/JSGlobalObject.cpp:
+        (JSC::JSGlobalObject::queueMicrotask):
+        * runtime/JSGlobalObject.h:
+
 2016-05-20  Joseph Pecoraro  <[email protected]>
 
         Remove LegacyProfiler

Modified: trunk/Source/_javascript_Core/runtime/JSGlobalObject.cpp (201252 => 201253)


--- trunk/Source/_javascript_Core/runtime/JSGlobalObject.cpp	2016-05-22 16:51:47 UTC (rev 201252)
+++ trunk/Source/_javascript_Core/runtime/JSGlobalObject.cpp	2016-05-22 17:27:18 UTC (rev 201253)
@@ -1356,14 +1356,14 @@
 }
 #endif // ENABLE(INTL)
 
-void JSGlobalObject::queueMicrotask(PassRefPtr<Microtask> task)
+void JSGlobalObject::queueMicrotask(Ref<Microtask>&& task)
 {
     if (globalObjectMethodTable()->queueTaskToEventLoop) {
-        globalObjectMethodTable()->queueTaskToEventLoop(this, task);
+        globalObjectMethodTable()->queueTaskToEventLoop(this, WTFMove(task));
         return;
     }
 
-    vm().queueMicrotask(this, task);
+    vm().queueMicrotask(this, WTFMove(task));
 }
 
 bool JSGlobalObject::hasDebugger() const

Modified: trunk/Source/_javascript_Core/runtime/JSGlobalObject.h (201252 => 201253)


--- trunk/Source/_javascript_Core/runtime/JSGlobalObject.h	2016-05-22 16:51:47 UTC (rev 201252)
+++ trunk/Source/_javascript_Core/runtime/JSGlobalObject.h	2016-05-22 17:27:18 UTC (rev 201253)
@@ -160,7 +160,7 @@
     typedef RuntimeFlags (*_javascript_RuntimeFlagsFunctionPtr)(const JSGlobalObject*);
     _javascript_RuntimeFlagsFunctionPtr _javascript_RuntimeFlags;
 
-    typedef void (*QueueTaskToEventLoopFunctionPtr)(const JSGlobalObject*, PassRefPtr<Microtask>);
+    typedef void (*QueueTaskToEventLoopFunctionPtr)(const JSGlobalObject*, Ref<Microtask>&&);
     QueueTaskToEventLoopFunctionPtr queueTaskToEventLoop;
 
     typedef bool (*ShouldInterruptScriptBeforeTimeoutPtr)(const JSGlobalObject*);
@@ -721,7 +721,7 @@
     static bool shouldInterruptScriptBeforeTimeout(const JSGlobalObject*) { return false; }
     static RuntimeFlags _javascript_RuntimeFlags(const JSGlobalObject*) { return RuntimeFlags(); }
 
-    void queueMicrotask(PassRefPtr<Microtask>);
+    void queueMicrotask(Ref<Microtask>&&);
 
     bool evalEnabled() const { return m_evalEnabled; }
     const String& evalDisabledErrorMessage() const { return m_evalDisabledErrorMessage; }

Modified: trunk/Source/WebCore/ChangeLog (201252 => 201253)


--- trunk/Source/WebCore/ChangeLog	2016-05-22 16:51:47 UTC (rev 201252)
+++ trunk/Source/WebCore/ChangeLog	2016-05-22 17:27:18 UTC (rev 201253)
@@ -1,3 +1,49 @@
+2016-05-22  Chris Dumez  <[email protected]>
+
+        Remove uses of PassRefPtr in JS bindings code
+        https://bugs.webkit.org/show_bug.cgi?id=157949
+
+        Reviewed by Andreas Kling.
+
+        Remove uses of PassRefPtr in JS bindings code.
+
+        * bindings/js/JSDOMBinding.cpp:
+        (WebCore::jsArray):
+        * bindings/js/JSDOMBinding.h:
+        * bindings/js/JSDOMGlobalObject.cpp:
+        (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
+        * bindings/js/JSDOMGlobalObject.h:
+        * bindings/js/JSDOMGlobalObjectTask.cpp:
+        (WebCore::JSGlobalObjectTask::JSGlobalObjectTask):
+        * bindings/js/JSDOMGlobalObjectTask.h:
+        * bindings/js/JSDOMWindowBase.cpp:
+        (WebCore::JSDOMWindowBase::JSDOMWindowBase):
+        (WebCore::JSDOMWindowMicrotaskCallback::create):
+        (WebCore::JSDOMWindowMicrotaskCallback::call):
+        (WebCore::JSDOMWindowMicrotaskCallback::JSDOMWindowMicrotaskCallback):
+        (WebCore::JSDOMWindowBase::queueTaskToEventLoop):
+        * bindings/js/JSDOMWindowBase.h:
+        * bindings/js/JSDOMWindowShell.cpp:
+        (WebCore::JSDOMWindowShell::finishCreation):
+        (WebCore::JSDOMWindowShell::setWindow):
+        * bindings/js/JSDOMWindowShell.h:
+        (WebCore::JSDOMWindowShell::create):
+        * bindings/js/JSWorkerGlobalScopeBase.cpp:
+        (WebCore::JSWorkerGlobalScopeBase::JSWorkerGlobalScopeBase):
+        (WebCore::JSWorkerGlobalScopeBase::queueTaskToEventLoop):
+        * bindings/js/JSWorkerGlobalScopeBase.h:
+        * bindings/objc/DOMCustomXPathNSResolver.h:
+        * bindings/scripts/CodeGeneratorJS.pm:
+        (GetNativeTypeForCallbacks):
+        * bindings/scripts/test/JS/JSTestCallback.cpp:
+        (WebCore::JSTestCallback::callbackWithSerializedScriptValueParam):
+        (WebCore::JSTestCallback::callbackWithStringList):
+        * bindings/scripts/test/JS/JSTestCallback.h:
+        * bindings/scripts/test/JS/JSTestCallbackFunction.cpp:
+        (WebCore::JSTestCallbackFunction::callbackWithSerializedScriptValueParam):
+        (WebCore::JSTestCallbackFunction::callbackWithStringList):
+        * bindings/scripts/test/JS/JSTestCallbackFunction.h:
+
 2016-05-20  Dan Bernstein  <[email protected]>
 
         Fixed USE(APPLE_INTERNAL_SDK) builds.

Modified: trunk/Source/WebCore/bindings/js/JSDOMBinding.cpp (201252 => 201253)


--- trunk/Source/WebCore/bindings/js/JSDOMBinding.cpp	2016-05-22 16:51:47 UTC (rev 201252)
+++ trunk/Source/WebCore/bindings/js/JSDOMBinding.cpp	2016-05-22 17:27:18 UTC (rev 201253)
@@ -146,7 +146,7 @@
     return static_cast<DateInstance*>(value.toObject(exec))->internalNumber();
 }
 
-JSC::JSValue jsArray(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<DOMStringList> stringList)
+JSC::JSValue jsArray(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, DOMStringList* stringList)
 {
     JSC::MarkedArgumentBuffer list;
     if (stringList) {

Modified: trunk/Source/WebCore/bindings/js/JSDOMBinding.h (201252 => 201253)


--- trunk/Source/WebCore/bindings/js/JSDOMBinding.h	2016-05-22 16:51:47 UTC (rev 201252)
+++ trunk/Source/WebCore/bindings/js/JSDOMBinding.h	2016-05-22 17:27:18 UTC (rev 201253)
@@ -265,7 +265,7 @@
 
 template<typename T, size_t inlineCapacity> JSC::JSValue jsArray(JSC::ExecState*, JSDOMGlobalObject*, const Vector<T, inlineCapacity>&);
 template<typename T, size_t inlineCapacity> JSC::JSValue jsArray(JSC::ExecState*, JSDOMGlobalObject*, const Vector<T, inlineCapacity>*);
-WEBCORE_EXPORT JSC::JSValue jsArray(JSC::ExecState*, JSDOMGlobalObject*, PassRefPtr<DOMStringList>);
+WEBCORE_EXPORT JSC::JSValue jsArray(JSC::ExecState*, JSDOMGlobalObject*, DOMStringList*);
 
 JSC::JSValue jsPair(JSC::ExecState&, JSDOMGlobalObject*, JSC::JSValue, JSC::JSValue);
 template<typename FirstType, typename SecondType> JSC::JSValue jsPair(JSC::ExecState&, JSDOMGlobalObject*, const FirstType&, const SecondType&);

Modified: trunk/Source/WebCore/bindings/js/JSDOMGlobalObject.cpp (201252 => 201253)


--- trunk/Source/WebCore/bindings/js/JSDOMGlobalObject.cpp	2016-05-22 16:51:47 UTC (rev 201252)
+++ trunk/Source/WebCore/bindings/js/JSDOMGlobalObject.cpp	2016-05-22 17:27:18 UTC (rev 201253)
@@ -46,14 +46,13 @@
 
 const ClassInfo JSDOMGlobalObject::s_info = { "DOMGlobalObject", &JSGlobalObject::s_info, 0, CREATE_METHOD_TABLE(JSDOMGlobalObject) };
 
-JSDOMGlobalObject::JSDOMGlobalObject(VM& vm, Structure* structure, PassRefPtr<DOMWrapperWorld> world, const GlobalObjectMethodTable* globalObjectMethodTable)
+JSDOMGlobalObject::JSDOMGlobalObject(VM& vm, Structure* structure, Ref<DOMWrapperWorld>&& world, const GlobalObjectMethodTable* globalObjectMethodTable)
     : JSGlobalObject(vm, structure, globalObjectMethodTable)
     , m_currentEvent(0)
-    , m_world(world)
+    , m_world(WTFMove(world))
     , m_worldIsNormal(m_world->isNormal())
     , m_builtinInternalFunctions(vm)
 {
-    ASSERT(m_world);
 }
 
 void JSDOMGlobalObject::destroy(JSCell* cell)

Modified: trunk/Source/WebCore/bindings/js/JSDOMGlobalObject.h (201252 => 201253)


--- trunk/Source/WebCore/bindings/js/JSDOMGlobalObject.h	2016-05-22 16:51:47 UTC (rev 201252)
+++ trunk/Source/WebCore/bindings/js/JSDOMGlobalObject.h	2016-05-22 17:27:18 UTC (rev 201253)
@@ -47,7 +47,7 @@
     protected:
         struct JSDOMGlobalObjectData;
 
-        JSDOMGlobalObject(JSC::VM&, JSC::Structure*, PassRefPtr<DOMWrapperWorld>, const JSC::GlobalObjectMethodTable* = 0);
+        JSDOMGlobalObject(JSC::VM&, JSC::Structure*, Ref<DOMWrapperWorld>&&, const JSC::GlobalObjectMethodTable* = 0);
         static void destroy(JSC::JSCell*);
         void finishCreation(JSC::VM&);
         void finishCreation(JSC::VM&, JSC::JSObject*);
@@ -66,7 +66,7 @@
 
         static void visitChildren(JSC::JSCell*, JSC::SlotVisitor&);
 
-        DOMWrapperWorld& world() { return *m_world; }
+        DOMWrapperWorld& world() { return m_world.get(); }
         bool worldIsNormal() const { return m_worldIsNormal; }
 
         JSBuiltinInternalFunctions& builtinInternalFunctions() { return m_builtinInternalFunctions; }
@@ -87,7 +87,7 @@
         JSDOMConstructorMap m_constructors;
 
         Event* m_currentEvent;
-        const RefPtr<DOMWrapperWorld> m_world;
+        Ref<DOMWrapperWorld> m_world;
         bool m_worldIsNormal;
 
     private:

Modified: trunk/Source/WebCore/bindings/js/JSDOMGlobalObjectTask.cpp (201252 => 201253)


--- trunk/Source/WebCore/bindings/js/JSDOMGlobalObjectTask.cpp	2016-05-22 16:51:47 UTC (rev 201252)
+++ trunk/Source/WebCore/bindings/js/JSDOMGlobalObjectTask.cpp	2016-05-22 17:27:18 UTC (rev 201253)
@@ -38,9 +38,9 @@
 
 class JSGlobalObjectCallback final : public RefCounted<JSGlobalObjectCallback>, private ActiveDOMCallback {
 public:
-    static Ref<JSGlobalObjectCallback> create(JSDOMGlobalObject* globalObject, PassRefPtr<Microtask> task)
+    static Ref<JSGlobalObjectCallback> create(JSDOMGlobalObject* globalObject, Ref<Microtask>&& task)
     {
-        return adoptRef(*new JSGlobalObjectCallback(globalObject, task));
+        return adoptRef(*new JSGlobalObjectCallback(globalObject, WTFMove(task)));
     }
 
     void call()
@@ -61,28 +61,28 @@
         // When on the main thread (e.g. the document's thread), we need to make sure to
         // push the current ExecState on to the JSMainThreadExecState stack.
         if (context->isDocument())
-            JSMainThreadExecState::runTask(exec, *m_task.get());
+            JSMainThreadExecState::runTask(exec, m_task);
         else
             m_task->run(exec);
         ASSERT(!exec->hadException());
     }
 
 private:
-    JSGlobalObjectCallback(JSDOMGlobalObject* globalObject, PassRefPtr<Microtask> task)
+    JSGlobalObjectCallback(JSDOMGlobalObject* globalObject, Ref<Microtask>&& task)
         : ActiveDOMCallback(globalObject->scriptExecutionContext())
         , m_globalObject(globalObject->vm(), globalObject)
-        , m_task(task)
+        , m_task(WTFMove(task))
     {
     }
 
     Strong<JSDOMGlobalObject> m_globalObject;
-    RefPtr<Microtask> m_task;
+    Ref<Microtask> m_task;
 };
 
-JSGlobalObjectTask::JSGlobalObjectTask(JSDOMGlobalObject* globalObject, PassRefPtr<Microtask> task)
+JSGlobalObjectTask::JSGlobalObjectTask(JSDOMGlobalObject* globalObject, Ref<Microtask>&& task)
     : ScriptExecutionContext::Task(nullptr)
 {
-    RefPtr<JSGlobalObjectCallback> callback = JSGlobalObjectCallback::create(globalObject, task);
+    RefPtr<JSGlobalObjectCallback> callback = JSGlobalObjectCallback::create(globalObject, WTFMove(task));
     m_task = [callback] (ScriptExecutionContext&) {
         callback->call();
     };

Modified: trunk/Source/WebCore/bindings/js/JSDOMGlobalObjectTask.h (201252 => 201253)


--- trunk/Source/WebCore/bindings/js/JSDOMGlobalObjectTask.h	2016-05-22 16:51:47 UTC (rev 201252)
+++ trunk/Source/WebCore/bindings/js/JSDOMGlobalObjectTask.h	2016-05-22 17:27:18 UTC (rev 201253)
@@ -33,7 +33,7 @@
 
 class JSGlobalObjectTask : public ScriptExecutionContext::Task {
 public:
-    JSGlobalObjectTask(JSDOMGlobalObject*, PassRefPtr<JSC::Microtask>);
+    JSGlobalObjectTask(JSDOMGlobalObject*, Ref<JSC::Microtask>&&);
 };
 
 } // namespace WebCore

Modified: trunk/Source/WebCore/bindings/js/JSDOMWindowBase.cpp (201252 => 201253)


--- trunk/Source/WebCore/bindings/js/JSDOMWindowBase.cpp	2016-05-22 16:51:47 UTC (rev 201252)
+++ trunk/Source/WebCore/bindings/js/JSDOMWindowBase.cpp	2016-05-22 17:27:18 UTC (rev 201253)
@@ -66,10 +66,10 @@
 
 const GlobalObjectMethodTable JSDOMWindowBase::s_globalObjectMethodTable = { &shouldAllowAccessFrom, &supportsRichSourceInfo, &shouldInterruptScript, &_javascript_RuntimeFlags, &queueTaskToEventLoop, &shouldInterruptScriptBeforeTimeout, &moduleLoaderResolve, &moduleLoaderFetch, nullptr, nullptr, &moduleLoaderEvaluate, &defaultLanguage };
 
-JSDOMWindowBase::JSDOMWindowBase(VM& vm, Structure* structure, PassRefPtr<DOMWindow> window, JSDOMWindowShell* shell)
-    : JSDOMGlobalObject(vm, structure, &shell->world(), &s_globalObjectMethodTable)
+JSDOMWindowBase::JSDOMWindowBase(VM& vm, Structure* structure, RefPtr<DOMWindow>&& window, JSDOMWindowShell* shell)
+    : JSDOMGlobalObject(vm, structure, shell->world(), &s_globalObjectMethodTable)
     , m_windowCloseWatchpoints((window && window->frame()) ? IsWatched : IsInvalidated)
-    , m_wrapped(window)
+    , m_wrapped(WTFMove(window))
     , m_shell(shell)
 {
 }
@@ -189,9 +189,9 @@
 
 class JSDOMWindowMicrotaskCallback : public RefCounted<JSDOMWindowMicrotaskCallback> {
 public:
-    static Ref<JSDOMWindowMicrotaskCallback> create(JSDOMWindowBase* globalObject, PassRefPtr<JSC::Microtask> task)
+    static Ref<JSDOMWindowMicrotaskCallback> create(JSDOMWindowBase* globalObject, Ref<JSC::Microtask>&& task)
     {
-        return adoptRef(*new JSDOMWindowMicrotaskCallback(globalObject, task));
+        return adoptRef(*new JSDOMWindowMicrotaskCallback(globalObject, WTFMove(task)));
     }
 
     void call()
@@ -201,27 +201,27 @@
 
         ExecState* exec = m_globalObject->globalExec();
 
-        JSMainThreadExecState::runTask(exec, *m_task.get());
+        JSMainThreadExecState::runTask(exec, m_task);
 
         ASSERT(!exec->hadException());
     }
 
 private:
-    JSDOMWindowMicrotaskCallback(JSDOMWindowBase* globalObject, PassRefPtr<JSC::Microtask> task)
+    JSDOMWindowMicrotaskCallback(JSDOMWindowBase* globalObject, Ref<JSC::Microtask>&& task)
         : m_globalObject(globalObject->vm(), globalObject)
-        , m_task(task)
+        , m_task(WTFMove(task))
     {
     }
 
     Strong<JSDOMWindowBase> m_globalObject;
-    RefPtr<JSC::Microtask> m_task;
+    Ref<JSC::Microtask> m_task;
 };
 
-void JSDOMWindowBase::queueTaskToEventLoop(const JSGlobalObject* object, PassRefPtr<JSC::Microtask> task)
+void JSDOMWindowBase::queueTaskToEventLoop(const JSGlobalObject* object, Ref<JSC::Microtask>&& task)
 {
     const JSDOMWindowBase* thisObject = static_cast<const JSDOMWindowBase*>(object);
 
-    RefPtr<JSDOMWindowMicrotaskCallback> callback = JSDOMWindowMicrotaskCallback::create((JSDOMWindowBase*)thisObject, task);
+    RefPtr<JSDOMWindowMicrotaskCallback> callback = JSDOMWindowMicrotaskCallback::create((JSDOMWindowBase*)thisObject, WTFMove(task));
     auto microtask = std::make_unique<ActiveDOMCallbackMicrotask>(MicrotaskQueue::mainThreadQueue(), *thisObject->scriptExecutionContext(), [callback]() mutable {
         callback->call();
     });

Modified: trunk/Source/WebCore/bindings/js/JSDOMWindowBase.h (201252 => 201253)


--- trunk/Source/WebCore/bindings/js/JSDOMWindowBase.h	2016-05-22 16:51:47 UTC (rev 201252)
+++ trunk/Source/WebCore/bindings/js/JSDOMWindowBase.h	2016-05-22 17:27:18 UTC (rev 201253)
@@ -37,7 +37,7 @@
     class WEBCORE_EXPORT JSDOMWindowBase : public JSDOMGlobalObject {
         typedef JSDOMGlobalObject Base;
     protected:
-        JSDOMWindowBase(JSC::VM&, JSC::Structure*, PassRefPtr<DOMWindow>, JSDOMWindowShell*);
+        JSDOMWindowBase(JSC::VM&, JSC::Structure*, RefPtr<DOMWindow>&&, JSDOMWindowShell*);
         void finishCreation(JSC::VM&, JSDOMWindowShell*);
 
         static void destroy(JSCell*);
@@ -64,7 +64,7 @@
         static bool shouldInterruptScript(const JSC::JSGlobalObject*);
         static bool shouldInterruptScriptBeforeTimeout(const JSC::JSGlobalObject*);
         static JSC::RuntimeFlags _javascript_RuntimeFlags(const JSC::JSGlobalObject*);
-        static void queueTaskToEventLoop(const JSC::JSGlobalObject*, PassRefPtr<JSC::Microtask>);
+        static void queueTaskToEventLoop(const JSC::JSGlobalObject*, Ref<JSC::Microtask>&&);
         
         void printErrorMessage(const String&) const;
 

Modified: trunk/Source/WebCore/bindings/js/JSDOMWindowShell.cpp (201252 => 201253)


--- trunk/Source/WebCore/bindings/js/JSDOMWindowShell.cpp	2016-05-22 16:51:47 UTC (rev 201252)
+++ trunk/Source/WebCore/bindings/js/JSDOMWindowShell.cpp	2016-05-22 17:27:18 UTC (rev 201253)
@@ -49,11 +49,11 @@
 {
 }
 
-void JSDOMWindowShell::finishCreation(VM& vm, PassRefPtr<DOMWindow> window)
+void JSDOMWindowShell::finishCreation(VM& vm, RefPtr<DOMWindow>&& window)
 {
     Base::finishCreation(vm);
     ASSERT(inherits(info()));
-    setWindow(window);
+    setWindow(WTFMove(window));
 }
 
 void JSDOMWindowShell::destroy(JSCell* cell)
@@ -69,7 +69,7 @@
     GCController::singleton().garbageCollectSoon();
 }
 
-void JSDOMWindowShell::setWindow(PassRefPtr<DOMWindow> domWindow)
+void JSDOMWindowShell::setWindow(RefPtr<DOMWindow>&& domWindow)
 {
     // Replacing JSDOMWindow via telling JSDOMWindowShell to use the same DOMWindow it already uses makes no sense,
     // so we'd better never try to.

Modified: trunk/Source/WebCore/bindings/js/JSDOMWindowShell.h (201252 => 201253)


--- trunk/Source/WebCore/bindings/js/JSDOMWindowShell.h	2016-05-22 16:51:47 UTC (rev 201252)
+++ trunk/Source/WebCore/bindings/js/JSDOMWindowShell.h	2016-05-22 17:27:18 UTC (rev 201253)
@@ -44,16 +44,16 @@
 
         JSDOMWindow* window() const { return JSC::jsCast<JSDOMWindow*>(target()); }
         void setWindow(JSC::VM&, JSDOMWindow*);
-        void setWindow(PassRefPtr<DOMWindow>);
+        void setWindow(RefPtr<DOMWindow>&&);
 
         DECLARE_INFO;
 
         DOMWindow& wrapped() const;
 
-        static JSDOMWindowShell* create(JSC::VM& vm, PassRefPtr<DOMWindow> window, JSC::Structure* structure, DOMWrapperWorld& world)
+        static JSDOMWindowShell* create(JSC::VM& vm, RefPtr<DOMWindow>&& window, JSC::Structure* structure, DOMWrapperWorld& world)
         {
             JSDOMWindowShell* shell = new (NotNull, JSC::allocateCell<JSDOMWindowShell>(vm.heap)) JSDOMWindowShell(vm, structure, world);
-            shell->finishCreation(vm, window);
+            shell->finishCreation(vm, WTFMove(window));
             return shell; 
         }
 
@@ -66,7 +66,7 @@
 
     protected:
         JSDOMWindowShell(JSC::VM&, JSC::Structure*, DOMWrapperWorld&);
-        void finishCreation(JSC::VM&, PassRefPtr<DOMWindow>);
+        void finishCreation(JSC::VM&, RefPtr<DOMWindow>&&);
 
         Ref<DOMWrapperWorld> m_world;
     };

Modified: trunk/Source/WebCore/bindings/js/JSWorkerGlobalScopeBase.cpp (201252 => 201253)


--- trunk/Source/WebCore/bindings/js/JSWorkerGlobalScopeBase.cpp	2016-05-22 16:51:47 UTC (rev 201252)
+++ trunk/Source/WebCore/bindings/js/JSWorkerGlobalScopeBase.cpp	2016-05-22 17:27:18 UTC (rev 201253)
@@ -46,9 +46,9 @@
 
 const GlobalObjectMethodTable JSWorkerGlobalScopeBase::s_globalObjectMethodTable = { &allowsAccessFrom, &supportsRichSourceInfo, &shouldInterruptScript, &_javascript_RuntimeFlags, &queueTaskToEventLoop, &shouldInterruptScriptBeforeTimeout, nullptr, nullptr, nullptr, nullptr, nullptr, &defaultLanguage };
 
-JSWorkerGlobalScopeBase::JSWorkerGlobalScopeBase(JSC::VM& vm, JSC::Structure* structure, PassRefPtr<WorkerGlobalScope> impl)
-    : JSDOMGlobalObject(vm, structure, &normalWorld(vm), &s_globalObjectMethodTable)
-    , m_wrapped(impl)
+JSWorkerGlobalScopeBase::JSWorkerGlobalScopeBase(JSC::VM& vm, JSC::Structure* structure, RefPtr<WorkerGlobalScope>&& impl)
+    : JSDOMGlobalObject(vm, structure, normalWorld(vm), &s_globalObjectMethodTable)
+    , m_wrapped(WTFMove(impl))
 {
 }
 
@@ -93,10 +93,10 @@
     return JSGlobalObject::_javascript_RuntimeFlags(object);
 }
 
-void JSWorkerGlobalScopeBase::queueTaskToEventLoop(const JSGlobalObject* object, PassRefPtr<JSC::Microtask> task)
+void JSWorkerGlobalScopeBase::queueTaskToEventLoop(const JSGlobalObject* object, Ref<JSC::Microtask>&& task)
 {
     const JSWorkerGlobalScopeBase* thisObject = static_cast<const JSWorkerGlobalScopeBase*>(object);
-    thisObject->scriptExecutionContext()->postTask(JSGlobalObjectTask((JSDOMGlobalObject*)thisObject, task));
+    thisObject->scriptExecutionContext()->postTask(JSGlobalObjectTask((JSDOMGlobalObject*)thisObject, WTFMove(task)));
 }
 
 JSValue toJS(ExecState* exec, JSDOMGlobalObject*, WorkerGlobalScope& workerGlobalScope)

Modified: trunk/Source/WebCore/bindings/js/JSWorkerGlobalScopeBase.h (201252 => 201253)


--- trunk/Source/WebCore/bindings/js/JSWorkerGlobalScopeBase.h	2016-05-22 16:51:47 UTC (rev 201252)
+++ trunk/Source/WebCore/bindings/js/JSWorkerGlobalScopeBase.h	2016-05-22 17:27:18 UTC (rev 201253)
@@ -57,10 +57,10 @@
         static bool shouldInterruptScript(const JSC::JSGlobalObject*);
         static bool shouldInterruptScriptBeforeTimeout(const JSC::JSGlobalObject*);
         static JSC::RuntimeFlags _javascript_RuntimeFlags(const JSC::JSGlobalObject*);
-        static void queueTaskToEventLoop(const JSC::JSGlobalObject*, PassRefPtr<JSC::Microtask>);
+        static void queueTaskToEventLoop(const JSC::JSGlobalObject*, Ref<JSC::Microtask>&&);
 
     protected:
-        JSWorkerGlobalScopeBase(JSC::VM&, JSC::Structure*, PassRefPtr<WorkerGlobalScope>);
+        JSWorkerGlobalScopeBase(JSC::VM&, JSC::Structure*, RefPtr<WorkerGlobalScope>&&);
         void finishCreation(JSC::VM&);
 
     private:

Modified: trunk/Source/WebCore/bindings/objc/DOMCustomXPathNSResolver.h (201252 => 201253)


--- trunk/Source/WebCore/bindings/objc/DOMCustomXPathNSResolver.h	2016-05-22 16:51:47 UTC (rev 201252)
+++ trunk/Source/WebCore/bindings/objc/DOMCustomXPathNSResolver.h	2016-05-22 17:27:18 UTC (rev 201253)
@@ -29,7 +29,7 @@
 #include "XPathNSResolver.h"
 
 #include "DOMXPathNSResolver.h"
-#include <wtf/PassRefPtr.h>
+#include <wtf/Ref.h>
 
 namespace WebCore {
 

Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm (201252 => 201253)


--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm	2016-05-22 16:51:47 UTC (rev 201252)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm	2016-05-22 17:27:18 UTC (rev 201253)
@@ -4307,8 +4307,8 @@
 {
     my ($interface, $type) = @_;
 
-    return "PassRefPtr<SerializedScriptValue>" if $type eq "SerializedScriptValue";
-    return "PassRefPtr<DOMStringList>" if $type eq "DOMStringList";
+    return "RefPtr<SerializedScriptValue>&&" if $type eq "SerializedScriptValue";
+    return "RefPtr<PassRefPtr<DOMStringList>>&&" if $type eq "DOMStringList";
     return "const String&" if $type eq "DOMString";
     return GetNativeType($interface, $type);
 }

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCallback.cpp (201252 => 201253)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCallback.cpp	2016-05-22 16:51:47 UTC (rev 201252)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCallback.cpp	2016-05-22 17:27:18 UTC (rev 201253)
@@ -135,7 +135,7 @@
     return !returnedException;
 }
 
-bool JSTestCallback::callbackWithSerializedScriptValueParam(PassRefPtr<SerializedScriptValue> srzParam, const String& strArg)
+bool JSTestCallback::callbackWithSerializedScriptValueParam(RefPtr<SerializedScriptValue>&& srzParam, const String& strArg)
 {
     if (!canInvokeCallback())
         return true;
@@ -156,7 +156,7 @@
     return !returnedException;
 }
 
-bool JSTestCallback::callbackWithStringList(PassRefPtr<DOMStringList> listParam)
+bool JSTestCallback::callbackWithStringList(RefPtr<PassRefPtr<DOMStringList>>&& listParam)
 {
     if (!canInvokeCallback())
         return true;

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCallback.h (201252 => 201253)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCallback.h	2016-05-22 16:51:47 UTC (rev 201252)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCallback.h	2016-05-22 17:27:18 UTC (rev 201253)
@@ -45,10 +45,10 @@
     // Functions
     virtual bool callbackWithNoParam();
     virtual bool callbackWithArrayParam(RefPtr<Float32Array> arrayParam);
-    virtual bool callbackWithSerializedScriptValueParam(PassRefPtr<SerializedScriptValue> srzParam, const String& strArg);
+    virtual bool callbackWithSerializedScriptValueParam(RefPtr<SerializedScriptValue>&& srzParam, const String& strArg);
     virtual int32_t callbackWithNonBoolReturnType(const String& strArg);
     virtual int32_t customCallback(Class5* class5Param, Class6* class6Param);
-    virtual bool callbackWithStringList(PassRefPtr<DOMStringList> listParam);
+    virtual bool callbackWithStringList(RefPtr<PassRefPtr<DOMStringList>>&& listParam);
     virtual bool callbackWithBoolean(bool boolParam);
     virtual bool callbackRequiresThisToPass(int32_t longParam, TestNode* testNodeParam);
 

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCallbackFunction.cpp (201252 => 201253)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCallbackFunction.cpp	2016-05-22 16:51:47 UTC (rev 201252)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCallbackFunction.cpp	2016-05-22 17:27:18 UTC (rev 201253)
@@ -101,7 +101,7 @@
     return !returnedException;
 }
 
-bool JSTestCallbackFunction::callbackWithSerializedScriptValueParam(PassRefPtr<SerializedScriptValue> srzParam, const String& strArg)
+bool JSTestCallbackFunction::callbackWithSerializedScriptValueParam(RefPtr<SerializedScriptValue>&& srzParam, const String& strArg)
 {
     if (!canInvokeCallback())
         return true;
@@ -123,7 +123,7 @@
     return !returnedException;
 }
 
-bool JSTestCallbackFunction::callbackWithStringList(PassRefPtr<DOMStringList> listParam)
+bool JSTestCallbackFunction::callbackWithStringList(RefPtr<PassRefPtr<DOMStringList>>&& listParam)
 {
     if (!canInvokeCallback())
         return true;

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCallbackFunction.h (201252 => 201253)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCallbackFunction.h	2016-05-22 16:51:47 UTC (rev 201252)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCallbackFunction.h	2016-05-22 17:27:18 UTC (rev 201253)
@@ -44,10 +44,10 @@
     // Functions
     virtual bool callbackWithNoParam();
     virtual bool callbackWithArrayParam(RefPtr<Float32Array> arrayParam);
-    virtual bool callbackWithSerializedScriptValueParam(PassRefPtr<SerializedScriptValue> srzParam, const String& strArg);
+    virtual bool callbackWithSerializedScriptValueParam(RefPtr<SerializedScriptValue>&& srzParam, const String& strArg);
     virtual int32_t callbackWithNonBoolReturnType(const String& strArg);
     virtual int32_t customCallback(Class5* class5Param, Class6* class6Param);
-    virtual bool callbackWithStringList(PassRefPtr<DOMStringList> listParam);
+    virtual bool callbackWithStringList(RefPtr<PassRefPtr<DOMStringList>>&& listParam);
     virtual bool callbackWithBoolean(bool boolParam);
     virtual bool callbackRequiresThisToPass(int32_t longParam, TestNode* testNodeParam);
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to