- From: Tran, Dzung D <dzung.d.tran@intel.com>
- Date: Thu, 27 May 2010 06:58:14 -0700
- To: Dominique Hazael-Massieux <dom@w3.org>, Max Froumentin <maxfro@opera.com>
- CC: public-device-apis <public-device-apis@w3.org>
Dom, Thank you for doing the WebIDL check on this spec. Please see my response below. > Running the WebIDL checker on the current editors draft of SysInfo and > reviewing it manually, I've found the following problems: > * SystemInfo.get() and SystemInfo.monitor() accepts either a name or a > URI, but the spec doesn't explain the possible equivalence between them; > based on section 5, I assume that invoking get with > "http://www.w3.org/2009/dap/SysInfo/Power" should return the same > results as invoking it with just "Power" but that should be stated > explicitly; also, the comparison algorithm for the URIs should be > clarified (I assume we want only a character-per-character comparison, > without any normalization) I will clarify this and note that it is char-per-char comparison. > * "ErrorCB?" in the definition of SystemInfo.get and SystemInfo.monitor > should be just "ErrorCB" (interface types are not nullable since they > already allow the null value according to the WebIDL spec [1]) Will fix > * the attribute info is defined on a number of *Attributes interfaces as > of type "String?" instead of DOMString? Will fix > * although the syntax of arrays is not formally defined in WebIDL yet, I > believe they are supposed to be written > attribute DOMString[] foo; > rather than > attribute DOMString foo[]; > (which is what the spec currently uses) Will fix. Is that what the WebIDL specify today?> > * Options.timeout is defined twice, with different descriptions; note > that the type that should be kept is "unsigned long" Will fix > * Error.PERMISSION_DENIED has a numeric value of 0 — isn't it a bit > dangerous to use 0 as a value since it is equivalent to false? The > PositionError interface in Geolocation only uses strictly positive > Values If this is the case then there are several place where numeric values starting at 0 will have to start at 1. Is this what this WG agree to do? For instance we have: interface StorageUnitAttributes : SystemProperty { const unsigned short TYPE_UNKNOWN = 0; const unsigned short TYPE_HARDDISK = 1; const unsigned short TYPE_FLOPPYDISK = 2; const unsigned short TYPE_OPTICAL = 3; const unsigned short TYPE_FLASH = 4; attribute unsigned short type; attribute boolean isReadWrite; attribute unsigned long capacity; attribute unsigned long availableCapacity; attribute boolean isRemoveable; }; Should TYPE_UNKNOWN starts at 1? > * in the 1st example under 4.8 Sensors, I suggest adding a comment that > "setColorScheme" is a user-defined function or something along that line > — some readers will assume this is also defined in the spec. Yes, this will clarify it as user function > * StorageUnitAttributes.isReadWrite is a boolean - it means it doesn't > allow to distinguish read-only from write-only storages? (actually, the > description seems to imply that the attribute really means > "isNotReadyOnly", but even that is not entirely clear) Ok, maybe I will change this to "isWritable"? What do you think? > * KeyboardAttributes.type and KeyboardAttributes.isHardware don't seem > to be orthogonal; a virtual keyword can typically present a full > keyboard or just a keypad Yes, a virtual keyboard (software keyboard) can be a full keyboard or keypad and the values return would be KeyboardAttributes.type = TYPE_KEYBOARD and KeyboardAttributes.isHardware = false. Is there some thing wrong with this? Thank you Dzung Tran
Received on Thursday, 27 May 2010 13:58:50 UTC