JSValue* WebScriptCallFrame::valueByEvaluatingJavaScriptFromString(String script) { #if 0 ExecState* state = m_state; JSGlobalObject* globObj = state->dynamicGlobalObject(); // find "eval" JSObject* eval = 0; if (state->scopeNode()) { // "eval" won't work without context (i.e. at global scope) JSValue* v = globObj->get(state, "eval"); if (v->isObject() && static_cast<JSObject*>(v)->implementsCall()) eval = static_cast<JSObject*>(v); else // no "eval" - fallback operates on global exec state state = globObj->globalExec(); } JSValue* savedException = state->exception(); state->clearException(); UString code(script.utf8().data()); // evaluate JSValue* scriptExecutionResult; if (eval) { List args; args.append(jsString(code)); scriptExecutionResult = eval->call(state, 0, args); } else // no "eval", or no context (i.e. global scope) - use global fallback scriptExecutionResult = Interpreter::evaluate(state, UString(), 0, code.data(), code.size(), globObj).value(); if (state->hadException()) scriptExecutionResult = state->exception(); // (may be redundant depending on which eval path was used) state->setException(savedException); return scriptExecutionResult; #else return jsNull(); #endif }