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"/> <copyfile dest="Makefile" src="core/root.mk"/>
</project> </project>
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/> <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="gonk-misc" path="gonk-misc" remote="b2g" revision="7f792d756385bb894fba7645da59c67fe2c804bf"/>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/> <project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
<project name="platform_hardware_ril" path="hardware/ril" remote="b2g" revision="cd88d860656c31c7da7bb310d6a160d0011b0961"/> <project name="platform_hardware_ril" path="hardware/ril" remote="b2g" revision="cd88d860656c31c7da7bb310d6a160d0011b0961"/>

View File

@ -17,7 +17,7 @@
</project> </project>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/> <project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/> <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="gonk-misc" path="gonk-misc" remote="b2g" revision="7f792d756385bb894fba7645da59c67fe2c804bf"/>
<project name="moztt" path="external/moztt" remote="b2g" revision="dc5ca96695cab87b4c2fcd7c9f046ae3415a70a5"/> <project name="moztt" path="external/moztt" remote="b2g" revision="dc5ca96695cab87b4c2fcd7c9f046ae3415a70a5"/>
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="11f01789444d4ebe97581c31d8756d773e18356f"/> <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"> <project name="platform_build" path="build" remote="b2g" revision="999e945b85c578c503ad445c2285940f16aacdae">
<copyfile dest="Makefile" src="core/root.mk"/> <copyfile dest="Makefile" src="core/root.mk"/>
</project> </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="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="7f792d756385bb894fba7645da59c67fe2c804bf"/> <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="7f792d756385bb894fba7645da59c67fe2c804bf"/>
<project name="librecovery" path="librecovery" remote="b2g" revision="891e5069c0ad330d8191bf8c7b879c814258c89f"/> <project name="librecovery" path="librecovery" remote="b2g" revision="891e5069c0ad330d8191bf8c7b879c814258c89f"/>

View File

@ -19,7 +19,7 @@
<copyfile dest="Makefile" src="core/root.mk"/> <copyfile dest="Makefile" src="core/root.mk"/>
</project> </project>
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/> <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="gonk-misc" path="gonk-misc" remote="b2g" revision="7f792d756385bb894fba7645da59c67fe2c804bf"/>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/> <project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
<project name="platform_hardware_ril" path="hardware/ril" remote="b2g" revision="cd88d860656c31c7da7bb310d6a160d0011b0961"/> <project name="platform_hardware_ril" path="hardware/ril" remote="b2g" revision="cd88d860656c31c7da7bb310d6a160d0011b0961"/>

View File

@ -17,7 +17,7 @@
</project> </project>
<project name="librecovery" path="librecovery" remote="b2g" revision="891e5069c0ad330d8191bf8c7b879c814258c89f"/> <project name="librecovery" path="librecovery" remote="b2g" revision="891e5069c0ad330d8191bf8c7b879c814258c89f"/>
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/> <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="gonk-misc" path="gonk-misc" remote="b2g" revision="7f792d756385bb894fba7645da59c67fe2c804bf"/>
<project name="moztt" path="external/moztt" remote="b2g" revision="dc5ca96695cab87b4c2fcd7c9f046ae3415a70a5"/> <project name="moztt" path="external/moztt" remote="b2g" revision="dc5ca96695cab87b4c2fcd7c9f046ae3415a70a5"/>
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="11f01789444d4ebe97581c31d8756d773e18356f"/> <project name="apitrace" path="external/apitrace" remote="apitrace" revision="11f01789444d4ebe97581c31d8756d773e18356f"/>

View File

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

View File

@ -17,7 +17,7 @@
<copyfile dest="Makefile" src="core/root.mk"/> <copyfile dest="Makefile" src="core/root.mk"/>
</project> </project>
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/> <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="gonk-misc" path="gonk-misc" remote="b2g" revision="7f792d756385bb894fba7645da59c67fe2c804bf"/>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/> <project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
<project name="librecovery" path="librecovery" remote="b2g" revision="891e5069c0ad330d8191bf8c7b879c814258c89f"/> <project name="librecovery" path="librecovery" remote="b2g" revision="891e5069c0ad330d8191bf8c7b879c814258c89f"/>

View File

@ -15,7 +15,7 @@
<copyfile dest="Makefile" src="core/root.mk"/> <copyfile dest="Makefile" src="core/root.mk"/>
</project> </project>
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/> <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="gonk-misc" path="gonk-misc" remote="b2g" revision="7f792d756385bb894fba7645da59c67fe2c804bf"/>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/> <project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
<project name="librecovery" path="librecovery" remote="b2g" revision="891e5069c0ad330d8191bf8c7b879c814258c89f"/> <project name="librecovery" path="librecovery" remote="b2g" revision="891e5069c0ad330d8191bf8c7b879c814258c89f"/>

View File

@ -17,7 +17,7 @@
</project> </project>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/> <project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/> <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="gonk-misc" path="gonk-misc" remote="b2g" revision="7f792d756385bb894fba7645da59c67fe2c804bf"/>
<project name="moztt" path="external/moztt" remote="b2g" revision="dc5ca96695cab87b4c2fcd7c9f046ae3415a70a5"/> <project name="moztt" path="external/moztt" remote="b2g" revision="dc5ca96695cab87b4c2fcd7c9f046ae3415a70a5"/>
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="11f01789444d4ebe97581c31d8756d773e18356f"/> <project name="apitrace" path="external/apitrace" remote="apitrace" revision="11f01789444d4ebe97581c31d8756d773e18356f"/>

View File

@ -17,7 +17,7 @@
<copyfile dest="Makefile" src="core/root.mk"/> <copyfile dest="Makefile" src="core/root.mk"/>
</project> </project>
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/> <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="gonk-misc" path="gonk-misc" remote="b2g" revision="7f792d756385bb894fba7645da59c67fe2c804bf"/>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/> <project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
<project name="librecovery" path="librecovery" remote="b2g" revision="891e5069c0ad330d8191bf8c7b879c814258c89f"/> <project name="librecovery" path="librecovery" remote="b2g" revision="891e5069c0ad330d8191bf8c7b879c814258c89f"/>

View File

@ -1,5 +1,5 @@
<?xml version="1.0"?> <?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> <emItems>
<emItem blockID="i454" id="sqlmoz@facebook.com"> <emItem blockID="i454" id="sqlmoz@facebook.com">
<versionRange minVersion="0" maxVersion="*" severity="3"> <versionRange minVersion="0" maxVersion="*" severity="3">
@ -38,6 +38,12 @@
</versionRange> </versionRange>
<prefs> <prefs>
</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>
<emItem blockID="i107" os="WINNT" id="{ABDE892B-13A8-4d1b-88E6-365A6E755758}"> <emItem blockID="i107" os="WINNT" id="{ABDE892B-13A8-4d1b-88E6-365A6E755758}">
<versionRange minVersion="0" maxVersion="15.0.5" severity="1"> <versionRange minVersion="0" maxVersion="15.0.5" severity="1">
@ -123,8 +129,8 @@
<prefs> <prefs>
</prefs> </prefs>
</emItem> </emItem>
<emItem blockID="i660" id="youplayer@addons.mozilla.org"> <emItem blockID="i674" id="crossriderapp12555@crossrider.com">
<versionRange minVersion="79.9.8" maxVersion="208.0.1" severity="3"> <versionRange minVersion="0" maxVersion="*" severity="1">
</versionRange> </versionRange>
<prefs> <prefs>
</prefs> </prefs>
@ -457,6 +463,12 @@
</versionRange> </versionRange>
<prefs> <prefs>
</prefs> </prefs>
</emItem>
<emItem blockID="i672" id="/^(saamazon@mybrowserbar\.com)|(saebay@mybrowserbar\.com)$/">
<versionRange minVersion="0" maxVersion="*" severity="1">
</versionRange>
<prefs>
</prefs>
</emItem> </emItem>
<emItem blockID="i543" id="{badea1ae-72ed-4f6a-8c37-4db9a4ac7bc9}"> <emItem blockID="i543" id="{badea1ae-72ed-4f6a-8c37-4db9a4ac7bc9}">
<versionRange minVersion="0" maxVersion="*" severity="1"> <versionRange minVersion="0" maxVersion="*" severity="1">
@ -739,8 +751,8 @@
<prefs> <prefs>
</prefs> </prefs>
</emItem> </emItem>
<emItem blockID="i642" id="{bee6eb20-01e0-ebd1-da83-080329fb9a3a}"> <emItem blockID="i660" id="youplayer@addons.mozilla.org">
<versionRange minVersion="40.10.1" maxVersion="44.10.1" severity="3"> <versionRange minVersion="79.9.8" maxVersion="208.0.1" severity="3">
</versionRange> </versionRange>
<prefs> <prefs>
</prefs> </prefs>
@ -757,8 +769,8 @@
<prefs> <prefs>
</prefs> </prefs>
</emItem> </emItem>
<emItem blockID="i646" id="{e1aaa9f8-4500-47f1-9a0a-b02bd60e4076}"> <emItem blockID="i678" id="{C4A4F5A0-4B89-4392-AFAC-D58010E349AF}">
<versionRange minVersion="178.7.0" maxVersion="178.7.0" severity="3"> <versionRange minVersion="0" maxVersion="*" severity="1">
</versionRange> </versionRange>
<prefs> <prefs>
</prefs> </prefs>
@ -1245,8 +1257,8 @@
<prefs> <prefs>
</prefs> </prefs>
</emItem> </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})$/"> <emItem blockID="i676" id="SpecialSavings@SpecialSavings.com">
<versionRange minVersion="0" maxVersion="*" severity="3"> <versionRange minVersion="0" maxVersion="*" severity="1">
</versionRange> </versionRange>
<prefs> <prefs>
</prefs> </prefs>
@ -1426,6 +1438,12 @@
</versionRange> </versionRange>
<prefs> <prefs>
</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>
<emItem blockID="i586" id="jid1-0xtMKhXFEs4jIg@jetpack"> <emItem blockID="i586" id="jid1-0xtMKhXFEs4jIg@jetpack">
<versionRange minVersion="0" maxVersion="*" severity="3"> <versionRange minVersion="0" maxVersion="*" severity="3">
@ -1844,6 +1862,12 @@
</versionRange> </versionRange>
<prefs> <prefs>
</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>
<emItem blockID="i455" id="7d51fb17-b199-4d8f-894e-decaff4fc36a@a298838b-7f50-4c7c-9277-df6abbd42a0c.com"> <emItem blockID="i455" id="7d51fb17-b199-4d8f-894e-decaff4fc36a@a298838b-7f50-4c7c-9277-df6abbd42a0c.com">
<versionRange minVersion="0" maxVersion="*" severity="3"> <versionRange minVersion="0" maxVersion="*" severity="3">

View File

@ -361,6 +361,17 @@
<parameter name="aWindow"/> <parameter name="aWindow"/>
<body> <body>
<![CDATA[ <![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++) { for (let i = 0; i < this.browsers.length; i++) {
if (this.browsers[i].contentWindow == aWindow) if (this.browsers[i].contentWindow == aWindow)
return this.tabs[i]; return this.tabs[i];

View File

@ -408,4 +408,30 @@ case "$target" in
;; ;;
esac 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, Screen = (int) dom::MediaSourceEnum::Screen,
Application = (int) dom::MediaSourceEnum::Application, Application = (int) dom::MediaSourceEnum::Application,
Window, // = (int) dom::MediaSourceEnum::Window, // XXX bug 1038926 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 Microphone
}; };

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -24,7 +24,7 @@ import org.mozilla.gecko.mozglue.WebRTCJNITarget;
@WebRTCJNITarget @WebRTCJNITarget
class WebRtcAudioTrack { class WebRtcAudioTrack {
private AudioTrack _audioTrack = null; private AudioTrack _audioTrack;
private Context _context; private Context _context;
private AudioManager _audioManager; private AudioManager _audioManager;
@ -36,11 +36,11 @@ class WebRtcAudioTrack {
private boolean _doPlayInit = true; private boolean _doPlayInit = true;
private boolean _doRecInit = true; private boolean _doRecInit = true;
private boolean _isRecording = false; private boolean _isRecording;
private boolean _isPlaying = false; private boolean _isPlaying;
private int _bufferedPlaySamples = 0; private int _bufferedPlaySamples;
private int _playPosition = 0; private int _playPosition;
WebRtcAudioTrack() { WebRtcAudioTrack() {
try { 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). // potentially stalling the capturer if it runs out of buffers to write to).
private final int numCaptureBuffers = 3; private final int numCaptureBuffers = 3;
// Needed to start/stop/rotate camera. // Needed to start/stop/rotate camera.
private AppStateListener mAppStateListener = null; private AppStateListener mAppStateListener;
private int mCaptureRotation = 0; private int mCaptureRotation;
private int mCaptureWidth = 0; private int mCaptureWidth;
private int mCaptureHeight = 0; private int mCaptureHeight;
private int mCaptureMinFPS = 0; private int mCaptureMinFPS = 0;
private int mCaptureMaxFPS = 0; private int mCaptureMaxFPS = 0;
// Are we being told to start/stop the camera, or just suspending/resuming // Are we being told to start/stop the camera, or just suspending/resuming
// due to the application being backgrounded. // due to the application being backgrounded.
private boolean mResumeCapture = false; private boolean mResumeCapture;
@WebRTCJNITarget @WebRTCJNITarget
public VideoCaptureAndroid(int id, long native_capturer) { 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 String TAG = "WEBRTC-JR";
private static final boolean DEBUG = false; private static final boolean DEBUG = false;
// True if onSurfaceCreated has been called. // True if onSurfaceCreated has been called.
private boolean surfaceCreated = false; private boolean surfaceCreated;
private boolean openGLCreated = false; private boolean openGLCreated;
// True if NativeFunctionsRegistered has been called. // True if NativeFunctionsRegistered has been called.
private boolean nativeFunctionsRegisted = false; private boolean nativeFunctionsRegisted;
private ReentrantLock nativeFunctionLock = new ReentrantLock(); private ReentrantLock nativeFunctionLock = new ReentrantLock();
// Address of Native object that will do the drawing. // Address of Native object that will do the drawing.
private long nativeObject = 0; private long nativeObject;
private int viewWidth = 0; private int viewWidth;
private int viewHeight = 0; private int viewHeight;
@WebRTCJNITarget @WebRTCJNITarget
public static boolean UseOpenGL2(Object renderWindow) { public static boolean UseOpenGL2(Object renderWindow) {

View File

@ -25,7 +25,7 @@ public class ViERenderer {
private final static String TAG = "WEBRTC-ViEREnderer"; private final static String TAG = "WEBRTC-ViEREnderer";
// View used for local rendering that Cameras can use for Video Overlay. // 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) { public static SurfaceView CreateRenderer(Context context) {
return CreateRenderer(context, false); 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, Camera = 0,
Screen = 1, Screen = 1,
Application = 2, Application = 2,
Window = 3 Window = 3,
Browser = 4
}; };
struct CaptureDeviceInfo { struct CaptureDeviceInfo {
CaptureDeviceType type; CaptureDeviceType type;

View File

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

View File

@ -34,7 +34,7 @@ class ActionModeCompatView extends LinearLayout implements GeckoMenu.ActionItemB
// Maximum number of items to show as actions // Maximum number of items to show as actions
private static final int MAX_ACTION_ITEMS = 4; private static final int MAX_ACTION_ITEMS = 4;
private int mActionButtonsWidth = 0; private int mActionButtonsWidth;
public ActionModeCompatView(Context context) { public ActionModeCompatView(Context context) {
super(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, Gamepad> sGamepads = null;
private static HashMap<Integer, List<KeyEvent>> sPendingGamepads = null; private static HashMap<Integer, List<KeyEvent>> sPendingGamepads = null;
private static InputManager.InputDeviceListener sListener = null; private static InputManager.InputDeviceListener sListener = null;
private static Timer sPollTimer = null; private static Timer sPollTimer;
private AndroidGamepadManager() { private AndroidGamepadManager() {
} }

View File

@ -9,7 +9,10 @@
android:sharedUserId="@MOZ_ANDROID_SHARED_ID@" android:sharedUserId="@MOZ_ANDROID_SHARED_ID@"
#endif #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@"/> android:targetSdkVersion="@ANDROID_TARGET_SDK@"/>
#include ../services/manifests/AnnouncementsAndroidManifest_permissions.xml.in #include ../services/manifests/AnnouncementsAndroidManifest_permissions.xml.in

View File

@ -159,7 +159,7 @@ public class BrowserApp extends GeckoApp
private ViewGroup mHomePagerContainer; private ViewGroup mHomePagerContainer;
protected Telemetry.Timer mAboutHomeStartupTimer = null; protected Telemetry.Timer mAboutHomeStartupTimer = null;
private ActionModeCompat mActionMode; private ActionModeCompat mActionMode;
private boolean mShowActionModeEndAnimation = false; private boolean mShowActionModeEndAnimation;
private static final int GECKO_TOOLS_MENU = -1; private static final int GECKO_TOOLS_MENU = -1;
private static final int ADDON_MENU_OFFSET = 1000; private static final int ADDON_MENU_OFFSET = 1000;
@ -167,12 +167,12 @@ public class BrowserApp extends GeckoApp
public int id; public int id;
public String label; public String label;
public String icon; public String icon;
public boolean checkable = false; public boolean checkable;
public boolean checked = false; public boolean checked;
public boolean enabled = true; public boolean enabled = true;
public boolean visible = true; public boolean visible = true;
public int parent; 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 // 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; private static final int FEEDBACK_LAUNCH_COUNT = 15;
// Stored value of the toolbar height, so we know when it's changed. // 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 // Stored value of whether the last metrics change allowed for toolbar
// scrolling. // scrolling.
private boolean mDynamicToolbarCanScroll = false; private boolean mDynamicToolbarCanScroll;
private SharedPreferencesHelper mSharedPreferencesHelper; private SharedPreferencesHelper mSharedPreferencesHelper;
@ -212,13 +212,13 @@ public class BrowserApp extends GeckoApp
private BrowserHealthReporter mBrowserHealthReporter; private BrowserHealthReporter mBrowserHealthReporter;
// The tab to be selected on editing mode exit. // 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 // 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, // (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 // 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. // 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(); private DynamicToolbar mDynamicToolbar = new DynamicToolbar();
@ -2100,7 +2100,7 @@ public class BrowserApp extends GeckoApp
* user touches the main layout. * user touches the main layout.
*/ */
private class HideOnTouchListener implements TouchEventInterceptor { private class HideOnTouchListener implements TouchEventInterceptor {
private boolean mIsHidingTabs = false; private boolean mIsHidingTabs;
private final Rect mTempRect = new Rect(); private final Rect mTempRect = new Rect();
@Override @Override

View File

@ -52,11 +52,11 @@ public class BrowserLocaleManager implements LocaleManager {
// These are volatile because we don't impose restrictions // These are volatile because we don't impose restrictions
// over which thread calls our methods. // over which thread calls our methods.
private volatile Locale currentLocale = null; private volatile Locale currentLocale;
private volatile Locale systemLocale = Locale.getDefault(); private volatile Locale systemLocale = Locale.getDefault();
private AtomicBoolean inited = new AtomicBoolean(false); private AtomicBoolean inited = new AtomicBoolean(false);
private boolean systemLocaleDidChange = false; private boolean systemLocaleDidChange;
private BroadcastReceiver receiver; private BroadcastReceiver receiver;
private static AtomicReference<LocaleManager> instance = new AtomicReference<LocaleManager>(); 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 final Context mContext;
private CustomEditText mFindText; private CustomEditText mFindText;
private boolean mInflated = false; private boolean mInflated;
public FindInPageBar(Context context, AttributeSet attrs) { public FindInPageBar(Context context, AttributeSet attrs) {
super(context, attrs); super(context, attrs);

View File

@ -58,10 +58,10 @@ public class FormAssistPopup extends RelativeLayout implements GeckoEventListene
} }
private PopupType mPopupType; private PopupType mPopupType;
private static int sAutoCompleteMinWidth = 0; private static int sAutoCompleteMinWidth;
private static int sAutoCompleteRowHeight = 0; private static int sAutoCompleteRowHeight;
private static int sValidationMessageHeight = 0; private static int sValidationMessageHeight;
private static int sValidationTextMarginTop = 0; private static int sValidationTextMarginTop;
private static RelativeLayout.LayoutParams sValidationTextLayoutNormal; private static RelativeLayout.LayoutParams sValidationTextLayoutNormal;
private static RelativeLayout.LayoutParams sValidationTextLayoutInverted; 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_POSITION = 2;
private static final int VIRTUAL_CURSOR_NEXT = 3; 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. // Used to store the JSON message and populate the event later in the code path.
private static JSONObject sEventMessage = null; private static JSONObject sEventMessage;
private static AccessibilityNodeInfo sVirtualCursorNode = null; private static AccessibilityNodeInfo sVirtualCursorNode;
// This is the number Brailleback uses to start indexing routing keys. // This is the number Brailleback uses to start indexing routing keys.
private static final int BRAILLE_CLICK_BASE_INDEX = -275000000; private static final int BRAILLE_CLICK_BASE_INDEX = -275000000;
private static SelfBrailleClient sSelfBrailleClient = null; private static SelfBrailleClient sSelfBrailleClient;
private static final HashSet<String> sServiceWhitelist = private static final HashSet<String> sServiceWhitelist =
new HashSet<String>(Arrays.asList(new String[] { 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 { public class GeckoActivity extends FragmentActivity implements GeckoActivityStatus {
// has this activity recently started another Gecko activity? // 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 * 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>(); private HashMap<String, PowerManager.WakeLock> mWakeLocks = new HashMap<String, PowerManager.WakeLock>();
protected boolean mShouldRestore; protected boolean mShouldRestore;
protected boolean mInitialized = false; protected boolean mInitialized;
private Telemetry.Timer mJavaUiStartupTimer; private Telemetry.Timer mJavaUiStartupTimer;
private Telemetry.Timer mGeckoReadyStartupTimer; private Telemetry.Timer mGeckoReadyStartupTimer;
private String mPrivateBrowsingSession; private String mPrivateBrowsingSession;
private volatile HealthRecorder mHealthRecorder = null; private volatile HealthRecorder mHealthRecorder;
private volatile Locale mLastLocale = null; private volatile Locale mLastLocale;
private EventListener mWebappEventListener; private EventListener mWebappEventListener;

View File

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

View File

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

View File

@ -61,11 +61,11 @@ public class GeckoNetworkManager extends BroadcastReceiver {
private final IntentFilter mNetworkFilter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION); private final IntentFilter mNetworkFilter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION);
// Whether the manager should be listening to Network Information changes. // 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 // Whether the manager should notify Gecko that a change in Network
// Information happened. // Information happened.
private boolean mShouldNotify = false; private boolean mShouldNotify;
// The application context used for registering receivers, so // The application context used for registering receivers, so
// we can unregister them again later. // 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 final String GUEST_PROFILE = "guest";
private static HashMap<String, GeckoProfile> sProfileCache = new HashMap<String, GeckoProfile>(); private static HashMap<String, GeckoProfile> sProfileCache = new HashMap<String, GeckoProfile>();
private static String sDefaultProfileName = null; private static String sDefaultProfileName;
// Caches the guest profile dir. // Caches the guest profile dir.
private static File sGuestDir = null; private static File sGuestDir;
private static GeckoProfile sGuestProfile = null; private static GeckoProfile sGuestProfile;
public static boolean sIsUsingCustomProfile = false; public static boolean sIsUsingCustomProfile;
private final String mName; private final String mName;
private final File mMozillaDir; private final File mMozillaDir;
@ -64,7 +64,7 @@ public final class GeckoProfile {
// These are volatile for an incremental improvement in thread safety, // These are volatile for an incremental improvement in thread safety,
// but this is not a complete solution for concurrency. // but this is not a complete solution for concurrency.
private volatile LockState mLocked = LockState.UNDEFINED; 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". // Constants to cache whether or not a profile is "locked".
private enum LockState { private enum LockState {

View File

@ -52,7 +52,7 @@ public class GeckoScreenOrientation {
} }
// Singleton instance. // Singleton instance.
private static GeckoScreenOrientation sInstance = null; private static GeckoScreenOrientation sInstance;
// Default screen orientation, used for initialization and unlocking. // Default screen orientation, used for initialization and unlocking.
private static final ScreenOrientation DEFAULT_SCREEN_ORIENTATION = ScreenOrientation.DEFAULT; private static final ScreenOrientation DEFAULT_SCREEN_ORIENTATION = ScreenOrientation.DEFAULT;
// Default rotation, used when device rotation is unknown. // 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 // For optimizing the migration check in subsequent get() calls
private static volatile boolean migrationDone = false; private static volatile boolean migrationDone;
public enum Flags { public enum Flags {
DISABLE_MIGRATIONS DISABLE_MIGRATIONS

View File

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

View File

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

View File

@ -20,7 +20,7 @@ public abstract class NotificationClient {
private static final String LOGTAG = "GeckoNotificationClient"; private static final String LOGTAG = "GeckoNotificationClient";
private volatile NotificationHandler mHandler; private volatile NotificationHandler mHandler;
private boolean mReady = false; private boolean mReady;
private final LinkedList<Runnable> mTaskQueue = new LinkedList<Runnable>(); private final LinkedList<Runnable> mTaskQueue = new LinkedList<Runnable>();
private final ConcurrentHashMap<Integer, UpdateRunnable> mUpdatesMap = private final ConcurrentHashMap<Integer, UpdateRunnable> mUpdatesMap =
new ConcurrentHashMap<Integer, UpdateRunnable>(); 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. // Will not include ongoing or persistent notifications that are tied to Gecko's lifecycle.
private HashMap<String, String> mClearableNotifications; private HashMap<String, String> mClearableNotifications;
private boolean mInitialized = false; private boolean mInitialized;
private static NotificationHelper sInstance; private static NotificationHelper sInstance;
private NotificationHelper(Context context) { private NotificationHelper(Context context) {

View File

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

View File

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

View File

@ -70,7 +70,7 @@ public class Tab {
private ErrorType mErrorType = ErrorType.NONE; private ErrorType mErrorType = ErrorType.NONE;
private static final int MAX_HISTORY_LIST_SIZE = 50; private static final int MAX_HISTORY_LIST_SIZE = 50;
private volatile int mLoadProgress; private volatile int mLoadProgress;
private volatile int mRecordingCount = 0; private volatile int mRecordingCount;
private String mMostRecentHomePanel; private String mMostRecentHomePanel;
public static final int STATE_DELAYED = 0; 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 final HashMap<Integer, Tab> mTabs = new HashMap<Integer, Tab>();
private AccountManager mAccountManager; private AccountManager mAccountManager;
private OnAccountsUpdateListener mAccountListener = null; private OnAccountsUpdateListener mAccountListener;
public static final int LOADURL_NONE = 0; public static final int LOADURL_NONE = 0;
public static final int LOADURL_NEW_TAB = 1 << 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 long mStartTime;
private final String mName; private final String mName;
private volatile boolean mHasFinished = false; private volatile boolean mHasFinished;
private volatile long mElapsed = -1; private volatile long mElapsed = -1;
protected abstract long now(); protected abstract long now();

View File

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

View File

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

View File

@ -118,7 +118,7 @@ public class LocalBrowserDB implements BrowserDB.BrowserDBIface {
*/ */
private static class NameCounter { private static class NameCounter {
private final HashMap<String, Integer> names = new HashMap<String, Integer>(); private final HashMap<String, Integer> names = new HashMap<String, Integer>();
private int counter = 0; private int counter;
private final int increment; private final int increment;
public NameCounter(int start, int increment) { public NameCounter(int start, int increment) {
@ -1451,7 +1451,7 @@ public class LocalBrowserDB implements BrowserDB.BrowserDBIface {
private int mDesktopBookmarksIndex = -1; private int mDesktopBookmarksIndex = -1;
private boolean mAtDesktopBookmarksPosition = false; private boolean mAtDesktopBookmarksPosition;
public SpecialFoldersCursorWrapper(Cursor c, boolean showDesktopBookmarks) { public SpecialFoldersCursorWrapper(Cursor c, boolean showDesktopBookmarks) {
super(c); 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 static final String ERROR_MESSAGE_DATABASE_IS_LOCKED = "Can't step statement: (5) database is locked";
private HashMap<String, SQLiteBridge> mDatabasePerProfile; private HashMap<String, SQLiteBridge> mDatabasePerProfile;
protected Context mContext = null; protected Context mContext;
private final String mLogTag; private final String mLogTag;
protected SQLiteBridgeContentProvider(String logTag) { protected SQLiteBridgeContentProvider(String logTag) {

View File

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

View File

@ -122,7 +122,7 @@ public class Distribution {
private final String prefsBranch; private final String prefsBranch;
private volatile int state = STATE_UNKNOWN; private volatile int state = STATE_UNKNOWN;
private File distributionDir = null; private File distributionDir;
private final Queue<Runnable> onDistributionReady = new ConcurrentLinkedQueue<Runnable>(); 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. * Inner class to iterate over the elements in the ICO represented by the enclosing instance.
*/ */
private class ICOIterator implements Iterator<Bitmap> { private class ICOIterator implements Iterator<Bitmap> {
private int mIndex = 0; private int mIndex;
@Override @Override
public boolean hasNext() { public boolean hasNext() {

View File

@ -14,7 +14,7 @@ public class FxAccountAuthenticatorService extends Service {
public static final String LOG_TAG = FxAccountAuthenticatorService.class.getSimpleName(); public static final String LOG_TAG = FxAccountAuthenticatorService.class.getSimpleName();
// Lazily initialized by <code>getAuthenticator</code>. // Lazily initialized by <code>getAuthenticator</code>.
protected FxAccountAuthenticator accountAuthenticator = null; protected FxAccountAuthenticator accountAuthenticator;
protected synchronized FxAccountAuthenticator getAuthenticator() { protected synchronized FxAccountAuthenticator getAuthenticator() {
if (accountAuthenticator == null) { 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 // Used to do cheap in-memory rate limiting. Don't sync again if we
// successfully synced within this duration. // successfully synced within this duration.
private static final int MINIMUM_SYNC_DELAY_MILLIS = 15 * 1000; // 15 seconds. 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 ExecutorService executor;
protected final FxAccountNotificationManager notificationManager; protected final FxAccountNotificationManager notificationManager;

View File

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

View File

@ -23,7 +23,7 @@ public class FxAccountSyncStatusHelper implements SyncStatusObserver {
@SuppressWarnings("unused") @SuppressWarnings("unused")
private static final String LOG_TAG = FxAccountSyncStatusHelper.class.getSimpleName(); private static final String LOG_TAG = FxAccountSyncStatusHelper.class.getSimpleName();
protected static FxAccountSyncStatusHelper sInstance = null; protected static FxAccountSyncStatusHelper sInstance;
public synchronized static FxAccountSyncStatusHelper getInstance() { public synchronized static FxAccountSyncStatusHelper getInstance() {
if (sInstance == null) { if (sInstance == null) {
@ -33,7 +33,7 @@ public class FxAccountSyncStatusHelper implements SyncStatusObserver {
} }
// Used to unregister this as a listener. // 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 // Maps delegates to whether their underlying Android account was syncing the
// last time we observed a status change. // 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 static class InnerRequestDelegate<T> implements RequestDelegate<T> {
protected final CountDownLatch latch; protected final CountDownLatch latch;
public T response = null; public T response;
public Exception exception = null; public Exception exception;
public FxAccountClientRemoteException failure = null; public FxAccountClientRemoteException failure;
protected InnerRequestDelegate(CountDownLatch latch) { protected InnerRequestDelegate(CountDownLatch latch) {
this.latch = latch; this.latch = latch;

View File

@ -21,11 +21,11 @@ public class PanningPerfAPI {
// to measure. // to measure.
private static final int EXPECTED_FRAME_COUNT = 2048; private static final int EXPECTED_FRAME_COUNT = 2048;
private static boolean mRecordingFrames = false; private static boolean mRecordingFrames;
private static List<Long> mFrameTimes; private static List<Long> mFrameTimes;
private static long mFrameStartTime; private static long mFrameStartTime;
private static boolean mRecordingCheckerboard = false; private static boolean mRecordingCheckerboard;
private static List<Float> mCheckerboardAmounts; private static List<Float> mCheckerboardAmounts;
private static long mCheckerboardStartTime; 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 // We track previousSession to avoid order-of-initialization confusion. We
// accept it in the constructor, and process it after init. // accept it in the constructor, and process it after init.
private final SessionInformation previousSession; private final SessionInformation previousSession;
private volatile SessionInformation session = null; private volatile SessionInformation session;
public void setCurrentSession(SessionInformation session) { public void setCurrentSession(SessionInformation session) {
this.session = session; this.session = session;

View File

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

View File

@ -46,14 +46,14 @@ public class HomeBanner extends LinearLayout
private boolean mSnapBannerToTop; private boolean mSnapBannerToTop;
// Tracks whether or not the banner should be shown on the current panel. // 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 // 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 // Tracks whether the user swiped the banner down, preventing us from autoshowing when the user
// switches back to the default page. // 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 // 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. // will not wrap more than 2 lines.

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -478,6 +478,7 @@ gbjar.extra_jars = [
'gecko-R.jar', 'gecko-R.jar',
'gecko-mozglue.jar', 'gecko-mozglue.jar',
'gecko-util.jar', 'gecko-util.jar',
'nineoldandroids.jar',
'squareup-picasso.jar', 'squareup-picasso.jar',
'sync-thirdparty.jar', 'sync-thirdparty.jar',
'websockets.jar', 'websockets.jar',
@ -492,6 +493,39 @@ if CONFIG['MOZ_NATIVE_DEVICES']:
gbjar.javac_flags += ['-Xlint:all,-deprecation,-fallthrough'] 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 = add_java_jar('squareup-picasso')
spjar.sources += [ thirdparty_source_dir + f for f in [ spjar.sources += [ thirdparty_source_dir + f for f in [
'com/squareup/picasso/Action.java', 'com/squareup/picasso/Action.java',
@ -583,6 +617,7 @@ if CONFIG['MOZ_ANDROID_SEARCH_ACTIVITY']:
'gecko-browser.jar', 'gecko-browser.jar',
'gecko-mozglue.jar', 'gecko-mozglue.jar',
'gecko-util.jar', 'gecko-util.jar',
'nineoldandroids.jar'
] ]
generated_recursive_make_targets = ['.aapt.deps', '.locales.deps'] # Captures dependencies on Android manifest and all resources. 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 static final String LOGTAG = "GeckoPreferenceFragment";
private int mPrefsRequestId = 0; private int mPrefsRequestId;
private Locale lastLocale = Locale.getDefault(); private Locale lastLocale = Locale.getDefault();
@Override @Override

View File

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

View File

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

View File

@ -44,7 +44,7 @@ public class PanelsPreference extends CustomListPreference {
private String LABEL_SHOW; private String LABEL_SHOW;
private View preferenceView; private View preferenceView;
protected boolean mIsHidden = false; protected boolean mIsHidden;
private boolean mIsRemovable; private boolean mIsRemovable;
private boolean mAnimate; 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 mColumnWidth = -1; // The maximum width of columns
private static int mMaxColumns = -1; // The maximum number of columns to show private static int mMaxColumns = -1; // The maximum number of columns to show
private static int mIconSize = -1; // Size of icons in the grid 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; private JSONArray mArray;
public IconGridInput(JSONObject obj) { public IconGridInput(JSONObject obj) {

View File

@ -52,7 +52,7 @@ public class Prompt implements OnClickListener, OnCancelListener, OnItemClickLis
private String mGuid; private String mGuid;
private PromptListAdapter mAdapter; private PromptListAdapter mAdapter;
private static boolean mInitialized = false; private static boolean mInitialized;
private static int mInputPaddingSize; private static int mInputPaddingSize;
public Prompt(Context context, PromptCallback callback) { 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 mMinRowSize;
private static int mIconTextPadding; private static int mIconTextPadding;
private static float mTextSize; private static float mTextSize;
private static boolean mInitialized = false; private static boolean mInitialized;
PromptListAdapter(Context context, int textViewResourceId, PromptListItem[] objects) { PromptListAdapter(Context context, int textViewResourceId, PromptListItem[] objects) {
super(context, textViewResourceId, objects); super(context, textViewResourceId, objects);

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -22,9 +22,9 @@ import android.util.Log;
public class InstallListener extends BroadcastReceiver { public class InstallListener extends BroadcastReceiver {
private static String LOGTAG = "GeckoWebappInstallListener"; private static String LOGTAG = "GeckoWebappInstallListener";
private JSONObject mData = null; private JSONObject mData;
private String mManifestUrl; private String mManifestUrl;
private boolean mReceived = false; private boolean mReceived;
private File mApkFile; private File mApkFile;
public InstallListener(String manifestUrl, JSONObject data, File apkFile) { 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 static final String LOGTAG = "GeckoWebappImpl";
private URI mOrigin; private URI mOrigin;
private TextView mTitlebarText = null; private TextView mTitlebarText;
private View mTitlebar = null; private View mTitlebar;
private View mSplashscreen; 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 * 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. * 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 * 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. * 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. * Policy for controlling how the model handles chosen activities.

View File

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

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