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

Defines two conformance classes for the specification #204

Merged
merged 9 commits into from
Oct 9, 2015

Conversation

markafoltz
Copy link
Contributor

This PR defines two conformance classes for the specification to address Issue #93:

  • A controlling user agent provides the controlling browsing context and its associated interfaces/objects.
  • A receiving user agent provides the receiving browsing context and its associated interfaces/objects.

The PR makes normative statements about each of them where it makes sense to do so. In most cases I say that a particular user agent SHOULD or MUST implement a certain interface in the corresponding browsing context - perhaps there is a better way to make these normative statements.

I didn't try to regroup the definitions by conformance class in this PR, but that might make the spec read better in the long run. For example, PresentationConnection is required by both UAs. It may be clearer to have a common definition and then the management algorithms in UA-specific sections. I think that is better done in a different PR.

@tidoust please take a look as you had some specific thoughts about how to describe the conformance classes.

the <a><code>PresentationConnection</code></a>,
<a><code>PresentationConnectionAvailableEvent</code></a>, and
<a><code>PresentationRequest</code></a> interfaces.
</p>
Copy link
Member

Choose a reason for hiding this comment

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

s/This context MUST implement/A controlling user agent implements/
In other words, it is the user agent that implements the interfaces and I would not include normative statements directly in the definition of the conformance class, but merely state facts.

The "Presentation" interface should be in that list, too.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done.

@tidoust
Copy link
Member

tidoust commented Oct 9, 2015

@mfoltzgoogle,

I made a few comments inline, the main point for me being the definition of the Presentation interface in the spec. The interface is common to both user agents but specific for each of them. I think I initially suggested to use two partial definitions, but that looks a bit strange in practice for such a simple interface. In the end, I think I would stick to one Presentation interface definition, using regular prose to explain what each user agent implements.

This looks pretty good to me otherwise!

@markafoltz
Copy link
Contributor Author

@tidoust Thanks for all the comments. I went ahead and merged the two interfaces and use prose to make statements about each property of the interface as you suggested.

We may want to also make statements to the effect that a non-controlling UA must not define navigator.presentation.defaultRequest and a non-receiving UA must not define navigator.presentation.receiver. But I am not sure.

I am going to merge this, feel free to make additional suggestions/PRs.

markafoltz added a commit that referenced this pull request Oct 9, 2015
Defines two conformance classes for the specification
@markafoltz markafoltz merged commit ce60fda into gh-pages Oct 9, 2015
@markafoltz markafoltz deleted the conformance-classes branch October 9, 2015 19:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants