RESOLVED FIXED 40119
Web Inspector [JSC]: Instrument JS function calls from bindings for Timeline Panel.
https://bugs.webkit.org/show_bug.cgi?id=40119
Summary Web Inspector [JSC]: Instrument JS function calls from bindings for Timeline ...
Pavel Feldman
Reported 2010-06-03 06:40:33 PDT
timelineAgent->willCallFunction(resourceName, lineNumber); should be called each time some native event handler passes control to the JavaScript function.
Attachments
Patch (11.83 KB, patch)
2012-01-19 14:50 PST, Eli Fidler
no flags
Patch (11.89 KB, patch)
2012-01-20 15:17 PST, Eli Fidler
no flags
Timothy Hatcher
Comment 1 2010-06-03 06:41:34 PDT
This is something V8 has, that we should consider for JSC to match Chrome.
Eli Fidler
Comment 2 2012-01-19 14:50:42 PST
Pavel Feldman
Comment 3 2012-01-20 03:33:49 PST
Comment on attachment 123200 [details] Patch Web Inspector part looks good. Please have someone from the JSC team look at it (JSCallbackData changes and instrumentedCall source / line fetching).
Eli Fidler
Comment 4 2012-01-20 09:07:06 PST
CC ggaren and olliej for feedback
Geoffrey Garen
Comment 5 2012-01-20 11:40:48 PST
Comment on attachment 123200 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=123200&action=review > Source/WebCore/bindings/js/JSCallbackData.cpp:73 > + Page* page = static_cast<JSDOMWindow*>(globalObject())->impl()->frame()->page(); > + ASSERT(page); What guarantees that frame() and page() will not be NULL here? I think you need to NULL check both. > Source/WebCore/bindings/js/JSMainThreadExecState.h:63 > + String resourceName("undefined"); Creating the string "undefined" should be conditional -- otherwise, it's a malloc per function call. > Source/WebCore/bindings/js/JSMainThreadExecState.h:76 > + InspectorInstrumentation::didCallFunction(cookie); This code will call didCallFunction even if it didn't call willCallFunction. Is that right?
Eli Fidler
Comment 6 2012-01-20 15:17:52 PST
Eli Fidler
Comment 7 2012-01-20 15:18:43 PST
addressed ggaren's first two comments. The didCallFunction even if not willCallFunction paradigm is the same as the V8 implementation. It should work fine.
Geoffrey Garen
Comment 8 2012-01-26 11:25:13 PST
Comment on attachment 123392 [details] Patch r=me
WebKit Review Bot
Comment 9 2012-01-26 12:39:23 PST
Comment on attachment 123392 [details] Patch Clearing flags on attachment: 123392 Committed r106030: <http://trac.webkit.org/changeset/106030>
WebKit Review Bot
Comment 10 2012-01-26 12:39:28 PST
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.