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 upImplement History's back/forward APIs #5670
Comments
|
cc #5669 |
|
I'd like to try this one out for size. |
|
It's yours! |
|
Hi, could someone help me out where I could find the code relevant to fix this bug. |
|
@jinankjain are the links in the original comment unclear? This task requires creating a new webidl interface and a new Rust implementation of the interface, but there are also existing methods in htmliframeelement.rs that can be used as models. |
|
Browser context needs some work and there are tons of TODO(handle browsing context) out there in the dom files so I think we should start there. And wouldn't this struct keep alive all the Document, Window, etc context from the browsing history creating a little memory leak?:
Also, should we add something else in the script_task/constellation? |
|
It technically won't be a leak, since it will be removed when the script task shuts down. We should also add logic to prune the actual cached document at some point, but that will require extra logic to reload it if we end up trying to retrieve it from history later. |
|
@aneeshusa or @jinankjain still working on this one? |
|
@vectorijk no, devs don't allow me to work in e-easy bugs anymore :'( . So all yours if no one is working on it. |
|
Yes, go for it :) |
|
@vectorijk Excuse me, are you still working on this? |
|
@boghison Yes,I am still working on it. Cause I am a newbie, I am doing some research
|
|
Made any progress @vectorijk? Any questions I can answer? |
|
I'd like to take this on! |
|
@tomjakubowski I am off~. |
|
Sounds like it's all yours, @tomjakubowski. |
Unfortunately, not many once-failing tests are now expected to pass; the history interface tests often depend on things like History#go working. Closes servo#5670
Unfortunately, not many once-failing tests are now expected to pass; the history interface tests often depend on things like History#go working. Closes servo#5670
Unfortunately, not many once-failing tests are now expected to pass; the history interface tests often depend on things like History#go working. Closes servo#5670
|
#7520 was proposed to implement this. It got stuck on the requirement to write tests; I'm not comfortable leaving this marked as E-easy until we come up with suggestions for how to write tests for it. |
Unfortunately, not many once-failing tests are now expected to pass; the history interface tests often depend on things like History#go working. Closes servo#5670
Unfortunately, not many once-failing tests are now expected to pass; the history interface tests often depend on things like History#go working. Closes servo#5670
Unfortunately, not many once-failing tests are now expected to pass; the history interface tests often depend on things like History#go working. Closes servo#5670
Implement History back/forward APIs Rebasing @tomjakubowski's work. I still need to add a test for this (which is why this was not merged before). Original PR: > Unfortunately, not many once-failing tests are now expected to pass; the > history interface tests often depend on things like History#go working. > > Closes #5670 <!-- 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/10956) <!-- Reviewable:end -->
Unfortunately, not many once-failing tests are now expected to pass; the history interface tests often depend on things like History#go working. Closes servo#5670
Implement History back/forward APIs Rebasing @tomjakubowski's work. I still need to add a test for this (which is why this was not merged before). Original PR: > Unfortunately, not many once-failing tests are now expected to pass; the > history interface tests often depend on things like History#go working. > > Closes #5670 <!-- 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/10956) <!-- Reviewable:end -->
|
I am picking this one back up. I am implementing |
Unfortunately, not many once-failing tests are now expected to pass; the history interface tests often depend on things like History#go working. Closes servo#5670
History interface Go, Back, and Forward <!-- Please describe your changes on the following line: --> r? @asajeffrey --- <!-- 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` does not report any errors - [X] These changes fix #5670 (github issue number if applicable). <!-- Either: --> - [X] There are tests for these changes OR - [ ] 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. --> implement go, forward, back
History interface Go, Back, and Forward <!-- Please describe your changes on the following line: --> r? @asajeffrey --- <!-- 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` does not report any errors - [X] These changes fix #5670 (github issue number if applicable). <!-- Either: --> - [X] There are tests for these changes OR - [ ] 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. --> implement go, forward, back <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/12552) <!-- Reviewable:end -->
History interface Go, Back, and Forward <!-- Please describe your changes on the following line: --> r? @asajeffrey --- <!-- 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` does not report any errors - [X] These changes fix #5670 (github issue number if applicable). <!-- Either: --> - [X] There are tests for these changes OR - [ ] 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. --> implement go, forward, back <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/12552) <!-- Reviewable:end -->
History interface Go, Back, and Forward <!-- Please describe your changes on the following line: --> r? @asajeffrey --- <!-- 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` does not report any errors - [X] These changes fix #5670 (github issue number if applicable). <!-- Either: --> - [X] There are tests for these changes OR - [ ] 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. --> implement go, forward, back <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/12552) <!-- Reviewable:end -->
Spec: https://html.spec.whatwg.org/multipage/browsers.html#the-history-interface, https://html.spec.whatwg.org/multipage/browsers.html#dom-history-back,
Code: https://github.com/servo/servo/wiki/Adding-a-new-WebIDL-binding
This will just end up mimicing the behaviour of the GoForward/GoBack APIs of HTMLIFrameElement (see components/script/dom/element/htmliframelement.rs)