e3514b399ec46ced8c47c24ed69d15b9cac9c591: Bug 1287007 - Fix test_ext_api_permissions.js r=billm
Rob Wu <rob@robwu.nl> - Wed, 07 Sep 2016 17:10:33 -0700 - rev 428712
Push 33405 by bcampen@mozilla.com at Mon, 24 Oct 2016 15:32:53 +0000
Bug 1287007 - Fix test_ext_api_permissions.js r=billm "extension.views" will only be available in content, so use the "proxy-context-load" event to detect new views. MozReview-Commit-ID: K86Be5IDk42
6b9a398be651f28216e4693a6151776d73f44156: Bug 1287007 - Use IPC to share viewType, tabId and windowId r=billm
Rob Wu <rob@robwu.nl> - Tue, 06 Sep 2016 15:25:10 -0700 - rev 428711
Push 33405 by bcampen@mozilla.com at Mon, 24 Oct 2016 15:32:53 +0000
Bug 1287007 - Use IPC to share viewType, tabId and windowId r=billm Accessing <browser> in ContentChild does not work when extensions run in a separate process. MozReview-Commit-ID: EK0aOYeGaZ5
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 428710
Push 33405 by bcampen@mozilla.com at Mon, 24 Oct 2016 15:32:53 +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 428709
Push 33405 by bcampen@mozilla.com at Mon, 24 Oct 2016 15:32:53 +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 428708
Push 33405 by bcampen@mozilla.com at Mon, 24 Oct 2016 15:32:53 +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 428707
Push 33405 by bcampen@mozilla.com at Mon, 24 Oct 2016 15:32:53 +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 428706
Push 33405 by bcampen@mozilla.com at Mon, 24 Oct 2016 15:32:53 +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 428705
Push 33405 by bcampen@mozilla.com at Mon, 24 Oct 2016 15:32:53 +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 428704
Push 33405 by bcampen@mozilla.com at Mon, 24 Oct 2016 15:32:53 +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 428703
Push 33405 by bcampen@mozilla.com at Mon, 24 Oct 2016 15:32:53 +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 428702
Push 33405 by bcampen@mozilla.com at Mon, 24 Oct 2016 15:32:53 +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 428701
Push 33405 by bcampen@mozilla.com at Mon, 24 Oct 2016 15:32:53 +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 428700
Push 33405 by bcampen@mozilla.com at Mon, 24 Oct 2016 15:32:53 +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 428699
Push 33405 by bcampen@mozilla.com at Mon, 24 Oct 2016 15:32:53 +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 428698
Push 33405 by bcampen@mozilla.com at Mon, 24 Oct 2016 15:32:53 +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 428697
Push 33405 by bcampen@mozilla.com at Mon, 24 Oct 2016 15:32:53 +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 428696
Push 33405 by bcampen@mozilla.com at Mon, 24 Oct 2016 15:32:53 +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 428695
Push 33405 by bcampen@mozilla.com at Mon, 24 Oct 2016 15:32:53 +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 428694
Push 33405 by bcampen@mozilla.com at Mon, 24 Oct 2016 15:32:53 +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 428693
Push 33405 by bcampen@mozilla.com at Mon, 24 Oct 2016 15:32:53 +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
(0) -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 +100000 +300000 tip