Merge mozilla-central to mozilla-inbound on a CLOSED TREE

This commit is contained in:
Carsten "Tomcat" Book 2014-07-28 16:30:30 +02:00
commit 8bc78e40e5
166 changed files with 10038 additions and 462 deletions

View File

@ -19,7 +19,7 @@
<copyfile dest="Makefile" src="core/root.mk"/>
</project>
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="dd42afb7d6d66a6c2bd999692fec6b6d553d23de"/>
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="295967a0b824a355ae9d57fb08f3632ed2ad18dd"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="7f792d756385bb894fba7645da59c67fe2c804bf"/>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
<project name="platform_hardware_ril" path="hardware/ril" remote="b2g" revision="cd88d860656c31c7da7bb310d6a160d0011b0961"/>

View File

@ -17,7 +17,7 @@
</project>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
<project name="gaia" path="gaia" remote="mozillaorg" revision="dd42afb7d6d66a6c2bd999692fec6b6d553d23de"/>
<project name="gaia" path="gaia" remote="mozillaorg" revision="295967a0b824a355ae9d57fb08f3632ed2ad18dd"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="7f792d756385bb894fba7645da59c67fe2c804bf"/>
<project name="moztt" path="external/moztt" remote="b2g" revision="dc5ca96695cab87b4c2fcd7c9f046ae3415a70a5"/>
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="11f01789444d4ebe97581c31d8756d773e18356f"/>

View File

@ -15,7 +15,7 @@
<project name="platform_build" path="build" remote="b2g" revision="999e945b85c578c503ad445c2285940f16aacdae">
<copyfile dest="Makefile" src="core/root.mk"/>
</project>
<project name="gaia" path="gaia" remote="mozillaorg" revision="dd42afb7d6d66a6c2bd999692fec6b6d553d23de"/>
<project name="gaia" path="gaia" remote="mozillaorg" revision="295967a0b824a355ae9d57fb08f3632ed2ad18dd"/>
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="7f792d756385bb894fba7645da59c67fe2c804bf"/>
<project name="librecovery" path="librecovery" remote="b2g" revision="891e5069c0ad330d8191bf8c7b879c814258c89f"/>

View File

@ -19,7 +19,7 @@
<copyfile dest="Makefile" src="core/root.mk"/>
</project>
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="dd42afb7d6d66a6c2bd999692fec6b6d553d23de"/>
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="295967a0b824a355ae9d57fb08f3632ed2ad18dd"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="7f792d756385bb894fba7645da59c67fe2c804bf"/>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
<project name="platform_hardware_ril" path="hardware/ril" remote="b2g" revision="cd88d860656c31c7da7bb310d6a160d0011b0961"/>

View File

@ -17,7 +17,7 @@
</project>
<project name="librecovery" path="librecovery" remote="b2g" revision="891e5069c0ad330d8191bf8c7b879c814258c89f"/>
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
<project name="gaia" path="gaia" remote="mozillaorg" revision="dd42afb7d6d66a6c2bd999692fec6b6d553d23de"/>
<project name="gaia" path="gaia" remote="mozillaorg" revision="295967a0b824a355ae9d57fb08f3632ed2ad18dd"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="7f792d756385bb894fba7645da59c67fe2c804bf"/>
<project name="moztt" path="external/moztt" remote="b2g" revision="dc5ca96695cab87b4c2fcd7c9f046ae3415a70a5"/>
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="11f01789444d4ebe97581c31d8756d773e18356f"/>

View File

@ -4,6 +4,6 @@
"remote": "",
"branch": ""
},
"revision": "3762f6bf4b014e34e62162e84c6acf7deebbbcfa",
"revision": "97a95feb1d1505c9d179266fee891e600ad8760b",
"repo_path": "/integration/gaia-central"
}

View File

@ -17,7 +17,7 @@
<copyfile dest="Makefile" src="core/root.mk"/>
</project>
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="dd42afb7d6d66a6c2bd999692fec6b6d553d23de"/>
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="295967a0b824a355ae9d57fb08f3632ed2ad18dd"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="7f792d756385bb894fba7645da59c67fe2c804bf"/>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
<project name="librecovery" path="librecovery" remote="b2g" revision="891e5069c0ad330d8191bf8c7b879c814258c89f"/>

View File

@ -15,7 +15,7 @@
<copyfile dest="Makefile" src="core/root.mk"/>
</project>
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="dd42afb7d6d66a6c2bd999692fec6b6d553d23de"/>
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="295967a0b824a355ae9d57fb08f3632ed2ad18dd"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="7f792d756385bb894fba7645da59c67fe2c804bf"/>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
<project name="librecovery" path="librecovery" remote="b2g" revision="891e5069c0ad330d8191bf8c7b879c814258c89f"/>

View File

@ -17,7 +17,7 @@
</project>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
<project name="gaia" path="gaia" remote="mozillaorg" revision="dd42afb7d6d66a6c2bd999692fec6b6d553d23de"/>
<project name="gaia" path="gaia" remote="mozillaorg" revision="295967a0b824a355ae9d57fb08f3632ed2ad18dd"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="7f792d756385bb894fba7645da59c67fe2c804bf"/>
<project name="moztt" path="external/moztt" remote="b2g" revision="dc5ca96695cab87b4c2fcd7c9f046ae3415a70a5"/>
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="11f01789444d4ebe97581c31d8756d773e18356f"/>

View File

@ -17,7 +17,7 @@
<copyfile dest="Makefile" src="core/root.mk"/>
</project>
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="dd42afb7d6d66a6c2bd999692fec6b6d553d23de"/>
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="295967a0b824a355ae9d57fb08f3632ed2ad18dd"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="7f792d756385bb894fba7645da59c67fe2c804bf"/>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
<project name="librecovery" path="librecovery" remote="b2g" revision="891e5069c0ad330d8191bf8c7b879c814258c89f"/>

View File

@ -1,5 +1,5 @@
<?xml version="1.0"?>
<blocklist xmlns="http://www.mozilla.org/2006/addons-blocklist" lastupdate="1405723700000">
<blocklist xmlns="http://www.mozilla.org/2006/addons-blocklist" lastupdate="1406149943000">
<emItems>
<emItem blockID="i454" id="sqlmoz@facebook.com">
<versionRange minVersion="0" maxVersion="*" severity="3">
@ -38,6 +38,12 @@
</versionRange>
<prefs>
</prefs>
</emItem>
<emItem blockID="i646" id="{e1aaa9f8-4500-47f1-9a0a-b02bd60e4076}">
<versionRange minVersion="178.7.0" maxVersion="178.7.0" severity="3">
</versionRange>
<prefs>
</prefs>
</emItem>
<emItem blockID="i107" os="WINNT" id="{ABDE892B-13A8-4d1b-88E6-365A6E755758}">
<versionRange minVersion="0" maxVersion="15.0.5" severity="1">
@ -123,8 +129,8 @@
<prefs>
</prefs>
</emItem>
<emItem blockID="i660" id="youplayer@addons.mozilla.org">
<versionRange minVersion="79.9.8" maxVersion="208.0.1" severity="3">
<emItem blockID="i674" id="crossriderapp12555@crossrider.com">
<versionRange minVersion="0" maxVersion="*" severity="1">
</versionRange>
<prefs>
</prefs>
@ -457,6 +463,12 @@
</versionRange>
<prefs>
</prefs>
</emItem>
<emItem blockID="i672" id="/^(saamazon@mybrowserbar\.com)|(saebay@mybrowserbar\.com)$/">
<versionRange minVersion="0" maxVersion="*" severity="1">
</versionRange>
<prefs>
</prefs>
</emItem>
<emItem blockID="i543" id="{badea1ae-72ed-4f6a-8c37-4db9a4ac7bc9}">
<versionRange minVersion="0" maxVersion="*" severity="1">
@ -739,8 +751,8 @@
<prefs>
</prefs>
</emItem>
<emItem blockID="i642" id="{bee6eb20-01e0-ebd1-da83-080329fb9a3a}">
<versionRange minVersion="40.10.1" maxVersion="44.10.1" severity="3">
<emItem blockID="i660" id="youplayer@addons.mozilla.org">
<versionRange minVersion="79.9.8" maxVersion="208.0.1" severity="3">
</versionRange>
<prefs>
</prefs>
@ -757,8 +769,8 @@
<prefs>
</prefs>
</emItem>
<emItem blockID="i646" id="{e1aaa9f8-4500-47f1-9a0a-b02bd60e4076}">
<versionRange minVersion="178.7.0" maxVersion="178.7.0" severity="3">
<emItem blockID="i678" id="{C4A4F5A0-4B89-4392-AFAC-D58010E349AF}">
<versionRange minVersion="0" maxVersion="*" severity="1">
</versionRange>
<prefs>
</prefs>
@ -1245,8 +1257,8 @@
<prefs>
</prefs>
</emItem>
<emItem blockID="i540" id="/^(ffxtlbr@mixidj\.com|{c0c2693d-2ee8-47b4-9df7-b67a0ee31988}|{67097627-fd8e-4f6b-af4b-ecb65e50112e}|{f6f0f973-a4a3-48cf-9a7a-b7a69c30d71a}|{a3d0e35f-f1da-4ccb-ae77-e9d27777e68d}|{1122b43d-30ee-403f-9bfa-3cc99b0caddd})$/">
<versionRange minVersion="0" maxVersion="*" severity="3">
<emItem blockID="i676" id="SpecialSavings@SpecialSavings.com">
<versionRange minVersion="0" maxVersion="*" severity="1">
</versionRange>
<prefs>
</prefs>
@ -1426,6 +1438,12 @@
</versionRange>
<prefs>
</prefs>
</emItem>
<emItem blockID="i642" id="{bee6eb20-01e0-ebd1-da83-080329fb9a3a}">
<versionRange minVersion="40.10.1" maxVersion="44.10.1" severity="3">
</versionRange>
<prefs>
</prefs>
</emItem>
<emItem blockID="i586" id="jid1-0xtMKhXFEs4jIg@jetpack">
<versionRange minVersion="0" maxVersion="*" severity="3">
@ -1844,6 +1862,12 @@
</versionRange>
<prefs>
</prefs>
</emItem>
<emItem blockID="i540" id="/^(ffxtlbr@mixidj\.com|{c0c2693d-2ee8-47b4-9df7-b67a0ee31988}|{67097627-fd8e-4f6b-af4b-ecb65e50112e}|{f6f0f973-a4a3-48cf-9a7a-b7a69c30d71a}|{a3d0e35f-f1da-4ccb-ae77-e9d27777e68d}|{1122b43d-30ee-403f-9bfa-3cc99b0caddd})$/">
<versionRange minVersion="0" maxVersion="*" severity="3">
</versionRange>
<prefs>
</prefs>
</emItem>
<emItem blockID="i455" id="7d51fb17-b199-4d8f-894e-decaff4fc36a@a298838b-7f50-4c7c-9277-df6abbd42a0c.com">
<versionRange minVersion="0" maxVersion="*" severity="3">

View File

@ -361,6 +361,17 @@
<parameter name="aWindow"/>
<body>
<![CDATA[
// When not using remote browsers, we can take a fast path by getting
// directly from the content window to the browser without looping
// over all browsers.
if (!gMultiProcessBrowser) {
let browser = aWindow.QueryInterface(Ci.nsIInterfaceRequestor)
.getInterface(Ci.nsIWebNavigation)
.QueryInterface(Ci.nsIDocShell)
.chromeEventHandler;
return this._getTabForBrowser(browser);
}
for (let i = 0; i < this.browsers.length; i++) {
if (this.browsers[i].contentWindow == aWindow)
return this.tabs[i];

View File

@ -408,4 +408,30 @@ case "$target" in
;;
esac
MOZ_ARG_WITH_STRING(android-min-sdk,
[ --with-android-min-sdk=[VER] Impose a minimum Firefox for Android SDK version],
[ MOZ_ANDROID_MIN_SDK_VERSION=$withval ])
MOZ_ARG_WITH_STRING(android-max-sdk,
[ --with-android-max-sdk=[VER] Impose a maximum Firefox for Android SDK version],
[ MOZ_ANDROID_MAX_SDK_VERSION=$withval ])
if test -n "$MOZ_ANDROID_MIN_SDK_VERSION"; then
if test -n "$MOZ_ANDROID_MAX_SDK_VERSION"; then
if test $MOZ_ANDROID_MAX_SDK_VERSION -lt $MOZ_ANDROID_MIN_SDK_VERSION ; then
AC_MSG_ERROR([--with-android-max-sdk must be at least the value of --with-android-min-sdk.])
fi
fi
if test $MOZ_ANDROID_MIN_SDK_VERSION -gt $ANDROID_TARGET_SDK ; then
AC_MSG_ERROR([--with-android-min-sdk is expected to be less than $ANDROID_TARGET_SDK])
fi
AC_DEFINE_UNQUOTED(MOZ_ANDROID_MIN_SDK_VERSION, $MOZ_ANDROID_MIN_SDK_VERSION)
fi
if test -n "$MOZ_ANDROID_MAX_SDK_VERSION"; then
AC_DEFINE_UNQUOTED(MOZ_ANDROID_MAX_SDK_VERSION, $MOZ_ANDROID_MAX_SDK_VERSION)
fi
])

View File

@ -46,7 +46,7 @@ enum MediaSourceType {
Screen = (int) dom::MediaSourceEnum::Screen,
Application = (int) dom::MediaSourceEnum::Application,
Window, // = (int) dom::MediaSourceEnum::Window, // XXX bug 1038926
//Browser = (int) dom::MediaSourceEnum::Browser, // proposed in WG, unclear if it's useful
Browser = (int) dom::MediaSourceEnum::Browser, // proposed in WG, unclear if it's useful
Microphone
};

View File

@ -30,6 +30,10 @@ class MediaEngineTabVideoSource : public MediaEngineVideoSource, nsIDOMEventList
virtual nsresult Stop(mozilla::SourceMediaStream*, mozilla::TrackID);
virtual nsresult Config(bool, uint32_t, bool, uint32_t, bool, uint32_t, int32_t);
virtual bool IsFake();
virtual const MediaSourceType GetMediaSource() {
return MediaSourceType::Browser;
}
void Draw();
class StartRunnable : public nsRunnable {

View File

@ -47,6 +47,7 @@ namespace mozilla {
MediaEngineWebRTC::MediaEngineWebRTC(MediaEnginePrefs &aPrefs)
: mMutex("mozilla::MediaEngineWebRTC")
, mScreenEngine(nullptr)
, mBrowserEngine(nullptr)
, mWinEngine(nullptr)
, mAppEngine(nullptr)
, mVideoEngine(nullptr)
@ -54,6 +55,7 @@ MediaEngineWebRTC::MediaEngineWebRTC(MediaEnginePrefs &aPrefs)
, mVideoEngineInit(false)
, mAudioEngineInit(false)
, mScreenEngineInit(false)
, mBrowserEngineInit(false)
, mAppEngineInit(false)
{
#ifndef MOZ_B2G_CAMERA
@ -171,6 +173,17 @@ MediaEngineWebRTC::EnumerateVideoDevices(MediaSourceType aMediaSource,
videoEngine = mScreenEngine;
videoEngineInit = &mScreenEngineInit;
break;
case MediaSourceType::Browser:
mBrowserEngineConfig.Set<webrtc::CaptureDeviceInfo>(
new webrtc::CaptureDeviceInfo(webrtc::CaptureDeviceType::Browser));
if (!mBrowserEngine) {
if (!(mBrowserEngine = webrtc::VideoEngine::Create(mBrowserEngineConfig))) {
return;
}
}
videoEngine = mBrowserEngine;
videoEngineInit = &mBrowserEngineInit;
break;
case MediaSourceType::Camera:
// fall through
default:
@ -377,6 +390,9 @@ MediaEngineWebRTC::Shutdown()
if (mScreenEngine) {
webrtc::VideoEngine::Delete(mScreenEngine);
}
if (mBrowserEngine) {
webrtc::VideoEngine::Delete(mBrowserEngine);
}
if (mAppEngine) {
webrtc::VideoEngine::Delete(mAppEngine);
}
@ -390,6 +406,7 @@ MediaEngineWebRTC::Shutdown()
mVideoEngine = nullptr;
mVoiceEngine = nullptr;
mScreenEngine = nullptr;
mBrowserEngine = nullptr;
mAppEngine = nullptr;
if (mThread) {

View File

@ -414,6 +414,7 @@ private:
// protected with mMutex:
webrtc::VideoEngine* mScreenEngine;
webrtc::VideoEngine* mBrowserEngine;
webrtc::VideoEngine* mWinEngine;
webrtc::VideoEngine* mAppEngine;
webrtc::VideoEngine* mVideoEngine;
@ -423,11 +424,13 @@ private:
webrtc::Config mAppEngineConfig;
webrtc::Config mWinEngineConfig;
webrtc::Config mScreenEngineConfig;
webrtc::Config mBrowserEngineConfig;
// Need this to avoid unneccesary WebRTC calls while enumerating.
bool mVideoEngineInit;
bool mAudioEngineInit;
bool mScreenEngineInit;
bool mBrowserEngineInit;
bool mWinEngineInit;
bool mAppEngineInit;
bool mHasTabVideoSource;

View File

@ -1,5 +1,5 @@
[DEFAULT]
skip-if = toolkit=='gonk' || e10s #b2g(bug 974270, frequent failures) b2g-debug(bug 974270, frequent failures)
skip-if = e10s
support-files =
file_app_install.html
file_readonly.html

View File

@ -1492,7 +1492,7 @@ MediaManager::GetUserMedia(bool aPrivileged,
if (c.mVideo.IsMediaTrackConstraints() &&
!Preferences::GetBool("media.getusermedia.screensharing.enabled", false)) {
auto& tc = c.mVideo.GetAsMediaTrackConstraints();
if (tc.mMediaSource != dom::MediaSourceEnum::Camera) {
if (tc.mMediaSource != dom::MediaSourceEnum::Camera && tc.mMediaSource != dom::MediaSourceEnum::Browser) {
return runnable->Denied(NS_LITERAL_STRING("PERMISSION_DENIED"));
}
}

View File

@ -18,7 +18,8 @@ enum MediaSourceEnum {
"camera",
"screen",
"application",
"window"
"window",
"browser"
};
dictionary ConstrainLongRange {

View File

@ -24,7 +24,7 @@ import org.mozilla.gecko.mozglue.WebRTCJNITarget;
@WebRTCJNITarget
class WebRtcAudioRecord {
private AudioRecord _audioRecord = null;
private AudioRecord _audioRecord;
private Context _context;
@ -34,9 +34,9 @@ class WebRtcAudioRecord {
private final ReentrantLock _recLock = new ReentrantLock();
private boolean _doRecInit = true;
private boolean _isRecording = false;
private boolean _isRecording;
private int _bufferedRecSamples = 0;
private int _bufferedRecSamples;
WebRtcAudioRecord() {
try {

View File

@ -24,7 +24,7 @@ import org.mozilla.gecko.mozglue.WebRTCJNITarget;
@WebRTCJNITarget
class WebRtcAudioTrack {
private AudioTrack _audioTrack = null;
private AudioTrack _audioTrack;
private Context _context;
private AudioManager _audioManager;
@ -36,11 +36,11 @@ class WebRtcAudioTrack {
private boolean _doPlayInit = true;
private boolean _doRecInit = true;
private boolean _isRecording = false;
private boolean _isPlaying = false;
private boolean _isRecording;
private boolean _isPlaying;
private int _bufferedPlaySamples = 0;
private int _playPosition = 0;
private int _bufferedPlaySamples;
private int _playPosition;
WebRtcAudioTrack() {
try {

View File

@ -52,15 +52,15 @@ public class VideoCaptureAndroid implements PreviewCallback, Callback {
// potentially stalling the capturer if it runs out of buffers to write to).
private final int numCaptureBuffers = 3;
// Needed to start/stop/rotate camera.
private AppStateListener mAppStateListener = null;
private int mCaptureRotation = 0;
private int mCaptureWidth = 0;
private int mCaptureHeight = 0;
private AppStateListener mAppStateListener;
private int mCaptureRotation;
private int mCaptureWidth;
private int mCaptureHeight;
private int mCaptureMinFPS = 0;
private int mCaptureMaxFPS = 0;
// Are we being told to start/stop the camera, or just suspending/resuming
// due to the application being backgrounded.
private boolean mResumeCapture = false;
private boolean mResumeCapture;
@WebRTCJNITarget
public VideoCaptureAndroid(int id, long native_capturer) {

View File

@ -32,15 +32,15 @@ public class ViEAndroidGLES20 extends GLSurfaceView
private static String TAG = "WEBRTC-JR";
private static final boolean DEBUG = false;
// True if onSurfaceCreated has been called.
private boolean surfaceCreated = false;
private boolean openGLCreated = false;
private boolean surfaceCreated;
private boolean openGLCreated;
// True if NativeFunctionsRegistered has been called.
private boolean nativeFunctionsRegisted = false;
private boolean nativeFunctionsRegisted;
private ReentrantLock nativeFunctionLock = new ReentrantLock();
// Address of Native object that will do the drawing.
private long nativeObject = 0;
private int viewWidth = 0;
private int viewHeight = 0;
private long nativeObject;
private int viewWidth;
private int viewHeight;
@WebRTCJNITarget
public static boolean UseOpenGL2(Object renderWindow) {

View File

@ -25,7 +25,7 @@ public class ViERenderer {
private final static String TAG = "WEBRTC-ViEREnderer";
// View used for local rendering that Cameras can use for Video Overlay.
private static SurfaceHolder g_localRenderer = null;
private static SurfaceHolder g_localRenderer;
public static SurfaceView CreateRenderer(Context context) {
return CreateRenderer(context, false);

View File

@ -0,0 +1,63 @@
#ifndef WEBRTC_MODULES_BROWSER_CAPTURE_MAIN_SOURCE_BROWSER_CAPTURE_IMPL_H_
#define WEBRTC_MODULES_BROWSER_CAPTURE_MAIN_SOURCE_BROWSER_CAPTURE_IMPL_H_
#include "webrtc/modules/video_capture/include/video_capture.h"
using namespace webrtc::videocapturemodule;
namespace webrtc {
class BrowserDeviceInfoImpl : public VideoCaptureModule::DeviceInfo {
public:
virtual uint32_t NumberOfDevices() { return 1; }
virtual int32_t GetDeviceName(uint32_t deviceNumber,
char* deviceNameUTF8,
uint32_t deviceNameLength,
char* deviceUniqueIdUTF8,
uint32_t deviceUniqueIdUTF8Length,
char* productUniqueIdUTF8 = NULL,
uint32_t productUniqueIdUTF8Length = 0) {
deviceNameUTF8 = const_cast<char*>(kDeviceName);
deviceUniqueIdUTF8 = const_cast<char*>(kUniqueDeviceName);
productUniqueIdUTF8 = const_cast<char*>(kProductUniqueId);
return 1;
};
virtual int32_t NumberOfCapabilities(const char* deviceUniqueIdUTF8) {
return 0;
}
virtual int32_t GetCapability(const char* deviceUniqueIdUTF8,
const uint32_t deviceCapabilityNumber,
VideoCaptureCapability& capability) { return 0;};
virtual int32_t GetOrientation(const char* deviceUniqueIdUTF8,
VideoCaptureRotation& orientation) { return 0; }
virtual int32_t GetBestMatchedCapability(const char* deviceUniqueIdUTF8,
const VideoCaptureCapability& requested,
VideoCaptureCapability& resulting) { return 0;}
virtual int32_t DisplayCaptureSettingsDialogBox(const char* deviceUniqueIdUTF8,
const char* dialogTitleUTF8,
void* parentWindow,
uint32_t positionX,
uint32_t positionY) { return 0; }
BrowserDeviceInfoImpl() : kDeviceName("browser"), kUniqueDeviceName("browser"), kProductUniqueId("browser") {}
static BrowserDeviceInfoImpl* CreateDeviceInfo() {
return new BrowserDeviceInfoImpl();
}
virtual ~BrowserDeviceInfoImpl() {}
private:
const char* kDeviceName;
const char* kUniqueDeviceName;
const char* kProductUniqueId;
};
}
#endif

View File

@ -51,7 +51,8 @@ enum CaptureDeviceType {
Camera = 0,
Screen = 1,
Application = 2,
Window = 3
Window = 3,
Browser = 4
};
struct CaptureDeviceInfo {
CaptureDeviceType type;

View File

@ -23,6 +23,7 @@
#include "webrtc/video_engine/vie_capturer.h"
#include "webrtc/video_engine/vie_defines.h"
#include "webrtc/video_engine/desktop_capture_impl.h"
#include "webrtc/video_engine/browser_capture_impl.h"
namespace webrtc {
@ -427,6 +428,9 @@ VideoCaptureModule::DeviceInfo* ViEInputManager::GetDeviceInfo() {
type);
#endif
break;
case CaptureDeviceType::Browser:
capture_device_info_ = BrowserDeviceInfoImpl::CreateDeviceInfo();
break;
case CaptureDeviceType::Camera:
capture_device_info_ = VideoCaptureFactory::CreateDeviceInfo(ViEModuleId(engine_id_));
break;

View File

@ -34,7 +34,7 @@ class ActionModeCompatView extends LinearLayout implements GeckoMenu.ActionItemB
// Maximum number of items to show as actions
private static final int MAX_ACTION_ITEMS = 4;
private int mActionButtonsWidth = 0;
private int mActionButtonsWidth;
public ActionModeCompatView(Context context) {
super(context);

View File

@ -134,11 +134,11 @@ public class AndroidGamepadManager {
}
}
private static boolean sStarted = false;
private static boolean sStarted;
private static HashMap<Integer, Gamepad> sGamepads = null;
private static HashMap<Integer, List<KeyEvent>> sPendingGamepads = null;
private static InputManager.InputDeviceListener sListener = null;
private static Timer sPollTimer = null;
private static Timer sPollTimer;
private AndroidGamepadManager() {
}

View File

@ -9,7 +9,10 @@
android:sharedUserId="@MOZ_ANDROID_SHARED_ID@"
#endif
>
<uses-sdk android:minSdkVersion="9"
<uses-sdk android:minSdkVersion="@MOZ_ANDROID_MIN_SDK_VERSION@"
#ifdef MOZ_ANDROID_MAX_SDK_VERSION
android:maxSdkVersion="@MOZ_ANDROID_MAX_SDK_VERSION@"
#endif
android:targetSdkVersion="@ANDROID_TARGET_SDK@"/>
#include ../services/manifests/AnnouncementsAndroidManifest_permissions.xml.in

View File

@ -159,7 +159,7 @@ public class BrowserApp extends GeckoApp
private ViewGroup mHomePagerContainer;
protected Telemetry.Timer mAboutHomeStartupTimer = null;
private ActionModeCompat mActionMode;
private boolean mShowActionModeEndAnimation = false;
private boolean mShowActionModeEndAnimation;
private static final int GECKO_TOOLS_MENU = -1;
private static final int ADDON_MENU_OFFSET = 1000;
@ -167,12 +167,12 @@ public class BrowserApp extends GeckoApp
public int id;
public String label;
public String icon;
public boolean checkable = false;
public boolean checked = false;
public boolean checkable;
public boolean checked;
public boolean enabled = true;
public boolean visible = true;
public int parent;
public boolean added = false; // So we can re-add after a locale change.
public boolean added; // So we can re-add after a locale change.
}
// The types of guest mdoe dialogs we show
@ -199,11 +199,11 @@ public class BrowserApp extends GeckoApp
private static final int FEEDBACK_LAUNCH_COUNT = 15;
// Stored value of the toolbar height, so we know when it's changed.
private int mToolbarHeight = 0;
private int mToolbarHeight;
// Stored value of whether the last metrics change allowed for toolbar
// scrolling.
private boolean mDynamicToolbarCanScroll = false;
private boolean mDynamicToolbarCanScroll;
private SharedPreferencesHelper mSharedPreferencesHelper;
@ -212,13 +212,13 @@ public class BrowserApp extends GeckoApp
private BrowserHealthReporter mBrowserHealthReporter;
// The tab to be selected on editing mode exit.
private Integer mTargetTabForEditingMode = null;
private Integer mTargetTabForEditingMode;
// The animator used to toggle HomePager visibility has a race where if the HomePager is shown
// (starting the animation), the HomePager is hidden, and the HomePager animation completes,
// both the web content and the HomePager will be hidden. This flag is used to prevent the
// race by determining if the web content should be hidden at the animation's end.
private boolean mHideWebContentOnAnimationEnd = false;
private boolean mHideWebContentOnAnimationEnd;
private DynamicToolbar mDynamicToolbar = new DynamicToolbar();
@ -2100,7 +2100,7 @@ public class BrowserApp extends GeckoApp
* user touches the main layout.
*/
private class HideOnTouchListener implements TouchEventInterceptor {
private boolean mIsHidingTabs = false;
private boolean mIsHidingTabs;
private final Rect mTempRect = new Rect();
@Override

View File

@ -52,11 +52,11 @@ public class BrowserLocaleManager implements LocaleManager {
// These are volatile because we don't impose restrictions
// over which thread calls our methods.
private volatile Locale currentLocale = null;
private volatile Locale currentLocale;
private volatile Locale systemLocale = Locale.getDefault();
private AtomicBoolean inited = new AtomicBoolean(false);
private boolean systemLocaleDidChange = false;
private boolean systemLocaleDidChange;
private BroadcastReceiver receiver;
private static AtomicReference<LocaleManager> instance = new AtomicReference<LocaleManager>();

View File

@ -25,7 +25,7 @@ public class FindInPageBar extends LinearLayout implements TextWatcher, View.OnC
private final Context mContext;
private CustomEditText mFindText;
private boolean mInflated = false;
private boolean mInflated;
public FindInPageBar(Context context, AttributeSet attrs) {
super(context, attrs);

View File

@ -58,10 +58,10 @@ public class FormAssistPopup extends RelativeLayout implements GeckoEventListene
}
private PopupType mPopupType;
private static int sAutoCompleteMinWidth = 0;
private static int sAutoCompleteRowHeight = 0;
private static int sValidationMessageHeight = 0;
private static int sValidationTextMarginTop = 0;
private static int sAutoCompleteMinWidth;
private static int sAutoCompleteRowHeight;
private static int sValidationMessageHeight;
private static int sValidationTextMarginTop;
private static RelativeLayout.LayoutParams sValidationTextLayoutNormal;
private static RelativeLayout.LayoutParams sValidationTextLayoutInverted;

View File

@ -39,14 +39,14 @@ public class GeckoAccessibility {
private static final int VIRTUAL_CURSOR_POSITION = 2;
private static final int VIRTUAL_CURSOR_NEXT = 3;
private static boolean sEnabled = false;
private static boolean sEnabled;
// Used to store the JSON message and populate the event later in the code path.
private static JSONObject sEventMessage = null;
private static AccessibilityNodeInfo sVirtualCursorNode = null;
private static JSONObject sEventMessage;
private static AccessibilityNodeInfo sVirtualCursorNode;
// This is the number Brailleback uses to start indexing routing keys.
private static final int BRAILLE_CLICK_BASE_INDEX = -275000000;
private static SelfBrailleClient sSelfBrailleClient = null;
private static SelfBrailleClient sSelfBrailleClient;
private static final HashSet<String> sServiceWhitelist =
new HashSet<String>(Arrays.asList(new String[] {

View File

@ -10,7 +10,7 @@ import android.support.v4.app.FragmentActivity;
public class GeckoActivity extends FragmentActivity implements GeckoActivityStatus {
// has this activity recently started another Gecko activity?
private boolean mGeckoActivityOpened = false;
private boolean mGeckoActivityOpened;
/**
* Display any resources that show strings or encompass locale-specific

View File

@ -186,14 +186,14 @@ public abstract class GeckoApp
private HashMap<String, PowerManager.WakeLock> mWakeLocks = new HashMap<String, PowerManager.WakeLock>();
protected boolean mShouldRestore;
protected boolean mInitialized = false;
protected boolean mInitialized;
private Telemetry.Timer mJavaUiStartupTimer;
private Telemetry.Timer mGeckoReadyStartupTimer;
private String mPrivateBrowsingSession;
private volatile HealthRecorder mHealthRecorder = null;
private volatile Locale mLastLocale = null;
private volatile HealthRecorder mHealthRecorder;
private volatile Locale mLastLocale;
private EventListener mWebappEventListener;

View File

@ -122,8 +122,8 @@ public class GeckoAppShell
// We have static members only.
private GeckoAppShell() { }
private static boolean restartScheduled = false;
private static GeckoEditableListener editableListener = null;
private static boolean restartScheduled;
private static GeckoEditableListener editableListener;
private static final Queue<GeckoEvent> PENDING_EVENTS = new ConcurrentLinkedQueue<GeckoEvent>();
private static final Map<String, String> ALERT_COOKIES = new ConcurrentHashMap<String, String>();
@ -136,29 +136,29 @@ public class GeckoAppShell
// See also HardwareUtils.LOW_MEMORY_THRESHOLD_MB.
private static final int HIGH_MEMORY_DEVICE_THRESHOLD_MB = 768;
static private int sDensityDpi = 0;
static private int sScreenDepth = 0;
static private int sDensityDpi;
static private int sScreenDepth;
/* Default colors. */
private static final float[] DEFAULT_LAUNCHER_ICON_HSV = { 32.0f, 1.0f, 1.0f };
/* Is the value in sVibrationEndTime valid? */
private static boolean sVibrationMaybePlaying = false;
private static boolean sVibrationMaybePlaying;
/* Time (in System.nanoTime() units) when the currently-playing vibration
* is scheduled to end. This value is valid only when
* sVibrationMaybePlaying is true. */
private static long sVibrationEndTime = 0;
private static long sVibrationEndTime;
/* Default value of how fast we should hint the Android sensors. */
private static int sDefaultSensorHint = 100;
private static Sensor gAccelerometerSensor = null;
private static Sensor gLinearAccelerometerSensor = null;
private static Sensor gGyroscopeSensor = null;
private static Sensor gOrientationSensor = null;
private static Sensor gProximitySensor = null;
private static Sensor gLightSensor = null;
private static Sensor gAccelerometerSensor;
private static Sensor gLinearAccelerometerSensor;
private static Sensor gGyroscopeSensor;
private static Sensor gOrientationSensor;
private static Sensor gProximitySensor;
private static Sensor gLightSensor;
/*
* Keep in sync with constants found here:

View File

@ -24,8 +24,8 @@ public class GeckoBatteryManager extends BroadcastReceiver {
private final static double kDefaultRemainingTime = 0.0;
private final static double kUnknownRemainingTime = -1.0;
private static long sLastLevelChange = 0;
private static boolean sNotificationsEnabled = false;
private static long sLastLevelChange;
private static boolean sNotificationsEnabled;
private static double sLevel = kDefaultLevel;
private static boolean sCharging = kDefaultCharging;
private static double sRemainingTime = kDefaultRemainingTime;

View File

@ -16,10 +16,10 @@ import java.util.Set;
public class GeckoJavaSampler {
private static final String LOGTAG = "JavaSampler";
private static Thread sSamplingThread = null;
private static SamplingThread sSamplingRunnable = null;
private static Thread sMainThread = null;
private static volatile boolean sLibsLoaded = false;
private static Thread sSamplingThread;
private static SamplingThread sSamplingRunnable;
private static Thread sMainThread;
private static volatile boolean sLibsLoaded;
// Use the same timer primitive as the profiler
// to get a perfect sample syncing.
@ -59,8 +59,8 @@ public class GeckoJavaSampler {
private final int mInterval;
private final int mSampleCount;
private boolean mPauseSampler = false;
private boolean mStopSampler = false;
private boolean mPauseSampler;
private boolean mStopSampler;
private SparseArray<Sample[]> mSamples = new SparseArray<Sample[]>();
private int mSamplePos;

View File

@ -61,11 +61,11 @@ public class GeckoNetworkManager extends BroadcastReceiver {
private final IntentFilter mNetworkFilter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION);
// Whether the manager should be listening to Network Information changes.
private boolean mShouldBeListening = false;
private boolean mShouldBeListening;
// Whether the manager should notify Gecko that a change in Network
// Information happened.
private boolean mShouldNotify = false;
private boolean mShouldNotify;
// The application context used for registering receivers, so
// we can unregister them again later.

View File

@ -37,13 +37,13 @@ public final class GeckoProfile {
private static final String GUEST_PROFILE = "guest";
private static HashMap<String, GeckoProfile> sProfileCache = new HashMap<String, GeckoProfile>();
private static String sDefaultProfileName = null;
private static String sDefaultProfileName;
// Caches the guest profile dir.
private static File sGuestDir = null;
private static GeckoProfile sGuestProfile = null;
private static File sGuestDir;
private static GeckoProfile sGuestProfile;
public static boolean sIsUsingCustomProfile = false;
public static boolean sIsUsingCustomProfile;
private final String mName;
private final File mMozillaDir;
@ -64,7 +64,7 @@ public final class GeckoProfile {
// These are volatile for an incremental improvement in thread safety,
// but this is not a complete solution for concurrency.
private volatile LockState mLocked = LockState.UNDEFINED;
private volatile boolean mInGuestMode = false;
private volatile boolean mInGuestMode;
// Constants to cache whether or not a profile is "locked".
private enum LockState {

View File

@ -52,7 +52,7 @@ public class GeckoScreenOrientation {
}
// Singleton instance.
private static GeckoScreenOrientation sInstance = null;
private static GeckoScreenOrientation sInstance;
// Default screen orientation, used for initialization and unlocking.
private static final ScreenOrientation DEFAULT_SCREEN_ORIENTATION = ScreenOrientation.DEFAULT;
// Default rotation, used when device rotation is unknown.

View File

@ -64,7 +64,7 @@ public final class GeckoSharedPrefs {
};
// For optimizing the migration check in subsequent get() calls
private static volatile boolean migrationDone = false;
private static volatile boolean migrationDone;
public enum Flags {
DISABLE_MIGRATIONS

View File

@ -82,6 +82,7 @@ ALL_JARS = \
gecko-browser.jar \
gecko-mozglue.jar \
gecko-util.jar \
nineoldandroids.jar \
squareup-picasso.jar \
sync-thirdparty.jar \
websockets.jar \

View File

@ -27,7 +27,7 @@ public class MediaCastingBar extends RelativeLayout implements View.OnClickListe
private ImageButton mMediaPause;
private ImageButton mMediaStop;
private boolean mInflated = false;
private boolean mInflated;
public MediaCastingBar(Context context, AttributeSet attrs) {
super(context, attrs);

View File

@ -20,7 +20,7 @@ public abstract class NotificationClient {
private static final String LOGTAG = "GeckoNotificationClient";
private volatile NotificationHandler mHandler;
private boolean mReady = false;
private boolean mReady;
private final LinkedList<Runnable> mTaskQueue = new LinkedList<Runnable>();
private final ConcurrentHashMap<Integer, UpdateRunnable> mUpdatesMap =
new ConcurrentHashMap<Integer, UpdateRunnable>();

View File

@ -70,7 +70,7 @@ public final class NotificationHelper implements GeckoEventListener {
// Will not include ongoing or persistent notifications that are tied to Gecko's lifecycle.
private HashMap<String, String> mClearableNotifications;
private boolean mInitialized = false;
private boolean mInitialized;
private static NotificationHelper sInstance;
private NotificationHelper(Context context) {

View File

@ -22,7 +22,7 @@ import java.util.ArrayList;
public final class PrefsHelper {
private static final String LOGTAG = "GeckoPrefsHelper";
private static boolean sRegistered = false;
private static boolean sRegistered;
private static int sUniqueRequestId = 1;
/* inner-access */ static final SparseArray<PrefHandler> sCallbacks = new SparseArray<PrefHandler>();

View File

@ -7,7 +7,7 @@ package org.mozilla.gecko;
class SmsManager
{
static private ISmsManager sInstance = null;
static private ISmsManager sInstance;
static public ISmsManager getInstance() {
if (AppConstants.MOZ_WEBSMS_BACKEND) {

View File

@ -70,7 +70,7 @@ public class Tab {
private ErrorType mErrorType = ErrorType.NONE;
private static final int MAX_HISTORY_LIST_SIZE = 50;
private volatile int mLoadProgress;
private volatile int mRecordingCount = 0;
private volatile int mRecordingCount;
private String mMostRecentHomePanel;
public static final int STATE_DELAYED = 0;

View File

@ -49,7 +49,7 @@ public class Tabs implements GeckoEventListener {
private final HashMap<Integer, Tab> mTabs = new HashMap<Integer, Tab>();
private AccountManager mAccountManager;
private OnAccountsUpdateListener mAccountListener = null;
private OnAccountsUpdateListener mAccountListener;
public static final int LOADURL_NONE = 0;
public static final int LOADURL_NEW_TAB = 1 << 0;

View File

@ -47,7 +47,7 @@ public class Telemetry {
private final long mStartTime;
private final String mName;
private volatile boolean mHasFinished = false;
private volatile boolean mHasFinished;
private volatile long mElapsed = -1;
protected abstract long now();

View File

@ -21,7 +21,7 @@ public class MockMyIDTokenFactory {
public static final BigInteger MOCKMYID_g = new BigInteger("c52a4a0ff3b7e61fdf1867ce84138369a6154f4afa92966e3c827e25cfa6cf508b90e5de419e1337e07a2e9e2a3cd5dea704d175f8ebf6af397d69e110b96afb17c7a03259329e4829b0d03bbc7896b15b4ade53e130858cc34d96269aa89041f409136c7242a38895c9d5bccad4f389af1d7a4bd1398bd072dffa896233397a", 16);
// Computed lazily by static <code>getMockMyIDPrivateKey</code>.
protected static SigningPrivateKey cachedMockMyIDPrivateKey = null;
protected static SigningPrivateKey cachedMockMyIDPrivateKey;
public static SigningPrivateKey getMockMyIDPrivateKey() throws NoSuchAlgorithmException, InvalidKeySpecException {
if (cachedMockMyIDPrivateKey == null) {

View File

@ -41,7 +41,7 @@ public class BrowserDB {
EXCLUDE_PINNED_SITES
}
private static BrowserDBIface sDb = null;
private static BrowserDBIface sDb;
private static SuggestedSites sSuggestedSites;
public interface BrowserDBIface {

View File

@ -118,7 +118,7 @@ public class LocalBrowserDB implements BrowserDB.BrowserDBIface {
*/
private static class NameCounter {
private final HashMap<String, Integer> names = new HashMap<String, Integer>();
private int counter = 0;
private int counter;
private final int increment;
public NameCounter(int start, int increment) {
@ -1451,7 +1451,7 @@ public class LocalBrowserDB implements BrowserDB.BrowserDBIface {
private int mDesktopBookmarksIndex = -1;
private boolean mAtDesktopBookmarksPosition = false;
private boolean mAtDesktopBookmarksPosition;
public SpecialFoldersCursorWrapper(Cursor c, boolean showDesktopBookmarks) {
super(c);

View File

@ -38,7 +38,7 @@ public abstract class SQLiteBridgeContentProvider extends ContentProvider {
private static final String ERROR_MESSAGE_DATABASE_IS_LOCKED = "Can't step statement: (5) database is locked";
private HashMap<String, SQLiteBridge> mDatabasePerProfile;
protected Context mContext = null;
protected Context mContext;
private final String mLogTag;
protected SQLiteBridgeContentProvider(String logTag) {

View File

@ -79,7 +79,7 @@ public class TopSitesCursorWrapper implements Cursor {
private int currentPosition = -1;
// Number of pinned sites before the current position
private int pinnedBefore = 0;
private int pinnedBefore;
// The size of the cursor wrapper
private int count;

View File

@ -122,7 +122,7 @@ public class Distribution {
private final String prefsBranch;
private volatile int state = STATE_UNKNOWN;
private File distributionDir = null;
private File distributionDir;
private final Queue<Runnable> onDistributionReady = new ConcurrentLinkedQueue<Runnable>();

View File

@ -351,7 +351,7 @@ public class ICODecoder implements Iterable<Bitmap> {
* Inner class to iterate over the elements in the ICO represented by the enclosing instance.
*/
private class ICOIterator implements Iterator<Bitmap> {
private int mIndex = 0;
private int mIndex;
@Override
public boolean hasNext() {

View File

@ -14,7 +14,7 @@ public class FxAccountAuthenticatorService extends Service {
public static final String LOG_TAG = FxAccountAuthenticatorService.class.getSimpleName();
// Lazily initialized by <code>getAuthenticator</code>.
protected FxAccountAuthenticator accountAuthenticator = null;
protected FxAccountAuthenticator accountAuthenticator;
protected synchronized FxAccountAuthenticator getAuthenticator() {
if (accountAuthenticator == null) {

View File

@ -74,7 +74,7 @@ public class FxAccountSyncAdapter extends AbstractThreadedSyncAdapter {
// Used to do cheap in-memory rate limiting. Don't sync again if we
// successfully synced within this duration.
private static final int MINIMUM_SYNC_DELAY_MILLIS = 15 * 1000; // 15 seconds.
private volatile long lastSyncRealtimeMillis = 0L;
private volatile long lastSyncRealtimeMillis;
protected final ExecutorService executor;
protected final FxAccountNotificationManager notificationManager;

View File

@ -10,7 +10,7 @@ import android.os.IBinder;
public class FxAccountSyncService extends Service {
private static final Object syncAdapterLock = new Object();
private static FxAccountSyncAdapter syncAdapter = null;
private static FxAccountSyncAdapter syncAdapter;
@Override
public void onCreate() {

View File

@ -23,7 +23,7 @@ public class FxAccountSyncStatusHelper implements SyncStatusObserver {
@SuppressWarnings("unused")
private static final String LOG_TAG = FxAccountSyncStatusHelper.class.getSimpleName();
protected static FxAccountSyncStatusHelper sInstance = null;
protected static FxAccountSyncStatusHelper sInstance;
public synchronized static FxAccountSyncStatusHelper getInstance() {
if (sInstance == null) {
@ -33,7 +33,7 @@ public class FxAccountSyncStatusHelper implements SyncStatusObserver {
}
// Used to unregister this as a listener.
protected Object handle = null;
protected Object handle;
// Maps delegates to whether their underlying Android account was syncing the
// last time we observed a status change.

View File

@ -85,9 +85,9 @@ public abstract class FxAccountSetupTask<T> extends AsyncTask<Void, Void, InnerR
protected static class InnerRequestDelegate<T> implements RequestDelegate<T> {
protected final CountDownLatch latch;
public T response = null;
public Exception exception = null;
public FxAccountClientRemoteException failure = null;
public T response;
public Exception exception;
public FxAccountClientRemoteException failure;
protected InnerRequestDelegate(CountDownLatch latch) {
this.latch = latch;

View File

@ -21,11 +21,11 @@ public class PanningPerfAPI {
// to measure.
private static final int EXPECTED_FRAME_COUNT = 2048;
private static boolean mRecordingFrames = false;
private static boolean mRecordingFrames;
private static List<Long> mFrameTimes;
private static long mFrameStartTime;
private static boolean mRecordingCheckerboard = false;
private static boolean mRecordingCheckerboard;
private static List<Float> mCheckerboardAmounts;
private static long mCheckerboardStartTime;

View File

@ -98,7 +98,7 @@ public class BrowserHealthRecorder implements HealthRecorder, GeckoEventListener
// We track previousSession to avoid order-of-initialization confusion. We
// accept it in the constructor, and process it after init.
private final SessionInformation previousSession;
private volatile SessionInformation session = null;
private volatile SessionInformation session;
public void setCurrentSession(SessionInformation session) {
this.session = session;

View File

@ -14,7 +14,7 @@ import android.widget.TextView;
public class BookmarkFolderView extends TextView {
private static final int[] STATE_OPEN = { R.attr.state_open };
private boolean mIsOpen = false;
private boolean mIsOpen;
public BookmarkFolderView(Context context) {
super(context);

View File

@ -46,14 +46,14 @@ public class HomeBanner extends LinearLayout
private boolean mSnapBannerToTop;
// Tracks whether or not the banner should be shown on the current panel.
private boolean mActive = false;
private boolean mActive;
// The user is currently swiping between HomePager pages
private boolean mScrollingPages = false;
private boolean mScrollingPages;
// Tracks whether the user swiped the banner down, preventing us from autoshowing when the user
// switches back to the default page.
private boolean mUserSwipedDown = false;
private boolean mUserSwipedDown;
// We must use this custom TextView to address an issue on 2.3 and lower where ellipsized text
// will not wrap more than 2 lines.

View File

@ -57,7 +57,7 @@ class HomeConfigPrefsBackend implements HomeConfigBackend {
private ReloadBroadcastReceiver mReloadBroadcastReceiver;
private OnReloadListener mReloadListener;
private static boolean sMigrationDone = false;
private static boolean sMigrationDone;
public HomeConfigPrefsBackend(Context context) {
mContext = context;

View File

@ -20,7 +20,7 @@ public class HomeContextMenuInfo extends AdapterContextMenuInfo {
public String url;
public String title;
public boolean isFolder = false;
public boolean isFolder;
public int historyId = -1;
public int bookmarkId = -1;
public int readingListItemId = -1;

View File

@ -58,7 +58,7 @@ class SearchEngineRow extends AnimatedHeightLayout {
private OnEditSuggestionListener mEditSuggestionListener;
// Selected suggestion view
private int mSelectedView = 0;
private int mSelectedView;
public SearchEngineRow(Context context) {
this(context, null);

View File

@ -62,7 +62,7 @@ public class TopSitesGridItemView extends RelativeLayout {
private int mType = -1;
// Dirty state.
private boolean mIsDirty = false;
private boolean mIsDirty;
// Empty state.
private int mLoadId = Favicons.NOT_LOADING;

View File

@ -41,8 +41,8 @@ public class GeckoMenuItem implements MenuItem {
private int mActionEnum;
private CharSequence mTitle;
private CharSequence mTitleCondensed;
private boolean mCheckable = false;
private boolean mChecked = false;
private boolean mCheckable;
private boolean mChecked;
private boolean mVisible = true;
private boolean mEnabled = true;
private Drawable mIcon;

View File

@ -23,10 +23,10 @@ public class MenuItemDefault extends TextView
private Drawable mState;
private static Rect sIconBounds;
private boolean mCheckable = false;
private boolean mChecked = false;
private boolean mHasSubMenu = false;
private boolean mShowIcon = false;
private boolean mCheckable;
private boolean mChecked;
private boolean mHasSubMenu;
private boolean mShowIcon;
public MenuItemDefault(Context context) {
this(context, null);

View File

@ -478,6 +478,7 @@ gbjar.extra_jars = [
'gecko-R.jar',
'gecko-mozglue.jar',
'gecko-util.jar',
'nineoldandroids.jar',
'squareup-picasso.jar',
'sync-thirdparty.jar',
'websockets.jar',
@ -492,6 +493,39 @@ if CONFIG['MOZ_NATIVE_DEVICES']:
gbjar.javac_flags += ['-Xlint:all,-deprecation,-fallthrough']
noajar = add_java_jar('nineoldandroids')
noajar.sources += [ thirdparty_source_dir + f for f in [
'com/nineoldandroids/animation/Animator.java',
'com/nineoldandroids/animation/AnimatorInflater.java',
'com/nineoldandroids/animation/AnimatorListenerAdapter.java',
'com/nineoldandroids/animation/AnimatorSet.java',
'com/nineoldandroids/animation/ArgbEvaluator.java',
'com/nineoldandroids/animation/FloatEvaluator.java',
'com/nineoldandroids/animation/FloatKeyframeSet.java',
'com/nineoldandroids/animation/IntEvaluator.java',
'com/nineoldandroids/animation/IntKeyframeSet.java',
'com/nineoldandroids/animation/Keyframe.java',
'com/nineoldandroids/animation/KeyframeSet.java',
'com/nineoldandroids/animation/ObjectAnimator.java',
'com/nineoldandroids/animation/PreHoneycombCompat.java',
'com/nineoldandroids/animation/PropertyValuesHolder.java',
'com/nineoldandroids/animation/TimeAnimator.java',
'com/nineoldandroids/animation/TypeEvaluator.java',
'com/nineoldandroids/animation/ValueAnimator.java',
'com/nineoldandroids/util/FloatProperty.java',
'com/nineoldandroids/util/IntProperty.java',
'com/nineoldandroids/util/NoSuchPropertyException.java',
'com/nineoldandroids/util/Property.java',
'com/nineoldandroids/util/ReflectiveProperty.java',
'com/nineoldandroids/view/animation/AnimatorProxy.java',
'com/nineoldandroids/view/ViewHelper.java',
'com/nineoldandroids/view/ViewPropertyAnimator.java',
'com/nineoldandroids/view/ViewPropertyAnimatorHC.java',
'com/nineoldandroids/view/ViewPropertyAnimatorICS.java',
'com/nineoldandroids/view/ViewPropertyAnimatorPreHC.java'
] ]
#noajar.javac_flags += ['-Xlint:all']
spjar = add_java_jar('squareup-picasso')
spjar.sources += [ thirdparty_source_dir + f for f in [
'com/squareup/picasso/Action.java',
@ -583,6 +617,7 @@ if CONFIG['MOZ_ANDROID_SEARCH_ACTIVITY']:
'gecko-browser.jar',
'gecko-mozglue.jar',
'gecko-util.jar',
'nineoldandroids.jar'
]
generated_recursive_make_targets = ['.aapt.deps', '.locales.deps'] # Captures dependencies on Android manifest and all resources.

View File

@ -48,7 +48,7 @@ public class GeckoPreferenceFragment extends PreferenceFragment {
}
private static final String LOGTAG = "GeckoPreferenceFragment";
private int mPrefsRequestId = 0;
private int mPrefsRequestId;
private Locale lastLocale = Locale.getDefault();
@Override

View File

@ -98,9 +98,9 @@ OnSharedPreferenceChangeListener
public static final String INTENT_EXTRA_RESOURCES = "resource";
public static String PREFS_HEALTHREPORT_UPLOAD_ENABLED = NON_PREF_PREFIX + "healthreport.uploadEnabled";
private static boolean sIsCharEncodingEnabled = false;
private boolean mInitialized = false;
private int mPrefsRequestId = 0;
private static boolean sIsCharEncodingEnabled;
private boolean mInitialized;
private int mPrefsRequestId;
private PanelsPreferenceCategory mPanelsPreferenceCategory;
// These match keys in resources/xml*/preferences*.xml
@ -1083,9 +1083,9 @@ OnSharedPreferenceChangeListener
}
private class PasswordTextWatcher implements TextWatcher {
EditText input1 = null;
EditText input2 = null;
AlertDialog dialog = null;
EditText input1;
EditText input2;
AlertDialog dialog;
PasswordTextWatcher(EditText aInput1, EditText aInput2, AlertDialog aDialog) {
input1 = aInput1;
@ -1111,8 +1111,8 @@ OnSharedPreferenceChangeListener
}
private class EmptyTextWatcher implements TextWatcher {
EditText input = null;
AlertDialog dialog = null;
EditText input;
AlertDialog dialog;
EmptyTextWatcher(EditText aInput, AlertDialog aDialog) {
input = aInput;
@ -1140,7 +1140,7 @@ OnSharedPreferenceChangeListener
AlertDialog.Builder builder = new AlertDialog.Builder(this);
LinearLayout linearLayout = new LinearLayout(this);
linearLayout.setOrientation(LinearLayout.VERTICAL);
AlertDialog dialog = null;
AlertDialog dialog;
switch(id) {
case DIALOG_CREATE_MASTER_PASSWORD:
final EditText input1 = getTextBox(R.string.masterpassword_password);

View File

@ -12,7 +12,7 @@ import android.preference.Preference;
import android.util.AttributeSet;
class LinkPreference extends Preference {
private String mUrl = null;
private String mUrl;
public LinkPreference(Context context, AttributeSet attrs) {
super(context, attrs);

View File

@ -44,7 +44,7 @@ public class PanelsPreference extends CustomListPreference {
private String LABEL_SHOW;
private View preferenceView;
protected boolean mIsHidden = false;
protected boolean mIsHidden;
private boolean mIsRemovable;
private boolean mAnimate;

View File

@ -39,7 +39,7 @@ public class IconGridInput extends PromptInput implements OnItemClickListener {
private static int mColumnWidth = -1; // The maximum width of columns
private static int mMaxColumns = -1; // The maximum number of columns to show
private static int mIconSize = -1; // Size of icons in the grid
private int mSelected = 0; // Current selection
private int mSelected; // Current selection
private JSONArray mArray;
public IconGridInput(JSONObject obj) {

View File

@ -52,7 +52,7 @@ public class Prompt implements OnClickListener, OnCancelListener, OnItemClickLis
private String mGuid;
private PromptListAdapter mAdapter;
private static boolean mInitialized = false;
private static boolean mInitialized;
private static int mInputPaddingSize;
public Prompt(Context context, PromptCallback callback) {

View File

@ -48,7 +48,7 @@ public class PromptListAdapter extends ArrayAdapter<PromptListItem> {
private static int mMinRowSize;
private static int mIconTextPadding;
private static float mTextSize;
private static boolean mInitialized = false;
private static boolean mInitialized;
PromptListAdapter(Context context, int textViewResourceId, PromptListItem[] objects) {
super(context, textViewResourceId, objects);

View File

@ -44,7 +44,7 @@ public class MatrixBlobCursor extends AbstractCursor {
private final String[] columnNames;
private Object[] data;
private int rowCount = 0;
private int rowCount;
private final int columnCount;
private static final String LOGTAG = "MatrixBlobCursor";

View File

@ -29,13 +29,13 @@ public class SQLiteBridge {
private String mDb;
// Pointer to the database if it was opened with openDatabase. 0 implies closed.
protected volatile long mDbPointer = 0L;
protected volatile long mDbPointer;
// Values remembered after a query.
private long[] mQueryResults;
private boolean mTransactionSuccess = false;
private boolean mInTransaction = false;
private boolean mTransactionSuccess;
private boolean mInTransaction;
private static final int RESULT_INSERT_ROW_ID = 0;
private static final int RESULT_ROWS_CHANGED = 1;

View File

@ -43,7 +43,7 @@ public class RemoteTabsContainerPanel extends GeckoSwipeRefreshLayout
private RemoteTabsList list;
// Whether or not a sync status listener is attached.
private boolean isListening = false;
private boolean isListening;
public RemoteTabsContainerPanel(Context context, AttributeSet attrs) {
super(context, attrs);
@ -124,7 +124,7 @@ public class RemoteTabsContainerPanel extends GeckoSwipeRefreshLayout
private class RemoteTabsSyncObserver implements FirefoxAccounts.SyncStatusListener {
// Written on the main thread, and read off the main thread, but no need
// to synchronize.
protected volatile long lastSyncStarted = 0;
protected volatile long lastSyncStarted;
@Override
public Context getContext() {

View File

@ -50,8 +50,8 @@ class TabsTray extends TwoWayView
private TabsAdapter mTabsAdapter;
private List<View> mPendingClosedTabs;
private int mCloseAnimationCount = 0;
private int mCloseAllAnimationCount = 0;
private int mCloseAnimationCount;
private int mCloseAllAnimationCount;
private TabSwipeGestureListener mSwipeListener;
@ -61,7 +61,7 @@ class TabsTray extends TwoWayView
// Time between starting successive tab animations in closeAllTabs.
private static final int ANIMATION_CASCADE_DELAY = 75;
private int mOriginalSize = 0;
private int mOriginalSize;
public TabsTray(Context context, AttributeSet attrs) {
super(context, attrs);

View File

@ -143,9 +143,9 @@ public class BrowserToolbar extends ThemedRelativeLayout
private final ThemedImageView editCancel;
private final View[] tabletDisplayModeViews;
private boolean hidForwardButtonOnStartEditing = false;
private boolean hidForwardButtonOnStartEditing;
private boolean shouldShrinkURLBar = false;
private boolean shouldShrinkURLBar;
private OnActivateListener activateListener;
private OnFocusChangeListener focusChangeListener;

View File

@ -34,7 +34,7 @@ public class TabCounter extends ThemedTextSwitcher
private final AnimationSet mFlipOutBackward;
private final LayoutInflater mInflater;
private int mCount = 0;
private int mCount;
private enum FadeMode {
FADE_IN,

View File

@ -8,7 +8,7 @@ import android.util.SparseArray;
public final class ActivityResultHandlerMap {
private SparseArray<ActivityResultHandler> mMap = new SparseArray<ActivityResultHandler>();
private int mCounter = 0;
private int mCounter;
public synchronized int put(ActivityResultHandler handler) {
mMap.put(mCounter, handler);

View File

@ -13,7 +13,7 @@ final class GeckoBackgroundThread extends Thread {
private static final String LOOPER_NAME = "GeckoBackgroundThread";
// Guarded by 'this'.
private static Handler sHandler = null;
private static Handler sHandler;
private SynchronousQueue<Handler> mHandlerQueue = new SynchronousQueue<Handler>();
// Singleton, so private constructor.

View File

@ -16,7 +16,7 @@ import java.util.Hashtable;
public final class INIParser extends INISection {
// default file to read and write to
private File mFile = null;
private File mFile;
// List of sections in the current iniFile. null if the file has not been parsed yet
private Hashtable<String, INISection> mSections = null;

View File

@ -16,12 +16,12 @@ public class INISection {
private static final String LOGTAG = "INIParser";
// default file to read and write to
private String mName = null;
private String mName;
public String getName() { return mName; }
public void setName(String name) { mName = name; }
// show or hide debug logging
private boolean mDebug = false;
private boolean mDebug;
// Global properties that aren't inside a section in the file
protected Hashtable<String, Object> mProperties = null;

View File

@ -16,7 +16,7 @@ import android.os.Looper;
* tasks off the UI thread.
*/
public abstract class UiAsyncTask<Params, Progress, Result> {
private volatile boolean mCancelled = false;
private volatile boolean mCancelled;
private final Handler mBackgroundThreadHandler;
private static Handler sHandler;

View File

@ -31,7 +31,7 @@ public class Allocator {
// The number of Webapp# and WEBAPP# activities/apps/intents
private final static int MAX_WEB_APPS = 100;
protected static Allocator sInstance = null;
protected static Allocator sInstance;
public static Allocator getInstance() {
return getInstance(GeckoAppShell.getContext());
}

View File

@ -22,9 +22,9 @@ import android.util.Log;
public class InstallListener extends BroadcastReceiver {
private static String LOGTAG = "GeckoWebappInstallListener";
private JSONObject mData = null;
private JSONObject mData;
private String mManifestUrl;
private boolean mReceived = false;
private boolean mReceived;
private File mApkFile;
public InstallListener(String manifestUrl, JSONObject data, File apkFile) {

View File

@ -40,8 +40,8 @@ public class WebappImpl extends GeckoApp implements InstallCallback {
private static final String LOGTAG = "GeckoWebappImpl";
private URI mOrigin;
private TextView mTitlebarText = null;
private View mTitlebar = null;
private TextView mTitlebarText;
private View mTitlebar;
private View mSplashscreen;

View File

@ -309,7 +309,7 @@ public class ActivityChooserModel extends DataSetObservable {
* full and the file is rewritten. This is necessary since we need to
* purge old records that are outside of the sliding window of past choices.
*/
private boolean mReadShareHistoryCalled = false;
private boolean mReadShareHistoryCalled;
/**
* Flag whether the choice records have changed. In general many clients can
@ -322,7 +322,7 @@ public class ActivityChooserModel extends DataSetObservable {
/**
* Flag whether to reload the activities for the current intent.
*/
private boolean mReloadActivities = false;
private boolean mReloadActivities;
/**
* Policy for controlling how the model handles chosen activities.

View File

@ -15,7 +15,7 @@ import android.widget.RelativeLayout;
public class AnimatedHeightLayout extends RelativeLayout {
private static final String LOGTAG = "GeckoAnimatedHeightLayout";
private static final int ANIMATION_DURATION = 100;
private boolean mAnimating = false;
private boolean mAnimating;
public AnimatedHeightLayout(Context context) {
super(context, null);

Some files were not shown because too many files have changed in this diff Show More