Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2019)

Unified Diff: Source/modules/indexeddb/IDBVersionChangeEvent.h

Issue 177633006: Implement IDBVersionChangeEvent ctor w/ IDBVersionChangeEventInit dict (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebase, handle null, and simplify Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/modules/indexeddb/IDBVersionChangeEvent.h
diff --git a/Source/modules/indexeddb/IDBVersionChangeEvent.h b/Source/modules/indexeddb/IDBVersionChangeEvent.h
index d5ceab1683368be6cb7a4a1aadf0f2716b4a1e2e..5ef44491211cd39a6ba6026446dd510b6ad853bf 100644
--- a/Source/modules/indexeddb/IDBVersionChangeEvent.h
+++ b/Source/modules/indexeddb/IDBVersionChangeEvent.h
@@ -26,6 +26,8 @@
#ifndef IDBVersionChangeEvent_h
#define IDBVersionChangeEvent_h
+#include "bindings/v8/Nullable.h"
+#include "bindings/v8/SerializedScriptValue.h"
#include "core/events/Event.h"
#include "modules/indexeddb/IDBAny.h"
#include "modules/indexeddb/IDBRequest.h"
@@ -36,13 +38,31 @@
namespace WebCore {
+struct IDBVersionChangeEventInit : public EventInit {
+ IDBVersionChangeEventInit();
+
+ unsigned long long oldVersion;
+ Nullable<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, unsigned long long oldVersion, const Nullable<unsigned long long>& 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));
+ }
+
+ unsigned long long oldVersion() const { return m_oldVersion; }
+ unsigned long long newVersion(bool& isNull) const;
- ScriptValue oldVersion(ExecutionContext*) const;
- ScriptValue newVersion(ExecutionContext*) const;
const AtomicString& dataLoss() const;
const String& dataLossMessage() const { return m_dataLossMessage; }
@@ -51,10 +71,12 @@ public:
virtual void trace(Visitor*) OVERRIDE;
private:
- IDBVersionChangeEvent(PassRefPtr<IDBAny> oldVersion, PassRefPtr<IDBAny> newVersion, const AtomicString& eventType, blink::WebIDBDataLoss, const String& dataLoss);
+ IDBVersionChangeEvent();
+ IDBVersionChangeEvent(const AtomicString& eventType, unsigned long long oldVersion, const Nullable<unsigned long long>& newVersion, blink::WebIDBDataLoss, const String& dataLoss);
+ IDBVersionChangeEvent(const AtomicString& eventType, const IDBVersionChangeEventInit&);
- RefPtr<IDBAny> m_oldVersion;
- RefPtr<IDBAny> m_newVersion;
+ unsigned long long m_oldVersion;
+ Nullable<unsigned long long> m_newVersion;
bool m_dataLoss;
String m_dataLossMessage;
};

Powered by Google App Engine
This is Rietveld 408576698