[Webkit-unassigned] [Bug 100292] IndexedDB: Remove IDBAny from WebKitIDL
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Thu Mar 7 13:36:28 PST 2013
https://bugs.webkit.org/show_bug.cgi?id=100292
Joshua Bell <jsbell at chromium.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |haraken at chromium.org
--- Comment #1 from Joshua Bell <jsbell at chromium.org> 2013-03-07 13:38:53 PST ---
IDBVersionChangeEvent.idl: readonly attribute IDBAny oldVersion;
IDBVersionChangeEvent.idl: readonly attribute IDBAny newVersion;
^^^ Number or String
...
I've been thinking about doing this in three parts:
(1) Remove IntegerType/StringType/NullType/KeyPathType in favor of just ScriptValueType + the various IDB*Types
(2) Reduce the IDBAny type set down to ScriptValue, and have a binding helper that does (RefPtr<T>) -> ScriptValue via toV8/toJS().
(3) Eliminate IDBAny itself
IMHO #1 is valuable on its own as it removes the need to create scratch SerializedScriptValues which then are deserialized into ScriptValues.
I've started #1 then abandoned this change about 5 times so far. The crux of it is that we need a ScriptExecutionContext at the point where the ScriptValue is created to get an isolate. Right now this easily done in IDBRequest but requires "dirtying" some of the other call sites - adding [CallWith=ScriptExecutionContext] IDL annotations here and there.
I've toyed with several API variations, e.g.:
* Require a ScriptExecutionContext to be passed to IDBAny constructors - callers need to are otherwise unchanged.
* Add IDBBindingUtilities functions for stringToScriptValue(isolate, str), numberToStringValue(isolate, double), etc; IDBAny creators pass in the ScriptValue
* Add constructors to ScriptValue: ScriptValue(isolate, double), ScriptValue(isolate, string), ScriptValue::null(isolate),
Opinions?
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list