Confirmed users
293
edits
No edit summary |
(Oops, B wasn't finished yet) |
||
| Line 1: | Line 1: | ||
== Main aim == | == Main aim == | ||
Be able to determine the document an error came off from within chrome js/extension/etc. | Be able to determine the document an error came off from within chrome js/extension/etc. | ||
We'll use plan A unless we run out of time to do this on branch, in which case we have plan B for backup.. | |||
== Plan A == | == Plan A == | ||
| Line 10: | Line 12: | ||
== Plan B == | == Plan B == | ||
*In the debugger hook that Firebug has, the exception hook gets a JSContext, from there you can get the nsIScriptGlobalObject (, and from that you can get a nsIDOMWindowInternal, which has a frameElement from which you can derive a document etc. etc. ''Note: http://lxr.mozilla.org/seamonkey/source/content/base/src/nsContentUtils.cpp#1001'' | *In the debugger hook that Firebug has, the exception hook gets a JSContext, from there you can get the nsIScriptGlobalObject (, and from that you can get a nsIDOMWindowInternal, which has a frameElement from which you can derive a document etc. etc. ''Note: http://lxr.mozilla.org/seamonkey/source/content/base/src/nsContentUtils.cpp#1001'' | ||
*Save this info in the internals of the debugger. Note: this would still require binary components... | |||
*Assume that whatever exception comes in through the error console listener will be the last one you stored in the debugger code, meaning you now get a clue of where your error came from. | |||
== Discussion == | == Discussion == | ||