This patch changes the behavior of the downloads.download API's saveAs option. Previously, the behavior when neither value is provided (the "default behavior") was not defined by our documentation or Chrome's. Now, the default behavior is changing to rely on the Firefox "Save As" pref (browser.download.useDownloadDir). If Firefox is configured to open the "Save As" dialog for all downloads (browser.download.useDownloadDir == false), that behavior will be the default for the downloads.download API. Otherwise, the default behavior will be not to show the dialog.
This patch also moves some test functionality out of test_chrome_ext_downloads_saveAs.html. Previously, that test would test the saveAs option and also the conflictAction:"uniquify" option. In order to add testing for the new default behavior, it was necessary to move the testing of the conflictAction:"uniquify" option to a new test: test_chrome_ext_downloads_uniquify.html
MozReview-Commit-ID: u6VA4kexlr
The manifest of an extension has two fields, permissions and optional_permissions,
which both take an array of strings consisting of permissions or origins.
The permissions API accepts the same values but within distinct origins and
permissions fields of an object.
This patch modifies the schema to reflect this difference.
MozReview-Commit-ID: 3V3YeWEIVnf
This adds a browserSetting.imageAnimationBehavior API which accepts one of three
values: "normal", "none", "once". Behind the scenes it sets the image.animation_mode
preference to the same value.
MozReview-Commit-ID: GLT6oJgpF3
This adds a browserSetting.imageAnimationBehavior API which accepts one of three
values: "normal", "none", "once". Behind the scenes it sets the image.animation_mode
preference to the same value.
MozReview-Commit-ID: GLT6oJgpF3
This introduces an implementation of the clipboard.setImageData API.
I did not find any complete documentation about how copying and
pasting images is supposed to work in Firefox, so I added many lines
of documentation based on experimenting and reading the source code.
The implementation is very similar to the Add-on SDK's implementation,
save for one difference: The third parameter to setTransferData is 0
instead of -1. Its significance is elaborated in ext-clipboard.js.
The newly added tests serve the following purposes:
- Verification that clipboard.setImageData is working as expected.
There is no way to test that pasting in an external application
really works, so we just check whether Firefox recognizes the
special image data by pasting in a contentEditable area.
- Test coverage for reading clipboard data via the "paste" event and
using event.clipboardData to access the pasted data, because this is
the only way to read non-text data in a WebExtension extension.
MozReview-Commit-ID: Ldrx7LCIta2
This introduces browser.browserSettings.homepageOverride and browser.browserSettings.newTabPageOverride
which will return the values of the overridden home page and the overridden new tab page.
These browserSettings are read-only.
MozReview-Commit-ID: A9vJP2QIaoA
This will modify the "dom.popup_allowed_events" preference to control whether events from
user actions are allowed to open pop-up windows or not. If set to `false` then pop-ups from
user actions will not be allowed and will result in a doorhanger being displayed informing
the user that a pop-up was blocked. If set to `true` then all of the default events
will be allowed to open pop-up windows.
MozReview-Commit-ID: 8UFziq23zug
This patch suggests deprecating proxy.registerProxyScript and replacing it with proxy.register since this API won't support registering anything other than proxy scripts. I normally would be hesitant to suggest making a name change after an API is released, but this API is one that is still in development, and for that reason I think changes like this should be somewhat expected until the API becomes more stable.
MozReview-Commit-ID: 9UeuUjQ6OU5