Selaa lähdekoodia

LibWeb: Store document origin as a HTML::Origin object

This will allow us to remember an arbitrary origin instead of deriving
it from the document's URL.
Andreas Kling 3 vuotta sitten
vanhempi
commit
6e71e400e6

+ 2 - 6
Userland/Libraries/LibWeb/DOM/Document.cpp

@@ -509,16 +509,12 @@ ExceptionOr<void> Document::close()
 
 HTML::Origin Document::origin() const
 {
-    if (!m_url.is_valid())
-        return {};
-    return { m_url.protocol(), m_url.host(), m_url.port_or_default() };
+    return m_origin;
 }
 
 void Document::set_origin(HTML::Origin const& origin)
 {
-    m_url.set_protocol(origin.protocol());
-    m_url.set_host(origin.host());
-    m_url.set_port(origin.port());
+    m_origin = origin;
 }
 
 void Document::schedule_style_update()

+ 3 - 0
Userland/Libraries/LibWeb/DOM/Document.h

@@ -482,6 +482,9 @@ private:
 
     // https://html.spec.whatwg.org/multipage/dom.html#is-initial-about:blank
     bool m_is_initial_about_blank { false };
+
+    // https://dom.spec.whatwg.org/#concept-document-origin
+    HTML::Origin m_origin;
 };
 
 }