Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upHistory API #11220
History API #11220
Conversation
highfive
commented
May 17, 2016
|
Heads up! This PR modifies the following files:
|
highfive
commented
May 17, 2016
|
@bors-servo try |
History API Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: - [X] `./mach build -d` does not report any errors - [X] `./mach test-tidy --faster` does not report any errors - [ ] These changes fix #__ (github issue number if applicable). Either: - [ ] There are tests for these changes OR * Will enable these after making sure the current set of tests still pass. - [ ] These changes do not require tests because _____ Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. This is a work in progress. **Do not merge.** What needs to be done: - [ ] Cleanup - [ ] Enabling the history interface tests - [ ] Security Checks - [ ] Changing `Url` on state change
|
|
highfive
commented
May 17, 2016
|
|
Looks like nothing broke at all! |
highfive
commented
May 17, 2016
|
New code was committed to pull request. |
highfive
commented
May 17, 2016
|
New code was committed to pull request. |
highfive
commented
May 17, 2016
|
New code was committed to pull request. |
|
@bors-servo try |
History API Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: - [X] `./mach build -d` does not report any errors - [X] `./mach test-tidy --faster` does not report any errors - [ ] These changes fix #__ (github issue number if applicable). Either: - [ ] There are tests for these changes OR * Will enable these after making sure the current set of tests still pass. - [ ] These changes do not require tests because _____ Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. This is a work in progress. **Do not merge.** What needs to be done: - [ ] Cleanup (Clear out things marked with `TODO` and cleanup commits) - [ ] Enabling the history interface tests - [ ] Security Checks - [ ] Changing `Url` on state change - [ ] Scroll Restoration (I may save this for a different PR) - [ ] Window `onpopstate` - [x] Clear forward state on `BrowsingContext` when frames are evicted <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11220) <!-- Reviewable:end -->
|
|
highfive
commented
May 17, 2016
|
New code was committed to pull request. |
highfive
commented
May 17, 2016
|
New code was committed to pull request. |
|
@bors-servo try |
History API Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: - [X] `./mach build -d` does not report any errors - [X] `./mach test-tidy --faster` does not report any errors - [ ] These changes fix #__ (github issue number if applicable). Either: - [ ] There are tests for these changes OR * Will enable these after making sure the current set of tests still pass. - [ ] These changes do not require tests because _____ Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. This is a work in progress. **Do not merge.** What needs to be done: - [ ] Cleanup (Clear out things marked with `TODO` and cleanup commits) - [ ] Enabling the history interface tests - [ ] Security Checks - [ ] Changing `Url` on state change - [ ] Scroll Restoration (I may save this for a different PR) - [ ] Window `onpopstate` - [x] Clear forward state on `BrowsingContext` when frames are evicted <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11220) <!-- Reviewable:end -->
|
|
|
@asajeffrey it looks like I will have to do a bit of reworking since the different tabs in browserhtml all use one constellation. Edit: The only issue with that approach is that each tab's browsing context won't be a https://html.spec.whatwg.org/multipage/browsers.html#top-level-browsing-context |
|
Review status: 39 of 51 files reviewed at latest revision, 21 unresolved discussions. components/constellation/constellation.rs, line 143 [r41] (raw file):
|
|
IRC conversation: http://logs.glob.uno/?c=mozilla%23servo&s=22+May+2016&e=22+May+2016#c435804 TL;DR: we need input about how to handle the browser.html case, e.g. from @paulrouget |
|
Blocked by #11344 |
|
|
|
|
|
@asajeffrey the joint session history is now an iterator that lazily interleaves the frame tree history. Seems to work very well, plus if a Frame is removed from the tree, there should be no issue now. Also, once we get this ready for actual reviewal, I will open a PR so reviewable isn't so slow |
|
|
window ref push state forward nav more history api work Added popstate event usage more stuff Added delta to NavigationDirection enum variants Added history length and full delta nav Added constellation - script communication for active history entry Quick fixes to finish of proof of concept Switched to use StructuredCloneData when possible Use Heap<JS> instead of MutHeapJSVal pushState and replaceState should be marked as Throw Added FrameEntry added interleaved session history Cleanup tidy fixes cleaned up clear forward browsing context session history updated test expectations enabled history interface tests Added popstate event handler fixed forward history not being cleared Fix conditions on when popstate should be fired push/replace state url handling remove changing of hash as it causes a page reload Updated test expectations Added active document check
Address other comments Remove duplicate popstate event binding
rebase and fix bhtml nav issue
added TODO for fully active document
highfive
commented
May 28, 2016
|
New code was committed to pull request. |
|
New PR at #11481 |
cbrewster commentedMay 17, 2016
•
edited
Thank you for contributing to Servo! Please replace each
[ ]by[X]when the step is complete, and replace__with appropriate data:./mach build -ddoes not report any errors./mach test-tidy --fasterdoes not report any errorsEither:
Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process.
What this PR covers
historyobjectHistoryTraversalTaskSourceonpopstatewindow event listenerBrowsingContext's session history to store history stateWhat needs to be done:
TODOand cleanup commits)onpopstateBrowsingContextwhen frames are evictedThis change is