From 511449e134288614e3b761e43d47482fc201efd0 Mon Sep 17 00:00:00 2001 From: Moonchild Date: Thu, 30 Jan 2025 19:20:18 +0100 Subject: [PATCH] Issue #2557 - Remove URL Constructor(DOMString url, URL base). URL Constructor(DOMString url, URL base) doesn't exist anymore in the spec. Resolves #2557 --- dom/url/URL.cpp | 60 +------------------------------------------ dom/url/URL.h | 4 --- dom/webidl/URL.webidl | 4 +-- 3 files changed, 2 insertions(+), 66 deletions(-) diff --git a/dom/url/URL.cpp b/dom/url/URL.cpp index f594c0f322..9586d46c5f 100644 --- a/dom/url/URL.cpp +++ b/dom/url/URL.cpp @@ -61,10 +61,6 @@ CreateObjectURLInternal(const GlobalObject& aGlobal, T aObject, class URLMainThread final : public URL { public: - static already_AddRefed - Constructor(const GlobalObject& aGlobal, const nsAString& aURL, - URL& aBase, ErrorResult& aRv); - static already_AddRefed Constructor(const GlobalObject& aGlobal, const nsAString& aURL, const Optional& aBase, ErrorResult& aRv); @@ -196,15 +192,6 @@ private: nsCOMPtr mURI; }; -/* static */ already_AddRefed -URLMainThread::Constructor(const GlobalObject& aGlobal, const nsAString& aURL, - URL& aBase, ErrorResult& aRv) -{ - MOZ_ASSERT(NS_IsMainThread()); - URLMainThread& base = static_cast(aBase); - return Constructor(aGlobal.GetAsSupports(), aURL, base.GetURI(), aRv); -} - /* static */ already_AddRefed URLMainThread::Constructor(const GlobalObject& aGlobal, const nsAString& aURL, const Optional& aBase, ErrorResult& aRv) @@ -639,10 +626,6 @@ private: class URLWorker final : public URL { public: - static already_AddRefed - Constructor(const GlobalObject& aGlobal, const nsAString& aURL, - URL& aBase, ErrorResult& aRv); - static already_AddRefed Constructor(const GlobalObject& aGlobal, const nsAString& aURL, const Optional& aBase, ErrorResult& aRv); @@ -934,7 +917,6 @@ private: const nsString mURL; nsString mBase; // IsVoid() if we have no base URI string. - RefPtr mBaseProxy; RefPtr mRetval; @@ -953,17 +935,6 @@ public: mWorkerPrivate->AssertIsOnWorkerThread(); } - ConstructorRunnable(WorkerPrivate* aWorkerPrivate, - const nsAString& aURL, URLProxy* aBaseProxy) - : WorkerMainThreadRunnable(aWorkerPrivate, - NS_LITERAL_CSTRING("URL :: Constructor with BaseURL")) - , mURL(aURL) - , mBaseProxy(aBaseProxy) - { - mBase.SetIsVoid(true); - mWorkerPrivate->AssertIsOnWorkerThread(); - } - bool MainThreadRun() { @@ -971,9 +942,7 @@ public: ErrorResult rv; RefPtr url; - if (mBaseProxy) { - url = URLMainThread::Constructor(nullptr, mURL, mBaseProxy->URI(), rv); - } else if (!mBase.IsVoid()) { + if (!mBase.IsVoid()) { url = URLMainThread::Constructor(nullptr, mURL, mBase, rv); } else { url = URLMainThread::Constructor(nullptr, mURL, nullptr, rv); @@ -1249,22 +1218,6 @@ FinishConstructor(JSContext* aCx, WorkerPrivate* aPrivate, return url.forget(); } -/* static */ already_AddRefed -URLWorker::Constructor(const GlobalObject& aGlobal, const nsAString& aURL, - URL& aBase, ErrorResult& aRv) -{ - MOZ_ASSERT(!NS_IsMainThread()); - - JSContext* cx = aGlobal.Context(); - WorkerPrivate* workerPrivate = GetWorkerPrivateFromContext(cx); - - URLWorker& base = static_cast(aBase); - RefPtr runnable = - new ConstructorRunnable(workerPrivate, aURL, base.GetURLProxy()); - - return FinishConstructor(cx, workerPrivate, runnable, aRv); -} - /* static */ already_AddRefed URLWorker::Constructor(const GlobalObject& aGlobal, const nsAString& aURL, const Optional& aBase, ErrorResult& aRv) @@ -1688,17 +1641,6 @@ URL::WrapObject(JSContext* aCx, JS::Handle aGivenProto) return URLBinding::Wrap(aCx, this, aGivenProto); } -/* static */ already_AddRefed -URL::Constructor(const GlobalObject& aGlobal, const nsAString& aURL, - URL& aBase, ErrorResult& aRv) -{ - if (NS_IsMainThread()) { - return URLMainThread::Constructor(aGlobal, aURL, aBase, aRv); - } - - return URLWorker::Constructor(aGlobal, aURL, aBase, aRv); -} - /* static */ already_AddRefed URL::Constructor(const GlobalObject& aGlobal, const nsAString& aURL, const Optional& aBase, ErrorResult& aRv) diff --git a/dom/url/URL.h b/dom/url/URL.h index 53164b7b95..13a76d7198 100644 --- a/dom/url/URL.h +++ b/dom/url/URL.h @@ -47,10 +47,6 @@ public: virtual JSObject* WrapObject(JSContext* aCx, JS::Handle aGivenProto) override; - static already_AddRefed - Constructor(const GlobalObject& aGlobal, const nsAString& aURL, - URL& aBase, ErrorResult& aRv); - static already_AddRefed Constructor(const GlobalObject& aGlobal, const nsAString& aURL, const Optional& aBase, ErrorResult& aRv); diff --git a/dom/webidl/URL.webidl b/dom/webidl/URL.webidl index a12635ce3f..25cf9368d4 100644 --- a/dom/webidl/URL.webidl +++ b/dom/webidl/URL.webidl @@ -12,9 +12,7 @@ * liability, trademark and document use rules apply. */ -// [Constructor(DOMString url, optional (URL or DOMString) base = "about:blank")] -[Constructor(DOMString url, URL base), - Constructor(DOMString url, optional DOMString base), +[Constructor(DOMString url, optional DOMString base), NamedConstructor=webkitURL(DOMString url, optional DOMString base), Exposed=(Window,Worker,WorkerDebugger)] interface URL {