Title: [286499] trunk/Source/WebCore
- Revision
- 286499
- Author
- cdu...@apple.com
- Date
- 2021-12-03 10:00:42 -0800 (Fri, 03 Dec 2021)
Log Message
Introduce WorkerGlobalScope::type() function
https://bugs.webkit.org/show_bug.cgi?id=233793
Reviewed by Alex Christensen.
Introduce WorkerGlobalScope::type() function to replace isDedicatedWorkerGlobalScope() / isServiceWorkerGlobalScope()
/ isSharedWorkerGlobalScope(). This is extracted from Alex's large patch at Bug 230382.
* workers/shared/SharedWorkerGlobalScope.h:
(isType):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (286498 => 286499)
--- trunk/Source/WebCore/ChangeLog 2021-12-03 17:45:21 UTC (rev 286498)
+++ trunk/Source/WebCore/ChangeLog 2021-12-03 18:00:42 UTC (rev 286499)
@@ -1,3 +1,16 @@
+2021-12-03 Chris Dumez <cdu...@apple.com>
+
+ Introduce WorkerGlobalScope::type() function
+ https://bugs.webkit.org/show_bug.cgi?id=233793
+
+ Reviewed by Alex Christensen.
+
+ Introduce WorkerGlobalScope::type() function to replace isDedicatedWorkerGlobalScope() / isServiceWorkerGlobalScope()
+ / isSharedWorkerGlobalScope(). This is extracted from Alex's large patch at Bug 230382.
+
+ * workers/shared/SharedWorkerGlobalScope.h:
+ (isType):
+
2021-12-03 Youenn Fablet <you...@apple.com>
Improve dictionary-based DOMPromiseDeferred::settle
Modified: trunk/Source/WebCore/workers/DedicatedWorkerGlobalScope.h (286498 => 286499)
--- trunk/Source/WebCore/workers/DedicatedWorkerGlobalScope.h 2021-12-03 17:45:21 UTC (rev 286498)
+++ trunk/Source/WebCore/workers/DedicatedWorkerGlobalScope.h 2021-12-03 18:00:42 UTC (rev 286499)
@@ -87,7 +87,8 @@
DedicatedWorkerGlobalScope(const WorkerParameters&, Ref<SecurityOrigin>&&, DedicatedWorkerThread&, Ref<SecurityOrigin>&& topOrigin, IDBClient::IDBConnectionProxy*, SocketProvider*);
- bool isDedicatedWorkerGlobalScope() const final { return true; }
+ Type type() const final { return Type::DedicatedWorker; }
+
ExceptionOr<void> importScripts(const Vector<String>& urls) final;
EventTargetInterface eventTargetInterface() const final;
@@ -103,6 +104,6 @@
} // namespace WebCore
SPECIALIZE_TYPE_TRAITS_BEGIN(WebCore::DedicatedWorkerGlobalScope)
- static bool isType(const WebCore::ScriptExecutionContext& context) { return is<WebCore::WorkerGlobalScope>(context) && downcast<WebCore::WorkerGlobalScope>(context).isDedicatedWorkerGlobalScope(); }
- static bool isType(const WebCore::WorkerGlobalScope& context) { return context.isDedicatedWorkerGlobalScope(); }
+ static bool isType(const WebCore::ScriptExecutionContext& context) { return is<WebCore::WorkerGlobalScope>(context) && downcast<WebCore::WorkerGlobalScope>(context).type() == WebCore::WorkerGlobalScope::Type::DedicatedWorker; }
+ static bool isType(const WebCore::WorkerGlobalScope& context) { return context.type() == WebCore::WorkerGlobalScope::Type::DedicatedWorker; }
SPECIALIZE_TYPE_TRAITS_END()
Modified: trunk/Source/WebCore/workers/WorkerGlobalScope.h (286498 => 286499)
--- trunk/Source/WebCore/workers/WorkerGlobalScope.h 2021-12-03 17:45:21 UTC (rev 286498)
+++ trunk/Source/WebCore/workers/WorkerGlobalScope.h 2021-12-03 18:00:42 UTC (rev 286499)
@@ -76,9 +76,8 @@
public:
virtual ~WorkerGlobalScope();
- virtual bool isDedicatedWorkerGlobalScope() const { return false; }
- virtual bool isSharedWorkerGlobalScope() const { return false; }
- virtual bool isServiceWorkerGlobalScope() const { return false; }
+ enum class Type : uint8_t { DedicatedWorker, ServiceWorker, SharedWorker };
+ virtual Type type() const = 0;
const URL& url() const final { return m_url; }
String origin() const;
Modified: trunk/Source/WebCore/workers/service/ServiceWorkerGlobalScope.h (286498 => 286499)
--- trunk/Source/WebCore/workers/service/ServiceWorkerGlobalScope.h 2021-12-03 17:45:21 UTC (rev 286498)
+++ trunk/Source/WebCore/workers/service/ServiceWorkerGlobalScope.h 2021-12-03 18:00:42 UTC (rev 286499)
@@ -50,8 +50,6 @@
~ServiceWorkerGlobalScope();
- bool isServiceWorkerGlobalScope() const final { return true; }
-
ServiceWorkerClients& clients() { return m_clients.get(); }
ServiceWorkerRegistration& registration() { return m_registration.get(); }
ServiceWorker& serviceWorker() { return m_serviceWorker.get(); }
@@ -84,6 +82,7 @@
ServiceWorkerGlobalScope(ServiceWorkerContextData&&, ServiceWorkerData&&, const WorkerParameters&, Ref<SecurityOrigin>&&, ServiceWorkerThread&, Ref<SecurityOrigin>&& topOrigin, IDBClient::IDBConnectionProxy*, SocketProvider*);
void notifyServiceWorkerPageOfCreationIfNecessary();
+ Type type() const final { return Type::ServiceWorker; }
bool hasPendingEvents() const { return !m_extendedEvents.isEmpty(); }
ServiceWorkerContextData m_contextData;
@@ -100,8 +99,8 @@
} // namespace WebCore
SPECIALIZE_TYPE_TRAITS_BEGIN(WebCore::ServiceWorkerGlobalScope)
- static bool isType(const WebCore::ScriptExecutionContext& context) { return is<WebCore::WorkerGlobalScope>(context) && downcast<WebCore::WorkerGlobalScope>(context).isServiceWorkerGlobalScope(); }
- static bool isType(const WebCore::WorkerGlobalScope& context) { return context.isServiceWorkerGlobalScope(); }
+ static bool isType(const WebCore::ScriptExecutionContext& context) { return is<WebCore::WorkerGlobalScope>(context) && downcast<WebCore::WorkerGlobalScope>(context).type() == WebCore::WorkerGlobalScope::Type::ServiceWorker; }
+ static bool isType(const WebCore::WorkerGlobalScope& context) { return context.type() == WebCore::WorkerGlobalScope::Type::ServiceWorker; }
SPECIALIZE_TYPE_TRAITS_END()
#endif // ENABLE(SERVICE_WORKER)
Modified: trunk/Source/WebCore/workers/shared/SharedWorkerGlobalScope.h (286498 => 286499)
--- trunk/Source/WebCore/workers/shared/SharedWorkerGlobalScope.h 2021-12-03 17:45:21 UTC (rev 286498)
+++ trunk/Source/WebCore/workers/shared/SharedWorkerGlobalScope.h 2021-12-03 18:00:42 UTC (rev 286499)
@@ -32,10 +32,12 @@
class SharedWorkerGlobalScope final : public WorkerGlobalScope {
WTF_MAKE_ISO_ALLOCATED(SharedWorkerGlobalScope);
public:
- bool isSharedWorkerGlobalScope() const final { return true; }
const String& name() const;
void close();
+
private:
+ Type type() const final { return Type::SharedWorker; }
+
EventTargetInterface eventTargetInterface() const final;
FetchOptions::Destination destination() const final;
};
@@ -43,6 +45,6 @@
} // namespace WebCore
SPECIALIZE_TYPE_TRAITS_BEGIN(WebCore::SharedWorkerGlobalScope)
- static bool isType(const WebCore::ScriptExecutionContext& context) { return is<WebCore::WorkerGlobalScope>(context) && downcast<WebCore::WorkerGlobalScope>(context).isSharedWorkerGlobalScope(); }
- static bool isType(const WebCore::WorkerGlobalScope& context) { return context.isSharedWorkerGlobalScope(); }
+ static bool isType(const WebCore::ScriptExecutionContext& context) { return is<WebCore::WorkerGlobalScope>(context) && downcast<WebCore::WorkerGlobalScope>(context).type() == WebCore::WorkerGlobalScope::Type::SharedWorker; }
+ static bool isType(const WebCore::WorkerGlobalScope& context) { return context.type() == WebCore::WorkerGlobalScope::Type::SharedWorker; }
SPECIALIZE_TYPE_TRAITS_END()
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes