X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fthird_party%2FWebKit%2FSource%2Fbindings%2Fv8%2FScriptPreprocessor.cpp;h=5203828f9d3d6351bc2034157b63c2089512d806;hb=ff3e2503a20db9193d323c1d19c38c68004dec4a;hp=06868b121251a1fd9e5d87c009ff0ed43de215a4;hpb=7338fba38ba696536d1cc9d389afd716a6ab2fe6;p=platform%2Fframework%2Fweb%2Fcrosswalk.git diff --git a/src/third_party/WebKit/Source/bindings/v8/ScriptPreprocessor.cpp b/src/third_party/WebKit/Source/bindings/v8/ScriptPreprocessor.cpp index 06868b1..5203828 100644 --- a/src/third_party/WebKit/Source/bindings/v8/ScriptPreprocessor.cpp +++ b/src/third_party/WebKit/Source/bindings/v8/ScriptPreprocessor.cpp @@ -34,36 +34,40 @@ #include "bindings/v8/ScriptController.h" #include "bindings/v8/ScriptSourceCode.h" #include "bindings/v8/ScriptValue.h" +#include "bindings/v8/V8Binding.h" #include "bindings/v8/V8ScriptRunner.h" +#include "core/frame/Frame.h" +#include "core/frame/FrameHost.h" #include "core/frame/PageConsole.h" #include "wtf/TemporaryChange.h" namespace WebCore { -ScriptPreprocessor::ScriptPreprocessor(const ScriptSourceCode& preprocessorSourceCode, ScriptController& controller, PageConsole& console) - : m_isPreprocessing(false) +ScriptPreprocessor::ScriptPreprocessor(const ScriptSourceCode& preprocessorSourceCode, Frame* frame) + : m_isolate(V8PerIsolateData::mainThreadIsolate()) + , m_isPreprocessing(false) { + ASSERT(frame); v8::TryCatch tryCatch; tryCatch.SetVerbose(true); Vector sources; sources.append(preprocessorSourceCode); Vector scriptResults; - controller.executeScriptInIsolatedWorld(ScriptPreprocessorIsolatedWorldId, sources, DOMWrapperWorld::mainWorldExtensionGroup, &scriptResults); + frame->script().executeScriptInIsolatedWorld(ScriptPreprocessorIsolatedWorldId, sources, DOMWrapperWorld::mainWorldExtensionGroup, &scriptResults); if (scriptResults.size() != 1) { - console.addMessage(JSMessageSource, ErrorMessageLevel, "ScriptPreprocessor internal error, one ScriptSourceCode must give exactly one result."); + frame->host()->console().addMessage(JSMessageSource, ErrorMessageLevel, "ScriptPreprocessor internal error, one ScriptSourceCode must give exactly one result."); return; } ScriptValue preprocessorFunction = scriptResults[0]; if (!preprocessorFunction.isFunction()) { - console.addMessage(JSMessageSource, ErrorMessageLevel, "The preprocessor must compile to a function."); + frame->host()->console().addMessage(JSMessageSource, ErrorMessageLevel, "The preprocessor must compile to a function."); return; } m_world = DOMWrapperWorld::ensureIsolatedWorld(ScriptPreprocessorIsolatedWorldId, DOMWrapperWorld::mainWorldExtensionGroup); - v8::Local context = m_world->context(controller); - m_isolate = context->GetIsolate(); + v8::Local context = toV8Context(m_isolate, frame, m_world.get()); m_context.set(m_isolate, context); m_preprocessorFunction.set(m_isolate, v8::Handle::Cast(preprocessorFunction.v8Value()));