[Bug 20361] Grammar is wrong for serializers

# bugzilla at jessica.w3.org (4 years ago)

www.w3.org/Bugs/Public/show_bug.cgi?id=20361

--- Comment #1 from Robin Berjon robin@w3.org --- (In reply to comment #0)

A serializer is supposed to be able to be:

serializer identifier name();

But the syntax has that as serializer OperationRest. OperationRest does not include the identifier, so it needs to be added.

Of course I would be more readable if I were awake. I meant

serializer type identifier();

The type is not accounted for in the syntax.

Contact us to advertise here
# bugzilla at jessica.w3.org (4 years ago)

www.w3.org/Bugs/Public/show_bug.cgi?id=20361

Dominique Hazael-Massieux dom@w3.org changed:

       What    |Removed                     |Added

             CC|                            |dom@w3.org

--- Comment #2 from Dominique Hazael-Massieux dom@w3.org ---

Maybe relatedly, the grammar prevents having a ";" (instead of mandating it) after an empty serializer declaration.

interface Foo { serializer }; // valid according to the current grammar interface Foo { serializer; }; // invalid according to the current grammar

# bugzilla at jessica.w3.org (2 years ago)

www.w3.org/Bugs/Public/show_bug.cgi?id=20361

--- Comment #3 from Jens Widell jl@opera.com ---

The grammar also lacks support for the

serializer = { attribute };

and

serializer = { inherit, attribute };

variants.

# bugzilla at jessica.w3.org (2 years ago)

www.w3.org/Bugs/Public/show_bug.cgi?id=20361

Boris Zbarsky bzbarsky@mit.edu changed:

       What    |Removed                     |Added

             CC|                            |bzbarsky@mit.edu

--- Comment #4 from Boris Zbarsky bzbarsky@mit.edu ---

I still claim the entire serializer setup is overengineered. Does anyone really want anything other than { attribute } for interfaces with no ancestors that have serializers or { inherit, attribute } for ones that have such ancestors?

# bugzilla at jessica.w3.org (2 years ago)

www.w3.org/Bugs/Public/show_bug.cgi?id=20361

Travis Leithead [MSFT] travil@microsoft.com changed:

       What    |Removed                     |Added

             CC|                            |travil@microsoft.com

--- Comment #5 from Travis Leithead [MSFT] travil@microsoft.com --- (In reply to Boris Zbarsky from comment #4)

I still claim the entire serializer setup is overengineered. Does anyone really want anything other than { attribute } for interfaces with no ancestors that have serializers or { inherit, attribute } for ones that have such ancestors?

In IE, we've only wanted (and implemented) this for the NavigationTiming [1] and related interfaces, in order to make it easy to package and serialize the attributes. +1 for potentially simplifying the grammar to remove use-cases until/unless we find a good reason for them.

[1] www.w3.org/TR/navigation-timing/#sec-navigation-timing-interface

# bugzilla at jessica.w3.org (2 years ago)

www.w3.org/Bugs/Public/show_bug.cgi?id=20361

--- Comment #6 from Boris Zbarsky bzbarsky@mit.edu ---

In Gecko's case we use it for some of the timing stuff, but also for some WebRTC interfaces (RTCIceCandidate, RTCSessionDescription). In any case, all those consumers want to serialize all the attributes.

# bugzilla at jessica.w3.org (7 months ago)

www.w3.org/Bugs/Public/show_bug.cgi?id=20361

Domenic Denicola d@domenic.me changed:

       What    |Removed                     |Added

             CC|                            |d@domenic.me
         Status|NEW                         |RESOLVED
     Resolution|---                         |MOVED

--- Comment #7 from Domenic Denicola d@domenic.me ---

Consolidating serializer issues into a simplification issue at heycam/webidl#188

Want more features?

Request early access to our private beta of readable email premium.