Support navigating a Frame to its current src
#383
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Rename
hasBeenLoaded
towillEagerLoad
First, rename
hasBeenLoaded
towillEagerLoad
, and flip the defaultfrom
false
totrue
.Next, set the flag to
false
if theFrameController
is initializedwith a
loading="lazy"
frame. Finally, set the flag totrue
once theelement appears in the viewport for the first time.
Support navigating a Frame to its current
src
Re-opens #248
Closes #245
Update the
FrameController.currentURL
from withinset sourceURL()
toensure that
currentURL
does not still refer to the previous load'ssourceURL
.Replace
reloadable
attribute withcurrentURL
propertyFollow-up to #263
As an alternative to leaking internal
FrameController
state to the DOMas the
[reloadable]
attribute, this commit replaces those assignmentsand guard clause checks with references to
currentURL
instead.When responding to
<a>
clicks and<form>
submissions, reset the<turbo-frame>
element delegatescurrentURL = null
.Adding a "public" (that is, package-internal) accessor to the
FrameElementDelegate
feels less committal than an end-user facing[reloadable]
attribute, and achieves the same outcome.