ScriptValue ScriptController::executeScriptInWorld(DOMWrapperWorld* world, const String& script, bool forceUserGesture) { UserGestureIndicator gestureIndicator(forceUserGesture ? DefinitelyProcessingUserGesture : PossiblyProcessingUserGesture); ScriptSourceCode sourceCode(script, m_frame->document()->url()); if (!canExecuteScripts(AboutToExecuteScript) || isPaused()) return ScriptValue(); return evaluateInWorld(sourceCode, world); }
JSValue ScriptController::executeScriptInWorld(DOMWrapperWorld& world, const String& script, bool forceUserGesture) { UserGestureIndicator gestureIndicator(forceUserGesture ? Optional<ProcessingUserGestureState>(ProcessingUserGesture) : Nullopt); ScriptSourceCode sourceCode(script, m_frame.document()->url()); if (!canExecuteScripts(AboutToExecuteScript) || isPaused()) return { }; return evaluateInWorld(sourceCode, world); }
ScriptValue ScriptController::executeScriptInWorld(DOMWrapperWorld* world, const String& script, bool forceUserGesture) { ScriptSourceCode sourceCode(script, forceUserGesture ? KURL() : m_frame->document()->url()); if (!canExecuteScripts(AboutToExecuteScript) || isPaused()) return ScriptValue(); bool wasInExecuteScript = m_inExecuteScript; m_inExecuteScript = true; ScriptValue result = evaluateInWorld(sourceCode, world); if (!wasInExecuteScript) { m_inExecuteScript = false; Document::updateStyleForAllDocuments(); } return result; }
ScriptValue ScriptController::evaluate(const ScriptSourceCode& sourceCode) { return evaluateInWorld(sourceCode, mainThreadNormalWorld()); }
JSValue ScriptController::evaluate(const ScriptSourceCode& sourceCode, ExceptionDetails* exceptionDetails) { return evaluateInWorld(sourceCode, mainThreadNormalWorld(), exceptionDetails); }
ScriptValue ScriptController::evaluate(const ScriptSourceCode& sourceCode, ShouldAllowXSS shouldAllowXSS) { return evaluateInWorld(sourceCode, mainThreadNormalWorld(), shouldAllowXSS); }