Infinite calling load event when dynamically loading objects with position: absolute
Reported by
dean...@hotmail.com,
Apr 29 2018
|
|||||||||||
Issue descriptionUserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134 Steps to reproduce the problem: 1. Dynamically create an object in javascript 2. Attach to a parent div 3. Setup an event listener for the load event 4. In the load event set the properties of the object to display: absolute 5. The load event will then fire indefinitely What is the expected behavior? Only fire the load event once. What went wrong? Chrome repeatedly calls the load event Did this work before? N/A Does this work in other browsers? Yes Chrome version: 66.0.3359.139 Channel: n/a OS Version: 10.0 Flash Version: For details and a fiddle see: https://stackoverflow.com/questions/50019134/chrome-object-tags-load-multiple-times-when-setting-style-position-absolute
,
Apr 30 2018
,
Apr 30 2018
Able to reproduce the issue on Mac 10.13.3, Win-10 and Ubuntu 17.10 using chrome reported version #66.0.3359.139 and latest canary #68.0.3415.0. This is a non-regression issue as it is observed from M60 old builds. Hence, marking it as untriaged to get more inputs from dev team. Thanks...!!
,
May 2 2018
A few more details. If I run content_shell --run-layout-tests it is called twice. If I just run it without arguments, it is called in a loop.
The load is event is being triggered by adjusting the style of the element in the load-handler. One other point, the attached example uses 2 ways of adjusting the style but actually, either way works so
e.currentTarget.style.setProperty("position", "relative");
e.currentTarget.style.setProperty("position", "absolute");
and
e.currentTarget.style = "position: relative";
e.currentTarget.style = "position: absolute; left: 150px";
will also trigger it.
,
May 2 2018
,
May 8 2018
,
May 8 2018
,
Oct 10
joelhockey@, do you have any insights? According to #1 your change introduced this behavior.
,
Oct 10
Sorry, I don't any insights. It is hard to see how the change in https://codereview.chromium.org/2759063002 would relate to the behavior described here. That specific CL, and others I made at the time were a refactoring that were not intended to change anything.
,
Oct 10
The problem is not multiple (or infinite) loading events are dispatched but the plugin is loaded multiple (or infinite) times. You can observer it with devtools open.
,
Oct 10
,
Dec 8
The workaround we were using has been broken in the latest build of Chrome 71.0.3578.80. Previously we could avoid the second HTML object load event firing if we set the container object to display: block. However with the latest Chrome this workaround no longer works and the load event fires multiple times. See this stackoverflow for details Fiddle to show Chrome looping the load event is here: http://jsfiddle.net/7dy22xLt/37/ (working fine in other browsers). Is it possible to get a fix for this, its painful in our application to work around it. Thanks.
,
Dec 8
,
Dec 8
Redid the second bisect and AFAICT the suspect is still the same r458571 by joelhockey@ https://chromium.googlesource.com/chromium/src/+log/5e372bf6..d6cb1fe?pretty=fuller Maybe the refactor changed the order of invocation of something?
,
Dec 8
This is a real problem for us, we have a production system that we can't easily or quickly work around this bug (we load widgets on a page as HTML objects) and end users who have updated to latest Chrome complaining. Is it possible to expediate a fix for this on the chromium side?
,
Dec 11
|
|||||||||||
►
Sign in to add a comment |
|||||||||||
Comment 1 by woxxom@gmail.com
, Apr 29 2018