Merge mozilla-central to mozilla-inbound

This commit is contained in:
Ed Morley 2013-02-27 11:07:25 +00:00
commit e7a9a5a6da
590 changed files with 8451 additions and 5387 deletions

View File

@ -21,7 +21,7 @@
<script type="application/javascript">
<![CDATA[
if (navigator.platform.indexOf("Mac") == 0) {
if (navigator.platform.startsWith("Mac")) {
SimpleTest.expectAssertions(0, 1);
} else {
SimpleTest.expectAssertions(1);

View File

@ -17,11 +17,11 @@
src="../actions.js"></script>
<script type="application/javascript">
if (navigator.platform.indexOf("Win") == 0) {
if (navigator.platform.startsWith("Win")) {
SimpleTest.expectAssertions(13);
} else if (navigator.platform.indexOf("Linux") == 0) {
} else if (navigator.platform.startsWith("Linux")) {
SimpleTest.expectAssertions(18);
} else if (navigator.platform.indexOf("Mac") == 0) {
} else if (navigator.platform.startsWith("Mac")) {
SimpleTest.expectAssertions(0, 14);
}

View File

@ -19,7 +19,7 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=558036
src="../attributes.js"></script>
<script type="application/javascript">
if (navigator.platform.indexOf("Linux") == 0) {
if (navigator.platform.startsWith("Linux")) {
SimpleTest.expectAssertions(0, 1);
}

View File

@ -19,7 +19,7 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=452161
src="editabletext.js"></script>
<script type="application/javascript">
if (navigator.platform.indexOf("Mac") == 0) {
if (navigator.platform.startsWith("Mac")) {
SimpleTest.expectAssertions(0, 3);
} else {
SimpleTest.expectAssertions(3);

View File

@ -32,7 +32,7 @@
<script type="application/javascript">
<![CDATA[
if (navigator.platform.indexOf("Mac") != 0) {
if (!navigator.platform.startsWith("Mac")) {
SimpleTest.expectAssertions(2);
}
////////////////////////////////////////////////////////////////////////////

View File

@ -24,7 +24,7 @@
<script type="application/javascript">
<![CDATA[
if (navigator.platform.indexOf("Linux") == 0) {
if (navigator.platform.startsWith("Linux")) {
SimpleTest.expectAssertions(1);
}
////////////////////////////////////////////////////////////////////////////

View File

@ -21,11 +21,11 @@
src="../states.js"></script>
<script type="application/javascript">
if (navigator.platform.indexOf("Win") == 0) {
if (navigator.platform.startsWith("Win")) {
SimpleTest.expectAssertions(1, 2);
} else if (navigator.platform.indexOf("Linux") == 0) {
} else if (navigator.platform.startsWith("Linux")) {
SimpleTest.expectAssertions(1);
} else if (navigator.platform.indexOf("Mac") == 0) {
} else if (navigator.platform.startsWith("Mac")) {
SimpleTest.expectAssertions(0, 1);
}

View File

@ -22,7 +22,7 @@
src="../browser.js"></script>
<script type="application/javascript">
if (navigator.platform.indexOf("Mac") == 0) {
if (navigator.platform.startsWith("Mac")) {
SimpleTest.expectAssertions(0, 1);
} else {
SimpleTest.expectAssertions(1);

View File

@ -28,8 +28,6 @@
////////////////////////////////////////////////////////////////////////////
// Test
// gA11yEventDumpID = "debug";
/**
* Event queue invoker object to test accessible states for XUL tree
* accessible.
@ -80,6 +78,8 @@
}
}
gA11yEventDumpToConsole = true; // debug stuff
var gQueue = null;
function doTest()

View File

@ -11,7 +11,7 @@
<script type="application/javascript"
src="../text.js"></script>
<script type="application/javascript">
if (navigator.platform.indexOf("Mac") == 0) {
if (navigator.platform.startsWith("Mac")) {
SimpleTest.expectAssertions(0, 23);
} else {
SimpleTest.expectAssertions(23);

View File

@ -13,7 +13,7 @@
<script type="application/javascript"
src="../text.js"></script>
<script type="application/javascript">
if (navigator.platform.indexOf("Mac") == 0) {
if (navigator.platform.startsWith("Mac")) {
SimpleTest.expectAssertions(0, 10);
} else {
SimpleTest.expectAssertions(10);

View File

@ -12,7 +12,7 @@
<script type="application/javascript"
src="../text.js"></script>
<script type="application/javascript">
if (navigator.platform.indexOf("Mac") == 0) {
if (navigator.platform.startsWith("Mac")) {
SimpleTest.expectAssertions(0, 1);
} else {
SimpleTest.expectAssertions(1);

View File

@ -16,7 +16,7 @@
src="../states.js"></script>
<script type="application/javascript">
if (navigator.platform.indexOf("Win") == 0) {
if (navigator.platform.startsWith("Win")) {
SimpleTest.expectAssertions(0, 1);
}

View File

@ -18,7 +18,7 @@
<script type="application/javascript">
<![CDATA[
if (navigator.platform.indexOf("Mac") == 0) {
if (navigator.platform.startsWith("Mac")) {
SimpleTest.expectAssertions(0, 1);
} else {
SimpleTest.expectAssertions(1);

View File

@ -199,6 +199,7 @@ let FormAssistant = {
selectionEnd: 0,
scrollIntoViewTimeout: null,
_focusedElement: null,
_documentEncoder: null,
get focusedElement() {
if (this._focusedElement && Cu.isDeadWrapper(this._focusedElement))
@ -223,18 +224,27 @@ let FormAssistant = {
}
}
this._documentEncoder = null;
if (element) {
element.addEventListener('mousedown', this);
element.addEventListener('mouseup', this);
if (isContentEditable(element)) {
this._documentEncoder = getDocumentEncoder(element);
}
}
this.focusedElement = element;
},
get documentEncoder() {
return this._documentEncoder;
},
handleEvent: function fa_handleEvent(evt) {
let focusedElement = this.focusedElement;
let target = evt.target;
let range = null;
switch (evt.type) {
case "focus":
if (!target) {
@ -264,8 +274,9 @@ let FormAssistant = {
case 'mousedown':
// We only listen for this event on the currently focused element.
// When the mouse goes down, note the cursor/selection position
this.selectionStart = this.focusedElement.selectionStart;
this.selectionEnd = this.focusedElement.selectionEnd;
range = getSelectionRange(this.focusedElement);
this.selectionStart = range[0];
this.selectionEnd = range[1];
break;
case 'mouseup':
@ -273,8 +284,9 @@ let FormAssistant = {
// When the mouse goes up, see if the cursor has moved (or the
// selection changed) since the mouse went down. If it has, we
// need to tell the keyboard about it
if (this.focusedElement.selectionStart !== this.selectionStart ||
this.focusedElement.selectionEnd !== this.selectionEnd) {
range = getSelectionRange(this.focusedElement);
if (range[0] !== this.selectionStart ||
range[1] !== this.selectionEnd) {
this.sendKeyboardState(this.focusedElement);
}
break;
@ -359,11 +371,11 @@ let FormAssistant = {
if (target instanceof HTMLOptionElement)
target = target.parentNode;
this.setFocusedElement(target);
let kbOpened = this.sendKeyboardState(target);
if (this.isTextInputElement(target))
this.isKeyboardOpened = kbOpened;
this.setFocusedElement(target);
},
hideKeyboard: function fa_hideKeyboard() {
@ -430,7 +442,6 @@ let FormAssistant = {
FormAssistant.init();
function isContentEditable(element) {
if (element.isContentEditable || element.designMode == "on")
return true;
@ -448,12 +459,12 @@ function isContentEditable(element) {
function getJSON(element) {
let type = element.type || "";
let value = element.value || ""
let value = element.value || "";
// Treat contenteditble element as a special text field
// Treat contenteditble element as a special text area field
if (isContentEditable(element)) {
type = "text";
value = element.textContent;
type = "textarea";
value = getContentEditableText(element);
}
// Until the input type=date/datetime/range have been implemented
@ -484,13 +495,15 @@ function getJSON(element) {
inputmode = '';
}
let range = getSelectionRange(element);
return {
"type": type.toLowerCase(),
"choices": getListForElement(element),
"value": value,
"inputmode": inputmode,
"selectionStart": element.selectionStart,
"selectionEnd": element.selectionEnd
"selectionStart": range[0],
"selectionEnd": range[1]
};
}
@ -546,3 +559,51 @@ function getListForElement(element) {
return result;
};
// Create a plain text document encode from the focused element.
function getDocumentEncoder(element) {
let encoder = Cc["@mozilla.org/layout/documentEncoder;1?type=text/plain"]
.createInstance(Ci.nsIDocumentEncoder);
let flags = Ci.nsIDocumentEncoder.SkipInvisibleContent |
Ci.nsIDocumentEncoder.OutputRaw |
Ci.nsIDocumentEncoder.OutputLFLineBreak |
Ci.nsIDocumentEncoder.OutputDropInvisibleBreak;
encoder.init(element.ownerDocument, "text/plain", flags);
return encoder;
}
// Get the visible content text of a content editable element
function getContentEditableText(element) {
let doc = element.ownerDocument;
let range = doc.createRange();
range.selectNodeContents(element);
let encoder = FormAssistant.documentEncoder;
encoder.setRange(range);
return encoder.encodeToString();
}
function getSelectionRange(element) {
let start = 0;
let end = 0;
if (element instanceof HTMLInputElement ||
element instanceof HTMLTextAreaElement) {
// Get the selection range of <input> and <textarea> elements
start = element.selectionStart;
end = element.selectionEnd;
} else {
// Get the selection range of contenteditable elements
let win = element.ownerDocument.defaultView;
let sel = win.getSelection();
let range = win.document.createRange();
range.setStart(element, 0);
range.setEnd(sel.anchorNode, sel.anchorOffset);
let encoder = FormAssistant.documentEncoder;
encoder.setRange(range);
start = encoder.encodeToString().length;
encoder.setRange(sel.getRangeAt(0));
end = start + encoder.encodeToString().length;
}
return [start, end];
}

View File

@ -1,7 +1,7 @@
[
{
"size": 895408640,
"digest": "fc5be04b9b8365cd65fa8e66f4686bf0da8e34abb16ee618dd069469c9d9c9c3495562ebfcd21a2beadb27d59d6c011781188b9038ffebfd3e85cdd264f0aac3",
"size": 896038748,
"digest": "a153b55e13938c608d0d449073142322470aaf6c77375165df83dc845d9c357d0cf4754db3b058d4707442cd6252fe3076e81a22c32cb34bd3df6432ad5b99f1",
"algorithm": "sha512",
"filename": "gonk.tar.xz"
},

View File

@ -3,107 +3,108 @@
gonk.tar.xz snapshot referred to by releng-otoro.tt -->
<remote fetch="https://android.googlesource.com/" name="aosp"/>
<remote fetch="git://github.com/mozilla-b2g/" name="b2g"/>
<remote fetch="https://git.mozilla.org/b2g" name="b2g"/>
<remote fetch="git://github.com/mozilla-b2g/" name="b2ggithub"/>
<remote fetch="git://github.com/mozilla/" name="mozilla"/>
<remote fetch="git://codeaurora.org/" name="caf"/>
<remote fetch="git://android.git.linaro.org/" name="linaro"/>
<remote fetch="https://git.mozilla.org" name="mozillaorg"/>
<remote fetch="https://git.mozilla.org/releases" name="mozillaorg"/>
<default remote="caf" revision="ics_chocolate_rb4.2" sync-j="4"/>
<!-- Gonk specific things and forks -->
<project name="platform_build" path="build" remote="b2g" revision="273ba23d5c6c9f6a34995a3cc429804d1449ca9f">
<project name="platform_build" path="build" remote="b2g" revision="43434d6cdbf702e6197e0791f19406860284edf6">
<copyfile dest="Makefile" src="core/root.mk"/>
</project>
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="654358494ba601a46ef9838debc95417ae464cc6"/>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="32106d4ea635ebe17a1610b643b398db639b8b97"/>
<project name="librecovery" path="librecovery" remote="b2g" revision="e1bd90051c9e937221eb1f91c94e3cde747311a7"/>
<project name="moztt" path="external/moztt" remote="b2g" revision="6ee1f8987ef36d688f97064c003ad57849dfadf2"/>
<!-- Information: fake-dalvik is tagged with B2G_1_0_0_20130125190500 --><project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="c6fc2e70b2586fe45db4b676567be2aa94cf420e"/>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="f634b3d50effdd42828cc757c01fdbf74e562a36"/>
<!-- Information: librecovery is tagged with B2G_1_0_0_20130125190500 --><project name="librecovery" path="librecovery" remote="b2g" revision="601fc18b28c9d7cf6954b281ddd3b705c74a9215"/>
<project name="moztt" path="external/moztt" remote="b2g" revision="62f94a26d34c1f1e1846efd58d34363c051e8c66"/>
<!-- Stock Android things -->
<!-- Information: platform/abi/cpp is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.138 --><project name="platform/abi/cpp" path="abi/cpp" revision="6426040f1be4a844082c9769171ce7f5341a5528"/>
<!-- Information: platform/abi/cpp is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/abi/cpp" path="abi/cpp" revision="6426040f1be4a844082c9769171ce7f5341a5528"/>
<!-- Information: platform/bionic is tagged with M8960AAAAANLYA100715A --><project name="platform/bionic" path="bionic" revision="cd5dfce80bc3f0139a56b58aca633202ccaee7f8"/>
<!-- Information: platform/bootable/recovery is tagged with M8960AAAAANLYA100715A --><project name="platform/bootable/recovery" path="bootable/recovery" revision="e0a9ac010df3afaa47ba107192c05ac8b5516435"/>
<!-- Information: platform/development is tagged with M8960AAAAANLYA100715A --><project name="platform/development" path="development" revision="a384622f5fcb1d2bebb9102591ff7ae91fe8ed2d"/>
<!-- Information: device/common is tagged with M8960AAAAANLYA1005304 --><project name="device/common" path="device/common" revision="7c65ea240157763b8ded6154a17d3c033167afb7"/>
<!-- Information: device/common is tagged with AU_LINUX_ANDROID_ICS_CHOCOLATE.04.00.04.05.324 --><project name="device/common" path="device/common" revision="7c65ea240157763b8ded6154a17d3c033167afb7"/>
<!-- Information: device/sample is tagged with M8960AAAAANLYA100715A --><project name="device/sample" path="device/sample" revision="c328f3d4409db801628861baa8d279fb8855892f"/>
<!-- Information: platform/external/apache-http is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.138 --><project name="platform/external/apache-http" path="external/apache-http" revision="6c9d8c58d3ed710f87c26820d903bb8aad81754f"/>
<project name="platform_external_apriori" path="external/apriori" remote="b2ggithub" revision="2c3a7113299eb789a076be23449d868b3bfa07fd"/>
<!-- Information: platform/external/bluetooth/bluez is tagged with M76XXUSNEKNLYA2040 --><project name="platform/external/bluetooth/bluez" path="external/bluetooth/bluez" revision="1023c91c66e9c3bd1132480051993bf7827770f6"/>
<!-- Information: platform/external/bluetooth/glib is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.138 --><project name="platform/external/bluetooth/glib" path="external/bluetooth/glib" revision="c6b49241cc1a8950723a5f74f8f4b4f4c3fa970e"/>
<!-- Information: platform/external/bluetooth/hcidump is tagged with M8960AAAAANLYA1005304 --><project name="platform/external/bluetooth/hcidump" path="external/bluetooth/hcidump" revision="02b1eb24fbb3d0135a81edb4a2175b1397308d7d"/>
<!-- Information: platform/external/bsdiff is tagged with AU_LINUX_ANDROID_JB_REL_2.0.3.04.01.02.21.041 --><project name="platform/external/bsdiff" path="external/bsdiff" revision="81872540236d9bb15cccf963d05b9de48baa5375"/>
<!-- Information: platform/external/bzip2 is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.138 --><project name="platform/external/bzip2" path="external/bzip2" revision="048dacdca43eed1534689ececcf2781c63e1e4ba"/>
<!-- Information: platform/external/bluetooth/glib is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/bluetooth/glib" path="external/bluetooth/glib" revision="c6b49241cc1a8950723a5f74f8f4b4f4c3fa970e"/>
<!-- Information: platform/external/bluetooth/hcidump is tagged with AU_LINUX_ANDROID_ICS_CHOCOLATE.04.00.04.05.324 --><project name="platform/external/bluetooth/hcidump" path="external/bluetooth/hcidump" revision="02b1eb24fbb3d0135a81edb4a2175b1397308d7d"/>
<!-- Information: platform/external/bsdiff is tagged with A8064AAAAANLYA102313 --><project name="platform/external/bsdiff" path="external/bsdiff" revision="81872540236d9bb15cccf963d05b9de48baa5375"/>
<!-- Information: platform/external/bzip2 is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/bzip2" path="external/bzip2" revision="048dacdca43eed1534689ececcf2781c63e1e4ba"/>
<!-- Information: platform/external/dbus is tagged with M8960AAAAANLYA100715A --><project name="platform/external/dbus" path="external/dbus" revision="c7517b6195dc6926728352113e6cc335da3f9c9e"/>
<!-- Information: platform/external/dhcpcd is tagged with M8960AAAAANLYA100715A --><project name="platform/external/dhcpcd" path="external/dhcpcd" revision="1e00fb67022d0921af0fead263f81762781b9ffa"/>
<!-- Information: platform/external/dnsmasq is tagged with AU_LINUX_ANDROID_JB_REL_2.0.3.04.01.02.21.041 --><project name="platform/external/dnsmasq" path="external/dnsmasq" revision="f621afad94df46204c25fc2593a19d704d2637f5"/>
<!-- Information: platform/external/e2fsprogs is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.138 --><project name="platform/external/e2fsprogs" path="external/e2fsprogs" revision="d5f550bb2f556c5d287f7c8d2b77223654bcec37"/>
<!-- Information: platform/external/expat is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.138 --><project name="platform/external/expat" path="external/expat" revision="6df134250feab71edb5915ecaa6268210bca76c5"/>
<!-- Information: platform/external/fdlibm is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.138 --><project name="platform/external/fdlibm" path="external/fdlibm" revision="988ffeb12a6e044ae3504838ef1fee3fe0716934"/>
<!-- Information: platform/external/flac is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.138 --><project name="platform/external/flac" path="external/flac" revision="5893fbe890f5dab8e4146d2baa4bd2691c0739e0"/>
<!-- Information: platform/external/freetype is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.138 --><project name="platform/external/freetype" path="external/freetype" revision="aeb407daf3711a10a27f3bc2223c5eb05158076e"/>
<!-- Information: platform/external/giflib is tagged with AU_LINUX_ANDROID_JB_REL_2.0.3.04.01.02.21.041 --><project name="platform/external/giflib" path="external/giflib" revision="b2597268aef084202a8c349d1cc072c03c6e22eb"/>
<!-- Information: platform/external/gtest is tagged with android-4.2.1_r1 --><project name="platform/external/gtest" path="external/gtest" remote="linaro" revision="344e5f3db17615cc853073a02968a603efd39109"/>
<!-- Information: platform/external/harfbuzz is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.138 --><project name="platform/external/harfbuzz" path="external/harfbuzz" revision="116610d63a859521dacf00fb6818ee9ab2e666f6"/>
<!-- Information: platform/external/icu4c is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.138 --><project name="platform/external/icu4c" path="external/icu4c" revision="0fa67b93b831c6636ca18b152a1b1b14cc99b034"/>
<!-- Information: platform/external/iptables is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.138 --><project name="platform/external/iptables" path="external/iptables" revision="3b2deb17f065c5664bb25e1a28489e5792eb63ff"/>
<!-- Information: platform/external/jhead is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.138 --><project name="platform/external/jhead" path="external/jhead" revision="754078052c687f6721536009c816644c73e4f145"/>
<!-- Information: platform/external/jpeg is tagged with M8960AAAAANLYA1005304 --><project name="platform/external/jpeg" path="external/jpeg" revision="a62e464d672a4623233180e4023034bf825f066e"/>
<!-- Information: platform/external/libgsm is tagged with AU_LINUX_ANDROID_JB_REL_2.0.3.04.01.02.21.041 --><project name="platform/external/libgsm" path="external/libgsm" revision="5e4516958690b9a1b2c98f88eeecba3edd2dbda4"/>
<!-- Information: platform/external/liblzf is tagged with AU_LINUX_ANDROID_JB_REL_2.0.3.04.01.02.21.041 --><project name="platform/external/liblzf" path="external/liblzf" revision="6946aa575b0949d045722794850896099d937cbb"/>
<!-- Information: platform/external/libnfc-nxp is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.138 --><project name="platform/external/libnfc-nxp" path="external/libnfc-nxp" revision="3a912b065a31a72c63ad56ac224cfeaa933423b6"/>
<!-- Information: platform/external/libnl-headers is tagged with AU_LINUX_ANDROID_JB_REL_2.0.3.04.01.02.21.041 --><project name="platform/external/libnl-headers" path="external/libnl-headers" revision="6ccf7349d61f73ac26a0675d735d903ab919c658"/>
<!-- Information: platform/external/libphonenumber is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.138 --><project name="platform/external/libphonenumber" path="external/libphonenumber" revision="8d22c9a05eda1935c6dc27d188158e6ee38dc016"/>
<!-- Information: platform/external/dnsmasq is tagged with A8064AAAAANLYA102313 --><project name="platform/external/dnsmasq" path="external/dnsmasq" revision="f621afad94df46204c25fc2593a19d704d2637f5"/>
<project name="platform_external_elfcopy" path="external/elfcopy" remote="b2ggithub" revision="62c1bed1c4505369cac2e72fbe30452a598fb690"/>
<project name="platform_external_elfutils" path="external/elfutils" remote="b2ggithub" revision="72940dec691fa3255e13df01f8c53b620e446066"/>
<!-- Information: platform/external/e2fsprogs is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/e2fsprogs" path="external/e2fsprogs" revision="d5f550bb2f556c5d287f7c8d2b77223654bcec37"/>
<!-- Information: platform/external/expat is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/expat" path="external/expat" revision="6df134250feab71edb5915ecaa6268210bca76c5"/>
<!-- Information: platform/external/fdlibm is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/fdlibm" path="external/fdlibm" revision="988ffeb12a6e044ae3504838ef1fee3fe0716934"/>
<!-- Information: platform/external/flac is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/flac" path="external/flac" revision="5893fbe890f5dab8e4146d2baa4bd2691c0739e0"/>
<!-- Information: platform/external/freetype is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/freetype" path="external/freetype" revision="aeb407daf3711a10a27f3bc2223c5eb05158076e"/>
<!-- Information: platform/external/giflib is tagged with A8064AAAAANLYA102313 --><project name="platform/external/giflib" path="external/giflib" revision="b2597268aef084202a8c349d1cc072c03c6e22eb"/>
<project name="platform/external/gtest" path="external/gtest" remote="linaro" revision="8c212ebe53bb2baab3575f03069016f1fb11e449"/>
<!-- Information: platform/external/harfbuzz is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/harfbuzz" path="external/harfbuzz" revision="116610d63a859521dacf00fb6818ee9ab2e666f6"/>
<!-- Information: platform/external/icu4c is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/icu4c" path="external/icu4c" revision="0fa67b93b831c6636ca18b152a1b1b14cc99b034"/>
<!-- Information: platform/external/iptables is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/iptables" path="external/iptables" revision="3b2deb17f065c5664bb25e1a28489e5792eb63ff"/>
<!-- Information: platform/external/jpeg is tagged with AU_LINUX_ANDROID_ICS_CHOCOLATE.04.00.04.05.324 --><project name="platform/external/jpeg" path="external/jpeg" revision="a62e464d672a4623233180e4023034bf825f066e"/>
<!-- Information: platform/external/libgsm is tagged with A8064AAAAANLYA102313 --><project name="platform/external/libgsm" path="external/libgsm" revision="5e4516958690b9a1b2c98f88eeecba3edd2dbda4"/>
<!-- Information: platform/external/liblzf is tagged with AU_LINUX_ANDROID_JB_MR1.04.02.02.49.134 --><project name="platform/external/liblzf" path="external/liblzf" revision="6946aa575b0949d045722794850896099d937cbb"/>
<!-- Information: platform/external/libnfc-nxp is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/libnfc-nxp" path="external/libnfc-nxp" revision="3a912b065a31a72c63ad56ac224cfeaa933423b6"/>
<!-- Information: platform/external/libnl-headers is tagged with AU_LINUX_ANDROID_JB_MR1.04.02.02.49.134 --><project name="platform/external/libnl-headers" path="external/libnl-headers" revision="6ccf7349d61f73ac26a0675d735d903ab919c658"/>
<!-- Information: platform/external/libpng is tagged with M8960AAAAANLYA100715A --><project name="platform/external/libpng" path="external/libpng" revision="9c3730f0efa69f580f03463c237cd928f3196404"/>
<!-- Information: platform/external/libvpx is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.138 --><project name="platform/external/libvpx" path="external/libvpx" revision="3a40da0d96da5c520e7707aa14f48a80956e20d7"/>
<!-- Information: platform/external/llvm is tagged with M8960AAAAANLYA1005304 --><project name="platform/external/llvm" path="external/llvm" revision="bff5923831940309f7d8ddbff5826ca6ed2dc050"/>
<!-- Information: platform/external/mksh is tagged with M8960AAAAANLYA1005304 --><project name="platform/external/mksh" path="external/mksh" revision="ec646e8f5e7dac9a77d1de549c6ed92c04d0cd4b"/>
<project name="platform_external_opensans" path="external/opensans" remote="b2g" revision="b5b4c226ca1d71e936153cf679dda6d3d60e2354"/>
<!-- Information: platform/external/libvpx is tagged with M8960AAAAANLYA1519349 --><project name="platform/external/libvpx" path="external/libvpx" revision="3a40da0d96da5c520e7707aa14f48a80956e20d7"/>
<!-- Information: platform/external/llvm is tagged with AU_LINUX_ANDROID_ICS_CHOCOLATE.04.00.04.05.324 --><project name="platform/external/llvm" path="external/llvm" revision="bff5923831940309f7d8ddbff5826ca6ed2dc050"/>
<!-- Information: platform/external/mksh is tagged with AU_LINUX_ANDROID_ICS_CHOCOLATE.04.00.04.05.324 --><project name="platform/external/mksh" path="external/mksh" revision="ec646e8f5e7dac9a77d1de549c6ed92c04d0cd4b"/>
<!-- Information: platform_external_opensans is tagged with B2G_1_0_0_20130125190500 --><project name="platform_external_opensans" path="external/opensans" remote="b2g" revision="b5b4c226ca1d71e936153cf679dda6d3d60e2354"/>
<!-- Information: platform/external/openssl is tagged with AU_LINUX_ANDROID_ICS.04.00.04.00.110 --><project name="platform/external/openssl" path="external/openssl" revision="27d333cce9a31c806b4bfa042925f045c727aecd"/>
<!-- Information: platform/external/protobuf is tagged with AU_LINUX_ANDROID_JB_REL_2.0.3.04.01.02.21.041 --><project name="platform/external/protobuf" path="external/protobuf" revision="e217977611c52bccde7f7c78e1d3c790c6357431"/>
<!-- Information: platform/external/safe-iop is tagged with AU_LINUX_ANDROID_JB_REL_2.0.3.04.01.02.21.041 --><project name="platform/external/safe-iop" path="external/safe-iop" revision="07073634e2e3aa4f518e36ed5dec3aabc549d5fb"/>
<project name="screencap-gonk" path="external/screencap-gonk" remote="b2g" revision="e6403c71e9eca8cb943739d5a0a192deac60fc51"/>
<!-- Information: platform/external/protobuf is tagged with A8064AAAAANLYA102313 --><project name="platform/external/protobuf" path="external/protobuf" revision="e217977611c52bccde7f7c78e1d3c790c6357431"/>
<!-- Information: platform/external/safe-iop is tagged with A8064AAAAANLYA102313 --><project name="platform/external/safe-iop" path="external/safe-iop" revision="07073634e2e3aa4f518e36ed5dec3aabc549d5fb"/>
<!-- Information: screencap-gonk is tagged with B2G_1_0_0_20130125190500 --><project name="screencap-gonk" path="external/screencap-gonk" remote="b2g" revision="e6403c71e9eca8cb943739d5a0a192deac60fc51"/>
<!-- Information: platform/external/skia is tagged with M8960AAAAANLYA100715A --><project name="platform/external/skia" path="external/skia" revision="7d90c85f2c0e3b747f7c7eff8bc9253b0063b439"/>
<!-- Information: platform/external/sonivox is tagged with M8960AAAAANLYA1005304 --><project name="platform/external/sonivox" path="external/sonivox" revision="7c967779dfc61ac1f346e972de91d4bfce7dccbb"/>
<!-- Information: platform/external/speex is tagged with AU_LINUX_ANDROID_JB_REL_2.0.3.04.01.02.21.041 --><project name="platform/external/speex" path="external/speex" revision="ebe6230a7f7c69f5a4389f2b09b7b19ef9e94f32"/>
<!-- Information: platform/external/sonivox is tagged with AU_LINUX_ANDROID_ICS_CHOCOLATE.04.00.04.05.324 --><project name="platform/external/sonivox" path="external/sonivox" revision="7c967779dfc61ac1f346e972de91d4bfce7dccbb"/>
<!-- Information: platform/external/speex is tagged with A8064AAAAANLYA102313 --><project name="platform/external/speex" path="external/speex" revision="ebe6230a7f7c69f5a4389f2b09b7b19ef9e94f32"/>
<project name="platform/external/sqlite" path="external/sqlite" revision="fb30e613139b8836fdc8e81e166cf3a76e5fa17f"/>
<!-- Information: platform/external/stlport is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.138 --><project name="platform/external/stlport" path="external/stlport" revision="a6734e0645fce81c9610de0488b729207bfa576e"/>
<!-- Information: platform/external/strace is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.138 --><project name="platform/external/strace" path="external/strace" revision="c9fd2e5ef7d002e12e7cf2512506c84a9414b0fd"/>
<!-- Information: platform/external/tagsoup is tagged with AU_LINUX_ANDROID_JB_REL_2.0.3.04.01.02.21.041 --><project name="platform/external/tagsoup" path="external/tagsoup" revision="68c2ec9e0acdb3214b7fb91dbab8c9fab8736817"/>
<!-- Information: platform/external/tinyalsa is tagged with M8960AAAAANLYA1005304 --><project name="platform/external/tinyalsa" path="external/tinyalsa" revision="06cc244ee512c1352215e543615738bc8ac82814"/>
<!-- Information: platform/external/tremolo is tagged with AU_LINUX_ANDROID_JB_REL_2.0.3.04.01.02.21.041 --><project name="platform/external/tremolo" path="external/tremolo" revision="25bd78d2392dbdc879ae53382cde9d019f79cf6f"/>
<project name="unbootimg" path="external/unbootimg" remote="b2g" revision="9464623d92eb8668544916dc5a8f4f6337d0bc08"/>
<!-- Information: platform/external/webp is tagged with AU_LINUX_ANDROID_JB_REL_2.0.3.04.01.02.21.041 --><project name="platform/external/webp" path="external/webp" revision="88fe2b83c4b9232cd08729556fd0485d6a6a92cd"/>
<!-- Information: platform/external/webrtc is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.138 --><project name="platform/external/webrtc" path="external/webrtc" revision="137024dc8a2e9251a471e20518a9c3ae06f81f23"/>
<!-- Information: platform/external/wpa_supplicant is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.138 --><project name="platform/external/wpa_supplicant" path="external/wpa_supplicant" revision="a01d37870bbf9892d43e792e5de0683ca41c5497"/>
<!-- Information: platform/external/stlport is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/stlport" path="external/stlport" revision="a6734e0645fce81c9610de0488b729207bfa576e"/>
<!-- Information: platform/external/strace is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/strace" path="external/strace" revision="c9fd2e5ef7d002e12e7cf2512506c84a9414b0fd"/>
<!-- Information: platform/external/tagsoup is tagged with AU_LINUX_ANDROID_JB_MR1.04.02.02.49.134 --><project name="platform/external/tagsoup" path="external/tagsoup" revision="68c2ec9e0acdb3214b7fb91dbab8c9fab8736817"/>
<!-- Information: platform/external/tinyalsa is tagged with AU_LINUX_ANDROID_ICS_CHOCOLATE.04.00.04.05.324 --><project name="platform/external/tinyalsa" path="external/tinyalsa" revision="06cc244ee512c1352215e543615738bc8ac82814"/>
<!-- Information: platform/external/tremolo is tagged with A8064AAAAANLYA102313 --><project name="platform/external/tremolo" path="external/tremolo" revision="25bd78d2392dbdc879ae53382cde9d019f79cf6f"/>
<!-- Information: unbootimg is tagged with B2G_1_0_0_20130125190500 --><project name="unbootimg" path="external/unbootimg" remote="b2g" revision="9464623d92eb8668544916dc5a8f4f6337d0bc08"/>
<!-- Information: platform/external/webp is tagged with A8064AAAAANLYA102313 --><project name="platform/external/webp" path="external/webp" revision="88fe2b83c4b9232cd08729556fd0485d6a6a92cd"/>
<!-- Information: platform/external/webrtc is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/webrtc" path="external/webrtc" revision="137024dc8a2e9251a471e20518a9c3ae06f81f23"/>
<!-- Information: platform/external/wpa_supplicant is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/wpa_supplicant" path="external/wpa_supplicant" revision="a01d37870bbf9892d43e792e5de0683ca41c5497"/>
<!-- Information: platform/external/hostap is tagged with M8960AAAAANLYA1047 --><project name="platform/external/hostap" path="external/hostap" revision="bf04b0faadbdeb4b7943f2e2c4c5aa59df872bb1"/>
<!-- Information: platform/external/zlib is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.138 --><project name="platform/external/zlib" path="external/zlib" revision="f96a1d1ebfdf1cd582210fd09c23d8f59e0ae094"/>
<!-- Information: platform/external/yaffs2 is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.138 --><project name="platform/external/yaffs2" path="external/yaffs2" revision="0afa916204c664b3114429637b63af1321a0aeca"/>
<!-- Information: platform/external/zlib is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.01.19.008 --><project name="platform/external/zlib" path="external/zlib" revision="f96a1d1ebfdf1cd582210fd09c23d8f59e0ae094"/>
<!-- Information: platform/external/yaffs2 is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/yaffs2" path="external/yaffs2" revision="0afa916204c664b3114429637b63af1321a0aeca"/>
<!-- Information: platform/frameworks/base is tagged with M76XXUSNEKNLYA2040 --><project name="platform/frameworks/base" path="frameworks/base" revision="eb2bc75803ca179353c24c364a9c8a8ce23e8b78"/>
<!-- Information: platform/frameworks/opt/emoji is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.138 --><project name="platform/frameworks/opt/emoji" path="frameworks/opt/emoji" revision="a95d8db002770469d72dfaf59ff37ac96db29a87"/>
<!-- Information: platform/frameworks/support is tagged with M8960AAAAANLYA1005304 --><project name="platform/frameworks/support" path="frameworks/support" revision="27208692b001981f1806f4f396434f4eac78b909"/>
<!-- Information: platform/frameworks/opt/emoji is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/frameworks/opt/emoji" path="frameworks/opt/emoji" revision="a95d8db002770469d72dfaf59ff37ac96db29a87"/>
<!-- Information: platform/frameworks/support is tagged with AU_LINUX_ANDROID_ICS_CHOCOLATE.04.00.04.05.324 --><project name="platform/frameworks/support" path="frameworks/support" revision="27208692b001981f1806f4f396434f4eac78b909"/>
<!-- Information: platform/hardware/libhardware is tagged with M8960AAAAANLYA1049B --><project name="platform/hardware/libhardware" path="hardware/libhardware" revision="4a619901847621f8a7305edf42dd07347a140484"/>
<!-- Information: platform/hardware/libhardware_legacy is tagged with M8960AAAAANLYA153611 --><project name="platform/hardware/libhardware_legacy" path="hardware/libhardware_legacy" revision="87b4d7afa8f854b445e2d0d95091f6f6069f2b30"/>
<!-- Information: platform/libcore is tagged with M8960AAAAANLYA100715A --><project name="platform/libcore" path="libcore" revision="30841f9fba9ccd5c54f4f079f495994db97f283e"/>
<!-- Information: platform/ndk is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.138 --><project name="platform/ndk" path="ndk" revision="9f555971e1481854d5b4dc11b3e6af9fff4f241f"/>
<!-- Information: platform/prebuilt is tagged with M8960AAAAANLYA1005304 --><project name="platform/prebuilt" path="prebuilt" revision="447ea790fcc957dde59730ecc2a65ca263bdc733"/>
<!-- Information: platform/ndk is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/ndk" path="ndk" revision="9f555971e1481854d5b4dc11b3e6af9fff4f241f"/>
<!-- Information: platform/prebuilt is tagged with AU_LINUX_ANDROID_ICS_CHOCOLATE.04.00.04.05.324 --><project name="platform/prebuilt" path="prebuilt" revision="447ea790fcc957dde59730ecc2a65ca263bdc733"/>
<!-- Information: platform/system/bluetooth is tagged with M8960AAAAANLYA100703 --><project name="platform/system/bluetooth" path="system/bluetooth" revision="7772cad4823f1f427ce1d4df84a55982386d6d18"/>
<!-- Information: platform/system/core is tagged with M76XXUSNEKNLYA2040 --><project name="platform/system/core" path="system/core" revision="bf1970408676ce570b8f4dc3efa038e47552137f"/>
<!-- Information: platform/system/extras is tagged with M8960AAAAANLYA1005304 --><project name="platform/system/extras" path="system/extras" revision="01db6c1254e1407740a543f24317fc540fc4c049"/>
<!-- Information: platform/system/media is tagged with M8960AAAAANLYA1005304 --><project name="platform/system/media" path="system/media" revision="7f71c7fd362bbd992ff2e0e80f7af5859ad116ad"/>
<!-- Information: platform/system/extras is tagged with AU_LINUX_ANDROID_ICS_CHOCOLATE.04.00.04.05.324 --><project name="platform/system/extras" path="system/extras" revision="01db6c1254e1407740a543f24317fc540fc4c049"/>
<!-- Information: platform/system/media is tagged with AU_LINUX_ANDROID_ICS_CHOCOLATE.04.00.04.05.324 --><project name="platform/system/media" path="system/media" revision="7f71c7fd362bbd992ff2e0e80f7af5859ad116ad"/>
<!-- Information: platform/system/netd is tagged with M8960AAAAANLYA1049 --><project name="platform/system/netd" path="system/netd" revision="306e765248e3900041bf2737e9f57b1b5694a4ce"/>
<!-- Information: platform/system/vold is tagged with M8960AAAAANLYA100715A --><project name="platform/system/vold" path="system/vold" revision="99fff257d53cc045d1460841edca5d901dacfcf5"/>
<!-- Otoro/Unagi specific things -->
<!-- Information: device/qcom/common is tagged with M8960AAAAANLYA100715A --><project name="device/qcom/common" path="device/qcom/common" revision="b9cdab8e1e1a215a8c65b8d5816f666bec7be205"/>
<!-- Information: platform/vendor/qcom/msm7627a is tagged with M8960AAAAANLYA100715A --><project name="platform/vendor/qcom/msm7627a" path="device/qcom/msm7627a" revision="d920a502ba17cf4d716f8b1a615f07e796b0501a"/>
<project name="android-device-otoro" path="device/qcom/otoro" remote="b2g" revision="e3e99b264dd0230108aa78f2b653db4ce0e494fb"/>
<project name="android-device-unagi" path="device/qcom/unagi" remote="b2g" revision="e74925a10e11a4f0bc56158c248bd20c521d3dd7"/>
<project name="codeaurora_kernel_msm" path="kernel" remote="b2g" revision="0a01247e4b0880f93424b27251cd3a1f6b19dbb2"/>
<!-- Information: android-device-otoro is tagged with B2G_1_0_0_20130125190500 --><project name="android-device-otoro" path="device/qcom/otoro" remote="b2g" revision="7662275433fc0b1d8b035f03185b24b7ca965ab4"/>
<!-- Information: android-device-unagi is tagged with B2G_1_0_0_20130125190500 --><project name="android-device-unagi" path="device/qcom/unagi" remote="b2g" revision="6c014552d1b26bee611d9a9b23bd4cd014e392ee"/>
<!-- Information: codeaurora_kernel_msm is tagged with B2G_1_0_0_20130125190500 --><project name="codeaurora_kernel_msm" path="kernel" remote="b2g" revision="0a01247e4b0880f93424b27251cd3a1f6b19dbb2"/>
<!-- Information: platform/hardware/qcom/camera is tagged with M76XXUSNEKNLYA2040 --><project name="platform/hardware/qcom/camera" path="hardware/qcom/camera" revision="1acf77a75e30f3fc8b1eed2057c97adf1cb1633f"/>
<project name="hardware_qcom_display" path="hardware/qcom/display" remote="b2g" revision="6405d30f2fac7d8a1f2cb17b99fb7dd0a8bcfdac"/>
<!-- Information: hardware_qcom_display is tagged with B2G_1_0_0_20130125190500 --><project name="hardware_qcom_display" path="hardware/qcom/display" remote="b2g" revision="6405d30f2fac7d8a1f2cb17b99fb7dd0a8bcfdac"/>
<!-- Information: platform/hardware/qcom/media is tagged with M8960AAAAANLYA100715A --><project name="platform/hardware/qcom/media" path="hardware/qcom/media" revision="552c3ddb7174a01f3508782d40c4d8c845ab441a"/>
<!-- Information: platform/hardware/qcom/gps is tagged with M8960AAAAANLYA100705 --><project name="platform/hardware/qcom/gps" path="hardware/qcom/gps" revision="23d5707b320d7fc69f8ba3b7d84d78a1c5681708"/>
<!-- Information: platform/hardware/msm7k is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.138 --><project name="platform/hardware/msm7k" path="hardware/msm7k" revision="8892d46805c5639b55dd07547745c5180da861e7"/>
<!-- Information: platform/hardware/msm7k is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.01.19.008 --><project name="platform/hardware/msm7k" path="hardware/msm7k" revision="8892d46805c5639b55dd07547745c5180da861e7"/>
<!-- Information: platform/vendor/qcom-opensource/omx/mm-core is tagged with M8960AAAAANLYA100715A --><project name="platform/vendor/qcom-opensource/omx/mm-core" path="vendor/qcom/opensource/omx/mm-core" revision="ab17ac9a074b4bb69986a8436336bdfbbaf9cd39"/>
<!-- Information: platform/hardware/ril is tagged with M76XXUSNEKNLYA1610 --><project name="platform/hardware/ril" path="hardware/ril" remote="caf" revision="fe9a3f63922143b57e79ed570bab2328df8c83a5"/>
</manifest>

View File

@ -1,7 +1,7 @@
[
{
"size": 678628568,
"digest": "e0b98a75831313171781d91ab4c3b8ae66e3af7fcec433a33d75fbc647cb3bba311f790ccb9cd9c8be8c5549210b759d6b85afe7395ada74c2c319a29556fd8e",
"size": 677418796,
"digest": "34f8e675382cbd6acc8803a540c9ecd51641f24679b3803ff585176c1ba5b869989bed070ee6db79f70d4875d16ad6b4cb2e676e24caca4012874574d3899d2c",
"algorithm": "sha512",
"filename": "gonk.tar.xz"
},

View File

@ -6,75 +6,76 @@
<remote fetch="git://github.com/mozilla-b2g/" name="b2g"/>
<remote fetch="git://android.git.linaro.org/" name="linaro"/>
<remote fetch="git://github.com/mozilla/" name="mozilla"/>
<remote fetch="http://git.mozilla.org/" name="mozillaorg"/>
<remote fetch="https://git.mozilla.org/releases" name="mozillaorg"/>
<default remote="linaro" revision="refs/tags/android-4.0.4_r2.1" sync-j="4"/>
<!-- Gonk specific things and forks -->
<project name="platform_build" path="build" remote="b2g" revision="0784cdcb29ae45e5bf903cc03fa1bc206162665b">
<project name="platform_build" path="build" remote="b2g" revision="43434d6cdbf702e6197e0791f19406860284edf6">
<copyfile dest="Makefile" src="core/root.mk"/>
</project>
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="2f8c7d3546bda16b02a61b422786919875c19f15"/>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="2d380d27c86263537f6b829cd0238f5dd702c735"/>
<project name="moztt" path="external/moztt" remote="b2g" revision="6ee1f8987ef36d688f97064c003ad57849dfadf2"/>
<!-- Information: fake-dalvik is tagged with B2G_1_0_0_20130125190500 --><project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="c6fc2e70b2586fe45db4b676567be2aa94cf420e"/>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="f634b3d50effdd42828cc757c01fdbf74e562a36"/>
<project name="moztt" path="external/moztt" remote="b2g" revision="62f94a26d34c1f1e1846efd58d34363c051e8c66"/>
<!-- Stock Android things -->
<!-- Information: platform/abi/cpp is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.138 --><project name="platform/abi/cpp" path="abi/cpp" revision="6426040f1be4a844082c9769171ce7f5341a5528"/>
<!-- Information: platform/bionic is tagged with android-4.0.4_r2.1 --><project name="platform/bionic" path="bionic" revision="3d11bf0f3f3cf848f6f1e8449bf8736d8d1c78a3"/>
<!-- Information: platform/abi/cpp is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/abi/cpp" path="abi/cpp" revision="6426040f1be4a844082c9769171ce7f5341a5528"/>
<project name="platform/bionic" path="bionic" revision="c7bab8cb8483e7869eabdbd4add7c9e5beeecc80"/>
<!-- Information: platform/bootable/recovery is tagged with android-4.0.4_r2.1 --><project name="platform/bootable/recovery" path="bootable/recovery" revision="fadc5ac81d6400ebdd041f7d4ea64021596d6b7d"/>
<!-- Information: device/common is tagged with android-sdk-adt_r20 --><project name="device/common" path="device/common" revision="7d4526582f88808a3194e1a3b304abb369d2745c"/>
<!-- Information: device/sample is tagged with android-4.0.4_r2.1 --><project name="device/sample" path="device/sample" revision="ef228b8b377a9663e94be4b1aeb6c2bf7a07d098"/>
<!-- Information: platform/external/apache-http is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.138 --><project name="platform/external/apache-http" path="external/apache-http" revision="6c9d8c58d3ed710f87c26820d903bb8aad81754f"/>
<project name="platform_external_apriori" path="external/apriori" remote="b2g" revision="2c3a7113299eb789a076be23449d868b3bfa07fd"/>
<!-- Information: platform/external/bluetooth/bluez is tagged with android-4.0.4_r2.1 --><project name="platform/external/bluetooth/bluez" path="external/bluetooth/bluez" revision="966afbd88f0bfc325bf80274ad2723c238883fa1"/>
<!-- Information: platform/external/bluetooth/glib is tagged with android-4.1.1_r6.1 --><project name="platform/external/bluetooth/glib" path="external/bluetooth/glib" revision="1143b9918eab068401b604eb11c3f651f4e38b25"/>
<!-- Information: platform/external/bluetooth/hcidump is tagged with android-4.1.1_r6.1 --><project name="platform/external/bluetooth/hcidump" path="external/bluetooth/hcidump" revision="7322661808c2006b7848e79e6bb72b37fbcf6710"/>
<!-- Information: platform/external/bsdiff is tagged with AU_LINUX_ANDROID_JB_REL_2.0.3.04.01.02.21.041 --><project name="platform/external/bsdiff" path="external/bsdiff" revision="81872540236d9bb15cccf963d05b9de48baa5375"/>
<project name="platform/external/busybox" path="external/busybox" remote="linaro" revision="0a41b083cdaf2ddd602fb5c955329494da25f2b9"/>
<!-- Information: platform/external/bzip2 is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.138 --><project name="platform/external/bzip2" path="external/bzip2" revision="048dacdca43eed1534689ececcf2781c63e1e4ba"/>
<!-- Information: platform/external/bsdiff is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/bsdiff" path="external/bsdiff" revision="81872540236d9bb15cccf963d05b9de48baa5375"/>
<project name="platform/external/busybox" path="external/busybox" remote="linaro" revision="2e461c8029a50d986dfe4ab07ae5a1834b5c40f0"/>
<!-- Information: platform/external/bzip2 is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/bzip2" path="external/bzip2" revision="048dacdca43eed1534689ececcf2781c63e1e4ba"/>
<!-- Information: platform/external/dbus is tagged with android-4.1.1_r6.1 --><project name="platform/external/dbus" path="external/dbus" revision="537eaff5de9aace3348436166d4cde7adc1e488e"/>
<!-- Information: platform/external/dhcpcd is tagged with android-sdk-adt_r20 --><project name="platform/external/dhcpcd" path="external/dhcpcd" revision="ddaa48f57b54b2862b3e6dcf18a44c9647f3baaa"/>
<!-- Information: platform/external/dnsmasq is tagged with AU_LINUX_ANDROID_JB_REL_2.0.3.04.01.02.21.041 --><project name="platform/external/dnsmasq" path="external/dnsmasq" revision="f621afad94df46204c25fc2593a19d704d2637f5"/>
<!-- Information: platform/external/expat is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.138 --><project name="platform/external/expat" path="external/expat" revision="6df134250feab71edb5915ecaa6268210bca76c5"/>
<!-- Information: platform/external/fdlibm is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.138 --><project name="platform/external/fdlibm" path="external/fdlibm" revision="988ffeb12a6e044ae3504838ef1fee3fe0716934"/>
<!-- Information: platform/external/flac is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.138 --><project name="platform/external/flac" path="external/flac" revision="5893fbe890f5dab8e4146d2baa4bd2691c0739e0"/>
<!-- Information: platform/external/freetype is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.138 --><project name="platform/external/freetype" path="external/freetype" revision="aeb407daf3711a10a27f3bc2223c5eb05158076e"/>
<!-- Information: platform/external/giflib is tagged with AU_LINUX_ANDROID_JB_REL_2.0.3.04.01.02.21.041 --><project name="platform/external/giflib" path="external/giflib" revision="b2597268aef084202a8c349d1cc072c03c6e22eb"/>
<!-- Information: platform/external/gtest is tagged with android-sdk-support_r11 --><project name="platform/external/gtest" path="external/gtest" remote="linaro" revision="344e5f3db17615cc853073a02968a603efd39109"/>
<!-- Information: platform/external/dnsmasq is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/dnsmasq" path="external/dnsmasq" revision="f621afad94df46204c25fc2593a19d704d2637f5"/>
<project name="platform_external_elfcopy" path="external/elfcopy" remote="b2g" revision="62c1bed1c4505369cac2e72fbe30452a598fb690"/>
<project name="platform_external_elfutils" path="external/elfutils" remote="b2g" revision="72940dec691fa3255e13df01f8c53b620e446066"/>
<!-- Information: platform/external/expat is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/expat" path="external/expat" revision="6df134250feab71edb5915ecaa6268210bca76c5"/>
<!-- Information: platform/external/fdlibm is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/fdlibm" path="external/fdlibm" revision="988ffeb12a6e044ae3504838ef1fee3fe0716934"/>
<!-- Information: platform/external/flac is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/flac" path="external/flac" revision="5893fbe890f5dab8e4146d2baa4bd2691c0739e0"/>
<!-- Information: platform/external/freetype is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/freetype" path="external/freetype" revision="aeb407daf3711a10a27f3bc2223c5eb05158076e"/>
<!-- Information: platform/external/giflib is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/giflib" path="external/giflib" revision="b2597268aef084202a8c349d1cc072c03c6e22eb"/>
<project name="platform/external/gtest" path="external/gtest" remote="linaro" revision="8c212ebe53bb2baab3575f03069016f1fb11e449"/>
<!-- Information: platform/external/harfbuzz is tagged with android-sdk-adt_r20 --><project name="platform/external/harfbuzz" path="external/harfbuzz" revision="bae491c03a00757d83ede8d855b7d85d246bde3d"/>
<!-- Information: platform/external/icu4c is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.138 --><project name="platform/external/icu4c" path="external/icu4c" revision="0fa67b93b831c6636ca18b152a1b1b14cc99b034"/>
<!-- Information: platform/external/iptables is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.138 --><project name="platform/external/iptables" path="external/iptables" revision="3b2deb17f065c5664bb25e1a28489e5792eb63ff"/>
<!-- Information: platform/external/jhead is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.138 --><project name="platform/external/jhead" path="external/jhead" revision="754078052c687f6721536009c816644c73e4f145"/>
<!-- Information: platform/external/icu4c is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/icu4c" path="external/icu4c" revision="0fa67b93b831c6636ca18b152a1b1b14cc99b034"/>
<!-- Information: platform/external/iptables is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/iptables" path="external/iptables" revision="3b2deb17f065c5664bb25e1a28489e5792eb63ff"/>
<!-- Information: platform/external/jhead is tagged with android-4.0.4_r2.1 --><project name="platform/external/jhead" path="external/jhead" revision="754078052c687f6721536009c816644c73e4f145"/>
<!-- Information: platform/external/jpeg is tagged with android-4.1.1_r6.1 --><project name="platform/external/jpeg" path="external/jpeg" revision="d4fad7f50f79626455d88523207e05b868819cd8"/>
<!-- Information: platform/external/libgsm is tagged with AU_LINUX_ANDROID_JB_REL_2.0.3.04.01.02.21.041 --><project name="platform/external/libgsm" path="external/libgsm" revision="5e4516958690b9a1b2c98f88eeecba3edd2dbda4"/>
<!-- Information: platform/external/liblzf is tagged with android-sdk-support_r11 --><project name="platform/external/liblzf" path="external/liblzf" revision="6946aa575b0949d045722794850896099d937cbb"/>
<!-- Information: platform/external/libgsm is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/libgsm" path="external/libgsm" revision="5e4516958690b9a1b2c98f88eeecba3edd2dbda4"/>
<!-- Information: platform/external/liblzf is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/liblzf" path="external/liblzf" revision="6946aa575b0949d045722794850896099d937cbb"/>
<!-- Information: platform/external/libnfc-nxp is tagged with android-4.0.4_r2.1 --><project name="platform/external/libnfc-nxp" path="external/libnfc-nxp" revision="533c14450e6239cce8acb74f4e4dea2c89f8f219"/>
<!-- Information: platform/external/libnl-headers is tagged with android-sdk-support_r11 --><project name="platform/external/libnl-headers" path="external/libnl-headers" revision="6ccf7349d61f73ac26a0675d735d903ab919c658"/>
<!-- Information: platform/external/libphonenumber is tagged with android-4.0.4_r2.1 --><project name="platform/external/libphonenumber" path="external/libphonenumber" revision="d470984844c388d6766c3de6ac64e93e00480fc9"/>
<!-- Information: platform/external/libnl-headers is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/libnl-headers" path="external/libnl-headers" revision="6ccf7349d61f73ac26a0675d735d903ab919c658"/>
<!-- Information: platform/external/libpng is tagged with android-4.0.4_r2.1 --><project name="platform/external/libpng" path="external/libpng" revision="84d92c718ab9f48faec0f640747c4b6f7a995607"/>
<!-- Information: platform/external/libvpx is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.138 --><project name="platform/external/libvpx" path="external/libvpx" revision="3a40da0d96da5c520e7707aa14f48a80956e20d7"/>
<!-- Information: platform/external/libvpx is tagged with M8960AAAAANLYA1519349 --><project name="platform/external/libvpx" path="external/libvpx" revision="3a40da0d96da5c520e7707aa14f48a80956e20d7"/>
<!-- Information: platform/external/mksh is tagged with M8960AAAAANLYA1099D --><project name="platform/external/mksh" path="external/mksh" revision="5155f1c7438ef540d7b25eb70aa1639579795b07"/>
<project name="platform_external_opensans" path="external/opensans" remote="b2g" revision="b5b4c226ca1d71e936153cf679dda6d3d60e2354"/>
<!-- Information: platform_external_opensans is tagged with B2G_1_0_0_20130125190500 --><project name="platform_external_opensans" path="external/opensans" remote="b2g" revision="b5b4c226ca1d71e936153cf679dda6d3d60e2354"/>
<!-- Information: platform/external/openssl is tagged with android-4.0.4_r2.1 --><project name="platform/external/openssl" path="external/openssl" revision="ce96fb211b9a44bbd7fb5ef7ed0e6c1244045c2e"/>
<!-- Information: platform/external/protobuf is tagged with AU_LINUX_ANDROID_JB_REL_2.0.3.04.01.02.21.041 --><project name="platform/external/protobuf" path="external/protobuf" revision="e217977611c52bccde7f7c78e1d3c790c6357431"/>
<!-- Information: platform/external/safe-iop is tagged with AU_LINUX_ANDROID_JB_REL_2.0.3.04.01.02.21.041 --><project name="platform/external/safe-iop" path="external/safe-iop" revision="07073634e2e3aa4f518e36ed5dec3aabc549d5fb"/>
<project name="screencap-gonk" path="external/screencap-gonk" remote="b2g" revision="e6403c71e9eca8cb943739d5a0a192deac60fc51"/>
<!-- Information: platform/external/protobuf is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/protobuf" path="external/protobuf" revision="e217977611c52bccde7f7c78e1d3c790c6357431"/>
<!-- Information: platform/external/safe-iop is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/safe-iop" path="external/safe-iop" revision="07073634e2e3aa4f518e36ed5dec3aabc549d5fb"/>
<!-- Information: screencap-gonk is tagged with B2G_1_0_0_20130125190500 --><project name="screencap-gonk" path="external/screencap-gonk" remote="b2g" revision="e6403c71e9eca8cb943739d5a0a192deac60fc51"/>
<!-- Information: platform/external/skia is tagged with android-4.0.4_r2.1 --><project name="platform/external/skia" path="external/skia" revision="5c67a309e16bffe7013defda8f1217b3ce2420b4"/>
<!-- Information: platform/external/sonivox is tagged with android-sdk-adt_r20 --><project name="platform/external/sonivox" path="external/sonivox" revision="5f9600971859fe072f31b38a51c38157f5f9b381"/>
<!-- Information: platform/external/speex is tagged with AU_LINUX_ANDROID_JB_REL_2.0.3.04.01.02.21.041 --><project name="platform/external/speex" path="external/speex" revision="ebe6230a7f7c69f5a4389f2b09b7b19ef9e94f32"/>
<!-- Information: platform/external/speex is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/speex" path="external/speex" revision="ebe6230a7f7c69f5a4389f2b09b7b19ef9e94f32"/>
<!-- Information: platform/external/sqlite is tagged with android-4.0.4_r2.1 --><project name="platform/external/sqlite" path="external/sqlite" revision="c999ff8c12a4cf81cb9ad628f47b2720effba5e5"/>
<!-- Information: platform/external/stlport is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.138 --><project name="platform/external/stlport" path="external/stlport" revision="a6734e0645fce81c9610de0488b729207bfa576e"/>
<!-- Information: platform/external/strace is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.138 --><project name="platform/external/strace" path="external/strace" revision="c9fd2e5ef7d002e12e7cf2512506c84a9414b0fd"/>
<!-- Information: platform/external/tagsoup is tagged with android-sdk-support_r11 --><project name="platform/external/tagsoup" path="external/tagsoup" revision="68c2ec9e0acdb3214b7fb91dbab8c9fab8736817"/>
<!-- Information: platform/external/stlport is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/stlport" path="external/stlport" revision="a6734e0645fce81c9610de0488b729207bfa576e"/>
<!-- Information: platform/external/strace is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/strace" path="external/strace" revision="c9fd2e5ef7d002e12e7cf2512506c84a9414b0fd"/>
<!-- Information: platform/external/tagsoup is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/tagsoup" path="external/tagsoup" revision="68c2ec9e0acdb3214b7fb91dbab8c9fab8736817"/>
<!-- Information: platform/external/tinyalsa is tagged with android-4.0.4_r2.1 --><project name="platform/external/tinyalsa" path="external/tinyalsa" revision="495239e683a728957c890c124b239f9b7b8ef5a8"/>
<!-- Information: platform/external/tremolo is tagged with AU_LINUX_ANDROID_JB_REL_2.0.3.04.01.02.21.041 --><project name="platform/external/tremolo" path="external/tremolo" revision="25bd78d2392dbdc879ae53382cde9d019f79cf6f"/>
<!-- Information: platform/external/webp is tagged with AU_LINUX_ANDROID_JB_REL_2.0.3.04.01.02.21.041 --><project name="platform/external/webp" path="external/webp" revision="88fe2b83c4b9232cd08729556fd0485d6a6a92cd"/>
<!-- Information: platform/external/tremolo is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/tremolo" path="external/tremolo" revision="25bd78d2392dbdc879ae53382cde9d019f79cf6f"/>
<!-- Information: platform/external/webp is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/webp" path="external/webp" revision="88fe2b83c4b9232cd08729556fd0485d6a6a92cd"/>
<!-- Information: platform/external/webrtc is tagged with android-sdk-adt_r20 --><project name="platform/external/webrtc" path="external/webrtc" revision="4b6dc1ec58105d17dc8c2f550124cc0621dc93b7"/>
<!-- Information: platform/external/wpa_supplicant is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.138 --><project name="platform/external/wpa_supplicant" path="external/wpa_supplicant" revision="a01d37870bbf9892d43e792e5de0683ca41c5497"/>
<!-- Information: platform/external/wpa_supplicant is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/wpa_supplicant" path="external/wpa_supplicant" revision="a01d37870bbf9892d43e792e5de0683ca41c5497"/>
<project name="platform/external/wpa_supplicant_8" path="external/wpa_supplicant_8" revision="6dd24fc3792d71edccef9b09140f9a44b063a553"/>
<!-- Information: platform/external/zlib is tagged with android-4.0.4_r2.1 --><project name="platform/external/zlib" path="external/zlib" revision="69e5801bd16a495e1c1666669fe827b1ddb8d56b"/>
<!-- Information: platform/external/yaffs2 is tagged with android-4.0.4-aah_r1 --><project name="platform/external/yaffs2" path="external/yaffs2" revision="6232e2d5ab34a40d710e4b05ab0ec6e3727804e7"/>
<!-- Information: platform/frameworks/base is tagged with android-4.0.4_r2.1 --><project name="platform/frameworks/base" path="frameworks/base" revision="df331873c8576e0ae34ae1ee3cc258beed373535"/>
<!-- Information: platform/frameworks/opt/emoji is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.138 --><project name="platform/frameworks/opt/emoji" path="frameworks/opt/emoji" revision="a95d8db002770469d72dfaf59ff37ac96db29a87"/>
<!-- Information: platform/frameworks/opt/emoji is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/frameworks/opt/emoji" path="frameworks/opt/emoji" revision="a95d8db002770469d72dfaf59ff37ac96db29a87"/>
<!-- Information: platform/frameworks/support is tagged with android-4.0.4_r2.1 --><project name="platform/frameworks/support" path="frameworks/support" revision="bfc8e01b7b0d5ea70ce89d0409b72b7f7d540f43"/>
<!-- Information: platform/hardware/libhardware is tagged with android-4.0.4_r2.1 --><project name="platform/hardware/libhardware" path="hardware/libhardware" revision="a9b677fce432b29ab8f61e13796f34880dc0fe0f"/>
<!-- Information: platform/hardware/libhardware_legacy is tagged with android-4.0.4_r2.1 --><project name="platform/hardware/libhardware_legacy" path="hardware/libhardware_legacy" revision="153d0f1a27e0a157cabb6ca9d0d88248630f5695"/>
@ -90,10 +91,11 @@
<!-- Information: platform/system/vold is tagged with android-4.0.4_r2.1 --><project name="platform/system/vold" path="system/vold" revision="3ad9072a5d6f6bda32123b367545649364e3c11d"/>
<!-- Pandaboard specific things -->
<project name="android-device-panda" path="device/ti/panda" remote="b2g" revision="0e9a89187970d6fa99930c8d9cb438b935c2337c"/>
<project name="android-device-panda" path="device/ti/panda" remote="b2g" revision="eec93d3e9eb7765f63415e2ad42003a00b5996b4"/>
<!-- Information: platform/hardware/ti/omap4xxx is tagged with android-4.0.4_r2.1 --><project name="platform/hardware/ti/omap4xxx" path="hardware/ti/omap4xxx" revision="8be8e9a68c96b6cf43c08a58e7ecd7708737c599"/>
<project name="platform/hardware/ti/wlan" path="hardware/ti/wlan" revision="60dfeb6e4448bfed707946ebca6612980f525e69"/>
<project name="platform/hardware/ti/wpan" path="hardware/ti/wpan" revision="3ece7d9e08052989401e008bc397dbcd2557cfd0"/>
<project name="Negatus" path="external/negatus" remote="mozilla" revision="151697c638a6781e83c76d4a01fb001aabde4e79"/>
<project name="Negatus" path="external/negatus" remote="mozilla" revision="83e11def08ae4bc590adda8dfc1de661585adb53"/>
<project name="orangutan" path="external/orangutan" remote="b2g" revision="1735c3c4d6008d7f9e929d55ed0e06b995156fa2"/>
</manifest>

View File

@ -1,7 +1,7 @@
[
{
"size": 832272360,
"digest": "bb7369106d32a184c61fc8c6658c4d1c64dd778e432a3dd39592b99a92ed0a8f4a9fede60399ec2c85ddaf077f27d77613848b253f0ac155383b23955446396f",
"size": 832866776,
"digest": "27b9e0754de94537d664d12f5e3a2767582ceedb4ee96eb06abe405e6e9b8a0937d56ffd84cb6ce4d197c25168124296806b1ad638175b004a11ab5293b99f08",
"algorithm": "sha512",
"filename": "gonk.tar.xz"
},

View File

@ -3,107 +3,108 @@
gonk.tar.xz snapshot referred to by releng-unagi.tt -->
<remote fetch="https://android.googlesource.com/" name="aosp"/>
<remote fetch="git://github.com/mozilla-b2g/" name="b2g"/>
<remote fetch="https://git.mozilla.org/b2g" name="b2g"/>
<remote fetch="git://github.com/mozilla-b2g/" name="b2ggithub"/>
<remote fetch="git://github.com/mozilla/" name="mozilla"/>
<remote fetch="http://git.mozilla.org/" name="mozillaorg"/>
<remote fetch="git://codeaurora.org/" name="caf"/>
<remote fetch="git://android.git.linaro.org/" name="linaro"/>
<remote fetch="https://git.mozilla.org/releases" name="mozillaorg"/>
<default remote="caf" revision="ics_chocolate_rb4.2" sync-j="4"/>
<!-- Gonk specific things and forks -->
<project name="platform_build" path="build" remote="b2g" revision="0784cdcb29ae45e5bf903cc03fa1bc206162665b">
<project name="platform_build" path="build" remote="b2g" revision="43434d6cdbf702e6197e0791f19406860284edf6">
<copyfile dest="Makefile" src="core/root.mk"/>
</project>
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="2f8c7d3546bda16b02a61b422786919875c19f15"/>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="2d380d27c86263537f6b829cd0238f5dd702c735"/>
<project name="librecovery" path="librecovery" remote="b2g" revision="601fc18b28c9d7cf6954b281ddd3b705c74a9215"/>
<project name="moztt" path="external/moztt" remote="b2g" revision="6ee1f8987ef36d688f97064c003ad57849dfadf2"/>
<!-- Information: fake-dalvik is tagged with B2G_1_0_0_20130125190500 --><project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="8f016ce56fc7d7ef0aa7428ed509f6fb7cbde5b7"/>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="f634b3d50effdd42828cc757c01fdbf74e562a36"/>
<!-- Information: librecovery is tagged with B2G_1_0_0_20130125190500 --><project name="librecovery" path="librecovery" remote="b2g" revision="601fc18b28c9d7cf6954b281ddd3b705c74a9215"/>
<project name="moztt" path="external/moztt" remote="b2g" revision="62f94a26d34c1f1e1846efd58d34363c051e8c66"/>
<!-- Stock Android things -->
<!-- Information: platform/abi/cpp is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.183 --><project name="platform/abi/cpp" path="abi/cpp" revision="6426040f1be4a844082c9769171ce7f5341a5528"/>
<!-- Information: platform/abi/cpp is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/abi/cpp" path="abi/cpp" revision="6426040f1be4a844082c9769171ce7f5341a5528"/>
<!-- Information: platform/bionic is tagged with M8960AAAAANLYA100715A --><project name="platform/bionic" path="bionic" revision="cd5dfce80bc3f0139a56b58aca633202ccaee7f8"/>
<!-- Information: platform/bootable/recovery is tagged with M8960AAAAANLYA100715A --><project name="platform/bootable/recovery" path="bootable/recovery" revision="e0a9ac010df3afaa47ba107192c05ac8b5516435"/>
<!-- Information: platform/development is tagged with M8960AAAAANLYA100715A --><project name="platform/development" path="development" revision="a384622f5fcb1d2bebb9102591ff7ae91fe8ed2d"/>
<!-- Information: device/common is tagged with M8960AAAAANLYA1005304 --><project name="device/common" path="device/common" revision="7c65ea240157763b8ded6154a17d3c033167afb7"/>
<!-- Information: device/common is tagged with AU_LINUX_ANDROID_ICS_CHOCOLATE.04.00.04.05.324 --><project name="device/common" path="device/common" revision="7c65ea240157763b8ded6154a17d3c033167afb7"/>
<!-- Information: device/sample is tagged with M8960AAAAANLYA100715A --><project name="device/sample" path="device/sample" revision="c328f3d4409db801628861baa8d279fb8855892f"/>
<!-- Information: platform/external/apache-http is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.183 --><project name="platform/external/apache-http" path="external/apache-http" revision="6c9d8c58d3ed710f87c26820d903bb8aad81754f"/>
<project name="platform_external_apriori" path="external/apriori" remote="b2ggithub" revision="2c3a7113299eb789a076be23449d868b3bfa07fd"/>
<!-- Information: platform/external/bluetooth/bluez is tagged with M76XXUSNEKNLYA2040 --><project name="platform/external/bluetooth/bluez" path="external/bluetooth/bluez" revision="1023c91c66e9c3bd1132480051993bf7827770f6"/>
<!-- Information: platform/external/bluetooth/glib is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.183 --><project name="platform/external/bluetooth/glib" path="external/bluetooth/glib" revision="c6b49241cc1a8950723a5f74f8f4b4f4c3fa970e"/>
<!-- Information: platform/external/bluetooth/hcidump is tagged with M8960AAAAANLYA1005304 --><project name="platform/external/bluetooth/hcidump" path="external/bluetooth/hcidump" revision="02b1eb24fbb3d0135a81edb4a2175b1397308d7d"/>
<!-- Information: platform/external/bsdiff is tagged with AU_LINUX_ANDROID_JB_REL_2.0.3.04.01.02.21.081 --><project name="platform/external/bsdiff" path="external/bsdiff" revision="81872540236d9bb15cccf963d05b9de48baa5375"/>
<!-- Information: platform/external/bzip2 is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.183 --><project name="platform/external/bzip2" path="external/bzip2" revision="048dacdca43eed1534689ececcf2781c63e1e4ba"/>
<!-- Information: platform/external/bluetooth/glib is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/bluetooth/glib" path="external/bluetooth/glib" revision="c6b49241cc1a8950723a5f74f8f4b4f4c3fa970e"/>
<!-- Information: platform/external/bluetooth/hcidump is tagged with AU_LINUX_ANDROID_ICS_CHOCOLATE.04.00.04.05.324 --><project name="platform/external/bluetooth/hcidump" path="external/bluetooth/hcidump" revision="02b1eb24fbb3d0135a81edb4a2175b1397308d7d"/>
<!-- Information: platform/external/bsdiff is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/bsdiff" path="external/bsdiff" revision="81872540236d9bb15cccf963d05b9de48baa5375"/>
<!-- Information: platform/external/bzip2 is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/bzip2" path="external/bzip2" revision="048dacdca43eed1534689ececcf2781c63e1e4ba"/>
<!-- Information: platform/external/dbus is tagged with M8960AAAAANLYA100715A --><project name="platform/external/dbus" path="external/dbus" revision="c7517b6195dc6926728352113e6cc335da3f9c9e"/>
<!-- Information: platform/external/dhcpcd is tagged with M8960AAAAANLYA100715A --><project name="platform/external/dhcpcd" path="external/dhcpcd" revision="1e00fb67022d0921af0fead263f81762781b9ffa"/>
<!-- Information: platform/external/dnsmasq is tagged with AU_LINUX_ANDROID_JB_REL_2.0.3.04.01.02.21.081 --><project name="platform/external/dnsmasq" path="external/dnsmasq" revision="f621afad94df46204c25fc2593a19d704d2637f5"/>
<!-- Information: platform/external/e2fsprogs is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.183 --><project name="platform/external/e2fsprogs" path="external/e2fsprogs" revision="d5f550bb2f556c5d287f7c8d2b77223654bcec37"/>
<!-- Information: platform/external/expat is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.183 --><project name="platform/external/expat" path="external/expat" revision="6df134250feab71edb5915ecaa6268210bca76c5"/>
<!-- Information: platform/external/fdlibm is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.183 --><project name="platform/external/fdlibm" path="external/fdlibm" revision="988ffeb12a6e044ae3504838ef1fee3fe0716934"/>
<!-- Information: platform/external/flac is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.183 --><project name="platform/external/flac" path="external/flac" revision="5893fbe890f5dab8e4146d2baa4bd2691c0739e0"/>
<!-- Information: platform/external/freetype is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.183 --><project name="platform/external/freetype" path="external/freetype" revision="aeb407daf3711a10a27f3bc2223c5eb05158076e"/>
<!-- Information: platform/external/giflib is tagged with AU_LINUX_ANDROID_JB_REL_2.0.3.04.01.02.21.081 --><project name="platform/external/giflib" path="external/giflib" revision="b2597268aef084202a8c349d1cc072c03c6e22eb"/>
<!-- Information: platform/external/gtest is tagged with android-sdk-support_r11 --><project name="platform/external/gtest" path="external/gtest" remote="linaro" revision="344e5f3db17615cc853073a02968a603efd39109"/>
<!-- Information: platform/external/harfbuzz is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.183 --><project name="platform/external/harfbuzz" path="external/harfbuzz" revision="116610d63a859521dacf00fb6818ee9ab2e666f6"/>
<!-- Information: platform/external/icu4c is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.183 --><project name="platform/external/icu4c" path="external/icu4c" revision="0fa67b93b831c6636ca18b152a1b1b14cc99b034"/>
<!-- Information: platform/external/iptables is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.183 --><project name="platform/external/iptables" path="external/iptables" revision="3b2deb17f065c5664bb25e1a28489e5792eb63ff"/>
<!-- Information: platform/external/jhead is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.183 --><project name="platform/external/jhead" path="external/jhead" revision="754078052c687f6721536009c816644c73e4f145"/>
<!-- Information: platform/external/jpeg is tagged with M8960AAAAANLYA1005304 --><project name="platform/external/jpeg" path="external/jpeg" revision="a62e464d672a4623233180e4023034bf825f066e"/>
<!-- Information: platform/external/libgsm is tagged with AU_LINUX_ANDROID_JB_REL_2.0.3.04.01.02.21.081 --><project name="platform/external/libgsm" path="external/libgsm" revision="5e4516958690b9a1b2c98f88eeecba3edd2dbda4"/>
<!-- Information: platform/external/liblzf is tagged with AU_LINUX_ANDROID_JB_REL_2.0.3.04.01.02.21.081 --><project name="platform/external/liblzf" path="external/liblzf" revision="6946aa575b0949d045722794850896099d937cbb"/>
<!-- Information: platform/external/libnfc-nxp is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.183 --><project name="platform/external/libnfc-nxp" path="external/libnfc-nxp" revision="3a912b065a31a72c63ad56ac224cfeaa933423b6"/>
<!-- Information: platform/external/libnl-headers is tagged with AU_LINUX_ANDROID_JB_REL_2.0.3.04.01.02.21.081 --><project name="platform/external/libnl-headers" path="external/libnl-headers" revision="6ccf7349d61f73ac26a0675d735d903ab919c658"/>
<!-- Information: platform/external/libphonenumber is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.183 --><project name="platform/external/libphonenumber" path="external/libphonenumber" revision="8d22c9a05eda1935c6dc27d188158e6ee38dc016"/>
<!-- Information: platform/external/dnsmasq is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/dnsmasq" path="external/dnsmasq" revision="f621afad94df46204c25fc2593a19d704d2637f5"/>
<project name="platform_external_elfcopy" path="external/elfcopy" remote="b2ggithub" revision="62c1bed1c4505369cac2e72fbe30452a598fb690"/>
<project name="platform_external_elfutils" path="external/elfutils" remote="b2ggithub" revision="72940dec691fa3255e13df01f8c53b620e446066"/>
<!-- Information: platform/external/e2fsprogs is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/e2fsprogs" path="external/e2fsprogs" revision="d5f550bb2f556c5d287f7c8d2b77223654bcec37"/>
<!-- Information: platform/external/expat is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/expat" path="external/expat" revision="6df134250feab71edb5915ecaa6268210bca76c5"/>
<!-- Information: platform/external/fdlibm is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/fdlibm" path="external/fdlibm" revision="988ffeb12a6e044ae3504838ef1fee3fe0716934"/>
<!-- Information: platform/external/flac is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/flac" path="external/flac" revision="5893fbe890f5dab8e4146d2baa4bd2691c0739e0"/>
<!-- Information: platform/external/freetype is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/freetype" path="external/freetype" revision="aeb407daf3711a10a27f3bc2223c5eb05158076e"/>
<!-- Information: platform/external/giflib is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/giflib" path="external/giflib" revision="b2597268aef084202a8c349d1cc072c03c6e22eb"/>
<project name="platform/external/gtest" path="external/gtest" remote="linaro" revision="8c212ebe53bb2baab3575f03069016f1fb11e449"/>
<!-- Information: platform/external/harfbuzz is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/harfbuzz" path="external/harfbuzz" revision="116610d63a859521dacf00fb6818ee9ab2e666f6"/>
<!-- Information: platform/external/icu4c is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/icu4c" path="external/icu4c" revision="0fa67b93b831c6636ca18b152a1b1b14cc99b034"/>
<!-- Information: platform/external/iptables is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/iptables" path="external/iptables" revision="3b2deb17f065c5664bb25e1a28489e5792eb63ff"/>
<!-- Information: platform/external/jpeg is tagged with AU_LINUX_ANDROID_ICS_CHOCOLATE.04.00.04.05.324 --><project name="platform/external/jpeg" path="external/jpeg" revision="a62e464d672a4623233180e4023034bf825f066e"/>
<!-- Information: platform/external/libgsm is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/libgsm" path="external/libgsm" revision="5e4516958690b9a1b2c98f88eeecba3edd2dbda4"/>
<!-- Information: platform/external/liblzf is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/liblzf" path="external/liblzf" revision="6946aa575b0949d045722794850896099d937cbb"/>
<!-- Information: platform/external/libnfc-nxp is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/libnfc-nxp" path="external/libnfc-nxp" revision="3a912b065a31a72c63ad56ac224cfeaa933423b6"/>
<!-- Information: platform/external/libnl-headers is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/libnl-headers" path="external/libnl-headers" revision="6ccf7349d61f73ac26a0675d735d903ab919c658"/>
<!-- Information: platform/external/libpng is tagged with M8960AAAAANLYA100715A --><project name="platform/external/libpng" path="external/libpng" revision="9c3730f0efa69f580f03463c237cd928f3196404"/>
<!-- Information: platform/external/libvpx is tagged with M8960AAAAANLYA1519349 --><project name="platform/external/libvpx" path="external/libvpx" revision="3a40da0d96da5c520e7707aa14f48a80956e20d7"/>
<!-- Information: platform/external/llvm is tagged with M8960AAAAANLYA1005304 --><project name="platform/external/llvm" path="external/llvm" revision="bff5923831940309f7d8ddbff5826ca6ed2dc050"/>
<!-- Information: platform/external/mksh is tagged with M8960AAAAANLYA1005304 --><project name="platform/external/mksh" path="external/mksh" revision="ec646e8f5e7dac9a77d1de549c6ed92c04d0cd4b"/>
<project name="platform_external_opensans" path="external/opensans" remote="b2g" revision="b5b4c226ca1d71e936153cf679dda6d3d60e2354"/>
<!-- Information: platform/external/llvm is tagged with AU_LINUX_ANDROID_ICS_CHOCOLATE.04.00.04.05.324 --><project name="platform/external/llvm" path="external/llvm" revision="bff5923831940309f7d8ddbff5826ca6ed2dc050"/>
<!-- Information: platform/external/mksh is tagged with AU_LINUX_ANDROID_ICS_CHOCOLATE.04.00.04.05.324 --><project name="platform/external/mksh" path="external/mksh" revision="ec646e8f5e7dac9a77d1de549c6ed92c04d0cd4b"/>
<!-- Information: platform_external_opensans is tagged with B2G_1_0_0_20130125190500 --><project name="platform_external_opensans" path="external/opensans" remote="b2g" revision="b5b4c226ca1d71e936153cf679dda6d3d60e2354"/>
<!-- Information: platform/external/openssl is tagged with AU_LINUX_ANDROID_ICS.04.00.04.00.110 --><project name="platform/external/openssl" path="external/openssl" revision="27d333cce9a31c806b4bfa042925f045c727aecd"/>
<!-- Information: platform/external/protobuf is tagged with AU_LINUX_ANDROID_JB_REL_2.0.3.04.01.02.21.081 --><project name="platform/external/protobuf" path="external/protobuf" revision="e217977611c52bccde7f7c78e1d3c790c6357431"/>
<!-- Information: platform/external/safe-iop is tagged with AU_LINUX_ANDROID_JB_REL_2.0.3.04.01.02.21.081 --><project name="platform/external/safe-iop" path="external/safe-iop" revision="07073634e2e3aa4f518e36ed5dec3aabc549d5fb"/>
<project name="screencap-gonk" path="external/screencap-gonk" remote="b2g" revision="e6403c71e9eca8cb943739d5a0a192deac60fc51"/>
<!-- Information: platform/external/protobuf is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/protobuf" path="external/protobuf" revision="e217977611c52bccde7f7c78e1d3c790c6357431"/>
<!-- Information: platform/external/safe-iop is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/safe-iop" path="external/safe-iop" revision="07073634e2e3aa4f518e36ed5dec3aabc549d5fb"/>
<!-- Information: screencap-gonk is tagged with B2G_1_0_0_20130125190500 --><project name="screencap-gonk" path="external/screencap-gonk" remote="b2g" revision="e6403c71e9eca8cb943739d5a0a192deac60fc51"/>
<!-- Information: platform/external/skia is tagged with M8960AAAAANLYA100715A --><project name="platform/external/skia" path="external/skia" revision="7d90c85f2c0e3b747f7c7eff8bc9253b0063b439"/>
<!-- Information: platform/external/sonivox is tagged with M8960AAAAANLYA1005304 --><project name="platform/external/sonivox" path="external/sonivox" revision="7c967779dfc61ac1f346e972de91d4bfce7dccbb"/>
<!-- Information: platform/external/speex is tagged with AU_LINUX_ANDROID_JB_REL_2.0.3.04.01.02.21.081 --><project name="platform/external/speex" path="external/speex" revision="ebe6230a7f7c69f5a4389f2b09b7b19ef9e94f32"/>
<!-- Information: platform/external/sonivox is tagged with AU_LINUX_ANDROID_ICS_CHOCOLATE.04.00.04.05.324 --><project name="platform/external/sonivox" path="external/sonivox" revision="7c967779dfc61ac1f346e972de91d4bfce7dccbb"/>
<!-- Information: platform/external/speex is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/speex" path="external/speex" revision="ebe6230a7f7c69f5a4389f2b09b7b19ef9e94f32"/>
<project name="platform/external/sqlite" path="external/sqlite" revision="fb30e613139b8836fdc8e81e166cf3a76e5fa17f"/>
<!-- Information: platform/external/stlport is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.183 --><project name="platform/external/stlport" path="external/stlport" revision="a6734e0645fce81c9610de0488b729207bfa576e"/>
<!-- Information: platform/external/strace is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.183 --><project name="platform/external/strace" path="external/strace" revision="c9fd2e5ef7d002e12e7cf2512506c84a9414b0fd"/>
<!-- Information: platform/external/tagsoup is tagged with AU_LINUX_ANDROID_JB_REL_2.0.3.04.01.02.21.081 --><project name="platform/external/tagsoup" path="external/tagsoup" revision="68c2ec9e0acdb3214b7fb91dbab8c9fab8736817"/>
<!-- Information: platform/external/tinyalsa is tagged with M8960AAAAANLYA1005304 --><project name="platform/external/tinyalsa" path="external/tinyalsa" revision="06cc244ee512c1352215e543615738bc8ac82814"/>
<!-- Information: platform/external/tremolo is tagged with AU_LINUX_ANDROID_JB_REL_2.0.3.04.01.02.21.081 --><project name="platform/external/tremolo" path="external/tremolo" revision="25bd78d2392dbdc879ae53382cde9d019f79cf6f"/>
<project name="unbootimg" path="external/unbootimg" remote="b2g" revision="9464623d92eb8668544916dc5a8f4f6337d0bc08"/>
<!-- Information: platform/external/webp is tagged with AU_LINUX_ANDROID_JB_REL_2.0.3.04.01.02.21.081 --><project name="platform/external/webp" path="external/webp" revision="88fe2b83c4b9232cd08729556fd0485d6a6a92cd"/>
<!-- Information: platform/external/webrtc is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.183 --><project name="platform/external/webrtc" path="external/webrtc" revision="137024dc8a2e9251a471e20518a9c3ae06f81f23"/>
<!-- Information: platform/external/wpa_supplicant is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.183 --><project name="platform/external/wpa_supplicant" path="external/wpa_supplicant" revision="a01d37870bbf9892d43e792e5de0683ca41c5497"/>
<!-- Information: platform/external/stlport is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/stlport" path="external/stlport" revision="a6734e0645fce81c9610de0488b729207bfa576e"/>
<!-- Information: platform/external/strace is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/strace" path="external/strace" revision="c9fd2e5ef7d002e12e7cf2512506c84a9414b0fd"/>
<!-- Information: platform/external/tagsoup is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/tagsoup" path="external/tagsoup" revision="68c2ec9e0acdb3214b7fb91dbab8c9fab8736817"/>
<!-- Information: platform/external/tinyalsa is tagged with AU_LINUX_ANDROID_ICS_CHOCOLATE.04.00.04.05.324 --><project name="platform/external/tinyalsa" path="external/tinyalsa" revision="06cc244ee512c1352215e543615738bc8ac82814"/>
<!-- Information: platform/external/tremolo is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/tremolo" path="external/tremolo" revision="25bd78d2392dbdc879ae53382cde9d019f79cf6f"/>
<!-- Information: unbootimg is tagged with B2G_1_0_0_20130125190500 --><project name="unbootimg" path="external/unbootimg" remote="b2g" revision="9464623d92eb8668544916dc5a8f4f6337d0bc08"/>
<!-- Information: platform/external/webp is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/webp" path="external/webp" revision="88fe2b83c4b9232cd08729556fd0485d6a6a92cd"/>
<!-- Information: platform/external/webrtc is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/webrtc" path="external/webrtc" revision="137024dc8a2e9251a471e20518a9c3ae06f81f23"/>
<!-- Information: platform/external/wpa_supplicant is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/wpa_supplicant" path="external/wpa_supplicant" revision="a01d37870bbf9892d43e792e5de0683ca41c5497"/>
<!-- Information: platform/external/hostap is tagged with M8960AAAAANLYA1047 --><project name="platform/external/hostap" path="external/hostap" revision="bf04b0faadbdeb4b7943f2e2c4c5aa59df872bb1"/>
<!-- Information: platform/external/zlib is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.183 --><project name="platform/external/zlib" path="external/zlib" revision="f96a1d1ebfdf1cd582210fd09c23d8f59e0ae094"/>
<!-- Information: platform/external/yaffs2 is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.183 --><project name="platform/external/yaffs2" path="external/yaffs2" revision="0afa916204c664b3114429637b63af1321a0aeca"/>
<!-- Information: platform/external/zlib is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.01.19.008 --><project name="platform/external/zlib" path="external/zlib" revision="f96a1d1ebfdf1cd582210fd09c23d8f59e0ae094"/>
<!-- Information: platform/external/yaffs2 is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/external/yaffs2" path="external/yaffs2" revision="0afa916204c664b3114429637b63af1321a0aeca"/>
<!-- Information: platform/frameworks/base is tagged with M76XXUSNEKNLYA2040 --><project name="platform/frameworks/base" path="frameworks/base" revision="eb2bc75803ca179353c24c364a9c8a8ce23e8b78"/>
<!-- Information: platform/frameworks/opt/emoji is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.183 --><project name="platform/frameworks/opt/emoji" path="frameworks/opt/emoji" revision="a95d8db002770469d72dfaf59ff37ac96db29a87"/>
<!-- Information: platform/frameworks/support is tagged with M8960AAAAANLYA1005304 --><project name="platform/frameworks/support" path="frameworks/support" revision="27208692b001981f1806f4f396434f4eac78b909"/>
<!-- Information: platform/frameworks/opt/emoji is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/frameworks/opt/emoji" path="frameworks/opt/emoji" revision="a95d8db002770469d72dfaf59ff37ac96db29a87"/>
<!-- Information: platform/frameworks/support is tagged with AU_LINUX_ANDROID_ICS_CHOCOLATE.04.00.04.05.324 --><project name="platform/frameworks/support" path="frameworks/support" revision="27208692b001981f1806f4f396434f4eac78b909"/>
<!-- Information: platform/hardware/libhardware is tagged with M8960AAAAANLYA1049B --><project name="platform/hardware/libhardware" path="hardware/libhardware" revision="4a619901847621f8a7305edf42dd07347a140484"/>
<!-- Information: platform/hardware/libhardware_legacy is tagged with M8960AAAAANLYA153611 --><project name="platform/hardware/libhardware_legacy" path="hardware/libhardware_legacy" revision="87b4d7afa8f854b445e2d0d95091f6f6069f2b30"/>
<!-- Information: platform/libcore is tagged with M8960AAAAANLYA100715A --><project name="platform/libcore" path="libcore" revision="30841f9fba9ccd5c54f4f079f495994db97f283e"/>
<!-- Information: platform/ndk is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.183 --><project name="platform/ndk" path="ndk" revision="9f555971e1481854d5b4dc11b3e6af9fff4f241f"/>
<!-- Information: platform/prebuilt is tagged with M8960AAAAANLYA1005304 --><project name="platform/prebuilt" path="prebuilt" revision="447ea790fcc957dde59730ecc2a65ca263bdc733"/>
<!-- Information: platform/ndk is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.013 --><project name="platform/ndk" path="ndk" revision="9f555971e1481854d5b4dc11b3e6af9fff4f241f"/>
<!-- Information: platform/prebuilt is tagged with AU_LINUX_ANDROID_ICS_CHOCOLATE.04.00.04.05.324 --><project name="platform/prebuilt" path="prebuilt" revision="447ea790fcc957dde59730ecc2a65ca263bdc733"/>
<!-- Information: platform/system/bluetooth is tagged with M8960AAAAANLYA100703 --><project name="platform/system/bluetooth" path="system/bluetooth" revision="7772cad4823f1f427ce1d4df84a55982386d6d18"/>
<!-- Information: platform/system/core is tagged with M76XXUSNEKNLYA2040 --><project name="platform/system/core" path="system/core" revision="bf1970408676ce570b8f4dc3efa038e47552137f"/>
<!-- Information: platform/system/extras is tagged with M8960AAAAANLYA1005304 --><project name="platform/system/extras" path="system/extras" revision="01db6c1254e1407740a543f24317fc540fc4c049"/>
<!-- Information: platform/system/media is tagged with M8960AAAAANLYA1005304 --><project name="platform/system/media" path="system/media" revision="7f71c7fd362bbd992ff2e0e80f7af5859ad116ad"/>
<!-- Information: platform/system/extras is tagged with AU_LINUX_ANDROID_ICS_CHOCOLATE.04.00.04.05.324 --><project name="platform/system/extras" path="system/extras" revision="01db6c1254e1407740a543f24317fc540fc4c049"/>
<!-- Information: platform/system/media is tagged with AU_LINUX_ANDROID_ICS_CHOCOLATE.04.00.04.05.324 --><project name="platform/system/media" path="system/media" revision="7f71c7fd362bbd992ff2e0e80f7af5859ad116ad"/>
<!-- Information: platform/system/netd is tagged with M8960AAAAANLYA1049 --><project name="platform/system/netd" path="system/netd" revision="306e765248e3900041bf2737e9f57b1b5694a4ce"/>
<!-- Information: platform/system/vold is tagged with M8960AAAAANLYA100715A --><project name="platform/system/vold" path="system/vold" revision="99fff257d53cc045d1460841edca5d901dacfcf5"/>
<!-- Otoro/Unagi specific things -->
<!-- Information: device/qcom/common is tagged with M8960AAAAANLYA100715A --><project name="device/qcom/common" path="device/qcom/common" revision="b9cdab8e1e1a215a8c65b8d5816f666bec7be205"/>
<!-- Information: platform/vendor/qcom/msm7627a is tagged with M8960AAAAANLYA100715A --><project name="platform/vendor/qcom/msm7627a" path="device/qcom/msm7627a" revision="d920a502ba17cf4d716f8b1a615f07e796b0501a"/>
<project name="android-device-otoro" path="device/qcom/otoro" remote="b2g" revision="7662275433fc0b1d8b035f03185b24b7ca965ab4"/>
<project name="android-device-unagi" path="device/qcom/unagi" remote="b2g" revision="6c014552d1b26bee611d9a9b23bd4cd014e392ee"/>
<project name="codeaurora_kernel_msm" path="kernel" remote="b2g" revision="0a01247e4b0880f93424b27251cd3a1f6b19dbb2"/>
<!-- Information: android-device-otoro is tagged with B2G_1_0_0_20130125190500 --><project name="android-device-otoro" path="device/qcom/otoro" remote="b2g" revision="7662275433fc0b1d8b035f03185b24b7ca965ab4"/>
<!-- Information: android-device-unagi is tagged with B2G_1_0_0_20130125190500 --><project name="android-device-unagi" path="device/qcom/unagi" remote="b2g" revision="6c014552d1b26bee611d9a9b23bd4cd014e392ee"/>
<!-- Information: codeaurora_kernel_msm is tagged with B2G_1_0_0_20130125190500 --><project name="codeaurora_kernel_msm" path="kernel" remote="b2g" revision="0a01247e4b0880f93424b27251cd3a1f6b19dbb2"/>
<!-- Information: platform/hardware/qcom/camera is tagged with M76XXUSNEKNLYA2040 --><project name="platform/hardware/qcom/camera" path="hardware/qcom/camera" revision="1acf77a75e30f3fc8b1eed2057c97adf1cb1633f"/>
<project name="hardware_qcom_display" path="hardware/qcom/display" remote="b2g" revision="6405d30f2fac7d8a1f2cb17b99fb7dd0a8bcfdac"/>
<!-- Information: hardware_qcom_display is tagged with B2G_1_0_0_20130125190500 --><project name="hardware_qcom_display" path="hardware/qcom/display" remote="b2g" revision="6405d30f2fac7d8a1f2cb17b99fb7dd0a8bcfdac"/>
<!-- Information: platform/hardware/qcom/media is tagged with M8960AAAAANLYA100715A --><project name="platform/hardware/qcom/media" path="hardware/qcom/media" revision="552c3ddb7174a01f3508782d40c4d8c845ab441a"/>
<!-- Information: platform/hardware/qcom/gps is tagged with M8960AAAAANLYA100705 --><project name="platform/hardware/qcom/gps" path="hardware/qcom/gps" revision="23d5707b320d7fc69f8ba3b7d84d78a1c5681708"/>
<!-- Information: platform/hardware/msm7k is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.00.19.183 --><project name="platform/hardware/msm7k" path="hardware/msm7k" revision="8892d46805c5639b55dd07547745c5180da861e7"/>
<!-- Information: platform/hardware/msm7k is tagged with AU_LINUX_GECKO_ICS_STRAWBERRY.01.00.01.19.008 --><project name="platform/hardware/msm7k" path="hardware/msm7k" revision="8892d46805c5639b55dd07547745c5180da861e7"/>
<!-- Information: platform/vendor/qcom-opensource/omx/mm-core is tagged with M8960AAAAANLYA100715A --><project name="platform/vendor/qcom-opensource/omx/mm-core" path="vendor/qcom/opensource/omx/mm-core" revision="ab17ac9a074b4bb69986a8436336bdfbbaf9cd39"/>
<!-- Information: platform/hardware/ril is tagged with M76XXUSNEKNLYA1610 --><project name="platform/hardware/ril" path="hardware/ril" remote="caf" revision="fe9a3f63922143b57e79ed570bab2328df8c83a5"/>
</manifest>

View File

@ -322,12 +322,13 @@ function openLinkIn(url, where, params) {
break;
}
// If this window is active, focus the target window. Otherwise, focus the
// content but don't raise the window, since the URI we just loaded may have
// resulted in a new frontmost window (e.g. "javascript:window.open('');").
// If this window is active, or the user created a new tab, focus the target
// window. Otherwise, focus the content but don't raise the window, since the
// URI we just loaded may have resulted in a new frontmost window
// (e.g. "javascript:window.open('');").
var fm = Components.classes["@mozilla.org/focus-manager;1"].
getService(Components.interfaces.nsIFocusManager);
if (window == fm.activeWindow)
if (window == fm.activeWindow || isBlankPageURL(url))
w.focus();
w.gBrowser.selectedBrowser.focus();

View File

@ -721,8 +721,9 @@ function handURIToExistingBrowser(uri, location, cmdLine)
if (!shouldLoadURI(uri))
return;
// Do not open external links in private windows
var navWin = RecentWindow.getMostRecentBrowserWindow({private: false});
// Do not open external links in private windows, unless we're in perma-private mode
var allowPrivate = PrivateBrowsingUtils.permanentPrivateBrowsing;
var navWin = RecentWindow.getMostRecentBrowserWindow({private: allowPrivate});
if (!navWin) {
// if we couldn't load it in an existing window, open a new one
openWindow(null, gBrowserContentHandler.chromeURL, "_blank",

View File

@ -48,19 +48,36 @@
</getter>
</property>
<method name="hide">
<method name="_onAfterSlideOut">
<body>
<![CDATA[
this.removeAttribute("visible");
this.removeEventListener("transitionend", this._onAfterSlideOut);
DialogUI.popPopup(this);
]]>
</body>
</method>
<method name="hide">
<body>
<![CDATA[
if (!this.isVisible)
return;
this.addEventListener("transitionend", this._onAfterSlideOut);
this.classList.remove("flyoutpanel-slide-in");
]]>
</body>
</method>
<method name="show">
<body>
<![CDATA[
if (this.isVisible)
return;
this.setAttribute("visible", "true");
this.classList.add("flyoutpanel-slide-in");
DialogUI.pushPopup(this, this);
]]>
</body>

View File

@ -419,27 +419,42 @@
</deck>
</vbox>
<flyoutpanel id="about-flyoutpanel" headertext="&aboutHeader.label;">
<label id="about-product-label" value="&aboutHeaderProduct.label;"/>
<label value="&aboutHeaderCompany.label;"/>
<flyoutpanel id="about-flyoutpanel" headertext="&aboutHeader.title;">
<label id="about-product-label" value="&aboutHeader.product.label;"/>
<label value="&aboutHeader.company.label;"/>
#expand <label id="about-version-label">__MOZ_APP_VERSION__</label>
<label id="about-policy-label"
onclick="if (event.button == 0) { Browser.onAboutPolicyClick(); }"
class="text-link" value="&aboutHeaderPolicy.label;"/>
class="text-link" value="&aboutHeader.policy.label;"/>
</flyoutpanel>
<flyoutpanel id="prefs-flyoutpanel" headertext="&optionsHeader.label;">
<settings id="prefs-startup" label="&startup.title;">
<setting id="prefs-homepage" title="&homepage.title;" type="menulist" pref="browser.startup.sessionRestore" class="setting-expanded">
<flyoutpanel id="prefs-flyoutpanel" headertext="&optionsHeader.title;">
<settings id="prefs-startup" label="&optionsHeader.startup.title;"> <!-- note, this element has a custom margin-top -->
<setting id="prefs-homepage" title="&optionsHeader.homepage.title;" type="menulist" pref="browser.startup.sessionRestore" class="setting-expanded">
<menulist id="prefs-homepage-options">
<menupopup position="after_end">
<menuitem id="prefs-homepage-default" label="&homepage.startPage;" value="false"/>
<menuitem id="prefs-homepage-session" label="&homepage.sessionRestore;" value="true"/>
<menupopup id="prefs-homepage-popup" position="after_end">
<menuitem id="prefs-homepage-default" label="&optionsHeader.homepage.startPage.button;" value="false"/>
<menuitem id="prefs-homepage-session" label="&optionsHeader.homepage.sessionRestore.button;" value="true"/>
</menupopup>
</menulist>
</setting>
</settings>
<setting pref="browser.tabs.tabsOnly" title="&toggleTabsOnly.label;" type="bool"/>
<setting pref="browser.tabs.tabsOnly" title="&optionsHeader.tabs.title;" type="bool"/>
<settings id="prefs-charencoding" label="&optionsHeader.char.title;">
<setting pref="browser.menu.showCharacterEncoding" title="&optionsHeader.char.options.label;" type="bool"/>
</settings>
<settings id="prefs-privdata" label="&optionsHeader.privacy.clearPrivateData.title;">
<setting title="&optionsHeader.privacy.clearPrivateData.label;" type="control">
<button id="prefs-clear-data" label="&optionsHeader.privacy.clearPrivateData.button;" command="cmd_sanitize"/>
</setting>
</settings>
<setting pref="signon.rememberSignons" title="&optionsHeader.privacy.passwords.label;" type="bool"/>
<settings id="prefs-donottrack" label="&optionsHeader.privacy.doNotTrack.title;">
<setting pref="privacy.donottrackheader.enabled" title="&optionsHeader.privacy.doNotTrack.label;" type="bool"/>
</settings>
<setting id="prefs-master-password" title="&optionsHeader.privacy.masterPassword.label;" type="bool" oncommand="MasterPasswordUI.show(this.value);"/>
<settings id="prefs-sync" label="&sync.title;">
<setting id="sync-connect" title="&sync.notconnected;" type="control">
<button label="&sync.connect;" oncommand="WeaveGlue.tryConnect();" />
@ -456,14 +471,6 @@
<button label="&sync.disconnect;" oncommand="WeaveGlue.disconnect();" />
</setting>
</settings>
<settings id="prefs-privacy" label="&privacy.title;">
<setting pref="signon.rememberSignons" title="&rememberPasswords.title;" type="bool"/>
<setting pref="privacy.donottrackheader.enabled" title="&doNotTrack.title;" type="bool"/>
<setting id="prefs-master-password" title="&masterPassword.title;" type="bool" oncommand="MasterPasswordUI.show(this.value);"/>
<setting title="&clearPrivateData2.title;" type="control">
<button id="prefs-clear-data" label="&clearPrivateData.button;" command="cmd_sanitize"/>
</setting>
</settings>
</flyoutpanel>
<!-- Form Helper form validation helper popup -->

View File

@ -7,7 +7,6 @@
<!ENTITY back.label "Back">
<!ENTITY forward.label "Forward">
<!ENTITY toggleTabsOnly.label "Always show tabs">
<!ENTITY showTabs.label "Show Tabs">
<!ENTITY newtab.label "New Tab">
<!ENTITY closetab.label "Close Tab">

View File

@ -99,12 +99,6 @@ tabs.closeButton=Close tabs
tabs.closeWarningPromptMe=Warn me when I attempt to close multiple tabs
tabs.emptyTabTitle=New Tab
# Homepage
# LOCALIZATION NOTE: homepage.custom2 is the text displayed on the selector button if
# the user selects a webpage to be the startpage. We can't display the entire URL
# or webpage title on the menulist
homepage.custom2=Custom Page
# "Clear Permissions" items
pageactions.geolocation=Location
pageactions.popup=Popups
@ -122,18 +116,6 @@ opensearch.search=Search: %S
openinapp.specific=Open in %S App
openinapp.general=Open in Another App
# Clear Private Data
clearPrivateData.title=Clear Private Data
clearPrivateData.message=Delete your browsing history and settings, including passwords and cookies?
# LOCALIZATION NOTE (browser.menu.showCharacterEncoding): Set to the string
# "true" (spelled and capitalized exactly that way) to show the "Character
# Encoding" menu in the site menu. Any other value will hide it. Without this
# setting, the "Character Encoding" menu must be enabled via Preferences.
# This is not a string to translate. If users frequently use the "Character Encoding"
# menu, set this to "true". Otherwise, you can leave it as "false".
browser.menu.showCharacterEncoding=false
# LOCALIZATION NOTE (intl.charsetmenu.browser.static): Set to a series of comma separated
# values for charsets that the user can select from in the Character Encoding menu.
intl.charsetmenu.browser.static=iso-8859-1,utf-8,x-gbk,big5,iso-2022-jp,shift_jis,euc-jp

View File

@ -2,18 +2,28 @@
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!ENTITY optionsHeader.label "Options">
<!ENTITY aboutHeader.label "About">
<!ENTITY aboutHeaderProduct.label "&brandShortName;">
<!ENTITY aboutHeaderCompany.label "By &vendorShortName;">
<!ENTITY aboutHeaderPolicy.label "Read the &brandShortName; privacy policy online">
<!ENTITY privacy.title "Privacy &amp; Security">
<!ENTITY doNotTrack.title "Tell sites not to track me">
<!ENTITY masterPassword.title "Use master password">
<!ENTITY clearPrivateData2.title "Clear private data">
<!ENTITY clearPrivateData.button "Clear">
<!ENTITY rememberPasswords.title "Remember passwords">
<!ENTITY startup.title "Startup">
<!ENTITY homepage.title "When &brandShortName; starts, show">
<!ENTITY homepage.startPage "Start page">
<!ENTITY homepage.sessionRestore "Tabs from last time">
<!-- ## About Flyout Panel ## -->
<!ENTITY aboutHeader.title "About">
<!ENTITY aboutHeader.product.label "&brandShortName;">
<!ENTITY aboutHeader.company.label "By &vendorShortName;">
<!ENTITY aboutHeader.policy.label "Read the &brandShortName; privacy policy online">
<!-- ## Options Flyout Panel ## -->
<!ENTITY optionsHeader.title "Options">
<!ENTITY optionsHeader.startup.title "Startup">
<!ENTITY optionsHeader.homepage.title "When &brandShortName; starts, show">
<!ENTITY optionsHeader.homepage.startPage.button "start page">
<!ENTITY optionsHeader.homepage.sessionRestore.button "tabs from last time">
<!ENTITY optionsHeader.tabs.title "Always Show Tabs">
<!ENTITY optionsHeader.char.title "Character Encoding">
<!ENTITY optionsHeader.char.autodetect.label "Auto-detect">
<!ENTITY optionsHeader.char.options.label "Show encoding options on the App Bar">
<!ENTITY optionsHeader.privacy.clearPrivateData.title "Clear Private Data">
<!ENTITY optionsHeader.privacy.clearPrivateData.label "Clear your browsing history, passwords, cookies, and form data on this device">
<!ENTITY optionsHeader.privacy.clearPrivateData.button "Clear">
<!ENTITY optionsHeader.privacy.passwords.label "Remember Passwords">
<!ENTITY optionsHeader.privacy.doNotTrack.title "Tracking">
<!ENTITY optionsHeader.privacy.doNotTrack.label "Tell websites not to track me">
<!ENTITY optionsHeader.privacy.masterPassword.label "Use Master Password">
<!-- see sync.dtd -->

View File

@ -223,9 +223,8 @@ pref("accessibility.browsewithcaret", false);
// successfully applied.
pref("app.update.showInstalledUI", false);
// Whether the character encoding menu is under the main Firefox button. This
// preference is a string so that localizers can alter it.
pref("browser.menu.showCharacterEncoding", "chrome://browser/locale/browser.properties");
// Whether the character encoding options are displayed in the app bar.
pref("browser.menu.showCharacterEncoding", false);
pref("intl.charsetmenu.browser.static", "chrome://browser/locale/browser.properties");
// pointer to the default engine name

View File

@ -555,33 +555,6 @@ appbar toolbarbutton[disabled="true"] {
-moz-image-region: rect(80px, 200px, 120px, 160px);
}
/* About flyout pane */
#about-flyoutpanel {
width: 350px;
background-image:url('chrome://browser/skin/images/about-footer.png');
background-repeat: no-repeat;
background-attachment: fixed;
background-position: right bottom;
}
#about-flyoutpanel label.text-link {
text-decoration: none;
color: #1167bd;
}
#about-product-label {
font-weight: bold;
}
#about-version-label {
margin-top: 11pt;
}
#about-policy-label {
margin-top: 24pt;
}
/* Application-Specific */
#download-button {
-moz-image-region: rect(0px, 40px, 40px, 0px) !important;
@ -648,87 +621,41 @@ appbar toolbarbutton[disabled="true"] {
-moz-image-region: rect(80px, 360px, 120px, 320px) !important;
}
/* Start UI (Autocomplete + New Tab Page) ----------------------------------- */
/* Flyouts ---------------------------------------------------------------- */
#start-container {
display: none;
/* don't add a margin to the very top settings entry in flyouts */
flyoutpanel > settings:first-child {
margin-top: 0px;
}
#start-container[startpage],
#start-container[filtering] {
display: -moz-box;
/* About flyout pane */
#about-flyoutpanel {
width: 350px;
background-image:url('chrome://browser/skin/images/about-footer.png');
background-repeat: no-repeat;
background-attachment: fixed;
background-position: right bottom;
}
#start-scrollbox {
overflow: hidden;
#about-flyoutpanel label.text-link {
text-decoration: none;
color: #1167bd;
}
/* if autocomplete is set, hide both start pages,
* else hide the autocomplete screen */
#start-container[filtering] > .start-page,
#start-container:not([filtering]) > #start-autocomplete {
visibility: collapse;
#about-product-label {
font-weight: bold;
}
/* if snapped, hide the fullscreen awesome screen, if viewstate is anything
* other than snapped, hide the snapped awesome screen */
#start[viewstate="snapped"],
#snapped-start:not([viewstate="snapped"]) {
visibility: collapse;
#about-version-label {
margin-top: 11pt;
}
/* Browser Content Ares ----------------------------------------------------- */
/* Hide the browser while the start UI is visible */
#content-viewport[startpage],
#content-viewport[filtering] {
visibility: collapse;
#about-policy-label {
margin-top: 24pt;
}
#browsers {
background: white;
}
/* Panel UI ---------------------------------------------------------------- */
#panel-container {
padding: 60px 40px;
}
#panel-close-button {
background: transparent;
border: 0 none;
-moz-appearance: none;
margin: 0;
-moz-margin-end: 40px;
list-style-image: url(chrome://browser/skin/images/back.png);
-moz-image-region: rect(0 48px 48px 0);
padding: 0;
min-height: 48px;
max-height: 48px;
-moz-box-pack: center;
}
#panel-close-button[disabled="true"] {
-moz-image-region: rect(0 96px 48px 48px);
}
#panel-view-switcher {
border: 0 none !important;
color: #000 !important;
background: transparent;
padding: 0;
font-size: @metro_font_xlarge@;
font-weight: 100;
margin: 0;
}
#panel-items {
padding-top: 20px;
-moz-padding-start: 88px;
}
/* Preferences Section - Panel UI ------------------------------------------ */
/* Preferences flyout */
#prefs-flyoutpanel {
width: 400px;
@ -777,6 +704,10 @@ setting[type="directory"] > .preferences-alignment {
-moz-box-align: center;
}
#prefs-homepage-options, #prefs-homepage-popup {
min-width: 200px;
}
.options-box {
-moz-margin-start: 28px; /* sized based on the 32px addon image */
}
@ -794,6 +725,86 @@ setting[type="directory"] > .preferences-alignment {
display: none;
}
/* Start UI (Autocomplete + New Tab Page) ----------------------------------- */
#start-container {
display: none;
}
#start-container[startpage],
#start-container[filtering] {
display: -moz-box;
}
#start-scrollbox {
overflow: hidden;
}
/* if autocomplete is set, hide both start pages,
* else hide the autocomplete screen */
#start-container[filtering] > .start-page,
#start-container:not([filtering]) > #start-autocomplete {
visibility: collapse;
}
/* if snapped, hide the fullscreen awesome screen, if viewstate is anything
* other than snapped, hide the snapped awesome screen */
#start[viewstate="snapped"],
#snapped-start:not([viewstate="snapped"]) {
visibility: collapse;
}
/* Browser Content Areas ----------------------------------------------------- */
/* Hide the browser while the start UI is visible */
#content-viewport[startpage],
#content-viewport[filtering] {
visibility: collapse;
}
#browsers {
background: white;
}
/* Panel UI ---------------------------------------------------------------- */
#panel-container {
padding: 60px 40px;
}
#panel-close-button {
background: transparent;
border: 0 none;
-moz-appearance: none;
margin: 0;
-moz-margin-end: 40px;
list-style-image: url(chrome://browser/skin/images/back.png);
-moz-image-region: rect(0 48px 48px 0);
padding: 0;
min-height: 48px;
max-height: 48px;
-moz-box-pack: center;
}
#panel-close-button[disabled="true"] {
-moz-image-region: rect(0 96px 48px 48px);
}
#panel-view-switcher {
border: 0 none !important;
color: #000 !important;
background: transparent;
padding: 0;
font-size: @metro_font_xlarge@;
font-weight: 100;
margin: 0;
}
#panel-items {
padding-top: 20px;
-moz-padding-start: 88px;
}
/* Console Section - Panel UI ---------------------------------------------- */
#console-filter-warnings,

View File

@ -10,7 +10,9 @@ flyoutpanel {
-moz-border-start-style: solid;
visibility: collapse;
position: fixed;
transition: transform 0.2s ease-out;
/* bezier function and duration taken from winJS showPanel method */
transition: transform 550ms cubic-bezier(0.1, 0.9, 0.2, 1);
transform: translateX(100%);
font-size: 11pt;
right: 0;
}
@ -18,6 +20,11 @@ flyoutpanel {
flyoutpanel:-moz-dir(rtl) {
left: 0;
right: auto;
transform: translateX(-100%);
}
.flyoutpanel-slide-in {
transform: translateX(0);
}
flyoutpanel[visible] {

View File

@ -186,6 +186,7 @@ toolbarbutton[open="true"] {
checkbox.toggleswitch {
margin: @metro_spacing_small@;
min-height: @metro_spacing_normal@;
font-weight: bold;
}
checkbox.toggleswitch hbox {

View File

@ -113,6 +113,12 @@ sed 's/$/,/' >> $CONFIG_STATUS <<EOF
undivert(MOZ_DIVERSION_SUBST)dnl
EOF
dnl Add in the output from the subconfigure script
for ac_subst_arg in $_subconfigure_ac_subst_args; do
variable='$'$ac_subst_arg
echo " (''' $ac_subst_arg ''', r''' `eval echo $variable` ''')," >> $CONFIG_STATUS
done
cat >> $CONFIG_STATUS <<\EOF
] ]

View File

@ -0,0 +1,46 @@
dnl We are not running in a real autoconf environment. So we're using real m4
dnl here, not the crazier environment that autoconf provides.
dnl Autoconf expects [] for quotes; give it to them
changequote([, ])
dnl AC_DEFUN is provided to use instead of define in autoconf. Provide it too.
define([AC_DEFUN], [define($1, [$2])])
dnl AC_ARG_ENABLE(FEATURE, HELP-STRING, IF-TRUE[, IF-FALSE])
dnl We have to ignore the help string due to how help works in autoconf...
AC_DEFUN([AC_ARG_ENABLE],
[#] Check whether --enable-[$1] or --disable-[$1] was given.
[if test "[${enable_]patsubst([$1], -, _)+set}" = set; then
enableval="[$enable_]patsubst([$1], -, _)"
$3
ifelse([$4], , , [else
$4
])dnl
fi
])
dnl AC_MSG_ERROR(error-description)
AC_DEFUN([AC_MSG_ERROR], [{ echo "configure: error: $1" 1>&2; exit 1; }])
AC_DEFUN([AC_MSG_WARN], [ echo "configure: warning: $1" 1>&2 ])
dnl Add the variable to the list of substitution variables
AC_DEFUN([AC_SUBST],
[
_subconfigure_ac_subst_args="$_subconfigure_ac_subst_args $1"
])
dnl Override for AC_DEFINE.
AC_DEFUN([AC_DEFINE],
[
cat >>confdefs.h <<\EOF
[#define] $1 ifelse($#, 2, [$2], $#, 3, [$2], 1)
EOF
cat >> confdefs.pytmp <<\EOF
(''' $1 ''', ifelse($#, 2, [r''' $2 '''], $#, 3, [r''' $2 '''], ' 1 '))
EOF
])
dnl AC_OUTPUT_SUBDIRS(subdirectory)
AC_DEFUN([AC_OUTPUT_SUBDIRS], [do_output_subdirs "$1"])

View File

@ -123,6 +123,7 @@ class RemoteAutomation(Automation):
if javaException:
return True
try:
dumpDir = tempfile.mkdtemp()
remoteCrashDir = self._remoteProfile + '/minidumps/'
if not self._devicemanager.dirExists(remoteCrashDir):
# As of this writing, the minidumps directory is automatically
@ -131,7 +132,6 @@ class RemoteAutomation(Automation):
print "Automation Error: No crash directory (%s) found on remote device" % remoteCrashDir
# Whilst no crash was found, the run should still display as a failure
return True
dumpDir = tempfile.mkdtemp()
self._devicemanager.getDirectory(remoteCrashDir, dumpDir)
crashed = automationutils.checkForCrashes(dumpDir, symbolsPath,
self.lastTestSeen)

View File

@ -492,8 +492,7 @@ nsPrincipal::SetDomain(nsIURI* aDomain)
// Recompute all wrappers between compartments using this principal and other
// non-chrome compartments.
JSContext *cx = nsContentUtils::GetSafeJSContext();
NS_ENSURE_TRUE(cx, NS_ERROR_FAILURE);
SafeAutoJSContext cx;
JSPrincipals *principals = nsJSPrincipals::get(static_cast<nsIPrincipal*>(this));
bool success = js::RecomputeWrappers(cx, js::ContentCompartmentsOnly(),
js::CompartmentsWithPrincipals(principals));

View File

@ -26,6 +26,7 @@
#include "nsIDocument.h"
#include "jsfriendapi.h"
#include "xpcprivate.h"
#include "nsContentUtils.h"
#include "mozilla/Preferences.h"
#include "mozilla/Telemetry.h"
@ -64,7 +65,7 @@ static JSFunctionSpec PrivilegeManager_static_methods[] = {
NS_IMETHODIMP
nsSecurityNameSet::InitializeNameSet(nsIScriptContext* aScriptContext)
{
JSContext* cx = aScriptContext->GetNativeContext();
AutoPushJSContext cx(aScriptContext->GetNativeContext());
JSObject *global = JS_ObjectToInnerObject(cx, JS_GetGlobalObject(cx));
/*

View File

@ -22,7 +22,7 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=758258
var Ci = Components.interfaces;
if (navigator.platform.indexOf("Linux") == 0) {
if (navigator.platform.startsWith("Linux")) {
SimpleTest.expectAssertions(2);
}

View File

@ -4361,6 +4361,23 @@ else
AC_MSG_RESULT([no])
fi
# Allow the application to provide a subconfigure script
if test -f "${srcdir}/${MOZ_BUILD_APP}/configure.in" ; then
do_output_subdirs() {
if test -n "$_subconfigure_subdirs"; then
AC_MSG_ERROR([Cannot specify more than one sub-sub-configure])
fi
_subconfigure_subdir="$1"
_subconfigure_config_args="$ac_configure_args"
}
tmpscript=`mktemp -t subscript.XXXXXX` || exit 1
m4 "${srcdir}/build/autoconf/subconfigure.m4" \
"${srcdir}/build/autoconf/altoptions.m4" \
"${srcdir}/${MOZ_BUILD_APP}/configure.in" > $tmpscript
. $tmpscript
rm -f $tmpscript
fi
# Allow someone to change MOZ_APP_NAME and MOZ_APP_BASENAME in mozconfig
MOZ_ARG_WITH_STRING(app-name,
[--with-app-name=APPNAME sets MOZ_APP_NAME to APPNAME],
@ -9206,6 +9223,14 @@ fi
unset MAKEFILES
unset CONFIG_FILES
# Run all configure scripts specified by a subconfigure
if test -n "$_subconfigure_subdir"; then
_save_ac_configure_args="$ac_configure_args"
ac_configure_args="$_subconfigure_config_args"
AC_OUTPUT_SUBDIRS("$_subconfigure_subdir")
ac_configure_args="$_save_ac_configure_args"
fi
# No need to run subconfigures when building with LIBXUL_SDK_DIR
if test "$COMPILE_ENVIRONMENT" -a -z "$LIBXUL_SDK_DIR"; then

View File

@ -0,0 +1,25 @@
<!DOCTYPE html>
<html>
<head>
<script>
function boom()
{
var b = document.createElement('bdi');
var c = document.createElement('div');
var d = document.createElement('div');
b.appendChild(c);
c.appendChild(d);
b.removeChild(c);
d.appendChild(b);
document.createElement('div').appendChild(c);
b.appendChild(document.createElement('div'));
b.setAttribute('dir', "auto");
}
</script>
</head>
<body onload="boom();"></body>
</html>

View File

@ -0,0 +1,23 @@
<!DOCTYPE html>
<html>
<head>
<script>
function boom()
{
d.setAttribute('dir', "auto");
c.setAttribute('dir', "auto");
d.removeAttribute('dir');
c.removeAttribute('dir');
b.setAttribute('dir', "auto");
}
</script>
</head>
<body onload="boom();">
<div id="a" dir="auto"><div id="b"><div id="c"><div id="d"></div></div></div></div>
</body>
</html>

View File

@ -129,3 +129,5 @@ load 827190.html
load 828054.html
load 829428.html
load 836890.html
load 841205.html
load 844404.html

View File

@ -2205,9 +2205,9 @@ public:
bool RePush(nsIDOMEventTarget *aCurrentTarget);
// If a null JSContext is passed to Push(), that will cause no
// push to happen and false to be returned.
bool Push(JSContext *cx, bool aRequiresScriptContext = true);
void Push(JSContext *cx);
// Explicitly push a null JSContext on the the stack
bool PushNull();
void PushNull();
// Pop() will be a no-op if Push() or PushNull() fail
void Pop();
@ -2215,7 +2215,7 @@ public:
nsIScriptContext* GetCurrentScriptContext() { return mScx; }
private:
// Combined code for PushNull() and Push(JSContext*)
bool DoPush(JSContext* cx);
void DoPush(JSContext* cx);
nsCOMPtr<nsIScriptContext> mScx;
bool mScriptIsRunning;
@ -2302,6 +2302,33 @@ public:
SafeAutoJSContext(MOZ_GUARD_OBJECT_NOTIFIER_ONLY_PARAM);
};
/**
* Use AutoPushJSContext when you want to use a specific JSContext that may or
* may not be already on the stack. This differs from nsCxPusher in that it only
* pushes in the case that the given cx is not the active cx on the JSContext
* stack, which avoids an expensive JS_SaveFrameChain in the common case.
*
* Most consumers of this should probably just use AutoJSContext. But the goal
* here is to preserve the existing behavior while ensure proper cx-stack
* semantics in edge cases where the context being used doesn't match the active
* context.
*
* NB: This will not push a null cx even if aCx is null. Make sure you know what
* you're doing.
*/
class NS_STACK_CLASS AutoPushJSContext {
nsCxPusher mPusher;
JSContext* mCx;
public:
AutoPushJSContext(JSContext* aCx) : mCx(aCx) {
if (mCx && mCx != nsContentUtils::GetCurrentJSContext()) {
mPusher.Push(mCx);
}
}
operator JSContext*() { return mCx; }
};
} // namespace mozilla
#define NS_INTERFACE_MAP_ENTRY_TEAROFF(_interface, _allocator) \

View File

@ -95,9 +95,13 @@ class Element;
class GlobalObject;
class HTMLBodyElement;
class Link;
class NodeFilter;
class ProcessingInstruction;
class UndoManager;
template<typename> class Sequence;
template<typename, typename> class CallbackObjectHolder;
typedef CallbackObjectHolder<NodeFilter, nsIDOMNodeFilter> NodeFilterHolder;
} // namespace dom
} // namespace mozilla
@ -1919,10 +1923,19 @@ public:
already_AddRefed<nsRange> CreateRange(mozilla::ErrorResult& rv);
already_AddRefed<nsIDOMNodeIterator>
CreateNodeIterator(nsINode& aRoot, uint32_t aWhatToShow,
nsIDOMNodeFilter* aFilter, mozilla::ErrorResult& rv) const;
mozilla::dom::NodeFilter* aFilter,
mozilla::ErrorResult& rv) const;
already_AddRefed<nsIDOMNodeIterator>
CreateNodeIterator(nsINode& aRoot, uint32_t aWhatToShow,
const mozilla::dom::NodeFilterHolder& aFilter,
mozilla::ErrorResult& rv) const;
already_AddRefed<nsIDOMTreeWalker>
CreateTreeWalker(nsINode& aRoot, uint32_t aWhatToShow,
nsIDOMNodeFilter* aFilter, mozilla::ErrorResult& rv) const;
mozilla::dom::NodeFilter* aFilter, mozilla::ErrorResult& rv) const;
already_AddRefed<nsIDOMTreeWalker>
CreateTreeWalker(nsINode& aRoot, uint32_t aWhatToShow,
const mozilla::dom::NodeFilterHolder& aFilter,
mozilla::ErrorResult& rv) const;
// Deprecated WebIDL bits
already_AddRefed<mozilla::dom::CDATASection>

View File

@ -1227,7 +1227,7 @@ EventSource::DispatchAllMessageEvents()
nsIScriptContext* scriptContext = sgo->GetContext();
NS_ENSURE_TRUE_VOID(scriptContext);
JSContext* cx = scriptContext->GetNativeContext();
AutoPushJSContext cx(scriptContext->GetNativeContext());
NS_ENSURE_TRUE_VOID(cx);
while (mMessagesToDispatch.GetSize() > 0) {

View File

@ -881,7 +881,7 @@ WebSocket::CreateAndDispatchMessageEvent(const nsACString& aData,
nsIScriptContext* scriptContext = sgo->GetContext();
NS_ENSURE_TRUE(scriptContext, NS_ERROR_FAILURE);
JSContext* cx = scriptContext->GetNativeContext();
AutoPushJSContext cx(scriptContext->GetNativeContext());
NS_ENSURE_TRUE(cx, NS_ERROR_FAILURE);
// Create appropriate JS object for message

View File

@ -3015,19 +3015,14 @@ nsCxPusher::Push(nsIDOMEventTarget *aCurrentTarget)
return true;
}
JSContext* cx = nullptr;
if (scx) {
cx = scx->GetNativeContext();
// Bad, no JSContext from script context!
NS_ENSURE_TRUE(cx, false);
}
JSContext* cx = scx ? scx->GetNativeContext() : nullptr;
// If there's no native context in the script context it must be
// in the process or being torn down. We don't want to notify the
// script context about scripts having been evaluated in such a
// case, calling with a null cx is fine in that case.
return Push(cx);
Push(cx);
return true;
}
bool
@ -3058,37 +3053,26 @@ nsCxPusher::RePush(nsIDOMEventTarget *aCurrentTarget)
return Push(aCurrentTarget);
}
bool
nsCxPusher::Push(JSContext *cx, bool aRequiresScriptContext)
void
nsCxPusher::Push(JSContext *cx)
{
if (mPushedSomething) {
NS_ERROR("Whaaa! No double pushing with nsCxPusher::Push()!");
return false;
}
if (!cx) {
return false;
}
MOZ_ASSERT(!mPushedSomething, "No double pushing with nsCxPusher::Push()!");
MOZ_ASSERT(cx);
// Hold a strong ref to the nsIScriptContext, just in case
// XXXbz do we really need to? If we don't get one of these in Pop(), is
// that really a problem? Or do we need to do this to effectively root |cx|?
mScx = GetScriptContextFromJSContext(cx);
if (!mScx && aRequiresScriptContext) {
// Should probably return false. See bug 416916.
return true;
}
return DoPush(cx);
DoPush(cx);
}
bool
void
nsCxPusher::DoPush(JSContext* cx)
{
nsIThreadJSContextStack* stack = nsContentUtils::ThreadJSContextStack();
if (!stack) {
return true;
return;
}
if (cx && IsContextOnStack(stack, cx)) {
@ -3098,9 +3082,7 @@ nsCxPusher::DoPush(JSContext* cx)
}
if (NS_FAILED(stack->Push(cx))) {
mScriptIsRunning = false;
mScx = nullptr;
return false;
MOZ_CRASH();
}
mPushedSomething = true;
@ -3109,13 +3091,12 @@ nsCxPusher::DoPush(JSContext* cx)
if (cx)
mCompartmentDepthOnEntry = js::GetEnterCompartmentDepth(cx);
#endif
return true;
}
bool
void
nsCxPusher::PushNull()
{
return DoPush(nullptr);
DoPush(nullptr);
}
void
@ -6431,8 +6412,8 @@ nsContentUtils::IsPatternMatching(nsAString& aValue, nsAString& aPattern,
NS_ASSERTION(aDocument, "aDocument should be a valid pointer (not null)");
NS_ENSURE_TRUE(aDocument->GetScriptGlobalObject(), true);
JSContext* cx = aDocument->GetScriptGlobalObject()->
GetContext()->GetNativeContext();
AutoPushJSContext cx(aDocument->GetScriptGlobalObject()->
GetContext()->GetNativeContext());
NS_ENSURE_TRUE(cx, true);
JSAutoRequest ar(cx);
@ -6838,10 +6819,7 @@ AutoJSContext::Init(bool aSafe MOZ_GUARD_OBJECT_NOTIFIER_PARAM_IN_IMPL)
if (!mCx) {
mCx = nsContentUtils::GetSafeJSContext();
bool result = mPusher.Push(mCx);
if (!result || !mCx) {
MOZ_CRASH();
}
mPusher.Push(mCx);
}
}

View File

@ -45,6 +45,8 @@ extern PRLogModuleInfo* GetDataChannelLog();
#undef GetBinaryType
#endif
using namespace mozilla;
class nsDOMDataChannel : public nsDOMEventTargetHelper,
public nsIDOMDataChannel,
public mozilla::DataChannelListener
@ -393,7 +395,7 @@ nsDOMDataChannel::DoOnMessageAvailable(const nsACString& aData,
nsIScriptContext* sc = sgo->GetContext();
NS_ENSURE_TRUE(sc, NS_ERROR_FAILURE);
JSContext* cx = sc->GetNativeContext();
AutoPushJSContext cx(sc->GetNativeContext());
NS_ENSURE_TRUE(cx, NS_ERROR_FAILURE);
JSAutoRequest ar(cx);

View File

@ -184,6 +184,7 @@
#include "mozilla/dom/BindingUtils.h"
#include "mozilla/dom/DocumentFragment.h"
#include "mozilla/dom/HTMLBodyElement.h"
#include "mozilla/dom/NodeFilterBinding.h"
#include "mozilla/dom/UndoManager.h"
#include "nsFrame.h"
#include "nsDOMCaretPosition.h"
@ -3983,19 +3984,8 @@ nsDocument::SetScriptGlobalObject(nsIScriptGlobalObject *aScriptGlobalObject)
JSObject *obj = GetWrapperPreserveColor();
if (obj) {
JSObject *newScope = aScriptGlobalObject->GetGlobalJSObject();
nsIScriptContext *scx = aScriptGlobalObject->GetContext();
JSContext *cx = scx ? scx->GetNativeContext() : nullptr;
if (!cx) {
nsContentUtils::ThreadJSContextStack()->Peek(&cx);
if (!cx) {
cx = nsContentUtils::ThreadJSContextStack()->GetSafeJSContext();
NS_ASSERTION(cx, "Uhoh, no context, this is bad!");
}
}
if (cx) {
NS_ASSERTION(JS_GetGlobalForObject(cx, obj) == newScope,
"Wrong scope, this is really bad!");
}
NS_ASSERTION(js::GetGlobalForObjectCrossCompartment(obj) == newScope,
"Wrong scope, this is really bad!");
}
}
#endif
@ -5365,14 +5355,28 @@ nsDocument::CreateNodeIterator(nsIDOMNode *aRoot,
NS_ENSURE_TRUE(root, NS_ERROR_UNEXPECTED);
ErrorResult rv;
*_retval = nsIDocument::CreateNodeIterator(*root, aWhatToShow, aFilter,
NodeFilterHolder holder(aFilter);
*_retval = nsIDocument::CreateNodeIterator(*root, aWhatToShow, holder,
rv).get();
return rv.ErrorCode();
}
already_AddRefed<nsIDOMNodeIterator>
nsIDocument::CreateNodeIterator(nsINode& aRoot, uint32_t aWhatToShow,
nsIDOMNodeFilter* aFilter,
NodeFilter* aFilter,
mozilla::ErrorResult& rv) const
{
NodeFilterHolder holder(aFilter);
// We don't really know how to handle WebIDL callbacks yet, in
// nsTraversal, so just go ahead and convert to an XPCOM callback.
nsCOMPtr<nsIDOMNodeFilter> filter = holder.ToXPCOMCallback();
NodeFilterHolder holder2(filter);
return CreateNodeIterator(aRoot, aWhatToShow, holder2, rv);
}
already_AddRefed<nsIDOMNodeIterator>
nsIDocument::CreateNodeIterator(nsINode& aRoot, uint32_t aWhatToShow,
const NodeFilterHolder& aFilter,
mozilla::ErrorResult& rv) const
{
nsINode* root = &aRoot;
@ -5404,14 +5408,28 @@ nsDocument::CreateTreeWalker(nsIDOMNode *aRoot,
NS_ENSURE_TRUE(root, NS_ERROR_DOM_NOT_SUPPORTED_ERR);
ErrorResult rv;
*_retval = nsIDocument::CreateTreeWalker(*root, aWhatToShow, aFilter,
NodeFilterHolder holder(aFilter);
*_retval = nsIDocument::CreateTreeWalker(*root, aWhatToShow, holder,
rv).get();
return rv.ErrorCode();
}
already_AddRefed<nsIDOMTreeWalker>
nsIDocument::CreateTreeWalker(nsINode& aRoot, uint32_t aWhatToShow,
nsIDOMNodeFilter* aFilter,
NodeFilter* aFilter,
mozilla::ErrorResult& rv) const
{
NodeFilterHolder holder(aFilter);
// We don't really know how to handle WebIDL callbacks yet, in
// nsTraversal, so just go ahead and convert to an XPCOM callback.
nsCOMPtr<nsIDOMNodeFilter> filter = holder.ToXPCOMCallback();
NodeFilterHolder holder2(filter);
return CreateTreeWalker(aRoot, aWhatToShow, holder2, rv);
}
already_AddRefed<nsIDOMTreeWalker>
nsIDocument::CreateTreeWalker(nsINode& aRoot, uint32_t aWhatToShow,
const NodeFilterHolder& aFilter,
mozilla::ErrorResult& rv) const
{
nsINode* root = &aRoot;
@ -6174,6 +6192,7 @@ private:
*/
static nsresult
GetContextAndScope(nsIDocument* aOldDocument, nsIDocument* aNewDocument,
nsCxPusher& aPusher,
JSContext** aCx, JSObject** aNewScope)
{
MOZ_ASSERT(aOldDocument);
@ -6216,6 +6235,9 @@ GetContextAndScope(nsIDocument* aOldDocument, nsIDocument* aNewDocument,
}
}
if (cx) {
aPusher.Push(cx);
}
if (!newScope && cx) {
JS::Value v;
nsresult rv = nsContentUtils::WrapNative(cx, global, aNewDocument,
@ -6349,8 +6371,9 @@ nsIDocument::AdoptNode(nsINode& aAdoptedNode, ErrorResult& rv)
JSContext *cx = nullptr;
JSObject *newScope = nullptr;
nsCxPusher pusher;
if (!sameDocument) {
rv = GetContextAndScope(oldDocument, this, &cx, &newScope);
rv = GetContextAndScope(oldDocument, this, pusher, &cx, &newScope);
if (rv.Failed()) {
return nullptr;
}
@ -6824,7 +6847,7 @@ nsDocument::IsScriptEnabled()
nsIScriptContext *scriptContext = globalObject->GetContext();
NS_ENSURE_TRUE(scriptContext, false);
JSContext* cx = scriptContext->GetNativeContext();
AutoPushJSContext cx(scriptContext->GetNativeContext());
NS_ENSURE_TRUE(cx, false);
bool enabled;
@ -8542,7 +8565,7 @@ nsDocument::GetStateObject(nsIVariant** aState)
nsCOMPtr<nsIVariant> stateObj;
if (!mStateObjectCached && mStateObjectContainer) {
JSContext *cx = nsContentUtils::GetContextFromDocument(this);
AutoPushJSContext cx(nsContentUtils::GetContextFromDocument(this));
mStateObjectContainer->
DeserializeToVariant(cx, getter_AddRefs(mStateObjectCached));
}

View File

@ -2363,7 +2363,7 @@ nsFrameLoader::EnsureMessageManager()
nsIScriptContext* sctx = mOwnerContent->GetContextForEventHandlers(&rv);
NS_ENSURE_SUCCESS(rv, rv);
NS_ENSURE_STATE(sctx);
JSContext* cx = sctx->GetNativeContext();
AutoPushJSContext cx(sctx->GetNativeContext());
NS_ENSURE_STATE(cx);
nsCOMPtr<nsIDOMChromeWindow> chromeWindow =

View File

@ -651,7 +651,7 @@ nsFrameMessageManager::ReceiveMessage(nsISupports* aTarget,
continue;
}
nsCxPusher pusher;
NS_ENSURE_STATE(pusher.Push(ctx, false));
pusher.Push(ctx);
JSAutoRequest ar(ctx);
JSAutoCompartment ac(ctx, object);

View File

@ -19,6 +19,9 @@
#include "nsDOMClassInfoID.h"
#include "nsContentUtils.h"
#include "nsCOMPtr.h"
#include "mozilla/dom/NodeFilterBinding.h"
using namespace mozilla::dom;
/*
* NodePointer implementation
@ -137,7 +140,7 @@ void nsNodeIterator::NodePointer::MoveBackward(nsINode *aParent, nsINode *aNode)
nsNodeIterator::nsNodeIterator(nsINode *aRoot,
uint32_t aWhatToShow,
nsIDOMNodeFilter *aFilter) :
const NodeFilterHolder &aFilter) :
nsTraversal(aRoot, aWhatToShow, aFilter),
mDetached(false),
mPointer(mRoot, true)
@ -203,7 +206,7 @@ NS_IMETHODIMP nsNodeIterator::GetFilter(nsIDOMNodeFilter **aFilter)
{
NS_ENSURE_ARG_POINTER(aFilter);
NS_IF_ADDREF(*aFilter = mFilter);
*aFilter = mFilter.ToXPCOMCallback().get();
return NS_OK;
}

View File

@ -30,7 +30,7 @@ public:
nsNodeIterator(nsINode *aRoot,
uint32_t aWhatToShow,
nsIDOMNodeFilter *aFilter);
const mozilla::dom::NodeFilterHolder &aFilter);
virtual ~nsNodeIterator();
NS_DECL_NSIMUTATIONOBSERVER_CONTENTREMOVED

View File

@ -2570,6 +2570,8 @@ nsObjectLoadingContent::NotifyContentObjectWrapper()
return;
JSContext *cx = scx->GetNativeContext();
nsCxPusher pusher;
pusher.Push(cx);
nsCOMPtr<nsIXPConnectWrappedNative> wrapper;
nsContentUtils::XPConnect()->

View File

@ -822,6 +822,7 @@ nsScriptLoader::EvaluateScript(nsScriptLoadRequest* aRequest,
if (!context) {
return NS_ERROR_FAILURE;
}
AutoPushJSContext cx(context->GetNativeContext());
bool oldProcessingScriptTag = context->GetProcessingScriptTag();
context->SetProcessingScriptTag(true);
@ -837,7 +838,7 @@ nsScriptLoader::EvaluateScript(nsScriptLoadRequest* aRequest,
JSVersion version = JSVersion(aRequest->mJSVersion);
if (version != JSVERSION_UNKNOWN) {
JS::CompileOptions options(context->GetNativeContext());
JS::CompileOptions options(cx);
options.setFileAndLine(url.get(), aRequest->mLineNo)
.setVersion(JSVersion(aRequest->mJSVersion));
if (aRequest->mOriginPrincipal) {
@ -850,8 +851,6 @@ nsScriptLoader::EvaluateScript(nsScriptLoadRequest* aRequest,
// Put the old script back in case it wants to do anything else.
mCurrentScript = oldCurrent;
JSContext *cx = nullptr; // Initialize this to keep GCC happy.
cx = context->GetNativeContext();
JSAutoRequest ar(cx);
context->SetProcessingScriptTag(oldProcessingScriptTag);
return rv;

View File

@ -10,12 +10,17 @@
#include "nsIDOMNodeFilter.h"
#include "nsError.h"
#include "nsINode.h"
#include "mozilla/dom/NodeFilterBinding.h"
#include "mozilla/AutoRestore.h"
#include "nsGkAtoms.h"
using namespace mozilla;
using namespace mozilla::dom;
nsTraversal::nsTraversal(nsINode *aRoot,
uint32_t aWhatToShow,
nsIDOMNodeFilter *aFilter) :
const NodeFilterHolder &aFilter) :
mRoot(aRoot),
mWhatToShow(aWhatToShow),
mFilter(aFilter),
@ -40,8 +45,6 @@ nsresult nsTraversal::TestNode(nsINode* aNode, int16_t* _filtered)
{
NS_ENSURE_TRUE(!mInAcceptNode, NS_ERROR_DOM_INVALID_STATE_ERR);
nsresult rv;
*_filtered = nsIDOMNodeFilter::FILTER_SKIP;
uint16_t nodeType = aNode->NodeType();
@ -50,14 +53,22 @@ nsresult nsTraversal::TestNode(nsINode* aNode, int16_t* _filtered)
return NS_OK;
}
if (mFilter) {
nsCOMPtr<nsIDOMNode> domNode = do_QueryInterface(aNode);
mInAcceptNode = true;
rv = mFilter->AcceptNode(domNode, _filtered);
mInAcceptNode = false;
return rv;
if (!mFilter.GetISupports()) {
// No filter, just accept
*_filtered = nsIDOMNodeFilter::FILTER_ACCEPT;
return NS_OK;
}
*_filtered = nsIDOMNodeFilter::FILTER_ACCEPT;
return NS_OK;
if (mFilter.HasWebIDLCallback()) {
AutoRestore<bool> inAcceptNode(mInAcceptNode);
mInAcceptNode = true;
ErrorResult res;
*_filtered = mFilter.GetWebIDLCallback()->AcceptNode(*aNode, res);
return res.ErrorCode();
}
nsCOMPtr<nsIDOMNode> domNode = do_QueryInterface(aNode);
AutoRestore<bool> inAcceptNode(mInAcceptNode);
mInAcceptNode = true;
return mFilter.GetXPCOMCallback()->AcceptNode(domNode, _filtered);
}

View File

@ -12,6 +12,8 @@
#define nsTraversal_h___
#include "nsCOMPtr.h"
#include "nsIDocument.h"
#include "mozilla/dom/CallbackObject.h"
class nsINode;
class nsIDOMNodeFilter;
@ -21,13 +23,13 @@ class nsTraversal
public:
nsTraversal(nsINode *aRoot,
uint32_t aWhatToShow,
nsIDOMNodeFilter *aFilter);
const mozilla::dom::NodeFilterHolder &aFilter);
virtual ~nsTraversal();
protected:
nsCOMPtr<nsINode> mRoot;
uint32_t mWhatToShow;
nsCOMPtr<nsIDOMNodeFilter> mFilter;
mozilla::dom::NodeFilterHolder mFilter;
bool mInAcceptNode;
/*

View File

@ -16,6 +16,9 @@
#include "nsINode.h"
#include "nsDOMClassInfoID.h"
#include "nsContentUtils.h"
#include "mozilla/dom/NodeFilterBinding.h"
using namespace mozilla::dom;
/*
* Factories, constructors and destructors
@ -23,7 +26,7 @@
nsTreeWalker::nsTreeWalker(nsINode *aRoot,
uint32_t aWhatToShow,
nsIDOMNodeFilter *aFilter) :
const NodeFilterHolder &aFilter) :
nsTraversal(aRoot, aWhatToShow, aFilter),
mCurrentNode(aRoot)
{
@ -82,7 +85,7 @@ NS_IMETHODIMP nsTreeWalker::GetFilter(nsIDOMNodeFilter * *aFilter)
{
NS_ENSURE_ARG_POINTER(aFilter);
NS_IF_ADDREF(*aFilter = mFilter);
*aFilter = mFilter.ToXPCOMCallback().get();
return NS_OK;
}

View File

@ -29,7 +29,7 @@ public:
nsTreeWalker(nsINode *aRoot,
uint32_t aWhatToShow,
nsIDOMNodeFilter *aFilter);
const mozilla::dom::NodeFilterHolder &aFilter);
virtual ~nsTreeWalker();
NS_DECL_CYCLE_COLLECTION_CLASS(nsTreeWalker)

View File

@ -556,9 +556,6 @@ MOCHITEST_FILES_C= \
test_bug708620.html \
file_bug708620.html \
file_bug708620-2.html \
test_XHR_timeout.html \
test_XHR_timeout.js \
file_XHR_timeout.sjs \
test_bug717511.html \
file_bug717511.html \
file_bug717511.html^headers^ \
@ -668,6 +665,11 @@ MOCHITEST_FILES_PARTS = $(foreach s,A B C,MOCHITEST_FILES_$(s))
# test_bug503473.html \
# file_bug503473-frame.sjs \
# Disabled for frequent failures (bug 841505, bug 842344, etc)
# test_XHR_timeout.html \
# test_XHR_timeout.js \
# file_XHR_timeout.sjs \
MOCHITEST_BROWSER_FILES = \
browser_bug593387.js \
$(NULL)

View File

@ -18,7 +18,7 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=641821
<pre id="test">
<script type="application/javascript">
if (navigator.platform.indexOf("Win") != 0) {
if (!navigator.platform.startsWith("Win")) {
// for non-Windows
SimpleTest.expectAssertions(1);
}
@ -573,6 +573,13 @@ function testExpandos() {
m2 = null;
if (SpecialPowers) {
// Run GC several times to see if the expando property disappears.
// Also, garbage collecting the windows created in this test can
// cause assertions, so we must GC now to blame those assertions to
// this test.
// ("mArguments wasn't cleaned up properly!" in ~nsGlobalWindow,
// bug 600703)
SpecialPowers.gc();
SpecialPowers.gc();
SpecialPowers.gc();

View File

@ -818,8 +818,8 @@ nsEventListenerManager::CompileEventHandlerInternal(nsListenerStruct *aListenerS
}
nsCxPusher pusher;
if (aNeedsCxPush && !pusher.Push(cx)) {
return NS_ERROR_FAILURE;
if (aNeedsCxPush) {
pusher.Push(cx);
}
uint32_t argCount;

View File

@ -0,0 +1,56 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "HTMLDataElement.h"
#include "mozilla/dom/HTMLDataElementBinding.h"
#include "nsGenericHTMLElement.h"
NS_IMPL_NS_NEW_HTML_ELEMENT(Data)
namespace mozilla {
namespace dom {
HTMLDataElement::HTMLDataElement(already_AddRefed<nsINodeInfo> aNodeInfo)
: nsGenericHTMLElement(aNodeInfo)
{
SetIsDOMBinding();
}
HTMLDataElement::~HTMLDataElement()
{
}
NS_IMPL_ADDREF_INHERITED(HTMLDataElement, Element)
NS_IMPL_RELEASE_INHERITED(HTMLDataElement, Element)
NS_INTERFACE_TABLE_HEAD(HTMLDataElement)
NS_HTML_CONTENT_INTERFACE_TABLE0(HTMLDataElement)
NS_HTML_CONTENT_INTERFACE_TABLE_TO_MAP_SEGUE(HTMLDataElement,
nsGenericHTMLElement)
NS_HTML_CONTENT_INTERFACE_MAP_END
NS_IMPL_ELEMENT_CLONE(HTMLDataElement)
JSObject*
HTMLDataElement::WrapNode(JSContext* aCx, JSObject* aScope, bool* aTriedToWrap)
{
return HTMLDataElementBinding::Wrap(aCx, aScope, this, aTriedToWrap);
}
void
HTMLDataElement::GetItemValueText(nsAString& text)
{
GetValue(text);
}
void
HTMLDataElement::SetItemValueText(const nsAString& text)
{
ErrorResult rv;
SetValue(text, rv);
}
} // namespace dom
} // namespace mozilla

View File

@ -0,0 +1,59 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#ifndef mozilla_dom_HTMLDataElement_h
#define mozilla_dom_HTMLDataElement_h
#include "nsIDOMHTMLElement.h"
#include "nsGenericHTMLElement.h"
#include "nsGkAtoms.h"
namespace mozilla {
namespace dom {
class HTMLDataElement MOZ_FINAL : public nsGenericHTMLElement,
public nsIDOMHTMLElement
{
public:
HTMLDataElement(already_AddRefed<nsINodeInfo> aNodeInfo);
virtual ~HTMLDataElement();
// nsISupports
NS_DECL_ISUPPORTS_INHERITED
// nsIDOMNode
NS_FORWARD_NSIDOMNODE_TO_NSINODE
// nsIDOMElement
NS_FORWARD_NSIDOMELEMENT_TO_GENERIC
// nsIDOMHTMLElement
NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC
// HTMLDataElement WebIDL
void GetValue(nsAString& aValue)
{
GetHTMLAttr(nsGkAtoms::value, aValue);
}
void SetValue(const nsAString& aValue, ErrorResult& aError)
{
SetHTMLAttr(nsGkAtoms::value, aValue, aError);
}
virtual void GetItemValueText(nsAString& text);
virtual void SetItemValueText(const nsAString& text);
virtual nsresult Clone(nsINodeInfo* aNodeInfo, nsINode** aResult) const;
virtual nsIDOMNode* AsDOMNode() { return this; }
protected:
virtual JSObject* WrapNode(JSContext* aCx, JSObject* aScope,
bool* aTriedToWrap) MOZ_OVERRIDE;
};
} // namespace dom
} // namespace mozilla
#endif // mozilla_dom_HTMLDataElement_h

View File

@ -19,6 +19,8 @@ class HTMLFrameElement : public nsGenericHTMLFrameElement,
public nsIDOMHTMLFrameElement
{
public:
using nsGenericHTMLFrameElement::SwapFrameLoaders;
HTMLFrameElement(already_AddRefed<nsINodeInfo> aNodeInfo,
FromParser aFromParser = NOT_FROM_PARSER);
virtual ~HTMLFrameElement();

View File

@ -34,6 +34,7 @@ EXPORTS_mozilla/dom = \
HTMLBodyElement.h \
HTMLBRElement.h \
HTMLButtonElement.h \
HTMLDataElement.h \
HTMLDataListElement.h \
HTMLDivElement.h \
HTMLFieldSetElement.h \
@ -94,6 +95,7 @@ CPPSRCS = \
HTMLBodyElement.cpp \
HTMLButtonElement.cpp \
HTMLCanvasElement.cpp \
HTMLDataElement.cpp \
HTMLDataListElement.cpp \
HTMLDivElement.cpp \
HTMLFieldSetElement.cpp \

View File

@ -781,8 +781,10 @@ nsGenericHTMLElement::BeforeSetAttr(int32_t aNamespaceID, nsIAtom* aName,
{
if (aNamespaceID == kNameSpaceID_None &&
aName == nsGkAtoms::dir &&
HasDirAuto()) {
// setting dir on an element that currently has dir=auto
HasDirAuto() && !AncestorHasDirAuto()) {
// When setting dir on an element that currently has dir=auto, we walk the
// descendant tree and clear the AncestorHasDirAuto flag; unless this
// element itself has the AncestorHasDirAuto flag
WalkDescendantsClearAncestorDirAuto(this);
SetHasDirAuto();
}

View File

@ -1915,6 +1915,7 @@ NS_DECLARE_NS_NEW_HTML_ELEMENT(Body)
NS_DECLARE_NS_NEW_HTML_ELEMENT(Button)
NS_DECLARE_NS_NEW_HTML_ELEMENT(Canvas)
NS_DECLARE_NS_NEW_HTML_ELEMENT(Mod)
NS_DECLARE_NS_NEW_HTML_ELEMENT(Data)
NS_DECLARE_NS_NEW_HTML_ELEMENT(DataList)
NS_DECLARE_NS_NEW_HTML_ELEMENT(Div)
NS_DECLARE_NS_NEW_HTML_ELEMENT(FieldSet)

View File

@ -9,6 +9,7 @@
#include "nsIInterfaceRequestorUtils.h"
#include "nsContentUtils.h"
#include "mozilla/Preferences.h"
#include "mozilla/ErrorResult.h"
#include "nsIAppsService.h"
#include "nsServiceManagerUtils.h"
#include "nsIDOMApplicationRegistry.h"
@ -394,3 +395,11 @@ nsGenericHTMLFrameElement::AllowCreateFrameLoader()
mFrameLoaderCreationDisallowed = false;
return NS_OK;
}
void
nsGenericHTMLFrameElement::SwapFrameLoaders(nsXULElement& aOtherOwner,
ErrorResult& aError)
{
aError.Throw(NS_ERROR_NOT_IMPLEMENTED);
}

View File

@ -9,9 +9,12 @@
#include "nsIFrameLoader.h"
#include "nsIMozBrowserFrame.h"
#include "nsIDOMEventListener.h"
#include "mozilla/ErrorResult.h"
#include "nsFrameLoader.h"
class nsXULElement;
/**
* A helper class for frame elements
*/
@ -60,6 +63,8 @@ public:
NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED_NO_UNLINK(nsGenericHTMLFrameElement,
nsGenericHTMLElement)
void SwapFrameLoaders(nsXULElement& aOtherOwner, mozilla::ErrorResult& aError);
protected:
/**
* Listens to titlechanged events from the document inside the iframe and

View File

@ -15,10 +15,17 @@
#include "AudioSampleFormat.h"
#include "AudioChannelCommon.h"
#include <algorithm>
#include "mozilla/Preferences.h"
using namespace mozilla;
using namespace mozilla::dom;
static bool
IsAudioAPIEnabled()
{
return Preferences::GetBool("media.audio_data.enabled", true);
}
nsGenericHTMLElement*
NS_NewHTMLAudioElement(already_AddRefed<nsINodeInfo> aNodeInfo,
FromParser aFromParser)
@ -101,6 +108,10 @@ nsHTMLAudioElement::Initialize(nsISupports* aOwner, JSContext* aContext,
NS_IMETHODIMP
nsHTMLAudioElement::MozSetup(uint32_t aChannels, uint32_t aRate)
{
if (!IsAudioAPIEnabled()) {
return NS_ERROR_DOM_NOT_SUPPORTED_ERR;
}
// If there is already a src provided, don't setup another stream
if (mDecoder) {
return NS_ERROR_FAILURE;
@ -132,6 +143,10 @@ nsHTMLAudioElement::MozSetup(uint32_t aChannels, uint32_t aRate)
NS_IMETHODIMP
nsHTMLAudioElement::MozWriteAudio(const JS::Value& aData, JSContext* aCx, uint32_t* aRetVal)
{
if (!IsAudioAPIEnabled()) {
return NS_ERROR_DOM_NOT_SUPPORTED_ERR;
}
if (!mAudioStream) {
return NS_ERROR_DOM_INVALID_STATE_ERR;
}
@ -190,6 +205,10 @@ nsHTMLAudioElement::MozWriteAudio(const JS::Value& aData, JSContext* aCx, uint32
NS_IMETHODIMP
nsHTMLAudioElement::MozCurrentSampleOffset(uint64_t *aRetVal)
{
if (!IsAudioAPIEnabled()) {
return NS_ERROR_DOM_NOT_SUPPORTED_ERR;
}
if (!mAudioStream) {
return NS_ERROR_DOM_INVALID_STATE_ERR;
}

View File

@ -2187,6 +2187,11 @@ nsHTMLMediaElement::CanPlayType(const nsAString& aType, nsAString& aResult)
aResult.AssignLiteral("maybe");
break;
}
LOG(PR_LOG_DEBUG, ("%p CanPlayType(%s) = \"%s\"", this,
NS_ConvertUTF16toUTF8(aType).get(),
NS_ConvertUTF16toUTF8(aResult).get()));
return NS_OK;
}

View File

@ -353,6 +353,7 @@ MOCHITEST_FILES = \
test_mozaudiochannel.html \
test_style_attributes_reflection.html \
test_bug629801.html \
test_bug839371.html \
$(NULL)

View File

@ -21,7 +21,7 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=657938
<pre id="test">
<script type="application/javascript">
if (navigator.platform.indexOf("Win") == 0) {
if (navigator.platform.startsWith("Win")) {
SimpleTest.expectAssertions(0, 1);
} else {
SimpleTest.expectAssertions(1);

View File

@ -126,6 +126,7 @@ HTML_TAG("cite", "");
HTML_TAG("code", "");
HTML_TAG("col", "TableCol");
HTML_TAG("colgroup", "TableCol");
HTML_TAG("data", "Data");
HTML_TAG("datalist", "DataList");
HTML_TAG("dd", "");
HTML_TAG("del", "Mod");

View File

@ -20,7 +20,7 @@ method="POST" enctype="multipart/form-data">
<pre id="test">
<script class="testbody" type="text/javascript">
if (navigator.platform.indexOf("Win") == 0) {
if (navigator.platform.startsWith("Win")) {
SimpleTest.expectAssertions(0, 1);
} else {
SimpleTest.expectAssertions(1);

View File

@ -0,0 +1,53 @@
<!DOCTYPE HTML>
<html>
<!--
https://bugzilla.mozilla.org/show_bug.cgi?id=839371
-->
<head>
<title>Test for Bug 839371</title>
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="reflect.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
</head>
<body>
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=839371">Mozilla Bug 839371</a>
<p id="display"></p>
<div id="content" style="display: none">
<div itemscope>
<data id="d1" itemprop="product-id" value="9678AOU879">The Instigator 2000</data>
</div>
</div>
<pre id="test">
<script type="application/javascript">
/** Test for Bug 839371 **/
var d1 = document.getElementById("d1"),
d2 = document.createElement("data");
// .value IDL
is(d1.value, "9678AOU879", "value property reflects content attribute");
d1.value = "123";
is(d1.value, "123", "value property can be set via setter");
// .itemValue getter for <data>'s microdata
var data = document.getItems()[0];
is(data.properties["product-id"][0].itemValue, "123", "itemValue getter reflects value attribute");
// .itemValue setter uses value
data.properties["product-id"][0].itemValue = "456";
is(data.properties["product-id"][0].value, "456", "setting itemValue updates value");
is(data.properties["product-id"][0].itemValue, "456", "setting itemValue updates itemValue");
// .value reflects value attribute
reflectString({
element: d2,
attribute: "value"
});
</script>
</pre>
</body>
</html>

View File

@ -21,6 +21,8 @@
<pre id="test">
<script type="application/javascript">
SimpleTest.expectAssertions(1); // bug 845552
/** Tests for Bug 545812 **/
// Ensure the full-screen api is enabled, and will be disabled on test exit.

View File

@ -1341,8 +1341,7 @@ IsScriptEnabled(nsIDocument *aDoc, nsIDocShell *aContainer)
nsIScriptContext *scriptContext = globalObject->GetContext();
NS_ENSURE_TRUE(scriptContext, true);
JSContext* cx = scriptContext->GetNativeContext();
JSContext *cx = scriptContext->GetNativeContext();
NS_ENSURE_TRUE(cx, true);
bool enabled = true;

View File

@ -13,9 +13,9 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=391777
<p id="display"></p>
<script class="testbody" type="text/javascript">
if (navigator.platform.indexOf("Win") != 0) {
if (!navigator.platform.startsWith("Win")) {
// not Windows
SimpleTest.expectAssertions(0, 1);
SimpleTest.expectAssertions(1);
}
/** Test for Bug 391777 **/
@ -24,6 +24,12 @@ arg.testVal = "foo";
var result = window.showModalDialog("javascript:window.returnValue = window.dialogArguments.testVal; window.close(); 'This window should close on its own.';", arg);
ok(true, "We should get here without user interaction");
is(result, "foo", "Unexpected result from showModalDialog");
// Garbage collecting the windows created in this test can cause
// assertions, so GC now to blame those assertions to this test.
// ("mArguments wasn't cleaned up properly!" in ~nsGlobalWindow,
// bug 600703)
SpecialPowers.gc();
</script>
</body>
</html>

View File

@ -21,10 +21,6 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=402680
<pre id="test">
<script class="testbody" type="text/javascript">
if (navigator.platform.indexOf("Mac") == 0) {
SimpleTest.expectAssertions(0, 1);
}
/** Test for Bug 402680 **/
ok(activeElementIsNull,

View File

@ -17,10 +17,6 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=403868
<pre id="test">
<script class="testbody" type="text/javascript">
if (navigator.platform.indexOf("Mac") == 0) {
SimpleTest.expectAssertions(0, 1);
}
/** Test for Bug 403868 **/
function createSpan(id, insertionPoint) {
var s = document.createElement("span");

View File

@ -17,11 +17,6 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=446483
<pre id="test">
<script type="application/javascript">
if (navigator.platform.indexOf("Win") != 0) {
// not Windows
SimpleTest.expectAssertions(0, 1);
}
/** Test for Bug 446483 **/
function gc() {

View File

@ -11,7 +11,7 @@
<pre id="test">
<script class="testbody" type="text/javascript">
if (navigator.platform.indexOf("Win") == 0) {
if (navigator.platform.startsWith("Win")) {
SimpleTest.expectAssertions(0, 4);
}

View File

@ -136,7 +136,7 @@ public:
bool IsTransportSeekable() MOZ_OVERRIDE { return true; }
virtual const nsACString& GetContentType() const MOZ_OVERRIDE
virtual const nsCString& GetContentType() const MOZ_OVERRIDE
{
return mContentType;
}

View File

@ -371,7 +371,7 @@ public:
// Returns the content type of the resource. This is copied from the
// nsIChannel when the MediaResource is created. Safe to call from
// any thread.
virtual const nsACString& GetContentType() const = 0;
virtual const nsCString& GetContentType() const = 0;
};
class BaseMediaResource : public MediaResource {
@ -398,7 +398,7 @@ protected:
MOZ_COUNT_DTOR(BaseMediaResource);
}
virtual const nsACString& GetContentType() const MOZ_OVERRIDE
virtual const nsCString& GetContentType() const MOZ_OVERRIDE
{
return mContentType;
}

View File

@ -7,6 +7,14 @@ function check_mp4(v, enabled) {
check("video/mp4", "maybe");
check("audio/mp4", "maybe");
check("audio/mpeg", "maybe");
check("audio/mp3", "maybe");
check("audio/x-m4a", "maybe");
// Not the MIME type that other browsers respond to, so we won't either.
check("audio/m4a", "");
// Only Safari responds affirmatively to "audio/aac",
// so we'll let x-m4a cover aac support.
check("audio/aac", "");
check("video/mp4; codecs=\"avc1.42E01E, mp4a.40.2\"", "probably");
check("video/mp4; codecs=\"avc1.42001E, mp4a.40.2\"", "probably");
@ -22,6 +30,14 @@ function check_mp4(v, enabled) {
check("video/mp4; codecs=\"avc1.64001E\"", "probably");
check("video/mp4; codecs=\"avc1.64001F\"", "probably");
check("audio/mpeg; codecs=\"mp3\"", "probably");
check("audio/mpeg; codecs=mp3", "probably");
check("audio/mp3; codecs=\"mp3\"", "probably");
check("audio/mp3; codecs=mp3", "probably");
check("audio/mp4; codecs=\"mp4a.40.2\"", "probably");
check("audio/mp4; codecs=mp4a.40.2", "probably");
check("audio/x-m4a; codecs=\"mp4a.40.2\"", "probably");
check("audio/x-m4a; codecs=mp4a.40.2", "probably");
}

View File

@ -15,7 +15,7 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=495300
<pre id="test">
<script class="testbody" type="text/javascript">
if (navigator.platform.indexOf("Mac") != 0) {
if (!navigator.platform.startsWith("Mac")) {
// not Mac
SimpleTest.expectAssertions(0, 1);
}

View File

@ -15,7 +15,7 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=686942
<pre id="test">
<script class="testbody" type="text/javascript">
if (navigator.platform.indexOf("Win") == 0) {
if (navigator.platform.startsWith("Win")) {
SimpleTest.expectAssertions(0, 1);
}

View File

@ -10,7 +10,7 @@
<pre id="test">
<script class="testbody" type='application/javascript;version=1.8'>
if (navigator.platform.indexOf("Win") == 0) {
if (navigator.platform.startsWith("Win")) {
SimpleTest.expectAssertions(0, 1);
}

View File

@ -10,7 +10,7 @@
<pre id="test">
<script class="testbody" type="text/javascript">
if (navigator.platform.indexOf("Win") == 0) {
if (navigator.platform.startsWith("Win")) {
SimpleTest.expectAssertions(0, 1);
}

View File

@ -663,7 +663,7 @@ WebAudioDecodeJob::FinalizeBufferData()
MOZ_ASSERT(mOutput);
MOZ_ASSERT(mChannels == mChannelBuffers.Length());
JSContext* cx = GetJSContext();
AutoPushJSContext cx(GetJSContext());
if (!cx) {
return false;
}
@ -696,7 +696,7 @@ WebAudioDecodeJob::AllocateBuffer()
MOZ_ASSERT(NS_IsMainThread());
// First, get a JSContext
JSContext* cx = GetJSContext();
AutoPushJSContext cx(GetJSContext());
if (!cx) {
return false;
}

View File

@ -162,7 +162,7 @@ WMFByteStream::Init()
contentTypeUTF16.get());
NS_ENSURE_TRUE(SUCCEEDED(hr), NS_ERROR_FAILURE);
LOG("WMFByteStream has Content-Type=%s", mResource->GetContentType());
LOG("WMFByteStream has Content-Type=%s", mResource->GetContentType().get());
}
return NS_OK;
}

View File

@ -26,19 +26,17 @@ WMFDecoder::GetSupportedCodecs(const nsACString& aType,
NS_FAILED(LoadDLLs()))
return false;
// MP3 is specified to have no codecs in its "type" param:
// http://wiki.whatwg.org/wiki/Video_type_parameters#MPEG
// So specify an empty codecs list, so that if script specifies
// a "type" param with codecs, it will be reported as not supported
// as per the spec.
// Assume that if LoadDLLs() didn't fail, we can playback the types that
// we know should be supported on Windows 7+ using WMF.
static char const *const mp3AudioCodecs[] = {
"mp3",
nullptr
};
if (aType.EqualsASCII("audio/mpeg")) {
if (aType.EqualsASCII("audio/mpeg") ||
aType.EqualsASCII("audio/mp3")) {
if (aCodecList) {
*aCodecList = mp3AudioCodecs;
}
// Assume that if LoadDLLs() didn't fail, we can decode MP3.
return true;
}
@ -47,7 +45,8 @@ WMFDecoder::GetSupportedCodecs(const nsACString& aType,
"mp4a.40.2", // AAC-LC
nullptr
};
if (aType.EqualsASCII("audio/mp4")) {
if (aType.EqualsASCII("audio/mp4") ||
aType.EqualsASCII("audio/x-m4a")) {
if (aCodecList) {
*aCodecList = aacAudioCodecs;
}

View File

@ -321,7 +321,7 @@ SVGMarkerElement::GetMarkerTransform(float aStrokeWidth,
nsSVGViewBoxRect
SVGMarkerElement::GetViewBoxRect()
{
if (mViewBox.IsExplicitlySet()) {
if (mViewBox.HasRect()) {
return mViewBox.GetAnimValue();
}
return nsSVGViewBoxRect(

View File

@ -847,12 +847,12 @@ nsSVGViewBoxRect
SVGSVGElement::GetViewBoxWithSynthesis(
float aViewportWidth, float aViewportHeight) const
{
// The logic here should match HasViewBox().
// The logic here should match HasViewBoxRect().
SVGViewElement* viewElement = GetCurrentViewElement();
if (viewElement && viewElement->mViewBox.IsExplicitlySet()) {
if (viewElement && viewElement->mViewBox.HasRect()) {
return viewElement->mViewBox.GetAnimValue();
}
if (mViewBox.IsExplicitlySet()) {
if (mViewBox.HasRect()) {
return mViewBox.GetAnimValue();
}
@ -885,11 +885,11 @@ SVGSVGElement::GetPreserveAspectRatioWithOverride() const
SVGViewElement* viewElement = GetCurrentViewElement();
// This check is equivalent to "!HasViewBox() && ShouldSynthesizeViewBox()".
// We're just holding onto the viewElement that HasViewBox() would look up,
// This check is equivalent to "!HasViewBoxRect() && ShouldSynthesizeViewBox()".
// We're just holding onto the viewElement that HasViewBoxRect() would look up,
// so that we don't have to look it up again later.
if (!((viewElement && viewElement->mViewBox.IsExplicitlySet()) ||
mViewBox.IsExplicitlySet()) &&
if (!((viewElement && viewElement->mViewBox.HasRect()) ||
mViewBox.HasRect()) &&
ShouldSynthesizeViewBox()) {
// If we're synthesizing a viewBox, use preserveAspectRatio="none";
return SVGPreserveAspectRatio(SVG_PRESERVEASPECTRATIO_NONE, SVG_MEETORSLICE_SLICE);
@ -912,10 +912,10 @@ SVGSVGElement::GetLength(uint8_t aCtxType)
SVGViewElement* viewElement = GetCurrentViewElement();
const nsSVGViewBoxRect* viewbox = nullptr;
// The logic here should match HasViewBox().
if (viewElement && viewElement->mViewBox.IsExplicitlySet()) {
// The logic here should match HasViewBoxRect().
if (viewElement && viewElement->mViewBox.HasRect()) {
viewbox = &viewElement->mViewBox.GetAnimValue();
} else if (mViewBox.IsExplicitlySet()) {
} else if (mViewBox.HasRect()) {
viewbox = &mViewBox.GetAnimValue();
}
@ -1029,19 +1029,19 @@ SVGSVGElement::GetPreserveAspectRatio()
}
bool
SVGSVGElement::HasViewBox() const
SVGSVGElement::HasViewBoxRect() const
{
SVGViewElement* viewElement = GetCurrentViewElement();
if (viewElement && viewElement->mViewBox.IsExplicitlySet()) {
if (viewElement && viewElement->mViewBox.HasRect()) {
return true;
}
return mViewBox.IsExplicitlySet();
return mViewBox.HasRect();
}
bool
SVGSVGElement::ShouldSynthesizeViewBox() const
{
NS_ABORT_IF_FALSE(!HasViewBox(),
NS_ABORT_IF_FALSE(!HasViewBoxRect(),
"Should only be called if we lack a viewBox");
nsIDocument* doc = GetCurrentDoc();
@ -1110,8 +1110,8 @@ SVGSVGElement::
"should only override preserveAspectRatio in images");
#endif
bool hasViewBox = HasViewBox();
if (!hasViewBox && ShouldSynthesizeViewBox()) {
bool hasViewBoxRect = HasViewBoxRect();
if (!hasViewBoxRect && ShouldSynthesizeViewBox()) {
// My non-<svg:image> clients will have been painting me with a synthesized
// viewBox, but my <svg:image> client that's about to paint me now does NOT
// want that. Need to tell ourselves to flush our transform.
@ -1119,7 +1119,7 @@ SVGSVGElement::
}
mIsPaintingSVGImageElement = true;
if (!hasViewBox) {
if (!hasViewBoxRect) {
return; // preserveAspectRatio irrelevant (only matters if we have viewBox)
}
@ -1141,7 +1141,7 @@ SVGSVGElement::ClearImageOverridePreserveAspectRatio()
#endif
mIsPaintingSVGImageElement = false;
if (!HasViewBox() && ShouldSynthesizeViewBox()) {
if (!HasViewBoxRect() && ShouldSynthesizeViewBox()) {
// My non-<svg:image> clients will want to paint me with a synthesized
// viewBox, but my <svg:image> client that just painted me did NOT
// use that. Need to tell ourselves to flush our transform.

View File

@ -154,19 +154,19 @@ public:
* Note also that this method does not pay attention to whether the width or
* height values of the viewBox rect are positive!
*/
bool HasViewBox() const;
bool HasViewBoxRect() const;
/**
* Returns true if we should synthesize a viewBox for ourselves (that is, if
* we're the root element in an image document, and we're not currently being
* painted for an <svg:image> element).
*
* Only call this method if HasViewBox() returns false.
* Only call this method if HasViewBoxRect() returns false.
*/
bool ShouldSynthesizeViewBox() const;
bool HasViewBoxOrSyntheticViewBox() const {
return HasViewBox() || ShouldSynthesizeViewBox();
return HasViewBoxRect() || ShouldSynthesizeViewBox();
}
gfxMatrix GetViewBoxTransform() const;

View File

@ -18,8 +18,7 @@ SVGViewBoxSMILType::Init(nsSMILValue& aValue) const
{
NS_ABORT_IF_FALSE(aValue.IsNull(), "Unexpected value type");
nsSVGViewBoxRect* viewBox = new nsSVGViewBoxRect();
aValue.mU.mPtr = viewBox;
aValue.mU.mPtr = new nsSVGViewBoxRect();
aValue.mType = this;
}
@ -84,6 +83,10 @@ SVGViewBoxSMILType::ComputeDistance(const nsSMILValue& aFrom,
const nsSVGViewBoxRect* from = static_cast<const nsSVGViewBoxRect*>(aFrom.mU.mPtr);
const nsSVGViewBoxRect* to = static_cast<const nsSVGViewBoxRect*>(aTo.mU.mPtr);
if (from->none || to->none) {
return NS_ERROR_FAILURE;
}
// We use the distances between the edges rather than the difference between
// the x, y, width and height for the "distance". This is necessary in
// order for the "distance" result that we calculate to be the same for a
@ -111,9 +114,14 @@ SVGViewBoxSMILType::Interpolate(const nsSMILValue& aStartVal,
NS_PRECONDITION(aStartVal.mType == this,
"Unexpected types for interpolation");
NS_PRECONDITION(aResult.mType == this, "Unexpected result type");
const nsSVGViewBoxRect* start = static_cast<const nsSVGViewBoxRect*>(aStartVal.mU.mPtr);
const nsSVGViewBoxRect* end = static_cast<const nsSVGViewBoxRect*>(aEndVal.mU.mPtr);
if (start->none || end->none) {
return NS_ERROR_FAILURE;
}
nsSVGViewBoxRect* current = static_cast<nsSVGViewBoxRect*>(aResult.mU.mPtr);
float x = (start->x + (end->x - start->x) * aUnitDistance);

View File

@ -25,10 +25,12 @@ nsSVGViewBoxRect::operator==(const nsSVGViewBoxRect& aOther) const
if (&aOther == this)
return true;
return x == aOther.x &&
y == aOther.y &&
width == aOther.width &&
height == aOther.height;
return (none && aOther.none) ||
(!none && !aOther.none &&
x == aOther.x &&
y == aOther.y &&
width == aOther.width &&
height == aOther.height);
}
/* Cycle collection macros for nsSVGViewBox */
@ -79,24 +81,22 @@ static nsSVGAttrTearoffTable<nsSVGViewBox, nsSVGViewBox::DOMAnimVal>
void
nsSVGViewBox::Init()
{
mBaseVal = nsSVGViewBoxRect();
mAnimVal = nullptr;
mHasBaseVal = false;
mAnimVal = nullptr;
}
void
nsSVGViewBox::SetAnimValue(float aX, float aY, float aWidth, float aHeight,
nsSVGViewBox::SetAnimValue(const nsSVGViewBoxRect& aRect,
nsSVGElement *aSVGElement)
{
if (!mAnimVal) {
// it's okay if allocation fails - and no point in reporting that
mAnimVal = new nsSVGViewBoxRect(aX, aY, aWidth, aHeight);
mAnimVal = new nsSVGViewBoxRect(aRect);
} else {
nsSVGViewBoxRect rect(aX, aY, aWidth, aHeight);
if (rect == *mAnimVal) {
if (aRect == *mAnimVal) {
return;
}
*mAnimVal = rect;
*mAnimVal = aRect;
}
aSVGElement->DidAnimateViewBox();
}
@ -105,7 +105,12 @@ void
nsSVGViewBox::SetBaseValue(const nsSVGViewBoxRect& aRect,
nsSVGElement *aSVGElement)
{
if (mHasBaseVal && mBaseVal == aRect) {
if (!mHasBaseVal || mBaseVal == aRect) {
// This method is used to set a single x, y, width
// or height value. It can't create a base value
// as the other components may be undefined. We record
// the new value though, so as not to lose data.
mBaseVal = aRect;
return;
}
@ -123,6 +128,11 @@ nsSVGViewBox::SetBaseValue(const nsSVGViewBoxRect& aRect,
static nsresult
ToSVGViewBoxRect(const nsAString& aStr, nsSVGViewBoxRect *aViewBox)
{
if (aStr.EqualsLiteral("none")) {
aViewBox->none = true;
return NS_OK;
}
nsCharSeparatedTokenizerTemplate<IsSVGWhitespace>
tokenizer(aStr, ',',
nsCharSeparatedTokenizer::SEPARATOR_OPTIONAL);
@ -152,6 +162,7 @@ ToSVGViewBoxRect(const nsAString& aStr, nsSVGViewBoxRect *aViewBox)
aViewBox->y = vals[1];
aViewBox->width = vals[2];
aViewBox->height = vals[3];
aViewBox->none = false;
return NS_OK;
}
@ -162,28 +173,38 @@ nsSVGViewBox::SetBaseValueString(const nsAString& aValue,
bool aDoSetAttr)
{
nsSVGViewBoxRect viewBox;
nsresult res = ToSVGViewBoxRect(aValue, &viewBox);
if (NS_SUCCEEDED(res)) {
nsAttrValue emptyOrOldValue;
if (aDoSetAttr) {
emptyOrOldValue = aSVGElement->WillChangeViewBox();
}
mBaseVal = nsSVGViewBoxRect(viewBox.x, viewBox.y, viewBox.width, viewBox.height);
mHasBaseVal = true;
if (aDoSetAttr) {
aSVGElement->DidChangeViewBox(emptyOrOldValue);
}
if (mAnimVal) {
aSVGElement->AnimationNeedsResample();
}
nsresult rv = ToSVGViewBoxRect(aValue, &viewBox);
if (NS_FAILED(rv)) {
return rv;
}
return res;
if (viewBox == mBaseVal) {
return NS_OK;
}
nsAttrValue emptyOrOldValue;
if (aDoSetAttr) {
emptyOrOldValue = aSVGElement->WillChangeViewBox();
}
mHasBaseVal = true;
mBaseVal = viewBox;
if (aDoSetAttr) {
aSVGElement->DidChangeViewBox(emptyOrOldValue);
}
if (mAnimVal) {
aSVGElement->AnimationNeedsResample();
}
return NS_OK;
}
void
nsSVGViewBox::GetBaseValueString(nsAString& aValue) const
{
if (mBaseVal.none) {
aValue.AssignLiteral("none");
return;
}
PRUnichar buf[200];
nsTextFormatter::snprintf(buf, sizeof(buf)/sizeof(PRUnichar),
NS_LITERAL_STRING("%g %g %g %g").get(),
@ -215,6 +236,10 @@ nsSVGViewBox::DOMAnimatedRect::~DOMAnimatedRect()
nsresult
nsSVGViewBox::ToDOMBaseVal(nsIDOMSVGRect **aResult, nsSVGElement *aSVGElement)
{
if (!mHasBaseVal || mBaseVal.none) {
*aResult = nullptr;
return NS_OK;
}
nsRefPtr<DOMBaseVal> domBaseVal =
sBaseSVGViewBoxTearoffTable.GetTearoff(this);
if (!domBaseVal) {
@ -234,6 +259,11 @@ nsSVGViewBox::DOMBaseVal::~DOMBaseVal()
nsresult
nsSVGViewBox::ToDOMAnimVal(nsIDOMSVGRect **aResult, nsSVGElement *aSVGElement)
{
if ((mAnimVal && mAnimVal->none) ||
(!mAnimVal && (!mHasBaseVal || mBaseVal.none))) {
*aResult = nullptr;
return NS_OK;
}
nsRefPtr<DOMAnimVal> domAnimVal =
sAnimSVGViewBoxTearoffTable.GetTearoff(this);
if (!domAnimVal) {
@ -255,8 +285,7 @@ nsSVGViewBox::DOMBaseVal::SetX(float aX)
{
nsSVGViewBoxRect rect = mVal->GetBaseValue();
rect.x = aX;
mVal->SetBaseValue(rect.x, rect.y, rect.width, rect.height,
mSVGElement);
mVal->SetBaseValue(rect, mSVGElement);
return NS_OK;
}
@ -265,8 +294,7 @@ nsSVGViewBox::DOMBaseVal::SetY(float aY)
{
nsSVGViewBoxRect rect = mVal->GetBaseValue();
rect.y = aY;
mVal->SetBaseValue(rect.x, rect.y, rect.width, rect.height,
mSVGElement);
mVal->SetBaseValue(rect, mSVGElement);
return NS_OK;
}
@ -275,8 +303,7 @@ nsSVGViewBox::DOMBaseVal::SetWidth(float aWidth)
{
nsSVGViewBoxRect rect = mVal->GetBaseValue();
rect.width = aWidth;
mVal->SetBaseValue(rect.x, rect.y, rect.width, rect.height,
mSVGElement);
mVal->SetBaseValue(rect, mSVGElement);
return NS_OK;
}
@ -285,8 +312,7 @@ nsSVGViewBox::DOMBaseVal::SetHeight(float aHeight)
{
nsSVGViewBoxRect rect = mVal->GetBaseValue();
rect.height = aHeight;
mVal->SetBaseValue(rect.x, rect.y, rect.width, rect.height,
mSVGElement);
mVal->SetBaseValue(rect, mSVGElement);
return NS_OK;
}
@ -340,7 +366,7 @@ nsSVGViewBox::SMILViewBox::SetAnimValue(const nsSMILValue& aValue)
"Unexpected type to assign animated value");
if (aValue.mType == &SVGViewBoxSMILType::sSingleton) {
nsSVGViewBoxRect &vb = *static_cast<nsSVGViewBoxRect*>(aValue.mU.mPtr);
mVal->SetAnimValue(vb.x, vb.y, vb.width, vb.height, mSVGElement);
mVal->SetAnimValue(vb, mSVGElement);
}
return NS_OK;
}

View File

@ -22,12 +22,13 @@ struct nsSVGViewBoxRect
{
float x, y;
float width, height;
bool none;
nsSVGViewBoxRect() : x(0), y(0), width(0), height(0) {}
nsSVGViewBoxRect() : none(true) {}
nsSVGViewBoxRect(float aX, float aY, float aWidth, float aHeight) :
x(aX), y(aY), width(aWidth), height(aHeight) {}
x(aX), y(aY), width(aWidth), height(aHeight), none(false) {}
nsSVGViewBoxRect(const nsSVGViewBoxRect& rhs) :
x(rhs.x), y(rhs.y), width(rhs.width), height(rhs.height) {}
x(rhs.x), y(rhs.y), width(rhs.width), height(rhs.height), none(rhs.none) {}
bool operator==(const nsSVGViewBoxRect& aOther) const;
};
@ -48,19 +49,24 @@ public:
* positive, so callers must check whether the viewBox rect is valid where
* necessary!
*/
bool HasRect() const
{ return (mAnimVal && !mAnimVal->none) ||
(!mAnimVal && mHasBaseVal && !mBaseVal.none); }
/**
* Returns true if the corresponding "viewBox" attribute either defined a
* rectangle with finite values or the special "none" value.
*/
bool IsExplicitlySet() const
{ return (mHasBaseVal || mAnimVal); }
{ return mAnimVal || mHasBaseVal; }
const nsSVGViewBoxRect& GetBaseValue() const
{ return mBaseVal; }
void SetBaseValue(const nsSVGViewBoxRect& aRect,
nsSVGElement *aSVGElement);
void SetBaseValue(float aX, float aY, float aWidth, float aHeight,
nsSVGElement *aSVGElement)
{ SetBaseValue(nsSVGViewBoxRect(aX, aY, aWidth, aHeight), aSVGElement); }
const nsSVGViewBoxRect& GetAnimValue() const
{ return mAnimVal ? *mAnimVal : mBaseVal; }
void SetAnimValue(float aX, float aY, float aWidth, float aHeight,
void SetAnimValue(const nsSVGViewBoxRect& aRect,
nsSVGElement *aSVGElement);
nsresult SetBaseValueString(const nsAString& aValue,

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