From b6e3541e7c39744a41ece2f1e71422059efd3433 Mon Sep 17 00:00:00 2001 From: aschoenebeck Date: Wed, 16 Jan 2013 18:48:26 +0100 Subject: [PATCH 1/8] Added Indexed Database API (http://www.w3.org/TR/IndexedDB). --- src/Libraries/Web/Html/Data/IDBCursor.cs | 50 +++++++++ .../Web/Html/Data/IDBCursorWithValue.cs | 20 ++++ src/Libraries/Web/Html/Data/IDBDatabase.cs | 60 +++++++++++ src/Libraries/Web/Html/Data/IDBEvent.cs | 36 +++++++ src/Libraries/Web/Html/Data/IDBFactory.cs | 29 +++++ src/Libraries/Web/Html/Data/IDBIndex.cs | 78 ++++++++++++++ .../Web/Html/Data/IDBIndexParameters.cs | 29 +++++ src/Libraries/Web/Html/Data/IDBObjectStore.cs | 101 ++++++++++++++++++ .../Web/Html/Data/IDBObjectStoreParameters.cs | 30 ++++++ .../Web/Html/Data/IDBOpenDBRequest.cs | 21 ++++ src/Libraries/Web/Html/Data/IDBRequest.cs | 45 ++++++++ src/Libraries/Web/Html/Data/IDBTransaction.cs | 45 ++++++++ src/Libraries/Web/Html/Window.cs | 8 ++ src/Libraries/Web/Web.csproj | 12 +++ 14 files changed, 564 insertions(+) create mode 100644 src/Libraries/Web/Html/Data/IDBCursor.cs create mode 100644 src/Libraries/Web/Html/Data/IDBCursorWithValue.cs create mode 100644 src/Libraries/Web/Html/Data/IDBDatabase.cs create mode 100644 src/Libraries/Web/Html/Data/IDBEvent.cs create mode 100644 src/Libraries/Web/Html/Data/IDBFactory.cs create mode 100644 src/Libraries/Web/Html/Data/IDBIndex.cs create mode 100644 src/Libraries/Web/Html/Data/IDBIndexParameters.cs create mode 100644 src/Libraries/Web/Html/Data/IDBObjectStore.cs create mode 100644 src/Libraries/Web/Html/Data/IDBObjectStoreParameters.cs create mode 100644 src/Libraries/Web/Html/Data/IDBOpenDBRequest.cs create mode 100644 src/Libraries/Web/Html/Data/IDBRequest.cs create mode 100644 src/Libraries/Web/Html/Data/IDBTransaction.cs diff --git a/src/Libraries/Web/Html/Data/IDBCursor.cs b/src/Libraries/Web/Html/Data/IDBCursor.cs new file mode 100644 index 000000000..541cf4ecb --- /dev/null +++ b/src/Libraries/Web/Html/Data/IDBCursor.cs @@ -0,0 +1,50 @@ +using System; +using System.Runtime.CompilerServices; + +namespace System.Html.Data { + + [ScriptIgnoreNamespace] + [ScriptImport] + public class IDBCursor { + + protected IDBCursor() { + } + + [ScriptField] + public object Source { + get { return null; } + } + + [ScriptField] + public string Direction { + get { return null; } + } + + [ScriptField] + public object Key { + get { return null; } + } + + [ScriptField] + public object PrimaryKey { + get { return null; } + } + + public IDBRequest Update(object value) { + return null; + } + + public void Advance(long count) { + } + + public void Continue() { + } + + public void Continue(object key) { + } + + public IDBRequest Delete(object value) { + return null; + } + } +} diff --git a/src/Libraries/Web/Html/Data/IDBCursorWithValue.cs b/src/Libraries/Web/Html/Data/IDBCursorWithValue.cs new file mode 100644 index 000000000..e28c50eb1 --- /dev/null +++ b/src/Libraries/Web/Html/Data/IDBCursorWithValue.cs @@ -0,0 +1,20 @@ +using System; +using System.Runtime.CompilerServices; + +namespace System.Html.Data { + + [ScriptIgnoreNamespace] + [ScriptImport] + public class IDBCursorWithValue : IDBCursor { + + private IDBCursorWithValue() { + } + + [ScriptField] + public object Value { + get { + return null; + } + } + } +} diff --git a/src/Libraries/Web/Html/Data/IDBDatabase.cs b/src/Libraries/Web/Html/Data/IDBDatabase.cs new file mode 100644 index 000000000..16d3b77e0 --- /dev/null +++ b/src/Libraries/Web/Html/Data/IDBDatabase.cs @@ -0,0 +1,60 @@ +using System; +using System.Runtime.CompilerServices; + +namespace System.Html.Data { + + [ScriptIgnoreNamespace] + [ScriptImport] + public sealed class IDBDatabase { + + private IDBDatabase() { + } + + [ScriptField] + public string Name { + get { return default(string); } + } + + [ScriptField] + public long Version { + get { return default(long); } + } + + [ScriptField] + public string[] ObjectStoreNames { + get { return default(string[]); } + } + + public IDBObjectStore CreateObjectStore(string name) { + return default(IDBObjectStore); + } + + public IDBObjectStore CreateObjectStore(string name, IDBObjectStoreParameters optionalParameters) { + return default(IDBObjectStore); + } + + public void DeleteObjectStore(string name) { + } + + public IDBTransaction Transaction(string[] storenames) { + return default(IDBTransaction); + } + + public IDBTransaction Transaction(string[] storenames, string mode) { + return default(IDBTransaction); + } + + public void Close() { + } + + public IDBDatabaseDelegate Onabort; + + public IDBDatabaseDelegate Onerror; + + public IDBDatabaseVersionChangeDelegate Onversionchange; + } + + public delegate void IDBDatabaseDelegate(IDBEvent e); + + public delegate void IDBDatabaseVersionChangeDelegate(IDBVersionChangeEvent e); +} diff --git a/src/Libraries/Web/Html/Data/IDBEvent.cs b/src/Libraries/Web/Html/Data/IDBEvent.cs new file mode 100644 index 000000000..b45e9c74a --- /dev/null +++ b/src/Libraries/Web/Html/Data/IDBEvent.cs @@ -0,0 +1,36 @@ +using System; +using System.Runtime.CompilerServices; + +namespace System.Html.Data { + + [ScriptIgnoreNamespace] + [ScriptImport] + public class IDBEvent { + + [ScriptField] + public string Type { + get { return null; } + } + + [ScriptField] + public T Target { + get { return default(T); } + } + } + + [ScriptIgnoreNamespace] + [ScriptImport] + public class IDBVersionChangeEvent : IDBEvent { + + [ScriptField] + public long OldVersion { + get { return default(long); } + } + + [ScriptField] + public long NewVersion { + get { return default(long); } + } + } + +} diff --git a/src/Libraries/Web/Html/Data/IDBFactory.cs b/src/Libraries/Web/Html/Data/IDBFactory.cs new file mode 100644 index 000000000..bd51291a1 --- /dev/null +++ b/src/Libraries/Web/Html/Data/IDBFactory.cs @@ -0,0 +1,29 @@ +using System; +using System.Runtime.CompilerServices; + +namespace System.Html.Data { + + [ScriptIgnoreNamespace] + [ScriptImport] + public sealed class IDBFactory { + + private IDBFactory() { + } + + public IDBOpenDBRequest Open(string name) { + return null; + } + + public IDBOpenDBRequest Open(string name, long version) { + return null; + } + + public IDBOpenDBRequest DeleteDatabase(string name) { + return null; + } + + public short Cmp(object first, object last) { + return default(short); + } + } +} diff --git a/src/Libraries/Web/Html/Data/IDBIndex.cs b/src/Libraries/Web/Html/Data/IDBIndex.cs new file mode 100644 index 000000000..621b468a4 --- /dev/null +++ b/src/Libraries/Web/Html/Data/IDBIndex.cs @@ -0,0 +1,78 @@ +using System; +using System.Runtime.CompilerServices; + +namespace System.Html.Data { + + [ScriptIgnoreNamespace] + [ScriptImport] + public sealed class IDBIndex { + + private IDBIndex() { + } + + [ScriptField] + public string Name { + get { return default(string); } + } + + [ScriptField] + public IDBObjectStore ObjectStore { + get { return default(IDBObjectStore); } + } + + [ScriptField] + public string KeyPath { + get { return default(string); } + } + + [ScriptField] + public bool MultiEntry { + get { return default(bool); } + } + + [ScriptField] + public bool Unique { + get { return default(bool); } + } + + public IDBRequest OpenCursor() { + return null; + } + + public IDBRequest OpenCursor(object range) { + return null; + } + + public IDBRequest OpenCursor(object range, string direction) { + return null; + } + + public IDBRequest OpenKeyCursor() { + return null; + } + + public IDBRequest OpenKeyCursor(object range) { + return null; + } + + public IDBRequest OpenKeyCursor(object range, string direction) { + return null; + } + + public IDBRequest Get(object key) { + return null; + } + + public IDBRequest GetKey(object key) { + return null; + } + + public IDBRequest Count() { + return null; + } + + public IDBRequest Count(object key) { + return null; + } + } +} diff --git a/src/Libraries/Web/Html/Data/IDBIndexParameters.cs b/src/Libraries/Web/Html/Data/IDBIndexParameters.cs new file mode 100644 index 000000000..486aca654 --- /dev/null +++ b/src/Libraries/Web/Html/Data/IDBIndexParameters.cs @@ -0,0 +1,29 @@ +using System; +using System.Runtime.CompilerServices; + +namespace System.Html.Data { + + [ScriptIgnoreNamespace] + [ScriptImport] + [ScriptName("Object")] + public sealed class IDBIndexParameters { + + [ScriptField] + public bool Unique { + get { + return false; + } + set { + } + } + + [ScriptField] + public bool MultiEntry { + get { + return false; + } + set { + } + } + } +} diff --git a/src/Libraries/Web/Html/Data/IDBObjectStore.cs b/src/Libraries/Web/Html/Data/IDBObjectStore.cs new file mode 100644 index 000000000..2efe920c7 --- /dev/null +++ b/src/Libraries/Web/Html/Data/IDBObjectStore.cs @@ -0,0 +1,101 @@ +using System; +using System.Runtime.CompilerServices; + +namespace System.Html.Data { + + [ScriptIgnoreNamespace] + [ScriptImport] + public sealed class IDBObjectStore { + + private IDBObjectStore() { + } + + [ScriptField] + public string Name { + get { return default(string); } + } + + [ScriptField] + public string KeyPath { + get { return default(string); } + } + + [ScriptField] + public string[] IndexNames { + get { return default(string[]); } + } + + [ScriptField] + public IDBTransaction Transaction { + get { return default(IDBTransaction); } + } + + [ScriptField] + public bool AutoIncremenent { + get { return default(bool); } + } + + public IDBRequest Put(object value) { + return null; + } + + public IDBRequest Put(object value, object key) { + return null; + } + + public IDBRequest Add(object value) { + return null; + } + + public IDBRequest Add(object value, object key) { + return null; + } + + public IDBRequest Delete(object key) { + return null; + } + + public IDBRequest Get(object key) { + return null; + } + + public IDBRequest Clear() { + return null; + } + + public IDBRequest OpenCursor() { + return null; + } + + public IDBRequest OpenCursor(object range) { + return null; + } + + public IDBRequest OpenCursor(object range, string direction) { + return null; + } + + public IDBIndex CreateIndex(string name, object keyPath) { + return default(IDBIndex); + } + + public IDBIndex CreateIndex(string name, object keyPath, IDBIndexParameters optionalParameters) { + return default(IDBIndex); + } + + public IDBIndex Index(string name) { + return default(IDBIndex); + } + + public void DeleteIndex(string indexName) { + } + + public IDBRequest Count() { + return null; + } + + public IDBRequest Count(object key) { + return null; + } + } +} diff --git a/src/Libraries/Web/Html/Data/IDBObjectStoreParameters.cs b/src/Libraries/Web/Html/Data/IDBObjectStoreParameters.cs new file mode 100644 index 000000000..70d3b82c3 --- /dev/null +++ b/src/Libraries/Web/Html/Data/IDBObjectStoreParameters.cs @@ -0,0 +1,30 @@ +using System; +using System.Runtime.CompilerServices; + +namespace System.Html.Data { + + [ScriptIgnoreNamespace] + [ScriptImport] + [ScriptName("Object")] + public sealed class IDBObjectStoreParameters { + + [ScriptField] + public string KeyPath { + get { + return null; + } + set { + } + } + + [ScriptField] + public bool AutoIncrement { + get { + return false; + } + set { + } + } + } +} + diff --git a/src/Libraries/Web/Html/Data/IDBOpenDBRequest.cs b/src/Libraries/Web/Html/Data/IDBOpenDBRequest.cs new file mode 100644 index 000000000..1dc143abe --- /dev/null +++ b/src/Libraries/Web/Html/Data/IDBOpenDBRequest.cs @@ -0,0 +1,21 @@ +using System; +using System.Runtime.CompilerServices; + +namespace System.Html.Data { + + [ScriptIgnoreNamespace] + [ScriptImport] + public class IDBOpenDBRequest : IDBRequest { + + protected IDBOpenDBRequest() { + } + + public IDBOpenDBRequestDelegate Onblocked; + + public IDBOpenDBRequestVersionChangeDelegate Onupgradeneeded; + } + + public delegate void IDBOpenDBRequestDelegate(IDBEvent e); + + public delegate void IDBOpenDBRequestVersionChangeDelegate(IDBVersionChangeEvent e); +} diff --git a/src/Libraries/Web/Html/Data/IDBRequest.cs b/src/Libraries/Web/Html/Data/IDBRequest.cs new file mode 100644 index 000000000..a935e8ad8 --- /dev/null +++ b/src/Libraries/Web/Html/Data/IDBRequest.cs @@ -0,0 +1,45 @@ +using System; +using System.Runtime.CompilerServices; + +namespace System.Html.Data { + + [ScriptIgnoreNamespace] + [ScriptImport] + public class IDBRequest { + + protected IDBRequest() { + } + + [ScriptField] + public object Result { + get { return null; } + } + + [ScriptField] + public object Error { + get { return null; } + } + + [ScriptField] + public object Source { + get { return null; } + } + + [ScriptField] + public IDBTransaction Transaction { + get { return null; } + } + + [ScriptField] + public string ReadyState { + get { return null; } + } + + public IDBRequestDelegate Onsuccess; + + public IDBRequestDelegate Onerror; + } + + public delegate void IDBRequestDelegate(IDBEvent e); + +} diff --git a/src/Libraries/Web/Html/Data/IDBTransaction.cs b/src/Libraries/Web/Html/Data/IDBTransaction.cs new file mode 100644 index 000000000..336b1b340 --- /dev/null +++ b/src/Libraries/Web/Html/Data/IDBTransaction.cs @@ -0,0 +1,45 @@ +using System; +using System.Runtime.CompilerServices; + +namespace System.Html.Data { + + [ScriptIgnoreNamespace] + [ScriptImport] + public sealed class IDBTransaction { + + private IDBTransaction() { + } + + [ScriptField] + public string Mode { + get { return null; } + } + + [ScriptField] + public IDBDatabase Db { + get { return null; } + } + + [ScriptField] + public object Error { + get { return null; } + } + + public IDBObjectStore ObjectStore(string name) { + return null; + } + + public void Abort() { + } + + public IDBTransactionDelegate Onabort; + + public IDBTransactionDelegate Oncomplete; + + public IDBTransactionDelegate Onerror; + + } + + public delegate void IDBTransactionDelegate(IDBEvent e); + +} diff --git a/src/Libraries/Web/Html/Window.cs b/src/Libraries/Web/Html/Window.cs index 6362d7af1..68d8730e2 100644 --- a/src/Libraries/Web/Html/Window.cs +++ b/src/Libraries/Web/Html/Window.cs @@ -410,6 +410,14 @@ public sealed class Window { return null; } + [ScriptField] + public static IDBFactory IndexedDB { + get { + return null; + } + } + + public static void PostMessage(string message, string targetOrigin) { } diff --git a/src/Libraries/Web/Web.csproj b/src/Libraries/Web/Web.csproj index 317cb4c29..818731f3e 100644 --- a/src/Libraries/Web/Web.csproj +++ b/src/Libraries/Web/Web.csproj @@ -48,6 +48,18 @@ + + + + + + + + + + + + From 6e4c21a336ccfafa5c791816c155c73916901fb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20Sch=C3=B6nebeck?= Date: Thu, 17 Jan 2013 16:20:25 +0100 Subject: [PATCH 2/8] Renamed IndexedDB API events --- src/Libraries/Web/Html/Data/IDBDatabase.cs | 9 ++++++--- src/Libraries/Web/Html/Data/IDBOpenDBRequest.cs | 6 ++++-- src/Libraries/Web/Html/Data/IDBRequest.cs | 6 ++++-- src/Libraries/Web/Html/Data/IDBTransaction.cs | 9 ++++++--- 4 files changed, 20 insertions(+), 10 deletions(-) diff --git a/src/Libraries/Web/Html/Data/IDBDatabase.cs b/src/Libraries/Web/Html/Data/IDBDatabase.cs index 16d3b77e0..8d5fe4bcd 100644 --- a/src/Libraries/Web/Html/Data/IDBDatabase.cs +++ b/src/Libraries/Web/Html/Data/IDBDatabase.cs @@ -47,11 +47,14 @@ public sealed class IDBDatabase { public void Close() { } - public IDBDatabaseDelegate Onabort; + [ScriptName("onabort")] + public IDBDatabaseDelegate OnAbort; - public IDBDatabaseDelegate Onerror; + [ScriptName("onerror")] + public IDBDatabaseDelegate OnError; - public IDBDatabaseVersionChangeDelegate Onversionchange; + [ScriptName("onversionchange")] + public IDBDatabaseVersionChangeDelegate OnVersionChange; } public delegate void IDBDatabaseDelegate(IDBEvent e); diff --git a/src/Libraries/Web/Html/Data/IDBOpenDBRequest.cs b/src/Libraries/Web/Html/Data/IDBOpenDBRequest.cs index 1dc143abe..e73b982bb 100644 --- a/src/Libraries/Web/Html/Data/IDBOpenDBRequest.cs +++ b/src/Libraries/Web/Html/Data/IDBOpenDBRequest.cs @@ -10,9 +10,11 @@ public class IDBOpenDBRequest : IDBRequest { protected IDBOpenDBRequest() { } - public IDBOpenDBRequestDelegate Onblocked; + [ScriptName("onblocked")] + public IDBOpenDBRequestDelegate OnBlocked; - public IDBOpenDBRequestVersionChangeDelegate Onupgradeneeded; + [ScriptName("onupgradeneeded")] + public IDBOpenDBRequestVersionChangeDelegate OnUpgradeNeeded; } public delegate void IDBOpenDBRequestDelegate(IDBEvent e); diff --git a/src/Libraries/Web/Html/Data/IDBRequest.cs b/src/Libraries/Web/Html/Data/IDBRequest.cs index a935e8ad8..f83966287 100644 --- a/src/Libraries/Web/Html/Data/IDBRequest.cs +++ b/src/Libraries/Web/Html/Data/IDBRequest.cs @@ -35,9 +35,11 @@ public class IDBRequest { get { return null; } } - public IDBRequestDelegate Onsuccess; + [ScriptName("onsuccess")] + public IDBRequestDelegate OnSuccess; - public IDBRequestDelegate Onerror; + [ScriptName("onerror")] + public IDBRequestDelegate OnError; } public delegate void IDBRequestDelegate(IDBEvent e); diff --git a/src/Libraries/Web/Html/Data/IDBTransaction.cs b/src/Libraries/Web/Html/Data/IDBTransaction.cs index 336b1b340..c00f6902c 100644 --- a/src/Libraries/Web/Html/Data/IDBTransaction.cs +++ b/src/Libraries/Web/Html/Data/IDBTransaction.cs @@ -32,11 +32,14 @@ public sealed class IDBTransaction { public void Abort() { } - public IDBTransactionDelegate Onabort; + [ScriptName("onabort")] + public IDBTransactionDelegate OnAbort; - public IDBTransactionDelegate Oncomplete; + [ScriptName("oncomplete")] + public IDBTransactionDelegate OnComplete; - public IDBTransactionDelegate Onerror; + [ScriptName("onerror")] + public IDBTransactionDelegate OnError; } From 443347f84904f9be24abc8dc5eab3966d320ae00 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20Sch=C3=B6nebeck?= Date: Thu, 17 Jan 2013 17:33:22 +0100 Subject: [PATCH 3/8] Script Attributes on IndexedDB API delegates --- src/Libraries/Web/Html/Data/IDBDatabase.cs | 5 +++++ src/Libraries/Web/Html/Data/IDBOpenDBRequest.cs | 4 ++++ src/Libraries/Web/Html/Data/IDBRequest.cs | 2 ++ 3 files changed, 11 insertions(+) diff --git a/src/Libraries/Web/Html/Data/IDBDatabase.cs b/src/Libraries/Web/Html/Data/IDBDatabase.cs index 8d5fe4bcd..de319c5f8 100644 --- a/src/Libraries/Web/Html/Data/IDBDatabase.cs +++ b/src/Libraries/Web/Html/Data/IDBDatabase.cs @@ -57,7 +57,12 @@ public sealed class IDBDatabase { public IDBDatabaseVersionChangeDelegate OnVersionChange; } + [ScriptIgnoreNamespace] + [ScriptImport] public delegate void IDBDatabaseDelegate(IDBEvent e); + [ScriptIgnoreNamespace] + [ScriptImport] public delegate void IDBDatabaseVersionChangeDelegate(IDBVersionChangeEvent e); + } diff --git a/src/Libraries/Web/Html/Data/IDBOpenDBRequest.cs b/src/Libraries/Web/Html/Data/IDBOpenDBRequest.cs index e73b982bb..1e9035ae2 100644 --- a/src/Libraries/Web/Html/Data/IDBOpenDBRequest.cs +++ b/src/Libraries/Web/Html/Data/IDBOpenDBRequest.cs @@ -17,7 +17,11 @@ public class IDBOpenDBRequest : IDBRequest { public IDBOpenDBRequestVersionChangeDelegate OnUpgradeNeeded; } + [ScriptIgnoreNamespace] + [ScriptImport] public delegate void IDBOpenDBRequestDelegate(IDBEvent e); + [ScriptIgnoreNamespace] + [ScriptImport] public delegate void IDBOpenDBRequestVersionChangeDelegate(IDBVersionChangeEvent e); } diff --git a/src/Libraries/Web/Html/Data/IDBRequest.cs b/src/Libraries/Web/Html/Data/IDBRequest.cs index f83966287..752fe4229 100644 --- a/src/Libraries/Web/Html/Data/IDBRequest.cs +++ b/src/Libraries/Web/Html/Data/IDBRequest.cs @@ -42,6 +42,8 @@ public class IDBRequest { public IDBRequestDelegate OnError; } + [ScriptIgnoreNamespace] + [ScriptImport] public delegate void IDBRequestDelegate(IDBEvent e); } From 605fb58a6d1f9c6660b315a97d2a08c4a9a989f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20Sch=C3=B6nebeck?= Date: Thu, 17 Jan 2013 17:50:43 +0100 Subject: [PATCH 4/8] More Script Attributes on IndexedDB API delegates --- src/Libraries/Web/Html/Data/IDBTransaction.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/Libraries/Web/Html/Data/IDBTransaction.cs b/src/Libraries/Web/Html/Data/IDBTransaction.cs index c00f6902c..98bd891ef 100644 --- a/src/Libraries/Web/Html/Data/IDBTransaction.cs +++ b/src/Libraries/Web/Html/Data/IDBTransaction.cs @@ -43,6 +43,8 @@ public sealed class IDBTransaction { } + [ScriptIgnoreNamespace] + [ScriptImport] public delegate void IDBTransactionDelegate(IDBEvent e); } From c70faaf0a4003c0dd620e0b9b50347cfb6b17571 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20Sch=C3=B6nebeck?= Date: Fri, 18 Jan 2013 00:41:20 +0100 Subject: [PATCH 5/8] Using event registration for IndexedDB API callbacks --- src/Libraries/Web/Html/Data/IDBDatabase.cs | 34 +++++++++++++----- .../Web/Html/Data/IDBOpenDBRequest.cs | 23 ++++++++---- src/Libraries/Web/Html/Data/IDBRequest.cs | 23 ++++++++---- src/Libraries/Web/Html/Data/IDBTransaction.cs | 36 +++++++++++++------ 4 files changed, 85 insertions(+), 31 deletions(-) diff --git a/src/Libraries/Web/Html/Data/IDBDatabase.cs b/src/Libraries/Web/Html/Data/IDBDatabase.cs index de319c5f8..fbe84d35f 100644 --- a/src/Libraries/Web/Html/Data/IDBDatabase.cs +++ b/src/Libraries/Web/Html/Data/IDBDatabase.cs @@ -35,7 +35,7 @@ public sealed class IDBDatabase { public void DeleteObjectStore(string name) { } - + public IDBTransaction Transaction(string[] storenames) { return default(IDBTransaction); } @@ -47,22 +47,38 @@ public sealed class IDBDatabase { public void Close() { } - [ScriptName("onabort")] - public IDBDatabaseDelegate OnAbort; + [ScriptEvent("addEventListener", "removeEventListener")] + public event IDBDatabaseCallback Abort { + add { + } + remove { + } + } - [ScriptName("onerror")] - public IDBDatabaseDelegate OnError; + [ScriptEvent("addEventListener", "removeEventListener")] + public event IDBDatabaseCallback Error { + add { + } + remove { + } + } - [ScriptName("onversionchange")] - public IDBDatabaseVersionChangeDelegate OnVersionChange; + [ScriptEvent("addEventListener", "removeEventListener")] + [ScriptName("versionchange")] + public event IDBDatabaseVersionChangeCallback VersionChange { + add { + } + remove { + } + } } [ScriptIgnoreNamespace] [ScriptImport] - public delegate void IDBDatabaseDelegate(IDBEvent e); + public delegate void IDBDatabaseCallback(IDBEvent e); [ScriptIgnoreNamespace] [ScriptImport] - public delegate void IDBDatabaseVersionChangeDelegate(IDBVersionChangeEvent e); + public delegate void IDBDatabaseVersionChangeCallback(IDBVersionChangeEvent e); } diff --git a/src/Libraries/Web/Html/Data/IDBOpenDBRequest.cs b/src/Libraries/Web/Html/Data/IDBOpenDBRequest.cs index 1e9035ae2..bab7e8191 100644 --- a/src/Libraries/Web/Html/Data/IDBOpenDBRequest.cs +++ b/src/Libraries/Web/Html/Data/IDBOpenDBRequest.cs @@ -10,18 +10,29 @@ public class IDBOpenDBRequest : IDBRequest { protected IDBOpenDBRequest() { } - [ScriptName("onblocked")] - public IDBOpenDBRequestDelegate OnBlocked; + [ScriptEvent("addEventListener", "removeEventListener")] + public event IDBOpenDBRequestCallback Blocked { + add { + } + remove { + } + } - [ScriptName("onupgradeneeded")] - public IDBOpenDBRequestVersionChangeDelegate OnUpgradeNeeded; + [ScriptEvent("addEventListener", "removeEventListener")] + [ScriptName("upgradeneeded")] + public event IDBOpenDBRequestVersionChangeCallback UpgradeNeeded { + add { + } + remove { + } + } } [ScriptIgnoreNamespace] [ScriptImport] - public delegate void IDBOpenDBRequestDelegate(IDBEvent e); + public delegate void IDBOpenDBRequestCallback(IDBEvent e); [ScriptIgnoreNamespace] [ScriptImport] - public delegate void IDBOpenDBRequestVersionChangeDelegate(IDBVersionChangeEvent e); + public delegate void IDBOpenDBRequestVersionChangeCallback(IDBVersionChangeEvent e); } diff --git a/src/Libraries/Web/Html/Data/IDBRequest.cs b/src/Libraries/Web/Html/Data/IDBRequest.cs index 752fe4229..958f31e91 100644 --- a/src/Libraries/Web/Html/Data/IDBRequest.cs +++ b/src/Libraries/Web/Html/Data/IDBRequest.cs @@ -16,7 +16,8 @@ public class IDBRequest { } [ScriptField] - public object Error { + [ScriptName("error")] + public object ErrorObject { get { return null; } } @@ -35,15 +36,25 @@ public class IDBRequest { get { return null; } } - [ScriptName("onsuccess")] - public IDBRequestDelegate OnSuccess; + [ScriptEvent("addEventListener", "removeEventListener")] + public event IDBRequestCallback Success { + add { + } + remove { + } + } - [ScriptName("onerror")] - public IDBRequestDelegate OnError; + [ScriptEvent("addEventListener", "removeEventListener")] + public event IDBRequestCallback Error { + add { + } + remove { + } + } } [ScriptIgnoreNamespace] [ScriptImport] - public delegate void IDBRequestDelegate(IDBEvent e); + public delegate void IDBRequestCallback(IDBEvent e); } diff --git a/src/Libraries/Web/Html/Data/IDBTransaction.cs b/src/Libraries/Web/Html/Data/IDBTransaction.cs index 98bd891ef..7bd21b1e1 100644 --- a/src/Libraries/Web/Html/Data/IDBTransaction.cs +++ b/src/Libraries/Web/Html/Data/IDBTransaction.cs @@ -21,7 +21,8 @@ public sealed class IDBTransaction { } [ScriptField] - public object Error { + [ScriptName("error")] + public object ErrorObject { get { return null; } } @@ -29,22 +30,37 @@ public sealed class IDBTransaction { return null; } - public void Abort() { + [ScriptName("abort")] + public void AbortTransaction() { } - [ScriptName("onabort")] - public IDBTransactionDelegate OnAbort; - - [ScriptName("oncomplete")] - public IDBTransactionDelegate OnComplete; + [ScriptEvent("addEventListener", "removeEventListener")] + public event IDBTransactionCallback Abort{ + add { + } + remove { + } + } - [ScriptName("onerror")] - public IDBTransactionDelegate OnError; + [ScriptEvent("addEventListener", "removeEventListener")] + public event IDBTransactionCallback Complete { + add { + } + remove { + } + } + [ScriptEvent("addEventListener", "removeEventListener")] + public event IDBTransactionCallback Error { + add { + } + remove { + } + } } [ScriptIgnoreNamespace] [ScriptImport] - public delegate void IDBTransactionDelegate(IDBEvent e); + public delegate void IDBTransactionCallback(IDBEvent e); } From 5364bf01c3c8d89487cfd40672e94511c53ed548 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20Sch=C3=B6nebeck?= Date: Fri, 18 Jan 2013 11:04:42 +0100 Subject: [PATCH 6/8] Revert "Using event registration for IndexedDB API callbacks" This reverts commit c70faaf0a4003c0dd620e0b9b50347cfb6b17571. --- src/Libraries/Web/Html/Data/IDBDatabase.cs | 34 +++++------------- .../Web/Html/Data/IDBOpenDBRequest.cs | 23 ++++-------- src/Libraries/Web/Html/Data/IDBRequest.cs | 23 ++++-------- src/Libraries/Web/Html/Data/IDBTransaction.cs | 36 ++++++------------- 4 files changed, 31 insertions(+), 85 deletions(-) diff --git a/src/Libraries/Web/Html/Data/IDBDatabase.cs b/src/Libraries/Web/Html/Data/IDBDatabase.cs index fbe84d35f..de319c5f8 100644 --- a/src/Libraries/Web/Html/Data/IDBDatabase.cs +++ b/src/Libraries/Web/Html/Data/IDBDatabase.cs @@ -35,7 +35,7 @@ public sealed class IDBDatabase { public void DeleteObjectStore(string name) { } - + public IDBTransaction Transaction(string[] storenames) { return default(IDBTransaction); } @@ -47,38 +47,22 @@ public sealed class IDBDatabase { public void Close() { } - [ScriptEvent("addEventListener", "removeEventListener")] - public event IDBDatabaseCallback Abort { - add { - } - remove { - } - } + [ScriptName("onabort")] + public IDBDatabaseDelegate OnAbort; - [ScriptEvent("addEventListener", "removeEventListener")] - public event IDBDatabaseCallback Error { - add { - } - remove { - } - } + [ScriptName("onerror")] + public IDBDatabaseDelegate OnError; - [ScriptEvent("addEventListener", "removeEventListener")] - [ScriptName("versionchange")] - public event IDBDatabaseVersionChangeCallback VersionChange { - add { - } - remove { - } - } + [ScriptName("onversionchange")] + public IDBDatabaseVersionChangeDelegate OnVersionChange; } [ScriptIgnoreNamespace] [ScriptImport] - public delegate void IDBDatabaseCallback(IDBEvent e); + public delegate void IDBDatabaseDelegate(IDBEvent e); [ScriptIgnoreNamespace] [ScriptImport] - public delegate void IDBDatabaseVersionChangeCallback(IDBVersionChangeEvent e); + public delegate void IDBDatabaseVersionChangeDelegate(IDBVersionChangeEvent e); } diff --git a/src/Libraries/Web/Html/Data/IDBOpenDBRequest.cs b/src/Libraries/Web/Html/Data/IDBOpenDBRequest.cs index bab7e8191..1e9035ae2 100644 --- a/src/Libraries/Web/Html/Data/IDBOpenDBRequest.cs +++ b/src/Libraries/Web/Html/Data/IDBOpenDBRequest.cs @@ -10,29 +10,18 @@ public class IDBOpenDBRequest : IDBRequest { protected IDBOpenDBRequest() { } - [ScriptEvent("addEventListener", "removeEventListener")] - public event IDBOpenDBRequestCallback Blocked { - add { - } - remove { - } - } + [ScriptName("onblocked")] + public IDBOpenDBRequestDelegate OnBlocked; - [ScriptEvent("addEventListener", "removeEventListener")] - [ScriptName("upgradeneeded")] - public event IDBOpenDBRequestVersionChangeCallback UpgradeNeeded { - add { - } - remove { - } - } + [ScriptName("onupgradeneeded")] + public IDBOpenDBRequestVersionChangeDelegate OnUpgradeNeeded; } [ScriptIgnoreNamespace] [ScriptImport] - public delegate void IDBOpenDBRequestCallback(IDBEvent e); + public delegate void IDBOpenDBRequestDelegate(IDBEvent e); [ScriptIgnoreNamespace] [ScriptImport] - public delegate void IDBOpenDBRequestVersionChangeCallback(IDBVersionChangeEvent e); + public delegate void IDBOpenDBRequestVersionChangeDelegate(IDBVersionChangeEvent e); } diff --git a/src/Libraries/Web/Html/Data/IDBRequest.cs b/src/Libraries/Web/Html/Data/IDBRequest.cs index 958f31e91..752fe4229 100644 --- a/src/Libraries/Web/Html/Data/IDBRequest.cs +++ b/src/Libraries/Web/Html/Data/IDBRequest.cs @@ -16,8 +16,7 @@ public class IDBRequest { } [ScriptField] - [ScriptName("error")] - public object ErrorObject { + public object Error { get { return null; } } @@ -36,25 +35,15 @@ public class IDBRequest { get { return null; } } - [ScriptEvent("addEventListener", "removeEventListener")] - public event IDBRequestCallback Success { - add { - } - remove { - } - } + [ScriptName("onsuccess")] + public IDBRequestDelegate OnSuccess; - [ScriptEvent("addEventListener", "removeEventListener")] - public event IDBRequestCallback Error { - add { - } - remove { - } - } + [ScriptName("onerror")] + public IDBRequestDelegate OnError; } [ScriptIgnoreNamespace] [ScriptImport] - public delegate void IDBRequestCallback(IDBEvent e); + public delegate void IDBRequestDelegate(IDBEvent e); } diff --git a/src/Libraries/Web/Html/Data/IDBTransaction.cs b/src/Libraries/Web/Html/Data/IDBTransaction.cs index 7bd21b1e1..98bd891ef 100644 --- a/src/Libraries/Web/Html/Data/IDBTransaction.cs +++ b/src/Libraries/Web/Html/Data/IDBTransaction.cs @@ -21,8 +21,7 @@ public sealed class IDBTransaction { } [ScriptField] - [ScriptName("error")] - public object ErrorObject { + public object Error { get { return null; } } @@ -30,37 +29,22 @@ public sealed class IDBTransaction { return null; } - [ScriptName("abort")] - public void AbortTransaction() { + public void Abort() { } - [ScriptEvent("addEventListener", "removeEventListener")] - public event IDBTransactionCallback Abort{ - add { - } - remove { - } - } + [ScriptName("onabort")] + public IDBTransactionDelegate OnAbort; - [ScriptEvent("addEventListener", "removeEventListener")] - public event IDBTransactionCallback Complete { - add { - } - remove { - } - } + [ScriptName("oncomplete")] + public IDBTransactionDelegate OnComplete; + + [ScriptName("onerror")] + public IDBTransactionDelegate OnError; - [ScriptEvent("addEventListener", "removeEventListener")] - public event IDBTransactionCallback Error { - add { - } - remove { - } - } } [ScriptIgnoreNamespace] [ScriptImport] - public delegate void IDBTransactionCallback(IDBEvent e); + public delegate void IDBTransactionDelegate(IDBEvent e); } From c9f43f6d36bebfcbaa38ac2b36b22ad29826fb11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20Sch=C3=B6nebeck?= Date: Fri, 18 Jan 2013 11:36:09 +0100 Subject: [PATCH 7/8] Reimplemented event registration for IndexedDB API callbacks The IndexedDB API specifies two methods for event registration on its interfaces. Direct callback funtions and the EventTarget scheme. To make the interface as standards conformant as possible, I derive classes providing callbacks from IDBEventTarget base class (proviedes add-/removeEventListener) and provide fields for direct callback functions. --- src/Libraries/Web/Html/Data/IDBDatabase.cs | 12 ++++----- src/Libraries/Web/Html/Data/IDBEventTarget.cs | 26 +++++++++++++++++++ .../Web/Html/Data/IDBOpenDBRequest.cs | 8 +++--- src/Libraries/Web/Html/Data/IDBRequest.cs | 8 +++--- src/Libraries/Web/Html/Data/IDBTransaction.cs | 10 +++---- src/Libraries/Web/Web.csproj | 1 + 6 files changed, 46 insertions(+), 19 deletions(-) create mode 100644 src/Libraries/Web/Html/Data/IDBEventTarget.cs diff --git a/src/Libraries/Web/Html/Data/IDBDatabase.cs b/src/Libraries/Web/Html/Data/IDBDatabase.cs index de319c5f8..0326b96ab 100644 --- a/src/Libraries/Web/Html/Data/IDBDatabase.cs +++ b/src/Libraries/Web/Html/Data/IDBDatabase.cs @@ -5,7 +5,7 @@ namespace System.Html.Data { [ScriptIgnoreNamespace] [ScriptImport] - public sealed class IDBDatabase { + public sealed class IDBDatabase : IDBEventTarget { private IDBDatabase() { } @@ -48,21 +48,21 @@ public sealed class IDBDatabase { } [ScriptName("onabort")] - public IDBDatabaseDelegate OnAbort; + public IDBDatabaseCallback OnAbort; [ScriptName("onerror")] - public IDBDatabaseDelegate OnError; + public IDBDatabaseCallback OnError; [ScriptName("onversionchange")] - public IDBDatabaseVersionChangeDelegate OnVersionChange; + public IDBDatabaseVersionChangeCallback OnVersionChange; } [ScriptIgnoreNamespace] [ScriptImport] - public delegate void IDBDatabaseDelegate(IDBEvent e); + public delegate void IDBDatabaseCallback(IDBEvent e); [ScriptIgnoreNamespace] [ScriptImport] - public delegate void IDBDatabaseVersionChangeDelegate(IDBVersionChangeEvent e); + public delegate void IDBDatabaseVersionChangeCallback(IDBVersionChangeEvent e); } diff --git a/src/Libraries/Web/Html/Data/IDBEventTarget.cs b/src/Libraries/Web/Html/Data/IDBEventTarget.cs new file mode 100644 index 000000000..d52808d01 --- /dev/null +++ b/src/Libraries/Web/Html/Data/IDBEventTarget.cs @@ -0,0 +1,26 @@ +using System; +using System.Runtime.CompilerServices; + +namespace System.Html.Data { + + [ScriptIgnoreNamespace] + [ScriptImport] + public class IDBEventTarget { + + public void AddEventListener(string type, Action listener) { + } + + public void AddEventListener(string type, Action listener, bool useCapture) { + } + + public void RemoveEventListener(string type, Action listener) { + } + + public void RemoveEventListener(string type, Action listener, bool useCapture) { + } + + public bool DispatchEvent(IDBEvent e) { + return false; + } + } +} diff --git a/src/Libraries/Web/Html/Data/IDBOpenDBRequest.cs b/src/Libraries/Web/Html/Data/IDBOpenDBRequest.cs index 1e9035ae2..5b8a3b0a8 100644 --- a/src/Libraries/Web/Html/Data/IDBOpenDBRequest.cs +++ b/src/Libraries/Web/Html/Data/IDBOpenDBRequest.cs @@ -11,17 +11,17 @@ public class IDBOpenDBRequest : IDBRequest { } [ScriptName("onblocked")] - public IDBOpenDBRequestDelegate OnBlocked; + public IDBOpenDBRequestCallback OnBlocked; [ScriptName("onupgradeneeded")] - public IDBOpenDBRequestVersionChangeDelegate OnUpgradeNeeded; + public IDBOpenDBRequestVersionChangeCallback OnUpgradeNeeded; } [ScriptIgnoreNamespace] [ScriptImport] - public delegate void IDBOpenDBRequestDelegate(IDBEvent e); + public delegate void IDBOpenDBRequestCallback(IDBEvent e); [ScriptIgnoreNamespace] [ScriptImport] - public delegate void IDBOpenDBRequestVersionChangeDelegate(IDBVersionChangeEvent e); + public delegate void IDBOpenDBRequestVersionChangeCallback(IDBVersionChangeEvent e); } diff --git a/src/Libraries/Web/Html/Data/IDBRequest.cs b/src/Libraries/Web/Html/Data/IDBRequest.cs index 752fe4229..63e3c848f 100644 --- a/src/Libraries/Web/Html/Data/IDBRequest.cs +++ b/src/Libraries/Web/Html/Data/IDBRequest.cs @@ -5,7 +5,7 @@ namespace System.Html.Data { [ScriptIgnoreNamespace] [ScriptImport] - public class IDBRequest { + public class IDBRequest : IDBEventTarget { protected IDBRequest() { } @@ -36,14 +36,14 @@ public class IDBRequest { } [ScriptName("onsuccess")] - public IDBRequestDelegate OnSuccess; + public IDBRequestCallback OnSuccess; [ScriptName("onerror")] - public IDBRequestDelegate OnError; + public IDBRequestCallback OnError; } [ScriptIgnoreNamespace] [ScriptImport] - public delegate void IDBRequestDelegate(IDBEvent e); + public delegate void IDBRequestCallback(IDBEvent e); } diff --git a/src/Libraries/Web/Html/Data/IDBTransaction.cs b/src/Libraries/Web/Html/Data/IDBTransaction.cs index 98bd891ef..0c0b1b6ce 100644 --- a/src/Libraries/Web/Html/Data/IDBTransaction.cs +++ b/src/Libraries/Web/Html/Data/IDBTransaction.cs @@ -5,7 +5,7 @@ namespace System.Html.Data { [ScriptIgnoreNamespace] [ScriptImport] - public sealed class IDBTransaction { + public sealed class IDBTransaction : IDBEventTarget { private IDBTransaction() { } @@ -33,18 +33,18 @@ public sealed class IDBTransaction { } [ScriptName("onabort")] - public IDBTransactionDelegate OnAbort; + public IDBTransactionCallback OnAbort; [ScriptName("oncomplete")] - public IDBTransactionDelegate OnComplete; + public IDBTransactionCallback OnComplete; [ScriptName("onerror")] - public IDBTransactionDelegate OnError; + public IDBTransactionCallback OnError; } [ScriptIgnoreNamespace] [ScriptImport] - public delegate void IDBTransactionDelegate(IDBEvent e); + public delegate void IDBTransactionCallback(IDBEvent e); } diff --git a/src/Libraries/Web/Web.csproj b/src/Libraries/Web/Web.csproj index 818731f3e..d8370bcb2 100644 --- a/src/Libraries/Web/Web.csproj +++ b/src/Libraries/Web/Web.csproj @@ -52,6 +52,7 @@ + From c02333e7155ae628fcffce6a4f1663e565049bfe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20Sch=C3=B6nebeck?= Date: Sat, 19 Jan 2013 01:44:11 +0100 Subject: [PATCH 8/8] Classes renamed and IndexedDB API namespace --- src/Libraries/Web/Html/Data/IDBDatabase.cs | 68 ------------------- .../Web/Html/Data/IDBOpenDBRequest.cs | 27 -------- .../{IDBCursor.cs => IndexedDB/DBCursor.cs} | 10 +-- .../DBCursorWithValue.cs} | 6 +- .../Web/Html/Data/IndexedDB/DBDatabase.cs | 68 +++++++++++++++++++ .../{IDBEvent.cs => IndexedDB/DBEvent.cs} | 6 +- .../DBEventTarget.cs} | 6 +- .../{IDBFactory.cs => IndexedDB/DBFactory.cs} | 12 ++-- .../{IDBIndex.cs => IndexedDB/DBIndex.cs} | 30 ++++---- .../DBIndexParameters.cs} | 4 +- .../DBObjectStore.cs} | 46 ++++++------- .../DBObjectStoreParameters.cs} | 4 +- .../Html/Data/IndexedDB/DBOpenDBRequest.cs | 27 ++++++++ .../{IDBRequest.cs => IndexedDB/DBRequest.cs} | 14 ++-- .../DBTransaction.cs} | 18 ++--- src/Libraries/Web/Html/Window.cs | 3 +- src/Libraries/Web/Web.csproj | 26 +++---- 17 files changed, 188 insertions(+), 187 deletions(-) delete mode 100644 src/Libraries/Web/Html/Data/IDBDatabase.cs delete mode 100644 src/Libraries/Web/Html/Data/IDBOpenDBRequest.cs rename src/Libraries/Web/Html/Data/{IDBCursor.cs => IndexedDB/DBCursor.cs} (79%) rename src/Libraries/Web/Html/Data/{IDBCursorWithValue.cs => IndexedDB/DBCursorWithValue.cs} (66%) create mode 100644 src/Libraries/Web/Html/Data/IndexedDB/DBDatabase.cs rename src/Libraries/Web/Html/Data/{IDBEvent.cs => IndexedDB/DBEvent.cs} (82%) rename src/Libraries/Web/Html/Data/{IDBEventTarget.cs => IndexedDB/DBEventTarget.cs} (81%) rename src/Libraries/Web/Html/Data/{IDBFactory.cs => IndexedDB/DBFactory.cs} (54%) rename src/Libraries/Web/Html/Data/{IDBIndex.cs => IndexedDB/DBIndex.cs} (57%) rename src/Libraries/Web/Html/Data/{IDBIndexParameters.cs => IndexedDB/DBIndexParameters.cs} (84%) rename src/Libraries/Web/Html/Data/{IDBObjectStore.cs => IndexedDB/DBObjectStore.cs} (50%) rename src/Libraries/Web/Html/Data/{IDBObjectStoreParameters.cs => IndexedDB/DBObjectStoreParameters.cs} (83%) create mode 100644 src/Libraries/Web/Html/Data/IndexedDB/DBOpenDBRequest.cs rename src/Libraries/Web/Html/Data/{IDBRequest.cs => IndexedDB/DBRequest.cs} (69%) rename src/Libraries/Web/Html/Data/{IDBTransaction.cs => IndexedDB/DBTransaction.cs} (58%) diff --git a/src/Libraries/Web/Html/Data/IDBDatabase.cs b/src/Libraries/Web/Html/Data/IDBDatabase.cs deleted file mode 100644 index 0326b96ab..000000000 --- a/src/Libraries/Web/Html/Data/IDBDatabase.cs +++ /dev/null @@ -1,68 +0,0 @@ -using System; -using System.Runtime.CompilerServices; - -namespace System.Html.Data { - - [ScriptIgnoreNamespace] - [ScriptImport] - public sealed class IDBDatabase : IDBEventTarget { - - private IDBDatabase() { - } - - [ScriptField] - public string Name { - get { return default(string); } - } - - [ScriptField] - public long Version { - get { return default(long); } - } - - [ScriptField] - public string[] ObjectStoreNames { - get { return default(string[]); } - } - - public IDBObjectStore CreateObjectStore(string name) { - return default(IDBObjectStore); - } - - public IDBObjectStore CreateObjectStore(string name, IDBObjectStoreParameters optionalParameters) { - return default(IDBObjectStore); - } - - public void DeleteObjectStore(string name) { - } - - public IDBTransaction Transaction(string[] storenames) { - return default(IDBTransaction); - } - - public IDBTransaction Transaction(string[] storenames, string mode) { - return default(IDBTransaction); - } - - public void Close() { - } - - [ScriptName("onabort")] - public IDBDatabaseCallback OnAbort; - - [ScriptName("onerror")] - public IDBDatabaseCallback OnError; - - [ScriptName("onversionchange")] - public IDBDatabaseVersionChangeCallback OnVersionChange; - } - - [ScriptIgnoreNamespace] - [ScriptImport] - public delegate void IDBDatabaseCallback(IDBEvent e); - - [ScriptIgnoreNamespace] - [ScriptImport] - public delegate void IDBDatabaseVersionChangeCallback(IDBVersionChangeEvent e); - -} diff --git a/src/Libraries/Web/Html/Data/IDBOpenDBRequest.cs b/src/Libraries/Web/Html/Data/IDBOpenDBRequest.cs deleted file mode 100644 index 5b8a3b0a8..000000000 --- a/src/Libraries/Web/Html/Data/IDBOpenDBRequest.cs +++ /dev/null @@ -1,27 +0,0 @@ -using System; -using System.Runtime.CompilerServices; - -namespace System.Html.Data { - - [ScriptIgnoreNamespace] - [ScriptImport] - public class IDBOpenDBRequest : IDBRequest { - - protected IDBOpenDBRequest() { - } - - [ScriptName("onblocked")] - public IDBOpenDBRequestCallback OnBlocked; - - [ScriptName("onupgradeneeded")] - public IDBOpenDBRequestVersionChangeCallback OnUpgradeNeeded; - } - - [ScriptIgnoreNamespace] - [ScriptImport] - public delegate void IDBOpenDBRequestCallback(IDBEvent e); - - [ScriptIgnoreNamespace] - [ScriptImport] - public delegate void IDBOpenDBRequestVersionChangeCallback(IDBVersionChangeEvent e); -} diff --git a/src/Libraries/Web/Html/Data/IDBCursor.cs b/src/Libraries/Web/Html/Data/IndexedDB/DBCursor.cs similarity index 79% rename from src/Libraries/Web/Html/Data/IDBCursor.cs rename to src/Libraries/Web/Html/Data/IndexedDB/DBCursor.cs index 541cf4ecb..fd36fc4f4 100644 --- a/src/Libraries/Web/Html/Data/IDBCursor.cs +++ b/src/Libraries/Web/Html/Data/IndexedDB/DBCursor.cs @@ -1,13 +1,13 @@ using System; using System.Runtime.CompilerServices; -namespace System.Html.Data { +namespace System.Html.Data.IndexedDB { [ScriptIgnoreNamespace] [ScriptImport] - public class IDBCursor { + public class DBCursor { - protected IDBCursor() { + protected DBCursor() { } [ScriptField] @@ -30,7 +30,7 @@ public class IDBCursor { get { return null; } } - public IDBRequest Update(object value) { + public DBRequest Update(object value) { return null; } @@ -43,7 +43,7 @@ public class IDBCursor { public void Continue(object key) { } - public IDBRequest Delete(object value) { + public DBRequest Delete(object value) { return null; } } diff --git a/src/Libraries/Web/Html/Data/IDBCursorWithValue.cs b/src/Libraries/Web/Html/Data/IndexedDB/DBCursorWithValue.cs similarity index 66% rename from src/Libraries/Web/Html/Data/IDBCursorWithValue.cs rename to src/Libraries/Web/Html/Data/IndexedDB/DBCursorWithValue.cs index e28c50eb1..ddac8e28e 100644 --- a/src/Libraries/Web/Html/Data/IDBCursorWithValue.cs +++ b/src/Libraries/Web/Html/Data/IndexedDB/DBCursorWithValue.cs @@ -1,13 +1,13 @@ using System; using System.Runtime.CompilerServices; -namespace System.Html.Data { +namespace System.Html.Data.IndexedDB { [ScriptIgnoreNamespace] [ScriptImport] - public class IDBCursorWithValue : IDBCursor { + public class DBCursorWithValue : DBCursor { - private IDBCursorWithValue() { + private DBCursorWithValue() { } [ScriptField] diff --git a/src/Libraries/Web/Html/Data/IndexedDB/DBDatabase.cs b/src/Libraries/Web/Html/Data/IndexedDB/DBDatabase.cs new file mode 100644 index 000000000..e4c86b936 --- /dev/null +++ b/src/Libraries/Web/Html/Data/IndexedDB/DBDatabase.cs @@ -0,0 +1,68 @@ +using System; +using System.Runtime.CompilerServices; + +namespace System.Html.Data.IndexedDB { + + [ScriptIgnoreNamespace] + [ScriptImport] + public sealed class DBDatabase : DBEventTarget { + + private DBDatabase() { + } + + [ScriptField] + public string Name { + get { return default(string); } + } + + [ScriptField] + public long Version { + get { return default(long); } + } + + [ScriptField] + public string[] ObjectStoreNames { + get { return default(string[]); } + } + + public DBObjectStore CreateObjectStore(string name) { + return default(DBObjectStore); + } + + public DBObjectStore CreateObjectStore(string name, DBObjectStoreParameters optionalParameters) { + return default(DBObjectStore); + } + + public void DeleteObjectStore(string name) { + } + + public DBTransaction Transaction(string[] storenames) { + return default(DBTransaction); + } + + public DBTransaction Transaction(string[] storenames, string mode) { + return default(DBTransaction); + } + + public void Close() { + } + + [ScriptName("onabort")] + public DBDatabaseCallback OnAbort; + + [ScriptName("onerror")] + public DBDatabaseCallback OnError; + + [ScriptName("onversionchange")] + public DBDatabaseVersionChangeCallback OnVersionChange; + } + + [ScriptIgnoreNamespace] + [ScriptImport] + public delegate void DBDatabaseCallback(DBEvent e); + + [ScriptIgnoreNamespace] + [ScriptImport] + public delegate void DBDatabaseVersionChangeCallback(DBVersionChangeEvent e); + +} diff --git a/src/Libraries/Web/Html/Data/IDBEvent.cs b/src/Libraries/Web/Html/Data/IndexedDB/DBEvent.cs similarity index 82% rename from src/Libraries/Web/Html/Data/IDBEvent.cs rename to src/Libraries/Web/Html/Data/IndexedDB/DBEvent.cs index b45e9c74a..080bd8ad7 100644 --- a/src/Libraries/Web/Html/Data/IDBEvent.cs +++ b/src/Libraries/Web/Html/Data/IndexedDB/DBEvent.cs @@ -1,11 +1,11 @@ using System; using System.Runtime.CompilerServices; -namespace System.Html.Data { +namespace System.Html.Data.IndexedDB { [ScriptIgnoreNamespace] [ScriptImport] - public class IDBEvent { + public class DBEvent { [ScriptField] public string Type { @@ -20,7 +20,7 @@ public class IDBEvent { [ScriptIgnoreNamespace] [ScriptImport] - public class IDBVersionChangeEvent : IDBEvent { + public class DBVersionChangeEvent : DBEvent { [ScriptField] public long OldVersion { diff --git a/src/Libraries/Web/Html/Data/IDBEventTarget.cs b/src/Libraries/Web/Html/Data/IndexedDB/DBEventTarget.cs similarity index 81% rename from src/Libraries/Web/Html/Data/IDBEventTarget.cs rename to src/Libraries/Web/Html/Data/IndexedDB/DBEventTarget.cs index d52808d01..c9c7dd3a3 100644 --- a/src/Libraries/Web/Html/Data/IDBEventTarget.cs +++ b/src/Libraries/Web/Html/Data/IndexedDB/DBEventTarget.cs @@ -1,11 +1,11 @@ using System; using System.Runtime.CompilerServices; -namespace System.Html.Data { +namespace System.Html.Data.IndexedDB { [ScriptIgnoreNamespace] [ScriptImport] - public class IDBEventTarget { + public class DBEventTarget { public void AddEventListener(string type, Action listener) { } @@ -19,7 +19,7 @@ public class IDBEventTarget { public void RemoveEventListener(string type, Action listener, bool useCapture) { } - public bool DispatchEvent(IDBEvent e) { + public bool DispatchEvent(DBEvent e) { return false; } } diff --git a/src/Libraries/Web/Html/Data/IDBFactory.cs b/src/Libraries/Web/Html/Data/IndexedDB/DBFactory.cs similarity index 54% rename from src/Libraries/Web/Html/Data/IDBFactory.cs rename to src/Libraries/Web/Html/Data/IndexedDB/DBFactory.cs index bd51291a1..dd6b2be3a 100644 --- a/src/Libraries/Web/Html/Data/IDBFactory.cs +++ b/src/Libraries/Web/Html/Data/IndexedDB/DBFactory.cs @@ -1,24 +1,24 @@ using System; using System.Runtime.CompilerServices; -namespace System.Html.Data { +namespace System.Html.Data.IndexedDB { [ScriptIgnoreNamespace] [ScriptImport] - public sealed class IDBFactory { + public sealed class DBFactory { - private IDBFactory() { + private DBFactory() { } - public IDBOpenDBRequest Open(string name) { + public DBOpenDBRequest Open(string name) { return null; } - public IDBOpenDBRequest Open(string name, long version) { + public DBOpenDBRequest Open(string name, long version) { return null; } - public IDBOpenDBRequest DeleteDatabase(string name) { + public DBOpenDBRequest DeleteDatabase(string name) { return null; } diff --git a/src/Libraries/Web/Html/Data/IDBIndex.cs b/src/Libraries/Web/Html/Data/IndexedDB/DBIndex.cs similarity index 57% rename from src/Libraries/Web/Html/Data/IDBIndex.cs rename to src/Libraries/Web/Html/Data/IndexedDB/DBIndex.cs index 621b468a4..12b384559 100644 --- a/src/Libraries/Web/Html/Data/IDBIndex.cs +++ b/src/Libraries/Web/Html/Data/IndexedDB/DBIndex.cs @@ -1,13 +1,13 @@ using System; using System.Runtime.CompilerServices; -namespace System.Html.Data { +namespace System.Html.Data.IndexedDB { [ScriptIgnoreNamespace] [ScriptImport] - public sealed class IDBIndex { + public sealed class DBIndex { - private IDBIndex() { + private DBIndex() { } [ScriptField] @@ -16,8 +16,8 @@ public sealed class IDBIndex { } [ScriptField] - public IDBObjectStore ObjectStore { - get { return default(IDBObjectStore); } + public DBObjectStore ObjectStore { + get { return default(DBObjectStore); } } [ScriptField] @@ -35,43 +35,43 @@ public sealed class IDBIndex { get { return default(bool); } } - public IDBRequest OpenCursor() { + public DBRequest OpenCursor() { return null; } - public IDBRequest OpenCursor(object range) { + public DBRequest OpenCursor(object range) { return null; } - public IDBRequest OpenCursor(object range, string direction) { + public DBRequest OpenCursor(object range, string direction) { return null; } - public IDBRequest OpenKeyCursor() { + public DBRequest OpenKeyCursor() { return null; } - public IDBRequest OpenKeyCursor(object range) { + public DBRequest OpenKeyCursor(object range) { return null; } - public IDBRequest OpenKeyCursor(object range, string direction) { + public DBRequest OpenKeyCursor(object range, string direction) { return null; } - public IDBRequest Get(object key) { + public DBRequest Get(object key) { return null; } - public IDBRequest GetKey(object key) { + public DBRequest GetKey(object key) { return null; } - public IDBRequest Count() { + public DBRequest Count() { return null; } - public IDBRequest Count(object key) { + public DBRequest Count(object key) { return null; } } diff --git a/src/Libraries/Web/Html/Data/IDBIndexParameters.cs b/src/Libraries/Web/Html/Data/IndexedDB/DBIndexParameters.cs similarity index 84% rename from src/Libraries/Web/Html/Data/IDBIndexParameters.cs rename to src/Libraries/Web/Html/Data/IndexedDB/DBIndexParameters.cs index 486aca654..28b522594 100644 --- a/src/Libraries/Web/Html/Data/IDBIndexParameters.cs +++ b/src/Libraries/Web/Html/Data/IndexedDB/DBIndexParameters.cs @@ -1,12 +1,12 @@ using System; using System.Runtime.CompilerServices; -namespace System.Html.Data { +namespace System.Html.Data.IndexedDB { [ScriptIgnoreNamespace] [ScriptImport] [ScriptName("Object")] - public sealed class IDBIndexParameters { + public sealed class DBIndexParameters { [ScriptField] public bool Unique { diff --git a/src/Libraries/Web/Html/Data/IDBObjectStore.cs b/src/Libraries/Web/Html/Data/IndexedDB/DBObjectStore.cs similarity index 50% rename from src/Libraries/Web/Html/Data/IDBObjectStore.cs rename to src/Libraries/Web/Html/Data/IndexedDB/DBObjectStore.cs index 2efe920c7..2ba5ec0a0 100644 --- a/src/Libraries/Web/Html/Data/IDBObjectStore.cs +++ b/src/Libraries/Web/Html/Data/IndexedDB/DBObjectStore.cs @@ -1,13 +1,13 @@ using System; using System.Runtime.CompilerServices; -namespace System.Html.Data { +namespace System.Html.Data.IndexedDB { [ScriptIgnoreNamespace] [ScriptImport] - public sealed class IDBObjectStore { + public sealed class DBObjectStore { - private IDBObjectStore() { + private DBObjectStore() { } [ScriptField] @@ -26,8 +26,8 @@ public sealed class IDBObjectStore { } [ScriptField] - public IDBTransaction Transaction { - get { return default(IDBTransaction); } + public DBTransaction Transaction { + get { return default(DBTransaction); } } [ScriptField] @@ -35,66 +35,66 @@ public sealed class IDBObjectStore { get { return default(bool); } } - public IDBRequest Put(object value) { + public DBRequest Put(object value) { return null; } - public IDBRequest Put(object value, object key) { + public DBRequest Put(object value, object key) { return null; } - public IDBRequest Add(object value) { + public DBRequest Add(object value) { return null; } - public IDBRequest Add(object value, object key) { + public DBRequest Add(object value, object key) { return null; } - public IDBRequest Delete(object key) { + public DBRequest Delete(object key) { return null; } - public IDBRequest Get(object key) { + public DBRequest Get(object key) { return null; } - public IDBRequest Clear() { + public DBRequest Clear() { return null; } - public IDBRequest OpenCursor() { + public DBRequest OpenCursor() { return null; } - public IDBRequest OpenCursor(object range) { + public DBRequest OpenCursor(object range) { return null; } - public IDBRequest OpenCursor(object range, string direction) { + public DBRequest OpenCursor(object range, string direction) { return null; } - public IDBIndex CreateIndex(string name, object keyPath) { - return default(IDBIndex); + public DBIndex CreateIndex(string name, object keyPath) { + return default(DBIndex); } - public IDBIndex CreateIndex(string name, object keyPath, IDBIndexParameters optionalParameters) { - return default(IDBIndex); + public DBIndex CreateIndex(string name, object keyPath, DBIndexParameters optionalParameters) { + return default(DBIndex); } - public IDBIndex Index(string name) { - return default(IDBIndex); + public DBIndex Index(string name) { + return default(DBIndex); } public void DeleteIndex(string indexName) { } - public IDBRequest Count() { + public DBRequest Count() { return null; } - public IDBRequest Count(object key) { + public DBRequest Count(object key) { return null; } } diff --git a/src/Libraries/Web/Html/Data/IDBObjectStoreParameters.cs b/src/Libraries/Web/Html/Data/IndexedDB/DBObjectStoreParameters.cs similarity index 83% rename from src/Libraries/Web/Html/Data/IDBObjectStoreParameters.cs rename to src/Libraries/Web/Html/Data/IndexedDB/DBObjectStoreParameters.cs index 70d3b82c3..e7f8150ec 100644 --- a/src/Libraries/Web/Html/Data/IDBObjectStoreParameters.cs +++ b/src/Libraries/Web/Html/Data/IndexedDB/DBObjectStoreParameters.cs @@ -1,12 +1,12 @@ using System; using System.Runtime.CompilerServices; -namespace System.Html.Data { +namespace System.Html.Data.IndexedDB { [ScriptIgnoreNamespace] [ScriptImport] [ScriptName("Object")] - public sealed class IDBObjectStoreParameters { + public sealed class DBObjectStoreParameters { [ScriptField] public string KeyPath { diff --git a/src/Libraries/Web/Html/Data/IndexedDB/DBOpenDBRequest.cs b/src/Libraries/Web/Html/Data/IndexedDB/DBOpenDBRequest.cs new file mode 100644 index 000000000..413c343a8 --- /dev/null +++ b/src/Libraries/Web/Html/Data/IndexedDB/DBOpenDBRequest.cs @@ -0,0 +1,27 @@ +using System; +using System.Runtime.CompilerServices; + +namespace System.Html.Data.IndexedDB { + + [ScriptIgnoreNamespace] + [ScriptImport] + public class DBOpenDBRequest : DBRequest { + + protected DBOpenDBRequest() { + } + + [ScriptName("onblocked")] + public DBOpenDBRequestCallback OnBlocked; + + [ScriptName("onupgradeneeded")] + public DBOpenDBRequestVersionChangeCallback OnUpgradeNeeded; + } + + [ScriptIgnoreNamespace] + [ScriptImport] + public delegate void DBOpenDBRequestCallback(DBEvent e); + + [ScriptIgnoreNamespace] + [ScriptImport] + public delegate void DBOpenDBRequestVersionChangeCallback(DBVersionChangeEvent e); +} diff --git a/src/Libraries/Web/Html/Data/IDBRequest.cs b/src/Libraries/Web/Html/Data/IndexedDB/DBRequest.cs similarity index 69% rename from src/Libraries/Web/Html/Data/IDBRequest.cs rename to src/Libraries/Web/Html/Data/IndexedDB/DBRequest.cs index 63e3c848f..9e38e48f4 100644 --- a/src/Libraries/Web/Html/Data/IDBRequest.cs +++ b/src/Libraries/Web/Html/Data/IndexedDB/DBRequest.cs @@ -1,13 +1,13 @@ using System; using System.Runtime.CompilerServices; -namespace System.Html.Data { +namespace System.Html.Data.IndexedDB { [ScriptIgnoreNamespace] [ScriptImport] - public class IDBRequest : IDBEventTarget { + public class DBRequest : DBEventTarget { - protected IDBRequest() { + protected DBRequest() { } [ScriptField] @@ -26,7 +26,7 @@ public class IDBRequest : IDBEventTarget { } [ScriptField] - public IDBTransaction Transaction { + public DBTransaction Transaction { get { return null; } } @@ -36,14 +36,14 @@ public class IDBRequest : IDBEventTarget { } [ScriptName("onsuccess")] - public IDBRequestCallback OnSuccess; + public DBRequestCallback OnSuccess; [ScriptName("onerror")] - public IDBRequestCallback OnError; + public DBRequestCallback OnError; } [ScriptIgnoreNamespace] [ScriptImport] - public delegate void IDBRequestCallback(IDBEvent e); + public delegate void DBRequestCallback(DBEvent e); } diff --git a/src/Libraries/Web/Html/Data/IDBTransaction.cs b/src/Libraries/Web/Html/Data/IndexedDB/DBTransaction.cs similarity index 58% rename from src/Libraries/Web/Html/Data/IDBTransaction.cs rename to src/Libraries/Web/Html/Data/IndexedDB/DBTransaction.cs index 0c0b1b6ce..a5ec3c5c4 100644 --- a/src/Libraries/Web/Html/Data/IDBTransaction.cs +++ b/src/Libraries/Web/Html/Data/IndexedDB/DBTransaction.cs @@ -1,13 +1,13 @@ using System; using System.Runtime.CompilerServices; -namespace System.Html.Data { +namespace System.Html.Data.IndexedDB { [ScriptIgnoreNamespace] [ScriptImport] - public sealed class IDBTransaction : IDBEventTarget { + public sealed class DBTransaction : DBEventTarget { - private IDBTransaction() { + private DBTransaction() { } [ScriptField] @@ -16,7 +16,7 @@ public sealed class IDBTransaction : IDBEventTarget { } [ScriptField] - public IDBDatabase Db { + public DBDatabase Db { get { return null; } } @@ -25,7 +25,7 @@ public sealed class IDBTransaction : IDBEventTarget { get { return null; } } - public IDBObjectStore ObjectStore(string name) { + public DBObjectStore ObjectStore(string name) { return null; } @@ -33,18 +33,18 @@ public sealed class IDBTransaction : IDBEventTarget { } [ScriptName("onabort")] - public IDBTransactionCallback OnAbort; + public DBTransactionCallback OnAbort; [ScriptName("oncomplete")] - public IDBTransactionCallback OnComplete; + public DBTransactionCallback OnComplete; [ScriptName("onerror")] - public IDBTransactionCallback OnError; + public DBTransactionCallback OnError; } [ScriptIgnoreNamespace] [ScriptImport] - public delegate void IDBTransactionCallback(IDBEvent e); + public delegate void DBTransactionCallback(DBEvent e); } diff --git a/src/Libraries/Web/Html/Window.cs b/src/Libraries/Web/Html/Window.cs index 68d8730e2..f5802fbe1 100644 --- a/src/Libraries/Web/Html/Window.cs +++ b/src/Libraries/Web/Html/Window.cs @@ -5,6 +5,7 @@ using System; using System.Html.Data; +using System.Html.Data.IndexedDB; using System.Runtime.CompilerServices; namespace System.Html { @@ -411,7 +412,7 @@ public sealed class Window { } [ScriptField] - public static IDBFactory IndexedDB { + public static DBFactory IndexedDB { get { return null; } diff --git a/src/Libraries/Web/Web.csproj b/src/Libraries/Web/Web.csproj index d8370bcb2..ce9c4cfe0 100644 --- a/src/Libraries/Web/Web.csproj +++ b/src/Libraries/Web/Web.csproj @@ -48,19 +48,19 @@ - - - - - - - - - - - - - + + + + + + + + + + + + +