[Webkit-unassigned] [Bug 89692] Web Inspector: show worker started and finished on timeline

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Jul 12 10:01:25 PDT 2012


https://bugs.webkit.org/show_bug.cgi?id=89692





--- Comment #13 from Hanna <hanma at rim.com>  2012-07-12 10:01:20 PST ---
(From update of attachment 151496)
View in context: https://bugs.webkit.org/attachment.cgi?id=151496&action=review

>>>>> Source/WebCore/inspector/InspectorInstrumentation.cpp:1009
>>>>> +    if (InspectorTimelineAgent* timelineAgent = instrumentingAgents->inspectorTimelineAgent())
>>>> 
>>>> Why aren't you using didDestroyWorker? It belongs to the legacy workers inspection (fake workers), but should still work.
>>> 
>>> didDestroyWorker is not called on our platform
>> 
>> my bad, it might be called on the worker thread, but I tried didDestroyWorker it doesn't show up on the timeline of the mainthread (which is the purpose of this PR)
> 
> Hm. That would be a serios bug. We should never get here on the worker thread. Could you look into what is wrong here? This change is about reliably instrumenting creation and destruction of the worker on the main thread and you should not use workarounds if underlying code is behaving unexpectedly.

Sorry if it sounds confusing, I was making speculations because as of now the inspector I have only shows the timeline events on the mainthread (I was trying to say I do not know if diddestroyworker would show up on the inspector window for the worker which I do not have) and unfortunately diddestroyworker is never called either way, so I used didterminatecontext to approximate when the worker is destroyed since didterminatecontext is called after the workerthread (and everything relating to it) is de-allocated which should also be valid

>>>> Source/WebCore/inspector/InspectorInstrumentation.h:1267
>>>> +        didCreateWorkerImpl(instrumentingAgents, id, context->url().string(), isSharedWorker);
>>> 
>>> Why did this change? We don't make any calls from these inline public methods, all processing should be in impl.
>> 
>> turned out that the url passed in is different from context->url().string(), in order to match up with the worker terminated I changed it, but if this messes up other things (ie inspectorAgent->didCreateWorker(id, url, isSharedWorker);) I'll add a new method then pass in context->url().string()
> 
> What is the difference between the url and context's url?

the url being passed in is more specific, the context's url is cut half, ie less specific, but the first part of the urls are identical

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list