Aside from moving this logic closer to the place the input data is generated,
this significantly reduces the number of cross-compartment wrappers involved
in creating those messages, especially with JSM global sharing enabled.
MozReview-Commit-ID: 6IvetcHnMfC
--HG--
extra : rebase_source : 0f97464ee9840ac40a6882e70e99d5b6c566c5ef
Also extend activeAddons records with a started flag to avoid
double-starting extensions that are upgraded during the startup check.
MozReview-Commit-ID: FPX71Q3lSrw
--HG--
extra : rebase_source : 06b9be6748d09ddee310882c342e6b12cfedf91b
extra : source : 3977730d0f477e54631db184bcb24b13f83e328b
Also extend activeAddons records with a started flag to avoid
double-starting extensions that are upgraded during the startup check.
MozReview-Commit-ID: FPX71Q3lSrw
--HG--
extra : rebase_source : a168cb6bb2343bc5a329a604d3b36e13c714452f
extra : source : 3977730d0f477e54631db184bcb24b13f83e328b
Switch from static multi-dimensional arrays to dynamic one-dimensional arrays
that are only allocated in the parent process.
MozReview-Commit-ID: tyGEFhU2Fq
--HG--
extra : rebase_source : 0922e31c3234b59270ef9af7823439956377a984
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
--HG--
extra : rebase_source : 2ff27f7667556f0294959b1130df17c839734dbd
Switch from static multi-dimensional arrays to dynamic one-dimensional arrays
that are only allocated in the parent process.
MozReview-Commit-ID: tyGEFhU2Fq
--HG--
extra : rebase_source : 9dd049af971a8333e50d70f99b28df9986185d74
This shows how the coordinates were actually calculated. and will make it easier should the video size needs to ever be changed again.
MozReview-Commit-ID: KkQNqz00Aw0
--HG--
extra : rebase_source : fb1074a28f2045c3889acc43fbe9c01dadc34a70
We now check that the canvas is properly scaled by checking if the color immediately on the right of the canvas is correct.
If the rendering failed, we do not bother testing the H264 video decoder.
MozReview-Commit-ID: IwBwKnceLBg
--HG--
extra : rebase_source : bf0b881a23c2225dcebb13d79d5034c89a0a31e1
This ensure that the window still has the intended size if it had been resized due to different DPI setup.
MozReview-Commit-ID: 9oeXbTKQqhe
--HG--
extra : rebase_source : cfe3a9d5faa4a4dadd766cf1d3751b61bde929f1
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
--HG--
extra : rebase_source : e1675bf4042e7e5fcee768231ffeccf19dc77c69
As the H264 SanityTest uses a 132x132 videos to determine if the hardware decoder is working, we always use the software decoder for smaller videos.
MozReview-Commit-ID: 8VbZTiJO9mA
--HG--
extra : rebase_source : da34be08b67716ebb84f249ead571cc171d8d2f7
AMD incorrectly decode videos with a resolution that is less than 128x128, as such with the test failing we disable hardware decoding on those machines, even though other resolutions work well.
So we use a 132x132 video instead.
MozReview-Commit-ID: 80mk11CNsil
--HG--
extra : rebase_source : 2dce7281c45a942918e86fcaae98530e6b24275f
This fixes improper usages of Find where an offset was actually being use for
the boolean ignore case flag. It also fixes a few instances of passing in a
literal wchar_t to our functions where a NS_LITERAL_STRING or char16_t should
be used instead.
This fixes improper usages of Find where an offset was actually being use for
the boolean ignore case flag. It also fixes a few instances of passing in a
literal wchar_t to our functions where a NS_LITERAL_STRING or char16_t should
be used instead.
--HG--
extra : rebase_source : 5de1e9335895d65e6db06c510e8887d27be3390f
extra : source : f762f605dd83fc6331161a33e1ef5d54cafbd08d
This updates the browserSettings API to report the current value of the home page and the new tab page regardless of whether they are currently overridden by an extension.
MozReview-Commit-ID: 3usY3F4oIxl
--HG--
extra : rebase_source : f8a04b4d7e70db7133c664d60cd46f8b4cd5471f
Ehsan, can you please review the (trivial) WebIDL changes, and Shane the
WebRequest logic?
The change to allow strings in MatchPattern arguments removes a huge amount of
XPConnect overhead that accumulates when creating nsIURI objects for
WebRequest processing.
The change to re-use existing URI objects removes a huge amount of URI
creation overhead.
MozReview-Commit-ID: 3DJjAKJK1Sa
--HG--
extra : rebase_source : 585a1c3c136ed1c5014f680ae81f635c8d1a2931
Ehsan, can you please review the DOM bindings, and Shane the request logic?
The bulk of the overhead WebRequest API is in its access to nsIChannel and
friends through XPConnect. Since it's not really feasible to convert channels
to use WebIDL bindings directly, this generic channel wrapper class serves the
same purpose.
MozReview-Commit-ID: 4mNP8HiKWK
--HG--
extra : rebase_source : 111687dd0925619b5d93447aecffacd5d53532ef
As the H264 SanityTest uses a 132x132 videos to determine if the hardware decoder is working, we always use the software decoder for smaller videos.
MozReview-Commit-ID: 8VbZTiJO9mA
--HG--
extra : rebase_source : 20cf3ae8bf62709711ac0e76e348c6e28d678025
AMD incorrectly decode videos with a resolution that is less than 128x128, as such with the test failing we disable hardware decoding on those machines, even though other resolutions work well.
So we use a 132x132 video instead.
MozReview-Commit-ID: 80mk11CNsil
--HG--
extra : rebase_source : 3cdffbc30334e2704375d8da878fd79124fe2a05
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
--HG--
extra : rebase_source : f76fe85e5c9a525c159255c29698f4bdbdede8bc
The extension policy services uses atoms internally for permission names, so
using them directly rather than strings is considerably cheaper.
MozReview-Commit-ID: Io8EuOXHKVy
--HG--
extra : rebase_source : 577b4bdf7f899729e4cf92961a8e9e25bf886a72
Going through the extension policy service rather than using
WebExtensionPolicy objects directly adds a lot of unnecessary overhead to
common operations on extension principals, and also makes the code more
complicated than it needs to be.
We also use weak references to policy objects here, since principals should
ideally lose as much of their elevated privileges as possible once the
extension instance that created them has been destroyed (which is something we
couldn't handle easily when we simply tracked ID strings).
MozReview-Commit-ID: KDNvVdvLkIt
--HG--
extra : rebase_source : 1b567919d2461bd0315d1a7d89f330cbd585f579
The issue occurs when nsITimer is fired earlier than the backoff time. In that
case, the update doesn't proceed and we never make another attempt because the
backoff update timer was oneshot.
We fix the issue in two ways:
- Add a tolerance of 1 second in case the timer fires too early.
- Set another oneshot timer whenever we are prevented from updating due to
backoff.
MozReview-Commit-ID: E2ogNRsHJVK
--HG--
extra : rebase_source : 17aa70d8583cc84e28e57410de66eaac63bd18bb
This API is only used by WebExtensions, which previously wanted to exclude separators,
but now we want the WebExtensions APIs to be able to return separators.
MozReview-Commit-ID: 7PApWDwWMr1
--HG--
extra : rebase_source : c5e816900cb0288f1cdba86ec07f6565a1c79880
This allows promiseBookmarksTree to return nodes that describe their type in both string (i.e., PlacesUtils.TYPE_X_*)
format and numeric (i.e., PlacesUtils.bookmarks.TYPE_*) formats. ext-bookmarks.js would prefer to be able to
use the numeric format as that is what is used throughout the rest of the file.
MozReview-Commit-ID: 7DpqAb3zVio
--HG--
extra : rebase_source : d6a9ead83e3de14bb8f52d9e19083a0f6ae609ee