summaryrefslogtreecommitdiffstats
path: root/WebKit/win/WebScriptCallFrame.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebKit/win/WebScriptCallFrame.cpp')
-rw-r--r--WebKit/win/WebScriptCallFrame.cpp36
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)