|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.opera.core.systems.scope.AbstractService
com.opera.core.systems.scope.AbstractEcmascriptService
com.opera.core.systems.scope.services.ums.EcmascriptService
public class EcmascriptService
EcmascriptService is a lightweight service to enable JavaScript injection. Unlike EcmaScriptDebugger it does not disable JIT.
| Field Summary |
|---|
| Fields inherited from class com.opera.core.systems.scope.AbstractEcmascriptService |
|---|
activeWindowId, currentFramePath, driver, retries, root, sleepDuration, windowManager |
| Fields inherited from class com.opera.core.systems.scope.AbstractService |
|---|
services |
| Constructor Summary | |
|---|---|
EcmascriptService(ScopeServices services,
String version)
|
|
| Method Summary | |
|---|---|
void |
addRuntime(EsdbgProtos.RuntimeInfo info)
Adds a runtime to the list of runtimes maintained in the service (STP/1 only) |
String |
callFunctionOnObject(String using,
int objectId)
The script to be executed on/using an object |
Object |
callFunctionOnObject(String using,
int objectId,
boolean responseExpected)
|
void |
changeRuntime(int index)
Changes the frame by index |
void |
changeRuntime(String frameName)
Changes the frame by frame name address nested frames by dot (first.second) |
void |
cleanUpRuntimes(int windowId)
Cleanup possible dead/suspended runtimes on runtime-started or window-closed |
protected void |
createAllRuntimes()
Gets a list of runtimes and keeps the list, create runtimes for all pages so even if the pages don't have script we can still inject to a 'fake' runtime. |
List<Integer> |
examineObjects(Integer id)
|
Object |
examineScriptResult(Integer id)
|
String |
executeJavascript(String using,
Integer windowId)
|
Object |
executeScript(String using,
boolean responseExpected)
Executes a script and returns the response (based on responseExpected) |
Integer |
executeScriptOnObject(String using,
int objectId)
|
protected EcmascriptProtos.Runtime |
findRuntime()
Find the runtime for injection (default). |
protected EcmascriptProtos.Runtime |
findRuntime(int windowId)
|
Integer |
getObject(String using)
Gets the object id using a script |
int |
getRuntimeId()
|
void |
init()
Initialize the debugger, set the configuration to NOT stop on error, exception, script or abort Create all runtimes and find a suitable runtime for injection (Currently has a workaround or 'return 1;' for GOGI dialog at opera:debug) |
List<String> |
listFramePaths()
Lists the frame paths of available runtimes |
void |
readyStateChanged(EcmascriptProtos.ReadyStateChange change)
Triggered on the ecmascript service when the state of a runtime changes |
void |
releaseObject(int objectId)
Releases a specific object |
void |
releaseObjects()
Makes objects available to gc, this doesn't free the objects immediately |
void |
removeRuntime(int runtimeId)
Removes a runtime from the list, doesnt get called often due to runtime-stopped being sent late (runtimes get suspended) |
void |
resetFramePath()
|
void |
resetRuntimesList()
Resets the list of runtimes and fetches a fresh list from Opera, this can be used to recover in cases where runtimes go out of sync |
Object |
scriptExecutor(String script,
Object... params)
Executes the given javascript via eval call |
void |
setRuntime(EcmascriptProtos.Runtime runtime)
|
void |
setRuntime(EsdbgProtos.RuntimeInfo runtime)
Sets the runtime to be used in injection required for event handler (STP/1 only) |
boolean |
updateRuntime()
Finds a valid runtime and updates the runtime reference (active runtime) |
| Methods inherited from class com.opera.core.systems.scope.AbstractEcmascriptService |
|---|
buildEvalString, cleanUpRuntimes, executeJavascript, executeJavascript, isNumber, parseNumber, processArgument, recover, resetCounters, setDriver |
| Methods inherited from class com.opera.core.systems.scope.AbstractService |
|---|
buildPayload, executeCommand, executeCommand, getVersion, isVersionInRange, sleep, xpathIterator, xpathPointer, xpathQuery |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface com.opera.core.systems.scope.services.IEcmaScriptDebugger |
|---|
cleanUpRuntimes, executeJavascript, executeJavascript, setDriver |
| Constructor Detail |
|---|
public EcmascriptService(ScopeServices services,
String version)
| Method Detail |
|---|
public int getRuntimeId()
getRuntimeId in interface IEcmaScriptDebuggerpublic void setRuntime(EcmascriptProtos.Runtime runtime)
public void setRuntime(EsdbgProtos.RuntimeInfo runtime)
IEcmaScriptDebugger
setRuntime in interface IEcmaScriptDebuggerpublic void addRuntime(EsdbgProtos.RuntimeInfo info)
IEcmaScriptDebugger
addRuntime in interface IEcmaScriptDebuggerpublic void removeRuntime(int runtimeId)
IEcmaScriptDebugger
removeRuntime in interface IEcmaScriptDebuggerpublic void init()
IEcmaScriptDebugger
init in interface IEcmaScriptDebuggerpublic boolean updateRuntime()
IEcmaScriptDebugger
updateRuntime in interface IEcmaScriptDebuggerprotected void createAllRuntimes()
public Object scriptExecutor(String script,
Object... params)
IEcmaScriptDebugger
scriptExecutor in interface IEcmaScriptDebuggerscript - The script to be executed on hostparams - Array of params, can be string, long or web element(s)
public Object executeScript(String using,
boolean responseExpected)
IEcmaScriptDebugger
executeScript in interface IEcmaScriptDebuggerusing - The script to be injectedresponseExpected - The flag to enable/disable parsing response
null otherwisepublic Integer getObject(String using)
IEcmaScriptDebugger
getObject in interface IEcmaScriptDebuggerusing - the script to find the object
public String callFunctionOnObject(String using,
int objectId)
IEcmaScriptDebugger
callFunctionOnObject in interface IEcmaScriptDebuggerusing - Script with reference to the object "locator"objectId - The object to be used for injection
public Object callFunctionOnObject(String using,
int objectId,
boolean responseExpected)
callFunctionOnObject in interface IEcmaScriptDebugger
public Integer executeScriptOnObject(String using,
int objectId)
executeScriptOnObject in interface IEcmaScriptDebuggerprotected EcmascriptProtos.Runtime findRuntime()
protected EcmascriptProtos.Runtime findRuntime(int windowId)
public void changeRuntime(int index)
IEcmaScriptDebugger
changeRuntime in interface IEcmaScriptDebuggerpublic void changeRuntime(String frameName)
IEcmaScriptDebugger
changeRuntime in interface IEcmaScriptDebuggerpublic void cleanUpRuntimes(int windowId)
IEcmaScriptDebugger
cleanUpRuntimes in interface IEcmaScriptDebuggerpublic List<Integer> examineObjects(Integer id)
examineObjects in interface IEcmaScriptDebuggerpublic List<String> listFramePaths()
IEcmaScriptDebugger
listFramePaths in interface IEcmaScriptDebuggerList of String framepathspublic void releaseObjects()
IEcmaScriptDebugger
releaseObjects in interface IEcmaScriptDebuggerpublic void resetRuntimesList()
IEcmaScriptDebugger
resetRuntimesList in interface IEcmaScriptDebuggerpublic void readyStateChanged(EcmascriptProtos.ReadyStateChange change)
IEcmaScriptDebugger
readyStateChanged in interface IEcmaScriptDebuggerchange - EcmascriptProtos.ReadyStateChange object with runtime infopublic void releaseObject(int objectId)
IEcmaScriptDebugger
releaseObject in interface IEcmaScriptDebuggerobjectId - Id of the object to be releasedpublic void resetFramePath()
resetFramePath in interface IEcmaScriptDebugger
public String executeJavascript(String using,
Integer windowId)
executeJavascript in interface IEcmaScriptDebuggerpublic Object examineScriptResult(Integer id)
examineScriptResult in interface IEcmaScriptDebugger
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||