NaCl modules 'load' event firing in packaged apps terribly broken. |
||
Issue description58.0.3027.0, but it's broken on 56 and 57 too, and most likely it's been broken since 34 (See crbug.com/350445 ). The 'load' event is dispatched few minutes too late, or until the next relayout. Such relayout may never happen when loading in background page in NaCl module. We do that in two component extensions: Image Loader and ZIP unpacker. Note, that the load event works if the NaCl module is loaded in the global scope of the background page. However, loading the NaCl event in any event handler, such as onLaunched fails. This became visible now, as we try to defer loading a NaCl module, or unload and reload when needed in order to fix crbug.com/517741 . We do a workaround suggested by crbug.com/350445 few years ago and it somehow works, but this is terribly broken, and should get fixed. With the hack loading a module takes less than a second. Without the hack, takes minutes.
,
Mar 15 2017
,
Mar 15 2017
Ick. Is this why the TTS Engine extension for CrOS tries to dereference embed.lastError, to nudge the NaCl embed into being loaded..?
,
Mar 15 2017
Most likely. We do embed.offsetTop to force relayout and get the load event dispatched, but I guess embed.lastError works the same way.
,
Mar 19 2017
Looks like a dupe of issue 371059?
,
Mar 19 2017
Might this problem be the direct cause of the Zip Unpacker behavior described in #658465? It seems that that bug occurs when the Image Loader extension fails to load the image files contained inside the zip file, causing the Zip Unpacker extension to not be able to mount the file completely and falling into the "Operation taking longer than expected" loop. |
||
►
Sign in to add a comment |
||
Comment 1 by satorux@chromium.org
, Mar 15 2017Owner: bradnelson@chromium.org
Status: Assigned (was: Available)