[Bug 12248] Make objects first-class API citizens

http://www.w3.org/Bugs/Public/show_bug.cgi?id=12248

Allen Wirfs-Brock <allen@wirfs-brock.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Blocks|12101                       |

--- Comment #7 from Allen Wirfs-Brock <allen@wirfs-brock.com> 2011-03-07 19:34:38 UTC ---
(In reply to comment #5)

I'm not familiar with the querySelector namespace issues so I really can't
comment on them yet.

I did look at structured cloning and other than not being a true clone and
being rather underspecified I didn't see any insurmountable issues with making
the algorithm explicitly deal with getter properties. The web storage use of
structure clone appears to be one where the actual cloning can occur before any
irreversible operation take place. I suspect other uses could also be given
such a formulation.

It seems like a root issue that needs careful consideration is identification
of where serialization boundaries must or must not exist. (By a serialization
boundary I mean a point where direct object sharing is not possible or allowed;
Object identify and behavioral elements of objects are lost and objects graphs
are essentially be converted to to graphics of structs with primitive valued
data properties).

Storing into IndexDB is clearing such a boundary.  But I don't think it would
be reasonable to say that every call from a script into a web API crosses such
a boundary. That would seem to require that essentially all interface
specification have to give some consideration to these issues.  They
individually need to either be identified as a serialization boundary that
explicitly ensures that the serialization takes place or they will have to
explicitly deal with the possibility of accessor side-effects.  You simply
can't pretend that these issues don't exist.

> I suppose we can try to get the editors to rewrite those bits in a way that
> would prevent problems, and see whether they succeed.

It would probably be a good idea to provide some guide-lines and examples for
how to do this. I'd be happy to help develop those.

-- 
Configure bugmail: http://www.w3.org/Bugs/Public/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.

Received on Monday, 7 March 2011 19:34:40 UTC