diff options
Diffstat (limited to 'WebKit/win/WebScriptCallFrame.cpp')
| -rw-r--r-- | WebKit/win/WebScriptCallFrame.cpp | 36 |
1 files changed, 18 insertions, 18 deletions
diff --git a/WebKit/win/WebScriptCallFrame.cpp b/WebKit/win/WebScriptCallFrame.cpp index a831565..fa76fe9 100644 --- a/WebKit/win/WebScriptCallFrame.cpp +++ b/WebKit/win/WebScriptCallFrame.cpp @@ -32,7 +32,7 @@ #include "COMEnumVariant.h" #include "WebKitDLL.h" -#include <JavaScriptCore/Interpreter.h> +#include <JavaScriptCore/Completion.h> #include <JavaScriptCore/JSFunction.h> #include <JavaScriptCore/JSGlobalObject.h> #include <JavaScriptCore/JSLock.h> @@ -49,20 +49,20 @@ using namespace JSC; -UString WebScriptCallFrame::jsValueToString(JSC::ExecState* state, JSValue* jsvalue) +UString WebScriptCallFrame::jsValueToString(JSC::ExecState* state, JSValuePtr jsvalue) { if (!jsvalue) return "undefined"; - if (jsvalue->isString()) - return jsvalue->getString(); - else if (jsvalue->isNumber()) - return UString::from(jsvalue->getNumber()); - else if (jsvalue->isBoolean()) - return jsvalue->getBoolean() ? "True" : "False"; - else if (jsvalue->isObject()) { - jsvalue = jsvalue->getObject()->defaultValue(state, PreferString); - return jsvalue->getString(); + if (jsvalue.isString()) + return jsvalue.getString(); + else if (jsvalue.isNumber()) + return UString::from(jsvalue.uncheckedGetNumber()); + else if (jsvalue.isBoolean()) + return jsvalue.getBoolean() ? "True" : "False"; + else if (jsvalue.isObject()) { + jsvalue = jsvalue.getObject()->defaultValue(state, PreferString); + return jsvalue.getString(); } return "undefined"; @@ -182,7 +182,7 @@ HRESULT STDMETHODCALLTYPE WebScriptCallFrame::stringByEvaluatingJavaScriptFromSt JSLock lock(false); - JSValue* scriptExecutionResult = valueByEvaluatingJavaScriptFromString(script); + JSValuePtr scriptExecutionResult = valueByEvaluatingJavaScriptFromString(script); *result = WebCore::BString(jsValueToString(m_state, scriptExecutionResult)).release(); return S_OK; @@ -221,7 +221,7 @@ HRESULT STDMETHODCALLTYPE WebScriptCallFrame::valueForVariable( Identifier identKey(m_state, reinterpret_cast<UChar*>(key), SysStringLen(key)); #if 0 - JSValue* jsvalue = noValue(); + JSValuePtr jsvalue = noValue(); ScopeChain scopeChain = m_state->scopeChain(); for (ScopeChainIterator it = scopeChain.begin(); it != scopeChain.end() && !jsvalue; ++it) jsvalue = (*it)->get(m_state, identKey); @@ -231,7 +231,7 @@ HRESULT STDMETHODCALLTYPE WebScriptCallFrame::valueForVariable( return S_OK; } -JSValue* WebScriptCallFrame::valueByEvaluatingJavaScriptFromString(BSTR script) +JSValuePtr WebScriptCallFrame::valueByEvaluatingJavaScriptFromString(BSTR script) { #if 0 ExecState* state = m_state; @@ -240,7 +240,7 @@ JSValue* WebScriptCallFrame::valueByEvaluatingJavaScriptFromString(BSTR script) // 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"); + JSValuePtr v = globObj->get(state, "eval"); if (v->isObject() && asObject(v)->implementsCall()) eval = asObject(v); else @@ -248,20 +248,20 @@ JSValue* WebScriptCallFrame::valueByEvaluatingJavaScriptFromString(BSTR script) state = globObj->globalExec(); } - JSValue* savedException = state->exception(); + JSValuePtr savedException = state->exception(); state->clearException(); UString code(reinterpret_cast<UChar*>(script), SysStringLen(script)); // evaluate - JSValue* scriptExecutionResult; + JSValuePtr scriptExecutionResult; if (eval) { ArgList args; args.append(jsString(state, 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(); + scriptExecutionResult = JSC::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) |
