3d18af0cc52663e03e7c81d3646cc3baf8d2b3f1: Bug 1287007 - Fix timing issue in browser_ext_tabs_getCurrent.js r=billm
Rob Wu <rob@robwu.nl> - Tue, 06 Sep 2016 14:45:58 -0700 - rev 361969
Push 6795 by jlund@mozilla.com at Mon, 23 Jan 2017 14:19:46 +0000
Bug 1287007 - Fix timing issue in browser_ext_tabs_getCurrent.js r=billm browser.test.sendMessage does not have enough time to finish before tabs.remove since test moved to ChildAPIManager for extension pages, causing the test to time out. MozReview-Commit-ID: 1mmGZOi9fzm
9746d5da8a517c1e3d47d3a87f867c82ed1c576a: Bug 1287007 - Move extension context initialization to ExtensionContent r=billm
Rob Wu <rob@robwu.nl> - Mon, 05 Sep 2016 23:50:11 -0700 - rev 361968
Push 6795 by jlund@mozilla.com at Mon, 23 Jan 2017 14:19:46 +0000
Bug 1287007 - Move extension context initialization to ExtensionContent r=billm This is a simple move of ExtensionContext creation logic to ExtensionChild. Before the change, ExtensionContext was initialized as follows: 1. (ext-backgroundPage.js) Create background page 2. (Extension.jsm) document-element-inserted observed. 3. (Extension.jsm) new ExtensionContext + unload observer. After this commit: 1. (ext-backgroundPage.js) Create background page 2. (ext-backgroundPage.js) emit extension-browser-inserted event 3. (Extension.jsm) Pass global to ExtensionContent + unload listener. 4. (ExtensionContent.jsm) document-element-inserted observed. 5. (ExtensionChild.jsm) new ExtensionContext The next step is to use frame scripts and synchronize state. MozReview-Commit-ID: K6mPdq7KQ2T
f86e5930ef497a5cdce73f04d3f16fa73871d144: Bug 1287007 - Move extension.getViews to child r=billm
Rob Wu <rob@robwu.nl> - Wed, 07 Sep 2016 22:54:07 -0700 - rev 361967
Push 6795 by jlund@mozilla.com at Mon, 23 Jan 2017 14:19:46 +0000
Bug 1287007 - Move extension.getViews to child r=billm MozReview-Commit-ID: SG2pmulzaP
1ed5b81ab606d9c1c9cf737b9d6ffbb50378799f: Bug 1287007 - Move background page API logic to child r=billm
Rob Wu <rob@robwu.nl> - Mon, 05 Sep 2016 22:34:44 -0700 - rev 361966
Push 6795 by jlund@mozilla.com at Mon, 23 Jan 2017 14:19:46 +0000
Bug 1287007 - Move background page API logic to child r=billm MozReview-Commit-ID: iGROahhkhn
cb7fa050a6bf4cf499a165b2b9ebe7f33c06f518: Bug 1287007 - Rename "context.type" to "context.viewType" r=billm
Rob Wu <rob@robwu.nl> - Mon, 05 Sep 2016 22:26:56 -0700 - rev 361965
Push 6795 by jlund@mozilla.com at Mon, 23 Jan 2017 14:19:46 +0000
Bug 1287007 - Rename "context.type" to "context.viewType" r=billm "viewType" is more easily searchable and not as ambiguous as "type". MozReview-Commit-ID: 8sG4qagFCBu
642f1b1afa902ddf5f9043bcd799feede7e67396: Bug 1287007 - Introduce ChildAPIManager to addon code r=billm
Rob Wu <rob@robwu.nl> - Mon, 05 Sep 2016 18:57:38 -0700 - rev 361964
Push 6795 by jlund@mozilla.com at Mon, 23 Jan 2017 14:19:46 +0000
Bug 1287007 - Introduce ChildAPIManager to addon code r=billm This is the bare minimum to separate the generation of addon_parent and addon_child APIs. Now it is possible to have methods with the same name but different implementations in the parent and child. Many APIs are not compatible with the proxied API implementation, so they temporarily fall back to directly invoking the parent API, just as before this commit. MozReview-Commit-ID: fwuZUvD8tY
d6ac05fb1b56cfc90ba785a9c65095bf71cf6dc7: Bug 1287007 - Do not neuter error messages from the same principal r=billm
Rob Wu <rob@robwu.nl> - Mon, 05 Sep 2016 17:04:28 -0700 - rev 361963
Push 6795 by jlund@mozilla.com at Mon, 23 Jan 2017 14:19:46 +0000
Bug 1287007 - Do not neuter error messages from the same principal r=billm With an upcoming change that introduces another ProxyContext, errors from a different scope may bubble up. These messages should be reported, not replaced with "An unexpected error occurred". MozReview-Commit-ID: ByUktVkhDyx
5df860aa9c9ca508841e1a0c7d96ab389fda8ea3: Bug 1287007 - Move ExtensionContext to separate file r=billm
Rob Wu <rob@robwu.nl> - Mon, 05 Sep 2016 00:15:18 -0700 - rev 361962
Push 6795 by jlund@mozilla.com at Mon, 23 Jan 2017 14:19:46 +0000
Bug 1287007 - Move ExtensionContext to separate file r=billm This is just a mechanical change, literally nothing more than cutting ExtensionContext from Extension.jsm, pasting it in ExtensionChild.jsm and adding the minimal imoort boilerplate. MozReview-Commit-ID: 5uVt1IOdEFU
bfb7562c240678e3a77695c5e370d2ebe73b7c48: Bug 1287007 - Fix cross-process browser.storage.local serialization r=billm
Rob Wu <rob@robwu.nl> - Sun, 04 Sep 2016 19:19:17 -0700 - rev 361961
Push 6795 by jlund@mozilla.com at Mon, 23 Jan 2017 14:19:46 +0000
Bug 1287007 - Fix cross-process browser.storage.local serialization r=billm - Lazily initialize file IO-specific stuff in ExtensionStorage.jsm, and limit this work to the main process. - Add local versions of the `storage.local.get` and `storage.local.set` implementations that perform sanitization (without the change, values are improperly serialized over IPC). - Copied the `backgroundScript` test from xpcshell/test_ext_storage.js to mochitest/test_ext_storage_content.html because they should behave identical. Before this patch the test failed due to IPC serialization issues, now the test passes. Note that the old test also passes with the changes. MozReview-Commit-ID: 8J8CCdwMACN
32d29dd44c656b3faf85c21ab097c96a0623c3bd: Bug 1287007 - Derive context.principal from sandbox r=billm,kmag
Rob Wu <rob@robwu.nl> - Fri, 30 Sep 2016 19:16:34 +0200 - rev 361960
Push 6795 by jlund@mozilla.com at Mon, 23 Jan 2017 14:19:46 +0000
Bug 1287007 - Derive context.principal from sandbox r=billm,kmag `context.principal` should be equal to the principal of the sandbox, so that if a new sandbox is created using `Cu.Sandbox(principal)`, that objects can be shared between the new sandbox and `context.cloneScope` (= `context.sandbox`) without issues. Without this change, using `context.jsonStringify` on an object from a content script would trigger the following error: > Error: Permission denied to access property "toJSON" This scenario is covered by the test toolkit/components/extensions/test/mochitest/test_ext_storage_content.html in the next commit. MozReview-Commit-ID: E4Jt8TDwNAZ
3ca8f3e64eebe2b6cdcf5a3ddab89572db4d9e18: Bug 1287007 - Allow local implementations to call remote implementations r=billm
Rob Wu <rob@robwu.nl> - Sun, 04 Sep 2016 02:29:48 -0700 - rev 361959
Push 6795 by jlund@mozilla.com at Mon, 23 Jan 2017 14:19:46 +0000
Bug 1287007 - Allow local implementations to call remote implementations r=billm - Add callParentFunctionNoReturn / callParentAsyncFunction to ChildAPIManager to implement remote calls. - Add in-process browser.test implementation that uses this. - Add tests to verify that the browser.test.assert* methods with the `allowAmbiguousOptionalArguments` schema attribute are working with objects that cannot be passed as-is over IPC. (except test.sendMessage, because stringifying the arguments has an observable impact on test behavior) MozReview-Commit-ID: 6cFVgmFfU93
7292a34a169eec162d65b515a2c306cdb7bd0872: Bug 1287007 - Mark all browserAction methods as async r=billm
Rob Wu <rob@robwu.nl> - Fri, 02 Sep 2016 14:22:09 -0700 - rev 361958
Push 6795 by jlund@mozilla.com at Mon, 23 Jan 2017 14:19:46 +0000
Bug 1287007 - Mark all browserAction methods as async r=billm E.g. browser.browserAction.enable(...).then(...) now works as expected. Removed a Promise.resolve() because that is the default. MozReview-Commit-ID: 4Shxtn0rjYH
1edf5fa29a435f02b78980580543261afbd8db24: Bug 1287007 - Require "async" in schemas to match name r=billm
Rob Wu <rob@robwu.nl> - Fri, 02 Sep 2016 03:37:55 -0700 - rev 361957
Push 6795 by jlund@mozilla.com at Mon, 23 Jan 2017 14:19:46 +0000
Bug 1287007 - Require "async" in schemas to match name r=billm In the pageAction and browserAction schemas, several methods are declared with `"async": true` but without a specified callback in the `"parameters"` object, so callbacks are not allowed. However, when a callback is proxied, the `ParentAPIManager` will mirror the call by passing in an extra callback to the proxied API - and break. This patch fixes the issue by removing uses of async:true. Also for consistency between the browserAction and pageAction methods, the methods that were not declared as async have also been marked as async. MozReview-Commit-ID: JQqzmTUAotB
930d8616be95fcaaf7ca1e03682e0053bff5d8eb: Bug 1287007 - Fix timing issue in browser/page action tests r=billm
Rob Wu <rob@robwu.nl> - Fri, 02 Sep 2016 16:33:32 -0700 - rev 361956
Push 6795 by jlund@mozilla.com at Mon, 23 Jan 2017 14:19:46 +0000
Bug 1287007 - Fix timing issue in browser/page action tests r=billm MozReview-Commit-ID: 9L0ttaq42Ga
b91a39e959ffb29b8da8d41684181d17f92fef80: Bug 1287007 - Refactor test_ext_schemas_api_injection.js r=billm
Rob Wu <rob@robwu.nl> - Fri, 02 Sep 2016 05:36:33 -0700 - rev 361955
Push 6795 by jlund@mozilla.com at Mon, 23 Jan 2017 14:19:46 +0000
Bug 1287007 - Refactor test_ext_schemas_api_injection.js r=billm When the background API move to a separate implementation, then the schema APIs will be generated (and ChildAPIManager will just delegate the implementation to the parent process). The purpose of the test is to verify that nested namespaces and null-feturn values work, so just use the base classes instead of a concrete implementation for BaseContext / SchemaAPIManager instead of setting up a full extension. MozReview-Commit-ID: CB5s7Ae24zS
fbbeab9bd95bca3c7f97e3cadebd42d93c7610bb: Bug 1287007 - Improve errors for non-existing remote APIs r=billm
Rob Wu <rob@robwu.nl> - Thu, 01 Sep 2016 21:14:31 -0700 - rev 361954
Push 6795 by jlund@mozilla.com at Mon, 23 Jan 2017 14:19:46 +0000
Bug 1287007 - Improve errors for non-existing remote APIs r=billm Currently, if the remote implementation is missing, the next unhelpful error message is logged to the console: "TypeError: findPathInObject(...) is not a function" or "TypeError: findPathInObject(...) is undefined", etc. This commit makes the message more useful: "WebExtension API tabs.create not found (it may be unimplemented by Firefox)" MozReview-Commit-ID: FhPEYKSjnLm
5e6462c7563d934c4bc780a567663bba4d8f0f47: Bug 1287007 - Fix some flaws in ProxyAPIImplementation r=billm
Rob Wu <rob@robwu.nl> - Thu, 01 Sep 2016 21:10:18 -0700 - rev 361953
Push 6795 by jlund@mozilla.com at Mon, 23 Jan 2017 14:19:46 +0000
Bug 1287007 - Fix some flaws in ProxyAPIImplementation r=billm - removeListener: There is no set.remove, use set.delete. - Async callbacks: Do not unconditionally turn the result in a SpreadArgs because it causes the result to unconditionally be wrapped in an array (+test). MozReview-Commit-ID: LqwtBsHWJJr
47efa3e76f692a661cc2edfe0ac8e3ebf38550ac: Follow up to bug 1311614 - Fix missing newline at end of custom-request-view.js to fix eslint. rs=bustage-fix. r=standard8
Mark Banner <standard8@mozilla.com> - Mon, 24 Oct 2016 10:18:29 +0100 - rev 361952
Push 6795 by jlund@mozilla.com at Mon, 23 Jan 2017 14:19:46 +0000
Follow up to bug 1311614 - Fix missing newline at end of custom-request-view.js to fix eslint. rs=bustage-fix. r=standard8 MozReview-Commit-ID: EVxQbjrmLdl
9ebb57bb1d766831114afb897fc13840ce8f2896: Bug 1249119 - Prevent exception when opening inspector on a loading document. r=pbro
Alexandre Poirot <poirot.alex@gmail.com> - Wed, 19 Oct 2016 05:26:40 -0700 - rev 361951
Push 6795 by jlund@mozilla.com at Mon, 23 Jan 2017 14:19:46 +0000
Bug 1249119 - Prevent exception when opening inspector on a loading document. r=pbro MozReview-Commit-ID: 9TNRUblT0SW
46b32222e682b25578d090664a9c32f389e9dae4: Bug 1249119 - Let shared-head helper cleanup tests instead of duplicating the effort in inspector head. r=pbro
Alexandre Poirot <poirot.alex@gmail.com> - Wed, 19 Oct 2016 05:26:08 -0700 - rev 361950
Push 6795 by jlund@mozilla.com at Mon, 23 Jan 2017 14:19:46 +0000
Bug 1249119 - Let shared-head helper cleanup tests instead of duplicating the effort in inspector head. r=pbro MozReview-Commit-ID: 2GxvXl3GTy8
(0) -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 +100000 tip