diff --git a/modules/juce_core/javascript/juce_Javascript.cpp b/modules/juce_core/javascript/juce_Javascript.cpp index f86ce30023..e78bb37113 100644 --- a/modules/juce_core/javascript/juce_Javascript.cpp +++ b/modules/juce_core/javascript/juce_Javascript.cpp @@ -1659,7 +1659,7 @@ JavascriptEngine::JavascriptEngine() : maximumExecutionTime (15.0), root (new R JavascriptEngine::~JavascriptEngine() {} -void JavascriptEngine::prepareTimeout() const { root->timeout = Time::getCurrentTime() + maximumExecutionTime; } +void JavascriptEngine::prepareTimeout() const noexcept { root->timeout = Time::getCurrentTime() + maximumExecutionTime; } void JavascriptEngine::registerNativeObject (Identifier name, DynamicObject* object) { @@ -1715,6 +1715,11 @@ var JavascriptEngine::callFunction (Identifier function, const var::NativeFuncti return returnVal; } +const NamedValueSet& JavascriptEngine::getRootObjectProperties() const noexcept +{ + return root->getProperties(); +} + #if JUCE_MSVC #pragma warning (pop) #endif diff --git a/modules/juce_core/javascript/juce_Javascript.h b/modules/juce_core/javascript/juce_Javascript.h index 42368a4faf..eafc3cdb60 100644 --- a/modules/juce_core/javascript/juce_Javascript.h +++ b/modules/juce_core/javascript/juce_Javascript.h @@ -96,10 +96,13 @@ public: */ RelativeTime maximumExecutionTime; + /** Provides access to the set of properties of the root namespace object. */ + const NamedValueSet& getRootObjectProperties() const noexcept; + private: JUCE_PUBLIC_IN_DLL_BUILD (struct RootObject) - ReferenceCountedObjectPtr root; - void prepareTimeout() const; + const ReferenceCountedObjectPtr root; + void prepareTimeout() const noexcept; JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (JavascriptEngine) };