summaryrefslogtreecommitdiff
path: root/Source/WebCore/dom/CustomEvent.cpp
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@lorry>2017-06-27 06:07:23 +0000
committerLorry Tar Creator <lorry-tar-importer@lorry>2017-06-27 06:07:23 +0000
commit1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c (patch)
tree46dcd36c86e7fbc6e5df36deb463b33e9967a6f7 /Source/WebCore/dom/CustomEvent.cpp
parent32761a6cee1d0dee366b885b7b9c777e67885688 (diff)
downloadWebKitGtk-tarball-master.tar.gz
Diffstat (limited to 'Source/WebCore/dom/CustomEvent.cpp')
-rw-r--r--Source/WebCore/dom/CustomEvent.cpp37
1 files changed, 22 insertions, 15 deletions
diff --git a/Source/WebCore/dom/CustomEvent.cpp b/Source/WebCore/dom/CustomEvent.cpp
index d5ef0bdee..080cab456 100644
--- a/Source/WebCore/dom/CustomEvent.cpp
+++ b/Source/WebCore/dom/CustomEvent.cpp
@@ -10,10 +10,10 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
- * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
@@ -26,21 +26,18 @@
#include "config.h"
#include "CustomEvent.h"
-#include "EventNames.h"
+#include <runtime/JSCInlines.h>
namespace WebCore {
-CustomEventInit::CustomEventInit()
+CustomEvent::CustomEvent(IsTrusted isTrusted)
+ : Event(isTrusted)
{
}
-CustomEvent::CustomEvent()
-{
-}
-
-CustomEvent::CustomEvent(const AtomicString& type, const CustomEventInit& initializer)
- : Event(type, initializer)
- , m_detail(initializer.detail)
+CustomEvent::CustomEvent(JSC::ExecState& state, const AtomicString& type, const Init& initializer, IsTrusted isTrusted)
+ : Event(type, initializer, isTrusted)
+ , m_detail(state.vm(), initializer.detail)
{
}
@@ -48,15 +45,25 @@ CustomEvent::~CustomEvent()
{
}
-void CustomEvent::initCustomEvent(const AtomicString& type, bool canBubble, bool cancelable, const Deprecated::ScriptValue& detail)
+void CustomEvent::initCustomEvent(JSC::ExecState& state, const AtomicString& type, bool canBubble, bool cancelable, JSC::JSValue detail)
{
- ASSERT(!m_serializedScriptValue.get());
- if (dispatched())
+ if (isBeingDispatched())
return;
initEvent(type, canBubble, cancelable);
- m_detail = detail;
+ m_detail = { state.vm(), detail };
+ m_serializedDetail = nullptr;
+ m_triedToSerialize = false;
+}
+
+RefPtr<SerializedScriptValue> CustomEvent::trySerializeDetail(JSC::ExecState& state)
+{
+ if (!m_triedToSerialize) {
+ m_serializedDetail = SerializedScriptValue::create(state, m_detail, SerializationErrorMode::NonThrowing);
+ m_triedToSerialize = true;
+ }
+ return m_serializedDetail;
}
EventInterface CustomEvent::eventInterface() const