Merge mozilla-central to mozilla-inbound

This commit is contained in:
Carsten "Tomcat" Book 2014-02-26 13:06:38 +01:00
Родитель 6c87276a20 dbb9e4661b
Коммит 46e8691586
36 изменённых файлов: 235 добавлений и 54 удалений

Просмотреть файл

@ -12,7 +12,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="80d6405725788327102cab36e8d8c017cf25fb23"/>
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="ec159aac19ff25912f1d68ffb44b29f797583ef5"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="15e8982284c4560f9c74c2b9fe8bb361ebfe0cb6"/>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
<project name="platform_hardware_ril" path="hardware/ril" remote="b2g" revision="d11f524d00cacf5ba0dfbf25e4aa2158b1c3a036"/>

Просмотреть файл

@ -11,7 +11,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="80d6405725788327102cab36e8d8c017cf25fb23"/>
<project name="gaia" path="gaia" remote="mozillaorg" revision="ec159aac19ff25912f1d68ffb44b29f797583ef5"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="15e8982284c4560f9c74c2b9fe8bb361ebfe0cb6"/>
<project name="moztt" path="external/moztt" remote="b2g" revision="3d5c964015967ca8c86abe6dbbebee3cb82b1609"/>
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="8c449b53328059e9b55bb34baec9b27a15055a7e"/>

Просмотреть файл

@ -12,7 +12,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="80d6405725788327102cab36e8d8c017cf25fb23"/>
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="ec159aac19ff25912f1d68ffb44b29f797583ef5"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="15e8982284c4560f9c74c2b9fe8bb361ebfe0cb6"/>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
<project name="platform_hardware_ril" path="hardware/ril" remote="b2g" revision="d11f524d00cacf5ba0dfbf25e4aa2158b1c3a036"/>

Просмотреть файл

@ -1,4 +1,4 @@
{
"revision": "b2b0a8234336f7004812bf27e4053957cecad492",
"revision": "d1729e9d8fcc010e42ef73befa93d3c07a4304c6",
"repo_path": "/integration/gaia-central"
}

Просмотреть файл

@ -11,7 +11,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="80d6405725788327102cab36e8d8c017cf25fb23"/>
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="ec159aac19ff25912f1d68ffb44b29f797583ef5"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="15e8982284c4560f9c74c2b9fe8bb361ebfe0cb6"/>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
<project name="librecovery" path="librecovery" remote="b2g" revision="84f2f2fce22605e17d511ff1767e54770067b5b5"/>

Просмотреть файл

@ -10,7 +10,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="80d6405725788327102cab36e8d8c017cf25fb23"/>
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="ec159aac19ff25912f1d68ffb44b29f797583ef5"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="15e8982284c4560f9c74c2b9fe8bb361ebfe0cb6"/>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
<project name="librecovery" path="librecovery" remote="b2g" revision="84f2f2fce22605e17d511ff1767e54770067b5b5"/>

Просмотреть файл

@ -12,7 +12,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="80d6405725788327102cab36e8d8c017cf25fb23"/>
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="ec159aac19ff25912f1d68ffb44b29f797583ef5"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="15e8982284c4560f9c74c2b9fe8bb361ebfe0cb6"/>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
<project name="librecovery" path="librecovery" remote="b2g" revision="84f2f2fce22605e17d511ff1767e54770067b5b5"/>

Просмотреть файл

@ -11,7 +11,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="80d6405725788327102cab36e8d8c017cf25fb23"/>
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="ec159aac19ff25912f1d68ffb44b29f797583ef5"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="15e8982284c4560f9c74c2b9fe8bb361ebfe0cb6"/>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
<project name="librecovery" path="librecovery" remote="b2g" revision="84f2f2fce22605e17d511ff1767e54770067b5b5"/>

Просмотреть файл

@ -11,7 +11,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="80d6405725788327102cab36e8d8c017cf25fb23"/>
<project name="gaia" path="gaia" remote="mozillaorg" revision="ec159aac19ff25912f1d68ffb44b29f797583ef5"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="15e8982284c4560f9c74c2b9fe8bb361ebfe0cb6"/>
<project name="moztt" path="external/moztt" remote="b2g" revision="3d5c964015967ca8c86abe6dbbebee3cb82b1609"/>
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="8c449b53328059e9b55bb34baec9b27a15055a7e"/>

Просмотреть файл

@ -11,7 +11,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="80d6405725788327102cab36e8d8c017cf25fb23"/>
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="ec159aac19ff25912f1d68ffb44b29f797583ef5"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="15e8982284c4560f9c74c2b9fe8bb361ebfe0cb6"/>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
<project name="librecovery" path="librecovery" remote="b2g" revision="84f2f2fce22605e17d511ff1767e54770067b5b5"/>

Просмотреть файл

@ -890,14 +890,14 @@ chatbox:-moz-full-screen-ancestor > .chat-titlebar {
}
/* Customize mode */
#navigator-toolbox > toolbar,
#navigator-toolbox,
#content-deck {
transition-property: margin-left, margin-right;
transition-duration: 150ms;
transition-timing-function: ease-out;
}
#tab-view-deck[fastcustomizeanimation] #navigator-toolbox > toolbar,
#tab-view-deck[fastcustomizeanimation] #navigator-toolbox,
#tab-view-deck[fastcustomizeanimation] #content-deck {
transition-duration: 1ms;
transition-timing-function: linear;

Просмотреть файл

@ -542,6 +542,11 @@
defaultset="tabbrowser-tabs,new-tab-button,alltabs-button,tabs-closebutton"
collapsed="true">
#ifdef XP_LINUX
<hbox id="private-browsing-indicator"
skipintoolbarset="true"/>
#endif
<tabs id="tabbrowser-tabs"
class="tabbrowser-tabs"
tabbrowser="content"
@ -628,7 +633,7 @@
overflowtarget="widget-overflow-list"
context="toolbar-context-menu">
<hbox id="nav-bar-customization-target" class="customization-target" flex="1">
<hbox id="nav-bar-customization-target" flex="1">
<toolbaritem id="urlbar-container" flex="400" persist="width"
forwarddisabled="true" title="&locationItem.title;" removable="false"
cui-areatype="toolbar"

Просмотреть файл

@ -794,6 +794,10 @@ let CustomizableUIInternal = {
}
gBuildAreas.get(aArea).add(aNode);
// Give a class to all customize targets to be used for styling in Customize Mode
let customizableNode = this.getCustomizeTargetForArea(aArea, window);
customizableNode.classList.add("customization-target");
},
registerBuildWindow: function(aWindow) {

Просмотреть файл

@ -1475,6 +1475,7 @@ CustomizeMode.prototype = {
this._cancelDragActive(this._dragOverItem);
this._dragOverItem = null;
}
this._updateToolbarCustomizationOutline(this.window);
this._showPanelCustomizationPlaceholders();
},
@ -1511,6 +1512,7 @@ CustomizeMode.prototype = {
this._setGridDragActive(aItem, draggedItem, aValue);
} else {
let targetArea = this._getCustomizableParent(aItem);
this._updateToolbarCustomizationOutline(window, targetArea);
let makeSpaceImmediately = false;
if (!gDraggingInToolbars.has(targetArea.id)) {
gDraggingInToolbars.add(targetArea.id);
@ -1545,6 +1547,7 @@ CustomizeMode.prototype = {
}
},
_cancelDragActive: function(aItem, aNextItem, aNoTransition) {
this._updateToolbarCustomizationOutline(aItem.ownerDocument.defaultView);
let currentArea = this._getCustomizableParent(aItem);
if (!currentArea) {
return;
@ -1771,7 +1774,36 @@ CustomizeMode.prototype = {
while (oldPlaceholders.length) {
contents.removeChild(oldPlaceholders[0]);
}
}
},
/**
* Update toolbar customization targets during drag events to add or remove
* outlines to indicate that an area is customizable.
*
* @param aWindow The XUL window in which outlines should be updated.
* @param {Element} [aToolbarArea=null] The element of the customizable toolbar area to add the
* outline to. If aToolbarArea is falsy, the outline will be
* removed from all toolbar areas.
*/
_updateToolbarCustomizationOutline: function(aWindow, aToolbarArea = null) {
// Remove the attribute from existing customization targets
for (let area of CustomizableUI.areas) {
if (CustomizableUI.getAreaType(area) != CustomizableUI.TYPE_TOOLBAR) {
continue;
}
let target = CustomizableUI.getCustomizeTargetForArea(area, aWindow);
target.removeAttribute("customizing-dragovertarget");
}
// Now set the attribute on the desired target
if (aToolbarArea) {
if (CustomizableUI.getAreaType(aToolbarArea.id) != CustomizableUI.TYPE_TOOLBAR)
return;
let target = CustomizableUI.getCustomizeTargetForArea(aToolbarArea.id, aWindow);
target.setAttribute("customizing-dragovertarget", true);
}
},
};
function __dumpDragData(aEvent, caller) {

Просмотреть файл

@ -2031,17 +2031,10 @@ chatbox {
border-left: 3px solid transparent;
}
#main-window[customizing] #navigator-toolbox::after {
margin-left: 2em;
margin-right: 2em;
}
/* End customization mode */
#main-window[privatebrowsingmode=temporary] #TabsToolbar::before {
display: -moz-box;
content: "";
#main-window[privatebrowsingmode=temporary] #private-browsing-indicator {
background: url("chrome://browser/skin/privatebrowsing-mask.png") center no-repeat;
width: 40px;
}

Просмотреть файл

@ -2577,7 +2577,7 @@ toolbarbutton.chevron > .toolbarbutton-menu-dropmarker {
@media (min-resolution: 2dppx) {
/* image preloading hack from shared/tabs.inc.css */
#TabsToolbar::before {
#tabbrowser-tabs::before {
background-image:
url(chrome://browser/skin/tabbrowser/tab-background-end@2x.png),
url(chrome://browser/skin/tabbrowser/tab-background-middle@2x.png),
@ -4176,11 +4176,6 @@ window > chatbox {
}
}
#main-window[customizing] #navigator-toolbox::after {
margin-left: 2em;
margin-right: 2em;
}
/* End customization mode */
#main-window[privatebrowsingmode=temporary] {

Просмотреть файл

@ -8,7 +8,7 @@
margin: 0 2em 2em;
}
#main-window:-moz-any([customize-entering],[customize-entered]) #navigator-toolbox > toolbar {
#main-window:-moz-any([customize-entering],[customize-entered]) #navigator-toolbox {
margin-left: 2em;
margin-right: 2em;
}
@ -17,17 +17,50 @@
pointer-events: none;
}
#nav-bar[customize-entered] > #nav-bar-customization-target {
margin: 1px 3px;
}
#nav-bar[customize-entered] > #nav-bar-customization-target,
#main-window[customize-entered] .customization-target:not(#PanelUI-contents)::before,
#PanelUI-contents > .panel-customization-placeholder {
-moz-outline-radius: 2.5px;
outline: 1px dashed transparent;
}
#main-window[customizing-movingItem] #nav-bar-customization-target,
#main-window[customizing-movingItem] .panel-customization-placeholder {
#main-window[customize-entered] .customization-target:not(#PanelUI-contents)::before {
/* Prevent jumping of tabs when switching a window between inactive and active (bug 853415). */
-moz-box-ordinal-group: 0;
content: "";
display: -moz-box;
height: 100%;
left: 0;
outline-offset: -2px;
pointer-events: none;
position: absolute;
top: 0;
width: 100%;
}
/* Shift the TabsToolbar outline up 2px since the #nav-bar is shifted up by 1px and the
#TabsToolbar::after is a pixel higher to draw the bottom border of the tabstrip so this makes the
offset from the bottom effectively the same as other targets (-2px). */
#main-window[customize-entered] #TabsToolbar.customization-target::before {
top: -2px;
}
/* The parents of the outline pseudo-elements need to be positioned so that the outline is positioned relative to it. */
#main-window[customize-entered] .customization-target:not(#PanelUI-contents):hover,
#main-window[customize-entered] .customization-target[customizing-dragovertarget]:not(#PanelUI-contents),
#main-window[customize-entered] #nav-bar-customization-target.customization-target {
position: relative;
}
/* Most target outlines are shown on hover and drag over but the panel menu uses
placeholders instead. */
#main-window[customize-entered] .customization-target:not(#PanelUI-contents):hover::before,
#main-window[customize-entered] .customization-target[customizing-dragovertarget]:not(#PanelUI-contents)::before,
/* nav-bar and panel outlines are always shown */
#main-window[customize-entered] #nav-bar-customization-target.customization-target::before {
outline-color: rgb(102,102,102);
}
#main-window[customize-entered] .panel-customization-placeholder {
outline-color: #bbb;
}
@ -36,7 +69,7 @@
outline-offset: -5px;
}
#main-window[customize-entered] .customization-target {
#main-window[customize-entered] .customization-target:not(#PanelUI-contents) {
min-width: 100px;
padding-left: 10px;
padding-right: 10px;

Просмотреть файл

@ -9,7 +9,7 @@
%define tabCurveHalfWidth 15px
/* image preloading hack */
#TabsToolbar::before {
#tabbrowser-tabs::before {
/* Because of bug 853415, we need to ordinal this to the first position: */
-moz-box-ordinal-group: 0;
content: '';

Просмотреть файл

@ -2502,11 +2502,6 @@ chatbox {
background-clip: padding-box;
}
#main-window[customizing] #navigator-toolbox::after {
margin-left: 2em;
margin-right: 2em;
}
/* End customization mode */
#main-window[privatebrowsingmode=temporary] #private-browsing-indicator {

Просмотреть файл

@ -6940,7 +6940,7 @@ dnl our own linker.
if test "$OS_TARGET" = Android; then
WRAP_LDFLAGS="${WRAP_LDFLAGS} -L$_objdir/dist/lib -lmozglue"
WRAP_LDFLAGS="${WRAP_LDFLAGS} -Wl,--wrap=PR_GetEnv,--wrap=PR_SetEnv"
if test -z "$gonkdir" -o "$ANDROID_VERSION" -le 18; then
if test "$MOZ_WIDGET_TOOLKIT" = android; then
WRAP_LDFLAGS="${WRAP_LDFLAGS} -Wl,--wrap=getaddrinfo,--wrap=freeaddrinfo,--wrap=gai_strerror"
fi
if test -z "$gonkdir"; then

Просмотреть файл

@ -105,7 +105,7 @@ support-files =
# process. Default is OOP.
[test_browserElement_NoAttr.html]
[test_browserElement_NoPref.html]
[test_browserElement_NoWhitelist.html]
[test_browserElement_NoPermission.html]
[test_browserElement_inproc_Alert.html]
[test_browserElement_inproc_AlertInFrame.html]
[test_browserElement_inproc_AppFramePermission.html]

Просмотреть файл

@ -14,7 +14,7 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=710231
<!--
Test that an iframe with the |mozbrowser| attribute does not emit
mozbrowserX events when this page is not in the whitelist.
mozbrowserX events when this page does not have the "browser" permission.
-->
<script type="application/javascript;version=1.7">
@ -23,9 +23,6 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=710231
SimpleTest.waitForExplicitFinish();
function runTest() {
browserElementTestHelpers.setEnabledPref(true);
browserElementTestHelpers.addPermissionForUrl('http://foobar.com');
var iframe = document.createElement('iframe');
SpecialPowers.wrap(iframe).mozbrowser = true;
document.body.appendChild(iframe);
@ -42,6 +39,8 @@ function runTest() {
iframe.src = browserElementTestHelpers.emptyPage1;
}
browserElementTestHelpers.setEnabledPref(true);
SpecialPowers.removePermission("browser", document);
addEventListener('testready', runTest);
</script>

Просмотреть файл

@ -23,7 +23,6 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=710231
SimpleTest.waitForExplicitFinish();
function runTest() {
browserElementTestHelpers.setEnabledPref(false);
var iframe = document.createElement('iframe');
SpecialPowers.wrap(iframe).mozbrowser = true;
@ -41,6 +40,7 @@ function runTest() {
iframe.src = browserElementTestHelpers.emptyPage1;
}
browserElementTestHelpers.setEnabledPref(false);
addEventListener('testready', runTest);
</script>

Просмотреть файл

@ -283,6 +283,7 @@ NetworkService.prototype = {
let options = {
cmd: "setDNS",
ifname: networkInterface.name,
domain: "mozilla." + networkInterface.name + ".doman",
dns1_str: networkInterface.dns1,
dns2_str: networkInterface.dns2
};
@ -296,6 +297,7 @@ NetworkService.prototype = {
ifname: network.name,
oldIfname: (oldInterface && oldInterface !== network) ? oldInterface.name : null,
gateway_str: network.gateway,
domain: "mozilla." + network.name + ".doman",
dns1_str: network.dns1,
dns2_str: network.dns2
};

Просмотреть файл

@ -205,6 +205,11 @@ CommandFunc NetworkUtils::sNetworkInterfaceSetAlarmChain[] = {
NetworkUtils::networkInterfaceAlarmSuccess
};
CommandFunc NetworkUtils::sSetDnsChain[] = {
NetworkUtils::setDefaultInterface,
NetworkUtils::setInterfaceDns
};
/**
* Helper function to get the bit length from given mask.
*/
@ -738,6 +743,26 @@ void NetworkUtils::disableNat(CommandChain* aChain,
doCommand(command, aChain, aCallback);
}
void NetworkUtils::setDefaultInterface(CommandChain* aChain,
CommandCallback aCallback,
NetworkResultOptions& aResult)
{
char command[MAX_COMMAND_SIZE];
snprintf(command, MAX_COMMAND_SIZE - 1, "resolver setdefaultif %s", GET_CHAR(mIfname));
doCommand(command, aChain, aCallback);
}
void NetworkUtils::setInterfaceDns(CommandChain* aChain,
CommandCallback aCallback,
NetworkResultOptions& aResult)
{
char command[MAX_COMMAND_SIZE];
snprintf(command, MAX_COMMAND_SIZE - 1, "resolver setifdns %s %s %s %s", GET_CHAR(mIfname), GET_CHAR(mDomain), GET_CHAR(mDns1_str), GET_CHAR(mDns2_str));
doCommand(command, aChain, aCallback);
}
#undef GET_CHAR
#undef GET_FIELD
@ -868,6 +893,11 @@ void NetworkUtils::wifiOperationModeSuccess(CommandChain* aChain,
postMessage(aChain->getParams(), aResult);
}
void NetworkUtils::setDnsFail(NetworkParams& aOptions, NetworkResultOptions& aResult)
{
postMessage(aOptions, aResult);
}
#undef ASSIGN_FIELD
#undef ASSIGN_FIELD_VALUE
@ -1054,6 +1084,11 @@ bool NetworkUtils::setDNS(NetworkParams& aOptions)
snprintf(num, PROPERTY_VALUE_MAX - 1, "%d", atoi(dnschange) + 1);
property_set("net.dnschange", num);
// DNS needs to be set through netd since JellyBean (4.3).
if (SDK_VERSION >= 18) {
RUN_CHAIN(aOptions, sSetDnsChain, setDnsFail)
}
return true;
}

Просмотреть файл

@ -30,6 +30,7 @@ public:
NetworkParams(const NetworkParams& aOther) {
mIp = aOther.mIp;
mCmd = aOther.mCmd;
mDomain = aOther.mDomain;
mDns1_str = aOther.mDns1_str;
mDns2_str = aOther.mDns2_str;
mGateway = aOther.mGateway;
@ -106,6 +107,7 @@ public:
COPY_FIELD(mId)
COPY_FIELD(mCmd)
COPY_OPT_STRING_FIELD(mDomain, EmptyString())
COPY_OPT_STRING_FIELD(mDns1_str, EmptyString())
COPY_OPT_STRING_FIELD(mDns2_str, EmptyString())
COPY_OPT_STRING_FIELD(mGateway, EmptyString())
@ -156,6 +158,7 @@ public:
int32_t mId;
nsString mCmd;
nsString mDomain;
nsString mDns1_str;
nsString mDns2_str;
nsString mGateway;
@ -299,6 +302,7 @@ private:
static CommandFunc sNetworkInterfaceEnableAlarmChain[];
static CommandFunc sNetworkInterfaceDisableAlarmChain[];
static CommandFunc sNetworkInterfaceSetAlarmChain[];
static CommandFunc sSetDnsChain[];
/**
* Individual netd command stored in command chain.
@ -331,6 +335,8 @@ private:
static void setDnsForwarders(PARAMS);
static void enableNat(PARAMS);
static void disableNat(PARAMS);
static void setDefaultInterface(PARAMS);
static void setInterfaceDns(PARAMS);
static void wifiTetheringSuccess(PARAMS);
static void usbTetheringSuccess(PARAMS);
static void networkInterfaceStatsSuccess(PARAMS);
@ -351,6 +357,7 @@ private:
static void setDhcpServerFail(PARAMS);
static void networkInterfaceStatsFail(PARAMS);
static void networkInterfaceAlarmFail(PARAMS);
static void setDnsFail(PARAMS);
#undef PARAMS
/**

Просмотреть файл

@ -15,6 +15,7 @@ dictionary NetworkCommandOptions
// "removeHostRoutes".
DOMString ip; // for "removeNetworkRoute", "setWifiTethering".
DOMString netmask; // for "removeNetworkRoute".
DOMString domain; // for "setDNS"
DOMString dns1_str; // for "setDNS", "setDefaultRouteAndDNS".
DOMString dns2_str; // for "setDNS", "setDefaultRouteAndDNS".
DOMString oldIfname; // for "setDefaultRouteAndDNS".

Просмотреть файл

@ -502,6 +502,14 @@ branding.res = TOPSRCDIR + '/' + CONFIG['MOZ_BRANDING_DIRECTORY'] + '/res'
main = add_android_eclipse_project('Fennec', OBJDIR + '/AndroidManifest.xml')
main.package_name = 'org.mozilla.gecko'
# These values were extracted from an existing Eclipse project. Use
# Project > Resource > Resource Filters and inspect the resulting
# .project file to modify this list.
main.filtered_resources += [
'1.0-projectRelativePath-matches-false-false-*org/mozilla/gecko/resources/**',
'1.0-projectRelativePath-matches-false-false-*org/mozilla/gecko/tests/**',
]
main.recursive_make_targets += ['.aapt.deps'] # Captures dependencies on Android manifest and all resources.
main.recursive_make_targets += [OBJDIR + '/generated/' + f for f in mgjar.generated_sources]
main.recursive_make_targets += [OBJDIR + '/generated/' + f for f in gbjar.generated_sources]

Просмотреть файл

@ -21,6 +21,6 @@
<instrumentation
android:label="@string/app_name"
android:name="org.mozilla.browser.harness.BrowserInstrumentationTestRunner"
android:name="org.mozilla.gecko.browser.harness.BrowserInstrumentationTestRunner"
android:targetPackage="@ANDROID_BROWSER_TARGET_PACKAGE_NAME@" />
</manifest>

Просмотреть файл

@ -25,9 +25,8 @@ if not CONFIG['LIBXUL_SDK']:
add_tier_dir('base', ['mfbt'])
if not CONFIG['JS_STANDALONE']:
if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('android', 'gonk'):
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk' and CONFIG['ANDROID_VERSION'] <= '18':
add_tier_dir('base', ['other-licenses/android'])
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android':
add_tier_dir('base', ['other-licenses/android'])
if CONFIG['MOZ_MEMORY']:
add_tier_dir('base', ['memory'])

Просмотреть файл

@ -6,7 +6,9 @@ from __future__ import unicode_literals
import itertools
import os
import time
import types
import xml.dom.minidom as minidom
import xml.etree.ElementTree as ET
from mozpack.copier import FileCopier
@ -24,6 +26,14 @@ from ..makeutil import Makefile
from ..util import ensureParentDir
def pretty_print(element):
"""Return a pretty-printed XML string for an Element.
"""
s = ET.tostring(element, 'utf-8')
# minidom wraps element in a Document node; firstChild strips it.
return minidom.parseString(s).firstChild.toprettyxml(indent=' ')
class AndroidEclipseBackend(CommonBackend):
"""Backend that generates Android Eclipse project files.
"""
@ -114,6 +124,37 @@ class AndroidEclipseBackend(CommonBackend):
e.set('path', name)
return e
def _Element_for_filtered_resources(self, filtered_resources):
"""Turn a list of filtered resource arguments like
['1.0-projectRelativePath-matches-false-false-*org/mozilla/gecko/resources/**']
into an XML Element, like:
<filteredResources>
<filter>
<id>1393009101322</id>
<name></name>
<type>30</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-projectRelativePath-matches-false-false-*org/mozilla/gecko/resources/**</arguments>
</matcher>
</filter>
</filteredResources>
The id is random; the values are magic."""
id = int(1000 * time.time())
filteredResources = ET.Element('filteredResources')
for arg in sorted(filtered_resources):
e = ET.SubElement(filteredResources, 'filter')
ET.SubElement(e, 'id').text = str(id)
id += 1
ET.SubElement(e, 'name')
ET.SubElement(e, 'type').text = '30' # It's magic!
matcher = ET.SubElement(e, 'matcher')
ET.SubElement(matcher, 'id').text = 'org.eclipse.ui.ide.multiFilter'
ET.SubElement(matcher, 'arguments').text = str(arg)
return filteredResources
def _manifest_for_project(self, srcdir, project):
manifest = InstallManifest()
@ -192,6 +233,11 @@ class AndroidEclipseBackend(CommonBackend):
defines['IDE_PROJECT_LIBRARY_REFERENCES'] = '\n'.join(
'android.library.reference.%s=%s' % (i + 1, ref)
for i, ref in enumerate(sorted(data.included_projects)))
if data.filtered_resources:
filteredResources = self._Element_for_filtered_resources(data.filtered_resources)
defines['IDE_PROJECT_FILTERED_RESOURCES'] = pretty_print(filteredResources).strip()
else:
defines['IDE_PROJECT_FILTERED_RESOURCES'] = ''
copier = FileCopier()
finder = FileFinder(template_directory)

Просмотреть файл

@ -49,4 +49,5 @@
<nature>com.android.ide.eclipse.adt.AndroidNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
@IDE_PROJECT_FILTERED_RESOURCES@
</projectDescription>

Просмотреть файл

@ -597,6 +597,7 @@ class AndroidEclipseProjectData(object):
'included_projects',
'referenced_projects',
'_classpathentries',
'filtered_resources',
)
def __init__(self, name):
@ -611,6 +612,7 @@ class AndroidEclipseProjectData(object):
self.included_projects = []
self.referenced_projects = []
self._classpathentries = []
self.filtered_resources = []
def add_classpathentry(self, path, srcdir, dstdir, exclude_patterns=[], ignore_warnings=False):
cpe = ClassPathEntry()

Просмотреть файл

@ -53,6 +53,9 @@ let FormWrapper = {
},
_updateSpinningly: function(changes) {
if (!Svc.FormHistory.enabled) {
return; // update isn't going to do anything.
}
let cb = Async.makeSpinningCallback();
let callbacks = {
handleCompletion: function(reason) {

Просмотреть файл

@ -5,6 +5,7 @@ _("Make sure the form store follows the Store api and correctly accesses the bac
Cu.import("resource://services-sync/engines/forms.js");
Cu.import("resource://services-sync/service.js");
Cu.import("resource://services-sync/util.js");
Cu.import("resource://gre/modules/Services.jsm");
function run_test() {
let baseuri = "http://fake/uri/";
@ -129,4 +130,22 @@ function run_test() {
for (let id in store.getAllIDs()) {
do_throw("Shouldn't get any ids!");
}
_("Ensure we work if formfill is disabled.");
Services.prefs.setBoolPref("browser.formfill.enable", false);
try {
// a search
for (let id in store.getAllIDs()) {
do_throw("Shouldn't get any ids!");
}
// an update.
applyEnsureNoFailures([{
id: Utils.makeGUID(),
name: "some",
value: "entry"
}]);
} finally {
Services.prefs.clearUserPref("browser.formfill.enable");
store.wipe();
}
}

Просмотреть файл

@ -773,6 +773,8 @@ function expireOldEntriesVacuum(aExpireTime, aBeginningCount) {
}
this.FormHistory = {
get enabled() Prefs.enabled,
search : function formHistorySearch(aSelectTerms, aSearchData, aCallbacks) {
// if no terms selected, select everything
aSelectTerms = (aSelectTerms) ? aSelectTerms : validFields;