This change removes almost all the remaining uses of loadSubScript and
global scope pollution. The only remaining use is for common.js, which
is resolved by a later bug for evaluating scripts.
MozReview-Commit-ID: 96h0yLElauq
--HG--
extra : histedit_source : 70f70a8aeffef3fca18addfa3fca575a9128e11a
extra : rebase_source : c251c58a7a086c606d3d3941adfeee26ecc49504
extra : commitid : 8XlX4zVZQUN
extra : source : 6bb93562a57656e6cc744c3c901a5ec80f9ec4d8
extra : intermediate-source : ad5bf32d8fef351a0bc4d6249bd16a34aa83f548
To simplify the dependency chain and reduce the number of duplicate
functions in Marionette, a number of functions have been removed from
interactions.js and added to elements.js. This makes them more easily
re-usable and works around a circular dependency issue.
MozReview-Commit-ID: TZc3VZzHqM
--HG--
extra : histedit_source : 06b82234371ca8cd6bb0ede9cbf03f848fc66d82
extra : rebase_source : da99b4329baba3fa8a604b9b2952692568b96a75
extra : commitid : BTgnO71SGbB
extra : source : 5da7628c376765842c013f90566d4264f9e9312a
extra : intermediate-source : 68a6dda373d2efffd8cf76103a80f1003c969093
Through some very clever hacking of the arguments to each of the atoms,
we are able to contain this in a JS module: Atoms normally extract their
arguments directly from the function scoped `arguments' variable, but
by explicitly naming `window' as the last argument in the functions'
prototype we are able to set the `window' variable used inside.
This is obviously a big hack, but it encapsulates the atoms and we are
moving away from atoms in the long term.
MozReview-Commit-ID: KGO77fjRN2d
--HG--
extra : histedit_source : aaa2005b8872127d8314fd6ad5c15b91d09555b9
extra : rebase_source : 1dbc1d1b97c6ca3abc3e9b78ce54c0a5a5883f6e
extra : commitid : 6AkmEPFP2Y4
extra : source : ee7ee24cc65e1b0b316963cc7963425f254e67cc
extra : intermediate-source : e41a5b41859a904042168dbbc9e5b983a5688b98
testing/marionette/sendkeys.js has been merged into the
new testing/marionette/event.js module, together with
testing/marionette/EventUtils.js.
There is a lot of functionality still left in this module that we can
probably remove, as it is not in use by Marionette.
MozReview-Commit-ID: GrjNuK9VPjp
--HG--
rename : testing/marionette/EventUtils.js => testing/marionette/event.js
extra : histedit_source : f2fea53f3c7a5f49d1f0ef6f2bef4b98aa3566f2
extra : rebase_source : 6094b11b4325b279dc40b844df327d61a9b90ca6
extra : commitid : GvNeDeClc50
extra : source : 4b2a5ee7199efd86e2b8db1f80c492378649f8dc
extra : intermediate-source : 048d7007075192bad292d312d65920b27aaf6a1f
error.wrap acts as a no-op if it is passed a prototype which is already
of the WebDriverError prototypal chain.
MozReview-Commit-ID: Gd9kUEvsgNv
--HG--
extra : histedit_source : a6e620e3e4b6bfa4e1d77df48eaab59ffbc3cdce
extra : rebase_source : a94ae7fff63530a4cc4d1875bb4894657834ecb0
extra : commitid : HObqpKV7a9s
extra : source : d75ad1397656e43d22d0d69211df9fce3a667f0d
extra : intermediate-source : eff85dc0eaa9da4c4dff306cdb9a7474df29ccf1
Generally, Error prototypes that are not based on WebDriverError must
be wrapped so that they can be serialised across the AsyncMessageChannel.
MozReview-Commit-ID: EtkpEOBhrST
--HG--
extra : histedit_source : c35a686b6b9cea4ae50d0d63223f4cdde6f6e4a2
extra : rebase_source : 4aad87845982cc81fec375ae9f63223a58003aec
extra : commitid : 825ScXhXQSy
extra : source : 1f5e37f8e44641e5434d8393f307f2ea4e80cdc6
extra : intermediate-source : dc6460e0f336c151be27bd124935b52361ea9557
Due to a previous programming error, error.isError only recognised
the base Error prototype. It must also test for the other built-in
prototypes, such as TypeError et al.
MozReview-Commit-ID: HLkiOAg0Jl1
--HG--
extra : histedit_source : 77fd0e6b6471b18528c27954e6348f93fc520d64
extra : rebase_source : 0e6d2085c37f2a2646c560b10e0c35eead6fcd3a
extra : commitid : F50Xhg2Q86e
extra : source : aec0a01666851a1e03dcb139e1766bae0c1b0fd7
extra : intermediate-source : 36526a2e8b0071b9f51cc30d5b6e0b5c345ec437
self._pushhead_cache no longer exists. But self._tree_cache does!
This was causing AttributeError when running `mach artifact clear-cache`
and other misc `mach artifact` sub-commands.
MozReview-Commit-ID: CP8NL6eCfhD
--HG--
extra : rebase_source : 0afd11722e304c8e0ecd9a305023d43dff79dddd
extra : amend_source : ad3df6d780e7b968573588e9a1029f1a1c9d18b0
Currently, config.status runs `mach artifact install`. mach commands prefix
output lines with elapsed time by default. When running from `mach build`,
there will be 2 sets of times in `mach artifact install` output lines.
When config.status is run directly, there will be no times printed
except for `mach artifact install`. It is weird both ways.
Fix it by not printing lines when running `mach artifact install` from
config.status.
MozReview-Commit-ID: GVinyI4Z0qr
--HG--
extra : rebase_source : 80aa5714a0249d9974becee183e7cfde7143f556
extra : amend_source : a89bca7af847f73efd18fb0a09bc9e76d8943577
- Convert string values to integer and boolean values for Histograms
- Add compile time type checks on Histograms.json
- Remove string to int/bool coercion for the Histogram keys:
- n_buckets
- n_values
- low
- high
- keyed
- Remove check_numeric (redundant with check_expression_types)
Implement chrome.i18n.getUILanguage including tests
Add API to content scripts
MozReview-Commit-ID: IcDlLj8Et73
--HG--
extra : rebase_source : 9996c7da79d3a132bce73b167dfea7031083ad3a