New issue
Advanced search Search tips

Issue 811319 link

Starred by 2 users

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug


Participants' hotlists:
Hotlist-Bindings-IDLCompiler


Sign in to add a comment

bindings: ToV8() cannot distinguish between nullable and non-nullable string types in records and sequences

Project Member Reported by raphael....@intel.com, Feb 12 2018

Issue description

As mentioned in https://bugs.chromium.org/p/chromium/issues/detail?id=809190#c16, both sequence<DOMString> and sequence<DOMString?> (as well as ByteString and USVString) are represented as Vector<String> in C++. Similarly, record<..., DOMString> and record<..., DOMString?> are both represented as Vector<std::pair<String, String>>.

This is problematic in the sequence<DOMString?> (and record<..., DOMString?>) case, as we want an empty WTF::String() in the vector to turn into null, not '' when ToV8() converts the Vector into JavaScript.

git-grepping for 'sequence<\(DOM\|Byte\|USV\)String?>' only returns a couple of matches in our test IDL files, so no actual spec implementation seems to be affected at the moment.
 
Cc: peria@chromium.org
Labels: Hotlist-Bindings-IDLCompiler

Sign in to add a comment