mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 04:32:44 +00:00 
			
		
		
		
	 d8ccc2d54e
			
		
	
	
		d8ccc2d54e
		
	
	
	
	
		
			
			The "browsing context container" concept in the HTML spec has been replaced with "navigable container". Renaming this is the first step of many towards implementing the new world. Co-authored-by: Aliaksandr Kalenik <kalenik.aliaksandr@gmail.com>
		
			
				
	
	
		
			50 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /*
 | |
|  * Copyright (c) 2020-2021, Andreas Kling <kling@serenityos.org>
 | |
|  *
 | |
|  * SPDX-License-Identifier: BSD-2-Clause
 | |
|  */
 | |
| 
 | |
| #pragma once
 | |
| 
 | |
| #include <LibWeb/HTML/NavigableContainer.h>
 | |
| 
 | |
| namespace Web::HTML {
 | |
| 
 | |
| class HTMLIFrameElement final : public NavigableContainer {
 | |
|     WEB_PLATFORM_OBJECT(HTMLIFrameElement, NavigableContainer);
 | |
| 
 | |
| public:
 | |
|     virtual ~HTMLIFrameElement() override;
 | |
| 
 | |
|     virtual JS::GCPtr<Layout::Node> create_layout_node(NonnullRefPtr<CSS::StyleProperties>) override;
 | |
| 
 | |
|     // https://html.spec.whatwg.org/multipage/urls-and-fetching.html#will-lazy-load-element-steps
 | |
|     bool will_lazy_load_element() const;
 | |
| 
 | |
|     void set_current_navigation_was_lazy_loaded(bool value) { m_current_navigation_was_lazy_loaded = value; }
 | |
| 
 | |
|     virtual void apply_presentational_hints(CSS::StyleProperties&) const override;
 | |
| 
 | |
| private:
 | |
|     HTMLIFrameElement(DOM::Document&, DOM::QualifiedName);
 | |
| 
 | |
|     virtual JS::ThrowCompletionOr<void> initialize(JS::Realm&) override;
 | |
| 
 | |
|     // ^DOM::Element
 | |
|     virtual void inserted() override;
 | |
|     virtual void removed_from(Node*) override;
 | |
|     virtual void parse_attribute(DeprecatedFlyString const& name, DeprecatedString const& value) override;
 | |
|     virtual i32 default_tab_index_value() const override;
 | |
| 
 | |
|     // https://html.spec.whatwg.org/multipage/iframe-embed-object.html#process-the-iframe-attributes
 | |
|     void process_the_iframe_attributes(bool initial_insertion = false);
 | |
| 
 | |
|     void load_src(DeprecatedString const&);
 | |
| 
 | |
|     // https://html.spec.whatwg.org/multipage/iframe-embed-object.html#current-navigation-was-lazy-loaded
 | |
|     bool m_current_navigation_was_lazy_loaded { false };
 | |
| };
 | |
| 
 | |
| void run_iframe_load_event_steps(HTML::HTMLIFrameElement&);
 | |
| 
 | |
| }
 |