Closed
Bug 544454
Opened 15 years ago
Closed 15 years ago
IDM download panel affected by a11y API changes
Categories
(Firefox :: Extension Compatibility, defect)
Tracking
()
RESOLVED
WORKSFORME
People
(Reporter: mucinch, Unassigned)
Details
(Keywords: regression)
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.3a1pre) Gecko/20100204 Firefox/3.7a1pre
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.3a1pre) Gecko/20100204 Firefox/3.7a1pre
Bug 542702 - Remove unused variable childLength in nsXFormsAccessible::CacheSelectChildren (Changeset b8635ef804f7) breaks IDM Download Panel. It also interferes with flash video catching.
Reproducible: Always
Steps to Reproduce:
1.Click on any youtube or other flash video
2.
3.
Actual Results:
there is no download panel on the top right of the page
Comment 1•15 years ago
|
||
Yes, this is a problem with IDM. Not only doesn't the download panel appear, but it also starts downloading videos from all over a web page automatically. Really unusable for video sites.
Comment 2•15 years ago
|
||
(In reply to comment #0)
> User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
> rv:1.9.3a1pre) Gecko/20100204 Firefox/3.7a1pre
> Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
> rv:1.9.3a1pre) Gecko/20100204 Firefox/3.7a1pre
>
> Bug 542702 - Remove unused variable childLength in
> nsXFormsAccessible::CacheSelectChildren (Changeset b8635ef804f7) breaks IDM
> Download Panel. It also interferes with flash video catching.
I haven't had a chance to look into this yet, but can you tell me how removing the unused variable is causing this problem?
(In reply to comment #2)
> (In reply to comment #0)
> > User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
> > rv:1.9.3a1pre) Gecko/20100204 Firefox/3.7a1pre
> > Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
> > rv:1.9.3a1pre) Gecko/20100204 Firefox/3.7a1pre
> >
> > Bug 542702 - Remove unused variable childLength in
> > nsXFormsAccessible::CacheSelectChildren (Changeset b8635ef804f7) breaks IDM
> > Download Panel. It also interferes with flash video catching.
>
> I haven't had a chance to look into this yet, but can you tell me how removing
> the unused variable is causing this problem?
I am sorry, I cant help you technically. On testing with the hourlies, the build with the changeset b8635ef804f7 and those subsequent to it, started causing problems with IDM Download panels and video catching (videos started downloading automatically overriding User's input). Maybe I am mistaken, if so sorry for the trouble.
Comment 4•15 years ago
|
||
No worries. If someone else has time to confirm the regression window precisely that would help a lot...
Comment 5•15 years ago
|
||
Hey David, here is the best I could do.
IDM works fine with this build: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.3a1pre) Gecko/20100201 Firefox/3.6 ID:20100201043011
Doesn't work with this one: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.3a1pre) Gecko/20100202 Firefox/3.6 ID:20100202053418
So the problem happened between the nightly builds of 02/01 and 02/02. Don't know how to find the hourlies if that's even possible.
(In reply to comment #5)
> Hey David, here is the best I could do.
>
> IDM works fine with this build: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
> rv:1.9.3a1pre) Gecko/20100201 Firefox/3.6 ID:20100201043011
>
> Doesn't work with this one: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
> rv:1.9.3a1pre) Gecko/20100202 Firefox/3.6 ID:20100202053418
>
> So the problem happened between the nightly builds of 02/01 and 02/02. Don't
> know how to find the hourlies if that's even possible.
http://hourly-archive.localgho.st/hourly-archive2/ Use this link to test the hourlies.
Comment 7•15 years ago
|
||
(In reply to comment #5)
> Hey David, here is the best I could do.
Thanks! Testing the hourly would help too. Also, once you find a range you can do about:buildconfig in the awesomebar and report the Build id changeset (the link). You could do this with the dailies as well if you have time. Much appreciated.
Comment 8•15 years ago
|
||
OK David, I found it.
This hourly build works:
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.3a1pre) Gecko/20100201 Firefox/3.6 ID:20100201174142
changeset: 37806:5c6c40887584
This next hourly build does not:
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.3a1pre) Gecko/20100201 Firefox/3.6 ID:20100201204228
changeset - 37809:b8635ef804f7
Thanks guys for the info on the hourlies and the tip about changeset.
Comment 9•15 years ago
|
||
Great, thanks. So here is the pushlog:
http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=5c6c40887584&tochange=b8635ef804f7
b8635ef804f7 David Bolter — Bug 542702 - Remove unused variable childLength in nsXFormsAccessible::CacheSelectChildren. r=surkov
fb6bebbcf7f3 David Bolter — Bug 542221 - DeCOMtaminate some usage of nsAccessibilityService. r=surkov
70da16e4c483 David Bolter — Bug 543033 - Remove unused getAccessibleInWindow (in nsIAccessibleRetrieval). r=surkov
I wonder if IDM uses getAccessibleInWindow?
Comment 10•15 years ago
|
||
What is IDM? Is it http://www.internetdownloadmanager.com/?
(In reply to comment #9)
> I wonder if IDM uses getAccessibleInWindow?
Good guess. We could get back this method. But I wonder why do they need a11y. Could we get them in contact?
Comment 11•15 years ago
|
||
Yes, Alexander, that is the correct program in question. Been using it for a long time and it is great.
Comment 12•15 years ago
|
||
David, could you get back this method and put try server build? I think if it's cause of a problem then we should expose the method and try to contact with IDM. It looks like the case when a11y provides very-very handy stuffs and extension authors use them instead a trying to find out non-a11y way.
Comment 13•15 years ago
|
||
Ok, IDM has Firefox extension and XPCOM component ("@idm/mozilla_cc"). An extension doesn't contain any a11y calls but they could be inside of XPCOM component. Since it's C++ component then they can use nsIAccessibilityService.
Comment 14•15 years ago
|
||
(In reply to comment #12)
> I think if it's
> cause of a problem then we should expose the method and try to contact with
> IDM.
Any way since nsIAccessiblilityService is changed actively last time then they need to rebuild their component for new Firefox version which might mean they don't use GetAccessibleInWindow actually.
Updated•15 years ago
|
Keywords: regression
Summary: Fix for Bug 542702 breaks IDM download panel → IDM download panel affected by a11y API changes
Comment 15•15 years ago
|
||
I reached out via there contact form.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Comment 16•15 years ago
|
||
Thank you for reporting this problem, David. IDM's "download panel" uses several alternative methods to find screen coordinates where to draw "download this video/audio" button. We will try to add a fix for this version of Firefox later today.
Kind regards
Charles Jones
Software engineer
Tonec Inc.
641 Lexington Avenue, 15th fl.
New York, NY, 10022
Comment 17•15 years ago
|
||
Charles, thank you for looking at this.
Could you think of a way to not use accessibility? Accessibility is developed for screen readers and other AT. It's heavy module and sighted Firefox users might get unnecessary performance problems when you use it. I believe you should be able to get the same information without accessibility. For example, you might find useful GetClientRects() method (http://mxr.mozilla.org/mozilla-central/source/dom/interfaces/core/nsIDOMNSElement.idl#69) to get DOM element coordinates.
| Reporter | ||
Comment 18•15 years ago
|
||
The problem is fixed with the latest version of IDM CC (6.9.3). Thanks guys for the speedy resolution of the problem.
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
Comment 19•15 years ago
|
||
It's not fixed until the fix is on our side.
| Reporter | ||
Comment 20•15 years ago
|
||
(In reply to comment #19)
> It's not fixed until the fix is on our side.
So, should I change the status back to NEW?
Comment 21•15 years ago
|
||
If you don't know where the problem was and you can't reproduce the problem any more then worskforme. If it wasn't our bug then invalid.
| Reporter | ||
Comment 22•15 years ago
|
||
Ok, I am changing the status to WORKSFORME.
Resolution: FIXED → WORKSFORME
Comment 23•15 years ago
|
||
Hi, we use nsIDOMNSElement in a primary method, but some interfaces it uses have been changed as well. If the primary method fails, we use "accessibility". Once you change several interface IIDs again, and both methods fail to get coordinates, the button may stop working, and we will need to check/add new IIDs to get it work. Now you don't need to do anything on your side, the problem has been fixed in IDM CC 6.9.3. We have renewed the extension with new interfaces and placed it to sand box. Please assist to update the version on addons.mozilla.org if you can.
kind regards,
Charles Jones
Tonec Inc.
Comment 24•15 years ago
|
||
If accessibility methods usage is a protection from nsIDOMNSElement changed uid then it doesn't make a lot of sense. You should check if DOM interfaces were changed if you want to support the users of nightly build Firefox (interfaces are changed for stable releases very rare). If nsIDOMNSElement doesn't work for you well then you should request needed features.
Comment 25•15 years ago
|
||
I agree with Alexander; while your fallback is clever, given the intended use of the a11y service the performance and other issues it can create, we strongly encourage you remove it.
Charles, thanks for helping us resolve this issue so quickly after I had contacted you. I should note I didn't report this issue, and thanks go to mucinch for that.
Comment 26•15 years ago
|
||
We try to use "accessibility" only if DOM interfaces have been changed. We also use "accessibility" via interfaces (nsIAccessibleRetrieval in particular), and we check results on every step, and check interface pointers. Thus it will be no crashes or performance issues. When uid is changed the component doesn't get a pointer to the interface and nothing is done afterwards, just some functionality of the extension gets lost, but it doesn't influence the Firefox. If you changed DOM interfaces uids rarely, we would not need to add new uids to the extension frequently.
Comment 27•15 years ago
|
||
(In reply to comment #26)
> We try to use "accessibility" only if DOM interfaces have been changed. We also
> use "accessibility" via interfaces (nsIAccessibleRetrieval in particular), and
> we check results on every step, and check interface pointers. Thus it will be
> no crashes or performance issues.
Firefox users will get performance problems once you enabled accessibility (when you obtained nsIAccessibleRetrieval service). It's very powerful module and therefore it's very heavy. It is unloaded until someone starts it. When you used it then we create accessible tree, fire events and do lot of things. And it doesn't matter if you do not call accessibility methods any more.
Please do not use accessibility as a protection of changed DOM interfaces uid.
Comment 28•15 years ago
|
||
(In reply to comment #27)
> (In reply to comment #26)
> Firefox users will get performance problems once you enabled accessibility
To expand on this point: the performance problems will come from our accessibility engine assuming all information throughout firefox, and the content it renders, needs to be delivered via accessibility. For example we will cache and update accessible objects based on DOM events.
You need to log in
before you can comment on or make changes to this bug.
Description
•