Firefox extension conflicts with djangoCMS

Hi

I'm a developer of djangoCMS and a while ago we got this bug report https://github.com/divio/django-cms/issues/4376 but only recently we figured out that the culprit is the 1password extension.

I have found a workaround that works for me, but it's pretty hackish and I'd like to know what's going on under the hood. The patch that makes things work for us is https://github.com/divio/django-cms/pull/5312 but it feels a little bit too hacky at the moment, as I don't really understand what happens inside of the extension and if I can fix it in any different way.

Granted, we have a somewhat special case in the code there, but in essence what happens is this: a form is loaded inside of an iframe and it's buttons are hidden and cloned to the parent frame (bottom of the modal window where iframe is displayed). When user clicks on the button to submit a form in case everything is ok we manually trigger the native click handler on the element inside the frame to submit that form. Usually we have to trigger the click handler because there could be multiple submit buttons with different behaviours, but in case there is only one submit button that doesn't work in firefox with 1password installed. It works in Chrome though if that helps.

The question is - is that a bug in the extension or is that expected behaviour?


1Password Version: 6.2.1
Extension Version: 4.5.6
OS Version: OS X 10.11.4
Sync Type: Not Provided

Comments

  • jxpx777jxpx777 Code Wrangler

    Team Member

    Hi, @vxsx. Thanks so much for your post. I'm sorry for the trouble you're having. At a glance from the diffs I'm not able to see why 1Password would be causing the problem you're seeing. I'm definitely not saying it's not but I'm just saying nothing is jumping out at me immediately.

    We recently added some code to our autosave event handlers to not trigger autosave when the event is untrusted, and since you're using a version that has that code in place, I'm going to assume that that is not what is causing the problem, but we don't have any other event listeners that operate this generally, so I'm at a bit of a loss what could be happening… :(

    Except for platform-specific code for things like message passing and a couple very special situations, our extensions are all built from a common codebase, so it's a bit of a mystery how this could only show up in Firefox. Do you have a demo site where I could test this out and see what we might be doing differently in Firefox vs Chrome? I'd be happy to look at it a little closer and see what might be the issue.

    --
    Jamie Phelps
    Code Wrangler @ AgileBits

  • Hi @jxpx777

    The problem is repoducible on https://control.aldryn.com/demo/get-new/ (pick one on the left, go into edit mode (button in the top right), then go into "structure mode" (button on the top right) then try to click on the plugin menu and pick "delete")

    This is only a 15min demo though. I have another one, that won't go away in 15min, but cannot share credentials publicly.

  • jxpx777jxpx777 Code Wrangler

    Team Member

    @vxsx Thanks… Could you send me an email so we can investigate this further? Mention me in an email to [email protected] and include a link to this thread and we'll go from there.

This discussion has been closed.