{"action":"created","issue":{"url":"https://api.github.com/repos/servo/servo/issues/13781","repository_url":"https://api.github.com/repos/servo/servo","labels_url":"https://api.github.com/repos/servo/servo/issues/13781/labels{/name}","comments_url":"https://api.github.com/repos/servo/servo/issues/13781/comments","events_url":"https://api.github.com/repos/servo/servo/issues/13781/events","html_url":"https://github.com/servo/servo/pull/13781","id":183236689,"number":13781,"title":"[WIP] Implement History State","user":{"login":"ConnorGBrewster","id":9086315,"avatar_url":"https://avatars.githubusercontent.com/u/9086315?v=3","gravatar_id":"","url":"https://api.github.com/users/ConnorGBrewster","html_url":"https://github.com/ConnorGBrewster","followers_url":"https://api.github.com/users/ConnorGBrewster/followers","following_url":"https://api.github.com/users/ConnorGBrewster/following{/other_user}","gists_url":"https://api.github.com/users/ConnorGBrewster/gists{/gist_id}","starred_url":"https://api.github.com/users/ConnorGBrewster/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ConnorGBrewster/subscriptions","organizations_url":"https://api.github.com/users/ConnorGBrewster/orgs","repos_url":"https://api.github.com/users/ConnorGBrewster/repos","events_url":"https://api.github.com/users/ConnorGBrewster/events{/privacy}","received_events_url":"https://api.github.com/users/ConnorGBrewster/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/servo/servo/labels/S-awaiting-review","name":"S-awaiting-review","color":"d4c5f9"},{"url":"https://api.github.com/repos/servo/servo/labels/S-needs-rebase","name":"S-needs-rebase","color":"d4c5f9"}],"state":"open","locked":false,"assignee":{"login":"asajeffrey","id":403333,"avatar_url":"https://avatars.githubusercontent.com/u/403333?v=3","gravatar_id":"","url":"https://api.github.com/users/asajeffrey","html_url":"https://github.com/asajeffrey","followers_url":"https://api.github.com/users/asajeffrey/followers","following_url":"https://api.github.com/users/asajeffrey/following{/other_user}","gists_url":"https://api.github.com/users/asajeffrey/gists{/gist_id}","starred_url":"https://api.github.com/users/asajeffrey/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/asajeffrey/subscriptions","organizations_url":"https://api.github.com/users/asajeffrey/orgs","repos_url":"https://api.github.com/users/asajeffrey/repos","events_url":"https://api.github.com/users/asajeffrey/events{/privacy}","received_events_url":"https://api.github.com/users/asajeffrey/received_events","type":"User","site_admin":false},"assignees":[{"login":"asajeffrey","id":403333,"avatar_url":"https://avatars.githubusercontent.com/u/403333?v=3","gravatar_id":"","url":"https://api.github.com/users/asajeffrey","html_url":"https://github.com/asajeffrey","followers_url":"https://api.github.com/users/asajeffrey/followers","following_url":"https://api.github.com/users/asajeffrey/following{/other_user}","gists_url":"https://api.github.com/users/asajeffrey/gists{/gist_id}","starred_url":"https://api.github.com/users/asajeffrey/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/asajeffrey/subscriptions","organizations_url":"https://api.github.com/users/asajeffrey/orgs","repos_url":"https://api.github.com/users/asajeffrey/repos","events_url":"https://api.github.com/users/asajeffrey/events{/privacy}","received_events_url":"https://api.github.com/users/asajeffrey/received_events","type":"User","site_admin":false}],"milestone":null,"comments":4,"created_at":"2016-10-15T22:28:27Z","updated_at":"2016-10-21T15:04:43Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/servo/servo/pulls/13781","html_url":"https://github.com/servo/servo/pull/13781","diff_url":"https://github.com/servo/servo/pull/13781.diff","patch_url":"https://github.com/servo/servo/pull/13781.patch"},"body":"<!-- Please describe your changes on the following line: -->\r\nThis is a work in progress, I still need to figure out how to handle `title` and `url` in push/replace state as well as throwing the proper errors according to the spec. Also when the URL changes there needs to be a way to change the actual document url.\r\n\r\n@asajeffrey this is my first draft idea of how to handle history states, let me know what you think.\r\n\r\nr? @asajeffrey \r\n\r\n---\r\n<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->\r\n- [X] `./mach build -d` does not report any errors\r\n- [X] `./mach test-tidy` does not report any errors\r\n- [ ] These changes fix #__ (github issue number if applicable).\r\n\r\n<!-- Either: -->\r\n- [X] There are tests for these changes OR\r\n- [ ] These changes do not require tests because _____\r\n\r\n<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->\n\n<!-- Reviewable:start -->\n---\nThis change is [<img src=\"https://reviewable.io/review_button.svg\" height=\"34\" align=\"absmiddle\" alt=\"Reviewable\"/>](https://reviewable.io/reviews/servo/servo/13781)\n<!-- Reviewable:end -->\n"},"comment":{"url":"https://api.github.com/repos/servo/servo/issues/comments/255401915","html_url":"https://github.com/servo/servo/pull/13781#issuecomment-255401915","issue_url":"https://api.github.com/repos/servo/servo/issues/13781","id":255401915,"user":{"login":"asajeffrey","id":403333,"avatar_url":"https://avatars.githubusercontent.com/u/403333?v=3","gravatar_id":"","url":"https://api.github.com/users/asajeffrey","html_url":"https://github.com/asajeffrey","followers_url":"https://api.github.com/users/asajeffrey/followers","following_url":"https://api.github.com/users/asajeffrey/following{/other_user}","gists_url":"https://api.github.com/users/asajeffrey/gists{/gist_id}","starred_url":"https://api.github.com/users/asajeffrey/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/asajeffrey/subscriptions","organizations_url":"https://api.github.com/users/asajeffrey/orgs","repos_url":"https://api.github.com/users/asajeffrey/repos","events_url":"https://api.github.com/users/asajeffrey/events{/privacy}","received_events_url":"https://api.github.com/users/asajeffrey/received_events","type":"User","site_admin":false},"created_at":"2016-10-21T15:04:42Z","updated_at":"2016-10-21T15:04:42Z","body":"\n\n\n\nReviewed 1 of 3 files at r8, 1 of 6 files at r10.\nReview status: 2 of 32 files reviewed at latest revision, 10 unresolved discussions, some commit checks failed.\n\n---\n\n*[components/script/dom/browsingcontext.rs, line 78 at r14](https://reviewable.io:443/reviews/servo/servo/13781#-KUbklnVJwh9CfTmpNiz:-KUbklnVJwh9CfTmpNj-:b-c7mhdi) ([raw file](https://github.com/servo/servo/blob/5cded23b33f8bd21e45bb3016266948cc96ef2a4/components/script/dom/browsingcontext.rs#L78)):*\n> ```Rust\n>             children: DOMRefCell::new(vec![]),\n>             active_document: Default::default(),\n>             active_state: Cell::new(HistoryStateId(0)),\n> ```\n\nI think all we need to store is the hash map from `HistoryStateId` to JS objects, the stack of history objects can be tracked just by the constellation. Also, we might want to keep this info in the global rather than the browsing context?\n\n---\n\n\n*Comments from [Reviewable](https://reviewable.io:443/reviews/servo/servo/13781)*\n<!-- Sent from Reviewable.io -->\n"}}
{"actor":{"display_login":"asajeffrey"}}