Index: Source/modules/indexeddb/IDBVersionChangeEvent.h |
diff --git a/Source/modules/indexeddb/IDBVersionChangeEvent.h b/Source/modules/indexeddb/IDBVersionChangeEvent.h |
index f197010525a3c18737e405d73bef8dae3537b01f..04ebfdda2ec2837a999c0db0e59460bb3564ad3c 100644 |
--- a/Source/modules/indexeddb/IDBVersionChangeEvent.h |
+++ b/Source/modules/indexeddb/IDBVersionChangeEvent.h |
@@ -26,6 +26,7 @@ |
#ifndef IDBVersionChangeEvent_h |
#define IDBVersionChangeEvent_h |
+#include "bindings/v8/SerializedScriptValue.h" |
#include "core/events/Event.h" |
#include "modules/indexeddb/IDBAny.h" |
#include "modules/indexeddb/IDBRequest.h" |
@@ -36,23 +37,54 @@ |
namespace WebCore { |
+struct IDBVersionChangeEventInit : public EventInit { |
+ IDBVersionChangeEventInit(); |
+ |
+ unsigned long long oldVersion; |
+ unsigned long long newVersion; |
+}; |
+ |
class IDBVersionChangeEvent FINAL : public Event { |
public: |
- static PassRefPtr<IDBVersionChangeEvent> create(PassRefPtr<IDBAny> oldVersion = IDBAny::createNull(), PassRefPtr<IDBAny> newVersion = IDBAny::createNull(), const AtomicString& eventType = AtomicString(), blink::WebIDBDataLoss = blink::WebIDBDataLossNone, const String& dataLossMessage = String()); |
- virtual ~IDBVersionChangeEvent(); |
+ static PassRefPtr<IDBVersionChangeEvent> create() |
+ { |
+ return adoptRef(new IDBVersionChangeEvent()); |
+ } |
+ static PassRefPtr<IDBVersionChangeEvent> create(const AtomicString& eventType, PassRefPtr<SerializedScriptValue> oldVersion, PassRefPtr<SerializedScriptValue> newVersion, blink::WebIDBDataLoss dataLoss = blink::WebIDBDataLossNone, const String& dataLossMessage = String()) |
+ { |
+ return adoptRef(new IDBVersionChangeEvent(eventType, oldVersion, newVersion, dataLoss, dataLossMessage)); |
+ } |
+ static PassRefPtr<IDBVersionChangeEvent> create(const AtomicString& eventType, const IDBVersionChangeEventInit& initializer) |
+ { |
+ return adoptRef(new IDBVersionChangeEvent(eventType, initializer)); |
+ } |
- ScriptValue oldVersion(ExecutionContext*) const; |
- ScriptValue newVersion(ExecutionContext*) const; |
+ PassRefPtr<SerializedScriptValue> oldVersion() const { return m_oldVersion; } |
+ PassRefPtr<SerializedScriptValue> newVersion() const { return m_newVersion; } |
const AtomicString& dataLoss() const; |
const String& dataLossMessage() const { return m_dataLossMessage; } |
virtual const AtomicString& interfaceName() const OVERRIDE; |
+ // Called for event construction by script. |
+ void setSerializedOldVersion(PassRefPtr<SerializedScriptValue> oldVersion) |
+ { |
+ m_oldVersion = oldVersion; |
+ } |
+ |
+ // Called for event construction by script. |
+ void setSerializedNewVersion(PassRefPtr<SerializedScriptValue> newVersion) |
+ { |
+ m_newVersion = newVersion; |
+ } |
+ |
private: |
- IDBVersionChangeEvent(PassRefPtr<IDBAny> oldVersion, PassRefPtr<IDBAny> newVersion, const AtomicString& eventType, blink::WebIDBDataLoss, const String& dataLoss); |
+ IDBVersionChangeEvent(); |
+ IDBVersionChangeEvent(const AtomicString& eventType, PassRefPtr<SerializedScriptValue> oldVersion, PassRefPtr<SerializedScriptValue> newVersion, blink::WebIDBDataLoss, const String& dataLoss); |
+ IDBVersionChangeEvent(const AtomicString& eventType, const IDBVersionChangeEventInit&); |
- RefPtr<IDBAny> m_oldVersion; |
- RefPtr<IDBAny> m_newVersion; |
+ RefPtr<SerializedScriptValue> m_oldVersion; |
+ RefPtr<SerializedScriptValue> m_newVersion; |
bool m_dataLoss; |
String m_dataLossMessage; |
}; |