Because the emulator is super slow, it would need longer time to wait for the tab's playback status changed.
MozReview-Commit-ID: CLUimz6pF26
--HG--
extra : rebase_source : 11324f446dee72e813e901579614659e16d0d4d9
Right now, Fennec builds against Android SDK 23. ExoPlayer expects to
build against Android SDK 24 (but targets Android platform 9 and
above).
We replace constant values introduced in Android SDK 24 with values manually copied from
https://developer.android.com/index.html and we cull unused code from CryptoInfo.java.
Together, these changes allow ExoPlayer to build against Android SDK 23.
Bug 1365543 tracks reverting these changes once Bug 1259098 lands and Fennec builds against Android SDK 24.
MozReview-Commit-ID: 7wz5qIROCN
--HG--
extra : rebase_source : 556168e1d07a2a699952262cd4abba99acd59874
ExoPlayer is an application level media player for Android. It provides an alternative to Android’s MediaPlayer API for playing audio and video both locally and over the Internet. ExoPlayer supports features not currently supported by Android’s MediaPlayer API, including DASH and SmoothStreaming adaptive playbacks. Unlike the MediaPlayer API, ExoPlayer is easy to customize and extend, and can be updated through Play Store application updates.
ExoPlayer is licensed Apache 2.0, so it's fully compatible with Mozilla's MPL.
The import is the contents of d979469659/library
without {ui/,dash/,smoothstreaming/,all/} subdirectories.
MozReview-Commit-ID: 6ut5O3Yb5Tp
--HG--
extra : rebase_source : f05118ecbc9d0506f0411f160b2d14ea2508c229
A feature flag named MOZ_ANDROID_HLS_SUPPORT is added.
HLS (HTTP Live Streaming) is supported on different browsers on mobile devices.
By integrating ExoPlayer's components into Fennec, we're able to play media via HLS on Fennec.
MozReview-Commit-ID: Igubn98UPjh
--HG--
extra : rebase_source : a9740cda5e67c1a1d3ce714761bf33e441060fd8
Right now, Fennec builds against Android SDK 23. ExoPlayer expects to
build against Android SDK 24 (but targets Android platform 9 and
above).
We replace constant values introduced in Android SDK 24 with values manually copied from
https://developer.android.com/index.html and we cull unused code from CryptoInfo.java.
Together, these changes allow ExoPlayer to build against Android SDK 23.
Bug 1365543 tracks reverting these changes once Bug 1259098 lands and Fennec builds against Android SDK 24.
MozReview-Commit-ID: 7wz5qIROCN
--HG--
extra : rebase_source : cb4f39699a3c6b6d8f2390091bd22b536e69e843
ExoPlayer is an application level media player for Android. It provides an alternative to Android’s MediaPlayer API for playing audio and video both locally and over the Internet. ExoPlayer supports features not currently supported by Android’s MediaPlayer API, including DASH and SmoothStreaming adaptive playbacks. Unlike the MediaPlayer API, ExoPlayer is easy to customize and extend, and can be updated through Play Store application updates.
ExoPlayer is licensed Apache 2.0, so it's fully compatible with Mozilla's MPL.
The import is the contents of d979469659/library
without {ui/,dash/,smoothstreaming/,all/} subdirectories.
MozReview-Commit-ID: 6ut5O3Yb5Tp
--HG--
extra : rebase_source : 787d349b9fb349e62c2f7a641e2b53e64c8c50c7
A feature flag named MOZ_ANDROID_HLS_SUPPORT is added.
HLS (HTTP Live Streaming) is supported on different browsers on mobile devices.
By integrating ExoPlayer's components into Fennec, we're able to play media via HLS on Fennec.
MozReview-Commit-ID: Igubn98UPjh
--HG--
extra : rebase_source : 5cf98ae4ac962c5e42ba2f67f984a9b6483a88b2
Workaround for stagefright bug in Android 5.0/Lollipop.
MozReview-Commit-ID: AYiEff0nGoj
--HG--
extra : rebase_source : fb42c483b774900ec9e933d4b9cbca37386c9d61
Activity switching is now handled by the currently active GeckoApp instance, which obviously doesn't work if all of them are currently backgrounded.
To fix this, we track for each tab whether its selection was handled by a foregrounded GeckoApp instance. If it wasn't, we catch up with any possibly necessary activity switches during the next resume.
MozReview-Commit-ID: JEjQUuDJw5Q
--HG--
extra : rebase_source : b7a9f5a4ad4811c1c9e9d24eaae61f3757c64442
Normally, receiving a new intent means we want to switch tabs/open a new tab, so we need to turn off our "last selected tab in this activity" logic, however this is not true when we receive a simple Intent.ACTION_MAIN, e.g. when we're being brought into the foreground from a launcher icon (as opposed to the activity/task switcher).
MozReview-Commit-ID: ExiM3c8iaEA
--HG--
extra : rebase_source : c2c60a07c1cbbd6d3e1d16557721e975ae932a55
The SiteIdentityPopup has a clickable-text to show a dialog to edit
permission for the browsring-site. Its visibility is decided by message
from EventDispatcher("Permission:CheckResult").
Now register listener by visibility of ActionBar.(or Activity, actually).
MozReview-Commit-ID: CUU1gCKqh02
--HG--
extra : rebase_source : d5efe854a544a0529abe3030ba73fea2bcce0c2d
Use this way to wrap drawable to make tinting works.
MozReview-Commit-ID: rbblrr3ysy
--HG--
extra : rebase_source : cf0a90e9244e58bc0e6423dcb738b16f88437164
Now we only use Light theme, and its look and feel more close to
Full-Browser. Hopefully when we re-use gecko widgets will have less
visual issue.
In ActionBar, the tint color follows text color. And the text color is
decided by Top toolbar background.
MozReview-Commit-ID: JrFAdLmk3Fk
--HG--
extra : rebase_source : 638fe6b3e5c7bbd37a58b21df9de266743c8d597
Switching between different GeckoApp instances in response to tab selection no longer requires the GeckoActivityMonitor for getting the current activity, so we no longer need to manually set the current activity for the benefit of code that executes early during onCreate/onNewIntent.
MozReview-Commit-ID: E9BQhRclDfS
--HG--
extra : rebase_source : 7fd279d5450c95d00d1df93b84b7a0679f686305
To avoid the need for tracking the currently active activity, we just respond from the activity itself by using GeckoApp's tab event listener.
As replacement for the "closeTabNoActivitySwitch()" function, we set a flag on the activity instead before closing the tab.
MozReview-Commit-ID: LdmyJ5i10jZ
--HG--
extra : rebase_source : c960b58eae3c862f89fef188022f8d71c88f06c6
These methods already take a tab object as their argument, so we just turn them into Tab member functions.
MozReview-Commit-ID: 7fp7bzDbRja
--HG--
extra : rebase_source : 801ee697138cdda8f82402583ee5348b74625197
We want to move the activity switching code into the activity (i.e. GeckoApp) itself and run it from its onTabChanged handler in response to the appropriate events (at the moment that's only SELECTED), so we need to ensure that this will actually be called within custom tabs/web apps as well.
Additionally, there's no need to separately register the tab events listener from the CustomTabs/WebAppActivity as well if our parent class already does it for us.
MozReview-Commit-ID: 6PIq1KncDcA
--HG--
extra : rebase_source : ba6448d214b26f966bccf1deb6f87c931dac2ec1
Change severity of newapi to error and white list current not fixed newapi problems
So future unchecked NewApi issues will be blocked
MozReview-Commit-ID: LglV50mILn4
--HG--
extra : rebase_source : 9191d61c3cc934212153346e017e1c37c1972b20
There were two issues that prevented the static snapshot toolbar and
real chrome toolbar from staying in sync.
1) When a page would resize such as when going fullscreen, if the
root content document was not scrollable, the animator would not receive
root composition page size updates. The page resize is used by the
animator to hide the static snapshot, so it would remain visible while
the real chrome toolbar would be hidden.
2) Certain places in UI java code would toggle the chrome state directly
instead of going through the animator to change the state.
MozReview-Commit-ID: DCQgRFS0UAO
Per bug 1363811 comment 1, it's actually a bug that the linter doesn't
complain about it like it did in bug 1358215.
--HG--
extra : rebase_source : 68f0d022fb4f2c4e2de38edbafa314db42b7e103
UAOverridesBootstrapper.js is introduced to delay the initialization of
UserAgentOverrides.jsm until the creation of the first nsHttpChannel.
Uninit will be triggered at profile-change-net-teardown because no network
traffice after this point.
MozReview-Commit-ID: F8Lpn6RyZEm
--HG--
extra : rebase_source : 7c3649b50ad8594dc0968961fbbd2766d0d98b0a