Changes between Version 6 and Version 7 of Drosera


Ignore:
Timestamp:
Jul 9, 2012 11:34:56 PM (8 years ago)
Author:
toybabyyou@gmail.com
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Drosera

    v6 v7  
    6161When "pause" is selected from the toolbar command in the UI a message is received by the Drosera class which  passes the command onto the DebuggerClient which uses the DebuggerDocument to directly call pause in Drosera's own JavaScript.  Drosera's JavaScript set's a local variable and then tells the DebuggerDocument to pause by calling the appropriate callback method.  This method calls the platform dependent version of pause which tells the ServerConnection object to pause, who, in turn, uses a remote procedure call to tell webkit it wishes to pause it.  The WebScriptDebugServer sets an internal variable and then returns to normal execution.
    6262
    63 If JavaScript source is parsed, about to execute a statement or exiting a function, the JavaScriptCore debugger class will notify the WebScriptDebugger.  The WebScriptDebugger will update it's internal state (increasing or decreasing the stack depth if necessary) and then call the appropriate WebScriptDebugServer function to represent what occurred in the JavaScript.  The WebScriptDebugServer will notify any listeners it has of the even in JavaScript, which may or may not cause subsequent calls back into the WebScriptDebugServer from Drosera, or cause more JavaScript to be executed, but upon finishing the notification of listeners of the original JavaScript event the WebScriptDebugServer will check if it has been told to pause.  If it has, it will stay in a look that only listens for new instructions from the remote debugger.  Once Drosera tells the WebScriptDebugServer that it is no longer paused, WebKit's execution will continue as normal.
     63If JavaScript source is parsed, about to execute a statement or exiting a function, the JavaScriptCore debugger class will notify the WebScriptDebugger.  The WebScriptDebugger will update it's internal state (increasing or decreasing the stack depth [http://lewisseo.com/ free article directory] if necessary) and then call the appropriate WebScriptDebugServer function to represent what occurred in the JavaScript.  The WebScriptDebugServer will notify any listeners it has of the even in JavaScript, which may or may not cause subsequent calls back into the WebScriptDebugServer from Drosera, or cause more JavaScript to be executed, but upon finishing the notification of listeners of the original JavaScript event the WebScriptDebugServer will check if it has been told to pause.  If it has, it will stay in a look that only listens for new instructions from the remote debugger.  Once Drosera tells the WebScriptDebugServer that it is no longer paused, WebKit's execution will continue as normal.