From a61b11a8521e6e97c9e1521af2151c8a031d6d2b Mon Sep 17 00:00:00 2001
From: Domenic Denicola
Operations, attributes, setters, or deleters annotated with the [CEReactions]
extended attribute must run the following steps
- surrounding the actions listed in the description of the operation, setter, deleter, or the
- attribute's setter:
Push a new element queue onto the + custom element reactions stack.
Run the originally-specified steps for this construct, catching any exceptions. If the + steps return a value, let value be the returned value. If they throw an exception, let + exception be the thrown exception.
Let queue be the result of popping from the + custom element reactions stack.
Invoke custom element reactions in queue.
If an exception exception was thrown by the original steps, rethrow + exception.
Otherwise, if a value value was returned from the original steps, return + value.
The intent behind this extended attribute is somewhat subtle. One way of accomplishing its