Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Navigation and session history rewrite #6315

Merged
merged 469 commits into from
Oct 31, 2022
Merged
Changes from 13 commits
Commits
Show all changes
469 commits
Select commit Hold shift + click to select a range
ea8a8d1
Remove TODO
jakearchibald Mar 1, 2022
0e07cb7
Allowed to navigate
domfarolino Mar 1, 2022
b277125
Remove session concept
jakearchibald Mar 1, 2022
6fc85ec
Getting valid steps, index and length, stub for getting target entry
jakearchibald Mar 1, 2022
2c85cc2
Apply this history step: beforeunload and setting current history entry
domfarolino Mar 1, 2022
572739f
Replace TODO with jake's stub
domfarolino Mar 1, 2022
e4a5c90
Get the target history entry
jakearchibald Mar 1, 2022
8d39ad8
First pass at "make a document aware of a history step update"
domenic Mar 1, 2022
d8ff9df
Let the linter win
jakearchibald Mar 1, 2022
8ef46c6
Revamp document creation and make-active
domenic Mar 1, 2022
7bbd6e9
Further cleanup to document creation
domenic Mar 1, 2022
736908b
First pass at unloading
domenic Mar 1, 2022
d2590ee
get all navigables whose current session history entry will change or…
jakearchibald Mar 1, 2022
a116c2d
Attempt to populate
domfarolino Mar 1, 2022
f358cc7
get all navigables that may experience a cross-document traversal
jakearchibald Mar 1, 2022
49a9ea2
Fix the build and clean a note
domfarolino Mar 1, 2022
b46be96
More BC -> navigable cleanup
domenic Mar 1, 2022
85c4142
Remove "navigation metadata"
domenic Mar 1, 2022
63f7bda
More BC -> navigable
domenic Mar 1, 2022
84d518d
More BC -> navigable
domenic Mar 2, 2022
9eceb21
Fix new 'apply the history step' variables and lists (they may be goi…
domfarolino Mar 2, 2022
2ce505e
More props usage
domenic Mar 2, 2022
ff86179
Add stub for getting navigables that don't change
jakearchibald Mar 2, 2022
e4f241d
Add args
jakearchibald Mar 2, 2022
f4cbb40
Remove two writes of nav-document
domfarolino Mar 2, 2022
b7f6dc6
Remove final write of nav-document
domfarolino Mar 2, 2022
5fcc905
Officially make nav-document a pointer
domfarolino Mar 2, 2022
7dca980
Fix the build
domfarolino Mar 2, 2022
ef7f0b8
Getting other docs
jakearchibald Mar 2, 2022
0ec96b8
New take on apply the history step
domenic Mar 2, 2022
b3013cf
Minor fixes and add TODOs from walkthrough
domenic Mar 2, 2022
d20f352
We do need this
jakearchibald Mar 2, 2022
240f240
Add note about freeing up parallel queue for attempt to populate and …
domfarolino Mar 2, 2022
3148b6d
Hook up history index and length
jakearchibald Mar 2, 2022
b8968ad
Add note for another case in which displayedEntry and targetEntry are…
domfarolino Mar 2, 2022
21c7159
Arguments to "attempt to populate", and cleanup
domenic Mar 2, 2022
7985ccd
step to targetStep
jakearchibald Mar 2, 2022
85f3676
Use a tuple for global history state
jakearchibald Mar 2, 2022
261b9c9
Child rather than descendant
jakearchibald Mar 2, 2022
3c79641
Getting potentially outgoing documents
jakearchibald Mar 2, 2022
ea3ef32
New "allowed to navigate"
domenic Mar 2, 2022
2ad74f2
Explain unloading scenarios
domfarolino Mar 2, 2022
1e72765
Fully unload takes an optional newDocument. Unload 'docsToUnload'
domfarolino Mar 2, 2022
93525f9
Grab the right documents for unloading
domfarolino Mar 2, 2022
b5655a6
Bring back get all "navigables that may experience a cross-document t…
jakearchibald Mar 2, 2022
84b2d36
conditionally check if unloading is user-canceled
jakearchibald Mar 2, 2022
6edb99b
Consolidate "child navigable" definitions
domenic Mar 2, 2022
17811f4
Fix build
jakearchibald Mar 2, 2022
7df5cd6
Fix conditionally checking if unloading is user-canceled callsite
jakearchibald Mar 3, 2022
9464522
Pass args to "getting all navigables that may experience a cross-docu…
jakearchibald Mar 3, 2022
0ebcc51
Add note to 'navigables that may experience cross-document' algorithm
domfarolino Mar 3, 2022
68bb5fe
All the renames
domenic Mar 3, 2022
0eb319b
Cleanup history and latest entry
jakearchibald Mar 3, 2022
6991a39
Do unloading inside the fanout
domenic Mar 3, 2022
d1a593f
Merge unload
domfarolino Mar 3, 2022
12c19a3
f
domfarolino Mar 3, 2022
a887007
Finish fixing unload stuff
domfarolino Mar 3, 2022
ed72b32
Fix document=>oldDocument references in unload
domfarolino Mar 3, 2022
de0e966
Update associated history references
jakearchibald Mar 3, 2022
b2916be
Fixing target name references
jakearchibald Mar 3, 2022
7921d8b
Initial about:blank replacement, plus task queuing in navigate
domenic Mar 3, 2022
d2505de
Add note for agent cluster stuff
domenic Mar 3, 2022
6b327ca
Agent creation is actually fine!
domenic Mar 3, 2022
edb5fc2
#navigate goes in parallel
domfarolino Mar 3, 2022
ecae6e3
Block the parallel queue on the whole of apply the history step
jakearchibald Mar 3, 2022
641ae5b
Set current step once traversal complete
jakearchibald Mar 3, 2022
d528657
Update fully active definition
domenic Mar 3, 2022
25ee9ae
Remove redundant step
domenic Mar 3, 2022
583eafd
Create a breakpoint before unloading
jakearchibald Mar 3, 2022
9f97bdc
Move around active document definition
domenic Mar 3, 2022
0d5cfd0
Rewrite URL and history update steps. Guard sync navigations from bei…
domenic Mar 3, 2022
c56744a
Introduce session history traversal parallel queue
domfarolino Mar 3, 2022
70d3d66
Fixes
jakearchibald Mar 3, 2022
7280629
Guard navigations a bit
domenic Mar 3, 2022
3dd692c
Use sync subqueue in the right places
domfarolino Mar 4, 2022
f143254
It has a better name
jakearchibald Mar 3, 2022
2145c25
Fix 204 case to not try to finalize navigation
domenic Mar 4, 2022
183a228
Maintain 'queue' ordering
jakearchibald Mar 4, 2022
56261b4
Navigations canceling other navigations
domenic Mar 4, 2022
22510c4
Remove "pending" bailouts
jakearchibald Mar 4, 2022
3887d9d
Drain sync queue
jakearchibald Mar 4, 2022
1cbd0e1
Prevent navigation during traversal
domenic Mar 4, 2022
10d1940
Delete "matured" and related stuff
domenic Mar 4, 2022
b347708
Settle on history traversal task source
domenic Mar 4, 2022
966c248
Fix mismatched variables
domenic Mar 4, 2022
2632afe
#navigate cleanup
domenic Mar 4, 2022
d04ade5
Competing navs and traversals are more or less sorted
domenic Mar 4, 2022
0dc60db
Avoid already traversed navigables when allowing sync stuff to jump t…
jakearchibald Mar 4, 2022
c51e8fb
Store referrer after it stops being "client"
domenic Mar 4, 2022
6905a50
Fix wrong linking text for referrer
domenic Mar 4, 2022
291c53f
New document state always use props
domenic Mar 4, 2022
7caa275
Default document state referrer policy
domenic Mar 4, 2022
dcdff49
Fix history policy container default
domenic Mar 4, 2022
f23f680
Confirmed, arguments to apply the history step are correct
domenic Mar 4, 2022
f97f538
Docs for queue jumping, and flipping the order a bit
jakearchibald Mar 4, 2022
9064439
Revamp JS URLs
domenic Mar 4, 2022
9ecffc6
Guard against nested checking for sync steps
jakearchibald Mar 4, 2022
fe9d5d8
Fix typo
domenic Mar 4, 2022
2032e19
Very minor fixes
domenic Mar 4, 2022
a008a61
Avoid setting history length/index too early
jakearchibald Mar 4, 2022
2cd81cd
UnDOM note
jakearchibald Mar 4, 2022
5759c4c
Make pushState/replaceState not try to reactivate from bfcache
domenic Mar 4, 2022
1208715
Remove TODO
jakearchibald Mar 4, 2022
17e4b11
Rename and un-TODO history traversal task source
domenic Mar 4, 2022
ca2a411
Fix is initial about:blank references
domenic Mar 4, 2022
6ac963f
Update some history APIs to use new stuff
domenic Mar 4, 2022
95d186e
Some renames and removals of old concepts
domenic Mar 4, 2022
321c749
Reword the bfcache note
domenic Mar 4, 2022
6e0228e
Remove #session-history
domenic Mar 4, 2022
23635d6
Allow destroying script-accessible Documents
domenic Mar 4, 2022
9d95353
A few active window conversions
domenic Mar 4, 2022
1f5b92f
Clear name when navigating to another origin
jakearchibald Mar 4, 2022
e049701
Clear target name on repopulation
jakearchibald Mar 4, 2022
db1930f
Restricting name clearing to non-aux BCs unless disowned
jakearchibald Mar 4, 2022
ee80403
Clear history state if origin changes on reload/repopulation
jakearchibald Mar 4, 2022
51b722d
Merge branch 'main' into session-history
domenic Mar 7, 2022
bd98284
Merge branch 'main' into session-history
domenic Mar 8, 2022
00b1d06
Fix typo
domfarolino Mar 10, 2022
895f1e8
Initial rearrangement
domenic Mar 15, 2022
e691715
A bit more rearranging
domenic Mar 15, 2022
80efebe
Start moving the meaty stuff around
domenic Mar 15, 2022
7ec9e90
Merge branch 'main' into session-history
domenic Mar 22, 2022
6ee812d
null out history.state during fragment navigation
domenic Mar 25, 2022
fc8f89c
Attempt to fix final stages of a reload
domenic Mar 25, 2022
5288632
Merge branch 'main' into session-history
domenic Mar 29, 2022
bdc9927
Reloads are fine, but that variable name was misleading
domenic Mar 29, 2022
88d732a
Minor reload fixes
domenic Mar 29, 2022
559990e
Merge branch 'main' into session-history
domenic Mar 30, 2022
ef7577c
Fixups to last merge commit
domenic Mar 30, 2022
0c6d0a1
Merge branch 'main' into session-history
domenic Apr 14, 2022
c8a2dd6
Merge branch 'main' into session-history
domenic Apr 14, 2022
717b88b
Merge branch 'main' into session-history (tImestamp computation)
domenic Apr 19, 2022
53cc6bc
Significant rearranging progress
domenic Apr 19, 2022
396eab0
Some dev edition wrangling and heading names
domenic Apr 19, 2022
de677df
Stuff is mostly categorized, if not ordered
domenic Apr 19, 2022
a807f3b
Tweaks in session history entyr and document state sections
domenic Apr 19, 2022
6051c03
A plan is starting to take shape for navigation/traversal parts
domenic Apr 19, 2022
f2bbe68
Everything is roughly rearranged, I think!
domenic Apr 20, 2022
e9dfa97
Clean up w-nodev so we can insert them smartly later
domenic Apr 20, 2022
b5857ae
A polish pass up through session history and navigation
domenic Apr 20, 2022
d3f8e3d
Remove she-bc per the JAKE-TODO
domenic Apr 20, 2022
1cb460e
Write a fun introduction
domenic Apr 20, 2022
b2f91c4
Merge branch 'main' into session-history (param removal)
domenic Apr 21, 2022
ad64edf
A bunch more work, through non-frag sync navs. Notably moved around s…
domenic Apr 21, 2022
1b7c800
Merge branch 'main' into session-history (preload fixes)
domenic Apr 26, 2022
9f845ea
A pass up to right before "Applying the history step"
domenic Apr 26, 2022
e9f903b
Change a heading for consistency
domenic Apr 27, 2022
36a8b75
Merge branch 'main' into session-history (merges past sync popstate, …
domenic Apr 27, 2022
33bf6d5
Significant changes to fragment nav and sync navs in general
domenic Apr 27, 2022
948ac77
Merge branch 'main' into session-history
domenic May 2, 2022
f6a65f5
Props got added to shared stylesheet
domenic May 2, 2022
07370fd
Centralize UI recommendations
domenic May 2, 2022
0ec9770
New filename splits
domenic May 2, 2022
1e083bf
Fix X-Frame-Options call
domenic May 2, 2022
9ced027
Various BC -> navigable updates
domenic May 2, 2022
dc83e5c
Fix and simplify some sandboxing computations
domenic May 2, 2022
cd9d10b
More BC -> navigable
domenic May 2, 2022
3f7d9cc
navigation params's BC -> navigable
domenic May 2, 2022
e8521b3
More BC -> navigable
domenic May 2, 2022
4c0e7a5
Merge branch 'main' into session-history (no unsafe nav timing)
domenic May 3, 2022
f052171
More BC -> navigable
domenic May 4, 2022
032d1fb
Try to tackle ancestor/TLBC, still more to do
domenic May 4, 2022
d0e59d1
Move "is popup" out of the related BC section
domenic May 4, 2022
a1a1a00
Redefine auxiliary BC
domenic May 4, 2022
0ba237f
More BC -> navigable, focused on TLBC
domenic May 5, 2022
7db519a
Separate out TLBC uses and rewrite "familiar with"
domenic May 5, 2022
e6def42
Merge branch 'main' into session-history (link header refactoring)
domenic May 26, 2022
18b37f0
Merge branch 'main' into session-history (unload + COOP)
domenic May 31, 2022
7e9c1ea
Merge branch 'main' into session-history (beforeunload WebDriver BiDi)
domenic Jun 22, 2022
fb5fd8f
Merge branch 'main' into session-history
domenic Jul 6, 2022
f1e14cc
Switch focus to be about navigables
domenic Jul 6, 2022
8794aec
Final (?!?!) browsing context changes
domenic Jul 6, 2022
d186aac
Hacky pass at using "scripts may run..."
domenic Jul 11, 2022
96d65a6
This todo is fine as-is
domenic Jul 12, 2022
d142558
Yes, that algorithm was indeed duplicated
domenic Jul 12, 2022
3d1f11f
Introducing: Jake diagrams
domenic Jul 12, 2022
0c51bc2
Update the "centralized modifications" examples to be pretty and use …
domenic Jul 13, 2022
43f1fc5
Fix the DOMFAROLINO-TODO
domenic Jul 13, 2022
46a7985
Merge branch 'main' into session-history
domenic Jul 14, 2022
23db308
Fix the sole usage of script-closable (reference navigable not bc) an…
domfarolino Aug 8, 2022
73e0527
Remove unused <var>url</var> variable, and link to break
domfarolino Aug 11, 2022
13f2f1a
Expand note on "navigation" vs. #navigate
domenic Aug 12, 2022
729084f
Use target snapshot params sandbox flags when handing off to external…
domfarolino Aug 12, 2022
fc0843d
Stop guarding cross-document finalization via activeDocumentAtNavigat…
domfarolino Aug 16, 2022
2ccc642
Hoist #navigate's 'ongoing navigation' read/write to main thread
domfarolino Aug 16, 2022
a074204
Only cancel navigations on 'the main thread'
domfarolino Aug 18, 2022
9f46f88
Brevity: queue a global task with nav-window, not document's global
domfarolino Aug 18, 2022
10dd8e9
Remove the #nav-url shortcut
domfarolino Aug 18, 2022
d884968
Write #nav-window in terms of #nav-wp
domfarolino Aug 18, 2022
b58166d
Merge branch 'main' into session-history
domenic Sep 7, 2022
7e88d9c
Preserve a bunch of IDs
domenic Sep 7, 2022
0dc03f5
Location href setter throws a SyntaxError DOMException instead of Typ…
domfarolino Sep 7, 2022
8d27b43
Tweak "is active" wording
domenic Sep 8, 2022
0352d1a
This XXX got fixed
domenic Sep 14, 2022
8f84742
Move a UI consideration into its dedicated section
domenic Sep 14, 2022
2f44177
Fix text around 'indicated part' reference
domfarolino Sep 17, 2022
46e5dd0
Use traversable for session storage
jakearchibald Sep 23, 2022
172e90b
Merge branch 'main' into session-history
domenic Sep 27, 2022
e36ce02
Merge branch 'main' into session-history
domenic Sep 27, 2022
81cd346
Revamp iframe/frame load event stuff
domenic Sep 27, 2022
4f81de0
Refactor BC creation creator inheritance
domenic Sep 28, 2022
6432da9
Merge branch 'main' into session-history
domenic Oct 10, 2022
924166b
Explain the document state replacement case
domenic Oct 10, 2022
0198e21
I think it's OK to not update CSSOMView right now
domenic Oct 10, 2022
3fa2e5c
Variable name fix
domenic Oct 10, 2022
0058ff2
Introduce #document-state-initiator-origin
domfarolino Oct 10, 2022
bd2a77f
This seems outdated + rewrap
domenic Oct 10, 2022
89fc531
Rename URL scheme document => non-fetch scheme document
domfarolino Oct 10, 2022
8817b3f
Break out the source-snapshot-params members when invoking hand-off
domfarolino Oct 10, 2022
4ad26fd
Fix typo in x-mixed-replace
domfarolino Oct 10, 2022
beb32cc
Separate arguments for non-fetch document handling
domfarolino Oct 10, 2022
a28cc2c
Fix "event" -> "even" typo
domenic Oct 11, 2022
9aa7ba3
Fix example typo
domenic Oct 12, 2022
e3ef20d
Give #create-navigation-params-by-fetching a return declaration
domfarolino Oct 13, 2022
f600cf9
Initially null
domfarolino Oct 13, 2022
330ef72
Fix initiator origin for external protocol navigations
domfarolino Oct 13, 2022
d25d39b
Remove #source-snapshot-params-origin
domfarolino Oct 14, 2022
03321f3
Rewrap some stuff
domfarolino Oct 14, 2022
440ea9f
Fix lint error
domenic Oct 14, 2022
c33789e
Editorial fixes to dom's updates
domenic Oct 14, 2022
cba0c45
Fix fetching to use new callbacks and always be in parallel
domenic Oct 14, 2022
64b1f31
Some task queue fixing
domenic Oct 14, 2022
026b3c6
Merge branch 'main' into session-history
domenic Oct 14, 2022
17d81f8
Some rewrapping
domenic Oct 14, 2022
db9722e
More rewrapping
domenic Oct 14, 2022
847fc7a
Rewrapper seems to work pretty well now
domenic Oct 17, 2022
ab8d25a
Merge branch 'main' into session-history
domenic Oct 17, 2022
4faf1a7
Merge in the fetch timing changes from 7722
domenic Oct 17, 2022
12b025c
Everything is rewrapped now I think
domenic Oct 17, 2022
75ac43b
A little more rewrapping
domfarolino Oct 17, 2022
3bd9bf8
javascript: URLs mostly rewritten, but not sure it's great yet
domenic Oct 18, 2022
24eef09
JavaScript URL fixups
domenic Oct 24, 2022
cb7d62c
Merge branch 'main' into session-history
domenic Oct 24, 2022
760c029
Merge branch 'session-history' of https://github.com/whatwg/html into…
domenic Oct 24, 2022
0caab9c
Export stuff for storage PR 148
domenic Oct 26, 2022
145809e
Fix process next manual redirect link
domfarolino Oct 26, 2022
7a1f2e9
Slightly simplify locationURL handling
domfarolino Oct 26, 2022
5220b57
Fix redirect handling for non-HTTP(s)-scheme URLs
domfarolino Oct 26, 2022
08e609c
Fix what URL is committed to session history for all redirects
domfarolino Oct 26, 2022
f492f1c
Revert a bit of the non-HTTP(S) fetch handling
domenic Oct 27, 2022
4c13ba4
Some documentation updates
domenic Oct 27, 2022
f067254
Use new storage thing
domenic Oct 27, 2022
0bf35b5
That paragraph looks a bit nicer there
domenic Oct 27, 2022
6603e29
uuid -> webcrypto
domenic Oct 27, 2022
0622b52
Add "create a fresh top-level traversable"
domenic Oct 28, 2022
6a91e77
Export POST resource in case people need to navigate to it
domenic Oct 28, 2022
74f5fd0
Make it take a URL and optional post resource
domenic Oct 28, 2022
b769bc0
Some final rewrapping
domfarolino Oct 30, 2022
1ca360f
Merge branch 'main' into session-history
domenic Oct 31, 2022
5b8a2f0
Make "check if unloading is user-canceled" return a boolean
domenic Oct 31, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading