Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

State how payment details modifier data is serialized and used #404

Merged
merged 3 commits into from
Jan 25, 2017

Conversation

domenic
Copy link
Collaborator

@domenic domenic commented Jan 20, 2017

This closes #346, by making it clear that the data is serialized and stored in the PaymentRequest for further usage by show(), and closes #307, by finally stating all the points at which JSON-serialization happens explicitly.

A couple of points worth mentioning:

  • I assumed we wanted the same swallow-all-exceptions behavior for updateWith for the JSON serialization process there.
  • It's still a bit vague exactly what data is to be sent to the payment app by show(). I put in a sentence "The payment app should be sent the appropriate data from request in order to guide the user through the payment process. This includes the various attributes and internal slots of request." This is meant to convey how the data is transported. But getting this fleshed out in more detail would probably be a good idea.

We actually store the serialized form, not the parsed form; this is more accurate.
This closes w3c#346, by making it clear that the data is serialized and stored in the PaymentRequest for further usage by show(), and closes w3c#307, by finally stating all the points at which JSON-serialization happens explicitly.
@marcoscaceres
Copy link
Member

I assumed we wanted the same swallow-all-exceptions behavior for updateWith for the JSON serialization process there.

Yes, that seems fine.

It's still a bit vague exactly what data is to be sent to the payment app by show(). I put in a sentence "The payment app should be sent the appropriate data from request in order to guide the user through the payment process. This includes the various attributes and internal slots of request." This is meant to convey how the data is transported. But getting this fleshed out in more detail would probably be a good idea.

I think this is pretty good, and we should flesh it out if ambiguities comes up during implementation, testing, and usage. It maybe "good enough"(tm) to not cause interop issues.

Copy link
Member

@marcoscaceres marcoscaceres left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, bar nit.

members of <a>PaymentDetailsModifier</a> instances contained in
the <a data-lt="PaymentDetails.modifiers">modifiers</a> member
will be removed, as they are instead stored in serialized form in
the [[\serializedModifierData]] internal slot.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: link to <a>[[\serializedModifierData]]</a>. I'll eventually teach ReSpec about internal slots :(

@marcoscaceres marcoscaceres merged commit 9e5aeff into w3c:gh-pages Jan 25, 2017
@domenic domenic deleted the last-json-serializable branch January 25, 2017 23:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants