You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
One scenario that websites may encounter is having a Profiler active while the page begins to unload. If the website is listening to pagehide or beforeunload or unload, they may want to stop any active Profilers and send the data, but the Promise from Profiler.send() may not fire/resolve in time before the site is unloaded.
Would it be possible to support a synchronous version of Profiler.stop() in some way for this scenario? Where a site could indicate it really needs the data before the function returns?
Yes, this could have an effect on the user experience by delaying the unload/new navigation, and we're trying to get away from long-blocking sync calls (e.g. sync XHRs). But there are scenarios like abandoned navigations (that don't reach onload and just go to unload), where a profile could give insight into possible causes.
One scenario that websites may encounter is having a Profiler active while the page begins to unload. If the website is listening to
pagehide
orbeforeunload
orunload
, they may want to stop any active Profilers and send the data, but the Promise fromProfiler.send()
may not fire/resolve in time before the site is unloaded.Would it be possible to support a synchronous version of
Profiler.stop()
in some way for this scenario? Where a site could indicate it really needs the data before the function returns?Yes, this could have an effect on the user experience by delaying the unload/new navigation, and we're trying to get away from long-blocking sync calls (e.g. sync XHRs). But there are scenarios like abandoned navigations (that don't reach
onload
and just go tounload
), where a profile could give insight into possible causes.FWIW there is similar to feedback for the Compression Streams API: whatwg/compression#38 (comment)
The text was updated successfully, but these errors were encountered: