Closed Bug 1068406 Opened 12 years ago Closed 8 years ago

"Thumbnail Zoom Plus" add-on does not work with e10s

Categories

(Firefox :: Extension Compatibility, defect)

35 Branch
x86_64
Windows 7
defect
Not set
normal

Tracking

()

RESOLVED INCOMPLETE
Tracking Status
e10s + ---

People

(Reporter: anvaliar, Unassigned)

References

()

Details

(Keywords: addon-compat)

Attachments

(1 file)

No description provided.
Keywords: addon-compat
hi David, your Thumbnail Zoom Plus add-on seems to be broken with multiprocess Firefox (e10s). If you have any questions about e10s support, just drop by the #e10s IRC channel on irc.mozilla.org. MDN also has a good introduction: https://developer.mozilla.org/en-US/Add-ons/Working_with_multiprocess_Firefox
Attached file Error log —
Hello, thanks creating the issue; I was recently made aware of the problem. I'm still learning about e10s, but it looks like it could be a lot of work to fully convert ThumbnailZoomPlus. Is there an ETA on when e10s might be enabled by default? I'm also concerned about how hard it'll be for my same code base to work on both older and newer versions of Firefox; currently I support as old as ff 3.x.
By the way, the attached error log seems to be from the wrong add-on. I am able to reproduce the problem (though with different log contents).
Tracking issue in Thumbnail Zoom Plus' bug tracker: https://github.com/dadler/thumbnail-zoom/issues/160
(In reply to David Adler from comment #3) > Is there an ETA on when e10s might be enabled by default? e10s might be enabled by default in Firefox 36 or 37, which will migrate from the Nightly/Aurora/Beta channels to all Firefox users in 2015 Q1. > I'm also concerned about how hard it'll be for my same code base to work on > both older and newer versions of Firefox; currently I support as old as ff > 3.x. Supporting Firefox 3.x will be challenging. <:) Add-ons will use Firefox's Message Manager to send messages between the browser parent process and the sandboxed content process. The Message Manager, available in some form since Firefox 4, works in both multi-process e10s and single-process non-e10s modes, so you can support both modes with the same message code. But the Message Manager API changed in Firefox 17, so you might need to add separate code to handle the different APIs. Ally (CC'd on this bug or in the #e10s IRC channel) may be able to provide a workaround in Firefox itself to improve e10s compatibility with Thumbnail Zoom Plus. If you have questions, check with her.
Status: UNCONFIRMED → NEW
Ever confirmed: true
I've managed to get at least the basics of Thumbnail Zoom Plus to work with e10s by disabling a couple calls which the shims apparently don't support. Then the add-on works, though there are a lot of "unsafe CPOW usage" warnings. I had to disable these: 1: let pageZoom = gBrowser.selectedBrowser.markupDocumentViewer.fullZoom; 2: let displayType = window.getComputedStyle(element,null).getPropertyValue("display"); For #1, there doesn't seem to be a shim to get markupDocumentViewer. Is there another way for chrome code to get it or fullZoom? I'm a little fuzzy but it seems like markupDocumentViewer would itself be in chrome, and might not need CPOW, though accessing it through gBrowser.selectedBrowser would. Basically I'm trying to get the equivalent of the View > Zoom level so I know how much the image is already magnified. For #2, if I try to access window.getComputedStyle(element,null), the code which calls it seems to not run or to get terminated. The weird thing is that I don't see anything for it in the Web Console output There is also no error message for the invalid call, which makes it very difficult to debug these problems. And even prints to console before the bad call don't appear -- as though prints were being queued up for the console, but then were discarded due to the bad call.
Comment 7 is based on testing in Nightly 40.0a1 (2015-04-13)
I found a solution for the fullZoom problem (#1 of comment 6). It seems to work if I change let pageZoom = gBrowser.selectedBrowser.markupDocumentViewer.fullZoom; to let pageZoom = gBrowser.selectedBrowser.docShell.contentViewer.fullZoom It was hard to find this solution because the MDN documents for nsIMarkupDocumentViewer and nsIContentViewer are out-of-date. They weren't updated when markupDocumentViewer's methods were moved to contentViewer; for example nsIContentViewer doesn't mention that "fullZoom" is an available property. This is related to Bug 1036694 - merge nsIMarkupDocumentViewer into nsIContentViewer.
Thanks for working on this. From my testing, this is working, it just spits oh oh so many errors out. Can you look into the cause?
Flags: needinfo?(firefox.add.on)
So, is TZP fully working with the latest Nightly or not? Because https://www.arewee10syet.com/ says "Broken" or "bug reported". And BTW: what does "shimmed" mean?
Yes, I believe it is working, though maybe a little slower than before e10s. It uses Compatibility Shims (https://developer.mozilla.org/en-US/Firefox/Multiprocess_Firefox/Limitations_of_chrome_scripts#Compatibility_shims), which allow older-style coding to work but with some speed penalty. There are also "Unsafe CPOW usage" warnings in the console, which are described here: https://developer.mozilla.org/en-US/Firefox/Multiprocess_Firefox/Cross_Process_Object_Wrappers#Safe_and_unsafe_CPOWs I will probably not change TZP to avoid synchronous calls and the shims. It's just not worth the effort since as an XUL add-on, TZP will be obsoleted by other planned Firefox changes in 2017 (the transition to Web Extensions https://wiki.mozilla.org/Add-ons/developer/communication#4.29_Has_XUL_or_XPCOM_add-on).
WFM e10s enabled & disabled Version 51.0a2 Build ID 20161005004013 User Agent Mozilla/5.0 (X11; Linux i686; rv:51.0) Gecko/20100101 Firefox/51.0
QA Update: Does not work when Shim pref is set to false Version 51.0a2 Build ID 20161018004015 User Agent Mozilla/5.0 (Windows NT 5.1; rv:51.0) Gecko/20100101 Firefox/51.0 E10s Enabled & interposition value is false, the thumbnail preview fails to display Access amazon.com Ensure e10s is enabled and interposition is false Observe: thumbnail preview fails to display/enlarge Set interposition value to true and e10s remains true Observe: works as reported in comment 13. Disable e10 and shim Observe: all is well.
With Firefox 57 only WebExtensions are permitted and are, by default, e10s compatible.
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → INCOMPLETE

I think this bug can be closed since Thumbnail Zoom Plus is no longer available for Firefox and since it's been years without issue activity.

Flags: needinfo?(firefox.add.on)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: