- From: <bugzilla@jessica.w3.org>
- Date: Wed, 18 Jun 2014 22:05:45 +0000
- To: public-browser-tools-testing@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=26137
Bug ID: 26137
Summary: [WebDriver Spec]: Algorithm for serializing a result
is broken
Product: Browser Test/Tools WG
Version: unspecified
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P2
Component: WebDriver
Assignee: public-browser-tools-testing@w3.org
Reporter: james@hoppipolla.co.uk
QA Contact: public-browser-tools-testing@w3.org
CC: mike@w3.org
Blocks: 20860
In several ways:
It is defined in both executeScript and executeAsyncScript rather than in a
single place
It seems to think that a javascript function is going to return an IDL type,
which it isn't. This causes several problems:
* DOMString is considered a possible return type, which it isn't, but a
javascript string isn't, which it is
* Similarly with long and Number
* sequences of Nodes aren't a possible return type, although arrays in
general are.
It seems like Document Element is apparently being used to mean "Element",
which is very unclear since a Document is not an Element.
Corresponding webelement needs to be a reference.
Arrays should probably be treated specially so that any array input results in
an array output.
It is unclear how you are iterating over objects. Are only own properties
considered, or do you flatten the prototype chain? ES will have an algorithm to
hook into here.
The possibility of cyclic objects and indefinite recursion is not considered.
You need to do something sensible in this case.
You might want to examine the algorithm at [1] which implements many of the
same ideas.
[1]
http://www.whatwg.org/specs/web-apps/current-work/multipage/common-dom-interfaces.html#safe-passing-of-structured-data
--
You are receiving this mail because:
You are the QA Contact for the bug.
Received on Wednesday, 18 June 2014 22:05:46 UTC