[Webkit-unassigned] [Bug 98814] New: IndexedDB: Key paths should support non-ASCII identifiers
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Tue Oct 9 12:16:59 PDT 2012
https://bugs.webkit.org/show_bug.cgi?id=98814
Summary: IndexedDB: Key paths should support non-ASCII
identifiers
Product: WebKit
Version: 528+ (Nightly build)
Platform: Unspecified
OS/Version: Unspecified
Status: NEW
Severity: Normal
Priority: P2
Component: WebCore Misc.
AssignedTo: webkit-unassigned at lists.webkit.org
ReportedBy: jsbell at chromium.org
CC: dgrogan at chromium.org, alecflett at chromium.org
IDB spec http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#dfn-key-path says:
A key path is a DOMString or Array that defines how to extract a key from a value. A valid key path is one of:
* An empty DOMString.
* A DOMString containing a JavaScript identifier [ECMA-262].
* A DOMString containing multiple Javascript identifiers separated by periods (ASCII character code 46) [ECMA-262].
* A non-empty Array containing only DOMStrings conforming to the above requirements.
And ECMA-262 http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf#page=29 sayeth:
"Identifier Names are tokens that are interpreted according to the grammar given in the ―Identifiers‖ section of
chapter 5 of the Unicode standard, with some small modifications. An Identifier is an IdentifierName that is not
a ReservedWord (see 7.6.1). The Unicode identifier grammar is based on both normative and informative
character categories specified by the Unicode Standard. The characters in the specified categories in version
3.0 of the Unicode standard must be treated as in those categories by all conforming ECMAScript
implementations.
"This standard specifies specific character additions: The dollar sign ($) and the underscore (_) are permitted
anywhere in an IdentifierName."
And this is followed by a grammar.
However, the WebKit IDB implementation uses:
static inline bool isSafeIdentifierStartCharacter(UChar c)
{
return isASCIIAlpha(c) || (c == '_') || (c == '$');
}
static inline bool isSafeIdentifierCharacter(UChar c)
{
return isASCIIAlphanumeric(c) || (c == '_') || (c == '$');
}
... so we fail http://w3c-test.org/webapps/IndexedDB/tests/submissions/Opera/keypath.htm
--
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