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);