1fff255c73deb68e4a4e3f8c83bd0d33d3132cc6: Bug 1304688 - Pre: add Versions.preN to AppConstants r?sebastian draft
Andrzej Hunt <ahunt@mozilla.com> - Tue, 27 Sep 2016 09:06:26 -0700 - rev 419646
Push 30976 by ahunt@mozilla.com at Fri, 30 Sep 2016 17:39:51 +0000
Bug 1304688 - Pre: add Versions.preN to AppConstants r?sebastian MozReview-Commit-ID: Awh9db04xW
56a5da7b0dff9bf5cdcb669ffe143f34fdf5220c: Bug 1305567 - Use base64url encoding, avoid cutting the state and dump download error message. r=francois. draft
Henry <hchang@mozilla.com> - Fri, 30 Sep 2016 10:36:40 -0700 - rev 419645
Push 30975 by hchang@mozilla.com at Fri, 30 Sep 2016 17:38:23 +0000
Bug 1305567 - Use base64url encoding, avoid cutting the state and dump download error message. r=francois. MozReview-Commit-ID: 6MgfsA7juBn
f0510e21319af8e2d0b3d52e3b382730f117242e: Bug 1291714 - bool to enable dtmf tones in AudioConduit and setup dtmf payload type. r=bwc draft
Michael Froman <mfroman@mozilla.com> - Wed, 28 Sep 2016 21:22:44 -0500 - rev 419644
Push 30974 by bmo:mfroman@nostrum.com at Fri, 30 Sep 2016 17:34:18 +0000
Bug 1291714 - bool to enable dtmf tones in AudioConduit and setup dtmf payload type. r=bwc MozReview-Commit-ID: IMneZx9wlhj
f9d2ac893b665576e86500958e9e771df505b79a: Bug 1287007 - Fix timing issue in test_delay_update_webextension.js draft
Rob Wu <rob@robwu.nl> - Sat, 24 Sep 2016 14:54:53 +0200 - rev 419643
Push 30973 by bmo:rob@robwu.nl at Fri, 30 Sep 2016 17:27:38 +0000
Bug 1287007 - Fix timing issue in test_delay_update_webextension.js The onUpdateAvailable listener is asynchronously notified, so the caller (i.e. the test) cannot assume that a message sent immediately after triggering an update would trigger the `browser.test.onMessage` listener that was added in the onUpdateAvailable event handler. MozReview-Commit-ID: 12n64f5l3RA
1e5fde119011c6a8345ace6be8bcc7f1d077e6bd: Bug 1287007 - Make browser_ext_tabs_executeScript.js reliable draft
Rob Wu <rob@robwu.nl> - Thu, 15 Sep 2016 15:53:03 -0700 - rev 419642
Push 30973 by bmo:rob@robwu.nl at Fri, 30 Sep 2016 17:27:38 +0000
Bug 1287007 - Make browser_ext_tabs_executeScript.js reliable The ProxyMessenger registers a listener whenever the first addon starts. Although the map does not have any listeners any more at the end of the test, the listener itself is not removed because the message-manager-close notification is not sent for them. So do not count these persistent message managers in the test. The actual message managers of interest are those associated with the (closed) tab. Note: When the test is run in isolation, it may still fail due to bugzil.la/1293583. See bug for work-around if you want to test. MozReview-Commit-ID: IiDHhmvQPcv
30bf1610ea3b5074a4262364049bed4f1f1619ad: Bug 1287007 - Make window.close in extension pages async draft
Rob Wu <rob@robwu.nl> - Tue, 13 Sep 2016 20:26:18 -0700 - rev 419641
Push 30973 by bmo:rob@robwu.nl at Fri, 30 Sep 2016 17:27:38 +0000
Bug 1287007 - Make window.close in extension pages async Test coverage by tabs.onRemoved + window.close() in: toolkit/components/extensions/test/mochitest/test_ext_tab_teardown.html MozReview-Commit-ID: 7asg2XGrTaQ
f06fc550afbcad6ca3fa5d477773f5ebb28ff409: Bug 1287007 - Remove .contentWindow from ProxyContext draft
Rob Wu <rob@robwu.nl> - Tue, 13 Sep 2016 16:02:03 -0700 - rev 419640
Push 30973 by bmo:rob@robwu.nl at Fri, 30 Sep 2016 17:27:38 +0000
Bug 1287007 - Remove .contentWindow from ProxyContext MozReview-Commit-ID: ASNigrM07yz
35e348de110b8de53e957d0d3ebd66506f62b5f8: Bug 1287007 - Fix test_ext_management_uninstall_self.js draft
Rob Wu <rob@robwu.nl> - Tue, 13 Sep 2016 13:59:37 -0700 - rev 419639
Push 30973 by bmo:rob@robwu.nl at Fri, 30 Sep 2016 17:27:38 +0000
Bug 1287007 - Fix test_ext_management_uninstall_self.js The test logic was broken by design: Two tests uninstall the addon, but only one uninstall observer was used. Consequently, the second test resumes the test before the addon was actually uninstalled. It is probably sheer luck that the test worked before. MozReview-Commit-ID: DcT48ZQ2bRp
ba19b7d3a64381fdafcf5d1e8340a369bf81c131: Bug 1287007 - Enable proxying of most APIs. draft
Rob Wu <rob@robwu.nl> - Mon, 12 Sep 2016 21:19:53 -0700 - rev 419638
Push 30973 by bmo:rob@robwu.nl at Fri, 30 Sep 2016 17:27:38 +0000
Bug 1287007 - Enable proxying of most APIs. MozReview-Commit-ID: KrI42XrsVVG
6761d4576be122ab9145c8c1a04fa389aec4a87f: Bug 1287007 - Fix timing issue in test_ext_storage.js draft
Rob Wu <rob@robwu.nl> - Tue, 13 Sep 2016 00:45:00 -0700 - rev 419637
Push 30973 by bmo:rob@robwu.nl at Fri, 30 Sep 2016 17:27:38 +0000
Bug 1287007 - Fix timing issue in test_ext_storage.js MozReview-Commit-ID: 63Ra7ThuHuf
d6376d6a8be574355a0f654245579602e5680104: Bug 1287007 - Fix "onclick" in contextMenus, to child. draft
Rob Wu <rob@robwu.nl> - Mon, 12 Sep 2016 18:26:03 -0700 - rev 419636
Push 30973 by bmo:rob@robwu.nl at Fri, 30 Sep 2016 17:27:38 +0000
Bug 1287007 - Fix "onclick" in contextMenus, to child. Main thing: Making contextMenus implementation webext-oop compatible. Preparation: - Add getParentEvent to ChildAPIManager to allow use of remote events. - Introduce `addon_parent_only` to "allowedContexts" to only generate a schema API in the main process. - Do not fill in `null` for missing keys if the schema declares a key as `"optional": "omit-key-if-missing"`. This is needed for the second point in the next list. Drive-by fixes: - Ensure that the "onclick" handler is erased when a context closes. - Do not clear the "onclick" handler in `contextMenus.update` if the onclick key has been omitted (parity with Chrome). - Remove some unnecessary `Promise.resolve()` - Add extensive set of tests that check the behavior of the contextMenus APIs with regards to the onclick attribute in various scenarios. MozReview-Commit-ID: A5f3AUQzU8T
2877ffb8edf79cf95424f90f5874189960ac5ba2: Bug 1287007 - Move part of browserAction and pageAction to child draft
Rob Wu <rob@robwu.nl> - Sun, 11 Sep 2016 04:18:35 -0700 - rev 419635
Push 30973 by bmo:rob@robwu.nl at Fri, 30 Sep 2016 17:27:38 +0000
Bug 1287007 - Move part of browserAction and pageAction to child And remove redundant `Promise.resolve()` because it is the default for async functions. setIcon is not supported on Android, so there was no need to change mobile/android/components/extensions/ext-pageAction.js. MozReview-Commit-ID: 94ebaJFxLAi
0e8455b7a72983b93ac6f96c36168e4a04f4dba1: Bug 1287007 - Set parent cloneScope to child cloneScope draft
Rob Wu <rob@robwu.nl> - Sun, 11 Sep 2016 03:10:21 -0700 - rev 419634
Push 30973 by bmo:rob@robwu.nl at Fri, 30 Sep 2016 17:27:38 +0000
Bug 1287007 - Set parent cloneScope to child cloneScope This is only to help with migration. This change allows all APIs to behave identical regardless of whether the API is proxied. Change cloneScope to be a getter because cloneScope is `this.contentWindow`, which may be nulled when the context navigates away (but stays in the bfcache). Any API that is not proxied must have an identical clone scope to make sure that properties such as toJSON (in the native messaging stringifier) and ArrayBuffer (in webRequest as requestBody) are visible to the caller. MozReview-Commit-ID: 9aT3SUBieHK
d8c453bc43889be667d330c0cd06d7d7b9b37ec3: Bug 1287007 - Track message manager / browser swaps draft
Rob Wu <rob@robwu.nl> - Fri, 09 Sep 2016 23:04:04 -0700 - rev 419633
Push 30973 by bmo:rob@robwu.nl at Fri, 30 Sep 2016 17:27:38 +0000
Bug 1287007 - Track message manager / browser swaps Neither the message manager nor the XUL browser is guaranteed to be constant during a ProxyContext's lifetime. Add a new class to follow the `<browser>` belonging to the current docshell and update the ProxyContext properties as needed. NOTE: The `BrowserDocshellFollower` class assumes that docshells are swapped using `newBrowser.swapDocShells(oldBrowser)`. If this assumption turns out to be false, then the tracker will lose track of the `<browser>`. See bugzil.la/1301837 for more details. Also, renamed `messageManager` to `currentMessageManager` because the `messageManager` property is overwritten by the `setContentWindow` hack in WannabeChildAPIManager in ExtensionChild.jsm. browser/components/extensions/test/browser/browser_ext_currentWindow.js provides test coverage for this feature once the `test` API goes through a ChildAPIManager instead of directly through a WannabeChildAPIManager. Why? Because that test calls `test.onMessage.addListener` in the script that is loaded in a popup page. Popups are loaded in two stages: First the content is preloaded in a `<browser>`, and then when the popup is shown a new `<browser>` is created and the docshells are swapped. When the script runs while the popup script is being preloaded, the `ParentAPIManager` receives the IPC message with the target set to the `<browser>` used for preloading. When the API response is ready, `target.messageManager.sendAsyncMessage` is called. Meanwhile the docshells have been swapped, the message manager is gone and this fails. With this patch, the message manager is correctly tracked and this test passes. MozReview-Commit-ID: C5Z0ZJRXKyw
14b64cf3ccf90c26e89301670d8991cfbadff5e1: Bug 1287007 - Use frame script to initialize background/popup page draft
Rob Wu <rob@robwu.nl> - Thu, 08 Sep 2016 20:41:43 -0700 - rev 419632
Push 30973 by bmo:rob@robwu.nl at Fri, 30 Sep 2016 17:27:38 +0000
Bug 1287007 - Use frame script to initialize background/popup page MozReview-Commit-ID: 8Di1nTnwpbU
cf0d16a3c9cec80060659949a302bbfd83876a16: Bug 1287007 - Only close extension tabs upon shutdown draft
Rob Wu <rob@robwu.nl> - Thu, 08 Sep 2016 19:02:56 -0700 - rev 419631
Push 30973 by bmo:rob@robwu.nl at Fri, 30 Sep 2016 17:27:38 +0000
Bug 1287007 - Only close extension tabs upon shutdown In one of the previous patches, the viewType of popup changed from "popup" to "tab". As a result it was closed by the `page-shutdown` event handler in ext-tabs.js. This prevents that from happening. Also added a test that checks whether the options page type is a tab, to prevent future regressions. MozReview-Commit-ID: 3Qcf08PgNqb
f703d2a1e4bdeaaed00f5a94c94cadb79ba9817d: Bug 1287007 - Set the principal in ChildAPIManager draft
Rob Wu <rob@robwu.nl> - Wed, 07 Sep 2016 20:35:39 -0700 - rev 419630
Push 30973 by bmo:rob@robwu.nl at Fri, 30 Sep 2016 17:27:38 +0000
Bug 1287007 - Set the principal in ChildAPIManager The `browser.downloads.download` API takes a "url" parameter. The schema file at downloads.json defines the type to be "url". This means that the parameter is checked with `context.checkLoadURL(url)` in Schemas.jsm. This method uses the principal of the object that was passed to `Schemas.inject`. Currently, this works just fine because the `schemaWrapper` in Extension.jsm returns the context's principal. But when we move to using the ChildAPIManager, the principal is not defined and Schemas.jsm will fall back to a Null principal. As a result, the test_ext_downloads_download.js fails because the blob:-URL with the extension origin cannot be loaded by a null principal. To fix this, the context's principal must be set. MozReview-Commit-ID: FmpqYfPemyY
c5094b83ce84123bf4b7aa538f82d0e21cc9b3fc: Bug 1287007 - Remove dead code draft
Rob Wu <rob@robwu.nl> - Tue, 06 Sep 2016 15:50:50 -0700 - rev 419629
Push 30973 by bmo:rob@robwu.nl at Fri, 30 Sep 2016 17:27:38 +0000
Bug 1287007 - Remove dead code MozReview-Commit-ID: LtuKY5DjB68
0c90fcb24cfa76396912d3fcb3a40ce62a8c6d9b: Bug 1287007 - Use child's Extension instead of the process' draft
Rob Wu <rob@robwu.nl> - Tue, 06 Sep 2016 15:31:33 -0700 - rev 419628
Push 30973 by bmo:rob@robwu.nl at Fri, 30 Sep 2016 17:27:38 +0000
Bug 1287007 - Use child's Extension instead of the process' MozReview-Commit-ID: 9o8tOuUbchn
219744f4f66e5590c10e04aa234860173796de61: Bug 1287007 - Fix test_ext_api_permissions.js draft
Rob Wu <rob@robwu.nl> - Wed, 07 Sep 2016 17:10:33 -0700 - rev 419627
Push 30973 by bmo:rob@robwu.nl at Fri, 30 Sep 2016 17:27:38 +0000
Bug 1287007 - Fix test_ext_api_permissions.js "extension.views" will only be available in content, so use the "proxy-context-load" event to detect new views. MozReview-Commit-ID: K86Be5IDk42
(0) -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 +100000 +300000 tip