I observe that sometime it takes longer time for the UI notification changed in
try sever, and it cause the intermittent fail.
Therefore, I would like to increase a little bit time for waiting UI changed.
MozReview-Commit-ID: BnsZq3DObFa
--HG--
extra : rebase_source : 034f38799a2f9722f23bb0a2a139047d21508729
Use notification id to check whether the notification is correct is more stable than just checking the
number of system notification.
MozReview-Commit-ID: BVYdMrBsSLR
--HG--
extra : rebase_source : 9be3ca9a854c25a61bf233a24e7ed7745efacb1a
Since the robocop tests would run on super slow emulator on try, and then we
can't wait the tab's audible state change within the MAX_WAIT_MS time. It might
need more time.
So, we should check the media has been started by waiting the "Tab:MediaPlaybackChange"
event, and then to check other tab's attribute.
In addition, move the tab attribute checking independently into new functions,
so that we would clearly see that we have four things need to check in function
checkIfMediaPlayingSuccess().
- tab's media playing state
- media notification UI
- tab's audio playing state
- audio focus state
MozReview-Commit-ID: 8S0Ems23iPX
--HG--
extra : rebase_source : 9bbe525ba1dcdf8415d034ced39d9a9a4836f1e9
To make sure these functions can be used in robocop test.
MozReview-Commit-ID: KPAKOrg5Ows
--HG--
extra : rebase_source : 8ef6dd7c14e8dc0d3219aed0901793a17f945372
Add check for media notification's small icon, title and content text.
MozReview-Commit-ID: AOhag8gQVqs
--HG--
extra : rebase_source : 8ad1c7fa0e7796a0d873fba432c646846a0742d3
It's easy to know what test tasks we'll run in this test.
MozReview-Commit-ID: DdtFp4pOXlC
--HG--
extra : rebase_source : 5615d2c1169ee0f59c95ab21d3e5e2fd26c99a33
Create new test class for reducing the redundant code and can provide more
flexibility for adding new related test in the future.
MozReview-Commit-ID: 2f3O8vfHo12
--HG--
extra : rebase_source : 2b0d7a337c87afd8e844f435f7e605b881f1aa1b
Notify observer might cause the method (notifyStoppedPlaying) is called by C++ side,
and we should change our internal state before calling the method.
MozReview-Commit-ID: 5xNXhGmAIrR
--HG--
extra : rebase_source : 362f921e68d795f568816b1c0a23c0f50c5d0790
When starting up, ideally we want to only load the foreground tab, with all other tabs being created as delay-loaded "zombie" tabs that occupy minimal resources. To that extent, when restoring the previous session we need to know whether we're planning to open an additional, external tab for a URL received through the launch intent later on. If we do, we don't want to select any tab while restoring the previous session, as that selection is going to be overridden by the external tab anyway. Not selecting a tab from the previous session at this stage means that it can remain as a delay-loaded tab until it is eventually selected by the user.
MozReview-Commit-ID: 1lWnOx0ZuNl
--HG--
extra : rebase_source : 03a286ec3e1c66856d2ffb526cd4277c89b29594
MediaCodec supports async callbacks since Lollipop. Buffer polling is no longer needed.
MozReview-Commit-ID: Iov65JI86i8
--HG--
extra : rebase_source : c3b0ed330e46ee2328de4d031c96f9792895c3b5
This allows us to allocate an Android SurfaceTexture in the compositor process as well
as an accompanying Surface. We can then transfer the Surface back to the content process
via binder, where it can be used for things like WebGL and video decoding.
Each SurfaceTexture/Surface pair has a unique handle. We use this handle in
layer transactions to locate the SurfaceTexture for a given Surface and composite it
appropriately.
MozReview-Commit-ID: 68VSbXdfsMH
Video fails to play on Sony Z3C when the media server is in a state that no hardware codec can be created unless reboot. Fallback to software codec when that happens to workaround the issue.
MozReview-Commit-ID: AaRIw7KPaF3
--HG--
extra : rebase_source : d5106d5c75c4430450a81bbe9cfd536f01ef4df9