Clicking on event badge doesn't do anything on some pages using jQuery
Categories
(DevTools :: Inspector, defect)
Tracking
(firefox-esr115 unaffected, firefox-esr128 fixed, firefox130 wontfix, firefox131 fixed, firefox132 fixed)
Tracking | Status | |
---|---|---|
firefox-esr115 | --- | unaffected |
firefox-esr128 | --- | fixed |
firefox130 | --- | wontfix |
firefox131 | --- | fixed |
firefox132 | --- | fixed |
People
(Reporter: glottal.stop, Assigned: nchevobbe)
References
(Regression)
Details
(Keywords: regression)
Attachments
(6 files)
14.58 KB,
image/png
|
Details | |
8.91 KB,
image/png
|
Details | |
36.30 KB,
application/octet-stream
|
Details | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
phab-bot
:
approval-mozilla-esr128+
|
Details | Review |
48 bytes,
text/x-phabricator-request
|
phab-bot
:
approval-mozilla-beta+
|
Details | Review |
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:130.0) Gecko/20100101 Firefox/130.0
Steps to reproduce:
I work on a website with a lot of javascript.
I frequently use the Developer Tools to locate am html elements javascript source.
I do this by clicking on the "event" bubble/button.
Actual results:
Clicking on the "event" bubble beside an element no longer displays the event listener javascript.
Expected results:
The javascript source should display, with a line number and preview.
** I suspect there is an issue with one or more of the javascript files on the website.
However I have no idea how to track down what that issue might be.
Event at the top of the same page works, it previews a couple of the javascript files.
Another event on the page, has javascript from a different js file, clicking on the this event does nothing.
Updated•5 months ago
|
You can see this happening here for the form event in the image.
Assignee | ||
Comment 4•5 months ago
|
||
Andrew, could you open the Browser Console (https://firefox-source-docs.mozilla.org/devtools-user/browser_console/index.html), click on the event badge and copy any error message you see there please?
Also, could you share the link to the website you're seeing this on, or is it private?
Assignee | ||
Updated•5 months ago
|
The only error is the following, because of an old version of jQuery.
But this error has been there for years.
The Components object is deprecated. It will soon be removed. ............. jquery1.4.4.allb.js:965:227
The website is private, but I did find a way for you to see this happening. Details are in the last image I uploaded.
As far as I'm aware the JavaScript on the site is running perfectly.
The only issue I have is when developing I've lost the ability to drill onto an element and quickly locate the listener source code.
Assignee | ||
Comment 7•5 months ago
|
||
(In reply to Andrew from comment #6)
As far as I'm aware the JavaScript on the site is running perfectly.
The only issue I have is when developing I've lost the ability to drill onto an element and quickly locate the listener source code.
Ah yes, thank you, I'm able to reproduce the issue. I'm doing some bisect to find the regression, and I'll work on a patch to fix this
Assignee | ||
Updated•5 months ago
|
Assignee | ||
Updated•5 months ago
|
Assignee | ||
Comment 8•5 months ago
|
||
for..in will loop through the prototype chain, which we don't want.
But it also look like those might already be arrays in some cases,
so we can iterate other them directly, and only creating arrays
for iterating when we need to.
No tests added because I'm not sure how the jQuery code should be
written to trigger the issue.
Updated•5 months ago
|
Comment 9•5 months ago
|
||
Set release status flags based on info from the regressing bug 1555498
Comment 10•5 months ago
|
||
Comment 11•5 months ago
|
||
bugherder |
Assignee | ||
Comment 12•5 months ago
|
||
for..in will loop through the prototype chain, which might get us into trouble
when the Array prototype is extended (e.g. with Moo.js).
Since the jquery events object we get might already be an arrays in some cases,
we can iterate other them directly, and only creating arrays when those are objects.
Original Revision: https://phabricator.services.mozilla.com/D221118
Updated•5 months ago
|
Comment 13•5 months ago
|
||
esr128 Uplift Approval Request
- User impact if declined: event panel in inspector does not work
- Code covered by automated testing: yes
- Fix verified in Nightly: no
- Needs manual QE test: no
- Steps to reproduce for manual QE testing: -
- Risk associated with taking this patch: low
- Explanation of risk level: devtools only, reverting to previous version of the code, covered by tests
- String changes made/needed: -
- Is Android affected?: no
Assignee | ||
Comment 14•5 months ago
|
||
for..in will loop through the prototype chain, which might get us into trouble
when the Array prototype is extended (e.g. with Moo.js).
Since the jquery events object we get might already be an arrays in some cases,
we can iterate other them directly, and only creating arrays when those are objects.
Original Revision: https://phabricator.services.mozilla.com/D221118
Updated•5 months ago
|
Comment 15•5 months ago
|
||
beta Uplift Approval Request
- User impact if declined: event panel in inspector does not work
- Code covered by automated testing: yes
- Fix verified in Nightly: no
- Needs manual QE test: no
- Steps to reproduce for manual QE testing: -
- Risk associated with taking this patch: low
- Explanation of risk level: devtools only, reverting to previous version of the code, covered by tests
- String changes made/needed: -
- Is Android affected?: no
Updated•5 months ago
|
Updated•5 months ago
|
Updated•5 months ago
|
Comment 16•5 months ago
|
||
uplift |
Reporter | ||
Comment 17•5 months ago
|
||
Comment on attachment 9422752 [details]
example of this happening
removed post bug fix.
Updated•5 months ago
|
Updated•5 months ago
|
Comment 18•5 months ago
|
||
uplift |
Description
•