{"action":"created","comment":{"url":"https://api.github.com/repos/heycam/webidl/pulls/comments/76246911","id":76246911,"diff_hunk":"@@ -3948,6 +3967,101 @@ setlike&lt;<i>type</i>&gt;;</pre>\n           </div>\n         </div>\n \n+        <div id='idl-namespaces' class='section'>\n+          <h3>Namespaces</h3>\n+\n+          <p>\n+            A <dfn data-export='' id='dfn-namespace'>namespace</dfn> is a definition (matching <a\n+            class='sym' href='#prod-Namespace'>Namespace</a>) that declares a global singleton with\n+            associated behaviors.\n+          </p>\n+\n+          <pre class='syntax'>namespace <i>identifier</i> {\n+  <i>namespace-members…</i>\n+};</pre>\n+\n+          <p>\n+            A namespace is a specification of a set of <dfn data-export='' data-lt='namespace\n+            member' id='dfn-namespace-member'>namespace members</dfn> (matching <a class='sym'\n+            href='#prod-NamespaceMembers'>NamespaceMembers</a>), which are the <a class='dfnref'\n+            href='#dfn-regular-operation'>regular operations</a> that appear between the braces in\n+            the namespace declaration. These operations describe the behaviors packaged into the\n+            namespace.\n+          </p>\n+\n+          <p>\n+            As with interfaces, the IDL for namespaces can be split into multiple parts by using\n+            <dfn data-export='' id='dfn-partial-namespace'>partial namespace</dfn> definitions\n+            (matching <span class='sym'>\"partial\"</span> <a class='sym'\n+            href='#prod-Namespace'>Namespace</a>). The <a class='dfnref'\n+            href='#dfn-identifier'>identifier</a> of a partial namespace definition <span\n+            class='rfc2119'>MUST</span> be the same as the identifier of a namespace definition.\n+            All of the members that appear on each of the partial namespace definitions are\n+            considered to be members of the namespace itself.\n+          </p>\n+\n+          <pre class='syntax'>namespace <em>SomeNamespace</em> {\n+  <i>namespace-members…</i>\n+};\n+\n+partial namespace <em>SomeNamespace</em> {\n+  <i>namespace-members…</i>\n+};</pre>\n+\n+          <div class='note'>\n+            <p>\n+              As with partial interface definitions, partial namespace definitions are intended for\n+              use as a specification editorial aide, allowing the definition of an interface to be\n+              separated over more than one section of the document, and sometimes multiple\n+              documents.\n+            </p>\n+          </div>\n+\n+          <p>\n+            The order that members appear has significance both for <a\n+            href='#idl-overloading'>overloading</a> and for property enumeration in the <a\n+            href='#es-namespaces'>ECMAScript binding</a>.\n+          </p>\n+\n+          <p>\n+            Note that unlike interfaces or dictionaries, namespaces do not create types.\n+          </p>\n+\n+          <p>\n+            Only the <a class='xattr' href='#Exposed'>[Exposed]</a> and <a class='xattr'","path":"index.xml","position":167,"original_position":167,"commit_id":"23ba5276699574269bd955c67d60bd6ce586337f","original_commit_id":"23ba5276699574269bd955c67d60bd6ce586337f","user":{"login":"bzbarsky","id":1457979,"avatar_url":"https://avatars.githubusercontent.com/u/1457979?v=3","gravatar_id":"","url":"https://api.github.com/users/bzbarsky","html_url":"https://github.com/bzbarsky","followers_url":"https://api.github.com/users/bzbarsky/followers","following_url":"https://api.github.com/users/bzbarsky/following{/other_user}","gists_url":"https://api.github.com/users/bzbarsky/gists{/gist_id}","starred_url":"https://api.github.com/users/bzbarsky/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bzbarsky/subscriptions","organizations_url":"https://api.github.com/users/bzbarsky/orgs","repos_url":"https://api.github.com/users/bzbarsky/repos","events_url":"https://api.github.com/users/bzbarsky/events{/privacy}","received_events_url":"https://api.github.com/users/bzbarsky/received_events","type":"User","site_admin":false},"body":"This section should be clearer that it's only talking about extended attributes defined by _this_ specification, because we do want console to define an extended attribute that applies to a namespace.","created_at":"2016-08-25T13:54:59Z","updated_at":"2016-08-25T13:54:59Z","html_url":"https://github.com/heycam/webidl/pull/121#discussion_r76246911","pull_request_url":"https://api.github.com/repos/heycam/webidl/pulls/121","_links":{"self":{"href":"https://api.github.com/repos/heycam/webidl/pulls/comments/76246911"},"html":{"href":"https://github.com/heycam/webidl/pull/121#discussion_r76246911"},"pull_request":{"href":"https://api.github.com/repos/heycam/webidl/pulls/121"}}},"pull_request":{"url":"https://api.github.com/repos/heycam/webidl/pulls/121","id":69753847,"html_url":"https://github.com/heycam/webidl/pull/121","diff_url":"https://github.com/heycam/webidl/pull/121.diff","patch_url":"https://github.com/heycam/webidl/pull/121.patch","issue_url":"https://api.github.com/repos/heycam/webidl/issues/121","number":121,"state":"open","locked":false,"title":"Add namespaces","user":{"login":"domenic","id":617481,"avatar_url":"https://avatars.githubusercontent.com/u/617481?v=3","gravatar_id":"","url":"https://api.github.com/users/domenic","html_url":"https://github.com/domenic","followers_url":"https://api.github.com/users/domenic/followers","following_url":"https://api.github.com/users/domenic/following{/other_user}","gists_url":"https://api.github.com/users/domenic/gists{/gist_id}","starred_url":"https://api.github.com/users/domenic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/domenic/subscriptions","organizations_url":"https://api.github.com/users/domenic/orgs","repos_url":"https://api.github.com/users/domenic/repos","events_url":"https://api.github.com/users/domenic/events{/privacy}","received_events_url":"https://api.github.com/users/domenic/received_events","type":"User","site_admin":false},"body":"This adds the concept of namespaces, as discussed in https://github.com/whatwg/console/issues/3 (starting especially around https://github.com/whatwg/console/issues/3#issuecomment-214586757). They can only contain regular operations.\r\n\r\nThe ES binding for namespaces here is written in a fully modern style, and so differs slightly from similar prose for interfaces' ES binding. It is hoped that it can provide a template for eventually updating interfaces' ES binding to modern ES.","created_at":"2016-05-11T22:37:23Z","updated_at":"2016-08-25T13:54:59Z","closed_at":null,"merged_at":null,"merge_commit_sha":"02e8ddcc13025888889a462277da8f6508acbb00","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/heycam/webidl/pulls/121/commits","review_comments_url":"https://api.github.com/repos/heycam/webidl/pulls/121/comments","review_comment_url":"https://api.github.com/repos/heycam/webidl/pulls/comments{/number}","comments_url":"https://api.github.com/repos/heycam/webidl/issues/121/comments","statuses_url":"https://api.github.com/repos/heycam/webidl/statuses/23ba5276699574269bd955c67d60bd6ce586337f","head":{"label":"domenic:namespaces","ref":"namespaces","sha":"23ba5276699574269bd955c67d60bd6ce586337f","user":{"login":"domenic","id":617481,"avatar_url":"https://avatars.githubusercontent.com/u/617481?v=3","gravatar_id":"","url":"https://api.github.com/users/domenic","html_url":"https://github.com/domenic","followers_url":"https://api.github.com/users/domenic/followers","following_url":"https://api.github.com/users/domenic/following{/other_user}","gists_url":"https://api.github.com/users/domenic/gists{/gist_id}","starred_url":"https://api.github.com/users/domenic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/domenic/subscriptions","organizations_url":"https://api.github.com/users/domenic/orgs","repos_url":"https://api.github.com/users/domenic/repos","events_url":"https://api.github.com/users/domenic/events{/privacy}","received_events_url":"https://api.github.com/users/domenic/received_events","type":"User","site_admin":false},"repo":{"id":25659427,"name":"webidl","full_name":"domenic/webidl","owner":{"login":"domenic","id":617481,"avatar_url":"https://avatars.githubusercontent.com/u/617481?v=3","gravatar_id":"","url":"https://api.github.com/users/domenic","html_url":"https://github.com/domenic","followers_url":"https://api.github.com/users/domenic/followers","following_url":"https://api.github.com/users/domenic/following{/other_user}","gists_url":"https://api.github.com/users/domenic/gists{/gist_id}","starred_url":"https://api.github.com/users/domenic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/domenic/subscriptions","organizations_url":"https://api.github.com/users/domenic/orgs","repos_url":"https://api.github.com/users/domenic/repos","events_url":"https://api.github.com/users/domenic/events{/privacy}","received_events_url":"https://api.github.com/users/domenic/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/domenic/webidl","description":"","fork":true,"url":"https://api.github.com/repos/domenic/webidl","forks_url":"https://api.github.com/repos/domenic/webidl/forks","keys_url":"https://api.github.com/repos/domenic/webidl/keys{/key_id}","collaborators_url":"https://api.github.com/repos/domenic/webidl/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/domenic/webidl/teams","hooks_url":"https://api.github.com/repos/domenic/webidl/hooks","issue_events_url":"https://api.github.com/repos/domenic/webidl/issues/events{/number}","events_url":"https://api.github.com/repos/domenic/webidl/events","assignees_url":"https://api.github.com/repos/domenic/webidl/assignees{/user}","branches_url":"https://api.github.com/repos/domenic/webidl/branches{/branch}","tags_url":"https://api.github.com/repos/domenic/webidl/tags","blobs_url":"https://api.github.com/repos/domenic/webidl/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/domenic/webidl/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/domenic/webidl/git/refs{/sha}","trees_url":"https://api.github.com/repos/domenic/webidl/git/trees{/sha}","statuses_url":"https://api.github.com/repos/domenic/webidl/statuses/{sha}","languages_url":"https://api.github.com/repos/domenic/webidl/languages","stargazers_url":"https://api.github.com/repos/domenic/webidl/stargazers","contributors_url":"https://api.github.com/repos/domenic/webidl/contributors","subscribers_url":"https://api.github.com/repos/domenic/webidl/subscribers","subscription_url":"https://api.github.com/repos/domenic/webidl/subscription","commits_url":"https://api.github.com/repos/domenic/webidl/commits{/sha}","git_commits_url":"https://api.github.com/repos/domenic/webidl/git/commits{/sha}","comments_url":"https://api.github.com/repos/domenic/webidl/comments{/number}","issue_comment_url":"https://api.github.com/repos/domenic/webidl/issues/comments{/number}","contents_url":"https://api.github.com/repos/domenic/webidl/contents/{+path}","compare_url":"https://api.github.com/repos/domenic/webidl/compare/{base}...{head}","merges_url":"https://api.github.com/repos/domenic/webidl/merges","archive_url":"https://api.github.com/repos/domenic/webidl/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/domenic/webidl/downloads","issues_url":"https://api.github.com/repos/domenic/webidl/issues{/number}","pulls_url":"https://api.github.com/repos/domenic/webidl/pulls{/number}","milestones_url":"https://api.github.com/repos/domenic/webidl/milestones{/number}","notifications_url":"https://api.github.com/repos/domenic/webidl/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/domenic/webidl/labels{/name}","releases_url":"https://api.github.com/repos/domenic/webidl/releases{/id}","deployments_url":"https://api.github.com/repos/domenic/webidl/deployments","created_at":"2014-10-23T21:50:18Z","updated_at":"2014-09-12T03:15:42Z","pushed_at":"2016-08-17T14:19:13Z","git_url":"git://github.com/domenic/webidl.git","ssh_url":"git@github.com:domenic/webidl.git","clone_url":"https://github.com/domenic/webidl.git","svn_url":"https://github.com/domenic/webidl","homepage":null,"size":16300,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"gh-pages"}},"base":{"label":"heycam:gh-pages","ref":"gh-pages","sha":"c90791310538e909b2a99b2bcb90a1a7ef4605f2","user":{"login":"heycam","id":1484434,"avatar_url":"https://avatars.githubusercontent.com/u/1484434?v=3","gravatar_id":"","url":"https://api.github.com/users/heycam","html_url":"https://github.com/heycam","followers_url":"https://api.github.com/users/heycam/followers","following_url":"https://api.github.com/users/heycam/following{/other_user}","gists_url":"https://api.github.com/users/heycam/gists{/gist_id}","starred_url":"https://api.github.com/users/heycam/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/heycam/subscriptions","organizations_url":"https://api.github.com/users/heycam/orgs","repos_url":"https://api.github.com/users/heycam/repos","events_url":"https://api.github.com/users/heycam/events{/privacy}","received_events_url":"https://api.github.com/users/heycam/received_events","type":"User","site_admin":false},"repo":{"id":14131914,"name":"webidl","full_name":"heycam/webidl","owner":{"login":"heycam","id":1484434,"avatar_url":"https://avatars.githubusercontent.com/u/1484434?v=3","gravatar_id":"","url":"https://api.github.com/users/heycam","html_url":"https://github.com/heycam","followers_url":"https://api.github.com/users/heycam/followers","following_url":"https://api.github.com/users/heycam/following{/other_user}","gists_url":"https://api.github.com/users/heycam/gists{/gist_id}","starred_url":"https://api.github.com/users/heycam/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/heycam/subscriptions","organizations_url":"https://api.github.com/users/heycam/orgs","repos_url":"https://api.github.com/users/heycam/repos","events_url":"https://api.github.com/users/heycam/events{/privacy}","received_events_url":"https://api.github.com/users/heycam/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/heycam/webidl","description":"","fork":false,"url":"https://api.github.com/repos/heycam/webidl","forks_url":"https://api.github.com/repos/heycam/webidl/forks","keys_url":"https://api.github.com/repos/heycam/webidl/keys{/key_id}","collaborators_url":"https://api.github.com/repos/heycam/webidl/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/heycam/webidl/teams","hooks_url":"https://api.github.com/repos/heycam/webidl/hooks","issue_events_url":"https://api.github.com/repos/heycam/webidl/issues/events{/number}","events_url":"https://api.github.com/repos/heycam/webidl/events","assignees_url":"https://api.github.com/repos/heycam/webidl/assignees{/user}","branches_url":"https://api.github.com/repos/heycam/webidl/branches{/branch}","tags_url":"https://api.github.com/repos/heycam/webidl/tags","blobs_url":"https://api.github.com/repos/heycam/webidl/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/heycam/webidl/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/heycam/webidl/git/refs{/sha}","trees_url":"https://api.github.com/repos/heycam/webidl/git/trees{/sha}","statuses_url":"https://api.github.com/repos/heycam/webidl/statuses/{sha}","languages_url":"https://api.github.com/repos/heycam/webidl/languages","stargazers_url":"https://api.github.com/repos/heycam/webidl/stargazers","contributors_url":"https://api.github.com/repos/heycam/webidl/contributors","subscribers_url":"https://api.github.com/repos/heycam/webidl/subscribers","subscription_url":"https://api.github.com/repos/heycam/webidl/subscription","commits_url":"https://api.github.com/repos/heycam/webidl/commits{/sha}","git_commits_url":"https://api.github.com/repos/heycam/webidl/git/commits{/sha}","comments_url":"https://api.github.com/repos/heycam/webidl/comments{/number}","issue_comment_url":"https://api.github.com/repos/heycam/webidl/issues/comments{/number}","contents_url":"https://api.github.com/repos/heycam/webidl/contents/{+path}","compare_url":"https://api.github.com/repos/heycam/webidl/compare/{base}...{head}","merges_url":"https://api.github.com/repos/heycam/webidl/merges","archive_url":"https://api.github.com/repos/heycam/webidl/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/heycam/webidl/downloads","issues_url":"https://api.github.com/repos/heycam/webidl/issues{/number}","pulls_url":"https://api.github.com/repos/heycam/webidl/pulls{/number}","milestones_url":"https://api.github.com/repos/heycam/webidl/milestones{/number}","notifications_url":"https://api.github.com/repos/heycam/webidl/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/heycam/webidl/labels{/name}","releases_url":"https://api.github.com/repos/heycam/webidl/releases{/id}","deployments_url":"https://api.github.com/repos/heycam/webidl/deployments","created_at":"2013-11-05T04:17:09Z","updated_at":"2016-08-24T09:26:15Z","pushed_at":"2016-08-23T16:44:05Z","git_url":"git://github.com/heycam/webidl.git","ssh_url":"git@github.com:heycam/webidl.git","clone_url":"https://github.com/heycam/webidl.git","svn_url":"https://github.com/heycam/webidl","homepage":null,"size":17844,"stargazers_count":21,"watchers_count":21,"language":"HTML","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":29,"mirror_url":null,"open_issues_count":46,"forks":29,"open_issues":46,"watchers":21,"default_branch":"gh-pages"}},"_links":{"self":{"href":"https://api.github.com/repos/heycam/webidl/pulls/121"},"html":{"href":"https://github.com/heycam/webidl/pull/121"},"issue":{"href":"https://api.github.com/repos/heycam/webidl/issues/121"},"comments":{"href":"https://api.github.com/repos/heycam/webidl/issues/121/comments"},"review_comments":{"href":"https://api.github.com/repos/heycam/webidl/pulls/121/comments"},"review_comment":{"href":"https://api.github.com/repos/heycam/webidl/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/heycam/webidl/pulls/121/commits"},"statuses":{"href":"https://api.github.com/repos/heycam/webidl/statuses/23ba5276699574269bd955c67d60bd6ce586337f"}}}}
{"actor":{"display_login":"bzbarsky"}}