{"action":"created","comment":{"url":"https://api.github.com/repos/whatwg/mediasession/pulls/comments/65515692","id":65515692,"diff_hunk":"@@ -1141,16 +1160,149 @@ constructor, when invoked, must run the following steps:\n     Let <var>metadata</var> be a new {{MediaMetadata}} object.\n   </li>\n   <li>\n-    Set <var>metadata</var>'s {{MediaMetadata/title}}, {{MediaMetadata/artist}},\n-    and {{MediaMetadata/album}} attributes to the values of <var>init</var>'s\n-    {{MediaMetadataInit/title}}, {{MediaMetadataInit/artist}}, and\n-    {{MediaMetadataInit/album}} members, respectively.\n+    Set <var>metadata</var>'s {{MediaMetadata/title}} to <var>init</var>'s\n+    {{MediaMetadataInit/title}}.\n+  </li>\n+  <li>\n+    Set <var>metadata</var>'s {{MediaMetadata/artist}} to <var>init</var>'s\n+    {{MediaMetadataInit/artist}}.\n+  </li>\n+  <li>\n+    Set <var>metadata</var>'s {{MediaMetadata/album}} to\n+    <var>init</var>'s {{MediaMetadataInit/album}}.\n+  </li>\n+  <li>\n+    Set <var>metadata</var>'s {{MediaMetadata/artworks}} using <var>init</var>'s\n+    {{MediaMetadataInit/artworks}} by calling the\n+    <a><code>MediaArtwork(init)</code></a> constructor.\n   </li>\n   <li>\n     Return <var>metadata</var>.\n   </li>\n </ol>\n \n+The <dfn attribute for=\"MediaMetadata\"><code>title</code></dfn> attribute must\n+return the {{MediaMetadata}} objects's <a>title</a>.\n+\n+The <dfn attribute for=\"MediaMetadata\"><code>artist</code></dfn> attribute must\n+return the {{MediaMetadata}} objects's <a>artist</a>.\n+\n+The <dfn attribute for=\"MediaMetadata\"><code>album</code></dfn> attribute must\n+return the {{MediaMetadata}} objects's <a>album</a>.\n+\n+The <dfn attribute for=\"MediaMetadata\"><code>artworks</code></dfn> attribute\n+must return the {{MediaMetadata}} objects's <a>artwork</a>s, as a sequence of\n+{{MediaArtwork}}s. The <a attribute for=\"MediaMetadata\">artworks</a> attribute\n+can be empty.\n+\n+The <dfn>fetch steps</dfn> for a given {{MediaMetadata}} object\n+<var>metadata</var> are:\n+\n+<ol>\n+  <!-- XXX https://www.w3.org/Bugs/Public/show_bug.cgi?id=24055 -->\n+  <li>\n+    If <var>metadata</var>'s <a><code>artworks</code></a> is empty, then\n+    terminate these steps.\n+  </li>\n+  <li>\n+    If the platform supports displaying media artwork, select a <dfn>prefered\n+    artwork</dfn>\n+    from <var>metadata</var>'s <a><code>artworks</code></a>.\n+  </li>\n+  <li>\n+    <a lt=\"fetch\">Fetch</a> <a>prefered artwork</a>'s {{MediaArtwork/src}}.\n+\n+    Then, <a>in parallel</a>:\n+\n+    <ol>\n+      <li>\n+        Wait for the <a>response</a>.\n+      </li>\n+      <li>\n+        If the <a>response</a>'s <a>internal response</a>'s\n+        <a lt=\"response type\">type</a> is <i>default</i>, attempt to decode the\n+        resource as image.\n+      </li>\n+      <li>\n+        If the image format is supported, use the image as the artwork for\n+        display. (Otherwise the user agent can select another <a>prefered\n+        artwork</a> and try again.)\n+      </li>\n+    </ol>\n+  </li>\n+</ol>\n+\n+<h2 id=\"the-mediaartwork-interface\">The {{MediaArtwork}} interface</h2>\n+\n+<pre class=\"idl\">\n+\n+[Constructor(MediaArtworkInit init)]\n+interface MediaArtwork {\n+  readonly attribute DOMString src;\n+  readonly attribute DOMString sizes;\n+  readonly attribute DOMString type;\n+};\n+\n+dictionary MediaArtworkInit {\n+  DOMString src = \"\";\n+  DOMString sizes = \"\";\n+  DOMString type = \"\";\n+};\n+</pre>\n+\n+A {{MediaArtwork}} object has a <dfn for=\"MediaArtwork\">source</dfn>, a list of\n+<dfn for=\"MediaArtwork\">sizes</dfn>, and a <dfn for=\"MediaArtwork\">type</dfn>.\n+\n+The <dfn constructor\n+for=\"MediaArtwork\"><code>MediaMetadata(<var>init</var>)</code></dfn>\n+constructor, when invoked, must run the following steps:\n+\n+<ol>\n+  <li>\n+    Let <var>metadata</var> be a new {{MediaArtwork}} object.\n+  </li>\n+  <li>\n+    Set <var>metadata</var>'s {{MediaArtwork/src}} to <var>init</var>'s\n+    {{MediaArtworkInit/src}}.\n+  </li>\n+  <li>\n+    Set <var>metadata</var>'s {{MediaArtwork/sizes}} to <var>init</var>'s\n+    {{MediaArtworkInit/sizes}}.\n+  </li>\n+  <li>\n+    Set <var>metadata</var>'s {{MediaArtwork/type}} to <var>init</var>'s\n+    {{MediaArtworkInit/type}}.\n+  </li>\n+  <li>\n+    Return <var>metadata</var>.\n+  </li>\n+</ol>\n+\n+\n+The MediaArtwork <a attribute for=\"MediaArtwork\">src</a>, <a attribute\n+for=\"MediaArtwork\">sizes</a> and <a attribute for=\"MediaArtwork\">type</a>\n+conforms to the <a>image object</a>s in Web App Manifest.\n+\n+The <dfn attribute for=\"MediaArtwork\">src</dfn> attribute must return the\n+{{MediaArtwork}} object's <a for=\"MediaArtwork\">source</a>. It is a URL from\n+which the user agent can fetch the image's data.\n+\n+The <dfn attribute for=\"MediaArtwork\">sizes</dfn> attribute must return the\n+{{MediaArtwork}} object's <a for=\"MediaArtwork\">sizes</a>. It is a string\n+consisting of an unordered set of unique space-separated tokens which are AScII\n+case insensitive that represents the dimensions of an image. Each keyword is\n+either an ASCII case-insensitive match for the string \"any\", or a value that\n+consists of two valid non-negative integers that do not have a leading U+0030\n+DIGIT ZERO (0) character and that are separated by a single U+0078 LATIN SMALL\n+LETTER X or U+0058 LATIN CAPITAL LETTER X character. The keywords represent icon\n+sizes in raw pixels (as opposed to CSS pixels). When multiple image objects are\n+available, a user agent may use the value to decide which icon is most suitable\n+for a display context (and ignore any that are inappropriate).\n+\n+The <dfn attribute for=\"MediaArtwork\">type</dfn> attribute must return the\n+{{MediaArtwork}} object's <a for=\"MediaArtwork\">type</a>. It is a MIME type for\n+deciding the media type of the image.","path":"mediasession.bs","position":202,"original_position":202,"commit_id":"3f007afe66f09095fac50c3c2adfa04a869b7419","original_commit_id":"3f007afe66f09095fac50c3c2adfa04a869b7419","user":{"login":"mounirlamouri","id":573590,"avatar_url":"https://avatars.githubusercontent.com/u/573590?v=3","gravatar_id":"","url":"https://api.github.com/users/mounirlamouri","html_url":"https://github.com/mounirlamouri","followers_url":"https://api.github.com/users/mounirlamouri/followers","following_url":"https://api.github.com/users/mounirlamouri/following{/other_user}","gists_url":"https://api.github.com/users/mounirlamouri/gists{/gist_id}","starred_url":"https://api.github.com/users/mounirlamouri/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mounirlamouri/subscriptions","organizations_url":"https://api.github.com/users/mounirlamouri/orgs","repos_url":"https://api.github.com/users/mounirlamouri/repos","events_url":"https://api.github.com/users/mounirlamouri/events{/privacy}","received_events_url":"https://api.github.com/users/mounirlamouri/received_events","type":"User","site_admin":false},"body":"\"for deciding the media type\" doesn't sound correct. Maybe you could re-use some phrasing from the Manifest spec?","created_at":"2016-06-02T10:19:27Z","updated_at":"2016-06-02T10:19:27Z","html_url":"https://github.com/whatwg/mediasession/pull/129#discussion_r65515692","pull_request_url":"https://api.github.com/repos/whatwg/mediasession/pulls/129","_links":{"self":{"href":"https://api.github.com/repos/whatwg/mediasession/pulls/comments/65515692"},"html":{"href":"https://github.com/whatwg/mediasession/pull/129#discussion_r65515692"},"pull_request":{"href":"https://api.github.com/repos/whatwg/mediasession/pulls/129"}}},"pull_request":{"url":"https://api.github.com/repos/whatwg/mediasession/pulls/129","id":72065022,"html_url":"https://github.com/whatwg/mediasession/pull/129","diff_url":"https://github.com/whatwg/mediasession/pull/129.diff","patch_url":"https://github.com/whatwg/mediasession/pull/129.patch","issue_url":"https://api.github.com/repos/whatwg/mediasession/issues/129","number":129,"state":"open","locked":false,"title":"Manifest-icon-like metadata artworks.","user":{"login":"xxyzzzq","id":4197173,"avatar_url":"https://avatars.githubusercontent.com/u/4197173?v=3","gravatar_id":"","url":"https://api.github.com/users/xxyzzzq","html_url":"https://github.com/xxyzzzq","followers_url":"https://api.github.com/users/xxyzzzq/followers","following_url":"https://api.github.com/users/xxyzzzq/following{/other_user}","gists_url":"https://api.github.com/users/xxyzzzq/gists{/gist_id}","starred_url":"https://api.github.com/users/xxyzzzq/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xxyzzzq/subscriptions","organizations_url":"https://api.github.com/users/xxyzzzq/orgs","repos_url":"https://api.github.com/users/xxyzzzq/repos","events_url":"https://api.github.com/users/xxyzzzq/events{/privacy}","received_events_url":"https://api.github.com/users/xxyzzzq/received_events","type":"User","site_admin":false},"body":"Make the artwork spec more like WebApp manifest icons, which has `src`,\r\n`type` and `sizes` fields. The texts are based on pull request #126 \r\n\r\nFixes #56 \r\n","created_at":"2016-05-31T18:40:16Z","updated_at":"2016-06-02T10:19:27Z","closed_at":null,"merged_at":null,"merge_commit_sha":"e598de4bd847a4a40210397664927832d3e4ecd7","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/whatwg/mediasession/pulls/129/commits","review_comments_url":"https://api.github.com/repos/whatwg/mediasession/pulls/129/comments","review_comment_url":"https://api.github.com/repos/whatwg/mediasession/pulls/comments{/number}","comments_url":"https://api.github.com/repos/whatwg/mediasession/issues/129/comments","statuses_url":"https://api.github.com/repos/whatwg/mediasession/statuses/3f007afe66f09095fac50c3c2adfa04a869b7419","head":{"label":"xxyzzzq:artwork_icon","ref":"artwork_icon","sha":"3f007afe66f09095fac50c3c2adfa04a869b7419","user":{"login":"xxyzzzq","id":4197173,"avatar_url":"https://avatars.githubusercontent.com/u/4197173?v=3","gravatar_id":"","url":"https://api.github.com/users/xxyzzzq","html_url":"https://github.com/xxyzzzq","followers_url":"https://api.github.com/users/xxyzzzq/followers","following_url":"https://api.github.com/users/xxyzzzq/following{/other_user}","gists_url":"https://api.github.com/users/xxyzzzq/gists{/gist_id}","starred_url":"https://api.github.com/users/xxyzzzq/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xxyzzzq/subscriptions","organizations_url":"https://api.github.com/users/xxyzzzq/orgs","repos_url":"https://api.github.com/users/xxyzzzq/repos","events_url":"https://api.github.com/users/xxyzzzq/events{/privacy}","received_events_url":"https://api.github.com/users/xxyzzzq/received_events","type":"User","site_admin":false},"repo":{"id":59744442,"name":"mediasession","full_name":"xxyzzzq/mediasession","owner":{"login":"xxyzzzq","id":4197173,"avatar_url":"https://avatars.githubusercontent.com/u/4197173?v=3","gravatar_id":"","url":"https://api.github.com/users/xxyzzzq","html_url":"https://github.com/xxyzzzq","followers_url":"https://api.github.com/users/xxyzzzq/followers","following_url":"https://api.github.com/users/xxyzzzq/following{/other_user}","gists_url":"https://api.github.com/users/xxyzzzq/gists{/gist_id}","starred_url":"https://api.github.com/users/xxyzzzq/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xxyzzzq/subscriptions","organizations_url":"https://api.github.com/users/xxyzzzq/orgs","repos_url":"https://api.github.com/users/xxyzzzq/repos","events_url":"https://api.github.com/users/xxyzzzq/events{/privacy}","received_events_url":"https://api.github.com/users/xxyzzzq/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/xxyzzzq/mediasession","description":"Media Session Standard","fork":true,"url":"https://api.github.com/repos/xxyzzzq/mediasession","forks_url":"https://api.github.com/repos/xxyzzzq/mediasession/forks","keys_url":"https://api.github.com/repos/xxyzzzq/mediasession/keys{/key_id}","collaborators_url":"https://api.github.com/repos/xxyzzzq/mediasession/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/xxyzzzq/mediasession/teams","hooks_url":"https://api.github.com/repos/xxyzzzq/mediasession/hooks","issue_events_url":"https://api.github.com/repos/xxyzzzq/mediasession/issues/events{/number}","events_url":"https://api.github.com/repos/xxyzzzq/mediasession/events","assignees_url":"https://api.github.com/repos/xxyzzzq/mediasession/assignees{/user}","branches_url":"https://api.github.com/repos/xxyzzzq/mediasession/branches{/branch}","tags_url":"https://api.github.com/repos/xxyzzzq/mediasession/tags","blobs_url":"https://api.github.com/repos/xxyzzzq/mediasession/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/xxyzzzq/mediasession/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/xxyzzzq/mediasession/git/refs{/sha}","trees_url":"https://api.github.com/repos/xxyzzzq/mediasession/git/trees{/sha}","statuses_url":"https://api.github.com/repos/xxyzzzq/mediasession/statuses/{sha}","languages_url":"https://api.github.com/repos/xxyzzzq/mediasession/languages","stargazers_url":"https://api.github.com/repos/xxyzzzq/mediasession/stargazers","contributors_url":"https://api.github.com/repos/xxyzzzq/mediasession/contributors","subscribers_url":"https://api.github.com/repos/xxyzzzq/mediasession/subscribers","subscription_url":"https://api.github.com/repos/xxyzzzq/mediasession/subscription","commits_url":"https://api.github.com/repos/xxyzzzq/mediasession/commits{/sha}","git_commits_url":"https://api.github.com/repos/xxyzzzq/mediasession/git/commits{/sha}","comments_url":"https://api.github.com/repos/xxyzzzq/mediasession/comments{/number}","issue_comment_url":"https://api.github.com/repos/xxyzzzq/mediasession/issues/comments{/number}","contents_url":"https://api.github.com/repos/xxyzzzq/mediasession/contents/{+path}","compare_url":"https://api.github.com/repos/xxyzzzq/mediasession/compare/{base}...{head}","merges_url":"https://api.github.com/repos/xxyzzzq/mediasession/merges","archive_url":"https://api.github.com/repos/xxyzzzq/mediasession/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/xxyzzzq/mediasession/downloads","issues_url":"https://api.github.com/repos/xxyzzzq/mediasession/issues{/number}","pulls_url":"https://api.github.com/repos/xxyzzzq/mediasession/pulls{/number}","milestones_url":"https://api.github.com/repos/xxyzzzq/mediasession/milestones{/number}","notifications_url":"https://api.github.com/repos/xxyzzzq/mediasession/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/xxyzzzq/mediasession/labels{/name}","releases_url":"https://api.github.com/repos/xxyzzzq/mediasession/releases{/id}","deployments_url":"https://api.github.com/repos/xxyzzzq/mediasession/deployments","created_at":"2016-05-26T11:18:47Z","updated_at":"2016-05-26T11:18:48Z","pushed_at":"2016-05-31T18:36:06Z","git_url":"git://github.com/xxyzzzq/mediasession.git","ssh_url":"git@github.com:xxyzzzq/mediasession.git","clone_url":"https://github.com/xxyzzzq/mediasession.git","svn_url":"https://github.com/xxyzzzq/mediasession","homepage":"https://mediasession.spec.whatwg.org/","size":812,"stargazers_count":0,"watchers_count":0,"language":"HTML","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"whatwg:master","ref":"master","sha":"6f5ccf94d7dd8a323743edace72f2a8fe55d891a","user":{"login":"whatwg","id":2226336,"avatar_url":"https://avatars.githubusercontent.com/u/2226336?v=3","gravatar_id":"","url":"https://api.github.com/users/whatwg","html_url":"https://github.com/whatwg","followers_url":"https://api.github.com/users/whatwg/followers","following_url":"https://api.github.com/users/whatwg/following{/other_user}","gists_url":"https://api.github.com/users/whatwg/gists{/gist_id}","starred_url":"https://api.github.com/users/whatwg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/whatwg/subscriptions","organizations_url":"https://api.github.com/users/whatwg/orgs","repos_url":"https://api.github.com/users/whatwg/repos","events_url":"https://api.github.com/users/whatwg/events{/privacy}","received_events_url":"https://api.github.com/users/whatwg/received_events","type":"Organization","site_admin":false},"repo":{"id":30290996,"name":"mediasession","full_name":"whatwg/mediasession","owner":{"login":"whatwg","id":2226336,"avatar_url":"https://avatars.githubusercontent.com/u/2226336?v=3","gravatar_id":"","url":"https://api.github.com/users/whatwg","html_url":"https://github.com/whatwg","followers_url":"https://api.github.com/users/whatwg/followers","following_url":"https://api.github.com/users/whatwg/following{/other_user}","gists_url":"https://api.github.com/users/whatwg/gists{/gist_id}","starred_url":"https://api.github.com/users/whatwg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/whatwg/subscriptions","organizations_url":"https://api.github.com/users/whatwg/orgs","repos_url":"https://api.github.com/users/whatwg/repos","events_url":"https://api.github.com/users/whatwg/events{/privacy}","received_events_url":"https://api.github.com/users/whatwg/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/whatwg/mediasession","description":"Media Session Standard","fork":false,"url":"https://api.github.com/repos/whatwg/mediasession","forks_url":"https://api.github.com/repos/whatwg/mediasession/forks","keys_url":"https://api.github.com/repos/whatwg/mediasession/keys{/key_id}","collaborators_url":"https://api.github.com/repos/whatwg/mediasession/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/whatwg/mediasession/teams","hooks_url":"https://api.github.com/repos/whatwg/mediasession/hooks","issue_events_url":"https://api.github.com/repos/whatwg/mediasession/issues/events{/number}","events_url":"https://api.github.com/repos/whatwg/mediasession/events","assignees_url":"https://api.github.com/repos/whatwg/mediasession/assignees{/user}","branches_url":"https://api.github.com/repos/whatwg/mediasession/branches{/branch}","tags_url":"https://api.github.com/repos/whatwg/mediasession/tags","blobs_url":"https://api.github.com/repos/whatwg/mediasession/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/whatwg/mediasession/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/whatwg/mediasession/git/refs{/sha}","trees_url":"https://api.github.com/repos/whatwg/mediasession/git/trees{/sha}","statuses_url":"https://api.github.com/repos/whatwg/mediasession/statuses/{sha}","languages_url":"https://api.github.com/repos/whatwg/mediasession/languages","stargazers_url":"https://api.github.com/repos/whatwg/mediasession/stargazers","contributors_url":"https://api.github.com/repos/whatwg/mediasession/contributors","subscribers_url":"https://api.github.com/repos/whatwg/mediasession/subscribers","subscription_url":"https://api.github.com/repos/whatwg/mediasession/subscription","commits_url":"https://api.github.com/repos/whatwg/mediasession/commits{/sha}","git_commits_url":"https://api.github.com/repos/whatwg/mediasession/git/commits{/sha}","comments_url":"https://api.github.com/repos/whatwg/mediasession/comments{/number}","issue_comment_url":"https://api.github.com/repos/whatwg/mediasession/issues/comments{/number}","contents_url":"https://api.github.com/repos/whatwg/mediasession/contents/{+path}","compare_url":"https://api.github.com/repos/whatwg/mediasession/compare/{base}...{head}","merges_url":"https://api.github.com/repos/whatwg/mediasession/merges","archive_url":"https://api.github.com/repos/whatwg/mediasession/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/whatwg/mediasession/downloads","issues_url":"https://api.github.com/repos/whatwg/mediasession/issues{/number}","pulls_url":"https://api.github.com/repos/whatwg/mediasession/pulls{/number}","milestones_url":"https://api.github.com/repos/whatwg/mediasession/milestones{/number}","notifications_url":"https://api.github.com/repos/whatwg/mediasession/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/whatwg/mediasession/labels{/name}","releases_url":"https://api.github.com/repos/whatwg/mediasession/releases{/id}","deployments_url":"https://api.github.com/repos/whatwg/mediasession/deployments","created_at":"2015-02-04T09:21:44Z","updated_at":"2016-05-13T16:19:11Z","pushed_at":"2016-05-31T18:40:17Z","git_url":"git://github.com/whatwg/mediasession.git","ssh_url":"git@github.com:whatwg/mediasession.git","clone_url":"https://github.com/whatwg/mediasession.git","svn_url":"https://github.com/whatwg/mediasession","homepage":"https://mediasession.spec.whatwg.org/","size":794,"stargazers_count":42,"watchers_count":42,"language":"HTML","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":7,"mirror_url":null,"open_issues_count":30,"forks":7,"open_issues":30,"watchers":42,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/whatwg/mediasession/pulls/129"},"html":{"href":"https://github.com/whatwg/mediasession/pull/129"},"issue":{"href":"https://api.github.com/repos/whatwg/mediasession/issues/129"},"comments":{"href":"https://api.github.com/repos/whatwg/mediasession/issues/129/comments"},"review_comments":{"href":"https://api.github.com/repos/whatwg/mediasession/pulls/129/comments"},"review_comment":{"href":"https://api.github.com/repos/whatwg/mediasession/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/whatwg/mediasession/pulls/129/commits"},"statuses":{"href":"https://api.github.com/repos/whatwg/mediasession/statuses/3f007afe66f09095fac50c3c2adfa04a869b7419"}}}}
{"actor":{"display_login":"mounirlamouri"}}