Commit Graph

41 Commits

Author SHA1 Message Date
Rob Wu
0167c8c6a2 Bug 1287010, 1286712 - Use schema-generated runtime API, split ext-runtime.js r=billm
- Use schema-generated runtime API for content scripts instead of
  untyped API.
- Move logic that cannot be run in the main process to a new file.

Together with the previous patch that migrated the i18n API, this
concludes the fix for bug 1286712.

MozReview-Commit-ID: A3yG0x1kjwx
2016-08-18 18:15:37 -07:00
Rob Wu
812e170fe8 Bug 1287010 - Make environment of Context explicit. r=billm
- 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
2016-08-16 15:51:50 -07:00
Rob Wu
47e975c1fb Bug 1286712 - Validate runtime.sendMessage parameters r=billm
The main motive for this patch is to remove the use of the GlobalManager
global (which was used to see if an extension ID is valid, which was
specifically added in order to create thebrowser_ext_lastError.js test).
To preserve test coverage I implemented a full validation of the
runtime.sendMessage method.

Now the error for a non-existent extension is identical in both the
content script and background pages. Note that this also fixes a
minor privacy leak: Previously extensions could see whether another
extension is installed by sending a message to the specified extension
and using the different responses to see whether another extension is
installed.

MozReview-Commit-ID: 82R97Ei25Xr
2016-08-16 21:36:42 -07:00
Rob Wu
98a49ff299 Bug 1295082 - BaseContext.extensionId -> BaseContext.extension.id r=kmag
MozReview-Commit-ID: 2tFVUwjyJQu
2016-08-16 14:29:52 -07:00
Rob Wu
6efdd88867 Bug 1295082 - Put Extension in BaseContext r=kmag
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
2016-08-15 01:04:58 -07:00
Sebastian Hengst
c7a498ffbd Backed out changeset 0ce1cc39aa3d (bug 1295082) for timing out in test_ext_schemas_api_injection.js. r=backout 2016-08-18 16:47:09 +02:00
Sebastian Hengst
ff21875b1a Backed out changeset dc7b09331202 (bug 1295082) 2016-08-18 16:46:30 +02:00
Rob Wu
7c6379abff Bug 1295082 - BaseContext.extensionId -> BaseContext.extension.id r=kmag
MozReview-Commit-ID: 2tFVUwjyJQu
2016-08-16 14:29:52 -07:00
Rob Wu
6189daa99f Bug 1295082 - Put Extension in BaseContext r=kmag
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
2016-08-15 01:04:58 -07:00
Robert Helmer
c52c0f4a2c Bug 1279012 - implement onUpdateAvailable and runtime.reload() for WebExtensions r=aswan
MozReview-Commit-ID: KywrVkcRhzp
2016-08-02 09:37:01 -07:00
Andrew Swan
0c9f16fc6a Bug 1270360 Implement runtime.sendNativeMessage() r=kmag
MozReview-Commit-ID: 93FaGaYto5w
2016-06-08 14:52:35 -07:00
Kris Maglione
843973aa31 Bug 1279392: [webext] Move API permission definitions to the schemas. r=aswan
MozReview-Commit-ID: 8m7wJrAbFwS
2016-06-09 17:44:47 -07:00
Sebastian Hengst
d97f588f03 Backed out changeset a00cf073f5c0 (bug 1279392) for failing mochitest test_ext_contentscript_create_iframe.html at least on Linux x64 opt. r=backout 2016-06-14 13:37:52 +02:00
Kris Maglione
b2a33e3bf1 Bug 1279392: [webext] Move API permission definitions to the schemas. r=aswan
MozReview-Commit-ID: 8m7wJrAbFwS
2016-06-09 17:44:47 -07:00
Andrew Swan
a99551f0b8 Bug 1270357 Implement runtime.connectNative() r=kmag
MozReview-Commit-ID: Fo4BxEo3xus
2016-06-08 20:23:40 -07:00
Phil Ringnalda
dd10a380ba Back out 3 changesets (bug 1270357) for test_chrome_ext_native_messaging.html timeouts
CLOSED TREE

Backed out changeset 2e602689376d (bug 1270357)
Backed out changeset e1979d928c7c (bug 1270357)
Backed out changeset e0f9b54febc8 (bug 1270357)
2016-06-08 20:35:32 -07:00
Andrew Swan
d4568e8df5 Bug 1270357 Implement runtime.connectNative() r=kmag
MozReview-Commit-ID: Fo4BxEo3xus
2016-06-08 13:51:01 -07:00
Kris Maglione
c19b091a55 Bug 1250784: Part 3 - [webext] Add suport for runtime.openOptionsPage. r=Mossop
MozReview-Commit-ID: 9izx4uX0Szd
2016-03-09 17:10:29 -08:00
Matthew Wein
babfa923f9 Bug 1246031 - Utility for obtaining platform information. r=kmag 2016-02-17 15:14:28 -05:00
Kris Maglione
666cee3637 Bug 1248855 - [webext] Add "object-curly-spacing" ESLint rule and auto-fix errors. r=billm
MozReview-Commit-ID: BAZ2rRl7eSM
2016-02-16 20:10:00 -08:00
Andrew Swan
e58d313f2b Bug 1156826 - Implement browser.runtime.setUninstallURL(). r=kmag 2016-02-08 16:00:25 -08:00
Kris Maglione
dccecde671 Bug 1234020: Part 2d - [webext] Return promises from the runtime API. r=rpl 2016-02-01 18:08:18 -08:00
Kris Maglione
cb2bf096f9 Bug 1190680: Part 2 - [webext] Add initial support for lastError callbacks. r=billm 2016-01-29 18:38:08 -08:00
Bill McCloskey
1cf7392459 Bug 1208257 - [webext] runtime.json (r=kmag) 2015-12-23 08:57:13 -08:00
Kris Maglione
956fe582d0 Bug 1229874: Part 3 - Enable ESLint in WebExtension code. r=billm
The base .eslintrc is essentially a merge of the root Toolkit .eslintrc and
the devtools .eslintrc, with some minor changes to match our prevalent style.

For the most enforces the coding styles that we've been using most
consistently. There are a couple of significant differences, though:

 * The rule for opening brace alignment can only be applied globally, and
   doesn't make exceptions for top-level functions. I chose to turn it on, and
   change the brace style of existing top-level functions that violated it,
   since the rule seemed worth using, and that's the direction most Toolkit JS
   code has been headed anyway.

 * The rule for switch/case statements requires an added indentation level for
   case statements. Most of our switch statements did not use an extra level
   of indentation, and I initially wrote the rule to enforce that style, until
   I came across case statements that used blocks, and required the extra
   indentation level for sanity.
2015-12-02 16:58:53 -08:00
Fabrice Desré
1d27924873 Bug 1220700 - Cannot enable add-ons installed from WebIDE r=ochameau 2015-11-17 11:03:44 -08:00
Bill McCloskey
731f6c5313 Bug 1223589 - [webext] Implement getPlatformInfo (r=kmag) 2015-11-12 08:19:45 -08:00
Bill McCloskey
948f074381 Bug 1223585 - [webext] Annotate ignoreEvent (r=kmag) 2015-11-12 08:19:45 -08:00
Carsten "Tomcat" Book
036e6d2fa3 Backed out 2 changesets (bug 1202902) to recking bug 1202902 to be able to reopen inbound on a CLOSED TREE
Backed out changeset 647025383676 (bug 1202902)
Backed out changeset d70c7fe532c6 (bug 1202902)
2015-10-07 14:03:21 +02:00
Carsten "Tomcat" Book
12369728f5 Backed out 1 changesets (bug 1202902) for causing merge conflicts to mozilla-central
Backed out changeset cfc1820361f5 (bug 1202902)
2015-10-07 12:13:45 +02:00
Shu-yu Guo
474f49adb7 Bug 1202902 - Scripted fix the world. 2015-10-06 14:00:31 -07:00
Luca Greco
ac0a9aedf0 Bug 1204583 - test connect params preprocess and fix raised invalid params error. r=billm 2015-09-30 14:21:00 +02:00
Luca Greco
8bcb8d86f3 Bug 1204583 - preprocess and validate optional WebExtension runtime.connect params. r=billm,gabor 2015-09-26 09:24:00 +02:00
Luca Greco
f406a65dad Bug 1204583 - Implement WebExtension runtime.connect for background and tab. r=billm,gabor 2015-09-26 09:22:00 +02:00
Shu-yu Guo
37989840cd Bug 1202902 - Mass replace toplevel 'let' with 'var' in preparation for global lexical scope. (rs=jorendorff) 2015-09-15 11:19:45 -07:00
Fabrice Desré
bc561611cc Bug 1190995 - Support the new extension model in b2g r=billm 2015-08-14 16:55:09 -07:00
Fabrice Desré
c50552b3e4 Bug 1190995 - backout 0450f02a2b3b for M1 failures 2015-08-14 17:57:34 -07:00
Fabrice Desré
edcc328e33 Bug 1190995 - Support the new extension model in b2g r=billm 2015-08-14 16:55:09 -07:00
Bill McCloskey
1ba4b05dd9 Bug 1175770 - New extension API (r=Mossop) 2015-08-03 10:41:24 -07:00
Carsten "Tomcat" Book
5b881a75d9 Backed out changeset 4e3821b236f9 (bug 1175770) 2015-08-03 09:37:54 +02:00
Bill McCloskey
d7318b2bd9 Bug 1175770 - New extension API (r=Mossop) 2015-08-02 17:29:55 -07:00