0ccb80fc769b96d1f342d6fcc5e6a748d1a186f4: Bug 1290467 - part9 : remove 'ACTION_REMOVE_CONTROL'. r=sebastian
Alastor Wu <alwu@mozilla.com> - Fri, 09 Sep 2016 09:51:10 +0800 - rev 313290
Push 30677 by cbook@mozilla.com at Fri, 09 Sep 2016 10:00:10 +0000
Bug 1290467 - part9 : remove 'ACTION_REMOVE_CONTROL'. r=sebastian Remove 'ACTION_REMOVE_CONTROL' because it's as same as 'ACTION_STOP'. MozReview-Commit-ID: 6KOj8srEuJA
9c459f432b365a3c209f150df5864d3299a91e1f: Bug 1290467 - part8 : rename 'ACTION_PLAY' to 'ACTION_RESUME'. r=sebastian
Alastor Wu <alwu@mozilla.com> - Fri, 09 Sep 2016 09:51:08 +0800 - rev 313289
Push 30677 by cbook@mozilla.com at Fri, 09 Sep 2016 10:00:10 +0000
Bug 1290467 - part8 : rename 'ACTION_PLAY' to 'ACTION_RESUME'. r=sebastian 'ACTION_RESUME' should be more suit for its operation. MozReview-Commit-ID: 4FRHaydVKu5
789d97d6ca60016c83b5b1b5dade71f681c9bfb7: Bug 1290467 - part7 : enable audio competing for non-audible media. r=baku
Alastor Wu <alwu@mozilla.com> - Fri, 09 Sep 2016 09:50:40 +0800 - rev 313288
Push 30677 by cbook@mozilla.com at Fri, 09 Sep 2016 10:00:10 +0000
Bug 1290467 - part7 : enable audio competing for non-audible media. r=baku In general, the audio competing should only be for audible media and it helps user can focus on one media at the same time. However, we hope to treat all media as the same in the mobile device. First reason is we have media control on fennec and we just want to control one media at once time. Second reason is to reduce the bandwidth, avoiding to play any non-audible media in background which user doesn't notice about. MozReview-Commit-ID: yB3181cmVE
7eb048d423d17b3b0a3360897b5f71ed602d670e: Bug 1290467 - part6 : remove redudant space. r=sebastian
Alastor Wu <alwu@mozilla.com> - Fri, 09 Sep 2016 09:50:32 +0800 - rev 313287
Push 30677 by cbook@mozilla.com at Fri, 09 Sep 2016 10:00:10 +0000
Bug 1290467 - part6 : remove redudant space. r=sebastian remove one redudant space. MozReview-Commit-ID: 1PdKL1EALAq
e9512bfae27b0ddabf161a00f6113d1a337e4917: Bug 1290467 - part5 : change service's life time. r=sebastian
Alastor Wu <alwu@mozilla.com> - Fri, 09 Sep 2016 09:50:30 +0800 - rev 313286
Push 30677 by cbook@mozilla.com at Fri, 09 Sep 2016 10:00:10 +0000
Bug 1290467 - part5 : change service's life time. r=sebastian Now the life time of the MediaControlService would be as same as the Fennec app. To make code flow more easily, requesting/abandoning the audio focus wouldn't affect the media control. We would mainly communicate with the media control via TabEvents. MozReview-Commit-ID: KT59bII0HuN
f1f65fd576fc78763b7f2221200c62151aae7f7b: Bug 1290467 - part4 : create helper function. r=sebastian
Alastor Wu <alwu@mozilla.com> - Fri, 09 Sep 2016 09:50:28 +0800 - rev 313285
Push 30677 by cbook@mozilla.com at Fri, 09 Sep 2016 10:00:10 +0000
Bug 1290467 - part4 : create helper function. r=sebastian wrap some code into initialize() and shutdown(). MozReview-Commit-ID: AiyABlyDEME
fdc63760ddc8fca6b9e986b86ae4ac4e1da0b9a7: Bug 1290467 - part3 : notify MediaControlService with event 'MEDIA_PLAYING_CHANGE'. r=sebastian
Alastor Wu <alwu@mozilla.com> - Fri, 09 Sep 2016 09:50:25 +0800 - rev 313284
Push 30677 by cbook@mozilla.com at Fri, 09 Sep 2016 10:00:10 +0000
Bug 1290467 - part3 : notify MediaControlService with event 'MEDIA_PLAYING_CHANGE'. r=sebastian The 'MEDIA_PLAYING_CHANGE' is used for controling media control interface and the 'AUDIO_PLAYING_CHANGE' is used for showing the tab sound indicator. MozReview-Commit-ID: 8hZjC77Ju71
ef1a345f206baf53604b4fff52e46e552623a3bd: Bug 1290467 - part2 : request audio focus for any media instead of audible one. r=snorp
Alastor Wu <alwu@mozilla.com> - Fri, 09 Sep 2016 09:49:25 +0800 - rev 313283
Push 30677 by cbook@mozilla.com at Fri, 09 Sep 2016 10:00:10 +0000
Bug 1290467 - part2 : request audio focus for any media instead of audible one. r=snorp Previous design is only to request audio focus for audible media, but now we also request focus for non-audible media. It's simple that the app should own the focus when users start watching media. MozReview-Commit-ID: 3eJP26h4kh7
c3210fd31140cd5bbe2e35c3439ba2141b8f8a6d: Bug 1290467 - part1 : dispatch 'media-playback' event. r=baku
Alastor Wu <alwu@mozilla.com> - Fri, 09 Sep 2016 09:49:22 +0800 - rev 313282
Push 30677 by cbook@mozilla.com at Fri, 09 Sep 2016 10:00:10 +0000
Bug 1290467 - part1 : dispatch 'media-playback' event. r=baku Use 'media-playback' event to control the media control interface on Fennec. MozReview-Commit-ID: D8SU96RrkbQ
12d5778a37a6e00af12e7272997cebf101104eea: Bug 1294003 - Ensure we destroy DXVA2Manager on main thread if DXVA init fails. r=mattwoodrow
Chris Pearce <cpearce@mozilla.com> - Fri, 09 Sep 2016 16:12:50 +1200 - rev 313281
Push 30677 by cbook@mozilla.com at Fri, 09 Sep 2016 10:00:10 +0000
Bug 1294003 - Ensure we destroy DXVA2Manager on main thread if DXVA init fails. r=mattwoodrow If initializing DXVA fails, we end up destroying the DXVA2Manager on the decode task queue. The DXVA2Manager asserts that it's destroyed on the main thread, so we should dispatch a task to destroy it on the appropriate thread instead of destorying it on the wrong one. MozReview-Commit-ID: 2pbeMOm74et
93c6fdc10d2a0507d7dbde688f4ab3144f95ca42: Bug 1288350 - Temporary reftest list for Stylo vs Gecko test r=heycam,manishearth
Shing Lyu <shing.lyu@gmail.com> - Mon, 05 Sep 2016 11:45:39 +0800 - rev 313280
Push 30677 by cbook@mozilla.com at Fri, 09 Sep 2016 10:00:10 +0000
Bug 1288350 - Temporary reftest list for Stylo vs Gecko test r=heycam,manishearth
da6188fe9f7d03f821b594d3c67cac6c4b248295: Bug 1301561 - Change media.decoder.heuristic.dormant.timeout to 10000 (ms) - r=jwwang
Gerald Squelart <gsquelart@mozilla.com> - Fri, 09 Sep 2016 11:00:21 +1000 - rev 313279
Push 30677 by cbook@mozilla.com at Fri, 09 Sep 2016 10:00:10 +0000
Bug 1301561 - Change media.decoder.heuristic.dormant.timeout to 10000 (ms) - r=jwwang MozReview-Commit-ID: BibXsBpjIQe
76ded056a9dec866e29ba13b4248e4e7e16547f5: Bug 1298979 - move tabs.sendMessage/connect to child process r=billm
Rob Wu <rob@robwu.nl> - Sun, 28 Aug 2016 20:07:46 -0700 - rev 313278
Push 30677 by cbook@mozilla.com at Fri, 09 Sep 2016 10:00:10 +0000
Bug 1298979 - move tabs.sendMessage/connect to child process r=billm - Use the frame's message manager to direct messages via the ProxyMessenger to the right tab instead of directly to the tab. - Put the implementation in a separate file that is only loaded in child processes (in the future). - Explicitly list all addon-process specific files in a new category instead of reusing the content one. MozReview-Commit-ID: 8oIMx9ol7Tl
2fa53669115d638c51a641f579344d3a107af767: Bug 1298979 - Add test to verify that sending a message and unloading works r=billm
Rob Wu <rob@robwu.nl> - Sun, 28 Aug 2016 16:26:52 -0700 - rev 313277
Push 30677 by cbook@mozilla.com at Fri, 09 Sep 2016 10:00:10 +0000
Bug 1298979 - Add test to verify that sending a message and unloading works r=billm Checks what happens before closing a window or removing a frame: - Tests that sendMessage/connect is received by the extension. - Tests that any responses from the extension is not received by the sending script (of the closing context). MozReview-Commit-ID: 9VwCpRmaZOO
f9f94cf30f5342dfa4acb3ec9c1be60f5874d673: Bug 1298979 - Check whether ProxyContext exists before using it r=billm
Rob Wu <rob@robwu.nl> - Thu, 25 Aug 2016 19:36:30 -0700 - rev 313276
Push 30677 by cbook@mozilla.com at Fri, 09 Sep 2016 10:00:10 +0000
Bug 1298979 - Check whether ProxyContext exists before using it r=billm Due to asynchronicity or malice we can receive messages for unknown ProxyContexts. Immediately reject such messages. (this addresses https://bugzil.la/1288902#c3) MozReview-Commit-ID: GEgkZC8CUEG
6d7fe14316447cd8d8cb1354fb9d9890b488d029: Bug 1298979 - Fix LegacyExtensionContext r=aswan
Rob Wu <rob@robwu.nl> - Tue, 06 Sep 2016 01:48:58 -0700 - rev 313275
Push 30677 by cbook@mozilla.com at Fri, 09 Sep 2016 10:00:10 +0000
Bug 1298979 - Fix LegacyExtensionContext r=aswan LegacyExtensionContext should inherit from BaseContext instead of ExtensionContext, because the latter is moving to a separate process. Remove the optional `url` parameter because the context is not a frame. `url` is assigned to `sender.url`, which should only be set for frames. The sender is only used in extension messaging when `runtime.connect` or `runtime.sendMessage` are used (where `sender.url` is visible at the receiver). Since legacy extensions don't send messages, there is no point at all in setting the `url` value. MozReview-Commit-ID: FJboNC2SZh0
329102a4c68241bc15f4cd775d9f269e588a91f9: Bug 1298979 - Add ProxyMessenger, change message managers and getSender r=billm
Rob Wu <rob@robwu.nl> - Thu, 25 Aug 2016 17:08:08 -0700 - rev 313274
Push 30677 by cbook@mozilla.com at Fri, 09 Sep 2016 10:00:10 +0000
Bug 1298979 - Add ProxyMessenger, change message managers and getSender r=billm - Introduce a proxy for IPC messages to allow the following APIs to be run out-of-process (ProxyMessenger): * runtime.connect * runtime.sendMessage * tabs.connect * tabs.sendMessage * runtime.onConnect * runtime.onMessage - Update getSender in ext-tabs, make it independent of the context (in particular do not throw an error when a message is received while the tab is gone), and move it from MessageChannel to ProxyMessenger to make sure that it works in webext-oop. MessageChannel lives in a child process, whereas the TabManager (used by getSender) requires data from the main process. - Set the third parameter of `addMessageListener` to true in some places to make sure that messages get delivered even after unloading the context. This is needed for the next two points. - Put the `messageManager` property in BaseContext, and let it be set by `setContentWindow` - runtime.sendMessage/connect and tabs.sendMessage/ connect depends on this property, and using the frame message manager makes sense. - Unconditionally use the frame message manager in runtime.sendMessage/connect instead of sometimes the cpmm. MozReview-Commit-ID: 4QkPnlMOkjS
c476c4fbe3a3817ae3b2c1783eb781ceaab419b1: Bug 1298979 - Decouple ProxyContext from ExtensionContext r=billm
Rob Wu <rob@robwu.nl> - Wed, 24 Aug 2016 23:29:29 -0700 - rev 313273
Push 30677 by cbook@mozilla.com at Fri, 09 Sep 2016 10:00:10 +0000
Bug 1298979 - Decouple ProxyContext from ExtensionContext r=billm To allow ExtensionContext to be refactored, we first need to remove the dependency of ProxyContext on ExtensionContext. With the decoupling, we can make setContentWindow unconditional and remove externallyVisible. Let's clean up later. MozReview-Commit-ID: 1KmSQpxFTVK
f99427fa29f08f161416073766a2b22d918fcdec: Bug 1298979 - Use MessageChannel to implement runtime.Port r=billm
Rob Wu <rob@robwu.nl> - Wed, 31 Aug 2016 01:08:08 -0700 - rev 313272
Push 30677 by cbook@mozilla.com at Fri, 09 Sep 2016 10:00:10 +0000
Bug 1298979 - Use MessageChannel to implement runtime.Port r=billm - Add new responseType RESPONSE_NONE to MessageChannel to signal no expected reply. - Modify Port to use MessageChannel instead of message managers. - Include the `port` object to the disconnect event of ports because Chrome does it too. - Replace use of `contentWindow` with `cloneScope` to make the Port independent of documents. - Move registration of context destruction from `api()` to the constructor to make sure that the disconnect listener is properly removed if for some reason the `api` method is never called. MozReview-Commit-ID: 9LCo5x1kEbH
d074142f6055ceb79e2cf4572dd4e2d38663f850: Bug 1298979 - Test sender equality by contextId r=kmag
Rob Wu <rob@robwu.nl> - Tue, 06 Sep 2016 04:35:35 -0700 - rev 313271
Push 30677 by cbook@mozilla.com at Fri, 09 Sep 2016 10:00:10 +0000
Bug 1298979 - Test sender equality by contextId r=kmag `this.sender` has a tabId, `sender.tab` has a tab object. Therefore they are not equal, and as a result messages were sent to the same frame. Fixed by relying on contextId, which is unique across processes since bug 1288279. MozReview-Commit-ID: 8jMoXiBfp6l
(0) -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 +100000 tip