webkit: Multi-context HTML5 video support

- Support multiple concurrent HTML5 video playback in inline mode
- Free HTML5 video media player when loading new page
- Omit seek when resuming playback from paused state
- Enable volume control for HTML5 media elements

Change-Id: Ie6706f4feea8410ec6cd440e146efbcbb0253260
webkit: Support multi-context HTML5 audio

Browser supports pages with multiple HTML5 audio elements but only one
audio source will have audio focus at any given time.

Focus will be given to the most recently started audio. Previously
playing audio will be paused.

Change-Id: I04fad7c919a2e45249d16bc282884a2cf3f375b5
webkit: Handle AudioManager callback events on webcore thread

AudioManager callback may occur on a thread other than the WebCore
thread.  To avoid synchronization of MediaPlayer calls outside the
WebCore thread, create a WebCore message handler and redirect
AudioManager events to the WebCore message handler.

(cherry picked from commit f563a9e67b09dac669897b896ee3711c045c43b9)

Change-Id: I64aca4940cb6faf922b3866f44d98bb7779ff070
CRs-fixed: 343893
webkit: Show last frame of streaming video when buffering.

HTML5 Video now detects buffering state during streaming
videos and communicate this status to the video player
so that video player can present recent frame of
video during buffering instead of a grey frame.

CRs-fixed: 329061
(cherry picked from commit 9fe3eab1191d9fa97621f2c7cdd28e4954720fcb)

Change-Id: I5a51226bc29ed2a5924d33947ebf558740c41b2c
Webkit: Fix callback notification upon end of video playback

Trigger onEnded callback only upon video playback completion.

CRs-fixed: 333027

(cherry picked from commit 9e603557ea5f0196a4b9633435891de09bb406a2)

Change-Id: Id089075831328296a92e4665583d316cfbbd2cfd
Feature permissions for Proteus device api framework

Change-Id: Id3bb12a1ff8af5df0eb960c780accd8f625d9345
BrowserManagement

Opensource changes corresponding to BrowserManagement feature
Change-Id: Icae49df023c51e9ee8ecc823ffd854dbe2e8edcd
Porting missing changes for Feature permissions for Proteus device api framework

Change-Id: Id3bb12a1ff8af5df0eb960c780accd8f625d9345
webkit: Support playing HTML5 video in fullscreen mode at once

Support entering fullscreen before video has started playing inline.
Support javascript call to play video while in fullscreen mode.

Change-Id: I4d11388790affc555b5420670a6783d8497b895b
CRs-fixed: 328354
BrowserManagement

Change-Id: I21421742d84fda418c18aeb21c29aef6f994c701
BrowserManagement: Unregister BatIntent on webview destroy
(cherry picked from commit eddab22475ce4afb9bb7a36a7f9ed1fef9c5631a)
BrowserManagement

BrowserManagement: Added small enhancements to an existing feature, to cover
more scenarios and some code cleanup for compactness

Change-Id: I631ac7208a5645feb103b73a1136a848a6fbc734
(cherry picked from commit 753e5b3467754ed70588194e1b8353fa89fa3381)
Browser sets up the min freq while scrolling

CRs-Fixed: 341058
(cherry picked from commit a89eef5f0183821d9730cc9db900b44ec1a8d4a2)

Change-Id: Iee9067113819fe2bfc28740b919f5cd44cc2a5bd
Support for runtime WOFF enablement

Change-Id: Ibedbdcae7bc14d21bdfcec63058525e5d19684bd
Add onVideoSizeChangedListener to HTML5VideoView

onVideoSizeChangedListener handles the corresponding event
to update size/duration of a video if they are unknown.
It is to support Media Player implementations where video
size is not known until playback starts.

Change-Id: I4cf9f8bd07b132a0f1a9039d88385b9b83ffde37
Revert "Skia API changes as a result of an update to the Skia library."

This reverts commit 889a3fa6ab9710104af60db5f73d69f253ddf254.