From 5b91362d4e0e8d61696e153d9925ea1b811df518 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Sat, 23 Jan 2021 11:51:36 +0100 Subject: [PATCH] LibWeb: Move XMLHttpRequest to separate XHR directory In keeping with the one-directory-per-web-spec layout, let's move XHR into its own clubhouse. --- .../LibWeb/Bindings/XMLHttpRequestConstructor.cpp | 14 +++++++------- .../LibWeb/Bindings/XMLHttpRequestPrototype.cpp | 14 +++++++------- .../LibWeb/Bindings/XMLHttpRequestWrapper.cpp | 14 +++++++------- .../LibWeb/Bindings/XMLHttpRequestWrapper.h | 8 ++++---- Userland/Libraries/LibWeb/CMakeLists.txt | 2 +- Userland/Libraries/LibWeb/Forward.h | 5 ++++- .../LibWeb/{DOM => XHR}/XMLHttpRequest.cpp | 4 ++-- .../Libraries/LibWeb/{DOM => XHR}/XMLHttpRequest.h | 2 +- 8 files changed, 33 insertions(+), 30 deletions(-) rename Userland/Libraries/LibWeb/{DOM => XHR}/XMLHttpRequest.cpp (98%) rename Userland/Libraries/LibWeb/{DOM => XHR}/XMLHttpRequest.h (99%) diff --git a/Userland/Libraries/LibWeb/Bindings/XMLHttpRequestConstructor.cpp b/Userland/Libraries/LibWeb/Bindings/XMLHttpRequestConstructor.cpp index 16bb2a4b8b..b1a627e1d7 100644 --- a/Userland/Libraries/LibWeb/Bindings/XMLHttpRequestConstructor.cpp +++ b/Userland/Libraries/LibWeb/Bindings/XMLHttpRequestConstructor.cpp @@ -30,7 +30,7 @@ #include #include #include -#include +#include namespace Web::Bindings { @@ -47,11 +47,11 @@ void XMLHttpRequestConstructor::initialize(JS::GlobalObject& global_object) define_property(vm.names.prototype, window.xhr_prototype(), 0); define_property(vm.names.length, JS::Value(1), JS::Attribute::Configurable); - define_property("UNSENT", JS::Value((i32)XMLHttpRequest::ReadyState::Unsent), JS::Attribute::Enumerable); - define_property("OPENED", JS::Value((i32)XMLHttpRequest::ReadyState::Opened), JS::Attribute::Enumerable); - define_property("HEADERS_RECEIVED", JS::Value((i32)XMLHttpRequest::ReadyState::HeadersReceived), JS::Attribute::Enumerable); - define_property("LOADING", JS::Value((i32)XMLHttpRequest::ReadyState::Loading), JS::Attribute::Enumerable); - define_property("DONE", JS::Value((i32)XMLHttpRequest::ReadyState::Done), JS::Attribute::Enumerable); + define_property("UNSENT", JS::Value((i32)XHR::XMLHttpRequest::ReadyState::Unsent), JS::Attribute::Enumerable); + define_property("OPENED", JS::Value((i32)XHR::XMLHttpRequest::ReadyState::Opened), JS::Attribute::Enumerable); + define_property("HEADERS_RECEIVED", JS::Value((i32)XHR::XMLHttpRequest::ReadyState::HeadersReceived), JS::Attribute::Enumerable); + define_property("LOADING", JS::Value((i32)XHR::XMLHttpRequest::ReadyState::Loading), JS::Attribute::Enumerable); + define_property("DONE", JS::Value((i32)XHR::XMLHttpRequest::ReadyState::Done), JS::Attribute::Enumerable); } XMLHttpRequestConstructor::~XMLHttpRequestConstructor() @@ -67,7 +67,7 @@ JS::Value XMLHttpRequestConstructor::call() JS::Value XMLHttpRequestConstructor::construct(Function&) { auto& window = static_cast(global_object()); - return heap().allocate(window, window, XMLHttpRequest::create(window.impl())); + return heap().allocate(window, window, XHR::XMLHttpRequest::create(window.impl())); } } diff --git a/Userland/Libraries/LibWeb/Bindings/XMLHttpRequestPrototype.cpp b/Userland/Libraries/LibWeb/Bindings/XMLHttpRequestPrototype.cpp index 5c7f578ed3..880d8686b1 100644 --- a/Userland/Libraries/LibWeb/Bindings/XMLHttpRequestPrototype.cpp +++ b/Userland/Libraries/LibWeb/Bindings/XMLHttpRequestPrototype.cpp @@ -29,7 +29,7 @@ #include #include #include -#include +#include namespace Web::Bindings { @@ -47,18 +47,18 @@ void XMLHttpRequestPrototype::initialize(JS::GlobalObject& global_object) define_native_property("readyState", ready_state_getter, nullptr, JS::Attribute::Enumerable | JS::Attribute::Configurable); define_native_property("responseText", response_text_getter, nullptr, JS::Attribute::Enumerable | JS::Attribute::Configurable); - define_property("UNSENT", JS::Value((i32)XMLHttpRequest::ReadyState::Unsent), JS::Attribute::Enumerable); - define_property("OPENED", JS::Value((i32)XMLHttpRequest::ReadyState::Opened), JS::Attribute::Enumerable); - define_property("HEADERS_RECEIVED", JS::Value((i32)XMLHttpRequest::ReadyState::HeadersReceived), JS::Attribute::Enumerable); - define_property("LOADING", JS::Value((i32)XMLHttpRequest::ReadyState::Loading), JS::Attribute::Enumerable); - define_property("DONE", JS::Value((i32)XMLHttpRequest::ReadyState::Done), JS::Attribute::Enumerable); + define_property("UNSENT", JS::Value((i32)XHR::XMLHttpRequest::ReadyState::Unsent), JS::Attribute::Enumerable); + define_property("OPENED", JS::Value((i32)XHR::XMLHttpRequest::ReadyState::Opened), JS::Attribute::Enumerable); + define_property("HEADERS_RECEIVED", JS::Value((i32)XHR::XMLHttpRequest::ReadyState::HeadersReceived), JS::Attribute::Enumerable); + define_property("LOADING", JS::Value((i32)XHR::XMLHttpRequest::ReadyState::Loading), JS::Attribute::Enumerable); + define_property("DONE", JS::Value((i32)XHR::XMLHttpRequest::ReadyState::Done), JS::Attribute::Enumerable); } XMLHttpRequestPrototype::~XMLHttpRequestPrototype() { } -static XMLHttpRequest* impl_from(JS::VM& vm, JS::GlobalObject& global_object) +static XHR::XMLHttpRequest* impl_from(JS::VM& vm, JS::GlobalObject& global_object) { auto* this_object = vm.this_value(global_object).to_object(global_object); if (!this_object) diff --git a/Userland/Libraries/LibWeb/Bindings/XMLHttpRequestWrapper.cpp b/Userland/Libraries/LibWeb/Bindings/XMLHttpRequestWrapper.cpp index dedd97313a..fc14caaa86 100644 --- a/Userland/Libraries/LibWeb/Bindings/XMLHttpRequestWrapper.cpp +++ b/Userland/Libraries/LibWeb/Bindings/XMLHttpRequestWrapper.cpp @@ -30,16 +30,16 @@ #include #include #include -#include +#include namespace Web::Bindings { -XMLHttpRequestWrapper* wrap(JS::GlobalObject& global_object, XMLHttpRequest& impl) +XMLHttpRequestWrapper* wrap(JS::GlobalObject& global_object, XHR::XMLHttpRequest& impl) { return static_cast(wrap_impl(global_object, impl)); } -XMLHttpRequestWrapper::XMLHttpRequestWrapper(JS::GlobalObject& global_object, XMLHttpRequest& impl) +XMLHttpRequestWrapper::XMLHttpRequestWrapper(JS::GlobalObject& global_object, XHR::XMLHttpRequest& impl) : EventTargetWrapper(global_object, impl) { set_prototype(static_cast(global_object).xhr_prototype()); @@ -49,14 +49,14 @@ XMLHttpRequestWrapper::~XMLHttpRequestWrapper() { } -XMLHttpRequest& XMLHttpRequestWrapper::impl() +XHR::XMLHttpRequest& XMLHttpRequestWrapper::impl() { - return static_cast(EventTargetWrapper::impl()); + return static_cast(EventTargetWrapper::impl()); } -const XMLHttpRequest& XMLHttpRequestWrapper::impl() const +const XHR::XMLHttpRequest& XMLHttpRequestWrapper::impl() const { - return static_cast(EventTargetWrapper::impl()); + return static_cast(EventTargetWrapper::impl()); } } diff --git a/Userland/Libraries/LibWeb/Bindings/XMLHttpRequestWrapper.h b/Userland/Libraries/LibWeb/Bindings/XMLHttpRequestWrapper.h index a961564b60..dd34bbb5f4 100644 --- a/Userland/Libraries/LibWeb/Bindings/XMLHttpRequestWrapper.h +++ b/Userland/Libraries/LibWeb/Bindings/XMLHttpRequestWrapper.h @@ -32,16 +32,16 @@ namespace Web::Bindings { class XMLHttpRequestWrapper final : public EventTargetWrapper { public: - XMLHttpRequestWrapper(JS::GlobalObject&, XMLHttpRequest&); + XMLHttpRequestWrapper(JS::GlobalObject&, XHR::XMLHttpRequest&); virtual ~XMLHttpRequestWrapper() override; - XMLHttpRequest& impl(); - const XMLHttpRequest& impl() const; + XHR::XMLHttpRequest& impl(); + const XHR::XMLHttpRequest& impl() const; private: virtual const char* class_name() const override { return "XMLHttpRequestWrapper"; } }; -XMLHttpRequestWrapper* wrap(JS::GlobalObject&, XMLHttpRequest&); +XMLHttpRequestWrapper* wrap(JS::GlobalObject&, XHR::XMLHttpRequest&); } diff --git a/Userland/Libraries/LibWeb/CMakeLists.txt b/Userland/Libraries/LibWeb/CMakeLists.txt index ef06590667..5e0d0df039 100644 --- a/Userland/Libraries/LibWeb/CMakeLists.txt +++ b/Userland/Libraries/LibWeb/CMakeLists.txt @@ -54,7 +54,6 @@ set(SOURCES DOM/Text.idl DOM/Timer.cpp DOM/Window.cpp - DOM/XMLHttpRequest.cpp DOMTreeModel.cpp Dump.cpp FontCache.cpp @@ -204,6 +203,7 @@ set(SOURCES UIEvents/EventNames.cpp UIEvents/MouseEvent.cpp URLEncoder.cpp + XHR/XMLHttpRequest.cpp WebContentClient.cpp ) diff --git a/Userland/Libraries/LibWeb/Forward.h b/Userland/Libraries/LibWeb/Forward.h index 7c50a1a759..d3ae265bcd 100644 --- a/Userland/Libraries/LibWeb/Forward.h +++ b/Userland/Libraries/LibWeb/Forward.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020, Andreas Kling + * Copyright (c) 2020-2021, Andreas Kling * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -187,6 +187,9 @@ class PaintContext; class Resource; class ResourceLoader; class StackingContext; +} + +namespace Web::XHR { class XMLHttpRequest; } diff --git a/Userland/Libraries/LibWeb/DOM/XMLHttpRequest.cpp b/Userland/Libraries/LibWeb/XHR/XMLHttpRequest.cpp similarity index 98% rename from Userland/Libraries/LibWeb/DOM/XMLHttpRequest.cpp rename to Userland/Libraries/LibWeb/XHR/XMLHttpRequest.cpp index 3633085fbe..9ccf50a773 100644 --- a/Userland/Libraries/LibWeb/DOM/XMLHttpRequest.cpp +++ b/Userland/Libraries/LibWeb/XHR/XMLHttpRequest.cpp @@ -33,12 +33,12 @@ #include #include #include -#include #include #include #include +#include -namespace Web { +namespace Web::XHR { XMLHttpRequest::XMLHttpRequest(DOM::Window& window) : EventTarget(static_cast(window.document())) diff --git a/Userland/Libraries/LibWeb/DOM/XMLHttpRequest.h b/Userland/Libraries/LibWeb/XHR/XMLHttpRequest.h similarity index 99% rename from Userland/Libraries/LibWeb/DOM/XMLHttpRequest.h rename to Userland/Libraries/LibWeb/XHR/XMLHttpRequest.h index f33f5e67bc..98e05123e7 100644 --- a/Userland/Libraries/LibWeb/DOM/XMLHttpRequest.h +++ b/Userland/Libraries/LibWeb/XHR/XMLHttpRequest.h @@ -32,7 +32,7 @@ #include #include -namespace Web { +namespace Web::XHR { class XMLHttpRequest final : public RefCounted