+++ This bug was initially created as a clone of Bug #1322772 +++ When using Marionette to navigate to an add-on file (.xpi), the appropriate popup notifications are displayed, but a response is never sent to the client. Steps to replicate: > from selenium.webdriver import Firefox > from selenium.webdriver.firefox.options import Options > > o = Options() > o.binary = '/Applications/FirefoxNightly.app/Contents/MacOS/firefox-bin' > f = Firefox(firefox_options=o) > f.get('http://mozqa.com/data/firefox/addons/extensions/restartless.xpi') I've use the Selenium python client above, however I believe Henrik has also replicated this using the Marionette client.
Yes, you can see the same when using Marionette directly. I think that we have no chance to blacklist each and every mimetype for which a load event will not happen. We should find out which logic we use in Firefox and Fennec to actually determine if an event has to be sent.
I don’t exactly know what the expected behaviour here would be. Navigating to an .xpi file opens the doorhanger to install a new addon, and the content window navigates to about:blank, which is an HTMLDocument type, so I’m not sure why the current navigation algorithm isn’t working. We have special treatment of about:blank since it does not generate the same DOM load events that other normal documents do. I would expect the same overall problem to manifest also when navigating to any resource that triggers the download dialogue.
I added the capability to install addons with my patch for click+page load. A test also landed here: https://hg.mozilla.org/mozilla-central/diff/fb69df36fb08/testing/marionette/harness/marionette_harness/tests/unit/test_click.py#l1.104