1 /* 2 * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved. 3 */ 4 #include "config.h" 5 #include "JavaEnv.h" 6 #include <JavaScriptCore/JSRetainPtr.h> 7 #include <JavaScriptCore/JSStringRef.h> 8 #include <wtf/java/JavaRef.h> 9 10 #include "WorkQueueItem.h" 11 12 extern jstring JSStringRef_to_jstring(JSStringRef ref, JNIEnv* env); 13 extern JSStringRef jstring_to_JSStringRef(jstring str, JNIEnv* env); 14 15 bool LoadItem::invoke() const 16 { 17 JNIEnv* env = DumpRenderTree_GetJavaEnv(); 18 JLString jUrl(JSStringRef_to_jstring(m_url.get(), env)); 19 env->CallStaticObjectMethod(getDumpRenderTreeClass(), getLoadURLMID(), (jstring)jUrl); 20 CheckAndClearException(env); 21 22 return true; 23 } 24 25 bool ReloadItem::invoke() const 26 { 27 // FIXME: implement 28 return true; 29 } 30 31 bool ScriptItem::invoke() const 32 { 33 // FIXME: implement 34 return true; 35 } 36 37 bool BackForwardItem::invoke() const 38 { 39 JNIEnv* env = DumpRenderTree_GetJavaEnv(); 40 env->CallStaticObjectMethod(getDumpRenderTreeClass(), getGoBackForward(), m_howFar); 41 CheckAndClearException(env); 42 43 return true; 44 }