Merge m-c to inbound. a=merge
|
@ -15,7 +15,7 @@
|
|||
<project name="platform_build" path="build" remote="b2g" revision="3a2947df41a480de1457a6dcdbf46ad0af70d8e0">
|
||||
<copyfile dest="Makefile" src="core/root.mk"/>
|
||||
</project>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="9306e431d5b559035d9656902e413816b6ca3c26"/>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="9050edcda308b65d86577c8ed0eedc5c568d8e44"/>
|
||||
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="5883a99b6528ced9dafaed8d3ca2405fb285537e"/>
|
||||
<project name="librecovery" path="librecovery" remote="b2g" revision="891e5069c0ad330d8191bf8c7b879c814258c89f"/>
|
||||
|
|
|
@ -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="9306e431d5b559035d9656902e413816b6ca3c26"/>
|
||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="9050edcda308b65d86577c8ed0eedc5c568d8e44"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="5883a99b6528ced9dafaed8d3ca2405fb285537e"/>
|
||||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
|
||||
<project name="platform_hardware_ril" path="hardware/ril" remote="b2g" revision="cd88d860656c31c7da7bb310d6a160d0011b0961"/>
|
||||
|
|
|
@ -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="9306e431d5b559035d9656902e413816b6ca3c26"/>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="9050edcda308b65d86577c8ed0eedc5c568d8e44"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="5883a99b6528ced9dafaed8d3ca2405fb285537e"/>
|
||||
<project name="moztt" path="external/moztt" remote="b2g" revision="562d357b72279a9e35d4af5aeecc8e1ffa2f44f1"/>
|
||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="9f9bc14c28aed7b2571e641bfeeca81876ec48ec"/>
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
<project name="platform_build" path="build" remote="b2g" revision="3a2947df41a480de1457a6dcdbf46ad0af70d8e0">
|
||||
<copyfile dest="Makefile" src="core/root.mk"/>
|
||||
</project>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="9306e431d5b559035d9656902e413816b6ca3c26"/>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="9050edcda308b65d86577c8ed0eedc5c568d8e44"/>
|
||||
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="5883a99b6528ced9dafaed8d3ca2405fb285537e"/>
|
||||
<project name="librecovery" path="librecovery" remote="b2g" revision="891e5069c0ad330d8191bf8c7b879c814258c89f"/>
|
||||
|
|
|
@ -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="9306e431d5b559035d9656902e413816b6ca3c26"/>
|
||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="9050edcda308b65d86577c8ed0eedc5c568d8e44"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="5883a99b6528ced9dafaed8d3ca2405fb285537e"/>
|
||||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
|
||||
<project name="platform_hardware_ril" path="hardware/ril" remote="b2g" revision="cd88d860656c31c7da7bb310d6a160d0011b0961"/>
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
<project name="platform_build" path="build" remote="b2g" revision="3a2947df41a480de1457a6dcdbf46ad0af70d8e0">
|
||||
<copyfile dest="Makefile" src="core/root.mk"/>
|
||||
</project>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="9306e431d5b559035d9656902e413816b6ca3c26"/>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="9050edcda308b65d86577c8ed0eedc5c568d8e44"/>
|
||||
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="5883a99b6528ced9dafaed8d3ca2405fb285537e"/>
|
||||
<project name="librecovery" path="librecovery" remote="b2g" revision="891e5069c0ad330d8191bf8c7b879c814258c89f"/>
|
||||
|
|
|
@ -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="9306e431d5b559035d9656902e413816b6ca3c26"/>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="9050edcda308b65d86577c8ed0eedc5c568d8e44"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="5883a99b6528ced9dafaed8d3ca2405fb285537e"/>
|
||||
<project name="moztt" path="external/moztt" remote="b2g" revision="562d357b72279a9e35d4af5aeecc8e1ffa2f44f1"/>
|
||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="9f9bc14c28aed7b2571e641bfeeca81876ec48ec"/>
|
||||
|
|
|
@ -4,6 +4,6 @@
|
|||
"remote": "",
|
||||
"branch": ""
|
||||
},
|
||||
"revision": "25a5d3c030a5ece82a1114882575560b58fe185f",
|
||||
"revision": "c98710d8aeb492eef503879c8542e90818a3839c",
|
||||
"repo_path": "/integration/gaia-central"
|
||||
}
|
||||
|
|
|
@ -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="9306e431d5b559035d9656902e413816b6ca3c26"/>
|
||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="9050edcda308b65d86577c8ed0eedc5c568d8e44"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="5883a99b6528ced9dafaed8d3ca2405fb285537e"/>
|
||||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
|
||||
<project name="librecovery" path="librecovery" remote="b2g" revision="891e5069c0ad330d8191bf8c7b879c814258c89f"/>
|
||||
|
|
|
@ -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="9306e431d5b559035d9656902e413816b6ca3c26"/>
|
||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="9050edcda308b65d86577c8ed0eedc5c568d8e44"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="5883a99b6528ced9dafaed8d3ca2405fb285537e"/>
|
||||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
|
||||
<project name="librecovery" path="librecovery" remote="b2g" revision="891e5069c0ad330d8191bf8c7b879c814258c89f"/>
|
||||
|
|
|
@ -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="9306e431d5b559035d9656902e413816b6ca3c26"/>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="9050edcda308b65d86577c8ed0eedc5c568d8e44"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="5883a99b6528ced9dafaed8d3ca2405fb285537e"/>
|
||||
<project name="moztt" path="external/moztt" remote="b2g" revision="562d357b72279a9e35d4af5aeecc8e1ffa2f44f1"/>
|
||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="9f9bc14c28aed7b2571e641bfeeca81876ec48ec"/>
|
||||
|
|
|
@ -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="9306e431d5b559035d9656902e413816b6ca3c26"/>
|
||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="9050edcda308b65d86577c8ed0eedc5c568d8e44"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="5883a99b6528ced9dafaed8d3ca2405fb285537e"/>
|
||||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
|
||||
<project name="librecovery" path="librecovery" remote="b2g" revision="891e5069c0ad330d8191bf8c7b879c814258c89f"/>
|
||||
|
|
|
@ -4834,7 +4834,8 @@
|
|||
class="tab-content" align="center">
|
||||
<xul:image xbl:inherits="fadein,pinned,busy,progress,selected"
|
||||
class="tab-throbber"
|
||||
role="presentation"/>
|
||||
role="presentation"
|
||||
layer="true" />
|
||||
<xul:image xbl:inherits="src=image,fadein,pinned,selected"
|
||||
anonid="tab-icon-image"
|
||||
class="tab-icon-image"
|
||||
|
|
|
@ -474,6 +474,13 @@ function injectLoopAPI(targetWindow) {
|
|||
}
|
||||
},
|
||||
|
||||
fxAEnabled: {
|
||||
enumerable: true,
|
||||
get: function() {
|
||||
return MozLoopService.fxAEnabled;
|
||||
},
|
||||
},
|
||||
|
||||
logInToFxA: {
|
||||
enumerable: true,
|
||||
writable: true,
|
||||
|
|
|
@ -85,6 +85,7 @@ let gPushHandler = null;
|
|||
let gHawkClient = null;
|
||||
let gLocalizedStrings = null;
|
||||
let gInitializeTimer = null;
|
||||
let gFxAEnabled = true;
|
||||
let gFxAOAuthClientPromise = null;
|
||||
let gFxAOAuthClient = null;
|
||||
let gFxAOAuthTokenData = null;
|
||||
|
@ -1073,6 +1074,13 @@ this.MozLoopService = {
|
|||
return;
|
||||
}
|
||||
|
||||
if (Services.prefs.getPrefType("loop.fxa.enabled") == Services.prefs.PREF_BOOL) {
|
||||
gFxAEnabled = Services.prefs.getBoolPref("loop.fxa.enabled");
|
||||
if (!gFxAEnabled) {
|
||||
this.logOutFromFxA();
|
||||
}
|
||||
}
|
||||
|
||||
// If expiresTime is in the future then kick-off registration.
|
||||
if (MozLoopServiceInternal.urlExpiryTimeIsInFuture()) {
|
||||
gInitializeTimerFunc();
|
||||
|
@ -1260,6 +1268,10 @@ this.MozLoopService = {
|
|||
MozLoopServiceInternal.doNotDisturb = aFlag;
|
||||
},
|
||||
|
||||
get fxAEnabled() {
|
||||
return gFxAEnabled;
|
||||
},
|
||||
|
||||
get userProfile() {
|
||||
return gFxAOAuthProfile;
|
||||
},
|
||||
|
|
|
@ -230,6 +230,12 @@ loop.panel = (function(_, mozL10n) {
|
|||
|
||||
render: function() {
|
||||
var cx = React.addons.classSet;
|
||||
|
||||
// For now all of the menu entries require FxA so hide the whole gear if FxA is disabled.
|
||||
if (!navigator.mozLoop.fxAEnabled) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return (
|
||||
React.DOM.div({className: "settings-menu dropdown"},
|
||||
React.DOM.a({className: "button-settings", onClick: this.showDropdownMenu,
|
||||
|
@ -248,6 +254,7 @@ loop.panel = (function(_, mozL10n) {
|
|||
__("settings_menu_item_signout") :
|
||||
__("settings_menu_item_signin"),
|
||||
onClick: this.handleClickAuthEntry,
|
||||
displayed: navigator.mozLoop.fxAEnabled,
|
||||
icon: this._isSignedIn() ? "signout" : "signin"})
|
||||
)
|
||||
)
|
||||
|
@ -405,7 +412,7 @@ loop.panel = (function(_, mozL10n) {
|
|||
},
|
||||
|
||||
render: function() {
|
||||
if (navigator.mozLoop.userProfile) {
|
||||
if (!navigator.mozLoop.fxAEnabled || navigator.mozLoop.userProfile) {
|
||||
return null;
|
||||
}
|
||||
return (
|
||||
|
@ -582,6 +589,7 @@ loop.panel = (function(_, mozL10n) {
|
|||
return {
|
||||
init: init,
|
||||
UserIdentity: UserIdentity,
|
||||
AuthLink: AuthLink,
|
||||
AvailabilityDropdown: AvailabilityDropdown,
|
||||
CallUrlResult: CallUrlResult,
|
||||
PanelView: PanelView,
|
||||
|
|
|
@ -230,6 +230,12 @@ loop.panel = (function(_, mozL10n) {
|
|||
|
||||
render: function() {
|
||||
var cx = React.addons.classSet;
|
||||
|
||||
// For now all of the menu entries require FxA so hide the whole gear if FxA is disabled.
|
||||
if (!navigator.mozLoop.fxAEnabled) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="settings-menu dropdown">
|
||||
<a className="button-settings" onClick={this.showDropdownMenu}
|
||||
|
@ -248,6 +254,7 @@ loop.panel = (function(_, mozL10n) {
|
|||
__("settings_menu_item_signout") :
|
||||
__("settings_menu_item_signin")}
|
||||
onClick={this.handleClickAuthEntry}
|
||||
displayed={navigator.mozLoop.fxAEnabled}
|
||||
icon={this._isSignedIn() ? "signout" : "signin"} />
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -405,7 +412,7 @@ loop.panel = (function(_, mozL10n) {
|
|||
},
|
||||
|
||||
render: function() {
|
||||
if (navigator.mozLoop.userProfile) {
|
||||
if (!navigator.mozLoop.fxAEnabled || navigator.mozLoop.userProfile) {
|
||||
return null;
|
||||
}
|
||||
return (
|
||||
|
@ -582,6 +589,7 @@ loop.panel = (function(_, mozL10n) {
|
|||
return {
|
||||
init: init,
|
||||
UserIdentity: UserIdentity,
|
||||
AuthLink: AuthLink,
|
||||
AvailabilityDropdown: AvailabilityDropdown,
|
||||
CallUrlResult: CallUrlResult,
|
||||
PanelView: PanelView,
|
||||
|
|
|
@ -25,6 +25,7 @@ describe("loop.panel", function() {
|
|||
|
||||
navigator.mozLoop = {
|
||||
doNotDisturb: true,
|
||||
fxAEnabled: true,
|
||||
getStrings: function() {
|
||||
return JSON.stringify({textContent: "fakeText"});
|
||||
},
|
||||
|
@ -177,8 +178,19 @@ describe("loop.panel", function() {
|
|||
|
||||
sinon.assert.calledOnce(navigator.mozLoop.logInToFxA);
|
||||
});
|
||||
|
||||
it("should be hidden if FxA is not enabled",
|
||||
function() {
|
||||
navigator.mozLoop.fxAEnabled = false;
|
||||
var view = TestUtils.renderIntoDocument(loop.panel.AuthLink());
|
||||
expect(view.getDOMNode()).to.be.null;
|
||||
});
|
||||
|
||||
afterEach(function() {
|
||||
navigator.mozLoop.fxAEnabled = true;
|
||||
});
|
||||
});
|
||||
|
||||
describe("SettingsDropdown", function() {
|
||||
var view;
|
||||
|
||||
|
@ -188,6 +200,17 @@ describe("loop.panel", function() {
|
|||
navigator.mozLoop.openFxASettings = sandbox.stub();
|
||||
});
|
||||
|
||||
afterEach(function() {
|
||||
navigator.mozLoop.fxAEnabled = true;
|
||||
});
|
||||
|
||||
it("should be hidden if FxA is not enabled",
|
||||
function() {
|
||||
navigator.mozLoop.fxAEnabled = false;
|
||||
var view = TestUtils.renderIntoDocument(loop.panel.SettingsDropdown());
|
||||
expect(view.getDOMNode()).to.be.null;
|
||||
});
|
||||
|
||||
it("should show a signin entry when user is not authenticated",
|
||||
function() {
|
||||
navigator.mozLoop.loggedInToFxA = false;
|
||||
|
|
|
@ -139,6 +139,7 @@ skip-if = os == "mac" || e10s # Bug 895426
|
|||
[browser_dbg_breakpoints-other-tabs.js]
|
||||
[browser_dbg_breakpoints-pane.js]
|
||||
[browser_dbg_breakpoints-reload.js]
|
||||
skip-if = (os == "linux") && debug # Bug 1076830
|
||||
[browser_dbg_chrome-create.js]
|
||||
[browser_dbg_chrome-debugging.js]
|
||||
[browser_dbg_clean-exit-window.js]
|
||||
|
|
Двоичные данные
browser/themes/linux/tabbrowser/connecting.png
До Ширина: | Высота: | Размер: 812 B После Ширина: | Высота: | Размер: 8.3 KiB |
Двоичные данные
browser/themes/linux/tabbrowser/loading.png
До Ширина: | Высота: | Размер: 857 B После Ширина: | Высота: | Размер: 14 KiB |
Двоичные данные
browser/themes/osx/tabbrowser/connecting.png
До Ширина: | Высота: | Размер: 812 B После Ширина: | Высота: | Размер: 8.3 KiB |
Двоичные данные
browser/themes/osx/tabbrowser/connecting@2x.png
До Ширина: | Высота: | Размер: 1.7 KiB После Ширина: | Высота: | Размер: 29 KiB |
Двоичные данные
browser/themes/osx/tabbrowser/loading.png
До Ширина: | Высота: | Размер: 795 B После Ширина: | Высота: | Размер: 12 KiB |
Двоичные данные
browser/themes/osx/tabbrowser/loading@2x.png
До Ширина: | Высота: | Размер: 2.9 KiB После Ширина: | Высота: | Размер: 39 KiB |
|
@ -76,30 +76,12 @@
|
|||
list-style-image: url("chrome://mozapps/skin/places/defaultFavicon.png");
|
||||
}
|
||||
|
||||
@keyframes throbber-loading {
|
||||
to {
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes throbber-connecting {
|
||||
from {
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
|
||||
.tab-throbber[busy] {
|
||||
list-style-image: url("chrome://browser/skin/tabbrowser/connecting.png");
|
||||
animation-duration: 960ms;
|
||||
animation-iteration-count: infinite;
|
||||
animation-name: throbber-connecting;
|
||||
animation-timing-function: linear;
|
||||
}
|
||||
|
||||
.tab-throbber[progress] {
|
||||
list-style-image: url("chrome://browser/skin/tabbrowser/loading.png");
|
||||
animation-duration: 800ms;
|
||||
animation-name: throbber-loading;
|
||||
}
|
||||
|
||||
.tab-throbber:not([pinned]),
|
||||
|
|
Двоичные данные
browser/themes/windows/tabbrowser/connecting.png
До Ширина: | Высота: | Размер: 468 B После Ширина: | Высота: | Размер: 8.3 KiB |
Двоичные данные
browser/themes/windows/tabbrowser/loading.png
До Ширина: | Высота: | Размер: 570 B После Ширина: | Высота: | Размер: 10 KiB |
|
@ -159,6 +159,7 @@ enum BluetoothDeviceType {
|
|||
};
|
||||
|
||||
enum BluetoothPropertyType {
|
||||
PROPERTY_UNKNOWN,
|
||||
PROPERTY_BDNAME,
|
||||
PROPERTY_BDADDR,
|
||||
PROPERTY_UUIDS,
|
||||
|
|
|
@ -224,6 +224,9 @@ Convert(const bt_property_t& aIn, BluetoothProperty& aOut)
|
|||
/* value conversion */
|
||||
|
||||
switch (aOut.mType) {
|
||||
case PROPERTY_UNKNOWN:
|
||||
/* Bug 1065999: working around unknown properties */
|
||||
break;
|
||||
case PROPERTY_BDNAME:
|
||||
/* fall through */
|
||||
case PROPERTY_REMOTE_FRIENDLY_NAME:
|
||||
|
|
|
@ -207,7 +207,9 @@ Convert(bt_property_type_t aIn, BluetoothPropertyType& aOut)
|
|||
return NS_OK;
|
||||
}
|
||||
if (!aIn || aIn >= MOZ_ARRAY_LENGTH(sPropertyType)) {
|
||||
return NS_ERROR_ILLEGAL_VALUE;
|
||||
/* Bug 1065999: working around unknown properties */
|
||||
aOut = PROPERTY_UNKNOWN;
|
||||
return NS_OK;
|
||||
}
|
||||
aOut = sPropertyType[aIn];
|
||||
return NS_OK;
|
||||
|
|
|
@ -809,7 +809,7 @@ public:
|
|||
}
|
||||
|
||||
private:
|
||||
BluetoothReplyRunnable* mRunnable;
|
||||
nsRefPtr<BluetoothReplyRunnable> mRunnable;
|
||||
};
|
||||
|
||||
nsresult
|
||||
|
@ -843,7 +843,7 @@ public:
|
|||
}
|
||||
|
||||
private:
|
||||
BluetoothReplyRunnable* mRunnable;
|
||||
nsRefPtr<BluetoothReplyRunnable> mRunnable;
|
||||
};
|
||||
|
||||
nsresult
|
||||
|
@ -1323,6 +1323,9 @@ BluetoothServiceBluedroid::AdapterPropertiesNotification(
|
|||
} else if (p.mType == PROPERTY_UUIDS) {
|
||||
//FIXME: This will be implemented in the later patchset
|
||||
continue;
|
||||
} else if (p.mType == PROPERTY_UNKNOWN) {
|
||||
/* Bug 1065999: working around unknown properties */
|
||||
continue;
|
||||
} else {
|
||||
BT_LOGD("Unhandled adapter property type: %d", p.mType);
|
||||
continue;
|
||||
|
@ -1415,6 +1418,8 @@ BluetoothServiceBluedroid::RemoteDevicePropertiesNotification(
|
|||
BT_APPEND_NAMED_VALUE(props, "Icon", NS_LITERAL_STRING("audio-card"));
|
||||
}
|
||||
BT_APPEND_NAMED_VALUE(props, "UUIDS", uuidsArray);
|
||||
} else if (p.mType == PROPERTY_UNKNOWN) {
|
||||
/* Bug 1065999: working around unknown properties */
|
||||
} else {
|
||||
BT_LOGD("Other non-handled device properties. Type: %d", p.mType);
|
||||
}
|
||||
|
@ -1475,6 +1480,8 @@ BluetoothServiceBluedroid::DeviceFoundNotification(
|
|||
ClassToIcon(cod, icon);
|
||||
propertyValue = icon;
|
||||
BT_APPEND_NAMED_VALUE(propertiesArray, "Icon", propertyValue);
|
||||
} else if (p.mType == PROPERTY_UNKNOWN) {
|
||||
/* Bug 1065999: working around unknown properties */
|
||||
} else {
|
||||
BT_LOGD("Not handled remote device property: %d", p.mType);
|
||||
}
|
||||
|
|
|
@ -223,6 +223,7 @@ enum BluetoothTypeOfDevice {
|
|||
};
|
||||
|
||||
enum BluetoothPropertyType {
|
||||
PROPERTY_UNKNOWN,
|
||||
PROPERTY_BDNAME,
|
||||
PROPERTY_BDADDR,
|
||||
PROPERTY_UUIDS,
|
||||
|
|
|
@ -342,6 +342,9 @@ Convert(const bt_property_t& aIn, BluetoothProperty& aOut)
|
|||
/* value conversion */
|
||||
|
||||
switch (aOut.mType) {
|
||||
case PROPERTY_UNKNOWN:
|
||||
/* Bug 1065999: working around unknown properties */
|
||||
break;
|
||||
case PROPERTY_BDNAME:
|
||||
/* fall through */
|
||||
case PROPERTY_REMOTE_FRIENDLY_NAME:
|
||||
|
|
|
@ -205,7 +205,9 @@ Convert(bt_property_type_t aIn, BluetoothPropertyType& aOut)
|
|||
return NS_OK;
|
||||
}
|
||||
if (!aIn || aIn >= MOZ_ARRAY_LENGTH(sPropertyType)) {
|
||||
return NS_ERROR_ILLEGAL_VALUE;
|
||||
/* Bug 1065999: working around unknown properties */
|
||||
aOut = PROPERTY_UNKNOWN;
|
||||
return NS_OK;
|
||||
}
|
||||
aOut = sPropertyType[aIn];
|
||||
return NS_OK;
|
||||
|
|
|
@ -1303,6 +1303,8 @@ BluetoothServiceBluedroid::AdapterPropertiesNotification(
|
|||
|
||||
BT_APPEND_NAMED_VALUE(propertiesArray, "PairedDevices", pairedDeviceAddresses);
|
||||
|
||||
} else if (p.mType == PROPERTY_UNKNOWN) {
|
||||
/* Bug 1065999: working around unknown properties */
|
||||
} else {
|
||||
BT_LOGD("Unhandled adapter property type: %d", p.mType);
|
||||
continue;
|
||||
|
@ -1370,6 +1372,8 @@ BluetoothServiceBluedroid::RemoteDevicePropertiesNotification(
|
|||
BT_APPEND_NAMED_VALUE(propertiesArray, "Type",
|
||||
static_cast<uint32_t>(p.mTypeOfDevice));
|
||||
|
||||
} else if (p.mType == PROPERTY_UNKNOWN) {
|
||||
/* Bug 1065999: working around unknown properties */
|
||||
} else {
|
||||
BT_LOGD("Other non-handled device properties. Type: %d", p.mType);
|
||||
}
|
||||
|
@ -1467,6 +1471,8 @@ BluetoothServiceBluedroid::DeviceFoundNotification(
|
|||
BT_APPEND_NAMED_VALUE(propertiesArray, "Type",
|
||||
static_cast<uint32_t>(p.mTypeOfDevice));
|
||||
|
||||
} else if (p.mType == PROPERTY_UNKNOWN) {
|
||||
/* Bug 1065999: working around unknown properties */
|
||||
} else {
|
||||
BT_LOGD("Not handled remote device property: %d", p.mType);
|
||||
}
|
||||
|
|
|
@ -443,21 +443,17 @@ HwcComposer2D::PrepareLayerList(Layer* aLayer,
|
|||
// OK! We can compose this layer with hwc.
|
||||
int current = mList ? mList->numHwLayers : 0;
|
||||
|
||||
// Do not compose any layer below full-screen Opaque layer
|
||||
// Note: It can be generalized to non-fullscreen Opaque layers.
|
||||
bool isOpaque = (opacity == 0xFF) && (aLayer->GetContentFlags() & Layer::CONTENT_OPAQUE);
|
||||
if (current && isOpaque) {
|
||||
nsIntRect displayRect = HwcUtils::HwcToIntRect(displayFrame);
|
||||
nsIntRect displayRect = nsIntRect(displayFrame.left, displayFrame.top,
|
||||
displayFrame.right - displayFrame.left, displayFrame.bottom - displayFrame.top);
|
||||
if (displayRect.Contains(mScreenRect)) {
|
||||
// In z-order, all previous layers are below current layer
|
||||
// Do not compose any layer below full-screen opaque layer
|
||||
// In z-order, all previous layers are below
|
||||
// the current layer. We can ignore them now.
|
||||
mList->numHwLayers = current = 0;
|
||||
mHwcLayerMap.Clear();
|
||||
} else {
|
||||
nsIntRect rect = HwcUtils::HwcToIntRect(mList->hwLayers[current-1].displayFrame);
|
||||
if (displayRect.Contains(rect)) {
|
||||
// Do not compose layer hidden under the opaque layer
|
||||
mHwcLayerMap.RemoveElementAt(current-1);
|
||||
current = --mList->numHwLayers;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -146,10 +146,4 @@ HwcUtils::CalculateClipRect(const gfx::Matrix& transform,
|
|||
return true;
|
||||
}
|
||||
|
||||
nsIntRect
|
||||
HwcUtils::HwcToIntRect(hwc_rect_t aRect) {
|
||||
return nsIntRect(aRect.left, aRect.top, aRect.right - aRect.left,
|
||||
aRect.bottom - aRect.top);
|
||||
}
|
||||
|
||||
} // namespace mozilla
|
||||
|
|
|
@ -118,9 +118,6 @@ static bool PrepareLayerRects(nsIntRect aVisible, const gfx::Matrix& aTransform,
|
|||
hwc_rect_t* aSourceCrop,
|
||||
hwc_rect_t* aVisibleRegionScreen);
|
||||
|
||||
/* Converts hwc_rect_t to nsIntRect */
|
||||
static nsIntRect HwcToIntRect(hwc_rect_t aRect);
|
||||
|
||||
};
|
||||
|
||||
} // namespace mozilla
|
||||
|
|