mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 17:52:45 +00:00 
			
		
		
		
	LibWeb: Add missing properties from latest spec in SessionHistoryEntry
Adds step and document_state properties. Both will be required for further navigables spec implementation. Co-authored-by: Andreas Kling <kling@serenityos.org>
This commit is contained in:
		
							parent
							
								
									1df52ea94c
								
							
						
					
					
						commit
						aa33a3381b
					
				
					 2 changed files with 15 additions and 6 deletions
				
			
		|  | @ -4,7 +4,8 @@ | |||
|  * SPDX-License-Identifier: BSD-2-Clause | ||||
|  */ | ||||
| 
 | ||||
| #include <LibWeb/DOM/Document.h> | ||||
| #include <LibWeb/HTML/BrowsingContext.h> | ||||
| #include <LibWeb/HTML/DocumentState.h> | ||||
| #include <LibWeb/HTML/SessionHistoryEntry.h> | ||||
| 
 | ||||
| namespace Web::HTML { | ||||
|  | @ -12,7 +13,7 @@ namespace Web::HTML { | |||
| void SessionHistoryEntry::visit_edges(Cell::Visitor& visitor) | ||||
| { | ||||
|     Base::visit_edges(visitor); | ||||
|     visitor.visit(document); | ||||
|     visitor.visit(document_state); | ||||
|     visitor.visit(original_source_browsing_context); | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -36,22 +36,30 @@ struct SessionHistoryEntry final : public JS::Cell { | |||
|     AK::URL url; | ||||
| 
 | ||||
|     // document, a Document or null
 | ||||
|     // FIXME: this property is not present in the spec anymore and should be gone after introducing navigables
 | ||||
|     JS::GCPtr<DOM::Document> document; | ||||
| 
 | ||||
|     // serialized state, which is serialized state or null, initially null
 | ||||
|     // https://html.spec.whatwg.org/multipage/browsing-the-web.html#she-document-state
 | ||||
|     JS::GCPtr<HTML::DocumentState> document_state; | ||||
| 
 | ||||
|     // https://html.spec.whatwg.org/multipage/browsing-the-web.html#she-serialized-state
 | ||||
|     // serialized state, which is serialized state, initially StructuredSerializeForStorage(null).
 | ||||
|     Optional<DeprecatedString> serialized_state; | ||||
| 
 | ||||
|     // https://html.spec.whatwg.org/multipage/browsing-the-web.html#she-scroll-restoration-mode
 | ||||
|     // scroll restoration mode, a scroll restoration mode, initially "auto"
 | ||||
|     ScrollRestorationMode scroll_restoration_mode { ScrollRestorationMode::Auto }; | ||||
| 
 | ||||
|     // policy container, a policy container or null
 | ||||
|     Optional<PolicyContainer> policy_container; | ||||
| 
 | ||||
|     // scroll restoration mode, a scroll restoration mode, initially "auto"
 | ||||
|     ScrollRestorationMode scroll_restoration_mode { ScrollRestorationMode::Auto }; | ||||
| 
 | ||||
|     // https://html.spec.whatwg.org/multipage/browsing-the-web.html#she-scroll-position
 | ||||
|     // FIXME: scroll position data, which is scroll position data for the document's restorable scrollable regions
 | ||||
| 
 | ||||
|     // browsing context name, a browsing context name or null, initially null
 | ||||
|     Optional<DeprecatedString> browsing_context_name; | ||||
| 
 | ||||
|     // https://html.spec.whatwg.org/multipage/browsing-the-web.html#she-other
 | ||||
|     // FIXME: persisted user state, which is implementation-defined, initially null
 | ||||
|     // NOTE: This is where we could remember the state of form controls, for example.
 | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Aliaksandr Kalenik
						Aliaksandr Kalenik