Returning it by reference can lead to unpleasant situations if we use this getter when the document may go away. Better to make the getter return a copy than have to think about this everywhere.
@@ -84,7 +84,7 @@ JS::Value LocationObject::hostname_getter(JS::Interpreter& interpreter)
JS::Value LocationObject::host_getter(JS::Interpreter& interpreter)
{
auto& window = static_cast<WindowObject&>(interpreter.global_object());
- auto& url = window.impl().document().url();
+ auto url = window.impl().document().url();
StringBuilder builder;
builder.append(url.host());
builder.append(':');
@@ -53,7 +53,7 @@ public:
virtual ~Document() override;
void set_url(const URL& url) { m_url = url; }
- const URL& url() const { return m_url; }
+ URL url() const { return m_url; }
Origin origin() const;