#pragma once #include "root.h" #include "wtf/Forward.h" namespace WebCore { class WindowProxy; typedef HashMap> DOMObjectWrapperMap; class DOMWrapperWorld : public RefCounted { public: enum class Type { Normal, // Main (e.g. Page) User, // User Scripts (e.g. Extensions) Internal, // WebKit Internal (e.g. Media Controls) }; static Ref create(JSC::VM& vm, Type type = Type::Internal, const String& name = {}) { return adoptRef(*new DOMWrapperWorld(vm, type, name)); } WEBCORE_EXPORT ~DOMWrapperWorld(); // Free as much memory held onto by this world as possible. WEBCORE_EXPORT void clearWrappers(); void didCreateWindowProxy(WindowProxy* controller) { m_jsWindowProxies.add(controller); } void didDestroyWindowProxy(WindowProxy* controller) { m_jsWindowProxies.remove(controller); } void setShadowRootIsAlwaysOpen() { m_shadowRootIsAlwaysOpen = true; } bool shadowRootIsAlwaysOpen() const { return m_shadowRootIsAlwaysOpen; } void disableLegacyOverrideBuiltInsBehavior() { m_shouldDisableLegacyOverrideBuiltInsBehavior = true; } bool shouldDisableLegacyOverrideBuiltInsBehavior() const { return m_shouldDisableLegacyOverrideBuiltInsBehavior; } DOMObjectWrapperMap& wrappers() { return m_wrappers; } Type type() const { return m_type; } bool isNormal() const { return m_type == Type::Normal; } const String& name() const { return m_name; } JSC::VM& vm() const { return m_vm; } protected: DOMWrapperWorld(JSC::VM&, Type, const String& name); private: JSC::VM& m_vm; HashSet m_jsWindowProxies; DOMObjectWrapperMap m_wrappers; String m_name; Type m_type { Type::Internal }; bool m_shadowRootIsAlwaysOpen { false }; bool m_shouldDisableLegacyOverrideBuiltInsBehavior { false }; }; } // namespace WebCore dshake'>ciro/ws-fetch-proper-handshake Unnamed repository; edit this file 'description' to name the repository.
aboutsummaryrefslogtreecommitdiff
AgeCommit message (Expand)AuthorFilesLines
2023-02-11fix segfault during non-install script execution (#2045)Gravatar Alex Lam S.L 8-219/+107
2023-02-11[WIP] feat(napi): add `napi-fatal-exception` (#2054)Gravatar Derrick Farris 3-0/+17
2023-02-11Fixes https://github.com/oven-sh/bun/issues/2052Gravatar Jarred Sumner 3-44/+19
2023-02-11Backport std::forward changeGravatar Jarred Sumner 50-292/+292
2023-02-10Fix #631: bun add throwing JSON lexer bug (#2041)Gravatar Justin Whear 2-1/+39
2023-02-10Fix PATH setup in macOS setup instructions (#2044)Gravatar Eric Zhang 1-1/+1
2023-02-10update to simdutf 3.2.0Gravatar Jarred Sumner 2-341/+859
2023-02-10fix(string_immutable): fix `toUTF16Alloc` for bindgen w/ `use_simdutf = false...Gravatar Derrick Farris 1-1/+2
2023-02-10Add bun-ecosystem for running tests on npm packagesGravatar Ashcon Partovi 7-0/+201
2023-02-10[install] fix duplicate check on `peerDependencies` (#2039)Gravatar Alex Lam S.L 2-9/+53
2023-02-10drop ASCII double-scan and other minor clean-ups (#2038)Gravatar Alex Lam S.L 1-137/+86
2023-02-10Enable https://github.com/tc39/proposal-set-methodsGravatar Jarred Sumner 1-0/+1
2023-02-09Upgrade WebKitGravatar Jarred Sumner 11-31/+31
2023-02-09fix assertion failure (#2033)Gravatar Alex Lam S.L 2-5/+10
2023-02-09[install] fix flaky tests (#2032)Gravatar Alex Lam S.L 2-37/+37
2023-02-09[simdutf] workaround validation OOB access (#2031)Gravatar Alex Lam S.L 2-15/+18
2023-02-09Workaround https://github.com/simdutf/simdutf/issues/213Gravatar Jarred Sumner 1-3/+4
2023-02-09[streams] fix byte accounting (#2029)Gravatar Alex Lam S.L 2-31/+45
2023-02-09Add a note about builtinsGravatar Jarred Sumner 1-0/+16
2023-02-09[bun:test] Auto-import jest globals in test filesGravatar Jarred Sumner 9-0/+135
2023-02-08move some code aroundGravatar Jarred Sumner 1-64/+91
2023-02-08Update CONTRIBUTING.mdGravatar Jarred Sumner 1-1/+1