Also removes some dead code.
A lot of the code in ExtensionUtils.jsm is not needed in all processes, and a
lot of the rest isn't needed until extension code runs. Most of it winds up
being loaded into all processes way earlier than necessary.
MozReview-Commit-ID: CMRjCPOjRF2
--HG--
extra : rebase_source : 37718eaf05a22b8ccb95f633cf7454bd7975cdce
When you create a <key> element, which is what the commands API
does under the hood to allow keyboard shortcuts, the event type
that the handler listens to defaults to keypress. For printable
characters, the keyCode property of a keypress event is 0,
causing keycode bindings for these printable characters to not
work. We could use key for these properties, but the shift key
interacts with the key property in ways that make it simpler to
simply fix the keycode usage for our purposes.
MozReview-Commit-ID: HdWdN7cMfuq
--HG--
extra : rebase_source : d75aee5472f43575adfb68f201503f9a57c2deea
Defaulting to "" instead of null because Chrome too defaults to "".
MozReview-Commit-ID: 7pJYCzVR4f6
--HG--
extra : rebase_source : f23df13825cbb9c8d2e344db8b4a78b6d6d29120
CLOSED TREE
Backed out changeset 2d42350d209a (bug 1203330)
Backed out changeset 3a12c51c3eca (bug 1203330)
Backed out changeset 31fac390e15d (bug 1203330)
- Add `envType` to BaseContext.
- Pass an explicit envType to all `registerSchemaAPI` invocations.
- The factories passed to `registerSchemaAPI` will be split up later, so
that content scripts (`content_child`) and addon pages can share
common implementations.
- The factories that implement the addon API will also be split up,
to separate code running in the main process (`addon_parent`) from
code running in a child process (`addon_child`).
- Remove the use of a hardcoded list of `namespaces` from ProxyContext.
Now `envType` is used to specify whether an API should be activated.
MozReview-Commit-ID: Jiff8HIwG92
--HG--
extra : rebase_source : 946a3c0009a4e3223c2d10044b3099a94c845394
ExtensionContext in Extension.jsm has |extension| as an instance member,
so use it instead of passing |extension| to registerSchemaAPI's
callback.
And to make sure that this pattern also works in content processes, move
the |extension| member to BaseContext.
MozReview-Commit-ID: BgsGGCPQxJR
--HG--
extra : rebase_source : 7aa9fb7a53e057e8d3d8c477bd6821f8344c571a
ExtensionContext in Extension.jsm has |extension| as an instance member,
so use it instead of passing |extension| to registerSchemaAPI's
callback.
And to make sure that this pattern also works in content processes, move
the |extension| member to BaseContext.
MozReview-Commit-ID: BgsGGCPQxJR
--HG--
extra : rebase_source : 9a85d95f0c147198938b86c57127f6e7403fd53c
ESLint 2 now flags anonymous generator functions that don't match the
generator-star-spacing rule so this mostly is fixing that.
MozReview-Commit-ID: 5sLaF26sd0E
--HG--
extra : rebase_source : 6008f48c94e4a8e5bd2ed2f8a95e764e4aa39cdb
extra : histedit_source : 6f0151c184ee2e4288f3ec9c5a85a65e975d46e1