diff options
author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-06-27 06:07:23 +0000 |
---|---|---|
committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-06-27 06:07:23 +0000 |
commit | 1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c (patch) | |
tree | 46dcd36c86e7fbc6e5df36deb463b33e9967a6f7 /Source/WebCore/dom/CustomEvent.cpp | |
parent | 32761a6cee1d0dee366b885b7b9c777e67885688 (diff) | |
download | WebKitGtk-tarball-master.tar.gz |
webkitgtk-2.16.5HEADwebkitgtk-2.16.5master
Diffstat (limited to 'Source/WebCore/dom/CustomEvent.cpp')
-rw-r--r-- | Source/WebCore/dom/CustomEvent.cpp | 37 |
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 |