[-]
[+]
|
Changed |
mozilla-xulrunner181.changes
|
|
[-]
[+]
|
Changed |
mozilla-xulrunner181.spec
^
|
|
[-]
[+]
|
Deleted |
mozilla-xulrunner181-milestone.patch
^
|
@@ -1,8 +0,0 @@
---- config/milestone.txt.orig 2008-06-30 17:51:17.000000000 +0200
-+++ config/milestone.txt 2008-06-30 17:51:23.000000000 +0200
-@@ -10,5 +10,4 @@
- # hardcoded milestones in the tree from these two files.
- #--------------------------------------------------------
-
--1.8.1.13
- 1.8.1.14
|
[-]
[+]
|
Changed |
l10n-1.8.1.18.tar.bz2/bg/toolkit/chrome/global/intl.properties
^
|
@@ -22,7 +22,7 @@
intl.charsetmenu.browser.more4=armscii-8, GEOSTD8, TIS-620, ISO-8859-11, windows-874, IBM857, ISO-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, VISCII, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
intl.charsetmenu.browser.more5=ISO-8859-6, windows-1256, IBM864, x-mac-arabic, x-mac-farsi, ISO-8859-8-I, windows-1255, ISO-8859-8, IBM862, x-mac-hebrew
# Localization Note: Never change the following entry.
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default=windows-1251
intl.charset.detector=
intl.charsetmenu.mailedit=ISO-8859-1, ISO-8859-15, ISO-8859-6, armscii-8, geostd8, ISO-8859-13, ISO-8859-14, ISO-8859-2, GB2312, GB18030, Big5, KOI8-R, windows-1251, KOI8-U, ISO-8859-7, ISO-8859-8-I, windows-1255, ISO-2022-JP, EUC-KR, ISO-8859-10, ISO-8859-3, TIS-620, ISO-8859-9, UTF-8, VISCII
|
[-]
[+]
|
Changed |
l10n-1.8.1.18.tar.bz2/ca/toolkit/chrome/global/intl.properties
^
|
@@ -22,7 +22,7 @@
intl.charsetmenu.browser.more4=armscii-8, GEOSTD8, TIS-620, ISO-8859-11, windows-874, IBM857, ISO-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, VISCII, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
intl.charsetmenu.browser.more5=ISO-8859-6, windows-1256, IBM864, x-mac-arabic, x-mac-farsi, ISO-8859-8-I, windows-1255, ISO-8859-8, IBM862, x-mac-hebrew
# Localization Note: Never change the following entry.
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default=ISO-8859-1
intl.charset.detector=
intl.charsetmenu.mailedit=ISO-8859-1, ISO-8859-15, ISO-8859-6, armscii-8, geostd8, ISO-8859-13, ISO-8859-14, ISO-8859-2, GB2312, GB18030, Big5, KOI8-R, windows-1251, KOI8-U, ISO-8859-7, ISO-8859-8-I, windows-1255, ISO-2022-JP, EUC-KR, ISO-8859-10, ISO-8859-3, TIS-620, ISO-8859-9, UTF-8, VISCII
|
[-]
[+]
|
Changed |
l10n-1.8.1.18.tar.bz2/cs/toolkit/chrome/global/intl.properties
^
|
@@ -22,7 +22,7 @@
intl.charsetmenu.browser.more4=armscii-8, geostd8, tis-620, iso-8859-11, windows-874, ibm857, iso-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, viscii, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
intl.charsetmenu.browser.more5=iso-8859-6, windows-1256, ibm864, x-mac-arabic, x-mac-farsi, iso-8859-8-i, windows-1255, iso-8859-8, ibm862, x-mac-hebrew
# Localization Note: Never change the following entry.
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default=ISO-8859-2
intl.charset.detector=
intl.charsetmenu.mailedit=ISO-8859-2, ISO-8859-1, ISO-8859-15, ISO-8859-6, armscii-8, geostd8, ISO-8859-13, ISO-8859-14, GB2312, GB18030, Big5, KOI8-R, windows-1251, KOI8-U, ISO-8859-7, ISO-8859-8-I, ISO-2022-JP, EUC-KR, ISO-8859-10, ISO-8859-3, TIS-620, ISO-8859-9, UTF-8, VISCII
|
[-]
[+]
|
Changed |
l10n-1.8.1.18.tar.bz2/da/toolkit/chrome/global/intl.properties
^
|
@@ -22,7 +22,7 @@
intl.charsetmenu.browser.more4=armscii-8, GEOSTD8, TIS-620, ISO-8859-11, windows-874, IBM857, ISO-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, VISCII, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
intl.charsetmenu.browser.more5=ISO-8859-6, windows-1256, IBM864, x-mac-arabic, x-mac-farsi, ISO-8859-8-I, windows-1255, ISO-8859-8, IBM862, x-mac-hebrew
# Localization Note: Never change the following entry.
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default=ISO-8859-1
intl.charset.detector=
intl.charsetmenu.mailedit=ISO-8859-1, ISO-8859-15, ISO-8859-6, armscii-8, geostd8, ISO-8859-13, ISO-8859-14, ISO-8859-2, GB2312, GB18030, Big5, KOI8-R, windows-1251, KOI8-U, ISO-8859-7, ISO-8859-8-I, ISO-2022-JP, EUC-KR, ISO-8859-10, ISO-8859-3, TIS-620, ISO-8859-9, UTF-8, VISCII
|
[-]
[+]
|
Changed |
l10n-1.8.1.18.tar.bz2/de/toolkit/chrome/global/intl.properties
^
|
@@ -13,4 +13,4 @@
intl.charsetmenu.browser.static=ISO-8859-1, ISO-8859-15, UTF-8
intl.charsetmenu.browser.more1=ISO-8859-1, ISO-8859-15, IBM850, x-mac-roman, windows-1252, ISO-8859-14, ISO-8859-7, x-mac-greek, windows-1253, x-mac-icelandic, ISO-8859-10, ISO-8859-3
intl.collationOption=
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
|
[-]
[+]
|
Changed |
l10n-1.8.1.18.tar.bz2/el/toolkit/chrome/global/intl.properties
^
|
@@ -22,7 +22,7 @@
intl.charsetmenu.browser.more4=armscii-8, GEOSTD8, TIS-620, ISO-8859-11, windows-874, IBM857, ISO-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, VISCII, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
intl.charsetmenu.browser.more5=ISO-8859-6, windows-1256, IBM864, x-mac-arabic, x-mac-farsi, ISO-8859-8-I, windows-1255, ISO-8859-8, IBM862, x-mac-hebrew
# Localization Note: Never change the following entry.
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default=ISO-8859-1
intl.charset.detector=
intl.charsetmenu.mailedit=ISO-8859-1, ISO-8859-15, ISO-8859-6, armscii-8, geostd8, ISO-8859-13, ISO-8859-14, ISO-8859-2, GB2312, GB18030, Big5, KOI8-R, windows-1251, KOI8-U, ISO-8859-7, ISO-8859-8-I, windows-1255, ISO-2022-JP, EUC-KR, ISO-8859-10, ISO-8859-3, TIS-620, ISO-8859-9, UTF-8, VISCII
|
[-]
[+]
|
Changed |
l10n-1.8.1.18.tar.bz2/en-GB/toolkit/chrome/global/intl.properties
^
|
@@ -22,7 +22,7 @@
intl.charsetmenu.browser.more4=armscii-8, GEOSTD8, TIS-620, ISO-8859-11, windows-874, IBM857, ISO-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, VISCII, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
intl.charsetmenu.browser.more5=ISO-8859-6, windows-1256, IBM864, x-mac-arabic, x-mac-farsi, ISO-8859-8-I, windows-1255, ISO-8859-8, IBM862, x-mac-hebrew
# Localization Note: Never change the following entry.
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default=ISO-8859-1
intl.charset.detector=
intl.charsetmenu.mailedit=ISO-8859-1, ISO-8859-15, ISO-8859-6, armscii-8, geostd8, ISO-8859-13, ISO-8859-14, ISO-8859-2, GB2312, GB18030, Big5, KOI8-R, windows-1251, KOI8-U, ISO-8859-7, ISO-8859-8-I, windows-1255, ISO-2022-JP, EUC-KR, ISO-8859-10, ISO-8859-3, TIS-620, ISO-8859-9, UTF-8, VISCII
|
[-]
[+]
|
Changed |
l10n-1.8.1.18.tar.bz2/es-AR/toolkit/chrome/global/intl.properties
^
|
@@ -15,7 +15,7 @@
intl.charsetmenu.browser.more4=armscii-8, GEOSTD8, TIS-620, ISO-8859-11, windows-874, IBM857, ISO-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, VISCII, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
intl.charsetmenu.browser.more5=ISO-8859-6, windows-1256, IBM864, x-mac-arabic, x-mac-farsi, ISO-8859-8-I, windows-1255, ISO-8859-8, IBM862, x-mac-hebrew
# Localization Note: Never change the following entry.
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default=ISO-8859-1
intl.charset.detector=
|
[-]
[+]
|
Changed |
l10n-1.8.1.18.tar.bz2/es-ES/toolkit/chrome/global/intl.properties
^
|
@@ -7,7 +7,7 @@
intl.charsetmenu.browser.more3 = GB2312, x-gbk, gb18030, HZ-GB-2312, ISO-2022-CN, Big5, Big5-HKSCS, x-euc-tw, EUC-JP, ISO-2022-JP, Shift_JIS, EUC-KR, x-windows-949, x-johab, ISO-2022-KR
intl.charsetmenu.browser.more4 = armscii-8, GEOSTD8, TIS-620, ISO-8859-11, windows-874, IBM857, ISO-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, VISCII, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
intl.charsetmenu.browser.more5 = ISO-8859-6, windows-1256, IBM864, x-mac-arabic, x-mac-farsi, ISO-8859-8-I, windows-1255, ISO-8859-8, IBM862, x-mac-hebrew
-intl.charsetmenu.browser.unicode = UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode = UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default = ISO-8859-1
intl.charset.detector =
intl.charsetmenu.mailedit = ISO-8859-1, ISO-8859-15, ISO-8859-6, armscii-8, geostd8, ISO-8859-13, ISO-8859-14, ISO-8859-2, GB2312, GB18030, Big5, KOI8-R, windows-1251, KOI8-U, ISO-8859-7, ISO-8859-8-I, windows-1255, ISO-2022-JP, EUC-KR, ISO-8859-10, ISO-8859-3, TIS-620, ISO-8859-9, UTF-8, VISCII
|
[-]
[+]
|
Changed |
l10n-1.8.1.18.tar.bz2/fi/toolkit/chrome/global/intl.properties
^
|
@@ -22,7 +22,7 @@
intl.charsetmenu.browser.more4=armscii-8, GEOSTD8, TIS-620, ISO-8859-11, windows-874, IBM857, ISO-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, VISCII, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
intl.charsetmenu.browser.more5=ISO-8859-6, windows-1256, IBM864, x-mac-arabic, x-mac-farsi, ISO-8859-8-I, windows-1255, ISO-8859-8, IBM862, x-mac-hebrew
# Localization Note: Never change the following entry.
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default=ISO-8859-1
intl.charset.detector=
intl.charsetmenu.mailedit=ISO-8859-1, ISO-8859-15, ISO-8859-6, armscii-8, geostd8, ISO-8859-13, ISO-8859-14, ISO-8859-2, GB2312, GB18030, Big5, KOI8-R, windows-1251, KOI8-U, ISO-8859-7, ISO-8859-8-I, windows-1255, ISO-2022-JP, EUC-KR, ISO-8859-10, ISO-8859-3, TIS-620, ISO-8859-9, UTF-8, VISCII
|
[-]
[+]
|
Changed |
l10n-1.8.1.18.tar.bz2/fr/toolkit/chrome/global/intl.properties
^
|
@@ -15,7 +15,7 @@
intl.charsetmenu.browser.more4=armscii-8, GEOSTD8, TIS-620, ISO-8859-11, windows-874, IBM857, ISO-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, VISCII, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
intl.charsetmenu.browser.more5=ISO-8859-6, windows-1256, IBM864, x-mac-arabic, x-mac-farsi, ISO-8859-8-I, windows-1255, ISO-8859-8, IBM862, x-mac-hebrew
# Localization Note: Never change the following entry.
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default=ISO-8859-1
intl.charset.detector=
intl.charsetmenu.mailedit=ISO-8859-1, ISO-8859-15, ISO-8859-6, armscii-8, geostd8, ISO-8859-13, ISO-8859-14, ISO-8859-2, GB2312, GB18030, Big5, KOI8-R, windows-1251, KOI8-U, ISO-8859-7, ISO-8859-8-I, windows-1255, ISO-2022-JP, EUC-KR, ISO-8859-10, ISO-8859-3, TIS-620, ISO-8859-9, UTF-8, VISCII
|
[-]
[+]
|
Changed |
l10n-1.8.1.18.tar.bz2/fr/toolkit/chrome/global/textcontext.dtd
^
|
@@ -10,7 +10,7 @@
<!ENTITY selectAllCmd.accesskey "t">
<!ENTITY deleteCmd.label "Supprimer">
<!ENTITY deleteCmd.accesskey "s">
-<!ENTITY spellAddToDictionary.label "Ajouter un dictionnaire">
+<!ENTITY spellAddToDictionary.label "Ajouter au dictionnaire">
<!ENTITY spellAddToDictionary.accesskey "A">
<!ENTITY spellEnable.label "Vérifier l'orthographe de ce champ">
<!ENTITY spellEnable.accesskey "V">
|
[-]
[+]
|
Changed |
l10n-1.8.1.18.tar.bz2/fy-NL/toolkit/chrome/global/intl.properties
^
|
@@ -22,7 +22,7 @@
intl.charsetmenu.browser.more4=armscii-8, geostd8, tis-620, iso-8859-11, windows-874, ibm857, iso-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, viscii, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
intl.charsetmenu.browser.more5=iso-8859-6, windows-1256, ibm864, x-mac-arabic, x-mac-farsi, iso-8859-8-i, windows-1255, iso-8859-8, ibm862, x-mac-hebrew
# Localization Note: Never change the following entry.
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default=ISO-8859-1
intl.charset.detector=
intl.charsetmenu.mailedit=ISO-8859-1, ISO-8859-15, ISO-8859-6, armscii-8, geostd8, ISO-8859-13, ISO-8859-14, ISO-8859-2, GB2312, GB18030, Big5, KOI8-R, windows-1251, KOI8-U, ISO-8859-7, ISO-8859-8-I, ISO-2022-JP, EUC-KR, ISO-8859-10, ISO-8859-3, TIS-620, ISO-8859-9, UTF-8, VISCII
|
[-]
[+]
|
Changed |
l10n-1.8.1.18.tar.bz2/ga-IE/toolkit/chrome/global/intl.properties
^
|
@@ -22,7 +22,7 @@
intl.charsetmenu.browser.more4=armscii-8, GEOSTD8, TIS-620, ISO-8859-11, windows-874, IBM857, ISO-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, VISCII, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
intl.charsetmenu.browser.more5=ISO-8859-6, windows-1256, IBM864, x-mac-arabic, x-mac-farsi, ISO-8859-8-I, windows-1255, ISO-8859-8, IBM862, x-mac-hebrew
# Localization Note: Never change the following entry.
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default=ISO-8859-1
intl.charset.detector=
intl.charsetmenu.mailedit=ISO-8859-1, ISO-8859-15, ISO-8859-6, armscii-8, geostd8, ISO-8859-13, ISO-8859-14, ISO-8859-2, GB2312, GB18030, Big5, KOI8-R, windows-1251, KOI8-U, ISO-8859-7, ISO-8859-8-I, windows-1255, ISO-2022-JP, EUC-KR, ISO-8859-10, ISO-8859-3, TIS-620, ISO-8859-9, UTF-8, VISCII
|
[-]
[+]
|
Changed |
l10n-1.8.1.18.tar.bz2/hu/toolkit/chrome/global/intl.properties
^
|
@@ -22,7 +22,7 @@
intl.charsetmenu.browser.more4=armscii-8, GEOSTD8, TIS-620, ISO-8859-11, windows-874, IBM857, ISO-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, VISCII, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
intl.charsetmenu.browser.more5=ISO-8859-6, windows-1256, IBM864, x-mac-arabic, x-mac-farsi, ISO-8859-8-I, windows-1255, ISO-8859-8, IBM862, x-mac-hebrew
# Localization Note: Never change the following entry.
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default=ISO-8859-2
intl.charset.detector=
intl.charsetmenu.mailedit=ISO-8859-1, ISO-8859-15, ISO-8859-6, armscii-8, geostd8, ISO-8859-13, ISO-8859-14, ISO-8859-2, GB2312, GB18030, Big5, KOI8-R, windows-1251, KOI8-U, ISO-8859-7, ISO-8859-8-I, ISO-2022-JP, EUC-KR, ISO-8859-10, ISO-8859-3, TIS-620, ISO-8859-9, UTF-8, VISCII
|
[-]
[+]
|
Changed |
l10n-1.8.1.18.tar.bz2/it/toolkit/chrome/global/intl.properties
^
|
@@ -7,7 +7,7 @@
intl.charsetmenu.browser.more3 = GB2312, x-gbk, gb18030, HZ-GB-2312, ISO-2022-CN, Big5, Big5-HKSCS, x-euc-tw, EUC-JP, ISO-2022-JP, Shift_JIS, EUC-KR, x-windows-949, x-johab, ISO-2022-KR
intl.charsetmenu.browser.more4 = armscii-8, GEOSTD8, TIS-620, ISO-8859-11, windows-874, IBM857, ISO-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, VISCII, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
intl.charsetmenu.browser.more5 = ISO-8859-6, windows-1256, IBM864, x-mac-arabic, x-mac-farsi, ISO-8859-8-I, windows-1255, ISO-8859-8, IBM862, x-mac-hebrew
-intl.charsetmenu.browser.unicode = UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode = UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default = ISO-8859-1
intl.charset.detector =
intl.charsetmenu.mailedit = ISO-8859-1, ISO-8859-15, ISO-8859-6, armscii-8, geostd8, ISO-8859-13, ISO-8859-14, ISO-8859-2, GB2312, GB18030, Big5, KOI8-R, windows-1251, KOI8-U, ISO-8859-7, ISO-8859-8-I, windows-1255, ISO-2022-JP, EUC-KR, ISO-8859-10, ISO-8859-3, TIS-620, ISO-8859-9, UTF-8, VISCII
|
[-]
[+]
|
Changed |
l10n-1.8.1.18.tar.bz2/ja/toolkit/chrome/global/intl.properties
^
|
@@ -22,7 +22,7 @@
intl.charsetmenu.browser.more4 = armscii-8, GEOSTD8, TIS-620, ISO-8859-11, windows-874, IBM857, ISO-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, VISCII, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
intl.charsetmenu.browser.more5 = ISO-8859-6, windows-1256, IBM864, x-mac-arabic, x-mac-farsi, ISO-8859-8-I, windows-1255, ISO-8859-8, IBM862, x-mac-hebrew
# Localization Note: Never change the following entry.
-intl.charsetmenu.browser.unicode = UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode = UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default = Shift_JIS
intl.charset.detector = ja_parallel_state_machine
intl.charsetmenu.mailedit = ISO-8859-1, ISO-8859-15, ISO-8859-6, armscii-8, geostd8, ISO-8859-13, ISO-8859-14, ISO-8859-2, GB2312, GB18030, Big5, KOI8-R, windows-1251, KOI8-U, ISO-8859-7, ISO-8859-8-I, windows-1255, ISO-2022-JP, EUC-KR, ISO-8859-10, ISO-8859-3, TIS-620, ISO-8859-9, UTF-8, VISCII
|
[-]
[+]
|
Changed |
l10n-1.8.1.18.tar.bz2/lt/toolkit/chrome/global/intl.properties
^
|
@@ -22,7 +22,7 @@
intl.charsetmenu.browser.more4=armscii-8, geostd8, tis-620, iso-8859-11, windows-874, ibm857, iso-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, viscii, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
intl.charsetmenu.browser.more5=iso-8859-6, windows-1256, ibm864, x-mac-arabic, x-mac-farsi, iso-8859-8-i, windows-1255, iso-8859-8, ibm862, x-mac-hebrew
# Localization Note: Never change the following entry.
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default=windows-1257
intl.charset.detector=
intl.charsetmenu.mailedit=windows-1257, ISO-8859-13, ISO-8859-1, ISO-8859-15, ISO-8859-6, armscii-8, geostd8, ISO-8859-14, ISO-8859-2, GB2312, Big5, KOI8-R, windows-1251, KOI8-U, ISO-8859-7, ISO-8859-8-I, windows-1255, ISO-2022-JP, EUC-KR, ISO-8859-10, ISO-8859-3, TIS-620, ISO-8859-9, UTF-8, VISCII
|
[-]
[+]
|
Changed |
l10n-1.8.1.18.tar.bz2/mn/toolkit/chrome/global/intl.properties
^
|
@@ -15,7 +15,7 @@
intl.charsetmenu.browser.more1=iso-8859-1, iso-8859-15, ibm850, x-mac-roman, windows-1252, iso-8859-14, iso-8859-7, x-mac-greek, windows-1253, x-mac-icelandic, iso-8859-10, iso-8859-3
intl.collationOption=
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
# valid intl.menuitems.insertseparatorbeforeaccesskeys are: true or false, <empty string> (missing or empty preference equals false)
intl.menuitems.insertseparatorbeforeaccesskeys=true
|
[-]
[+]
|
Changed |
l10n-1.8.1.18.tar.bz2/nb-NO/toolkit/chrome/global/intl.properties
^
|
@@ -22,7 +22,7 @@
intl.charsetmenu.browser.more4=armscii-8, GEOSTD8, TIS-620, ISO-8859-11, windows-874, IBM857, ISO-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, VISCII, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
intl.charsetmenu.browser.more5=ISO-8859-6, windows-1256, IBM864, x-mac-arabic, x-mac-farsi, ISO-8859-8-I, windows-1255, ISO-8859-8, IBM862, x-mac-hebrew
# Localization Note: Never change the following entry.
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default=ISO-8859-1
intl.charset.detector=
intl.charsetmenu.mailedit=ISO-8859-1, ISO-8859-15, ISO-8859-6, armscii-8, geostd8, ISO-8859-13, ISO-8859-14, ISO-8859-2, GB2312, GB18030, Big5, KOI8-R, windows-1251, KOI8-U, ISO-8859-7, ISO-8859-8-I, windows-1255, ISO-2022-JP, EUC-KR, ISO-8859-10, ISO-8859-3, TIS-620, ISO-8859-9, UTF-8, VISCII
|
[-]
[+]
|
Changed |
l10n-1.8.1.18.tar.bz2/nl/toolkit/chrome/global/intl.properties
^
|
@@ -22,7 +22,7 @@
intl.charsetmenu.browser.more4=armscii-8, geostd8, tis-620, iso-8859-11, windows-874, ibm857, iso-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, viscii, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
intl.charsetmenu.browser.more5=iso-8859-6, windows-1256, ibm864, x-mac-arabic, x-mac-farsi, iso-8859-8-i, windows-1255, iso-8859-8, ibm862, x-mac-hebrew
# Localization Note: Never change the following entry.
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default=ISO-8859-1
intl.charset.detector=
intl.charsetmenu.mailedit=ISO-8859-1, ISO-8859-15, ISO-8859-6, armscii-8, geostd8, ISO-8859-13, ISO-8859-14, ISO-8859-2, GB2312, GB18030, Big5, KOI8-R, windows-1251, KOI8-U, ISO-8859-7, ISO-8859-8-I, windows-1255, ISO-2022-JP, EUC-KR, ISO-8859-10, ISO-8859-3, TIS-620, ISO-8859-9, UTF-8, VISCII
|
[-]
[+]
|
Changed |
l10n-1.8.1.18.tar.bz2/pl/toolkit/chrome/global/intl.properties
^
|
@@ -28,7 +28,7 @@
intl.charsetmenu.browser.more5=iso-8859-6, windows-1256, ibm864, x-mac-arabic, x-mac-farsi, iso-8859-8-i, windows-1255, iso-8859-8, ibm862, x-mac-hebrew
# Localization Note: Never change the following entry.
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default=ISO-8859-2
intl.charset.detector=
|
[-]
[+]
|
Changed |
l10n-1.8.1.18.tar.bz2/pt-BR/toolkit/chrome/global/intl.properties
^
|
@@ -22,7 +22,7 @@
intl.charsetmenu.browser.more4=armscii-8, GEOSTD8, TIS-620, ISO-8859-11, windows-874, IBM857, ISO-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, VISCII, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
intl.charsetmenu.browser.more5=ISO-8859-6, windows-1256, IBM864, x-mac-arabic, x-mac-farsi, ISO-8859-8-I, windows-1255, ISO-8859-8, IBM862, x-mac-hebrew
# Localization Note: Never change the following entry.
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default=ISO-8859-1
intl.charset.detector=
intl.charsetmenu.mailedit=ISO-8859-1, ISO-8859-15, ISO-8859-6, armscii-8, geostd8, ISO-8859-13, ISO-8859-14, ISO-8859-2, GB2312, GB18030, Big5, KOI8-R, windows-1251, KOI8-U, ISO-8859-7, ISO-8859-8-I, windows-1255, ISO-2022-JP, EUC-KR, ISO-8859-10, ISO-8859-3, TIS-620, ISO-8859-9, UTF-8, VISCII
|
[-]
[+]
|
Changed |
l10n-1.8.1.18.tar.bz2/ro/toolkit/chrome/global/intl.properties
^
|
@@ -22,7 +22,7 @@
intl.charsetmenu.browser.more4=armscii-8, GEOSTD8, TIS-620, ISO-8859-11, windows-874, IBM857, ISO-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, VISCII, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
intl.charsetmenu.browser.more5=ISO-8859-6, windows-1256, IBM864, x-mac-arabic, x-mac-farsi, ISO-8859-8-I, windows-1255, ISO-8859-8, IBM862, x-mac-hebrew
# Localization Note: Never change the following entry.
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default=UTF-8
intl.charset.detector=
intl.charsetmenu.mailedit=ISO-8859-1, ISO-8859-15, ISO-8859-6, armscii-8, geostd8, ISO-8859-13, ISO-8859-14, ISO-8859-2, GB2312, GB18030, Big5, KOI8-R, windows-1251, KOI8-U, ISO-8859-7, ISO-8859-8-I, windows-1255, ISO-2022-JP, EUC-KR, ISO-8859-10, ISO-8859-3, TIS-620, ISO-8859-9, UTF-8, VISCII
|
[-]
[+]
|
Changed |
l10n-1.8.1.18.tar.bz2/ru/toolkit/chrome/global/intl.properties
^
|
@@ -15,4 +15,4 @@
intl.charsetmenu.browser.static=windows-1251, KOI8-R, UTF-8
intl.charsetmenu.browser.more1=ISO-8859-1, ISO-8859-15, IBM850, x-mac-roman, windows-1252, ISO-8859-14, ISO-8859-7, x-mac-greek, windows-1253, x-mac-icelandic, ISO-8859-10, ISO-8859-3
intl.collationOption=
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
|
[-]
[+]
|
Changed |
l10n-1.8.1.18.tar.bz2/sk/toolkit/chrome/global/intl.properties
^
|
@@ -22,7 +22,7 @@
intl.charsetmenu.browser.more4=armscii-8, geostd8, tis-620, iso-8859-11, windows-874, ibm857, iso-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, viscii, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
intl.charsetmenu.browser.more5=iso-8859-6, windows-1256, ibm864, x-mac-arabic, x-mac-farsi, iso-8859-8-i, windows-1255, iso-8859-8, ibm862, x-mac-hebrew
# Localization Note: Never change the following entry.
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default=win-1250
intl.charset.detector=
|
[-]
[+]
|
Changed |
l10n-1.8.1.18.tar.bz2/sl/toolkit/chrome/global/intl.properties
^
|
@@ -15,7 +15,7 @@
intl.charsetmenu.browser.more4=armscii-8, GEOSTD8, TIS-620, ISO-8859-11, windows-874, IBM857, ISO-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, VISCII, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
intl.charsetmenu.browser.more5=ISO-8859-6, windows-1256, IBM864, x-mac-arabic, x-mac-farsi, ISO-8859-8-I, windows-1255, ISO-8859-8, IBM862, x-mac-hebrew
# Localization Note: Never change the following entry.
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default=ISO-8859-2
intl.charset.detector=
intl.charsetmenu.mailedit=ISO-8859-2, ISO-8859-1, ISO-8859-15, ISO-8859-6, armscii-8, geostd8, ISO-8859-13, ISO-8859-14, GB2312, GB18030, Big5, KOI8-R, windows-1251, KOI8-U, ISO-8859-7, ISO-8859-8-I, ISO-2022-JP, EUC-KR, ISO-8859-10, ISO-8859-3, TIS-620, ISO-8859-9, UTF-8, VISCII
|
[-]
[+]
|
Changed |
l10n-1.8.1.18.tar.bz2/sv-SE/toolkit/chrome/global/intl.properties
^
|
@@ -51,7 +51,7 @@
intl.charsetmenu.browser.more4=armscii-8, GEOSTD8, TIS-620, ISO-8859-11, windows-874, IBM857, ISO-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, VISCII, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
intl.charsetmenu.browser.more5=ISO-8859-6, windows-1256, IBM864, x-mac-arabic, x-mac-farsi, ISO-8859-8-I, windows-1255, ISO-8859-8, IBM862, x-mac-hebrew
# Localization Note: Never change the following entry.
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default=ISO-8859-1
intl.charset.detector=universal_charset_detector
intl.charsetmenu.mailedit=ISO-8859-1, ISO-8859-15, ISO-8859-6, armscii-8, geostd8, ISO-8859-13, ISO-8859-14, ISO-8859-2, GB2312, GB18030, Big5, KOI8-R, windows-1251, KOI8-U, ISO-8859-7, ISO-8859-8-I, windows-1255, ISO-2022-JP, EUC-KR, ISO-8859-10, ISO-8859-3, TIS-620, ISO-8859-9, UTF-8, VISCII
|
[-]
[+]
|
Changed |
l10n-1.8.1.18.tar.bz2/tr/toolkit/chrome/global/intl.properties
^
|
@@ -14,7 +14,7 @@
intl.charsetmenu.browser.static=ISO-8859-9, UTF-8
intl.charsetmenu.browser.more1=ISO-8859-1, ISO-8859-15, IBM850, x-mac-roman, windows-1252, ISO-8859-14, ISO-8859-7, x-mac-greek, windows-1253, x-mac-icelandic, ISO-8859-10, ISO-8859-3
intl.collationOption=
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
# valid intl.menuitems.insertseparatorbeforeaccesskeys are: true or false, <empty string> (missing or empty preference equals false)
|
[-]
[+]
|
Changed |
l10n-1.8.1.18.tar.bz2/zh-CN/toolkit/chrome/global/intl.properties
^
|
@@ -15,4 +15,4 @@
intl.charsetmenu.browser.static=GB18030, UTF-8, ISO-8859-1
intl.charsetmenu.browser.more1=ISO-8859-1, ISO-8859-15, IBM850, x-mac-roman, windows-1252, ISO-8859-14, ISO-8859-7, x-mac-greek, windows-1253, x-mac-icelandic, ISO-8859-10, ISO-8859-3
intl.collationOption=
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
|
[-]
[+]
|
Changed |
l10n-1.8.1.18.tar.bz2/zh-TW/toolkit/chrome/global/intl.properties
^
|
@@ -8,7 +8,7 @@
intl.charsetmenu.browser.more3=Big5, GB2312, x-gbk, gb18030, HZ-GB-2312, ISO-2022-CN, Big5-HKSCS, x-euc-tw, EUC-JP, ISO-2022-JP, Shift_JIS, EUC-KR, x-windows-949, x-johab, ISO-2022-KR
intl.charsetmenu.browser.more4=armscii-8, GEOSTD8, TIS-620, ISO-8859-11, windows-874, IBM857, ISO-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, VISCII, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
intl.charsetmenu.browser.more5=ISO-8859-6, windows-1256, IBM864, x-mac-arabic, x-mac-farsi, ISO-8859-8-I, windows-1255, ISO-8859-8, IBM862, x-mac-hebrew
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default=Big5
intl.charset.detector=
intl.charsetmenu.mailedit=ISO-8859-1, ISO-8859-15, ISO-8859-6, armscii-8, geostd8, ISO-8859-13, ISO-8859-14, ISO-8859-2, Big5, GB2312, GB18030, KOI8-R, windows-1251, KOI8-U, ISO-8859-7, ISO-8859-8-I, windows-1255, ISO-2022-JP, EUC-KR, ISO-8859-10, ISO-8859-3, TIS-620, ISO-8859-9, UTF-8, VISCII
|
[-]
[+]
|
Deleted |
mozilla-xulrunner181-1.8.1.16-rpmlintrc
^
|
@@ -1 +0,0 @@
-addFilter("no-jar-manifest")
|
[-]
[+]
|
Added |
mozilla-xulrunner181-rpmlintrc
^
|
@@ -0,0 +1 @@
+addFilter("no-jar-manifest")
|
[-]
[+]
|
Deleted |
mozilla-xulrunner181.spec.old
^
|
@@ -1,391 +0,0 @@
-#
-# spec file for package mozilla-xulrunner181 (Version 1.8.1.14)
-#
-# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
-# This file and all modifications and additions to the pristine
-# package are under the same license as the package itself.
-#
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
-#
-
-# norootforbuild
-
-Name: mozilla-xulrunner181
-BuildRequires: gcc-c++ java-devel libgnomeui-devel libidl-devel update-desktop-files zip
-License: LGPL, MPL
-Version: 1.8.1.14
-Release: 1
-Summary: Mozilla Runtime Environment 1.8.1.x
-URL: http://www.mozilla.org/
-Group: Productivity/Other
-Provides: gecko181
-%if 0%{?suse_version} > 1010
-Obsoletes: mozilla-xulrunner
-# For upgrade from 10.2 betas:
-Obsoletes: mozilla-xulrunner180
-%endif
-%if 0%{?suse_version} == 1020
-%define ga_version 1.8.1b2
-Provides: mozilla-xulrunner181 = 1.8.0.99
-%endif
-%if 0%{?suse_version} == 1030
-%define ga_version 1.8.1.4
-Provides: mozilla-xulrunner181 = %{ga_version}
-%endif
-Source: xulrunner-source-%{version}.tar.bz2
-Source1: l10n-%{version}.tar.bz2
-Patch1: abuild.patch
-Patch2: nss-opt.patch
-Patch3: mozilla-gcc4.3-fixes.patch
-Patch4: idldir.patch
-Patch5: mozilla-path_len.patch
-Patch6: gcc-undefined-ops.patch
-Patch7: xulrunner-apilibdir.patch
-Patch8: nsIPermission.patch
-Patch9: rpath.patch
-Patch10: system-proxies.patch
-Patch11: mozilla-xulrunner181-milestone.patch
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
-PreReq: libstdc++ expat pango xorg-x11-libs fontconfig freetype2
-PreReq: gtk2 atk glib2 update-alternatives
-### build configuration ###
-%define has_system_cairo 0
-%define has_system_nspr 0
-%define has_system_nss 0
-%define pango 0
-%if 0%{?suse_version} > 930 || 0%{?opensuse_bs}
-%define has_system_cairo 1
-%define has_system_nspr 1
-%endif
-%if 0%{?is_plus} || 0%{?suse_version} >= 930
-%define pango 1
-%endif
-%if 0%{?suse_version} > 1010 || 0%{?opensuse_bs}
-# NSS version on 10.1 is too old
-%define has_system_nss 1
-%endif
-%define releasedate 2008041000
-%define apiversion 1.8.1
-%define uaweight 181140
-### configuration end ###
-%define my_provides %{_tmppath}/my-provides
-%define my_requires %{_tmppath}/my-requires
-%if %has_system_nspr
-BuildRequires: mozilla-nspr-devel
-PreReq: mozilla-nspr >= %( echo `rpm -q --queryformat '%{VERSION}' mozilla-nspr`)
-%endif
-%if %has_system_nss
-BuildRequires: mozilla-nss-devel
-PreReq: mozilla-nss
-%endif
-
-%description
-XULRunner is a single installable package that can be used to bootstrap
-multiple XUL+XPCOM applications that are as rich as Firefox and
-Thunderbird.
-
-
-Authors:
---------
- Mozilla Foundation <drivers@mozilla.org>
-
-%package devel
-Summary: XULRunner/Gecko SDK 1.8.1.x
-Group: Development/Libraries/Other
-%if 0%{?suse_version} > 1010
-Obsoletes: gecko-sdk
-# For upgrade from 10.2 betas:
-Obsoletes: mozilla-xulrunner180-devel
-%endif
-%if %has_system_nspr
-Requires: mozilla-nspr-devel >= %( echo `rpm -q --queryformat '%{VERSION}' mozilla-nspr-devel`)
-%endif
-%if %has_system_nss
-Requires: mozilla-nss-devel >= %( echo `rpm -q --queryformat '%{VERSION}' mozilla-nss-devel`)
-%endif
-PreReq: %{name} = %{version}
-
-%description devel
-Software Development Kit to embed XUL or Gecko into other applications.
-
-
-
-Authors:
---------
- Mozilla Foundation <drivers@mozilla.org>
-
-%package l10n
-Summary: Translations for XULRunner 1.8.1.x
-Group: Productivity/Other
-PreReq: %{name} = %{version}
-%if 0%{?suse_version} > 1010
-# For upgrade from 10.2 betas:
-Obsoletes: mozilla-xulrunner180-l10n
-%endif
-
-%description l10n
-XULRunner is a single installable package that can be used to bootstrap
-multiple XUL+XPCOM applications that are as rich as Firefox and
-Thunderbird.
-
-This package contains all supported languages but en-US which is
-delivered in the main package.
-
-Authors:
---------
- Mozilla Foundation <drivers@mozilla.org>
-
-%debug_package
-
-%prep
-%setup -n mozilla -b 1 -q
-%patch1
-%patch2
-%patch3
-%patch4
-%patch5 -p1
-%patch6
-%patch7
-%patch8
-%patch9
-%patch10
-%patch11
-
-%build
-%ifarch %x86
-%if 0%{?suse_version} <= 1010
-export JAVA_HOME=/usr/lib/jvm/java-1.4.2-sun
-%endif
-%endif
-export MOZ_BUILD_DATE=%{releasedate}
-export LD_LIBRARY_PATH=$RPM_BUILD_DIR/mozilla/dist/bin
-export CFLAGS="$RPM_OPT_FLAGS -g -Os -fno-strict-aliasing"
-%if 0%{?suse_version} > 1000
-export CFLAGS="$CFLAGS -fstack-protector"
-%endif
-%ifarch ppc64
-export CFLAGS="$CFLAGS -mminimal-toc"
-%endif
-export CXXFLAGS="$CFLAGS"
-#%if %suse_version > 1020
-#export ac_cv_visibility_hidden="no"
-#%endif
-export RPATH="-Wl,-rpath -Wl,%{_libdir}/xulrunner-%{version}"
-export MOZCONFIG=$RPM_BUILD_DIR/mozconfig
-export MOZILLA_OFFICIAL=1
-export BUILD_OFFICIAL=1
-export MOZ_MILESTONE_RELEASE=1
-#
-cat << EOF > $MOZCONFIG
-mk_add_options MOZILLA_OFFICIAL=1
-mk_add_options BUILD_OFFICIAL=1
-mk_add_options MOZ_MILESTONE_RELEASE=1
-mk_add_options MOZ_MAKE_FLAGS=%{?jobs:-j%jobs}
-. \$topsrcdir/xulrunner/config/mozconfig
-ac_add_options --prefix=%{_prefix}
-ac_add_options --libdir=%{_libdir}
-ac_add_options --sysconfdir=%{_sysconfdir}
-ac_add_options --mandir=%{_mandir}
-ac_add_options --includedir=%{_includedir}
-ac_add_options --enable-optimize
-ac_add_options --enable-extensions=default,cookie,permissions
-ac_add_options --with-system-jpeg
-ac_add_options --with-system-png
-ac_add_options --with-system-zlib
-ac_add_options --enable-default-toolkit=gtk2
-ac_add_options --enable-xft
-ac_add_options --disable-freetype2
-ac_add_options --enable-svg
-ac_add_options --enable-canvas
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/.mozconfig.mk
^
|
@@ -4,4 +4,4 @@
# To create a new .mozconfig file, you can visit,
# http://webtools.mozilla.org/build/config.cgi
-# PATH=/home/wolfi/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/games:/opt/kde3/bin:/usr/lib64/jvm/jre/bin:/usr/lib/mit/bin:/usr/lib/mit/sbin:.
+# PATH=/home/wolfi/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/games:/opt/kde3/bin:/usr/lib/jvm/jre/bin:/usr/lib/mit/bin:/usr/lib/mit/sbin:.:/opt/real/RealPlayer
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/allmakefiles.sh
^
|
@@ -1100,6 +1100,8 @@
calendar/providers/memory/Makefile
calendar/providers/storage/Makefile
calendar/providers/composite/Makefile
+calendar/timezones/Makefile
+calendar/timezones/locales/Makefile
"
MAKEFILES_sunbird="
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/browser/config/version.txt
^
|
@@ -1 +1 @@
-2.0.0.17pre
+2.0.0.19pre
|
[-]
[+]
|
Added |
xulrunner-source-1.8.1.18.tar.bz2/config/.#milestone.txt.3.27.2.26
^
|
@@ -0,0 +1,13 @@
+# Holds the current milestone.
+# Should be in the format of
+#
+# x.x.x
+# x.x.x.x
+# x.x.x+
+#
+# Referenced by milestone.pl.
+# Hopefully I'll be able to automate replacement of *all*
+# hardcoded milestones in the tree from these two files.
+#--------------------------------------------------------
+
+1.8.1.16
|
[-]
[+]
|
Added |
xulrunner-source-1.8.1.18.tar.bz2/config/.#milestone.txt.3.27.2.27
^
|
@@ -0,0 +1,13 @@
+# Holds the current milestone.
+# Should be in the format of
+#
+# x.x.x
+# x.x.x.x
+# x.x.x+
+#
+# Referenced by milestone.pl.
+# Hopefully I'll be able to automate replacement of *all*
+# hardcoded milestones in the tree from these two files.
+#--------------------------------------------------------
+
+1.8.1.17
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/config/milestone.txt
^
|
@@ -10,4 +10,4 @@
# hardcoded milestones in the tree from these two files.
#--------------------------------------------------------
-1.8.1.16
+1.8.1.18
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/configure
^
|
@@ -5298,7 +5298,7 @@
;;
AIX)
OS_RELEASE=`uname -v`.`uname -r`
- OS_TEST=`uname -p`
+ OS_TEST=${target_cpu}
;;
BSD_386)
OS_ARCH=BSD
@@ -5396,7 +5396,7 @@
CPU_ARCH=x86
;;
-powerpc* | ppc)
+powerpc* | ppc | rs6000)
CPU_ARCH=ppc
;;
@@ -5810,6 +5810,8 @@
DSO_CFLAGS='-qflag=w:w'
DSO_PIC_CFLAGS=
LDFLAGS="$LDFLAGS -Wl,-brtl -blibpath:/usr/lib:/lib"
+ echo "configure: warning: Clearing MOZ_FIX_LINK_PATHS till we can fix bug 332075." 1>&2
+ MOZ_FIX_LINK_PATHS=
MKSHLIB='$(CXX) $(DSO_LDOPTS) -o $@'
MKCSHLIB='$(CC) $(DSO_LDOPTS) -o $@'
if test "$COMPILE_ENVIRONMENT"; then
@@ -5822,9 +5824,9 @@
cross_compiling=$ac_cv_prog_cxx_cross
echo $ac_n "checking for VisualAge C++ compiler version >= 5.0.2.0""... $ac_c" 1>&6
-echo "configure:5826: checking for VisualAge C++ compiler version >= 5.0.2.0" >&5
+echo "configure:5828: checking for VisualAge C++ compiler version >= 5.0.2.0" >&5
cat > conftest.$ac_ext <<EOF
-#line 5828 "configure"
+#line 5830 "configure"
#include "confdefs.h"
int main() {
@@ -5833,7 +5835,7 @@
#endif
; return 0; }
EOF
-if { (eval echo configure:5837: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5839: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
_BAD_COMPILER=
else
@@ -5871,17 +5873,17 @@
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:5875: checking for $ac_hdr" >&5
+echo "configure:5877: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5880 "configure"
+#line 5882 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5885: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5887: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -5923,7 +5925,7 @@
LIBS="$LIBS -lbe"
if test "$COMPILE_ENVIRONMENT"; then
echo $ac_n "checking for main in -lbind""... $ac_c" 1>&6
-echo "configure:5927: checking for main in -lbind" >&5
+echo "configure:5929: checking for main in -lbind" >&5
ac_lib_var=`echo bind'_'main | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -5931,14 +5933,14 @@
ac_save_LIBS="$LIBS"
LIBS="-lbind $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 5935 "configure"
+#line 5937 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
-if { (eval echo configure:5942: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5944: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -5959,7 +5961,7 @@
fi
echo $ac_n "checking for main in -lzeta""... $ac_c" 1>&6
-echo "configure:5963: checking for main in -lzeta" >&5
+echo "configure:5965: checking for main in -lzeta" >&5
ac_lib_var=`echo zeta'_'main | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -5967,14 +5969,14 @@
ac_save_LIBS="$LIBS"
LIBS="-lzeta $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 5971 "configure"
+#line 5973 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
-if { (eval echo configure:5978: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5980: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -6042,18 +6044,18 @@
MACOSX=1
echo $ac_n "checking for -dead_strip option to ld""... $ac_c" 1>&6
-echo "configure:6046: checking for -dead_strip option to ld" >&5
+echo "configure:6048: checking for -dead_strip option to ld" >&5
_SAVE_LDFLAGS=$LDFLAGS
LDFLAGS="$LDFLAGS -Wl,-dead_strip"
cat > conftest.$ac_ext <<EOF
-#line 6050 "configure"
+#line 6052 "configure"
#include "confdefs.h"
int main() {
return 0;
; return 0; }
EOF
-if { (eval echo configure:6057: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6059: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
_HAVE_DEAD_STRIP=1
else
@@ -6921,14 +6923,14 @@
_SAVE_LDFLAGS=$LDFLAGS
LDFLAGS="-M /usr/lib/ld/map.noexstk $LDFLAGS"
cat > conftest.$ac_ext <<EOF
-#line 6925 "configure"
+#line 6927 "configure"
#include "confdefs.h"
#include <stdio.h>
int main() {
printf("Hello World\n");
; return 0; }
EOF
-if { (eval echo configure:6932: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6934: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
:
else
echo "configure: failed program was:" >&5
@@ -6956,7 +6958,7 @@
CC_VERSION=`$CC -V 2>&1 | grep '^cc:' 2>/dev/null | $AWK -F\: '{ print $2 }'`
CXX_VERSION=`$CXX -V 2>&1 | grep '^CC:' 2>/dev/null | $AWK -F\: '{ print $2 }'`
echo $ac_n "checking for Forte compiler version >= WS6U2""... $ac_c" 1>&6
-echo "configure:6960: checking for Forte compiler version >= WS6U2" >&5
+echo "configure:6962: checking for Forte compiler version >= WS6U2" >&5
ac_ext=C
# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -6966,7 +6968,7 @@
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 6970 "configure"
+#line 6972 "configure"
#include "confdefs.h"
int main() {
@@ -6975,7 +6977,7 @@
#endif
; return 0; }
EOF
-if { (eval echo configure:6979: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6981: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
_BAD_COMPILER=
else
@@ -7125,12 +7127,12 @@
cross_compiling=$ac_cv_prog_cc_cross
echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:7129: checking for ANSI C header files" >&5
+echo "configure:7131: checking for ANSI C header files" >&5
if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7134 "configure"
+#line 7136 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <stdarg.h>
@@ -7138,7 +7140,7 @@
#include <float.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7142: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7144: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -7155,7 +7157,7 @@
if test $ac_cv_header_stdc = yes; then
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 7159 "configure"
+#line 7161 "configure"
#include "confdefs.h"
#include <string.h>
EOF
@@ -7173,7 +7175,7 @@
if test $ac_cv_header_stdc = yes; then
# ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 7177 "configure"
+#line 7179 "configure"
#include "confdefs.h"
#include <stdlib.h>
EOF
@@ -7194,7 +7196,7 @@
:
else
cat > conftest.$ac_ext <<EOF
-#line 7198 "configure"
+#line 7200 "configure"
#include "confdefs.h"
#include <ctype.h>
#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -7205,7 +7207,7 @@
exit (0); }
EOF
-if { (eval echo configure:7209: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:7211: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
:
else
@@ -7229,12 +7231,12 @@
fi
echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:7233: checking for working const" >&5
+echo "configure:7235: checking for working const" >&5
if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7238 "configure"
+#line 7240 "configure"
#include "confdefs.h"
int main() {
@@ -7283,7 +7285,7 @@
; return 0; }
EOF
-if { (eval echo configure:7287: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7289: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_const=yes
else
@@ -7304,12 +7306,12 @@
fi
echo $ac_n "checking for mode_t""... $ac_c" 1>&6
-echo "configure:7308: checking for mode_t" >&5
+echo "configure:7310: checking for mode_t" >&5
if eval "test \"`echo '$''{'ac_cv_type_mode_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7313 "configure"
+#line 7315 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
@@ -7337,12 +7339,12 @@
fi
echo $ac_n "checking for off_t""... $ac_c" 1>&6
-echo "configure:7341: checking for off_t" >&5
+echo "configure:7343: checking for off_t" >&5
if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7346 "configure"
+#line 7348 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
@@ -7370,12 +7372,12 @@
fi
echo $ac_n "checking for pid_t""... $ac_c" 1>&6
-echo "configure:7374: checking for pid_t" >&5
+echo "configure:7376: checking for pid_t" >&5
if eval "test \"`echo '$''{'ac_cv_type_pid_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7379 "configure"
+#line 7381 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
@@ -7403,12 +7405,12 @@
fi
echo $ac_n "checking for size_t""... $ac_c" 1>&6
-echo "configure:7407: checking for size_t" >&5
+echo "configure:7409: checking for size_t" >&5
if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7412 "configure"
+#line 7414 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
@@ -7436,12 +7438,12 @@
fi
echo $ac_n "checking for st_blksize in struct stat""... $ac_c" 1>&6
-echo "configure:7440: checking for st_blksize in struct stat" >&5
+echo "configure:7442: checking for st_blksize in struct stat" >&5
if eval "test \"`echo '$''{'ac_cv_struct_st_blksize'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7445 "configure"
+#line 7447 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/stat.h>
@@ -7449,7 +7451,7 @@
struct stat s; s.st_blksize;
; return 0; }
EOF
-if { (eval echo configure:7453: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7455: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_struct_st_blksize=yes
else
@@ -7470,12 +7472,12 @@
fi
echo $ac_n "checking for siginfo_t""... $ac_c" 1>&6
-echo "configure:7474: checking for siginfo_t" >&5
+echo "configure:7476: checking for siginfo_t" >&5
if eval "test \"`echo '$''{'ac_cv_siginfo_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7479 "configure"
+#line 7481 "configure"
#include "confdefs.h"
#define _POSIX_C_SOURCE 199506L
#include <signal.h>
@@ -7483,7 +7485,7 @@
siginfo_t* info;
; return 0; }
EOF
-if { (eval echo configure:7487: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7489: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_siginfo_t=true
else
@@ -7517,12 +7519,12 @@
fi
echo $ac_n "checking for int16_t""... $ac_c" 1>&6
-echo "configure:7521: checking for int16_t" >&5
+echo "configure:7523: checking for int16_t" >&5
if eval "test \"`echo '$''{'ac_cv_int16_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7526 "configure"
+#line 7528 "configure"
#include "confdefs.h"
#include <stdio.h>
#include <sys/types.h>
@@ -7530,7 +7532,7 @@
int16_t foo = 0;
; return 0; }
EOF
-if { (eval echo configure:7534: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7536: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_int16_t=true
else
@@ -7552,12 +7554,12 @@
echo "$ac_t""no" 1>&6
fi
echo $ac_n "checking for int32_t""... $ac_c" 1>&6
-echo "configure:7556: checking for int32_t" >&5
+echo "configure:7558: checking for int32_t" >&5
if eval "test \"`echo '$''{'ac_cv_int32_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7561 "configure"
+#line 7563 "configure"
#include "confdefs.h"
#include <stdio.h>
#include <sys/types.h>
@@ -7565,7 +7567,7 @@
int32_t foo = 0;
; return 0; }
EOF
-if { (eval echo configure:7569: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7571: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_int32_t=true
else
@@ -7587,12 +7589,12 @@
echo "$ac_t""no" 1>&6
fi
echo $ac_n "checking for int64_t""... $ac_c" 1>&6
-echo "configure:7591: checking for int64_t" >&5
+echo "configure:7593: checking for int64_t" >&5
if eval "test \"`echo '$''{'ac_cv_int64_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7596 "configure"
+#line 7598 "configure"
#include "confdefs.h"
#include <stdio.h>
#include <sys/types.h>
@@ -7600,7 +7602,7 @@
int64_t foo = 0;
; return 0; }
EOF
-if { (eval echo configure:7604: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7606: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_int64_t=true
else
@@ -7622,12 +7624,12 @@
echo "$ac_t""no" 1>&6
fi
echo $ac_n "checking for int64""... $ac_c" 1>&6
-echo "configure:7626: checking for int64" >&5
+echo "configure:7628: checking for int64" >&5
if eval "test \"`echo '$''{'ac_cv_int64'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7631 "configure"
+#line 7633 "configure"
#include "confdefs.h"
#include <stdio.h>
#include <sys/types.h>
@@ -7635,7 +7637,7 @@
int64 foo = 0;
; return 0; }
EOF
-if { (eval echo configure:7639: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7641: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_int64=true
else
@@ -7657,12 +7659,12 @@
echo "$ac_t""no" 1>&6
fi
echo $ac_n "checking for uint""... $ac_c" 1>&6
-echo "configure:7661: checking for uint" >&5
+echo "configure:7663: checking for uint" >&5
if eval "test \"`echo '$''{'ac_cv_uint'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7666 "configure"
+#line 7668 "configure"
#include "confdefs.h"
#include <stdio.h>
#include <sys/types.h>
@@ -7670,7 +7672,7 @@
uint foo = 0;
; return 0; }
EOF
-if { (eval echo configure:7674: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7676: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_uint=true
else
@@ -7692,12 +7694,12 @@
echo "$ac_t""no" 1>&6
fi
echo $ac_n "checking for uint_t""... $ac_c" 1>&6
-echo "configure:7696: checking for uint_t" >&5
+echo "configure:7698: checking for uint_t" >&5
if eval "test \"`echo '$''{'ac_cv_uint_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7701 "configure"
+#line 7703 "configure"
#include "confdefs.h"
#include <stdio.h>
#include <sys/types.h>
@@ -7705,7 +7707,7 @@
uint_t foo = 0;
; return 0; }
EOF
-if { (eval echo configure:7709: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7711: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_uint_t=true
else
@@ -7727,12 +7729,12 @@
echo "$ac_t""no" 1>&6
fi
echo $ac_n "checking for uint16_t""... $ac_c" 1>&6
-echo "configure:7731: checking for uint16_t" >&5
+echo "configure:7733: checking for uint16_t" >&5
if eval "test \"`echo '$''{'ac_cv_uint16_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7736 "configure"
+#line 7738 "configure"
#include "confdefs.h"
#include <stdio.h>
#include <sys/types.h>
@@ -7740,7 +7742,7 @@
uint16_t foo = 0;
; return 0; }
EOF
-if { (eval echo configure:7744: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7746: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_uint16_t=true
else
@@ -7771,12 +7773,12 @@
echo $ac_n "checking for uname.domainname""... $ac_c" 1>&6
-echo "configure:7775: checking for uname.domainname" >&5
+echo "configure:7777: checking for uname.domainname" >&5
if eval "test \"`echo '$''{'ac_cv_have_uname_domainname_field'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7780 "configure"
+#line 7782 "configure"
#include "confdefs.h"
#include <sys/utsname.h>
int main() {
@@ -7784,7 +7786,7 @@
(void)uname(res); if (res != 0) { domain = res->domainname; }
; return 0; }
EOF
-if { (eval echo configure:7788: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7790: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_have_uname_domainname_field=true
else
@@ -7808,12 +7810,12 @@
fi
echo $ac_n "checking for uname.__domainname""... $ac_c" 1>&6
-echo "configure:7812: checking for uname.__domainname" >&5
+echo "configure:7814: checking for uname.__domainname" >&5
if eval "test \"`echo '$''{'ac_cv_have_uname_us_domainname_field'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7817 "configure"
+#line 7819 "configure"
#include "confdefs.h"
#include <sys/utsname.h>
int main() {
@@ -7821,7 +7823,7 @@
(void)uname(res); if (res != 0) { domain = res->__domainname; }
; return 0; }
EOF
-if { (eval echo configure:7825: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7827: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_have_uname_us_domainname_field=true
else
@@ -7854,12 +7856,12 @@
echo $ac_n "checking for usable wchar_t (2 bytes, unsigned)""... $ac_c" 1>&6
-echo "configure:7858: checking for usable wchar_t (2 bytes, unsigned)" >&5
+echo "configure:7860: checking for usable wchar_t (2 bytes, unsigned)" >&5
if eval "test \"`echo '$''{'ac_cv_have_usable_wchar_v2'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7863 "configure"
+#line 7865 "configure"
#include "confdefs.h"
#include <stddef.h>
$configure_static_assert_macros
@@ -7868,7 +7870,7 @@
CONFIGURE_STATIC_ASSERT((wchar_t)-1 > (wchar_t) 0)
; return 0; }
EOF
-if { (eval echo configure:7872: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7874: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_have_usable_wchar_v2="yes"
else
@@ -7901,12 +7903,12 @@
CXXFLAGS="$CXXFLAGS -fshort-wchar"
echo $ac_n "checking for compiler -fshort-wchar option""... $ac_c" 1>&6
-echo "configure:7905: checking for compiler -fshort-wchar option" >&5
+echo "configure:7907: checking for compiler -fshort-wchar option" >&5
if eval "test \"`echo '$''{'ac_cv_have_usable_wchar_option_v2'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7910 "configure"
+#line 7912 "configure"
#include "confdefs.h"
#include <stddef.h>
$configure_static_assert_macros
@@ -7915,7 +7917,7 @@
CONFIGURE_STATIC_ASSERT((wchar_t)-1 > (wchar_t) 0)
; return 0; }
EOF
-if { (eval echo configure:7919: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7921: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_have_usable_wchar_option_v2="yes"
else
@@ -7949,7 +7951,7 @@
if test "$GNU_CC"; then
echo $ac_n "checking for visibility(hidden) attribute""... $ac_c" 1>&6
-echo "configure:7953: checking for visibility(hidden) attribute" >&5
+echo "configure:7955: checking for visibility(hidden) attribute" >&5
if eval "test \"`echo '$''{'ac_cv_visibility_hidden'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -7974,7 +7976,7 @@
echo $ac_n "checking for visibility(default) attribute""... $ac_c" 1>&6
-echo "configure:7978: checking for visibility(default) attribute" >&5
+echo "configure:7980: checking for visibility(default) attribute" >&5
if eval "test \"`echo '$''{'ac_cv_visibility_default'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -7999,7 +8001,7 @@
echo $ac_n "checking for visibility pragma support""... $ac_c" 1>&6
-echo "configure:8003: checking for visibility pragma support" >&5
+echo "configure:8005: checking for visibility pragma support" >&5
if eval "test \"`echo '$''{'ac_cv_visibility_pragma'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -8024,7 +8026,7 @@
echo "$ac_t""$ac_cv_visibility_pragma" 1>&6
if test "$ac_cv_visibility_pragma" = "yes"; then
echo $ac_n "checking For gcc visibility bug with class-level attributes (GCC bug 26905)""... $ac_c" 1>&6
-echo "configure:8028: checking For gcc visibility bug with class-level attributes (GCC bug 26905)" >&5
+echo "configure:8030: checking For gcc visibility bug with class-level attributes (GCC bug 26905)" >&5
if eval "test \"`echo '$''{'ac_cv_have_visibility_class_bug'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -8052,7 +8054,7 @@
echo "$ac_t""$ac_cv_have_visibility_class_bug" 1>&6
echo $ac_n "checking For x86_64 gcc visibility bug with builtins (GCC bug 20297)""... $ac_c" 1>&6
-echo "configure:8056: checking For x86_64 gcc visibility bug with builtins (GCC bug 20297)" >&5
+echo "configure:8058: checking For x86_64 gcc visibility bug with builtins (GCC bug 20297)" >&5
if eval "test \"`echo '$''{'ac_cv_have_visibility_builtin_bug'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -8100,12 +8102,12 @@
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1>&6
-echo "configure:8104: checking for $ac_hdr that defines DIR" >&5
+echo "configure:8106: checking for $ac_hdr that defines DIR" >&5
if eval "test \"`echo '$''{'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 8109 "configure"
+#line 8111 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <$ac_hdr>
@@ -8113,7 +8115,7 @@
DIR *dirp = 0;
; return 0; }
EOF
-if { (eval echo configure:8117: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8119: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
eval "ac_cv_header_dirent_$ac_safe=yes"
else
@@ -8138,7 +8140,7 @@
# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
if test $ac_header_dirent = dirent.h; then
echo $ac_n "checking for opendir in -ldir""... $ac_c" 1>&6
-echo "configure:8142: checking for opendir in -ldir" >&5
+echo "configure:8144: checking for opendir in -ldir" >&5
ac_lib_var=`echo dir'_'opendir | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -8146,7 +8148,7 @@
ac_save_LIBS="$LIBS"
LIBS="-ldir $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 8150 "configure"
+#line 8152 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -8157,7 +8159,7 @@
opendir()
; return 0; }
EOF
-if { (eval echo configure:8161: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8163: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -8179,7 +8181,7 @@
else
echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6
-echo "configure:8183: checking for opendir in -lx" >&5
+echo "configure:8185: checking for opendir in -lx" >&5
ac_lib_var=`echo x'_'opendir | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -8187,7 +8189,7 @@
ac_save_LIBS="$LIBS"
LIBS="-lx $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 8191 "configure"
+#line 8193 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -8198,7 +8200,7 @@
opendir()
; return 0; }
EOF
-if { (eval echo configure:8202: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8204: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -8230,17 +8232,17 @@
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:8234: checking for $ac_hdr" >&5
+echo "configure:8236: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 8239 "configure"
+#line 8241 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8244: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8246: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -8270,17 +8272,17 @@
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:8274: checking for $ac_hdr" >&5
+echo "configure:8276: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 8279 "configure"
+#line 8281 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8284: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8286: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -8310,17 +8312,17 @@
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:8314: checking for $ac_hdr" >&5
+echo "configure:8316: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 8319 "configure"
+#line 8321 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8324: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8326: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -8350,17 +8352,17 @@
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:8354: checking for $ac_hdr" >&5
+echo "configure:8356: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 8359 "configure"
+#line 8361 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8364: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8366: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -8390,17 +8392,17 @@
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:8394: checking for $ac_hdr" >&5
+echo "configure:8396: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 8399 "configure"
+#line 8401 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8404: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8406: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -8431,17 +8433,17 @@
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:8435: checking for $ac_hdr" >&5
+echo "configure:8437: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 8440 "configure"
+#line 8442 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8445: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8447: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -8472,17 +8474,17 @@
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:8476: checking for $ac_hdr" >&5
+echo "configure:8478: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 8481 "configure"
+#line 8483 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8486: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8488: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -8519,17 +8521,17 @@
NEW_H=new.h
ac_safe=`echo "new" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for new""... $ac_c" 1>&6
-echo "configure:8523: checking for new" >&5
+echo "configure:8525: checking for new" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 8528 "configure"
+#line 8530 "configure"
#include "confdefs.h"
#include <new>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8533: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8535: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -8570,17 +8572,17 @@
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:8574: checking for $ac_hdr" >&5
+echo "configure:8576: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 8579 "configure"
+#line 8581 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8584: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8586: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -8614,7 +8616,7 @@
;;
*)
echo $ac_n "checking for gethostbyname_r in -lc_r""... $ac_c" 1>&6
-echo "configure:8618: checking for gethostbyname_r in -lc_r" >&5
+echo "configure:8620: checking for gethostbyname_r in -lc_r" >&5
ac_lib_var=`echo c_r'_'gethostbyname_r | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -8622,7 +8624,7 @@
ac_save_LIBS="$LIBS"
LIBS="-lc_r $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 8626 "configure"
+#line 8628 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -8633,7 +8635,7 @@
gethostbyname_r()
; return 0; }
EOF
-if { (eval echo configure:8637: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8639: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -8663,7 +8665,7 @@
;;
esac
echo $ac_n "checking for atan in -lm""... $ac_c" 1>&6
-echo "configure:8667: checking for atan in -lm" >&5
+echo "configure:8669: checking for atan in -lm" >&5
ac_lib_var=`echo m'_'atan | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -8671,7 +8673,7 @@
ac_save_LIBS="$LIBS"
LIBS="-lm $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 8675 "configure"
+#line 8677 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -8682,7 +8684,7 @@
atan()
; return 0; }
EOF
-if { (eval echo configure:8686: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8688: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -8716,7 +8718,7 @@
;;
*)
echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
-echo "configure:8720: checking for dlopen in -ldl" >&5
+echo "configure:8722: checking for dlopen in -ldl" >&5
ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -8724,7 +8726,7 @@
ac_save_LIBS="$LIBS"
LIBS="-ldl $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 8728 "configure"
+#line 8730 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -8735,7 +8737,7 @@
dlopen()
; return 0; }
EOF
-if { (eval echo configure:8739: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8741: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -8752,17 +8754,17 @@
echo "$ac_t""yes" 1>&6
ac_safe=`echo "dlfcn.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for dlfcn.h""... $ac_c" 1>&6
-echo "configure:8756: checking for dlfcn.h" >&5
+echo "configure:8758: checking for dlfcn.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 8761 "configure"
+#line 8763 "configure"
#include "confdefs.h"
#include <dlfcn.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8766: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8768: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -8798,7 +8800,7 @@
case $target in
*-aix*)
echo $ac_n "checking for demangle in -lC_r""... $ac_c" 1>&6
-echo "configure:8802: checking for demangle in -lC_r" >&5
+echo "configure:8804: checking for demangle in -lC_r" >&5
ac_lib_var=`echo C_r'_'demangle | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -8806,7 +8808,7 @@
ac_save_LIBS="$LIBS"
LIBS="-lC_r $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 8810 "configure"
+#line 8812 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -8817,7 +8819,7 @@
demangle()
; return 0; }
EOF
-if { (eval echo configure:8821: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8823: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -8847,7 +8849,7 @@
;;
*)
echo $ac_n "checking for demangle in -lC""... $ac_c" 1>&6
-echo "configure:8851: checking for demangle in -lC" >&5
+echo "configure:8853: checking for demangle in -lC" >&5
ac_lib_var=`echo C'_'demangle | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -8855,7 +8857,7 @@
ac_save_LIBS="$LIBS"
LIBS="-lC $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 8859 "configure"
+#line 8861 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -8866,7 +8868,7 @@
demangle()
; return 0; }
EOF
-if { (eval echo configure:8870: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8872: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -8897,7 +8899,7 @@
esac
fi
echo $ac_n "checking for socket in -lsocket""... $ac_c" 1>&6
-echo "configure:8901: checking for socket in -lsocket" >&5
+echo "configure:8903: checking for socket in -lsocket" >&5
ac_lib_var=`echo socket'_'socket | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -8905,7 +8907,7 @@
ac_save_LIBS="$LIBS"
LIBS="-lsocket $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 8909 "configure"
+#line 8911 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -8916,7 +8918,7 @@
socket()
; return 0; }
EOF
-if { (eval echo configure:8920: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8922: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -8961,7 +8963,7 @@
_SAVE_LDFLAGS="$LDFLAGS"
LDFLAGS="$XLDFLAGS $LDFLAGS"
echo $ac_n "checking for XDrawLines in -lX11""... $ac_c" 1>&6
-echo "configure:8965: checking for XDrawLines in -lX11" >&5
+echo "configure:8967: checking for XDrawLines in -lX11" >&5
ac_lib_var=`echo X11'_'XDrawLines | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -8969,7 +8971,7 @@
ac_save_LIBS="$LIBS"
LIBS="-lX11 $XLIBS $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 8973 "configure"
+#line 8975 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -8980,7 +8982,7 @@
XDrawLines()
; return 0; }
EOF
-if { (eval echo configure:8984: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8986: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -9002,7 +9004,7 @@
fi
echo $ac_n "checking for XextAddDisplay in -lXext""... $ac_c" 1>&6
-echo "configure:9006: checking for XextAddDisplay in -lXext" >&5
+echo "configure:9008: checking for XextAddDisplay in -lXext" >&5
ac_lib_var=`echo Xext'_'XextAddDisplay | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -9010,7 +9012,7 @@
ac_save_LIBS="$LIBS"
LIBS="-lXext $XLIBS $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 9014 "configure"
+#line 9016 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -9021,7 +9023,7 @@
XextAddDisplay()
; return 0; }
EOF
-if { (eval echo configure:9025: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9027: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -9045,7 +9047,7 @@
echo $ac_n "checking for XtFree in -lXt""... $ac_c" 1>&6
-echo "configure:9049: checking for XtFree in -lXt" >&5
+echo "configure:9051: checking for XtFree in -lXt" >&5
ac_lib_var=`echo Xt'_'XtFree | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -9053,7 +9055,7 @@
ac_save_LIBS="$LIBS"
LIBS="-lXt $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 9057 "configure"
+#line 9059 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -9064,7 +9066,7 @@
XtFree()
; return 0; }
EOF
-if { (eval echo configure:9068: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9070: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -9085,7 +9087,7 @@
unset ac_cv_lib_Xt_XtFree
echo $ac_n "checking for IceFlush in -lICE""... $ac_c" 1>&6
-echo "configure:9089: checking for IceFlush in -lICE" >&5
+echo "configure:9091: checking for IceFlush in -lICE" >&5
ac_lib_var=`echo ICE'_'IceFlush | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -9093,7 +9095,7 @@
ac_save_LIBS="$LIBS"
LIBS="-lICE $XT_LIBS $XLIBS $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 9097 "configure"
+#line 9099 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -9104,7 +9106,7 @@
IceFlush()
; return 0; }
EOF
-if { (eval echo configure:9108: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9110: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -9125,7 +9127,7 @@
fi
echo $ac_n "checking for SmcCloseConnection in -lSM""... $ac_c" 1>&6
-echo "configure:9129: checking for SmcCloseConnection in -lSM" >&5
+echo "configure:9131: checking for SmcCloseConnection in -lSM" >&5
ac_lib_var=`echo SM'_'SmcCloseConnection | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -9133,7 +9135,7 @@
ac_save_LIBS="$LIBS"
LIBS="-lSM $XT_LIBS $XLIBS $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 9137 "configure"
+#line 9139 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -9144,7 +9146,7 @@
SmcCloseConnection()
; return 0; }
EOF
-if { (eval echo configure:9148: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9150: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -9165,7 +9167,7 @@
fi
echo $ac_n "checking for XtFree in -lXt""... $ac_c" 1>&6
-echo "configure:9169: checking for XtFree in -lXt" >&5
+echo "configure:9171: checking for XtFree in -lXt" >&5
ac_lib_var=`echo Xt'_'XtFree | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -9173,7 +9175,7 @@
ac_save_LIBS="$LIBS"
LIBS="-lXt $X_PRE_LIBS $XT_LIBS $XLIBS $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 9177 "configure"
+#line 9179 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -9184,7 +9186,7 @@
XtFree()
; return 0; }
EOF
-if { (eval echo configure:9188: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9190: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -9218,7 +9220,7 @@
esac
echo $ac_n "checking for XineramaIsActive in -lXinerama""... $ac_c" 1>&6
-echo "configure:9222: checking for XineramaIsActive in -lXinerama" >&5
+echo "configure:9224: checking for XineramaIsActive in -lXinerama" >&5
ac_lib_var=`echo Xinerama'_'XineramaIsActive | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -9226,7 +9228,7 @@
ac_save_LIBS="$LIBS"
LIBS="-lXinerama $XLIBS $XEXT_LIBS $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 9230 "configure"
+#line 9232 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -9237,7 +9239,7 @@
XineramaIsActive()
; return 0; }
EOF
-if { (eval echo configure:9241: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9243: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -9259,17 +9261,17 @@
ac_safe=`echo "X11/extensions/Xinerama.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for X11/extensions/Xinerama.h""... $ac_c" 1>&6
-echo "configure:9263: checking for X11/extensions/Xinerama.h" >&5
+echo "configure:9265: checking for X11/extensions/Xinerama.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 9268 "configure"
+#line 9270 "configure"
#include "confdefs.h"
#include <X11/extensions/Xinerama.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9273: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9275: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -9292,7 +9294,7 @@
echo $ac_n "checking for XShmCreateImage in -lXext""... $ac_c" 1>&6
-echo "configure:9296: checking for XShmCreateImage in -lXext" >&5
+echo "configure:9298: checking for XShmCreateImage in -lXext" >&5
ac_lib_var=`echo Xext'_'XShmCreateImage | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -9300,7 +9302,7 @@
ac_save_LIBS="$LIBS"
LIBS="-lXext $XLIBS $XEXT_LIBS $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 9304 "configure"
+#line 9306 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -9311,7 +9313,7 @@
XShmCreateImage()
; return 0; }
EOF
-if { (eval echo configure:9315: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9317: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -9333,17 +9335,17 @@
ac_safe=`echo "X11/extensions/XShm.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for X11/extensions/XShm.h""... $ac_c" 1>&6
-echo "configure:9337: checking for X11/extensions/XShm.h" >&5
+echo "configure:9339: checking for X11/extensions/XShm.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 9342 "configure"
+#line 9344 "configure"
#include "confdefs.h"
#include <X11/extensions/XShm.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9347: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9349: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -9373,7 +9375,7 @@
fi
echo $ac_n "checking for XieFloGeometry in -lXIE""... $ac_c" 1>&6
-echo "configure:9377: checking for XieFloGeometry in -lXIE" >&5
+echo "configure:9379: checking for XieFloGeometry in -lXIE" >&5
ac_lib_var=`echo XIE'_'XieFloGeometry | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -9381,7 +9383,7 @@
ac_save_LIBS="$LIBS"
LIBS="-lXIE $XLIBS $XEXT_LIBS $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 9385 "configure"
+#line 9387 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -9392,7 +9394,7 @@
XieFloGeometry()
; return 0; }
EOF
-if { (eval echo configure:9396: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9398: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -9414,17 +9416,17 @@
ac_safe=`echo "X11/extensions/XIElib.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for X11/extensions/XIElib.h""... $ac_c" 1>&6
-echo "configure:9418: checking for X11/extensions/XIElib.h" >&5
+echo "configure:9420: checking for X11/extensions/XIElib.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 9423 "configure"
+#line 9425 "configure"
#include "confdefs.h"
#include <X11/extensions/XIElib.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9428: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9430: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -9498,7 +9500,7 @@
# Extract the first word of "freetype-config", so it can be a program name with args.
set dummy freetype-config; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:9502: checking for $ac_word" >&5
+echo "configure:9504: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_FT2_CONFIG'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -9534,7 +9536,7 @@
min_ft_version=6.1.0
echo $ac_n "checking for FreeType - version >= $min_ft_version""... $ac_c" 1>&6
-echo "configure:9538: checking for FreeType - version >= $min_ft_version" >&5
+echo "configure:9540: checking for FreeType - version >= $min_ft_version" >&5
no_ft=""
if test "$FT2_CONFIG" = "no" ; then
no_ft=yes
@@ -9582,7 +9584,7 @@
echo $ac_n "cross compiling; assumed OK... $ac_c"
else
cat > conftest.$ac_ext <<EOF
-#line 9586 "configure"
+#line 9588 "configure"
#include "confdefs.h"
#include <ft2build.h>
@@ -9608,7 +9610,7 @@
}
EOF
-if { (eval echo configure:9612: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:9614: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
:
else
@@ -9660,7 +9662,7 @@
echo $ac_n "checking for pthread_create in -lpthreads""... $ac_c" 1>&6
-echo "configure:9664: checking for pthread_create in -lpthreads" >&5
+echo "configure:9666: checking for pthread_create in -lpthreads" >&5
echo "
#include <pthread.h>
void *foo(void *v) { int a = 1; }
@@ -9682,7 +9684,7 @@
echo "$ac_t""no" 1>&6
echo $ac_n "checking for pthread_create in -lpthread""... $ac_c" 1>&6
-echo "configure:9686: checking for pthread_create in -lpthread" >&5
+echo "configure:9688: checking for pthread_create in -lpthread" >&5
echo "
#include <pthread.h>
void *foo(void *v) { int a = 1; }
@@ -9704,7 +9706,7 @@
echo "$ac_t""no" 1>&6
echo $ac_n "checking for pthread_create in -lc_r""... $ac_c" 1>&6
-echo "configure:9708: checking for pthread_create in -lc_r" >&5
+echo "configure:9710: checking for pthread_create in -lc_r" >&5
echo "
#include <pthread.h>
void *foo(void *v) { int a = 1; }
@@ -9726,7 +9728,7 @@
echo "$ac_t""no" 1>&6
echo $ac_n "checking for pthread_create in -lc""... $ac_c" 1>&6
-echo "configure:9730: checking for pthread_create in -lc" >&5
+echo "configure:9732: checking for pthread_create in -lc" >&5
echo "
#include <pthread.h>
void *foo(void *v) { int a = 1; }
@@ -9782,7 +9784,7 @@
rm -f conftest*
ac_cv_have_dash_pthread=no
echo $ac_n "checking whether ${CC-cc} accepts -pthread""... $ac_c" 1>&6
-echo "configure:9786: checking whether ${CC-cc} accepts -pthread" >&5
+echo "configure:9788: checking whether ${CC-cc} accepts -pthread" >&5
echo 'int main() { return 0; }' | cat > conftest.c
${CC-cc} -pthread -o conftest conftest.c > conftest.out 2>&1
if test $? -eq 0; then
@@ -9805,7 +9807,7 @@
ac_cv_have_dash_pthreads=no
if test "$ac_cv_have_dash_pthread" = "no"; then
echo $ac_n "checking whether ${CC-cc} accepts -pthreads""... $ac_c" 1>&6
-echo "configure:9809: checking whether ${CC-cc} accepts -pthreads" >&5
+echo "configure:9811: checking whether ${CC-cc} accepts -pthreads" >&5
echo 'int main() { return 0; }' | cat > conftest.c
${CC-cc} -pthreads -o conftest conftest.c > conftest.out 2>&1
if test $? -eq 0; then
@@ -9900,7 +9902,7 @@
fi
echo $ac_n "checking whether mmap() sees write()s""... $ac_c" 1>&6
-echo "configure:9904: checking whether mmap() sees write()s" >&5
+echo "configure:9906: checking whether mmap() sees write()s" >&5
mmap_test_prog='
@@ -9939,11 +9941,11 @@
result="yes"
else
cat > conftest.$ac_ext <<EOF
-#line 9943 "configure"
+#line 9945 "configure"
#include "confdefs.h"
$mmap_test_prog
EOF
-if { (eval echo configure:9947: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:9949: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
result="yes"
else
@@ -9968,13 +9970,13 @@
if test $ac_cv_prog_gcc = yes; then
echo $ac_n "checking whether ${CC-cc} needs -traditional""... $ac_c" 1>&6
-echo "configure:9972: checking whether ${CC-cc} needs -traditional" >&5
+echo "configure:9974: checking whether ${CC-cc} needs -traditional" >&5
if eval "test \"`echo '$''{'ac_cv_prog_gcc_traditional'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_pattern="Autoconf.*'x'"
cat > conftest.$ac_ext <<EOF
-#line 9978 "configure"
+#line 9980 "configure"
#include "confdefs.h"
#include <sgtty.h>
Autoconf TIOCGETP
@@ -9992,7 +9994,7 @@
if test $ac_cv_prog_gcc_traditional = no; then
cat > conftest.$ac_ext <<EOF
-#line 9996 "configure"
+#line 9998 "configure"
#include "confdefs.h"
#include <termio.h>
Autoconf TCGETA
@@ -10014,7 +10016,7 @@
fi
echo $ac_n "checking for 8-bit clean memcmp""... $ac_c" 1>&6
-echo "configure:10018: checking for 8-bit clean memcmp" >&5
+echo "configure:10020: checking for 8-bit clean memcmp" >&5
if eval "test \"`echo '$''{'ac_cv_func_memcmp_clean'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -10022,7 +10024,7 @@
ac_cv_func_memcmp_clean=no
else
cat > conftest.$ac_ext <<EOF
-#line 10026 "configure"
+#line 10028 "configure"
#include "confdefs.h"
main()
@@ -10032,7 +10034,7 @@
}
EOF
-if { (eval echo configure:10036: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:10038: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_func_memcmp_clean=yes
else
@@ -10052,12 +10054,12 @@
for ac_func in random strerror lchown fchmod snprintf statvfs memmove rint stat64 lstat64
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:10056: checking for $ac_func" >&5
+echo "configure:10058: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 10061 "configure"
+#line 10063 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -10080,7 +10082,7 @@
; return 0; }
EOF
-if { (eval echo configure:10084: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10086: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -10107,12 +10109,12 @@
for ac_func in flockfile getpagesize
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:10111: checking for $ac_func" >&5
+echo "configure:10113: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 10116 "configure"
+#line 10118 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -10135,7 +10137,7 @@
; return 0; }
EOF
-if { (eval echo configure:10139: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10141: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -10164,12 +10166,12 @@
for ac_func in localtime_r strtok_r
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:10168: checking for $ac_func" >&5
+echo "configure:10170: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 10173 "configure"
+#line 10175 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -10192,7 +10194,7 @@
; return 0; }
EOF
-if { (eval echo configure:10196: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10198: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -10228,19 +10230,19 @@
cross_compiling=$ac_cv_prog_cxx_cross
echo $ac_n "checking for wcrtomb""... $ac_c" 1>&6
-echo "configure:10232: checking for wcrtomb" >&5
+echo "configure:10234: checking for wcrtomb" >&5
if eval "test \"`echo '$''{'ac_cv_have_wcrtomb'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 10237 "configure"
+#line 10239 "configure"
#include "confdefs.h"
#include <wchar.h>
int main() {
mbstate_t ps={0};wcrtomb(0,'f',&ps);
; return 0; }
EOF
-if { (eval echo configure:10244: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10246: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_have_wcrtomb="yes"
else
@@ -10260,19 +10262,19 @@
fi
echo $ac_n "checking for mbrtowc""... $ac_c" 1>&6
-echo "configure:10264: checking for mbrtowc" >&5
+echo "configure:10266: checking for mbrtowc" >&5
if eval "test \"`echo '$''{'ac_cv_have_mbrtowc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 10269 "configure"
+#line 10271 "configure"
#include "confdefs.h"
#include <wchar.h>
int main() {
mbstate_t ps={0};mbrtowc(0,0,0,&ps);
; return 0; }
EOF
-if { (eval echo configure:10276: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10278: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_have_mbrtowc="yes"
else
@@ -10301,12 +10303,12 @@
fi
echo $ac_n "checking for res_ninit()""... $ac_c" 1>&6
-echo "configure:10305: checking for res_ninit()" >&5
+echo "configure:10307: checking for res_ninit()" >&5
if eval "test \"`echo '$''{'ac_cv_func_res_ninit'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 10310 "configure"
+#line 10312 "configure"
#include "confdefs.h"
#ifdef linux
@@ -10318,7 +10320,7 @@
int foo = res_ninit(&_res);
; return 0; }
EOF
-if { (eval echo configure:10322: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10324: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_func_res_ninit=yes
else
@@ -10348,12 +10350,12 @@
cross_compiling=$ac_cv_prog_cxx_cross
echo $ac_n "checking for gnu_get_libc_version()""... $ac_c" 1>&6
-echo "configure:10352: checking for gnu_get_libc_version()" >&5
+echo "configure:10354: checking for gnu_get_libc_version()" >&5
if eval "test \"`echo '$''{'ac_cv_func_gnu_get_libc_version'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 10357 "configure"
+#line 10359 "configure"
#include "confdefs.h"
#ifdef HAVE_GNU_LIBC_VERSION_H
@@ -10364,7 +10366,7 @@
const char *glibc_version = gnu_get_libc_version();
; return 0; }
EOF
-if { (eval echo configure:10368: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10370: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_func_gnu_get_libc_version=yes
else
@@ -10393,7 +10395,7 @@
*)
echo $ac_n "checking for iconv in -lc""... $ac_c" 1>&6
-echo "configure:10397: checking for iconv in -lc" >&5
+echo "configure:10399: checking for iconv in -lc" >&5
ac_lib_var=`echo c'_'iconv | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -10401,7 +10403,7 @@
ac_save_LIBS="$LIBS"
LIBS="-lc $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 10405 "configure"
+#line 10407 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
#ifdef __cplusplus
@@ -10415,7 +10417,7 @@
iconv()
; return 0; }
EOF
-if { (eval echo configure:10419: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10421: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -10434,7 +10436,7 @@
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for iconv in -liconv""... $ac_c" 1>&6
-echo "configure:10438: checking for iconv in -liconv" >&5
+echo "configure:10440: checking for iconv in -liconv" >&5
ac_lib_var=`echo iconv'_'iconv | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -10442,7 +10444,7 @@
ac_save_LIBS="$LIBS"
LIBS="-liconv $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 10446 "configure"
+#line 10448 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
#ifdef __cplusplus
@@ -10456,7 +10458,7 @@
iconv()
; return 0; }
EOF
-if { (eval echo configure:10460: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10462: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -10475,7 +10477,7 @@
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for libiconv in -liconv""... $ac_c" 1>&6
-echo "configure:10479: checking for libiconv in -liconv" >&5
+echo "configure:10481: checking for libiconv in -liconv" >&5
ac_lib_var=`echo iconv'_'libiconv | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -10483,7 +10485,7 @@
ac_save_LIBS="$LIBS"
LIBS="-liconv $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 10487 "configure"
+#line 10489 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
#ifdef __cplusplus
@@ -10497,7 +10499,7 @@
libiconv()
; return 0; }
EOF
-if { (eval echo configure:10501: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10503: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -10524,12 +10526,12 @@
_SAVE_LIBS=$LIBS
LIBS="$LIBS $_ICONV_LIBS"
echo $ac_n "checking for iconv()""... $ac_c" 1>&6
-echo "configure:10528: checking for iconv()" >&5
+echo "configure:10530: checking for iconv()" >&5
if eval "test \"`echo '$''{'ac_cv_func_iconv'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 10533 "configure"
+#line 10535 "configure"
#include "confdefs.h"
#include <stdlib.h>
@@ -10543,7 +10545,7 @@
; return 0; }
EOF
-if { (eval echo configure:10547: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10549: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_func_iconv=yes
else
@@ -10567,12 +10569,12 @@
LIBXUL_LIBS="$LIBXUL_LIBS $_ICONV_LIBS"
LIBICONV="$_ICONV_LIBS"
echo $ac_n "checking for iconv() with const input""... $ac_c" 1>&6
-echo "configure:10571: checking for iconv() with const input" >&5
+echo "configure:10573: checking for iconv() with const input" >&5
if eval "test \"`echo '$''{'ac_cv_func_const_iconv'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 10576 "configure"
+#line 10578 "configure"
#include "confdefs.h"
#include <stdlib.h>
@@ -10587,7 +10589,7 @@
; return 0; }
EOF
-if { (eval echo configure:10591: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:10593: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_func_const_iconv=yes
else
@@ -10616,19 +10618,19 @@
echo $ac_n "checking for nl_langinfo and CODESET""... $ac_c" 1>&6
-echo "configure:10620: checking for nl_langinfo and CODESET" >&5
+echo "configure:10622: checking for nl_langinfo and CODESET" >&5
if eval "test \"`echo '$''{'am_cv_langinfo_codeset'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 10625 "configure"
+#line 10627 "configure"
#include "confdefs.h"
#include <langinfo.h>
int main() {
char* cs = nl_langinfo(CODESET);
; return 0; }
EOF
-if { (eval echo configure:10632: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10634: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
am_cv_langinfo_codeset=yes
else
@@ -10660,7 +10662,7 @@
echo $ac_n "checking for an implementation of va_copy()""... $ac_c" 1>&6
-echo "configure:10664: checking for an implementation of va_copy()" >&5
+echo "configure:10666: checking for an implementation of va_copy()" >&5
if eval "test \"`echo '$''{'ac_cv_va_copy'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -10670,7 +10672,7 @@
else
cat > conftest.$ac_ext <<EOF
-#line 10674 "configure"
+#line 10676 "configure"
#include "confdefs.h"
#include <stdarg.h>
@@ -10684,7 +10686,7 @@
}
int main() { f (0, 42); return 0; }
EOF
-if { (eval echo configure:10688: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:10690: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_va_copy=yes
else
@@ -10701,7 +10703,7 @@
echo "$ac_t""$ac_cv_va_copy" 1>&6
echo $ac_n "checking for an implementation of __va_copy()""... $ac_c" 1>&6
-echo "configure:10705: checking for an implementation of __va_copy()" >&5
+echo "configure:10707: checking for an implementation of __va_copy()" >&5
if eval "test \"`echo '$''{'ac_cv___va_copy'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -10711,7 +10713,7 @@
else
cat > conftest.$ac_ext <<EOF
-#line 10715 "configure"
+#line 10717 "configure"
#include "confdefs.h"
#include <stdarg.h>
@@ -10725,7 +10727,7 @@
}
int main() { f (0, 42); return 0; }
EOF
-if { (eval echo configure:10729: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:10731: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv___va_copy=yes
else
@@ -10742,7 +10744,7 @@
echo "$ac_t""$ac_cv___va_copy" 1>&6
echo $ac_n "checking whether va_lists can be copied by value""... $ac_c" 1>&6
-echo "configure:10746: checking whether va_lists can be copied by value" >&5
+echo "configure:10748: checking whether va_lists can be copied by value" >&5
if eval "test \"`echo '$''{'ac_cv_va_val_copy'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -10752,7 +10754,7 @@
else
cat > conftest.$ac_ext <<EOF
-#line 10756 "configure"
+#line 10758 "configure"
#include "confdefs.h"
#include <stdarg.h>
@@ -10766,7 +10768,7 @@
}
int main() { f (0, 42); return 0; }
EOF
-if { (eval echo configure:10770: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:10772: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_va_val_copy=yes
else
@@ -10865,7 +10867,7 @@
if test "$GNU_CXX"; then
echo $ac_n "checking for C++ exceptions flag""... $ac_c" 1>&6
-echo "configure:10869: checking for C++ exceptions flag" >&5
+echo "configure:10871: checking for C++ exceptions flag" >&5
if eval "test \"`echo '$''{'ac_cv_cxx_exceptions_flags'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -10900,12 +10902,12 @@
HAVE_GCC3_ABI=
if test "$GNU_CC"; then
echo $ac_n "checking for gcc 3.0 ABI""... $ac_c" 1>&6
-echo "configure:10904: checking for gcc 3.0 ABI" >&5
+echo "configure:10906: checking for gcc 3.0 ABI" >&5
if eval "test \"`echo '$''{'ac_cv_gcc_three_abi'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 10909 "configure"
+#line 10911 "configure"
#include "confdefs.h"
int main() {
@@ -10918,7 +10920,7 @@
; return 0; }
EOF
-if { (eval echo configure:10922: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:10924: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_gcc_three_abi="yes"
else
@@ -10942,12 +10944,12 @@
echo $ac_n "checking for C++ \"explicit\" keyword""... $ac_c" 1>&6
-echo "configure:10946: checking for C++ \"explicit\" keyword" >&5
+echo "configure:10948: checking for C++ \"explicit\" keyword" >&5
if eval "test \"`echo '$''{'ac_cv_cpp_explicit'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 10951 "configure"
+#line 10953 "configure"
#include "confdefs.h"
class X {
public: explicit X(int i) : i_(i) {}
@@ -10957,7 +10959,7 @@
X x(3);
; return 0; }
EOF
-if { (eval echo configure:10961: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:10963: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_cpp_explicit=yes
else
@@ -10978,12 +10980,12 @@
fi
echo $ac_n "checking for C++ \"typename\" keyword""... $ac_c" 1>&6
-echo "configure:10982: checking for C++ \"typename\" keyword" >&5
+echo "configure:10984: checking for C++ \"typename\" keyword" >&5
if eval "test \"`echo '$''{'ac_cv_cpp_typename'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 10987 "configure"
+#line 10989 "configure"
#include "confdefs.h"
class param {
public:
@@ -11002,7 +11004,7 @@
A.foo(0);
; return 0; }
EOF
-if { (eval echo configure:11006: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11008: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_cpp_typename=yes
else
@@ -11023,12 +11025,12 @@
fi
echo $ac_n "checking for modern C++ template specialization syntax support""... $ac_c" 1>&6
-echo "configure:11027: checking for modern C++ template specialization syntax support" >&5
+echo "configure:11029: checking for modern C++ template specialization syntax support" >&5
if eval "test \"`echo '$''{'ac_cv_cpp_modern_specialize_template_syntax'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 11032 "configure"
+#line 11034 "configure"
#include "confdefs.h"
template <class T> struct X { int a; };
class Y {};
@@ -11038,7 +11040,7 @@
X<Y> y_x;
; return 0; }
EOF
-if { (eval echo configure:11042: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11044: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_cpp_modern_specialize_template_syntax=yes
else
@@ -11060,12 +11062,12 @@
echo $ac_n "checking whether partial template specialization works""... $ac_c" 1>&6
-echo "configure:11064: checking whether partial template specialization works" >&5
+echo "configure:11066: checking whether partial template specialization works" >&5
if eval "test \"`echo '$''{'ac_cv_cpp_partial_specialization'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 11069 "configure"
+#line 11071 "configure"
#include "confdefs.h"
template <class T> class Foo {};
template <class T> class Foo<T*> {};
@@ -11073,7 +11075,7 @@
return 0;
; return 0; }
EOF
-if { (eval echo configure:11077: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11079: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_cpp_partial_specialization=yes
else
@@ -11094,12 +11096,12 @@
fi
echo $ac_n "checking whether operators must be re-defined for templates derived from templates""... $ac_c" 1>&6
-echo "configure:11098: checking whether operators must be re-defined for templates derived from templates" >&5
+echo "configure:11100: checking whether operators must be re-defined for templates derived from templates" >&5
if eval "test \"`echo '$''{'ac_cv_need_derived_template_operators'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 11103 "configure"
+#line 11105 "configure"
#include "confdefs.h"
template <class T> class Base { };
template <class T>
@@ -11111,7 +11113,7 @@
return 0;
; return 0; }
EOF
-if { (eval echo configure:11115: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11117: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_need_derived_template_operators=no
else
@@ -11133,12 +11135,12 @@
echo $ac_n "checking whether we need to cast a derived template to pass as its base class""... $ac_c" 1>&6
-echo "configure:11137: checking whether we need to cast a derived template to pass as its base class" >&5
+echo "configure:11139: checking whether we need to cast a derived template to pass as its base class" >&5
if eval "test \"`echo '$''{'ac_cv_need_cpp_template_cast_to_base'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 11142 "configure"
+#line 11144 "configure"
#include "confdefs.h"
template <class T> class Base { };
template <class T> class Derived : public Base<T> { };
@@ -11147,7 +11149,7 @@
Derived<char> bar; return foo(bar);
; return 0; }
EOF
-if { (eval echo configure:11151: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11153: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_need_cpp_template_cast_to_base=no
else
@@ -11168,12 +11170,12 @@
fi
echo $ac_n "checking whether the compiler can resolve const ambiguities for templates""... $ac_c" 1>&6
-echo "configure:11172: checking whether the compiler can resolve const ambiguities for templates" >&5
+echo "configure:11174: checking whether the compiler can resolve const ambiguities for templates" >&5
if eval "test \"`echo '$''{'ac_cv_can_resolve_const_ambiguity'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 11177 "configure"
+#line 11179 "configure"
#include "confdefs.h"
template <class T> class ptrClass {
@@ -11194,7 +11196,7 @@
a(&i);
; return 0; }
EOF
-if { (eval echo configure:11198: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11200: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_can_resolve_const_ambiguity=yes
else
@@ -11216,12 +11218,12 @@
echo $ac_n "checking whether the C++ \"using\" keyword can change access""... $ac_c" 1>&6
-echo "configure:11220: checking whether the C++ \"using\" keyword can change access" >&5
+echo "configure:11222: checking whether the C++ \"using\" keyword can change access" >&5
if eval "test \"`echo '$''{'ac_cv_cpp_access_changing_using2'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 11225 "configure"
+#line 11227 "configure"
#include "confdefs.h"
class A { protected: int foo() { return 0; } };
class B : public A { public: using A::foo; };
@@ -11229,10 +11231,10 @@
B b; return b.foo();
; return 0; }
EOF
-if { (eval echo configure:11233: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11235: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
cat > conftest.$ac_ext <<EOF
-#line 11236 "configure"
+#line 11238 "configure"
#include "confdefs.h"
class A { public: int foo() { return 1; } };
class B : public A { private: using A::foo; };
@@ -11240,7 +11242,7 @@
B b; return b.foo();
; return 0; }
EOF
-if { (eval echo configure:11244: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11246: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_cpp_access_changing_using2=no
else
@@ -11268,12 +11270,12 @@
fi
echo $ac_n "checking whether the C++ \"using\" keyword resolves ambiguity""... $ac_c" 1>&6
-echo "configure:11272: checking whether the C++ \"using\" keyword resolves ambiguity" >&5
+echo "configure:11274: checking whether the C++ \"using\" keyword resolves ambiguity" >&5
if eval "test \"`echo '$''{'ac_cv_cpp_ambiguity_resolving_using'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 11277 "configure"
+#line 11279 "configure"
#include "confdefs.h"
class X {
public: int go(const X&) {return 3;}
@@ -11289,7 +11291,7 @@
X x; Y y; y.jo(x);
; return 0; }
EOF
-if { (eval echo configure:11293: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11295: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_cpp_ambiguity_resolving_using=yes
else
@@ -11310,19 +11312,19 @@
fi
echo $ac_n "checking for \"std::\" namespace""... $ac_c" 1>&6
-echo "configure:11314: checking for \"std::\" namespace" >&5
+echo "configure:11316: checking for \"std::\" namespace" >&5
if eval "test \"`echo '$''{'ac_cv_cpp_namespace_std'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 11319 "configure"
+#line 11321 "configure"
#include "confdefs.h"
#include <algorithm>
int main() {
return std::min(0, 1);
; return 0; }
EOF
-if { (eval echo configure:11326: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11328: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_cpp_namespace_std=yes
else
@@ -11343,12 +11345,12 @@
fi
echo $ac_n "checking whether standard template operator!=() is ambiguous""... $ac_c" 1>&6
-echo "configure:11347: checking whether standard template operator!=() is ambiguous" >&5
+echo "configure:11349: checking whether standard template operator!=() is ambiguous" >&5
if eval "test \"`echo '$''{'ac_cv_cpp_unambiguous_std_notequal'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 11352 "configure"
+#line 11354 "configure"
#include "confdefs.h"
#include <algorithm>
struct T1 {};
@@ -11358,7 +11360,7 @@
T1 a,b; return a != b;
; return 0; }
EOF
-if { (eval echo configure:11362: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11364: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_cpp_unambiguous_std_notequal=unambiguous
else
@@ -11380,12 +11382,12 @@
echo $ac_n "checking for C++ reinterpret_cast""... $ac_c" 1>&6
-echo "configure:11384: checking for C++ reinterpret_cast" >&5
+echo "configure:11386: checking for C++ reinterpret_cast" >&5
if eval "test \"`echo '$''{'ac_cv_cpp_reinterpret_cast'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 11389 "configure"
+#line 11391 "configure"
#include "confdefs.h"
struct X { int i; };
struct Y { int i; };
@@ -11393,7 +11395,7 @@
X x; X*const z = &x;Y*y = reinterpret_cast<Y*>(z);
; return 0; }
EOF
-if { (eval echo configure:11397: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11399: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_cpp_reinterpret_cast=yes
else
@@ -11414,7 +11416,7 @@
fi
echo $ac_n "checking for C++ dynamic_cast to void*""... $ac_c" 1>&6
-echo "configure:11418: checking for C++ dynamic_cast to void*" >&5
+echo "configure:11420: checking for C++ dynamic_cast to void*" >&5
if eval "test \"`echo '$''{'ac_cv_cpp_dynamic_cast_void_ptr'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -11422,7 +11424,7 @@
ac_cv_cpp_dynamic_cast_void_ptr=no
else
cat > conftest.$ac_ext <<EOF
-#line 11426 "configure"
+#line 11428 "configure"
#include "confdefs.h"
class X { int i; public: virtual ~X() { } };
class Y { int j; public: virtual ~Y() { } };
@@ -11438,7 +11440,7 @@
((void*)&mdo == dynamic_cast<void*>(suby))));
}
EOF
-if { (eval echo configure:11442: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:11444: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_cpp_dynamic_cast_void_ptr=yes
else
@@ -11462,19 +11464,19 @@
echo $ac_n "checking whether C++ requires implementation of unused virtual methods""... $ac_c" 1>&6
-echo "configure:11466: checking whether C++ requires implementation of unused virtual methods" >&5
+echo "configure:11468: checking whether C++ requires implementation of unused virtual methods" >&5
if eval "test \"`echo '$''{'ac_cv_cpp_unused_required'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 11471 "configure"
+#line 11473 "configure"
#include "confdefs.h"
class X {private: virtual void never_called();};
int main() {
X x;
; return 0; }
EOF
-if { (eval echo configure:11478: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11480: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_cpp_unused_required=no
else
@@ -11497,12 +11499,12 @@
echo $ac_n "checking for trouble comparing to zero near std::operator!=()""... $ac_c" 1>&6
-echo "configure:11501: checking for trouble comparing to zero near std::operator!=()" >&5
+echo "configure:11503: checking for trouble comparing to zero near std::operator!=()" >&5
if eval "test \"`echo '$''{'ac_cv_trouble_comparing_to_zero'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 11506 "configure"
+#line 11508 "configure"
#include "confdefs.h"
#include <algorithm>
template <class T> class Foo {};
@@ -11513,7 +11515,7 @@
Foo<int> f; return (0 != f);
; return 0; }
EOF
-if { (eval echo configure:11517: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11519: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_trouble_comparing_to_zero=no
else
@@ -11545,19 +11547,19 @@
echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6
-echo "configure:11549: checking for LC_MESSAGES" >&5
+echo "configure:11551: checking for LC_MESSAGES" >&5
if eval "test \"`echo '$''{'ac_cv_i18n_lc_messages'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 11554 "configure"
+#line 11556 "configure"
#include "confdefs.h"
#include <locale.h>
int main() {
int category = LC_MESSAGES;
; return 0; }
EOF
-if { (eval echo configure:11561: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11563: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_i18n_lc_messages=yes
else
@@ -11638,7 +11640,7 @@
# Extract the first word of "nspr-config", so it can be a program name with args.
set dummy nspr-config; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:11642: checking for $ac_word" >&5
+echo "configure:11644: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_NSPR_CONFIG'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -11673,7 +11675,7 @@
min_nspr_version=4.0.0
echo $ac_n "checking for NSPR - version >= $min_nspr_version (skipping)""... $ac_c" 1>&6
-echo "configure:11677: checking for NSPR - version >= $min_nspr_version (skipping)" >&5
+echo "configure:11679: checking for NSPR - version >= $min_nspr_version (skipping)" >&5
no_nspr=""
if test "$NSPR_CONFIG" = "no"; then
@@ -11775,7 +11777,7 @@
# Extract the first word of "nss-config", so it can be a program name with args.
set dummy nss-config; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:11779: checking for $ac_word" >&5
+echo "configure:11781: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_NSS_CONFIG'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -11810,7 +11812,7 @@
min_nss_version=3.0.0
echo $ac_n "checking for NSS - version >= $min_nss_version (skipping)""... $ac_c" 1>&6
-echo "configure:11814: checking for NSS - version >= $min_nss_version (skipping)" >&5
+echo "configure:11816: checking for NSS - version >= $min_nss_version (skipping)" >&5
no_nss=""
if test "$NSS_CONFIG" = "no"; then
@@ -11883,7 +11885,7 @@
SYSTEM_JPEG=
else
echo $ac_n "checking for jpeg_destroy_compress in -ljpeg""... $ac_c" 1>&6
-echo "configure:11887: checking for jpeg_destroy_compress in -ljpeg" >&5
+echo "configure:11889: checking for jpeg_destroy_compress in -ljpeg" >&5
ac_lib_var=`echo jpeg'_'jpeg_destroy_compress | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -11891,7 +11893,7 @@
ac_save_LIBS="$LIBS"
LIBS="-ljpeg $JPEG_LIBS $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 11895 "configure"
+#line 11897 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -11902,7 +11904,7 @@
jpeg_destroy_compress()
; return 0; }
EOF
-if { (eval echo configure:11906: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11908: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -11931,7 +11933,7 @@
SYSTEM_JPEG=
else
cat > conftest.$ac_ext <<EOF
-#line 11935 "configure"
+#line 11937 "configure"
#include "confdefs.h"
#include <stdio.h>
#include <sys/types.h>
@@ -11945,7 +11947,7 @@
}
EOF
-if { (eval echo configure:11949: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:11951: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
SYSTEM_JPEG=1
else
@@ -11986,7 +11988,7 @@
SYSTEM_ZLIB=
else
echo $ac_n "checking for gzread in -lz""... $ac_c" 1>&6
-echo "configure:11990: checking for gzread in -lz" >&5
+echo "configure:11992: checking for gzread in -lz" >&5
ac_lib_var=`echo z'_'gzread | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -11994,7 +11996,7 @@
ac_save_LIBS="$LIBS"
LIBS="-lz $ZLIB_LIBS $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 11998 "configure"
+#line 12000 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -12005,7 +12007,7 @@
gzread()
; return 0; }
EOF
-if { (eval echo configure:12009: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12011: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -12033,7 +12035,7 @@
SYSTEM_ZLIB=
else
cat > conftest.$ac_ext <<EOF
-#line 12037 "configure"
+#line 12039 "configure"
#include "confdefs.h"
#include <stdio.h>
@@ -12054,7 +12056,7 @@
}
EOF
-if { (eval echo configure:12058: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:12060: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
SYSTEM_ZLIB=1
else
@@ -12097,7 +12099,7 @@
SYSTEM_PNG=
else
echo $ac_n "checking for png_get_valid in -lpng""... $ac_c" 1>&6
-echo "configure:12101: checking for png_get_valid in -lpng" >&5
+echo "configure:12103: checking for png_get_valid in -lpng" >&5
ac_lib_var=`echo png'_'png_get_valid | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -12105,7 +12107,7 @@
ac_save_LIBS="$LIBS"
LIBS="-lpng $PNG_LIBS $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 12109 "configure"
+#line 12111 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -12116,7 +12118,7 @@
png_get_valid()
; return 0; }
EOF
-if { (eval echo configure:12120: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12122: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -12144,7 +12146,7 @@
SYSTEM_PNG=
else
cat > conftest.$ac_ext <<EOF
-#line 12148 "configure"
+#line 12150 "configure"
#include "confdefs.h"
#include <stdio.h>
#include <sys/types.h>
@@ -12158,7 +12160,7 @@
}
EOF
-if { (eval echo configure:12162: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:12164: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
SYSTEM_PNG=1
else
@@ -12408,7 +12410,7 @@
# Extract the first word of "gtk-config", so it can be a program name with args.
set dummy gtk-config; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:12412: checking for $ac_word" >&5
+echo "configure:12414: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_GTK_CONFIG'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -12443,7 +12445,7 @@
min_gtk_version=$GTK_VERSION
echo $ac_n "checking for GTK - version >= $min_gtk_version""... $ac_c" 1>&6
-echo "configure:12447: checking for GTK - version >= $min_gtk_version" >&5
+echo "configure:12449: checking for GTK - version >= $min_gtk_version" >&5
no_gtk=""
if test "$GTK_CONFIG" = "no" ; then
no_gtk=yes
@@ -12466,7 +12468,7 @@
echo $ac_n "cross compiling; assumed OK... $ac_c"
else
cat > conftest.$ac_ext <<EOF
-#line 12470 "configure"
+#line 12472 "configure"
#include "confdefs.h"
#include <gtk/gtk.h>
@@ -12544,7 +12546,7 @@
}
EOF
-if { (eval echo configure:12548: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:12550: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
:
else
@@ -12579,7 +12581,7 @@
CFLAGS="$CFLAGS $GTK_CFLAGS"
LIBS="$LIBS $GTK_LIBS"
cat > conftest.$ac_ext <<EOF
-#line 12583 "configure"
+#line 12585 "configure"
#include "confdefs.h"
#include <gtk/gtk.h>
@@ -12589,7 +12591,7 @@
return ((gtk_major_version) || (gtk_minor_version) || (gtk_micro_version));
; return 0; }
EOF
-if { (eval echo configure:12593: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12595: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
echo "*** The test program compiled, but did not run. This usually means"
echo "*** that the run-time linker is not finding GTK or finding the wrong"
@@ -12641,7 +12643,7 @@
# Extract the first word of "pkg-config", so it can be a program name with args.
set dummy pkg-config; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:12645: checking for $ac_word" >&5
+echo "configure:12647: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_PKG_CONFIG'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -12685,19 +12687,19 @@
PKG_CONFIG_MIN_VERSION=0.9.0
if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
echo $ac_n "checking for gtk+-2.0 >= 1.3.7""... $ac_c" 1>&6
-echo "configure:12689: checking for gtk+-2.0 >= 1.3.7" >&5
+echo "configure:12691: checking for gtk+-2.0 >= 1.3.7" >&5
if $PKG_CONFIG --exists "gtk+-2.0 >= 1.3.7" ; then
echo "$ac_t""yes" 1>&6
succeeded=yes
echo $ac_n "checking MOZ_GTK2_CFLAGS""... $ac_c" 1>&6
-echo "configure:12696: checking MOZ_GTK2_CFLAGS" >&5
+echo "configure:12698: checking MOZ_GTK2_CFLAGS" >&5
MOZ_GTK2_CFLAGS=`$PKG_CONFIG --cflags "gtk+-2.0 >= 1.3.7"`
echo "$ac_t""$MOZ_GTK2_CFLAGS" 1>&6
echo $ac_n "checking MOZ_GTK2_LIBS""... $ac_c" 1>&6
-echo "configure:12701: checking MOZ_GTK2_LIBS" >&5
+echo "configure:12703: checking MOZ_GTK2_LIBS" >&5
## don't use --libs since that can do evil things like add
## -Wl,--export-dynamic
MOZ_GTK2_LIBS="`$PKG_CONFIG --libs-only-L \"gtk+-2.0 >= 1.3.7\"` `$PKG_CONFIG --libs-only-l \"gtk+-2.0 >= 1.3.7\"`"
@@ -12762,7 +12764,7 @@
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:12766: checking for $ac_word" >&5
+echo "configure:12768: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_HOST_MOC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -12814,7 +12816,7 @@
cross_compiling=$ac_cv_prog_cxx_cross
echo $ac_n "checking for main in -lqt""... $ac_c" 1>&6
-echo "configure:12818: checking for main in -lqt" >&5
+echo "configure:12820: checking for main in -lqt" >&5
ac_lib_var=`echo qt'_'main | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -12822,14 +12824,14 @@
ac_save_LIBS="$LIBS"
LIBS="-lqt $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 12826 "configure"
+#line 12828 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
-if { (eval echo configure:12833: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12835: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -12848,7 +12850,7 @@
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for main in -lqt-mt""... $ac_c" 1>&6
-echo "configure:12852: checking for main in -lqt-mt" >&5
+echo "configure:12854: checking for main in -lqt-mt" >&5
ac_lib_var=`echo qt-mt'_'main | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -12856,14 +12858,14 @@
ac_save_LIBS="$LIBS"
LIBS="-lqt-mt $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 12860 "configure"
+#line 12862 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
-if { (eval echo configure:12867: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12869: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -12899,9 +12901,9 @@
LIBS="$LIBS $QT_LIBS"
echo $ac_n "checking Qt - version >= $QT_VERSION""... $ac_c" 1>&6
-echo "configure:12903: checking Qt - version >= $QT_VERSION" >&5
+echo "configure:12905: checking Qt - version >= $QT_VERSION" >&5
cat > conftest.$ac_ext <<EOF
-#line 12905 "configure"
+#line 12907 "configure"
#include "confdefs.h"
#include <qglobal.h>
int main() {
@@ -12912,7 +12914,7 @@
; return 0; }
EOF
-if { (eval echo configure:12916: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:12918: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
result="yes"
else
@@ -13508,7 +13510,7 @@
# Extract the first word of "pkg-config", so it can be a program name with args.
set dummy pkg-config; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:13512: checking for $ac_word" >&5
+echo "configure:13514: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_PKG_CONFIG'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -13552,19 +13554,19 @@
PKG_CONFIG_MIN_VERSION=0.9.0
if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
echo $ac_n "checking for xft""... $ac_c" 1>&6
-echo "configure:13556: checking for xft" >&5
+echo "configure:13558: checking for xft" >&5
if $PKG_CONFIG --exists "xft" ; then
echo "$ac_t""yes" 1>&6
succeeded=yes
echo $ac_n "checking MOZ_XFT_CFLAGS""... $ac_c" 1>&6
-echo "configure:13563: checking MOZ_XFT_CFLAGS" >&5
+echo "configure:13565: checking MOZ_XFT_CFLAGS" >&5
MOZ_XFT_CFLAGS=`$PKG_CONFIG --cflags "xft"`
echo "$ac_t""$MOZ_XFT_CFLAGS" 1>&6
echo $ac_n "checking MOZ_XFT_LIBS""... $ac_c" 1>&6
-echo "configure:13568: checking MOZ_XFT_LIBS" >&5
+echo "configure:13570: checking MOZ_XFT_LIBS" >&5
## don't use --libs since that can do evil things like add
## -Wl,--export-dynamic
MOZ_XFT_LIBS="`$PKG_CONFIG --libs-only-L \"xft\"` `$PKG_CONFIG --libs-only-l \"xft\"`"
@@ -13599,7 +13601,7 @@
# Extract the first word of "pkg-config", so it can be a program name with args.
set dummy pkg-config; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:13603: checking for $ac_word" >&5
+echo "configure:13605: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_PKG_CONFIG'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -13643,19 +13645,19 @@
PKG_CONFIG_MIN_VERSION=0.9.0
if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
echo $ac_n "checking for pango >= 1.1.0""... $ac_c" 1>&6
-echo "configure:13647: checking for pango >= 1.1.0" >&5
+echo "configure:13649: checking for pango >= 1.1.0" >&5
if $PKG_CONFIG --exists "pango >= 1.1.0" ; then
echo "$ac_t""yes" 1>&6
succeeded=yes
echo $ac_n "checking _PANGOCHK_CFLAGS""... $ac_c" 1>&6
-echo "configure:13654: checking _PANGOCHK_CFLAGS" >&5
+echo "configure:13656: checking _PANGOCHK_CFLAGS" >&5
_PANGOCHK_CFLAGS=`$PKG_CONFIG --cflags "pango >= 1.1.0"`
echo "$ac_t""$_PANGOCHK_CFLAGS" 1>&6
echo $ac_n "checking _PANGOCHK_LIBS""... $ac_c" 1>&6
-echo "configure:13659: checking _PANGOCHK_LIBS" >&5
+echo "configure:13661: checking _PANGOCHK_LIBS" >&5
## don't use --libs since that can do evil things like add
## -Wl,--export-dynamic
_PANGOCHK_LIBS="`$PKG_CONFIG --libs-only-L \"pango >= 1.1.0\"` `$PKG_CONFIG --libs-only-l \"pango >= 1.1.0\"`"
@@ -13715,7 +13717,7 @@
# Extract the first word of "pkg-config", so it can be a program name with args.
set dummy pkg-config; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:13719: checking for $ac_word" >&5
+echo "configure:13721: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_PKG_CONFIG'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -13759,19 +13761,19 @@
PKG_CONFIG_MIN_VERSION=0.9.0
if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
echo $ac_n "checking for pango >= 1.6.0 pangoft2 >= 1.6.0""... $ac_c" 1>&6
-echo "configure:13763: checking for pango >= 1.6.0 pangoft2 >= 1.6.0" >&5
+echo "configure:13765: checking for pango >= 1.6.0 pangoft2 >= 1.6.0" >&5
if $PKG_CONFIG --exists "pango >= 1.6.0 pangoft2 >= 1.6.0" ; then
echo "$ac_t""yes" 1>&6
succeeded=yes
echo $ac_n "checking MOZ_PANGO_CFLAGS""... $ac_c" 1>&6
-echo "configure:13770: checking MOZ_PANGO_CFLAGS" >&5
+echo "configure:13772: checking MOZ_PANGO_CFLAGS" >&5
MOZ_PANGO_CFLAGS=`$PKG_CONFIG --cflags "pango >= 1.6.0 pangoft2 >= 1.6.0"`
echo "$ac_t""$MOZ_PANGO_CFLAGS" 1>&6
echo $ac_n "checking MOZ_PANGO_LIBS""... $ac_c" 1>&6
-echo "configure:13775: checking MOZ_PANGO_LIBS" >&5
+echo "configure:13777: checking MOZ_PANGO_LIBS" >&5
## don't use --libs since that can do evil things like add
## -Wl,--export-dynamic
MOZ_PANGO_LIBS="`$PKG_CONFIG --libs-only-L \"pango >= 1.6.0 pangoft2 >= 1.6.0\"` `$PKG_CONFIG --libs-only-l \"pango >= 1.6.0 pangoft2 >= 1.6.0\"`"
@@ -13839,7 +13841,7 @@
_SAVE_LDFLAGS="$LDFLAGS"
LDFLAGS="$XLDFLAGS $LDFLAGS"
echo $ac_n "checking for XpGetPrinterList in -lXp""... $ac_c" 1>&6
-echo "configure:13843: checking for XpGetPrinterList in -lXp" >&5
+echo "configure:13845: checking for XpGetPrinterList in -lXp" >&5
ac_lib_var=`echo Xp'_'XpGetPrinterList | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -13847,7 +13849,7 @@
ac_save_LIBS="$LIBS"
LIBS="-lXp $XEXT_LIBS $XLIBS $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 13851 "configure"
+#line 13853 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -13858,7 +13860,7 @@
XpGetPrinterList()
; return 0; }
EOF
-if { (eval echo configure:13862: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13864: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -13931,7 +13933,7 @@
# Extract the first word of "pkg-config", so it can be a program name with args.
set dummy pkg-config; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:13935: checking for $ac_word" >&5
+echo "configure:13937: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_PKG_CONFIG'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -13975,19 +13977,19 @@
PKG_CONFIG_MIN_VERSION=0.9.0
if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
echo $ac_n "checking for gnome-vfs-2.0 >= $GNOMEVFS_VERSION gnome-vfs-module-2.0 >= $GNOMEVFS_VERSION""... $ac_c" 1>&6
-echo "configure:13979: checking for gnome-vfs-2.0 >= $GNOMEVFS_VERSION gnome-vfs-module-2.0 >= $GNOMEVFS_VERSION" >&5
+echo "configure:13981: checking for gnome-vfs-2.0 >= $GNOMEVFS_VERSION gnome-vfs-module-2.0 >= $GNOMEVFS_VERSION" >&5
if $PKG_CONFIG --exists "gnome-vfs-2.0 >= $GNOMEVFS_VERSION gnome-vfs-module-2.0 >= $GNOMEVFS_VERSION" ; then
echo "$ac_t""yes" 1>&6
succeeded=yes
echo $ac_n "checking MOZ_GNOMEVFS_CFLAGS""... $ac_c" 1>&6
-echo "configure:13986: checking MOZ_GNOMEVFS_CFLAGS" >&5
+echo "configure:13988: checking MOZ_GNOMEVFS_CFLAGS" >&5
MOZ_GNOMEVFS_CFLAGS=`$PKG_CONFIG --cflags "gnome-vfs-2.0 >= $GNOMEVFS_VERSION gnome-vfs-module-2.0 >= $GNOMEVFS_VERSION"`
echo "$ac_t""$MOZ_GNOMEVFS_CFLAGS" 1>&6
echo $ac_n "checking MOZ_GNOMEVFS_LIBS""... $ac_c" 1>&6
-echo "configure:13991: checking MOZ_GNOMEVFS_LIBS" >&5
+echo "configure:13993: checking MOZ_GNOMEVFS_LIBS" >&5
## don't use --libs since that can do evil things like add
## -Wl,--export-dynamic
MOZ_GNOMEVFS_LIBS="`$PKG_CONFIG --libs-only-L \"gnome-vfs-2.0 >= $GNOMEVFS_VERSION gnome-vfs-module-2.0 >= $GNOMEVFS_VERSION\"` `$PKG_CONFIG --libs-only-l \"gnome-vfs-2.0 >= $GNOMEVFS_VERSION gnome-vfs-module-2.0 >= $GNOMEVFS_VERSION\"`"
@@ -14038,7 +14040,7 @@
# Extract the first word of "pkg-config", so it can be a program name with args.
set dummy pkg-config; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:14042: checking for $ac_word" >&5
+echo "configure:14044: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_PKG_CONFIG'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -14082,19 +14084,19 @@
PKG_CONFIG_MIN_VERSION=0.9.0
if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
echo $ac_n "checking for gconf-2.0 >= $GCONF_VERSION""... $ac_c" 1>&6
-echo "configure:14086: checking for gconf-2.0 >= $GCONF_VERSION" >&5
+echo "configure:14088: checking for gconf-2.0 >= $GCONF_VERSION" >&5
if $PKG_CONFIG --exists "gconf-2.0 >= $GCONF_VERSION" ; then
echo "$ac_t""yes" 1>&6
succeeded=yes
echo $ac_n "checking MOZ_GCONF_CFLAGS""... $ac_c" 1>&6
-echo "configure:14093: checking MOZ_GCONF_CFLAGS" >&5
+echo "configure:14095: checking MOZ_GCONF_CFLAGS" >&5
MOZ_GCONF_CFLAGS=`$PKG_CONFIG --cflags "gconf-2.0 >= $GCONF_VERSION"`
echo "$ac_t""$MOZ_GCONF_CFLAGS" 1>&6
echo $ac_n "checking MOZ_GCONF_LIBS""... $ac_c" 1>&6
-echo "configure:14098: checking MOZ_GCONF_LIBS" >&5
+echo "configure:14100: checking MOZ_GCONF_LIBS" >&5
## don't use --libs since that can do evil things like add
## -Wl,--export-dynamic
MOZ_GCONF_LIBS="`$PKG_CONFIG --libs-only-L \"gconf-2.0 >= $GCONF_VERSION\"` `$PKG_CONFIG --libs-only-l \"gconf-2.0 >= $GCONF_VERSION\"`"
@@ -14141,7 +14143,7 @@
# Extract the first word of "pkg-config", so it can be a program name with args.
set dummy pkg-config; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:14145: checking for $ac_word" >&5
+echo "configure:14147: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_PKG_CONFIG'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -14185,19 +14187,19 @@
PKG_CONFIG_MIN_VERSION=0.9.0
if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
echo $ac_n "checking for libgnome-2.0 >= $LIBGNOME_VERSION""... $ac_c" 1>&6
-echo "configure:14189: checking for libgnome-2.0 >= $LIBGNOME_VERSION" >&5
+echo "configure:14191: checking for libgnome-2.0 >= $LIBGNOME_VERSION" >&5
if $PKG_CONFIG --exists "libgnome-2.0 >= $LIBGNOME_VERSION" ; then
echo "$ac_t""yes" 1>&6
succeeded=yes
echo $ac_n "checking MOZ_LIBGNOME_CFLAGS""... $ac_c" 1>&6
-echo "configure:14196: checking MOZ_LIBGNOME_CFLAGS" >&5
+echo "configure:14198: checking MOZ_LIBGNOME_CFLAGS" >&5
MOZ_LIBGNOME_CFLAGS=`$PKG_CONFIG --cflags "libgnome-2.0 >= $LIBGNOME_VERSION"`
echo "$ac_t""$MOZ_LIBGNOME_CFLAGS" 1>&6
echo $ac_n "checking MOZ_LIBGNOME_LIBS""... $ac_c" 1>&6
-echo "configure:14201: checking MOZ_LIBGNOME_LIBS" >&5
+echo "configure:14203: checking MOZ_LIBGNOME_LIBS" >&5
## don't use --libs since that can do evil things like add
## -Wl,--export-dynamic
MOZ_LIBGNOME_LIBS="`$PKG_CONFIG --libs-only-L \"libgnome-2.0 >= $LIBGNOME_VERSION\"` `$PKG_CONFIG --libs-only-l \"libgnome-2.0 >= $LIBGNOME_VERSION\"`"
@@ -14275,7 +14277,7 @@
# Extract the first word of "pkg-config", so it can be a program name with args.
set dummy pkg-config; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:14279: checking for $ac_word" >&5
+echo "configure:14281: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_PKG_CONFIG'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -14319,19 +14321,19 @@
PKG_CONFIG_MIN_VERSION=0.9.0
if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
echo $ac_n "checking for libgnomeui-2.0 >= $GNOMEUI_VERSION""... $ac_c" 1>&6
-echo "configure:14323: checking for libgnomeui-2.0 >= $GNOMEUI_VERSION" >&5
+echo "configure:14325: checking for libgnomeui-2.0 >= $GNOMEUI_VERSION" >&5
if $PKG_CONFIG --exists "libgnomeui-2.0 >= $GNOMEUI_VERSION" ; then
echo "$ac_t""yes" 1>&6
succeeded=yes
echo $ac_n "checking MOZ_GNOMEUI_CFLAGS""... $ac_c" 1>&6
-echo "configure:14330: checking MOZ_GNOMEUI_CFLAGS" >&5
+echo "configure:14332: checking MOZ_GNOMEUI_CFLAGS" >&5
MOZ_GNOMEUI_CFLAGS=`$PKG_CONFIG --cflags "libgnomeui-2.0 >= $GNOMEUI_VERSION"`
echo "$ac_t""$MOZ_GNOMEUI_CFLAGS" 1>&6
echo $ac_n "checking MOZ_GNOMEUI_LIBS""... $ac_c" 1>&6
-echo "configure:14335: checking MOZ_GNOMEUI_LIBS" >&5
+echo "configure:14337: checking MOZ_GNOMEUI_LIBS" >&5
## don't use --libs since that can do evil things like add
## -Wl,--export-dynamic
MOZ_GNOMEUI_LIBS="`$PKG_CONFIG --libs-only-L \"libgnomeui-2.0 >= $GNOMEUI_VERSION\"` `$PKG_CONFIG --libs-only-l \"libgnomeui-2.0 >= $GNOMEUI_VERSION\"`"
@@ -14817,7 +14819,7 @@
# Extract the first word of "javac", so it can be a program name with args.
set dummy javac; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:14821: checking for $ac_word" >&5
+echo "configure:14823: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_JAVAC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -14853,7 +14855,7 @@
# Extract the first word of "jar", so it can be a program name with args.
set dummy jar; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:14857: checking for $ac_word" >&5
+echo "configure:14859: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_JAR'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -15100,7 +15102,7 @@
gdiplus)
MOZ_SVG_RENDERER_GDIPLUS=1
echo $ac_n "checking for Gdiplus.h""... $ac_c" 1>&6
-echo "configure:15104: checking for Gdiplus.h" >&5
+echo "configure:15106: checking for Gdiplus.h" >&5
ac_ext=C
# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -15110,7 +15112,7 @@
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 15114 "configure"
+#line 15116 "configure"
#include "confdefs.h"
#include <windows.h>
#include <unknwn.h>
@@ -15119,7 +15121,7 @@
; return 0; }
EOF
-if { (eval echo configure:15123: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:15125: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
else
@@ -15199,7 +15201,7 @@
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:15203: checking for $ac_word" >&5
+echo "configure:15205: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_MAKENSIS'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -15244,7 +15246,7 @@
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:15248: checking for $ac_word" >&5
+echo "configure:15250: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_HOST_ICONV'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -15313,13 +15315,13 @@
msvc*|mks*|cygwin*|mingw*|wince*)
if test -n "$MOZ_UPDATER"; then
echo $ac_n "checking for iconv""... $ac_c" 1>&6
-echo "configure:15317: checking for iconv" >&5
+echo "configure:15319: checking for iconv" >&5
for ac_prog in $HOST_ICONV "iconv"
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:15323: checking for $ac_word" >&5
+echo "configure:15325: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_HOST_ICONV'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -15665,18 +15667,18 @@
if test -n "$MOZ_DEBUG"; then
echo $ac_n "checking for valid debug flags""... $ac_c" 1>&6
-echo "configure:15669: checking for valid debug flags" >&5
+echo "configure:15671: checking for valid debug flags" >&5
_SAVE_CFLAGS=$CFLAGS
CFLAGS="$CFLAGS $MOZ_DEBUG_FLAGS"
cat > conftest.$ac_ext <<EOF
-#line 15673 "configure"
+#line 15675 "configure"
#include "confdefs.h"
#include <stdio.h>
int main() {
printf("Hello World\n");
; return 0; }
EOF
-if { (eval echo configure:15680: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:15682: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
_results=yes
else
@@ -15717,18 +15719,18 @@
if test "$COMPILE_ENVIRONMENT"; then
if test -n "$MOZ_OPTIMIZE"; then
echo $ac_n "checking for valid optimization flags""... $ac_c" 1>&6
-echo "configure:15721: checking for valid optimization flags" >&5
+echo "configure:15723: checking for valid optimization flags" >&5
_SAVE_CFLAGS=$CFLAGS
CFLAGS="$CFLAGS $MOZ_OPTIMIZE_FLAGS"
cat > conftest.$ac_ext <<EOF
-#line 15725 "configure"
+#line 15727 "configure"
#include "confdefs.h"
#include <stdio.h>
int main() {
printf("Hello World\n");
; return 0; }
EOF
-if { (eval echo configure:15732: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:15734: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
_results=yes
else
@@ -15945,7 +15947,7 @@
if test -n "$_ENABLE_EFENCE"; then
echo $ac_n "checking for malloc in -lefence""... $ac_c" 1>&6
-echo "configure:15949: checking for malloc in -lefence" >&5
+echo "configure:15951: checking for malloc in -lefence" >&5
ac_lib_var=`echo efence'_'malloc | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -15953,7 +15955,7 @@
ac_save_LIBS="$LIBS"
LIBS="-lefence $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 15957 "configure"
+#line 15959 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -15964,7 +15966,7 @@
malloc()
; return 0; }
EOF
-if { (eval echo configure:15968: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:15970: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -16065,12 +16067,12 @@
for ac_func in __builtin_vec_new __builtin_vec_delete __builtin_new __builtin_delete __pure_virtual
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:16069: checking for $ac_func" >&5
+echo "configure:16071: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 16074 "configure"
+#line 16076 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -16096,7 +16098,7 @@
; return 0; }
EOF
-if { (eval echo configure:16100: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:16102: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -16339,12 +16341,12 @@
for ac_func in __cxa_demangle
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:16343: checking for $ac_func" >&5
+echo "configure:16345: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 16348 "configure"
+#line 16350 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -16370,7 +16372,7 @@
; return 0; }
EOF
-if { (eval echo configure:16374: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:16376: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -16508,7 +16510,7 @@
# Compiler Options
echo $ac_n "checking for gcc -pipe support""... $ac_c" 1>&6
-echo "configure:16512: checking for gcc -pipe support" >&5
+echo "configure:16514: checking for gcc -pipe support" >&5
if test -n "$GNU_CC" && test -n "$GNU_CXX" && test -n "$GNU_AS"; then
echo '#include <stdio.h>' > dummy-hello.c
echo 'int main() { printf("Hello World\n"); exit(0); }' >> dummy-hello.c
@@ -16523,14 +16525,14 @@
_SAVE_CFLAGS=$CFLAGS
CFLAGS="$CFLAGS -pipe"
cat > conftest.$ac_ext <<EOF
-#line 16527 "configure"
+#line 16529 "configure"
#include "confdefs.h"
#include <stdio.h>
int main() {
printf("Hello World\n");
; return 0; }
EOF
-if { (eval echo configure:16534: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:16536: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
_res_gcc_pipe="yes"
else
@@ -16572,16 +16574,16 @@
_SAVE_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS ${_COMPILER_PREFIX}-Wno-long-long"
echo $ac_n "checking whether compiler supports -Wno-long-long""... $ac_c" 1>&6
-echo "configure:16576: checking whether compiler supports -Wno-long-long" >&5
+echo "configure:16578: checking whether compiler supports -Wno-long-long" >&5
cat > conftest.$ac_ext <<EOF
-#line 16578 "configure"
+#line 16580 "configure"
#include "confdefs.h"
int main() {
return(0);
; return 0; }
EOF
-if { (eval echo configure:16585: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:16587: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
_WARNINGS_CFLAGS="${_WARNINGS_CFLAGS} ${_COMPILER_PREFIX}-Wno-long-long"
_WARNINGS_CXXFLAGS="${_WARNINGS_CXXFLAGS} ${_COMPILER_PREFIX}-Wno-long-long"
@@ -16602,16 +16604,16 @@
CFLAGS="$CFLAGS -fprofile-generate"
echo $ac_n "checking whether C compiler supports -fprofile-generate""... $ac_c" 1>&6
-echo "configure:16606: checking whether C compiler supports -fprofile-generate" >&5
+echo "configure:16608: checking whether C compiler supports -fprofile-generate" >&5
cat > conftest.$ac_ext <<EOF
-#line 16608 "configure"
+#line 16610 "configure"
#include "confdefs.h"
int main() {
return 0;
; return 0; }
EOF
-if { (eval echo configure:16615: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:16617: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
PROFILE_GEN_CFLAGS="-fprofile-generate"
result="yes"
@@ -16629,16 +16631,16 @@
else
CFLAGS="$_SAVE_CFLAGS -fprofile-arcs"
echo $ac_n "checking whether C compiler supports -fprofile-arcs""... $ac_c" 1>&6
-echo "configure:16633: checking whether C compiler supports -fprofile-arcs" >&5
+echo "configure:16635: checking whether C compiler supports -fprofile-arcs" >&5
cat > conftest.$ac_ext <<EOF
-#line 16635 "configure"
+#line 16637 "configure"
#include "confdefs.h"
int main() {
return 0;
; return 0; }
EOF
-if { (eval echo configure:16642: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:16644: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
PROFILE_GEN_CFLAGS="-fprofile-arcs"
result="yes"
@@ -16684,16 +16686,16 @@
_SAVE_CXXFLAGS=$CXXFLAGS
CXXFLAGS="$CXXFLAGS ${_WARNINGS_CXXFLAGS} ${_COMPILER_PREFIX}-pedantic"
echo $ac_n "checking whether C++ compiler has -pedantic long long bug""... $ac_c" 1>&6
-echo "configure:16688: checking whether C++ compiler has -pedantic long long bug" >&5
+echo "configure:16690: checking whether C++ compiler has -pedantic long long bug" >&5
cat > conftest.$ac_ext <<EOF
-#line 16690 "configure"
+#line 16692 "configure"
#include "confdefs.h"
$configure_static_assert_macros
int main() {
CONFIGURE_STATIC_ASSERT(sizeof(long long) == 8)
; return 0; }
EOF
-if { (eval echo configure:16697: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:16699: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
result="no"
else
@@ -16718,12 +16720,12 @@
fi
echo $ac_n "checking for correct temporary object destruction order""... $ac_c" 1>&6
-echo "configure:16722: checking for correct temporary object destruction order" >&5
+echo "configure:16724: checking for correct temporary object destruction order" >&5
if test "$cross_compiling" = yes; then
result="maybe"
else
cat > conftest.$ac_ext <<EOF
-#line 16727 "configure"
+#line 16729 "configure"
#include "confdefs.h"
class A {
public: A(int& x) : mValue(x) {}
@@ -16743,7 +16745,7 @@
}
EOF
-if { (eval echo configure:16747: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:16749: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
result="yes"
else
@@ -16764,12 +16766,12 @@
_SAVE_CXXFLAGS=$CXXFLAGS
CXXFLAGS="$CXXFLAGS ${_WARNINGS_CXXFLAGS}"
echo $ac_n "checking for correct overload resolution with const and templates""... $ac_c" 1>&6
-echo "configure:16768: checking for correct overload resolution with const and templates" >&5
+echo "configure:16770: checking for correct overload resolution with const and templates" >&5
if eval "test \"`echo '$''{'ac_nscap_nonconst_opeq_bug'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 16773 "configure"
+#line 16775 "configure"
#include "confdefs.h"
template <class T>
@@ -16799,7 +16801,7 @@
; return 0; }
EOF
-if { (eval echo configure:16803: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:16805: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_nscap_nonconst_opeq_bug="no"
else
@@ -17091,7 +17093,7 @@
# Extract the first word of "pkg-config", so it can be a program name with args.
set dummy pkg-config; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:17095: checking for $ac_word" >&5
+echo "configure:17097: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_PKG_CONFIG'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -17135,19 +17137,19 @@
PKG_CONFIG_MIN_VERSION=0.9.0
if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
echo $ac_n "checking for libIDL-2.0 >= 0.8.0""... $ac_c" 1>&6
-echo "configure:17139: checking for libIDL-2.0 >= 0.8.0" >&5
+echo "configure:17141: checking for libIDL-2.0 >= 0.8.0" >&5
if $PKG_CONFIG --exists "libIDL-2.0 >= 0.8.0" ; then
echo "$ac_t""yes" 1>&6
succeeded=yes
echo $ac_n "checking LIBIDL_CFLAGS""... $ac_c" 1>&6
-echo "configure:17146: checking LIBIDL_CFLAGS" >&5
+echo "configure:17148: checking LIBIDL_CFLAGS" >&5
LIBIDL_CFLAGS=`$PKG_CONFIG --cflags "libIDL-2.0 >= 0.8.0"`
echo "$ac_t""$LIBIDL_CFLAGS" 1>&6
echo $ac_n "checking LIBIDL_LIBS""... $ac_c" 1>&6
-echo "configure:17151: checking LIBIDL_LIBS" >&5
+echo "configure:17153: checking LIBIDL_LIBS" >&5
## don't use --libs since that can do evil things like add
## -Wl,--export-dynamic
LIBIDL_LIBS="`$PKG_CONFIG --libs-only-L \"libIDL-2.0 >= 0.8.0\"` `$PKG_CONFIG --libs-only-l \"libIDL-2.0 >= 0.8.0\"`"
@@ -17270,7 +17272,7 @@
# Extract the first word of "glib-config", so it can be a program name with args.
set dummy glib-config; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:17274: checking for $ac_word" >&5
+echo "configure:17276: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_GLIB_CONFIG'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -17305,7 +17307,7 @@
min_glib_version=1.2.0
echo $ac_n "checking for GLIB - version >= $min_glib_version""... $ac_c" 1>&6
-echo "configure:17309: checking for GLIB - version >= $min_glib_version" >&5
+echo "configure:17311: checking for GLIB - version >= $min_glib_version" >&5
no_glib=""
if test "$GLIB_CONFIG" = "no" ; then
no_glib=yes
@@ -17328,7 +17330,7 @@
echo $ac_n "cross compiling; assumed OK... $ac_c"
else
cat > conftest.$ac_ext <<EOF
-#line 17332 "configure"
+#line 17334 "configure"
#include "confdefs.h"
#include <glib.h>
@@ -17404,7 +17406,7 @@
}
EOF
-if { (eval echo configure:17408: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:17410: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
:
else
@@ -17438,7 +17440,7 @@
CFLAGS="$CFLAGS $GLIB_CFLAGS"
LIBS="$LIBS $GLIB_LIBS"
cat > conftest.$ac_ext <<EOF
-#line 17442 "configure"
+#line 17444 "configure"
#include "confdefs.h"
#include <glib.h>
@@ -17448,7 +17450,7 @@
return ((glib_major_version) || (glib_minor_version) || (glib_micro_version));
; return 0; }
EOF
-if { (eval echo configure:17452: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:17454: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
echo "*** The test program compiled, but did not run. This usually means"
echo "*** that the run-time linker is not finding GLIB or finding the wrong"
@@ -17492,7 +17494,7 @@
# Extract the first word of "libIDL-config", so it can be a program name with args.
set dummy libIDL-config; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:17496: checking for $ac_word" >&5
+echo "configure:17498: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_LIBIDL_CONFIG'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -17527,7 +17529,7 @@
min_libIDL_version=$LIBIDL_VERSION
echo $ac_n "checking for libIDL - version >= $min_libIDL_version""... $ac_c" 1>&6
-echo "configure:17531: checking for libIDL - version >= $min_libIDL_version" >&5
+echo "configure:17533: checking for libIDL - version >= $min_libIDL_version" >&5
no_libIDL=""
if test "$LIBIDL_CONFIG" = "no" ; then
no_libIDL=yes
@@ -17554,7 +17556,7 @@
echo $ac_n "cross compiling; assumed OK... $ac_c"
else
cat > conftest.$ac_ext <<EOF
-#line 17558 "configure"
+#line 17560 "configure"
#include "confdefs.h"
#include <stdio.h>
@@ -17640,7 +17642,7 @@
}
EOF
-if { (eval echo configure:17644: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:17646: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
:
else
@@ -17674,7 +17676,7 @@
CFLAGS="$CFLAGS $LIBIDL_CFLAGS"
LIBS="$LIBS $LIBIDL_LIBS"
cat > conftest.$ac_ext <<EOF
-#line 17678 "configure"
+#line 17680 "configure"
#include "confdefs.h"
#include <stdio.h>
@@ -17685,7 +17687,7 @@
return IDL_get_libver_string ? 1 : 0;
; return 0; }
EOF
-if { (eval echo configure:17689: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:17691: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
echo "*** The test program compiled, but did not run. This usually means"
echo "*** that the run-time linker is not finding libIDL or finding the wrong"
@@ -17813,7 +17815,7 @@
# Extract the first word of "glib-config", so it can be a program name with args.
set dummy glib-config; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:17817: checking for $ac_word" >&5
+echo "configure:17819: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_GLIB_CONFIG'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -17848,7 +17850,7 @@
min_glib_version=1.2.0
echo $ac_n "checking for GLIB - version >= $min_glib_version""... $ac_c" 1>&6
-echo "configure:17852: checking for GLIB - version >= $min_glib_version" >&5
+echo "configure:17854: checking for GLIB - version >= $min_glib_version" >&5
no_glib=""
if test "$GLIB_CONFIG" = "no" ; then
no_glib=yes
@@ -17871,7 +17873,7 @@
echo $ac_n "cross compiling; assumed OK... $ac_c"
else
cat > conftest.$ac_ext <<EOF
-#line 17875 "configure"
+#line 17877 "configure"
#include "confdefs.h"
#include <glib.h>
@@ -17947,7 +17949,7 @@
}
EOF
-if { (eval echo configure:17951: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:17953: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
:
else
@@ -17981,7 +17983,7 @@
CFLAGS="$CFLAGS $GLIB_CFLAGS"
LIBS="$LIBS $GLIB_LIBS"
cat > conftest.$ac_ext <<EOF
-#line 17985 "configure"
+#line 17987 "configure"
#include "confdefs.h"
#include <glib.h>
@@ -17991,7 +17993,7 @@
return ((glib_major_version) || (glib_minor_version) || (glib_micro_version));
; return 0; }
EOF
-if { (eval echo configure:17995: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:17997: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
echo "*** The test program compiled, but did not run. This usually means"
echo "*** that the run-time linker is not finding GLIB or finding the wrong"
@@ -18035,7 +18037,7 @@
# Extract the first word of "libIDL-config", so it can be a program name with args.
set dummy libIDL-config; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:18039: checking for $ac_word" >&5
+echo "configure:18041: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_LIBIDL_CONFIG'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -18070,7 +18072,7 @@
min_libIDL_version=$LIBIDL_VERSION
echo $ac_n "checking for libIDL - version >= $min_libIDL_version""... $ac_c" 1>&6
-echo "configure:18074: checking for libIDL - version >= $min_libIDL_version" >&5
+echo "configure:18076: checking for libIDL - version >= $min_libIDL_version" >&5
no_libIDL=""
if test "$LIBIDL_CONFIG" = "no" ; then
no_libIDL=yes
@@ -18097,7 +18099,7 @@
echo $ac_n "cross compiling; assumed OK... $ac_c"
else
cat > conftest.$ac_ext <<EOF
-#line 18101 "configure"
+#line 18103 "configure"
#include "confdefs.h"
#include <stdio.h>
@@ -18183,7 +18185,7 @@
}
EOF
-if { (eval echo configure:18187: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:18189: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
:
else
@@ -18217,7 +18219,7 @@
CFLAGS="$CFLAGS $LIBIDL_CFLAGS"
LIBS="$LIBS $LIBIDL_LIBS"
cat > conftest.$ac_ext <<EOF
-#line 18221 "configure"
+#line 18223 "configure"
#include "confdefs.h"
#include <stdio.h>
@@ -18228,7 +18230,7 @@
return IDL_get_libver_string ? 1 : 0;
; return 0; }
EOF
-if { (eval echo configure:18232: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:18234: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
echo "*** The test program compiled, but did not run. This usually means"
echo "*** that the run-time linker is not finding libIDL or finding the wrong"
@@ -18269,7 +18271,7 @@
# Extract the first word of "pkg-config", so it can be a program name with args.
set dummy pkg-config; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:18273: checking for $ac_word" >&5
+echo "configure:18275: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_PKG_CONFIG'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -18313,19 +18315,19 @@
PKG_CONFIG_MIN_VERSION=0.9.0
if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
echo $ac_n "checking for libIDL-2.0 >= 0.8.0""... $ac_c" 1>&6
-echo "configure:18317: checking for libIDL-2.0 >= 0.8.0" >&5
+echo "configure:18319: checking for libIDL-2.0 >= 0.8.0" >&5
if $PKG_CONFIG --exists "libIDL-2.0 >= 0.8.0" ; then
echo "$ac_t""yes" 1>&6
succeeded=yes
echo $ac_n "checking LIBIDL_CFLAGS""... $ac_c" 1>&6
-echo "configure:18324: checking LIBIDL_CFLAGS" >&5
+echo "configure:18326: checking LIBIDL_CFLAGS" >&5
LIBIDL_CFLAGS=`$PKG_CONFIG --cflags "libIDL-2.0 >= 0.8.0"`
echo "$ac_t""$LIBIDL_CFLAGS" 1>&6
echo $ac_n "checking LIBIDL_LIBS""... $ac_c" 1>&6
-echo "configure:18329: checking LIBIDL_LIBS" >&5
+echo "configure:18331: checking LIBIDL_LIBS" >&5
## don't use --libs since that can do evil things like add
## -Wl,--export-dynamic
LIBIDL_LIBS="`$PKG_CONFIG --libs-only-L \"libIDL-2.0 >= 0.8.0\"` `$PKG_CONFIG --libs-only-l \"libIDL-2.0 >= 0.8.0\"`"
@@ -18361,7 +18363,7 @@
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:18365: checking for $ac_word" >&5
+echo "configure:18367: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_ORBIT_CONFIG'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -18398,7 +18400,7 @@
if test -n "$ORBIT_CONFIG"; then
echo $ac_n "checking for ORBit libIDL usability""... $ac_c" 1>&6
-echo "configure:18402: checking for ORBit libIDL usability" >&5
+echo "configure:18404: checking for ORBit libIDL usability" >&5
_ORBIT_CFLAGS=`${ORBIT_CONFIG} client --cflags`
_ORBIT_LIBS=`${ORBIT_CONFIG} client --libs`
_ORBIT_INC_PATH=`${PERL} -e '{ for $f (@ARGV) { print "$f " if ($f =~ m/^-I/); } }' -- ${_ORBIT_CFLAGS}`
@@ -18415,7 +18417,7 @@
result="maybe"
else
cat > conftest.$ac_ext <<EOF
-#line 18419 "configure"
+#line 18421 "configure"
#include "confdefs.h"
#include <stdlib.h>
@@ -18430,7 +18432,7 @@
}
EOF
-if { (eval echo configure:18434: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:18436: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
_LIBIDL_FOUND=1
result="yes"
@@ -18487,7 +18489,7 @@
# Extract the first word of "pkg-config", so it can be a program name with args.
set dummy pkg-config; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:18491: checking for $ac_word" >&5
+echo "configure:18493: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_PKG_CONFIG'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -18531,19 +18533,19 @@
PKG_CONFIG_MIN_VERSION=0.9.0
if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
echo $ac_n "checking for glib-2.0 >= 1.3.7""... $ac_c" 1>&6
-echo "configure:18535: checking for glib-2.0 >= 1.3.7" >&5
+echo "configure:18537: checking for glib-2.0 >= 1.3.7" >&5
if $PKG_CONFIG --exists "glib-2.0 >= 1.3.7" ; then
echo "$ac_t""yes" 1>&6
succeeded=yes
echo $ac_n "checking GLIB_CFLAGS""... $ac_c" 1>&6
-echo "configure:18542: checking GLIB_CFLAGS" >&5
+echo "configure:18544: checking GLIB_CFLAGS" >&5
GLIB_CFLAGS=`$PKG_CONFIG --cflags "glib-2.0 >= 1.3.7"`
echo "$ac_t""$GLIB_CFLAGS" 1>&6
echo $ac_n "checking GLIB_LIBS""... $ac_c" 1>&6
-echo "configure:18547: checking GLIB_LIBS" >&5
+echo "configure:18549: checking GLIB_LIBS" >&5
## don't use --libs since that can do evil things like add
## -Wl,--export-dynamic
GLIB_LIBS="`$PKG_CONFIG --libs-only-L \"glib-2.0 >= 1.3.7\"` `$PKG_CONFIG --libs-only-l \"glib-2.0 >= 1.3.7\"`"
@@ -18627,7 +18629,7 @@
# Extract the first word of "glib-config", so it can be a program name with args.
set dummy glib-config; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:18631: checking for $ac_word" >&5
+echo "configure:18633: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_GLIB_CONFIG'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -18662,7 +18664,7 @@
min_glib_version=${GLIB_VERSION}
echo $ac_n "checking for GLIB - version >= $min_glib_version""... $ac_c" 1>&6
-echo "configure:18666: checking for GLIB - version >= $min_glib_version" >&5
+echo "configure:18668: checking for GLIB - version >= $min_glib_version" >&5
no_glib=""
if test "$GLIB_CONFIG" = "no" ; then
no_glib=yes
@@ -18685,7 +18687,7 @@
echo $ac_n "cross compiling; assumed OK... $ac_c"
else
cat > conftest.$ac_ext <<EOF
-#line 18689 "configure"
+#line 18691 "configure"
#include "confdefs.h"
#include <glib.h>
@@ -18761,7 +18763,7 @@
}
EOF
-if { (eval echo configure:18765: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:18767: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
:
else
@@ -18795,7 +18797,7 @@
CFLAGS="$CFLAGS $GLIB_CFLAGS"
LIBS="$LIBS $GLIB_LIBS"
cat > conftest.$ac_ext <<EOF
-#line 18799 "configure"
+#line 18801 "configure"
#include "confdefs.h"
#include <glib.h>
@@ -18805,7 +18807,7 @@
return ((glib_major_version) || (glib_minor_version) || (glib_micro_version));
; return 0; }
EOF
-if { (eval echo configure:18809: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:18811: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
echo "*** The test program compiled, but did not run. This usually means"
echo "*** that the run-time linker is not finding GLIB or finding the wrong"
@@ -18885,19 +18887,19 @@
# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
# for constant arguments. Useless!
echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6
-echo "configure:18889: checking for working alloca.h" >&5
+echo "configure:18891: checking for working alloca.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 18894 "configure"
+#line 18896 "configure"
#include "confdefs.h"
#include <alloca.h>
int main() {
char *p = alloca(2 * sizeof(int));
; return 0; }
EOF
-if { (eval echo configure:18901: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:18903: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_header_alloca_h=yes
else
@@ -18918,12 +18920,12 @@
fi
echo $ac_n "checking for alloca""... $ac_c" 1>&6
-echo "configure:18922: checking for alloca" >&5
+echo "configure:18924: checking for alloca" >&5
if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 18927 "configure"
+#line 18929 "configure"
#include "confdefs.h"
#ifdef __GNUC__
@@ -18951,7 +18953,7 @@
char *p = (char *) alloca(1);
; return 0; }
EOF
-if { (eval echo configure:18955: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:18957: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_func_alloca_works=yes
else
@@ -18983,12 +18985,12 @@
echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6
-echo "configure:18987: checking whether alloca needs Cray hooks" >&5
+echo "configure:18989: checking whether alloca needs Cray hooks" >&5
if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 18992 "configure"
+#line 18994 "configure"
#include "confdefs.h"
#if defined(CRAY) && ! defined(CRAY2)
webecray
@@ -19013,12 +19015,12 @@
if test $ac_cv_os_cray = yes; then
for ac_func in _getb67 GETB67 getb67; do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:19017: checking for $ac_func" >&5
+echo "configure:19019: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 19022 "configure"
+#line 19024 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -19041,7 +19043,7 @@
; return 0; }
EOF
-if { (eval echo configure:19045: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:19047: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -19068,7 +19070,7 @@
fi
echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6
-echo "configure:19072: checking stack direction for C alloca" >&5
+echo "configure:19074: checking stack direction for C alloca" >&5
if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -19076,7 +19078,7 @@
ac_cv_c_stack_direction=0
else
cat > conftest.$ac_ext <<EOF
-#line 19080 "configure"
+#line 19082 "configure"
#include "confdefs.h"
find_stack_direction ()
{
@@ -19095,7 +19097,7 @@
exit (find_stack_direction() < 0);
}
EOF
-if { (eval echo configure:19099: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:19101: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_c_stack_direction=1
else
@@ -19144,17 +19146,17 @@
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:19148: checking for $ac_hdr" >&5
+echo "configure:19150: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 19153 "configure"
+#line 19155 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:19158: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:19160: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -19245,7 +19247,7 @@
# Extract the first word of "pkg-config", so it can be a program name with args.
set dummy pkg-config; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:19249: checking for $ac_word" >&5
+echo "configure:19251: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_PKG_CONFIG'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -19289,19 +19291,19 @@
PKG_CONFIG_MIN_VERSION=0.9.0
if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
echo $ac_n "checking for cairo >= $CAIRO_VERSION""... $ac_c" 1>&6
-echo "configure:19293: checking for cairo >= $CAIRO_VERSION" >&5
+echo "configure:19295: checking for cairo >= $CAIRO_VERSION" >&5
if $PKG_CONFIG --exists "cairo >= $CAIRO_VERSION" ; then
echo "$ac_t""yes" 1>&6
succeeded=yes
echo $ac_n "checking CAIRO_CFLAGS""... $ac_c" 1>&6
-echo "configure:19300: checking CAIRO_CFLAGS" >&5
+echo "configure:19302: checking CAIRO_CFLAGS" >&5
CAIRO_CFLAGS=`$PKG_CONFIG --cflags "cairo >= $CAIRO_VERSION"`
echo "$ac_t""$CAIRO_CFLAGS" 1>&6
echo $ac_n "checking CAIRO_LIBS""... $ac_c" 1>&6
-echo "configure:19305: checking CAIRO_LIBS" >&5
+echo "configure:19307: checking CAIRO_LIBS" >&5
## don't use --libs since that can do evil things like add
## -Wl,--export-dynamic
CAIRO_LIBS="`$PKG_CONFIG --libs-only-L \"cairo >= $CAIRO_VERSION\"` `$PKG_CONFIG --libs-only-l \"cairo >= $CAIRO_VERSION\"`"
@@ -19366,7 +19368,7 @@
# Extract the first word of "python", so it can be a program name with args.
set dummy python; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:19370: checking for $ac_word" >&5
+echo "configure:19372: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_PYTHON'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -19642,14 +19644,14 @@
cross_compiling=$ac_cv_prog_cc_cross
cat > conftest.$ac_ext <<EOF
-#line 19646 "configure"
+#line 19648 "configure"
#include "confdefs.h"
#include <gmodule.h>
int main() {
int x = 1; x++;
; return 0; }
EOF
-if { (eval echo configure:19653: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:19655: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
:
else
echo "configure: failed program was:" >&5
@@ -19956,7 +19958,7 @@
_SAVE_CFLAGS=$CFLAGS
CFLAGS="$CFLAGS $XCFLAGS"
cat > conftest.$ac_ext <<EOF
-#line 19960 "configure"
+#line 19962 "configure"
#include "confdefs.h"
#include <stdio.h>
@@ -19972,7 +19974,7 @@
; return 0; }
EOF
-if { (eval echo configure:19976: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:19978: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
:
else
echo "configure: failed program was:" >&5
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/configure.in
^
|
@@ -1041,7 +1041,7 @@
;;
AIX)
OS_RELEASE=`uname -v`.`uname -r`
- OS_TEST=`uname -p`
+ OS_TEST=${target_cpu}
;;
BSD_386)
OS_ARCH=BSD
@@ -1139,7 +1139,7 @@
CPU_ARCH=x86
;;
-powerpc* | ppc)
+powerpc* | ppc | rs6000)
CPU_ARCH=ppc
;;
@@ -1446,6 +1446,8 @@
DSO_CFLAGS='-qflag=w:w'
DSO_PIC_CFLAGS=
LDFLAGS="$LDFLAGS -Wl,-brtl -blibpath:/usr/lib:/lib"
+ AC_MSG_WARN([Clearing MOZ_FIX_LINK_PATHS till we can fix bug 332075.])
+ MOZ_FIX_LINK_PATHS=
MKSHLIB='$(CXX) $(DSO_LDOPTS) -o $@'
MKCSHLIB='$(CC) $(DSO_LDOPTS) -o $@'
if test "$COMPILE_ENVIRONMENT"; then
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/content/base/src/nsDocument.cpp
^
|
@@ -2198,6 +2198,7 @@
mScriptGlobalObject = aScriptGlobalObject;
if (aScriptGlobalObject) {
+ mScriptObject = nsnull;
mHasHadScriptHandlingObject = PR_TRUE;
// Go back to using the docshell for the layout history state
mLayoutHistoryState = nsnull;
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/content/base/src/nsDocument.h
^
|
@@ -546,6 +546,11 @@
virtual nsIScriptGlobalObject*
GetScriptHandlingObject(PRBool& aHasHadScriptHandlingObject) const;
virtual void SetScriptHandlingObject(nsIScriptGlobalObject* aScriptObject);
+ void ClearScriptHandlingObject()
+ {
+ mScriptObject = nsnull;
+ mHasHadScriptHandlingObject = PR_TRUE;
+ }
virtual nsIScriptGlobalObject* GetScopeObject();
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/content/base/src/nsXMLHttpRequest.cpp
^
|
@@ -84,6 +84,7 @@
#include "nsContentErrors.h"
#include "nsLayoutStatics.h"
#include "nsIScriptObjectPrincipal.h"
+#include "nsIMultiPartChannel.h"
static const char* kLoadAsData = "loadAsData";
#define LOADSTR NS_LITERAL_STRING("load")
@@ -878,6 +879,9 @@
for (PRInt32 i = 0, i_end = aListeners->Count(); i < i_end; ++i) {
nsIDOMEventListener *listener = aListeners->ObjectAt(i);
if (listener) {
+ if (NS_FAILED(CheckInnerWindowCorrectness())) {
+ break;
+ }
listener->HandleEvent(aEvent);
}
}
@@ -1276,10 +1280,29 @@
return inStr->ReadSegments(nsXMLHttpRequest::StreamReaderFunc, (void*)this, count, &totalRead);
}
+PRBool
+IsSameOrBaseChannel(nsIRequest* aPossibleBase, nsIChannel* aChannel)
+{
+ nsCOMPtr<nsIMultiPartChannel> mpChannel = do_QueryInterface(aPossibleBase);
+ if (mpChannel) {
+ nsCOMPtr<nsIChannel> baseChannel;
+ nsresult rv = mpChannel->GetBaseChannel(getter_AddRefs(baseChannel));
+ NS_ENSURE_SUCCESS(rv, PR_FALSE);
+
+ return baseChannel == aChannel;
+ }
+
+ return aPossibleBase == aChannel;
+}
+
/* void onStartRequest (in nsIRequest request, in nsISupports ctxt); */
NS_IMETHODIMP
nsXMLHttpRequest::OnStartRequest(nsIRequest *request, nsISupports *ctxt)
{
+ if (!IsSameOrBaseChannel(request, mChannel)) {
+ return NS_OK;
+ }
+
// Don't do anything if we have been aborted
if (mState & XML_HTTP_REQUEST_UNINITIALIZED)
return NS_OK;
@@ -1293,6 +1316,8 @@
nsCOMPtr<nsIChannel> channel(do_QueryInterface(request));
NS_ENSURE_TRUE(channel, NS_ERROR_UNEXPECTED);
+ channel->SetOwner(mPrincipal);
+
mReadRequest = request;
mContext = ctxt;
mState |= XML_HTTP_REQUEST_PARSEBODY;
@@ -1327,6 +1352,9 @@
getter_AddRefs(mDocument));
if (NS_FAILED(rv)) return NS_ERROR_FAILURE;
+ nsCOMPtr<nsIDocument> doc(do_QueryInterface(mDocument));
+ doc->SetPrincipal(mPrincipal);
+
// Reset responseBody
mResponseBody.Truncate();
@@ -1393,6 +1421,10 @@
NS_IMETHODIMP
nsXMLHttpRequest::OnStopRequest(nsIRequest *request, nsISupports *ctxt, nsresult status)
{
+ if (!IsSameOrBaseChannel(request, mChannel)) {
+ return NS_OK;
+ }
+
// Don't do anything if we have been aborted
if (mState & XML_HTTP_REQUEST_UNINITIALIZED)
return NS_OK;
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/content/canvas/src/nsCanvasRenderingContext2D.cpp
^
|
@@ -2159,9 +2159,25 @@
if ((status & imgIRequest::STATUS_LOAD_COMPLETE) == 0)
return NS_ERROR_NOT_AVAILABLE;
+ // Get the "current" current URI if it's available - the one we get to
+ // after all redirects
nsCOMPtr<nsIURI> uri;
- rv = imageLoader->GetCurrentURI(uriOut);
+ nsCOMPtr<imgIRequest> currentRequest;
+ rv = imageLoader->GetRequest(nsIImageLoadingContent::CURRENT_REQUEST,
+ getter_AddRefs(currentRequest));
NS_ENSURE_SUCCESS(rv, rv);
+ if (currentRequest) {
+ nsCOMPtr<imgIRequest_MOZILLA_1_8_BRANCH> req = do_QueryInterface(currentRequest);
+ if (req)
+ req->GetCurrentURI(getter_AddRefs(uri));
+ }
+
+ if (!uri) {
+ rv = imageLoader->GetCurrentURI(getter_AddRefs(uri));
+ NS_ENSURE_SUCCESS(rv, rv);
+ }
+
+ NS_IF_ADDREF(*uriOut = uri);
*forceWriteOnlyOut = PR_FALSE;
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/content/html/content/src/Makefile.in
^
|
@@ -144,6 +144,7 @@
-I$(srcdir)/../../../events/src \
-I$(srcdir)/../../../xbl/src \
-I$(srcdir)/../../../../layout/style \
+ -I$(srcdir)/../../../../layout/tables \
-I$(srcdir) \
$(NULL)
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/content/html/content/src/nsGenericHTMLElement.cpp
^
|
@@ -3760,7 +3760,7 @@
return;
if (IsContentOfType(eHTML_FORM_CONTROL)) {
- nsIFormControlFrame* formControlFrame = GetFormControlFrame(PR_FALSE);
+ nsIFormControlFrame* formControlFrame = GetFormControlFrame(PR_TRUE);
if (formControlFrame) {
formControlFrame->SetFocus(PR_FALSE, PR_FALSE);
}
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/content/html/content/src/nsHTMLTableCellElement.cpp
^
|
@@ -45,6 +45,7 @@
#include "nsPresContext.h"
#include "nsRuleData.h"
#include "nsIDocument.h"
+#include "celldata.h"
class nsHTMLTableCellElement : public nsGenericHTMLElement,
public nsIDOMHTMLTableCellElement
@@ -259,9 +260,6 @@
{ 0 }
};
-#define MAX_ROWSPAN 8190 // celldata.h can not handle more
-#define MAX_COLSPAN 1000 // limit as IE and opera do
-
PRBool
nsHTMLTableCellElement::ParseAttribute(nsIAtom* aAttribute,
const nsAString& aValue,
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/content/html/document/src/nsMediaDocument.cpp
^
|
@@ -269,6 +269,14 @@
for (PRUint32 i = 0; i < numberOfShells; i++) {
nsIPresShell *shell = GetShellAt(i);
+ PRBool didInitialReflow = PR_FALSE;
+ shell->GetDidInitialReflow(&didInitialReflow);
+ if (didInitialReflow) {
+ // Don't mess with this presshell: someone has already handled
+ // its initial reflow.
+ continue;
+ }
+
// Make shell an observer for next time.
shell->BeginObservingDocument();
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/content/xbl/src/nsXBLBinding.cpp
^
|
@@ -1240,7 +1240,25 @@
PRBool canExecute;
nsresult rv = mgr->CanExecuteScripts(cx, principal, &canExecute);
- return NS_SUCCEEDED(rv) && canExecute;
+ if (NS_FAILED(rv) || !canExecute) {
+ return PR_FALSE;
+ }
+
+ // Now one last check: make sure that we're not allowing a privilege
+ // escalation here.
+ PRBool haveCert;
+ nsIPrincipal* targetDocPrincipal = doc->GetPrincipal();
+ if (!targetDocPrincipal) {
+ return PR_FALSE;
+ }
+ targetDocPrincipal->GetHasCertificate(&haveCert);
+ if (!haveCert) {
+ return PR_TRUE;
+ }
+
+ PRBool subsumes;
+ rv = principal->Subsumes(targetDocPrincipal, &subsumes);
+ return NS_SUCCEEDED(rv) && subsumes;
}
PR_STATIC_CALLBACK(PRBool)
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/content/xbl/src/nsXBLService.cpp
^
|
@@ -90,6 +90,7 @@
#endif
#include "nsIDOMLoadListener.h"
#include "nsIDOMEventGroup.h"
+#include "nsDocument.h"
// Static IIDs/CIDs. Try to minimize these.
static NS_DEFINE_CID(kXMLDocumentCID, NS_XMLDOCUMENT_CID);
@@ -371,6 +372,10 @@
NS_WARNING("XBL load did not complete until after document went away! Modal dialog bug?\n");
}
else {
+ // Clear script handling object on asynchronously loaded XBL documents.
+ NS_STATIC_CAST(nsDocument*, NS_STATIC_CAST(nsIDocument*, doc.get()))->
+ ClearScriptHandlingObject();
+
// We have to do a flush prior to notification of the document load.
// This has to happen since the HTML content sink can be holding on
// to notifications related to our children (e.g., if you bind to the
@@ -1225,6 +1230,11 @@
}
NS_ENSURE_SUCCESS(rv, rv);
+ nsCOMPtr<nsIDocument> doc = do_QueryInterface(domDoc);
+ // Clear script handling object on synchronously loaded XBL documents.
+ NS_STATIC_CAST(nsDocument*, NS_STATIC_CAST(nsIDocument*, doc.get()))->
+ ClearScriptHandlingObject();
+
return CallQueryInterface(domDoc, aResult);
}
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/content/xml/document/src/nsXMLDocument.cpp
^
|
@@ -294,37 +294,16 @@
{
NS_PRECONDITION(aNewChannel, "Redirecting to null channel?");
- nsCOMPtr<nsIURI> newLocation;
- nsresult rv = aNewChannel->GetURI(getter_AddRefs(newLocation)); // The redirected URI
- if (NS_FAILED(rv))
- return rv;
-
- nsIScriptSecurityManager *secMan = nsContentUtils::GetSecurityManager();
-
- if (mScriptContext && !mCrossSiteAccessEnabled) {
- nsCOMPtr<nsIJSContextStack> stack(do_GetService("@mozilla.org/js/xpc/ContextStack;1", & rv));
- if (NS_FAILED(rv))
- return rv;
-
- JSContext *cx = (JSContext *)mScriptContext->GetNativeContext();
- if (!cx)
- return NS_ERROR_UNEXPECTED;
-
- stack->Push(cx);
-
- rv = secMan->CheckSameOrigin(nsnull, newLocation);
+ nsCOMPtr<nsIURI> oldURI;
+ nsresult rv = aOldChannel->GetURI(getter_AddRefs(oldURI));
+ NS_ENSURE_SUCCESS(rv, rv);
- stack->Pop(&cx);
-
- if (NS_FAILED(rv)) {
- // The security manager set a pending exception. Since we're
- // running under the event loop, we need to report it.
- ::JS_ReportPendingException(cx);
- return rv;
- }
- }
+ nsCOMPtr<nsIURI> newURI;
+ rv = aNewChannel->GetURI(getter_AddRefs(newURI));
+ NS_ENSURE_SUCCESS(rv, rv);
- return secMan->GetCodebasePrincipal(newLocation, getter_AddRefs(mPrincipal));
+ return nsContentUtils::GetSecurityManager()->
+ CheckSameOriginURI(oldURI, newURI);
}
NS_IMETHODIMP
@@ -467,17 +446,6 @@
mScriptContext = callingContext;
- // Find out if UniversalBrowserRead privileges are enabled - we will
- // need this in case of a redirect
- PRBool crossSiteAccessEnabled;
- rv = secMan->IsCapabilityEnabled("UniversalBrowserRead",
- &crossSiteAccessEnabled);
- if (NS_FAILED(rv)) {
- return rv;
- }
-
- mCrossSiteAccessEnabled = crossSiteAccessEnabled;
-
// Create a channel
// When we are called from JS we can find the load group for the page,
// and add ourselves to it. This way any pending requests
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/content/xml/document/src/nsXMLDocument.h
^
|
@@ -111,7 +111,6 @@
// mChannel is also cancelled. Note that if this member is true, mChannel
// cannot be null.
PRPackedBool mChannelIsPending;
- PRPackedBool mCrossSiteAccessEnabled;
PRPackedBool mLoadedAsData;
PRPackedBool mLoadedAsInteractiveData;
PRPackedBool mAsync;
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/dom/src/base/nsGlobalWindow.cpp
^
|
@@ -150,7 +150,7 @@
#include "nsIScriptError.h"
#include "plbase64.h"
#include "nsIObserverService.h"
-
+#include "nsIDragService.h"
#include "nsIPrintSettings.h"
#include "nsIPrintSettingsService.h"
@@ -186,6 +186,8 @@
static PRInt32 gOpenPopupSpamCount = 0;
static PopupControlState gPopupControlState = openAbused;
static PRInt32 gRunningTimeoutDepth = 0;
+static PRBool gMouseDown = PR_FALSE;
+static PRBool gDragServiceDisabled = PR_FALSE;
#ifdef DEBUG_jst
PRInt32 gTimeoutCnt = 0;
@@ -1665,6 +1667,23 @@
}
}
+ if (NS_IS_TRUSTED_EVENT(aEvent)) {
+ if (aEvent->message == NS_MOUSE_LEFT_BUTTON_DOWN) {
+ gMouseDown = PR_TRUE;
+ } else if (aEvent->message == NS_MOUSE_LEFT_BUTTON_UP) {
+ gMouseDown = PR_FALSE;
+ if (gDragServiceDisabled) {
+ nsCOMPtr<nsIDragService_1_8_BRANCH> ds18 =
+ do_GetService("@mozilla.org/widget/dragservice;1");
+ NS_WARN_IF_FALSE(ds18, "No drag service?");
+ if (ds18) {
+ gDragServiceDisabled = PR_FALSE;
+ ds18->Unsuppress();
+ }
+ }
+ }
+ }
+
// if the window is deactivated while in full screen mode,
// restore OS chrome, and hide it again upon re-activation
if (outer && outer->mFullScreen && (NS_EVENT_FLAG_BUBBLE & aFlags)) {
@@ -2528,6 +2547,20 @@
return result;
}
+
+void
+MaybeSuppressDrag() {
+ if (gMouseDown && !gDragServiceDisabled) {
+ nsCOMPtr<nsIDragService_1_8_BRANCH> ds18 =
+ do_GetService("@mozilla.org/widget/dragservice;1");
+ NS_WARN_IF_FALSE(ds18, "No drag service?");
+ if (ds18) {
+ gDragServiceDisabled = PR_TRUE;
+ ds18->Suppress();
+ }
+ }
+}
+
NS_IMETHODIMP
nsGlobalWindow::GetInnerWidth(PRInt32* aInnerWidth)
{
@@ -2557,6 +2590,7 @@
if (!CanSetProperty("dom.disable_window_move_resize") || IsFrame()) {
return NS_OK;
}
+ MaybeSuppressDrag();
nsCOMPtr<nsIDocShellTreeItem> docShellAsItem(do_QueryInterface(mDocShell));
NS_ENSURE_TRUE(docShellAsItem, NS_ERROR_FAILURE);
@@ -2605,6 +2639,7 @@
if (!CanSetProperty("dom.disable_window_move_resize") || IsFrame()) {
return NS_OK;
}
+ MaybeSuppressDrag();
nsCOMPtr<nsIDocShellTreeItem> docShellAsItem(do_QueryInterface(mDocShell));
NS_ENSURE_TRUE(docShellAsItem, NS_ERROR_FAILURE);
@@ -2659,6 +2694,7 @@
if (!CanSetProperty("dom.disable_window_move_resize")) {
return NS_OK;
}
+ MaybeSuppressDrag();
nsCOMPtr<nsIBaseWindow> treeOwnerAsWin;
GetTreeOwner(getter_AddRefs(treeOwnerAsWin));
@@ -2711,6 +2747,7 @@
if (!CanSetProperty("dom.disable_window_move_resize")) {
return NS_OK;
}
+ MaybeSuppressDrag();
nsCOMPtr<nsIBaseWindow> treeOwnerAsWin;
GetTreeOwner(getter_AddRefs(treeOwnerAsWin));
@@ -2758,6 +2795,7 @@
if (!CanSetProperty("dom.disable_window_move_resize")) {
return NS_OK;
}
+ MaybeSuppressDrag();
nsCOMPtr<nsIBaseWindow> treeOwnerAsWin;
GetTreeOwner(getter_AddRefs(treeOwnerAsWin));
@@ -2806,6 +2844,7 @@
if (!CanSetProperty("dom.disable_window_move_resize")) {
return NS_OK;
}
+ MaybeSuppressDrag();
nsCOMPtr<nsIBaseWindow> treeOwnerAsWin;
GetTreeOwner(getter_AddRefs(treeOwnerAsWin));
@@ -3853,6 +3892,7 @@
if (!CanSetProperty("dom.disable_window_move_resize") || IsFrame()) {
return NS_OK;
}
+ MaybeSuppressDrag();
nsCOMPtr<nsIBaseWindow> treeOwnerAsWin;
GetTreeOwner(getter_AddRefs(treeOwnerAsWin));
@@ -3880,6 +3920,7 @@
if (!CanSetProperty("dom.disable_window_move_resize") || IsFrame()) {
return NS_OK;
}
+ MaybeSuppressDrag();
nsCOMPtr<nsIBaseWindow> treeOwnerAsWin;
GetTreeOwner(getter_AddRefs(treeOwnerAsWin));
@@ -3911,6 +3952,7 @@
if (!CanSetProperty("dom.disable_window_move_resize") || IsFrame()) {
return NS_OK;
}
+ MaybeSuppressDrag();
nsCOMPtr<nsIBaseWindow> treeOwnerAsWin;
GetTreeOwner(getter_AddRefs(treeOwnerAsWin));
@@ -3938,6 +3980,7 @@
if (!CanSetProperty("dom.disable_window_move_resize") || IsFrame()) {
return NS_OK;
}
+ MaybeSuppressDrag();
nsCOMPtr<nsIBaseWindow> treeOwnerAsWin;
GetTreeOwner(getter_AddRefs(treeOwnerAsWin));
@@ -3974,6 +4017,7 @@
if (!CanSetProperty("dom.disable_window_move_resize") || IsFrame()) {
return NS_OK;
}
+ MaybeSuppressDrag();
// The content viewer does a check to make sure that it's a content
// viewer for a toplevel docshell.
@@ -6526,20 +6570,10 @@
}
nsCOMPtr<nsIPrincipal> ourPrincipal = GetPrincipal();
- JSPrincipals *jsprins;
- rv = ourPrincipal->GetJSPrincipals(cx, &jsprins);
- if (NS_FAILED(rv)) {
- timeout->Release(scx);
-
- return rv;
- }
-
- // We know that ourPrincipal holds a strong ref to jsprins.
- JSPRINCIPALS_DROP(cx, jsprins);
const char *filename;
if (nsJSUtils::GetCallingLocation(cx, &filename, &timeout->mLineNo,
- jsprins)) {
+ ourPrincipal)) {
timeout->mFileName = PL_strdup(filename);
if (!timeout->mFileName) {
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/dom/src/base/nsJSUtils.cpp
^
|
@@ -64,7 +64,7 @@
JSBool
nsJSUtils::GetCallingLocation(JSContext* aContext, const char* *aFilename,
- PRUint32* aLineno, JSPrincipals* aPrincipals)
+ PRUint32* aLineno, nsIPrincipal* aPrincipal)
{
// Get the current filename and line number
JSStackFrame* frame = nsnull;
@@ -80,32 +80,26 @@
if (script) {
// If aPrincipals is non-null then our caller is asking us to ensure
// that the filename we return does not have elevated privileges.
- if (aPrincipals) {
- // The principals might not be in the script, but we can always
- // find the right principals in the frame's callee.
- JSPrincipals* scriptPrins = JS_GetScriptPrincipals(aContext, script);
- if (!scriptPrins) {
- JSObject *callee = JS_GetFrameCalleeObject(aContext, frame);
- nsCOMPtr<nsIPrincipal> prin;
+ if (aPrincipal) {
+ uint32 flags = JS_GetScriptFilenameFlags(script);
+
+ // Use the principal for the filename if it shouldn't be receiving
+ // implicit XPCNativeWrappers.
+ if (flags & JSFILENAME_SYSTEM) {
nsIScriptSecurityManager *ssm = nsContentUtils::GetSecurityManager();
- if (NS_FAILED(ssm->GetObjectPrincipal(aContext, callee,
- getter_AddRefs(prin))) ||
- !prin) {
- return JS_FALSE;
- }
- prin->GetJSPrincipals(aContext, &scriptPrins);
+ nsCOMPtr<nsIPrincipal> sysPrin;
+ ssm->GetSystemPrincipal(getter_AddRefs(sysPrin));
- // The script has a reference to the principals.
- JSPRINCIPALS_DROP(aContext, scriptPrins);
- }
-
- // Return the weaker of the two principals if they differ.
- if (scriptPrins != aPrincipals &&
- scriptPrins->subsume(scriptPrins, aPrincipals)) {
- *aFilename = aPrincipals->codebase;
- *aLineno = 0;
- return JS_TRUE;
+ if (aPrincipal != sysPrin) {
+ JSPrincipals* jsprins;
+ aPrincipal->GetJSPrincipals(aContext, &jsprins);
+
+ *aFilename = jsprins->codebase;
+ *aLineno = 0;
+ JSPRINCIPALS_DROP(aContext, jsprins);
+ return JS_TRUE;
+ }
}
}
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/dom/src/base/nsJSUtils.h
^
|
@@ -55,12 +55,13 @@
class nsIScriptGlobalObject;
class nsIDOMGCParticipant;
class nsIXPConnectJSObjectHolder;
+class nsIPrincipal;
class nsJSUtils
{
public:
static JSBool GetCallingLocation(JSContext* aContext, const char* *aFilename,
- PRUint32* aLineno, JSPrincipals* aPrincipals);
+ PRUint32* aLineno, nsIPrincipal* aPrincipal);
static jsval ConvertStringToJSVal(const nsString& aProp,
JSContext* aContext);
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/extensions/schema-validation/src/nsSchemaValidator.cpp
^
|
@@ -2408,7 +2408,8 @@
sprintf(fulldate, "22-AUG-1993 %d:%d:%d.%u", time.hour, time.minute,
time.second, time.milisecond);
- PR_ParseTimeString(fulldate, PR_TRUE, aResult);
+ PRBool isGMT = nsSchemaValidatorUtils::IsGMT(aValue);
+ PR_ParseTimeString(fulldate, isGMT ? PR_TRUE : PR_FALSE, aResult);
} else {
*aResult = nsnull;
rv = NS_ERROR_ILLEGAL_VALUE;
@@ -2528,7 +2529,8 @@
sprintf(fulldate, "%d-%s-%u 00:00:00", date.day,
monthShorthand.get(), date.year);
- PR_ParseTimeString(fulldate, PR_TRUE, aResult);
+ PRBool isGMT = nsSchemaValidatorUtils::IsGMT(aValue);
+ PR_ParseTimeString(fulldate, isGMT ? PR_TRUE : PR_FALSE, aResult);
} else {
*aResult = nsnull;
rv = NS_ERROR_ILLEGAL_VALUE;
@@ -2615,7 +2617,8 @@
dateTime.time.second,
dateTime.time.milisecond);
- PR_ParseTimeString(fulldate, PR_TRUE, aResult);
+ PRBool isGMT = nsSchemaValidatorUtils::IsGMT(aValue);
+ PR_ParseTimeString(fulldate, isGMT ? PR_TRUE : PR_FALSE, aResult);
} else {
*aResult = nsnull;
rv = NS_ERROR_ILLEGAL_VALUE;
@@ -2649,15 +2652,13 @@
/*
http://www.w3.org/TR/xmlschema-2/#date
- (-)CCYY-MM-DDT
- then either: Z
- or [+/-]hh:mm
+ (-)CCYY-MM-DD
+ then optionally either:
+ Z
+ or [+/-]hh:mm
*/
- // append 'T' to end to make ParseSchemaDate happy.
- dateString.Append('T');
-
- isValid = nsSchemaValidatorUtils::ParseSchemaDate(dateString, aResult);
+ isValid = nsSchemaValidatorUtils::ParseSchemaDate(dateString, PR_TRUE, aResult);
return isValid;
}
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/extensions/schema-validation/src/nsSchemaValidatorUtils.cpp
^
|
@@ -170,9 +170,11 @@
// if no T, invalid
if (findString >= 0) {
- isValid = ParseSchemaDate(Substring(aNodeValue, 0, findString+1), &aResult->date);
+ // we get the date part (from 0 to before 'T')
+ isValid = ParseSchemaDate(Substring(aNodeValue, 0, findString), PR_FALSE, &aResult->date);
if (isValid) {
+ // we get the time part (from after the 'T' till the end)
isValid = ParseSchemaTime(
Substring(aNodeValue, findString + 1, aNodeValue.Length()),
&aResult->time);
@@ -184,13 +186,16 @@
PRBool
nsSchemaValidatorUtils::ParseSchemaDate(const nsAString & aStrValue,
+ PRBool aAllowTimeZone,
nsSchemaDate *aDate)
{
PRBool isValid = PR_FALSE;
/*
http://www.w3.org/TR/xmlschema-2/#date
- (-)CCYY-MM-DDT
+ (-)CCYY-MM-DD
+ then optionally: Z
+ or [+/-]hh:mm
*/
nsAString::const_iterator start, end, buffStart;
@@ -205,6 +210,8 @@
nsAutoString year;
char month[3] = "";
char day[3] = "";
+ char timezoneHour[3] = "";
+ char timezoneMinute[3] = "";
// if year is negative, skip it
if (aStrValue.First() == '-') {
@@ -262,10 +269,24 @@
// day
if (buffLength > 2) {
done = PR_TRUE;
- } else if (currentChar == 'T') {
- if ((start == end) && (buffLength == 2) && (strcmp(day, "31") < 1))
+ } else if (currentChar == 'Z') {
+ if (aAllowTimeZone) {
+ if ((start == end) && (buffLength == 2) && (strcmp(day, "31") < 1)) {
isValid = PR_TRUE;
+ }
+ }
+
done = PR_TRUE;
+ } else if ((currentChar == '+') || (currentChar == '-')) {
+ // timezone
+ if (aAllowTimeZone) {
+ state = 3;
+ buffLength = 0;
+ buffStart = start;
+ } else {
+ // no timezones allowed
+ done = PR_TRUE;
+ }
} else {
// has to be a numerical character or else abort
if ((currentChar > '9') || (currentChar < '0'))
@@ -274,10 +295,26 @@
day[buffLength] = currentChar;
}
buffLength++;
+
+ // are we at the end?
+ if (start == end && buffLength == 2) {
+ isValid = PR_TRUE;
+ done = PR_TRUE;
+ }
}
break;
}
+ case 3: {
+ // timezone hh:mm
+ if (end.get()-buffStart.get() == 5) {
+ isValid = ParseSchemaTimeZone(Substring(buffStart, end), timezoneHour,
+ timezoneMinute);
+ }
+
+ done = PR_TRUE;
+ break;
+ }
}
}
@@ -1958,3 +1995,14 @@
}
}
+PRBool
+nsSchemaValidatorUtils::IsGMT(const nsAString & aDateTime)
+{
+ if (!aDateTime.IsEmpty()) {
+ if (aDateTime.Last() == 'Z') {
+ return PR_TRUE;
+ }
+ }
+
+ return PR_FALSE;
+}
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/extensions/schema-validation/src/nsSchemaValidatorUtils.h
^
|
@@ -182,7 +182,9 @@
static PRBool ParseDateTime(const nsAString & aNodeValue,
nsSchemaDateTime *aResult);
- static PRBool ParseSchemaDate(const nsAString & aStrValue, nsSchemaDate *aDate);
+ static PRBool ParseSchemaDate(const nsAString & aStrValue,
+ PRBool aAllowTimeZone,
+ nsSchemaDate *aDate);
static PRBool ParseSchemaTime(const nsAString & aStrValue, nsSchemaTime *aTime);
static PRBool ParseSchemaTimeZone(const nsAString & aStrValue,
@@ -239,6 +241,14 @@
nsSchemaDerivedSimpleType *aDerivedSrc);
static void SetToNullOrElement(nsIDOMNode *aNode, nsIDOMNode **aResultNode);
+
+ /**
+ * Determine if an xsd:date, xsd:dateTime, or xsd:time string
+ * represents a GMT (aka UTC) time. This function assumes the
+ * aDateTime string has already been validated.
+ */
+ static PRBool IsGMT(const nsAString & aDateTime);
+
private:
nsSchemaValidatorUtils();
~nsSchemaValidatorUtils();
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/extensions/schema-validation/tests/schema.html
^
|
@@ -468,6 +468,8 @@
validate("-2004-02-28T12:21:03.434Z", "datetime-test-1", true);
validate("-2004-02-28T12:21:03-04:00", "datetime-test-1", true);
validate("-2004-02-30T12:21:03Z", "datetime-test-1", false);
+ validate("2004-02-28ZT24:21:03Z", "datetime-test-1", false);
+ validate("2004-02-28+06:00T24:21:03Z", "datetime-test-1", false);
validate("2004-02-11T12:21:03Z", "datetime-test-2", true);
validate("2004-02-18T00:00:00Z", "datetime-test-2", true);
@@ -539,6 +541,15 @@
// leap year test
validate("2000-02-29", "date-test-1", true);
validate("2001-02-29", "date-test-1", false);
+ // timezone test
+ validate("2001-01-18Z", "date-test-1", true);
+ validate("2001-01-18A", "date-test-1", false);
+ validate("2001-01-18Z2", "date-test-1", false);
+ validate("2007-01-01-06:00", "date-test-1", true);
+ validate("2007-01-01+06:00", "date-test-1", true);
+ validate("2007-01-01A06:00", "date-test-1", false);
+ validate("2007-01-01-06:00Z", "date-test-1", false);
+ validate("2007-01-01Z-06:00", "date-test-1", false);
validate("2004-02-17", "date-test-2", true);
validate("2004-02-18", "date-test-2", false);
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/extensions/spellcheck/osxspell/src/mozOSXSpell.mm
^
|
@@ -96,8 +96,16 @@
NS_ENSURE_ARG_POINTER(aLanguage);
if (!mLanguage.Length()) {
- NSString* lang = [[NSSpellChecker sharedSpellChecker] language];
- *aLanguage = [lang createNewUnicodeBuffer];
+ @try {
+ NSString* lang = [[NSSpellChecker sharedSpellChecker] language];
+ *aLanguage = [lang createNewUnicodeBuffer];
+ }
+ @catch (id exception) {
+ // If we get here, the spelling system on the user's machine is almost
+ // certainly damaged; do what the rest of the OS does, and silently
+ // ignore it.
+ *aLanguage = NULL;
+ }
mLanguage.Assign(*aLanguage);
}
else
@@ -207,7 +215,17 @@
*aResult = PR_FALSE;
NSString* wordStr = [NSString stringWithPRUnichars:aWord];
- NSRange misspelledRange = [[NSSpellChecker sharedSpellChecker] checkSpellingOfString:wordStr startingAt:0];
+ NSRange misspelledRange;
+ @try {
+ misspelledRange = [[NSSpellChecker sharedSpellChecker] checkSpellingOfString:wordStr startingAt:0];
+ }
+ @catch (id exception) {
+ // Silently return true; if something is seriously wrong with the
+ // spelling system on a user's machine, the best thing to do is
+ // to just treat everything as correct.
+ *aResult = PR_TRUE;
+ return NS_OK;
+ }
if (misspelledRange.location != NSNotFound && mPersonalDictionary)
mPersonalDictionary->Check(aWord, mLanguage.get(), aResult);
else
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/extensions/transformiix/source/xpath/XFormsFunctionCall.cpp
^
|
@@ -678,6 +678,161 @@
return aContext->recycler()->getNumberResult(result, aResult);
}
+ case CONTEXT:
+ {
+ if (!requireParams(0, 0, aContext))
+ return NS_ERROR_XPATH_BAD_ARGUMENT_COUNT;
+
+ nsRefPtr<txNodeSet> resultSet;
+ rv = aContext->recycler()->getNodeSet(getter_AddRefs(resultSet));
+ NS_ENSURE_SUCCESS(rv, rv);
+
+ nsCOMPtr<nsIXFormsUtilityService> xformsService =
+ do_GetService("@mozilla.org/xforms-utility-service;1", &rv);
+ NS_ENSURE_SUCCESS(rv, rv);
+
+ // mNode will be the node that contained the context() function.
+ nsCOMPtr<nsIDOMNode> contextNode;
+ rv = xformsService->Context(mNode, getter_AddRefs(contextNode));
+
+ if (contextNode) {
+ nsAutoPtr<txXPathNode> txNode(txXPathNativeNode::createXPathNode(contextNode));
+ if (txNode) {
+ resultSet->add(*txNode);
+ }
+ }
+
+ *aResult = resultSet;
+ NS_ADDREF(*aResult);
+
+ return NS_OK;
+ }
+ case DAYSTODATE:
+ {
+ if (!requireParams(1, 1, aContext))
+ return NS_ERROR_XPATH_BAD_ARGUMENT_COUNT;
+
+ double days = evaluateToNumber((Expr*)iter.next(), aContext);
+
+ nsAutoString date;
+ if (!Double::isNaN(days)) {
+ // Round total number of days to the nearest whole number.
+ PRTime t_days;
+ LL_I2L(t_days, floor(days+0.5));
+
+ PRTime t_secs, t_secs_per_day, t_usec, usec_per_sec;
+ // Calculate total number of seconds in aDays.
+ LL_I2L(t_secs_per_day, 86400UL);
+ LL_MUL(t_secs, t_days, t_secs_per_day);
+ // Convert total seconds to usecs.
+ LL_I2L(usec_per_sec, PR_USEC_PER_SEC);
+ LL_MUL(t_usec, t_secs, usec_per_sec);
+
+ // Convert the time to xsd:date format.
+ PRExplodedTime et;
+ PR_ExplodeTime(t_usec, PR_GMTParameters, &et);
+ char ctime[60];
+ PR_FormatTime(ctime, sizeof(ctime), "%Y-%m-%d", &et);
+ date.AppendASCII(ctime);
+ }
+
+ return aContext->recycler()->getStringResult(date, aResult);
+
+ return NS_OK;
+ }
+ case SECONDSTODATETIME:
+ {
+ if (!requireParams(1, 1, aContext))
+ return NS_ERROR_XPATH_BAD_ARGUMENT_COUNT;
+
+ double seconds = evaluateToNumber((Expr*)iter.next(), aContext);
+
+ nsAutoString dateTime;
+ if (!Double::isNaN(seconds)) {
+ // Round total number of seconds to the nearest whole number.
+ PRTime t_secs;
+ LL_I2L(t_secs, floor(seconds+0.5));
+
+ // Convert total seconds to usecs.
+ PRTime t_usec, usec_per_sec;
+ LL_I2L(usec_per_sec, PR_USEC_PER_SEC);
+ LL_MUL(t_usec, t_secs, usec_per_sec);
+
+ // Convert the time to xsd:dateTime format.
+ PRExplodedTime et;
+ PR_ExplodeTime(t_usec, PR_GMTParameters, &et);
+ char ctime[60];
+ PR_FormatTime(ctime, sizeof(ctime), "%Y-%m-%dT%H:%M:%SZ", &et);
+ dateTime.AppendASCII(ctime);
+ }
+
+ return aContext->recycler()->getStringResult(dateTime, aResult);
+ }
+ case ISCARDNUMBER:
+ {
+ if (!requireParams(1, 1, aContext))
+ return NS_ERROR_XPATH_BAD_ARGUMENT_COUNT;
+
+ nsAutoString number;
+ evaluateToString((Expr*)iter.next(), aContext, number);
+
+ nsCOMPtr<nsIXFormsUtilityService>xformsService =
+ do_GetService("@mozilla.org/xforms-utility-service;1", &rv);
+ NS_ENSURE_SUCCESS(rv, rv);
+
+ PRBool result;
+ rv = xformsService->IsCardNumber(number, &result);
+ NS_ENSURE_SUCCESS(rv, rv);
+
+ aContext->recycler()->getBoolResult(result, aResult);
+
+ return NS_OK;
+ }
+ case DIGEST:
+ {
+ nsresult rv;
+ if (!requireParams(2, 3, aContext))
+ return NS_ERROR_XPATH_BAD_ARGUMENT_COUNT;
+
+ nsAutoString data, algorithm, encoding;
+ evaluateToString((Expr*)iter.next(), aContext, data);
+ evaluateToString((Expr*)iter.next(), aContext, algorithm);
+ evaluateToString((Expr*)iter.next(), aContext, encoding);
+
+ nsCOMPtr<nsIXFormsUtilityService>xformsService =
+ do_GetService("@mozilla.org/xforms-utility-service;1", &rv);
+ NS_ENSURE_SUCCESS(rv, rv);
+
+ // mNode is the node that contained the Event XPath expression.
+ nsAutoString result;
+ rv = xformsService->Digest(data, algorithm, encoding, mNode, result);
+ if (NS_FAILED(rv)) {
+ return rv;
+ }
+
+ return aContext->recycler()->getStringResult(result, aResult);
+ }
+ case ADJUSTDATETIMETOTIMEZONE:
+ {
+ nsresult rv;
+ if (!requireParams(1, 1, aContext))
+ return NS_ERROR_XPATH_BAD_ARGUMENT_COUNT;
+
+ nsAutoString dateTime;
+ evaluateToString((Expr*)iter.next(), aContext, dateTime);
+
+ nsCOMPtr<nsIXFormsUtilityService>xformsService =
+ do_GetService("@mozilla.org/xforms-utility-service;1", &rv);
+ NS_ENSURE_SUCCESS(rv, rv);
+
+ nsAutoString result;
+ rv = xformsService->AdjustDateTimeToTimezone(dateTime, result);
+ if (NS_FAILED(rv)) {
+ return rv;
+ }
+
+ return aContext->recycler()->getStringResult(result, aResult);
+ }
} /* switch() */
aContext->receiveError(NS_LITERAL_STRING("Internal error"),
@@ -795,6 +950,36 @@
*aAtom = txXPathAtoms::compare;
break;
}
+ case CONTEXT:
+ {
+ *aAtom = txXPathAtoms::context;
+ break;
+ }
+ case DAYSTODATE:
+ {
+ *aAtom = txXPathAtoms::daysToDate;
+ break;
+ }
+ case SECONDSTODATETIME:
+ {
+ *aAtom = txXPathAtoms::secondsToDateTime;
+ break;
+ }
+ case ISCARDNUMBER:
+ {
+ *aAtom = txXPathAtoms::isCardNumber;
+ break;
+ }
+ case DIGEST:
+ {
+ *aAtom = txXPathAtoms::digest;
+ break;
+ }
+ case ADJUSTDATETIMETOTIMEZONE:
+ {
+ *aAtom = txXPathAtoms::adjustDateTimeToTimezone;
+ break;
+ }
default:
{
*aAtom = 0;
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/extensions/transformiix/source/xpath/XFormsFunctions.h
^
|
@@ -53,27 +53,33 @@
public:
enum XFormsFunctions {
- AVG, // avg()
- BOOLEANFROMSTRING, // boolean-from-string()
- COUNTNONEMPTY, // count-non-empty()
- DAYSFROMDATE, // days-from-date()
- IF, // if()
- INDEX, // index()
- INSTANCE, // instance()
- MAX, // max()
- MIN, // min()
- MONTHS, // months()
- NOW, // now()
- LOCALDATETIME, // local-dateTime()
- LOCALDATE, // local-date()
- PROPERTY, // property()
- SECONDS, // seconds()
- SECONDSFROMDATETIME, // seconds-from-dateTime()
- CURRENT, // current()
- EVENT, // event()
- POWER, // power()
- RANDOM, // random()
- COMPARE // compare()
+ AVG, // avg()
+ BOOLEANFROMSTRING, // boolean-from-string()
+ COUNTNONEMPTY, // count-non-empty()
+ DAYSFROMDATE, // days-from-date()
+ IF, // if()
+ INDEX, // index()
+ INSTANCE, // instance()
+ MAX, // max()
+ MIN, // min()
+ MONTHS, // months()
+ NOW, // now()
+ LOCALDATETIME, // local-dateTime()
+ LOCALDATE, // local-date()
+ PROPERTY, // property()
+ SECONDS, // seconds()
+ SECONDSFROMDATETIME, // seconds-from-dateTime()
+ CURRENT, // current()
+ EVENT, // event()
+ POWER, // power()
+ RANDOM, // random()
+ COMPARE, // compare()
+ CONTEXT, // context()
+ DAYSTODATE, // days-to-date()
+ SECONDSTODATETIME, // seconds-to-dateTime()
+ ISCARDNUMBER, // is-card-number()
+ DIGEST, // digest()
+ ADJUSTDATETIMETOTIMEZONE // adjust-dateTime-to-timezone()
};
/*
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/extensions/transformiix/source/xpath/nsIXFormsUtilityService.h
^
|
@@ -53,11 +53,12 @@
class nsIXFormsModelElement; /* forward declaration */
/* starting interface: nsIXFormsUtilityService */
-#define NS_IXFORMSUTILITYSERVICE_IID_STR "2ad098f4-5ee7-4282-a9f7-584eb95e1d69"
+
+#define NS_IXFORMSUTILITYSERVICE_IID_STR "4903f4d8-df4d-454b-b9e7-7c45314af085"
#define NS_IXFORMSUTILITYSERVICE_IID \
- {0x2ad098f4, 0x5ee7, 0x4282, \
- { 0xa9, 0xf7, 0x58, 0x4e, 0xb9, 0x5e, 0x1d, 0x69 }}
+ {0x4903f4d8, 0xdf4d, 0x454b, \
+ { 0xb9, 0xe7, 0x7c, 0x45, 0x31, 0x4a, 0xf0, 0x85 }}
#define NS_XFORMS_UTILITY_CONTRACTID "@mozilla.org/xforms-utility-service;1"
@@ -73,7 +74,11 @@
NS_IMETHOD GetSecondsFromDateTime(const nsAString & aValue, double *aSeconds); \
NS_IMETHOD GetDaysFromDateTime(const nsAString & aValue, PRInt32 *aDays); \
NS_IMETHOD GetEventContextInfo(const nsAString & aContextName, nsIDOMNode *aNode, nsCOMArray<nsIDOMNode> *aResult); \
- NS_IMETHOD GetTime(nsAString & aValue, PRBool aUTC);
+ NS_IMETHOD GetTime(nsAString & aValue, PRBool aUTC); \
+ NS_IMETHOD Context(nsIDOMNode *aResolverNode, nsIDOMNode **aResult); \
+ NS_IMETHOD IsCardNumber(const nsAString & aNumber, PRBool *aResult); \
+ NS_IMETHOD Digest(const nsAString & aData, const nsAString & aAlgorithm, const nsAString & aEncoding, nsIDOMNode *aResolverNode, nsAString & aResult); \
+ NS_IMETHOD AdjustDateTimeToTimezone(const nsAString & aDateTime, nsAString & aResult);
/**
* Private interface implemented by the nsXFormsUtilityService in XForms extension.
@@ -174,6 +179,36 @@
*/
/* void getTime(out DOMString, PRBool aUTC); */
NS_IMETHOD GetTime(nsAString & aValue, PRBool aUTC) = 0;
+
+ /**
+ * Function to retrieve the context node of the node that contained
+ * the XPath context() function.
+ */
+ /* nsIDOMNode context (in nsIDOMNode aResolverNode); */
+ NS_IMETHOD Context(nsIDOMNode *aResolverNode, nsIDOMNode **aResult) = 0;
+
+ /**
+ * Function to determine if a number is a valid card number according to
+ * the Luhn algorithm.
+ */
+ /* PRBool(in DOMString); */
+ NS_IMETHOD IsCardNumber(const nsAString & aNumber, PRBool *aResult) = 0;
+
+ /**
+ * Function that applies the digest algorithm to a string.
+ * DOMString Digest(in DOMString aData, in DOMString aAlgorithm,
+ * in DOMString aEncoding, in nsIDOMNode aResolverNode);
+ */
+ NS_IMETHOD Digest(const nsAString & aData, const nsAString & aAlgorithm,
+ const nsAString & aEncoding, nsIDOMNode *aResolverNode,
+ nsAString & aResult) = 0;
+
+ /**
+ * Function that adjusts an xsd:dateTime to the local timezone of the implementation.
+ */
+ /* DOMString AdjustDateTimeToTimezone(in DOMString aDateTime); */
+ NS_IMETHOD AdjustDateTimeToTimezone(const nsAString & aDateTime,
+ nsAString & aResult) = 0;
};
#define NS_ERROR_XFORMS_CALCUATION_EXCEPTION \
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/extensions/transformiix/source/xpath/nsXFormsXPathEvaluator.cpp
^
|
@@ -270,6 +270,26 @@
else if (aName == txXPathAtoms::compare) {
aFnCall = new XFormsFunctionCall(XFormsFunctionCall::COMPARE);
}
+ else if (aName == txXPathAtoms::context) {
+ aFnCall = new XFormsFunctionCall(XFormsFunctionCall::CONTEXT,
+ mResolverNode);
+ }
+ else if (aName == txXPathAtoms::daysToDate) {
+ aFnCall = new XFormsFunctionCall(XFormsFunctionCall::DAYSTODATE);
+ }
+ else if (aName == txXPathAtoms::secondsToDateTime) {
+ aFnCall = new XFormsFunctionCall(XFormsFunctionCall::SECONDSTODATETIME);
+ }
+ else if (aName == txXPathAtoms::isCardNumber) {
+ aFnCall = new XFormsFunctionCall(XFormsFunctionCall::ISCARDNUMBER);
+ }
+ else if (aName == txXPathAtoms::digest) {
+ aFnCall = new XFormsFunctionCall(XFormsFunctionCall::DIGEST,
+ mResolverNode);
+ }
+ else if (aName == txXPathAtoms::adjustDateTimeToTimezone) {
+ aFnCall = new XFormsFunctionCall(XFormsFunctionCall::ADJUSTDATETIMETOTIMEZONE);
+ }
else {
// didn't find functioncall here, aFnCall should be null
isOutOfMem = PR_FALSE;
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/extensions/transformiix/source/xpath/txXPathAtomList.h
^
|
@@ -114,4 +114,10 @@
TX_ATOM(power, "power")
TX_ATOM(random, "random")
TX_ATOM(compare, "compare")
+TX_ATOM(context, "context")
+TX_ATOM(daysToDate, "days-to-date")
+TX_ATOM(secondsToDateTime, "seconds-to-dateTime")
+TX_ATOM(isCardNumber, "is-card-number")
+TX_ATOM(digest, "digest")
+TX_ATOM(adjustDateTimeToTimezone, "adjust-dateTime-to-timezone")
#endif
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/extensions/transformiix/source/xslt/txMozillaTextOutput.cpp
^
|
@@ -153,6 +153,23 @@
// Create the document
doc = do_CreateInstance(kXMLDocumentCID, &rv);
NS_ASSERTION(NS_SUCCEEDED(rv), "Couldn't create document");
+ nsCOMPtr<nsIDocument_MOZILLA_1_8_BRANCH3> source =
+ do_QueryInterface(aSourceDocument);
+ if (!source) {
+ return;
+ }
+ PRBool hasHadScriptObject = PR_FALSE;
+ nsIScriptGlobalObject* sgo =
+ source->GetScriptHandlingObject(hasHadScriptObject);
+ if (!sgo && hasHadScriptObject) {
+ return;
+ }
+ nsCOMPtr<nsIDocument_MOZILLA_1_8_BRANCH3> doc18 =
+ do_QueryInterface(doc);
+ if (!doc18) {
+ return;
+ }
+ doc18->SetScriptHandlingObject(sgo);
mDocument = do_QueryInterface(doc);
}
else {
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/extensions/transformiix/source/xslt/txMozillaXMLOutput.cpp
^
|
@@ -724,6 +724,17 @@
mDocumentIsHTML = PR_FALSE;
}
+ nsCOMPtr<nsIDocument_MOZILLA_1_8_BRANCH3> source =
+ do_QueryInterface(aSourceDocument);
+ NS_ENSURE_STATE(source);
+ PRBool hasHadScriptObject = PR_FALSE;
+ nsIScriptGlobalObject* sgo =
+ source->GetScriptHandlingObject(hasHadScriptObject);
+ NS_ENSURE_STATE(sgo || !hasHadScriptObject);
+ nsCOMPtr<nsIDocument_MOZILLA_1_8_BRANCH3> doc18 =
+ do_QueryInterface(doc);
+ NS_ENSURE_STATE(doc18);
+ doc18->SetScriptHandlingObject(sgo);
mDocument = do_QueryInterface(doc);
}
else {
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/extensions/xforms/Makefile.in
^
|
@@ -84,6 +84,7 @@
-DBUILD_ID=$(BUILD_ID) \
-DPACKAGE_VERSION=$(PACKAGE_VERSION) \
-DID=${INSTALL_EXTENSION_ID} \
+ -DTARGET_PLATFORM=$(OS_TARGET)_$(TARGET_XPCOM_ABI) \
$(NULL)
# Include these in the XPI
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/extensions/xforms/install.rdf
^
|
@@ -8,6 +8,7 @@
<Description about="urn:mozilla:install-manifest">
<em:id>@ID@</em:id>
<em:version>@PACKAGE_VERSION@</em:version>
+ <em:targetPlatform>@TARGET_PLATFORM@</em:targetPlatform>
<em:targetApplication>
<!-- Firefox -->
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/extensions/xforms/nsIModelElementPrivate.idl
^
|
@@ -48,7 +48,7 @@
* Private interface implemented by the model element for other
* elements to use.
*/
-[uuid(e0c08554-0509-45b4-b3e5-b25c6cad8153)]
+[uuid(bbc19255-4341-45fb-a9dc-23f4add8a7c3)]
interface nsIModelElementPrivate : nsIXFormsModelElement
{
/**
@@ -63,9 +63,13 @@
* Notification that an instance element has started or finished loading
* its instance data. Model construction cannot complete until all of
* the instances have loaded their data.
+ *
+ * The 'uri' parameter for instanceLoadFinished is the uri of @src or
+ * @resource on the instance element and is needed to add the uri to
+ * the context info if the link fails.
*/
void instanceLoadStarted();
- void instanceLoadFinished(in boolean success);
+ void instanceLoadFinished(in boolean success, in AString uri);
/**
* Locate the instance element child with the given id.
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/extensions/xforms/nsXFormsAtoms.cpp
^
|
@@ -67,6 +67,7 @@
nsIAtom* nsXFormsAtoms::externalMessagesProperty;
nsIAtom* nsXFormsAtoms::deferredEventListProperty;
nsIAtom* nsXFormsAtoms::attrBased;
+nsIAtom* nsXFormsAtoms::resource;
const nsStaticAtom nsXFormsAtoms::Atoms_info[] = {
{ "src", &nsXFormsAtoms::src },
@@ -96,7 +97,8 @@
{ "instanceDocumentOwner", &nsXFormsAtoms::instanceDocumentOwner },
{ "ExternalMessagesProperty", &nsXFormsAtoms::externalMessagesProperty },
{ "DeferredEventListProperty",&nsXFormsAtoms::deferredEventListProperty },
- { "attrBased", &nsXFormsAtoms::attrBased }
+ { "attrBased", &nsXFormsAtoms::attrBased },
+ { "resource", &nsXFormsAtoms::resource }
};
void
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/extensions/xforms/nsXFormsAtoms.h
^
|
@@ -75,6 +75,7 @@
static NS_HIDDEN_(nsIAtom *) externalMessagesProperty;
static NS_HIDDEN_(nsIAtom *) deferredEventListProperty;
static NS_HIDDEN_(nsIAtom *) attrBased;
+ static NS_HIDDEN_(nsIAtom *) resource;
static NS_HIDDEN_(void) InitAtoms();
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/extensions/xforms/nsXFormsDOMEvent.cpp
^
|
@@ -43,7 +43,28 @@
*
*/
-NS_IMPL_ISUPPORTS3(nsXFormsDOMEvent, nsIXFormsDOMEvent, nsIDOMNSEvent, nsIPrivateDOMEvent)
+// Setup the interface map so that an nsIXFormsDOMEvent can be QI'ed to
+// nsIDOMEvent, nsIDOMNSEvent, nsIPrivateDOMEvent, and nsISupports.
+//
+// nsISupports is ambiguous because all of the interfaces inherit from
+// nsISupports. NS_INTERFACE_MAP_ENTRY_AMBIGOUS will cast to the
+// nsISupports of nsXFormsDOMEvent.
+//
+// nsXFormsDOMEvent contains an nsIDOMEvent (mInner) and nsIDOMEvent
+// implements nsIDOMNSEvent and nsIPrivateDOMEvent. The event dispatcher
+// will QI to those interfaces. We use NS_INTERFACE_MAP_END_AGGREGATED to
+// forward QIs for those interfaces to mInner.
+
+NS_INTERFACE_MAP_BEGIN(nsXFormsDOMEvent)
+ NS_INTERFACE_MAP_ENTRY(nsIXFormsDOMEvent)
+ NS_INTERFACE_MAP_ENTRY(nsIDOMEvent)
+ NS_INTERFACE_MAP_ENTRY(nsIDOMNSEvent)
+ NS_INTERFACE_MAP_ENTRY(nsIPrivateDOMEvent)
+ NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsIXFormsDOMEvent)
+NS_INTERFACE_MAP_END_AGGREGATED(mInner)
+
+NS_IMPL_ADDREF(nsXFormsDOMEvent)
+NS_IMPL_RELEASE(nsXFormsDOMEvent)
nsXFormsDOMEvent::nsXFormsDOMEvent(nsIDOMEvent *aInner,
nsCOMArray<nsIXFormsContextInfo> *aContextInfo)
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/extensions/xforms/nsXFormsDOMEvent.h
^
|
@@ -36,6 +36,9 @@
*
* ***** END LICENSE BLOCK ***** */
+#ifndef __NSXFORMSDOMEVENT_H__
+#define __NSXFORMSDOMEVENT_H__
+
#include "nsCOMPtr.h"
#include "nsCOMArray.h"
#include "nsInterfaceHashtable.h"
@@ -84,3 +87,5 @@
*/
nsInterfaceHashtable<nsStringHashKey, nsIXFormsContextInfo> mContextInfo;
};
+
+#endif
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/extensions/xforms/nsXFormsInsertDeleteElement.cpp
^
|
@@ -535,21 +535,20 @@
if ((!nodeset || nodesetSize < 1) ||
(nodeset && nodesetSize > 0 && newNodeType != locationNodeType)) {
Location location = eLocation_Before;
+ nsCOMPtr<nsIDOMNode> targetNode;
if (newNodeType != nsIDOMNode::ATTRIBUTE_NODE) {
// Target location is before the first child of location node. If the
// location node is empty (has no children), it remains the location
// node and the new node will become the first child of the location
// node.
- nsCOMPtr<nsIDOMNode> targetNode;
locationNode->GetFirstChild(getter_AddRefs(targetNode));
- if (targetNode) {
- locationNode.swap(targetNode);
- } else {
+ if (!targetNode) {
// New node will become first child of locationNode.
location = eLocation_FirstChild;
+ targetNode = locationNode;
}
}
- InsertNode(locationNode, newNode, location, getter_AddRefs(resNode));
+ InsertNode(targetNode, newNode, location, getter_AddRefs(resNode));
} else {
// Step 6c - If insert location node is the root element of an
// instance, then that instance root element location is the target
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/extensions/xforms/nsXFormsInstanceElement.cpp
^
|
@@ -22,6 +22,7 @@
* Contributor(s):
* Brian Ryner <bryner@brianryner.com>
* Olli Pettay <Olli.Pettay@helsinki.fi>
+ * Merle Sterling <msterlin@us.ibm.com>
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
@@ -90,8 +91,23 @@
if (!mInitialized || mLazy)
return NS_OK;
+ // @src has precedence over inline content which has precedence
+ // over @resource.
if (aName == nsXFormsAtoms::src) {
LoadExternalInstance(aNewValue);
+ } else if (aName == nsXFormsAtoms::resource) {
+ // If @resource is set or changed, it only matters if there is
+ // no @src or inline content.
+ nsAutoString src;
+ mElement->GetAttribute(NS_LITERAL_STRING("src"), src);
+ if (src.IsEmpty()) {
+ // Check for inline content.
+ nsCOMPtr<nsIDOMNode> child;
+ GetFirstChildElement(getter_AddRefs(child));
+ if (!child) {
+ LoadExternalInstance(aNewValue);
+ }
+ }
}
return NS_OK;
@@ -103,6 +119,8 @@
if (!mInitialized || mLazy)
return NS_OK;
+ // @src has precdence over inline content which has precedence
+ // over @resource.
if (aName == nsXFormsAtoms::src) {
PRBool restart = PR_FALSE;
if (mChannel) {
@@ -114,19 +132,34 @@
mChannel = nsnull;
mListener = nsnull;
}
- // We no longer have an external instance to use. Reset our instance
- // document to whatever inline content we have.
- nsresult rv = CloneInlineInstance();
+
+ // We no longer have an external (@src) instance to use. Next in precedence
+ // would be inline content so we'll use that if it exists. If there is no
+ // inline content, then we'll look for @resource (the instance may have had
+ // both @src and @resource and no inline content).
+ nsresult rv;
+ nsCOMPtr<nsIDOMNode> child;
+ GetFirstChildElement(getter_AddRefs(child));
+ if (child) {
+ // Reset our instance document to whatever inline content we have.
+ rv = CloneInlineInstance(child);
+ } else {
+ nsAutoString resource;
+ mElement->GetAttribute(NS_LITERAL_STRING("resource"), resource);
+ if (!resource.IsEmpty()) {
+ LoadExternalInstance(resource);
+ }
+ }
// if we had already started to load an external instance document, then
// as part of that we would have told the model to wait for that external
// document to load before it finishes the model construction. Since we
// aren't loading from an external document any longer, tell the model that
- // there is need to wait for us anymore.
+ // there is no need to wait for us anymore.
if (restart) {
nsCOMPtr<nsIModelElementPrivate> model = GetModel();
if (model) {
- model->InstanceLoadFinished(PR_TRUE);
+ model->InstanceLoadFinished(PR_TRUE, EmptyString());
}
}
return rv;
@@ -260,19 +293,21 @@
SetInstanceDocument(nsnull);
}
}
- }
- // Replace the principal for the loaded document
- nsCOMPtr<nsIDocument> iDoc(do_QueryInterface(mDocument));
- nsresult rv = ReplacePrincipal(iDoc);
- if (NS_FAILED(rv)) {
- SetInstanceDocument(nsnull);
- return rv;
+ // Replace the principal for the loaded document
+ nsCOMPtr<nsIDocument> iDoc(do_QueryInterface(mDocument));
+ nsresult rv = ReplacePrincipal(iDoc);
+ if (NS_FAILED(rv)) {
+ SetInstanceDocument(nsnull);
+ return rv;
+ }
}
nsCOMPtr<nsIModelElementPrivate> model = GetModel();
if (model) {
- model->InstanceLoadFinished(succeeded);
+ nsCAutoString uri;
+ request->GetName(uri);
+ model->InstanceLoadFinished(succeeded, NS_ConvertASCIItoUTF16(uri));
}
mListener = nsnull;
@@ -458,7 +493,9 @@
}
// If we don't have a linked external instance, use our inline data.
- nsresult rv = CloneInlineInstance();
+ nsCOMPtr<nsIDOMNode> child;
+ GetFirstChildElement(getter_AddRefs(child));
+ nsresult rv = CloneInlineInstance(child);
if (NS_FAILED(rv))
return rv;
return BackupOriginalDocument();
@@ -475,48 +512,69 @@
}
// Normal instance
- nsAutoString src;
+ // If the src attribute is given, then it takes precedence over inline
+ // content and the resource attribute, and the XML data for the instance
+ // is obtained from the link. If the src attribute is omitted, then the
+ // data for the instance is obtained from inline content if it is given
+ // or the resource attribute otherwise. If both the resource attribute
+ // and inline content are provided, the inline content takes precedence.
+ nsresult rv = NS_OK;
+ nsAutoString src, resource;
mElement->GetAttribute(NS_LITERAL_STRING("src"), src);
- if (src.IsEmpty()) {
- return CloneInlineInstance();
+ if (!src.IsEmpty()) {
+ LoadExternalInstance(src);
+ } else {
+ // If we have a first child element then we have inline content.
+ nsCOMPtr<nsIDOMNode> child;
+ GetFirstChildElement(getter_AddRefs(child));
+ if (child) {
+ rv = CloneInlineInstance(child);
+ } else {
+ // No @src or inline content, better have @resource
+ mElement->GetAttribute(NS_LITERAL_STRING("resource"), resource);
+ LoadExternalInstance(resource);
+ }
}
- LoadExternalInstance(src);
- return NS_OK;
+ return rv;
}
// private methods
nsresult
-nsXFormsInstanceElement::CloneInlineInstance()
+nsXFormsInstanceElement::CloneInlineInstance(nsIDOMNode *aChild)
{
// Clear out our existing instance data
nsresult rv = CreateInstanceDocument(EmptyString());
if (NS_FAILED(rv))
return rv; // don't warn, we might just not be in the document yet
- // look for our first child element (skip over text nodes, etc.)
- nsCOMPtr<nsIDOMNode> child, temp;
- mElement->GetFirstChild(getter_AddRefs(child));
- while (child) {
- PRUint16 nodeType;
- child->GetNodeType(&nodeType);
-
- if (nodeType == nsIDOMNode::ELEMENT_NODE)
- break;
- temp.swap(child);
- temp->GetNextSibling(getter_AddRefs(child));
- }
-
- // There needs to be a child element, or it is not a valid XML document
- if (!child) {
+ // aChild must be the first child element under xf:instance or it is not
+ // a valid XML document.
+ if (!aChild) {
nsXFormsUtils::ReportError(NS_LITERAL_STRING("inlineInstanceNoChildError"),
mElement);
+
nsCOMPtr<nsIModelElementPrivate> model(GetModel());
nsCOMPtr<nsIDOMNode> modelNode(do_QueryInterface(model));
- nsXFormsUtils::DispatchEvent(modelNode, eEvent_LinkException);
+ // Context Info: 'resource-uri'
+ // ID of the failed instance preceded by the # fragment identifier.
+ nsAutoString idStr;
+ mElement->GetAttribute(NS_LITERAL_STRING("id"), idStr);
+ if (!idStr.IsEmpty()) {
+ nsAutoString resourceURI;
+ resourceURI.AssignLiteral("#");
+ resourceURI.Append(idStr);
+ nsCOMPtr<nsXFormsContextInfo> contextInfo =
+ new nsXFormsContextInfo(mElement);
+ NS_ENSURE_TRUE(contextInfo, NS_ERROR_OUT_OF_MEMORY);
+ contextInfo->SetStringValue("resource-uri", resourceURI);
+ mContextInfo.AppendObject(contextInfo);
+ }
+ nsXFormsUtils::DispatchEvent(modelNode, eEvent_LinkException, nsnull,
+ mElement, &mContextInfo);
nsXFormsUtils::HandleFatalError(mElement,
NS_LITERAL_STRING("XFormsLinkException"));
return NS_ERROR_FAILURE;
@@ -524,8 +582,8 @@
// Check for siblings to first child element node. This is an error, since
// the inline content is then not a well-formed XML document.
- nsCOMPtr<nsIDOMNode> sibling;
- child->GetNextSibling(getter_AddRefs(sibling));
+ nsCOMPtr<nsIDOMNode> sibling, temp;
+ aChild->GetNextSibling(getter_AddRefs(sibling));
while (sibling) {
PRUint16 nodeType;
sibling->GetNodeType(&nodeType);
@@ -533,9 +591,25 @@
if (nodeType == nsIDOMNode::ELEMENT_NODE) {
nsXFormsUtils::ReportError(NS_LITERAL_STRING("inlineInstanceMultipleElementsError"),
mElement);
+
nsCOMPtr<nsIModelElementPrivate> model(GetModel());
nsCOMPtr<nsIDOMNode> modelNode(do_QueryInterface(model));
- nsXFormsUtils::DispatchEvent(modelNode, eEvent_LinkException);
+ // Context Info: 'resource-uri'
+ // ID of the failed instance preceded by the # fragment identifier.
+ nsAutoString idStr;
+ mElement->GetAttribute(NS_LITERAL_STRING("id"), idStr);
+ if (!idStr.IsEmpty()) {
+ nsAutoString resourceURI;
+ resourceURI.AssignLiteral("#");
+ resourceURI.Append(idStr);
+ nsCOMPtr<nsXFormsContextInfo> contextInfo =
+ new nsXFormsContextInfo(mElement);
+ NS_ENSURE_TRUE(contextInfo, NS_ERROR_OUT_OF_MEMORY);
+ contextInfo->SetStringValue("resource-uri", resourceURI);
+ mContextInfo.AppendObject(contextInfo);
+ }
+ nsXFormsUtils::DispatchEvent(modelNode, eEvent_LinkException, nsnull,
+ mElement, &mContextInfo);
nsXFormsUtils::HandleFatalError(mElement,
NS_LITERAL_STRING("XFormsLinkException"));
return NS_ERROR_FAILURE;
@@ -547,7 +621,7 @@
// Clone and insert content into new document
nsCOMPtr<nsIDOMNode> newNode;
- rv = mDocument->ImportNode(child, PR_TRUE, getter_AddRefs(newNode));
+ rv = mDocument->ImportNode(aChild, PR_TRUE, getter_AddRefs(newNode));
NS_ENSURE_SUCCESS(rv, rv);
nsCOMPtr<nsIDOMNode> nodeReturn;
@@ -565,9 +639,9 @@
PRBool restart = PR_FALSE;
if (mChannel) {
// probably hit this condition because someone changed the value of our
- // src attribute while we are already trying to load the previously
- // specified document. We'll stop the current load effort and kick off the
- // new attempt.
+ // src or resource attribute while we are already trying to load the
+ // previously specified document. We'll stop the current load effort and
+ // kick off the new attempt.
restart = PR_TRUE;
mChannel->Cancel(NS_BINDING_ABORTED);
mChannel = nsnull;
@@ -636,7 +710,9 @@
model->InstanceLoadStarted();
}
if (NS_FAILED(rv)) {
- model->InstanceLoadFinished(PR_FALSE);
+ // Context Info: 'resource-uri'
+ // The resource URI of the link that failed.
+ model->InstanceLoadFinished(PR_FALSE, aSrc);
}
}
}
@@ -691,6 +767,28 @@
}
nsresult
+nsXFormsInstanceElement::GetFirstChildElement(nsIDOMNode **aChild)
+{
+ // look for our first child element (skip over text nodes, etc.)
+ nsCOMPtr<nsIDOMNode> child, temp;
+ mElement->GetFirstChild(getter_AddRefs(child));
+ while (child) {
+ PRUint16 nodeType;
+ child->GetNodeType(&nodeType);
+
+ if (nodeType == nsIDOMNode::ELEMENT_NODE)
+ break;
+
+ temp.swap(child);
+ temp->GetNextSibling(getter_AddRefs(child));
+ }
+
+ NS_IF_ADDREF(*aChild = child);
+
+ return NS_OK;
+}
+
+nsresult
NS_NewXFormsInstanceElement(nsIXTFElement **aResult)
{
*aResult = new nsXFormsInstanceElement();
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/extensions/xforms/nsXFormsInstanceElement.h
^
|
@@ -41,6 +41,7 @@
#include "nsXFormsStubElement.h"
#include "nsIDOMDocument.h"
+#include "nsCOMArray.h"
#include "nsCOMPtr.h"
#include "nsIModelElementPrivate.h"
#include "nsIInstanceElementPrivate.h"
@@ -48,6 +49,7 @@
#include "nsIStreamListener.h"
#include "nsIChannelEventSink.h"
#include "nsIInterfaceRequestor.h"
+#include "nsIXFormsContextInfo.h"
class nsIDocument;
class nsIDOMElement;
@@ -84,10 +86,11 @@
nsXFormsInstanceElement() NS_HIDDEN;
private:
- NS_HIDDEN_(nsresult) CloneInlineInstance();
+ NS_HIDDEN_(nsresult) CloneInlineInstance(nsIDOMNode *aChild);
NS_HIDDEN_(void) LoadExternalInstance(const nsAString &aSrc);
NS_HIDDEN_(nsresult) CreateInstanceDocument(const nsAString &aQualifiedName);
NS_HIDDEN_(already_AddRefed<nsIModelElementPrivate>) GetModel();
+ NS_HIDDEN_(nsresult) GetFirstChildElement(nsIDOMNode **aChild);
/**
* Replace principal for document to be the same as for the owning document.
@@ -108,6 +111,8 @@
PRBool mInitialized;
PRBool mLazy;
nsCOMPtr<nsIChannel> mChannel;
+ // Context Info for events.
+ nsCOMArray<nsIXFormsContextInfo> mContextInfo;
};
NS_HIDDEN_(nsresult)
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/extensions/xforms/nsXFormsModelElement.cpp
^
|
@@ -1562,7 +1562,8 @@
}
NS_IMETHODIMP
-nsXFormsModelElement::InstanceLoadFinished(PRBool aSuccess)
+nsXFormsModelElement::InstanceLoadFinished(PRBool aSuccess,
+ const nsAString& aURI)
{
if (!aSuccess) {
// This will leave mPendingInstanceCount in an invalid state, which is
@@ -1570,7 +1571,17 @@
// should stop. If we decrease mPendingInstanceCount, the model would
// finish construction, which is wrong.
nsXFormsUtils::ReportError(NS_LITERAL_STRING("instanceLoadError"), mElement);
- nsXFormsUtils::DispatchEvent(mElement, eEvent_LinkException);
+ if (!aURI.IsEmpty()) {
+ // Context Info: 'resource-uri'
+ // The resource URI of the link that failed.
+ nsCOMPtr<nsXFormsContextInfo> contextInfo =
+ new nsXFormsContextInfo(mElement);
+ NS_ENSURE_TRUE(contextInfo, NS_ERROR_OUT_OF_MEMORY);
+ contextInfo->SetStringValue("resource-uri", aURI);
+ mContextInfo.AppendObject(contextInfo);
+ }
+ nsXFormsUtils::DispatchEvent(mElement, eEvent_LinkException, nsnull,
+ nsnull, &mContextInfo);
return NS_OK;
}
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/extensions/xforms/nsXFormsSchemaValidator.cpp
^
|
@@ -124,6 +124,8 @@
isValid = IsValidSchemaListItem(aValue);
} else if (aType.EqualsLiteral("listItems")) {
isValid = IsValidSchemaListItems(aValue);
+ } else if (aType.EqualsLiteral("card-number")) {
+ isValid = IsValidSchemaCardNumber(aValue);
}
return isValid;
@@ -220,3 +222,21 @@
return isValid;
}
+PRBool
+nsXFormsSchemaValidator::IsValidSchemaCardNumber(const nsAString & aValue)
+{
+ nsAutoString value(aValue);
+
+ // A valid card-number is between 12 and 19 digits in length.
+ PRInt32 len = value.Length();
+ if ((len < 12) || (len > 19))
+ return PR_FALSE;
+
+ for (PRInt32 i = 0; i < len; ++i) {
+ PRUnichar c = value.CharAt(i);
+ if ((c > '9') || (c < '0'))
+ return PR_FALSE;
+ }
+
+ return PR_TRUE;
+}
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/extensions/xforms/nsXFormsSchemaValidator.h
^
|
@@ -104,6 +104,9 @@
// Returns if the string is a valid XForms list of listitems
PRBool IsValidSchemaListItems(const nsAString & aValue);
+ // Returns if the string is a valid XForms card-number.
+ PRBool IsValidSchemaCardNumber(const nsAString & aValue);
+
protected:
nsCOMPtr<nsISchemaValidator> mSchemaValidator;
};
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/extensions/xforms/nsXFormsSubmissionElement.cpp
^
|
@@ -814,14 +814,17 @@
nsXFormsSubmissionElement::GetSubmissionURI(nsACString& aURI)
{
// Precedence:
- // 1. If the submission element has a resource element as its first child,
- // the URI can be specifed by either the 'value' attribute or the string
- // content of the resource element. The resource element has precedence over
- // both the 'resource' and 'action' attributes.
+ // 1. If the submission element has a resource element, the URI can be
+ // specifed by either the 'value' attribute or the string content of the
+ // resource element. If a submission has more than one resource child
+ // element, the first resource element child must be selected for use.
//
- // 2. If there is no resource element as the first child, the URI may be
- // specified by either the 'resource' or 'action' attributes with 'resource'
- // having precedence over 'action'.
+ // The resource element has precedence over both the 'resource' and
+ // 'action' attributes.
+ //
+ // 2. If there is no resource element, the URI may be specified by either
+ // the 'resource' or 'action' attributes with 'resource' having precedence
+ // over 'action'.
//
// If no URI is specified via any of the above mechanisms we write a warning
// message to the error console.
@@ -829,7 +832,7 @@
nsresult rv = NS_OK;
nsAutoString uri;
- // First check if the first child element of submission is a resource.
+ // First check if submission has a resource child element.
nsCOMPtr<nsIDOMNode> currentNode, node, resourceNode;
mElement->GetFirstChild(getter_AddRefs(currentNode));
@@ -838,19 +841,15 @@
while (currentNode) {
currentNode->GetNodeType(&nodeType);
if (nodeType == nsIDOMNode::ELEMENT_NODE) {
- // Make sure the element is a resource element.
+ // Check if the element is a resource element.
nsAutoString localName, namespaceURI;
currentNode->GetLocalName(localName);
currentNode->GetNamespaceURI(namespaceURI);
if (localName.EqualsLiteral("resource") &&
namespaceURI.EqualsLiteral(NS_NAMESPACE_XFORMS)) {
- // First child element is a resource.
resourceNode = currentNode;
+ break;
}
-
- // The resource element must be the first child, so we
- // bail out as soon as we find any element.
- break;
}
currentNode->GetNextSibling(getter_AddRefs(node));
@@ -917,6 +916,236 @@
}
nsresult
+nsXFormsSubmissionElement::OverrideRequestHeaders(nsIHttpChannel *aHttpChannel)
+{
+
+ // Check to see if this submission element has any header elements. Process
+ // the header elements, which will find any name/value pairs and add them
+ // to the channel's request header
+
+ nsresult rv = NS_OK;
+ nsCOMPtr<nsIDOMNode> currentNode, node, headerNode;
+ mElement->GetFirstChild(getter_AddRefs(currentNode));
+
+ PRUint16 nodeType;
+
+ while (currentNode) {
+ currentNode->GetNodeType(&nodeType);
+ if (nodeType == nsIDOMNode::ELEMENT_NODE) {
+ // Check if the element is a header element.
+ nsAutoString localName, namespaceURI;
+ currentNode->GetLocalName(localName);
+ currentNode->GetNamespaceURI(namespaceURI);
+ if (localName.EqualsLiteral("header") &&
+ namespaceURI.EqualsLiteral(NS_NAMESPACE_XFORMS)) {
+ headerNode = currentNode;
+ nsAutoString name, value;
+ rv = ProcessHeaderElement(headerNode, aHttpChannel);
+ NS_ENSURE_SUCCESS(rv, rv);
+ }
+ }
+
+ currentNode->GetNextSibling(getter_AddRefs(node));
+ currentNode.swap(node);
+ }
+
+ return NS_OK;
+}
+
+nsresult
+nsXFormsSubmissionElement::ProcessHeaderElement(nsIDOMNode *aHeaderNode,
+ nsIHttpChannel *aHttpChannel)
+{
+ // Take the given header node and look for name/value element pairs
+ // underneath. Evaluate their bindings, if any, and set those headers on
+ // the submission request.
+
+ NS_ENSURE_ARG(aHeaderNode);
+
+ PRBool hasNodeset = PR_FALSE;
+ nsCOMPtr<nsIDOMXPathResult> nodesetResult;
+ PRInt32 contextSize = kNotFound;
+ nsAutoString nodesetString(NS_LITERAL_STRING("nodeset"));
+ nsresult rv;
+ nsCOMPtr<nsIDOMElement> headerElement(do_QueryInterface(aHeaderNode));
+ NS_ENSURE_STATE(headerElement);
+ headerElement->HasAttribute(nodesetString, &hasNodeset);
+
+ if (hasNodeset) {
+ nsAutoString bindExpr;
+ headerElement->GetAttribute(nodesetString, bindExpr);
+ if (!bindExpr.IsEmpty()) {
+ // Get the nodeset we are bound to
+ nsCOMPtr<nsIModelElementPrivate> model;
+ PRBool usesModelBind = PR_FALSE;
+ rv = nsXFormsUtils::EvaluateNodeBinding(headerElement, 0, nodesetString,
+ EmptyString(),
+ nsIDOMXPathResult::ORDERED_NODE_SNAPSHOT_TYPE,
+ getter_AddRefs(model),
+ getter_AddRefs(nodesetResult),
+ &usesModelBind);
+ NS_ENSURE_SUCCESS(rv, rv);
+ PRUint32 tempSize;
+ rv = nodesetResult->GetSnapshotLength(&tempSize);
+ NS_ENSURE_SUCCESS(rv, rv);
+ contextSize = (PRInt32)tempSize;
+
+ if (contextSize <= 0) {
+ return NS_OK;
+ }
+ }
+ }
+
+ // look for the name and value elements under the header element
+
+ nsCOMPtr<nsIDOMNode> currentNode, node;
+ headerElement->GetFirstChild(getter_AddRefs(currentNode));
+
+ PRUint16 nodeType;
+ nsAutoString nameExpr, nameValue, valueExpr, valueValue;
+ PRBool useNameExpr = PR_FALSE, useValueExpr = PR_FALSE;
+ nsCOMPtr<nsIDOMElement> nameElement, valueElement;
+
+ while (currentNode && (!valueElement || !nameElement)) {
+ currentNode->GetNodeType(&nodeType);
+ if (nodeType == nsIDOMNode::ELEMENT_NODE) {
+ nsAutoString localName, namespaceURI,
+ valueString(NS_LITERAL_STRING("value"));
+ currentNode->GetLocalName(localName);
+ currentNode->GetNamespaceURI(namespaceURI);
+ if (localName.EqualsLiteral("name") &&
+ namespaceURI.EqualsLiteral(NS_NAMESPACE_XFORMS) &&
+ !nameElement) {
+ nameElement = do_QueryInterface(currentNode);
+ if (nameElement) {
+ nameElement->HasAttribute(valueString, &useNameExpr);
+ if (useNameExpr) {
+ nameElement->GetAttribute(valueString, nameExpr);
+ if (contextSize == kNotFound) {
+ nsCOMPtr<nsIModelElementPrivate> model;
+ PRBool usesModelBind = PR_FALSE;
+ nsCOMPtr<nsIDOMXPathResult> xpRes;
+ rv = nsXFormsUtils::EvaluateNodeBinding(nameElement, 0,
+ valueString, EmptyString(),
+ nsIDOMXPathResult::STRING_TYPE,
+ getter_AddRefs(model),
+ getter_AddRefs(xpRes),
+ &usesModelBind);
+ NS_ENSURE_SUCCESS(rv, rv);
+ if (xpRes) {
+ // Truncate nameValue so GetStringValue replaces the contents
+ // with the xpath result rather than appending to it.
+ nameValue.Truncate();
+ rv = xpRes->GetStringValue(nameValue);
+ NS_ENSURE_SUCCESS(rv, rv);
+ }
+ }
+ } else {
+ // No value attribute. Get the string content of the resource element.
+ nsXFormsUtils::GetNodeValue(currentNode, nameValue);
+ }
+ }
+ } else if (localName.Equals(valueString) &&
+ namespaceURI.EqualsLiteral(NS_NAMESPACE_XFORMS) &&
+ !valueElement) {
+ valueElement = do_QueryInterface(currentNode);
+ if (valueElement) {
+ valueElement->HasAttribute(valueString, &useValueExpr);
+ if (useValueExpr) {
+ valueElement->GetAttribute(valueString, valueExpr);
+ if (contextSize == kNotFound) {
+ nsCOMPtr<nsIModelElementPrivate> model;
+ PRBool usesModelBind = PR_FALSE;
+ nsCOMPtr<nsIDOMXPathResult> xpRes;
+ rv = nsXFormsUtils::EvaluateNodeBinding(valueElement, 0,
+ valueString, EmptyString(),
+ nsIDOMXPathResult::STRING_TYPE,
+ getter_AddRefs(model),
+ getter_AddRefs(xpRes),
+ &usesModelBind);
+ NS_ENSURE_SUCCESS(rv, rv);
+ if (xpRes) {
+ // Truncate valueValue so GetStringValue replaces the contents
+ // with the xpath result rather than appending to it.
+ valueValue.Truncate();
+ rv = xpRes->GetStringValue(valueValue);
+ NS_ENSURE_SUCCESS(rv, rv);
+ }
+ }
+ } else {
+ // No value attribute. Get the string content of the resource element.
+ nsXFormsUtils::GetNodeValue(valueElement, valueValue);
+ }
+ }
+ }
+ }
+ currentNode->GetNextSibling(getter_AddRefs(node));
+ currentNode.swap(node);
+ }
+
+ NS_ENSURE_STATE(nameElement && valueElement);
+
+ if (contextSize == kNotFound) {
+ // if the header element didn't have any nodeset attribute we just have the
+ // one name/value pair to worry about
+
+ if (!nameValue.IsEmpty()) {
+ rv = aHttpChannel->SetRequestHeader(NS_ConvertUTF16toUTF8(nameValue),
+ NS_ConvertUTF16toUTF8(valueValue),
+ PR_TRUE);
+ NS_ENSURE_SUCCESS(rv, rv);
+ }
+ return NS_OK;
+ }
+
+ for (PRInt32 i = 0; i < contextSize; ++i) {
+ // Get context node
+ nsCOMPtr<nsIDOMNode> contextNode;
+ rv = nodesetResult->SnapshotItem(i, getter_AddRefs(contextNode));
+ NS_ENSURE_SUCCESS(rv, rv);
+
+ if (contextNode) {
+ nsCOMPtr<nsIDOMXPathResult> xpRes;
+ if (!nameExpr.IsEmpty()) {
+ rv = nsXFormsUtils::EvaluateXPath(nameExpr, contextNode, nameElement,
+ nsIDOMXPathResult::STRING_TYPE,
+ getter_AddRefs(xpRes));
+ NS_ENSURE_SUCCESS(rv, rv);
+ if (xpRes) {
+ // Truncate nameValue so GetStringValue replaces the contents
+ // with the xpath result rather than appending to it.
+ nameValue.Truncate();
+ rv = xpRes->GetStringValue(nameValue);
+ NS_ENSURE_SUCCESS(rv, rv);
+ }
+ }
+ if (!valueExpr.IsEmpty()) {
+ rv = nsXFormsUtils::EvaluateXPath(valueExpr, contextNode, valueElement,
+ nsIDOMXPathResult::STRING_TYPE,
+ getter_AddRefs(xpRes));
+ NS_ENSURE_SUCCESS(rv, rv);
+ if (xpRes) {
+ // Truncate valueValue so GetStringValue replaces the contents
+ // with the xpath result rather than appending to it.
+ valueValue.Truncate();
+ rv = xpRes->GetStringValue(valueValue);
+ NS_ENSURE_SUCCESS(rv, rv);
+ }
+ }
+
+ if (!nameValue.IsEmpty()) {
+ rv = aHttpChannel->SetRequestHeader(NS_ConvertUTF16toUTF8(nameValue),
+ NS_ConvertUTF16toUTF8(valueValue),
+ PR_TRUE);
+ NS_ENSURE_SUCCESS(rv, rv);
+ }
+ }
+ }
+
+ return NS_OK;
+}
+
+nsresult
nsXFormsSubmissionElement::GetBoundInstanceData(nsIDOMNode **result)
{
nsCOMPtr<nsIModelElementPrivate> model;
@@ -1165,18 +1394,18 @@
attrName.Append(localName);
aTarget->SetAttributeNS(kXMLNSNameSpaceURI, attrName, value);
}
- } else if (!value.IsEmpty()) {
+ } else if (!aPrefixHash ||
+ aPrefixHash->Contains(NS_LITERAL_STRING("#default"))) {
+ // only serialize the default namespace declaration if
+ // includenamespaceprefixes is declared and it includes '#default'
+ // or if we haven't already serialized it (none of the child elements
+ // used it)
PRBool hasDefaultNSAttr;
aTarget->HasAttributeNS(kXMLNSNameSpaceURI,
NS_LITERAL_STRING("xmlns"), &hasDefaultNSAttr);
if (!hasDefaultNSAttr) {
- aTarget->GetNamespaceURI(nsURI);
- if (!nsURI.IsEmpty()) {
- // if aTarget default namespace uri isn't empty and it hasn't
- // default namespace attribute then we should add it.
- aTarget->SetAttributeNS(kXMLNSNameSpaceURI, localName, value);
- }
+ aTarget->SetAttributeNS(kXMLNSNameSpaceURI, localName, value);
}
}
}
@@ -1288,19 +1517,6 @@
submDoc->GetDocumentElement(getter_AddRefs(submDocElm));
NS_ENSURE_STATE(submDocElm);
- // if submission document has empty default namespace attribute and if
- // @includenamespaceprefixes attribute doesn't contain "#default" value then
- // we should remove default namespace attribute (see the specs 11.3).
- nsAutoString XMLNSAttrValue;
- submDocElm->GetAttributeNS(kXMLNSNameSpaceURI, NS_LITERAL_STRING("xmlns"),
- XMLNSAttrValue);
-
- if (XMLNSAttrValue.IsEmpty() && (!prefixHash ||
- !prefixHash->Contains(NS_LITERAL_STRING("#default")))) {
- submDocElm->RemoveAttributeNS(kXMLNSNameSpaceURI,
- NS_LITERAL_STRING("xmlns"));
- }
-
// handle namespaces on the root element of the instance document
nsCOMPtr<nsIDOMElement> instDocElm;
instDoc->GetDocumentElement(getter_AddRefs(instDocElm));
@@ -2427,6 +2643,7 @@
if (httpChannel) {
httpChannel->SetReferrer(currURI);
+ OverrideRequestHeaders(httpChannel);
}
if (mFormat & METHOD_POST) {
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/extensions/xforms/nsXFormsSubmissionElement.h
^
|
@@ -54,6 +54,7 @@
#include "nsIHttpHeaderVisitor.h"
#include "nsIXFormsContextInfo.h"
#include "nsDataHashtable.h"
+#include "nsIHttpChannel.h"
class nsIMultiplexInputStream;
@@ -228,6 +229,9 @@
nsresult SetHttpContextInfo(PRUint32 aResponse, const nsAString &aResponseText);
nsresult ParseErrorResponse(nsIChannel *aChannel);
+ nsresult OverrideRequestHeaders(nsIHttpChannel *aHttpChannel);
+ nsresult ProcessHeaderElement(nsIDOMNode *aHeaderNode,
+ nsIHttpChannel *aHttpChannel);
};
NS_HIDDEN_(nsresult)
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/extensions/xforms/nsXFormsUtilityService.cpp
^
|
@@ -58,6 +58,9 @@
#include "nsIModelElementPrivate.h"
#include "nsIXFormsActionModuleElement.h"
#include "nsIXFormsContextInfo.h"
+#include "prmem.h"
+#include "plbase64.h"
+#include "nsICryptoHash.h"
NS_IMPL_ISUPPORTS1(nsXFormsUtilityService, nsIXFormsUtilityService)
@@ -473,7 +476,7 @@
PR_FormatTime(ctime, sizeof(ctime), "%Y-%m-%dT%H:%M:%S\0", &time);
- aResult.AssignLiteral(ctime);
+ aResult.Assign(NS_ConvertASCIItoUTF16(ctime));
if (aUTC) {
aResult.AppendLiteral("Z");
@@ -567,3 +570,299 @@
return NS_OK;
}
+NS_IMETHODIMP
+nsXFormsUtilityService::Context(nsIDOMNode *aResolverNode,
+ nsIDOMNode **aResult)
+{
+
+ nsCOMPtr<nsIDOMNode> contextNode;
+ PRUint32 contextNodesetSize = 0;
+ PRInt32 contextPosition;
+ nsCOMPtr<nsIModelElementPrivate> model;
+ nsCOMPtr<nsIDOMElement> bindElement;
+ nsCOMPtr<nsIXFormsControl> parentControl;
+ PRBool outerBind;
+
+ nsCOMPtr<nsIDOMElement> element(do_QueryInterface(aResolverNode));
+ if (!element) {
+ contextNode.swap(*aResult);
+ return NS_OK;
+ }
+
+ nsresult rv =
+ nsXFormsUtils::GetNodeContext(element,
+ nsXFormsUtils::ELEMENT_WITH_MODEL_ATTR,
+ getter_AddRefs(model),
+ getter_AddRefs(bindElement),
+ &outerBind,
+ getter_AddRefs(parentControl),
+ getter_AddRefs(contextNode),
+ &contextPosition,
+ (PRInt32*)&contextNodesetSize,
+ PR_FALSE);
+
+ NS_ENSURE_SUCCESS(rv, rv);
+
+ contextNode.swap(*aResult);
+
+ return NS_OK;
+}
+
+NS_IMETHODIMP
+nsXFormsUtilityService::IsCardNumber(const nsAString& aNumber, PRBool *aResult)
+{
+ nsAutoString number(aNumber);
+
+ nsXFormsSchemaValidator validator;
+ if (!validator.ValidateString(number,
+ NS_LITERAL_STRING("card-number"),
+ NS_LITERAL_STRING(NS_NAMESPACE_XFORMS))) {
+ *aResult = PR_FALSE;
+ return NS_OK;
+ }
+
+ // Now check if the card number is a valid Luhn number.
+ PRInt32 sum = 0;
+ PRBool alt = false;
+ for (PRInt32 i = number.Length() - 1; i >= 0; --i) {
+ PRUnichar currentChar = number.CharAt(i);
+ PRInt32 digit = abs(currentChar - '0');
+
+ if (alt) {
+ digit *= 2;
+ if (digit > 9) {
+ digit -= 9;
+ }
+ }
+ sum += digit;
+ alt = !alt;
+ }
+
+ *aResult = (sum % 10 == 0);
+
+ return NS_OK;
+}
+
+NS_IMETHODIMP
+nsXFormsUtilityService::Digest(const nsAString &aData,
+ const nsAString &aAlgorithm,
+ const nsAString &aEncoding,
+ nsIDOMNode *aResolverNode,
+ nsAString &aResult)
+{
+ aResult.Truncate();
+
+ PRBool throwException = PR_FALSE;
+
+ // Determine the hash algorithm to use.
+ PRUint32 hashAlg = 0;
+
+ if (aAlgorithm.EqualsLiteral("MD5")) {
+ hashAlg = nsICryptoHash::MD5;
+ } else if (aAlgorithm.EqualsLiteral("SHA-1")) {
+ hashAlg = nsICryptoHash::SHA1;
+ } else if (aAlgorithm.EqualsLiteral("SHA-256")) {
+ hashAlg = nsICryptoHash::SHA256;
+ } else if (aAlgorithm.EqualsLiteral("SHA-384")) {
+ hashAlg = nsICryptoHash::SHA384;
+ } else if (aAlgorithm.EqualsLiteral("SHA-512")) {
+ hashAlg = nsICryptoHash::SHA512;
+ } else {
+ // Throw exception.
+ throwException = PR_TRUE;
+ }
+
+ if (!throwException) {
+ // Perform the hash.
+ nsresult rv;
+
+ nsCOMPtr<nsICryptoHash> hash =
+ do_CreateInstance("@mozilla.org/security/hash;1", &rv);
+ NS_ENSURE_SUCCESS(rv, rv);
+
+ rv = hash->Init(hashAlg);
+ NS_ENSURE_SUCCESS(rv, rv);
+
+ nsCAutoString data = NS_LossyConvertUTF16toASCII(aData);
+ rv = hash->Update(reinterpret_cast<const PRUint8*>(data.get()),
+ data.Length());
+ NS_ENSURE_SUCCESS(rv, rv);
+
+ // PR_FALSE means return the raw binary data.
+ nsCAutoString result;
+ rv = hash->Finish(PR_FALSE, result);
+ NS_ENSURE_SUCCESS(rv, rv);
+
+ // Encode the result.
+ if (aEncoding.IsEmpty() || aEncoding.EqualsLiteral("base64")) {
+ char *buffer = PL_Base64Encode((char *)result.get(),
+ result.Length(), nsnull);
+ if (buffer) {
+ aResult = ToNewUnicode(NS_ConvertASCIItoUTF16(buffer));
+ PR_Free(buffer);
+ }
+ } else if (aEncoding.EqualsLiteral("hex")) {
+ PRUint32 length = result.Length() * 2 + 1;
+ PRUnichar *hexBuffer =
+ NS_STATIC_CAST(PRUnichar*, nsMemory::Alloc(length * sizeof(PRUnichar)));
+ NS_ENSURE_TRUE(hexBuffer, NS_ERROR_OUT_OF_MEMORY);
+ nsXFormsUtils::BinaryToHex(result.get(), result.Length(), &hexBuffer);
+ hexBuffer [result.Length() * 2] = 0;
+
+ nsAutoString hexResult(hexBuffer);
+ nsCAutoString hexLower = NS_LossyConvertUTF16toASCII(hexResult);
+ ToLowerCase(hexLower);
+ aResult = NS_ConvertASCIItoUTF16(hexLower);
+
+ nsMemory::Free(hexBuffer);
+ } else {
+ // Throw exception.
+ throwException = PR_TRUE;
+ }
+ }
+
+ if (throwException) {
+ // If the digest function appears in a computed expression (An XPath
+ // expression used by model item properties such as relevant and
+ // calculate to include dynamic functionality in XForms), an
+ // xforms-compute-exception occurs. If the digest function appears
+ // in any other attribute that contains an XPath function, an
+ // xforms-binding-exception occurs.
+ nsXFormsEvent event = eEvent_BindingException;
+ nsAutoString localName, namespaceURI;
+ aResolverNode->GetLocalName(localName);
+ if (localName.EqualsLiteral("bind")) {
+ aResolverNode->GetNamespaceURI(namespaceURI);
+ if (namespaceURI.EqualsLiteral(NS_NAMESPACE_XFORMS)) {
+ event = eEvent_ComputeException;
+ }
+ }
+
+ // Dispatch the event.
+ nsCOMPtr<nsIDOMElement> resolverElement = do_QueryInterface(aResolverNode);
+ nsCOMPtr<nsIModelElementPrivate> modelPriv =
+ nsXFormsUtils::GetModel(resolverElement);
+ nsCOMPtr<nsIDOMNode> model = do_QueryInterface(modelPriv);
+ nsXFormsUtils::DispatchEvent(model, event, nsnull, resolverElement,
+ nsnull);
+ return NS_ERROR_FAILURE;
+ }
+
+ return NS_OK;
+}
+
+NS_IMETHODIMP
+nsXFormsUtilityService::AdjustDateTimeToTimezone(const nsAString &aDateTime,
+ nsAString &aResult)
+{
+ // We have three cases to deal with:
+ //
+ // 1. aDateTime does not include a timezone indicator: 2007-10-07T02:22:00
+ // The schema validator will return a PRTime that was calculated using
+ // PR_LocalTimeParameters and that PRTime value formatted as an
+ // xsd:dateTime is the same 2007-10-07T02:22:00 that was passed in.
+ // We just need to append the local time zone.
+ //
+ // 2. aDateTime is a UTC (aka GMT) time: 2007-10-07T21:26:43Z
+ // The schema validator will treat aDateTime as GMT and return that as a
+ // PRTime. We convert the GMT time to a time in the local time zone and
+ // append the local time zone.
+ //
+ // 3. aDateTime includes a time zone component: 2007-10-07T02:22:00-07:00
+ // The schema validator checks if the time zone component is valid, but
+ // does not use it when calculating the PRTime value so this case is
+ // similar to case 1 except that we have to add the given time zone
+ // offset (to get the GMT time of the input aDateTime), convert the GMT
+ // time to the local time zone, and append the local time zone.
+ aResult.Truncate();
+
+ nsCOMPtr<nsISchemaValidator> schemaValidator =
+ do_CreateInstance("@mozilla.org/schemavalidator;1");
+ NS_ENSURE_TRUE(schemaValidator, NS_ERROR_FAILURE);
+
+ PRTime t_dateTime;
+ nsresult rv = schemaValidator->ValidateBuiltinTypeDateTime(aDateTime,
+ &t_dateTime);
+
+ if (NS_FAILED(rv)) {
+ return NS_OK;
+ }
+
+ // The dateTime is valid, so get the timeZone information. If there is time
+ // zone information we are dealing with case 3 and have a bit more work to
+ // do to convert aDateTime to the local time zone.
+ nsAutoString timeString, timeZoneString;
+ PRInt32 timeSeparator = aDateTime.FindChar(PRUnichar('T'));
+ timeString.Append(Substring(aDateTime,
+ timeSeparator + 1,
+ aDateTime.Length() - timeSeparator));
+ nsXFormsUtils::GetTimeZone(timeString, timeZoneString);
+
+ PRExplodedTime time;
+ char ctime[60];
+
+ if (!timeZoneString.IsEmpty()) {
+ // The time zone string will be of the form ('+' | '-') hh ':' mm
+ // For example: +05:00, -07:00
+ nsAutoString hoursString, minutesString;
+ hoursString.Append(Substring(timeZoneString, 1, 2));
+ minutesString.Append(Substring(timeZoneString, 4, 2));
+
+ PRInt32 errCode;
+ PRInt32 hours = hoursString.ToInteger(&errCode);
+ NS_ENSURE_TRUE(errCode == 0, NS_ERROR_FAILURE);
+ PRInt32 minutes = minutesString.ToInteger(&errCode);
+ NS_ENSURE_TRUE(errCode == 0, NS_ERROR_FAILURE);
+ PRInt32 tzSecs = (hours * 3600) + (minutes * 60);
+
+ if (timeZoneString.CharAt(0) == '+') {
+ // The time zone is relative to GMT so if it is positive, we need to
+ // subtract the total number of seconds represented by the time zone;
+ // likewise, we add if the time zone is negative.
+ tzSecs *= -1;
+ }
+
+ PR_ExplodeTime(t_dateTime, PR_LocalTimeParameters, &time);
+ // Zero out the gmt and dst information because we don't want
+ // PR_NormalizeTime to use the local time zone to get back to
+ // GMT before it normalizes (because it would calculate the GMT
+ // time relative to the time zone that was part of the input dateTime).
+ time.tm_params.tp_gmt_offset = 0;
+ time.tm_params.tp_dst_offset = 0;
+ // Adjust the total seconds.
+ time.tm_sec += tzSecs;
+ // Normalize the fields and apply the local time parameters to convert
+ // the time to the local time zone.
+ PR_NormalizeTime(&time, PR_LocalTimeParameters);
+ PR_FormatTime(ctime, sizeof(ctime), "%Y-%m-%dT%H:%M:%S\0", &time);
+
+ } else {
+ // This is either a GMT time or no time zone information is available.
+ PR_ExplodeTime(t_dateTime, PR_LocalTimeParameters, &time);
+ PR_FormatTime(ctime, sizeof(ctime), "%Y-%m-%dT%H:%M:%S\0", &time);
+ }
+
+ // Calculate local time zone to append to the result.
+ int gmtoffsethour = time.tm_params.tp_gmt_offset / 3600;
+ int remainder = time.tm_params.tp_gmt_offset % 3600;
+ int gmtoffsetminute = remainder ? remainder / 60 : 0;
+ // adjust gmtoffsethour for daylight savings time.
+ int dstoffset = time.tm_params.tp_dst_offset / 3600;
+ gmtoffsethour += dstoffset;
+ if (gmtoffsethour < 0) {
+ // Make the gmtoffsethour positive; we'll add the plus or minus
+ // to the time zone string.
+ gmtoffsethour *= -1;
+ }
+
+ char zone_location[40];
+ const int zoneBufSize = sizeof(zone_location);
+ PR_snprintf(zone_location, zoneBufSize, "%c%02d:%02d\0",
+ time.tm_params.tp_gmt_offset < 0 ? '-' : '+',
+ gmtoffsethour, gmtoffsetminute);
+
+ aResult.AppendLiteral(ctime);
+ aResult.Append(NS_ConvertASCIItoUTF16(zone_location));
+
+ return NS_OK;
+}
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/extensions/xforms/nsXFormsUtils.cpp
^
|
@@ -2538,3 +2538,44 @@
return PR_FALSE;
}
}
+
+static inline PRUnichar
+ToHexChar(PRInt16 aValue)
+{
+ if (aValue < 10)
+ return (PRUnichar) aValue + '0';
+ else
+ return (PRUnichar) aValue - 10 + 'A';
+}
+
+void
+nsXFormsUtils::BinaryToHex(const char *aBuffer, PRUint32 aCount,
+ PRUnichar **aHexString)
+{
+ for (PRUint32 index = 0; index < aCount; index++) {
+ (*aHexString)[index * 2] = ToHexChar((aBuffer[index] >> 4) & 0xf);
+ (*aHexString)[index * 2 + 1] = ToHexChar(aBuffer[index] & 0xf);
+ }
+}
+
+/* static */ nsresult
+nsXFormsUtils::GetTimeZone(const nsAString &aTime,
+ nsAString &aResult)
+{
+ aResult.Truncate();
+
+ if (!aTime.IsEmpty()) {
+ PRInt32 timeZoneSeparator = aTime.FindChar(PRUnichar('-'));
+ if (timeZoneSeparator == kNotFound) {
+ timeZoneSeparator = aTime.FindChar(PRUnichar('+'));
+ if (timeZoneSeparator == kNotFound) {
+ // no time zone information available
+ return NS_OK;
+ }
+ }
+ aResult.Append(Substring(aTime, timeZoneSeparator,
+ aTime.Length() - timeZoneSeparator));
+ }
+
+ return NS_OK;
+}
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/extensions/xforms/nsXFormsUtils.h
^
|
@@ -660,6 +660,20 @@
*/
static NS_HIDDEN_(PRInt32) waitLimit;
+ static NS_HIDDEN_(void) BinaryToHex(const char *aBuffer, PRUint32 aCount,
+ PRUnichar **aHexString);
+
+ /**
+ * Get the time zone information from an xsd:time. This function assumes
+ * that aTime is a valid xsd:time.
+ *
+ * @param aTime A valid xsd:time
+ * @param aResult Result string containing the time zone or an
+ * empty string if none is found.
+ */
+ static NS_HIDDEN_(nsresult) GetTimeZone(const nsAString &aTime,
+ nsAString &aResult);
+
private:
/**
* Do same origin checks on aBaseDocument and aTestURI. Hosts can be
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/extensions/xforms/resources/locale/en-US/xforms.properties
^
|
@@ -88,7 +88,7 @@
warnSubmitSerializeFailed = XForms Warning (6): Submission failed to serialize data
warnSubmitNetworkFailure = XForms Warning (7): Submission could not send data to the network
warnSubmitProtocolPost = XForms Warning (8): Submission could not be processed. We do not handle method="post" with protocol: %S.
-warnSubmitURI = XForms Warning (9): Submission element must specify the URI via a resource element (must be the first child element of submission), resource attribute or action attribute.
+warnSubmitURI = XForms Warning (9): Submission element must specify the URI via a resource element, resource attribute or action attribute.
# XForms Permission Messages:
xformsXDPermissionDialogTitle = Allowed Sites - XForms Cross Domain Access
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/gfx/src/gtk/nsFontMetricsGTK.cpp
^
|
@@ -61,6 +61,7 @@
#include "nsAString.h"
#include "nsXPIDLString.h"
#include "nsFontDebug.h"
+#include "nsCharTraits.h"
#ifdef MOZ_ENABLE_FREETYPE2
#include "nsFT2FontNode.h"
#include "nsFontFreeType.h"
@@ -76,11 +77,8 @@
#include <X11/Xatom.h>
#include <gdk/gdk.h>
-#define IS_SURROGATE(u) (u > 0x10000)
#define SAFE_CCMAP_HAS_CHAR_EXT(ccmap,c) ((ccmap) && ((IS_SURROGATE(c) && (ccmap)==gDoubleByteSpecialCharsCCMap) ? PR_FALSE : (CCMAP_HAS_CHAR_EXT(ccmap,c))))
-#define UCS2_NOMAPPING 0XFFFD
-
#ifdef PR_LOGGING
static PRLogModuleInfo * FontMetricsGTKLM = PR_NewLogModule("FontMetricsGTK");
#endif /* PR_LOGGING */
@@ -3458,8 +3456,8 @@
return AddToLoadedFontsList(ftfont);
}
- if (IS_SURROGATE(aChar)) {
- // SURROGATE is only supported by FreeType
+ if (!IS_IN_BMP(aChar)) {
+ // Non-BMP is only supported by FreeType
return nsnull;
}
#endif
@@ -5064,10 +5062,10 @@
* loading a font with the same map.
*/
if (charSetInfo->mCharSet) {
- // if SURROGATE char, ignore charSetInfo->mCCMap checking
+ // if not BMP char, ignore charSetInfo->mCCMap checking
// because the exact ccmap is never created before loading
// NEED TO FIX: need better way
- if (IS_SURROGATE(aChar) ) {
+ if (!IS_IN_BMP(aChar) ) {
goto check_done;
}
PRUint16* ccmap = charSetInfo->mCCMap;
@@ -6561,8 +6559,8 @@
// If this is is the 'unknown' char (ie: converter could not
// convert it) there is no sense in searching any further for
// a font. Just returing mWesternFont
- if (aChar == UCS2_NOMAPPING) {
- FIND_FONT_PRINTF((" ignore the 'UCS2_NOMAPPING' character, return mWesternFont"));
+ if (aChar == UCS2_REPLACEMENT_CHAR) {
+ FIND_FONT_PRINTF((" ignore the 'UCS2_REPLACEMENT_CHAR' character, return mWesternFont"));
return mWesternFont;
}
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/intl/uconv/src/charsetData.properties
^
|
@@ -64,6 +64,7 @@
ibm869.notForBrowser = true
x-ibm1046.notForBrowser = true
iso-8859-8-e.notForBrowser = true
+utf-7.notForBrowser = true
t.61-8bit.notForOutgoing = true
utf-7.notForOutgoing = true
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/intl/uconv/ucvko/nsISO2022KRToUnicode.cpp
^
|
@@ -52,12 +52,17 @@
{
switch(mState)
{
- case mState_ASCII:
+ case mState_Init:
if(0x1b == *src) {
- mLastLegalState = mState;
- mState = mState_ESC;
- }
- else if(0x0e == *src) { // Shift-Out
+ mLastLegalState = mState_ASCII;
+ mState = mState_ESC;
+ break;
+ }
+ mState = mState_ASCII;
+ // fall through
+
+ case mState_ASCII:
+ if(0x0e == *src) { // Shift-Out
mState = mState_KSX1001_1992;
mRunLength = 0;
}
@@ -104,11 +109,6 @@
mState = mLastLegalState;
if('C' == *src) {
mState = mState_ASCII;
- if (mRunLength == 0) {
- if(dest+1 >= destEnd)
- goto error1;
- *dest++ = 0xFFFD;
- }
mRunLength = 0;
}
else {
@@ -207,7 +207,7 @@
} // switch
src++;
if ( *src == 0x0a || *src == 0x0d ) // if LF/CR, return to US-ASCII unconditionally.
- mState = mState_ASCII;
+ mState = mState_Init;
}
*aDestLen = dest - aDest;
return NS_OK;
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/intl/uconv/ucvko/nsISO2022KRToUnicode.h
^
|
@@ -46,7 +46,7 @@
public:
nsISO2022KRToUnicode()
{
- mState = mState_ASCII;
+ mState = mState_Init;
mLastLegalState = mState_ASCII;
mData = 0;
mEUCKRDecoder = nsnull;
@@ -70,7 +70,7 @@
NS_IMETHOD Reset()
{
- mState = mState_ASCII;
+ mState = mState_Init;
mLastLegalState = mState_ASCII;
mRunLength = 0;
return NS_OK;
@@ -78,6 +78,7 @@
private:
enum {
+ mState_Init,
mState_ASCII,
mState_ESC,
mState_ESC_24,
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/intl/unicharutil/util/nsUnicharUtils.h
^
|
@@ -41,8 +41,13 @@
#ifndef nsAString_h___
#include "nsAString.h"
#endif
+
#include "nsReadableUtils.h"
+#ifndef nsCharTraits_h___
+#include "nsCharTraits.h"
+#endif
+
void ToLowerCase( nsAString& );
void ToUpperCase( nsAString& );
@@ -90,16 +95,6 @@
return ToUpperCase(c) != c;
}
-#define IS_HIGH_SURROGATE(u) ((PRUnichar)(u) >= (PRUnichar)0xd800 && (PRUnichar)(u) <= (PRUnichar)0xdbff)
-#define IS_LOW_SURROGATE(u) ((PRUnichar)(u) >= (PRUnichar)0xdc00 && (PRUnichar)(u) <= (PRUnichar)0xdfff)
-
-#define SURROGATE_TO_UCS4(h, l) ((((PRUint32)(h)-(PRUint32)0xd800) << 10) + \
- (PRUint32)(l) - (PRUint32)(0xdc00) + 0x10000)
-
-#define H_SURROGATE(s) ((PRUnichar)(((PRUint32)s - (PRUint32)0x10000) >> 10) + (PRUnichar)0xd800)
-#define L_SURROGATE(s) ((PRUnichar)(((PRUint32)s - (PRUint32)0x10000) & 0x3ff) + (PRUnichar)0xdc00)
-#define IS_IN_BMP(ucs) ((PRUint32)ucs < 0x10000)
-
/* (0x3131u <= (u) && (u) <= 0x318eu) => Hangul Compatibility Jamo */
/* (0xac00u <= (u) && (u) <= 0xd7a3u) => Hangul Syllables */
#define IS_CJ_CHAR(u) \
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/js/src/js.mak
^
|
@@ -76,6 +76,7 @@
-@erase "$(INTDIR)\jsfun.obj"
-@erase "$(INTDIR)\jsgc.obj"
-@erase "$(INTDIR)\jshash.obj"
+ -@erase "$(INTDIR)\jsiter.obj"
-@erase "$(INTDIR)\jsinterp.obj"
-@erase "$(INTDIR)\jslock.obj"
-@erase "$(INTDIR)\jslog2.obj"
@@ -171,6 +172,7 @@
"$(INTDIR)\jsfun.obj" \
"$(INTDIR)\jsgc.obj" \
"$(INTDIR)\jshash.obj" \
+ "$(INTDIR)\jsiter.obj" \
"$(INTDIR)\jsinterp.obj" \
"$(INTDIR)\jslock.obj" \
"$(INTDIR)\jslog2.obj" \
@@ -230,6 +232,7 @@
-@erase "$(INTDIR)\jsfun.obj"
-@erase "$(INTDIR)\jsgc.obj"
-@erase "$(INTDIR)\jshash.obj"
+ -@erase "$(INTDIR)\jsiter.obj"
-@erase "$(INTDIR)\jsinterp.obj"
-@erase "$(INTDIR)\jslock.obj"
-@erase "$(INTDIR)\jslog2.obj"
@@ -327,6 +330,7 @@
"$(INTDIR)\jsfun.obj" \
"$(INTDIR)\jsgc.obj" \
"$(INTDIR)\jshash.obj" \
+ "$(INTDIR)\jsiter.obj" \
"$(INTDIR)\jsinterp.obj" \
"$(INTDIR)\jslock.obj" \
"$(INTDIR)\jslog2.obj" \
@@ -895,6 +899,7 @@
".\jsfun.h"\
".\jsgc.h"\
".\jshash.h"\
+ ".\jsiter.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
@@ -950,6 +955,7 @@
".\jsfun.h"\
".\jsgc.h"\
".\jshash.h"\
+ ".\jsiter.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
@@ -1059,6 +1065,7 @@
".\jsfun.h"\
".\jsgc.h"\
".\jshash.h"\
+ ".\jsiter.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
@@ -1101,6 +1108,7 @@
".\jsfun.h"\
".\jsgc.h"\
".\jshash.h"\
+ ".\jsiter.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
@@ -1149,6 +1157,7 @@
".\jscpucfg.h"\
".\jsgc.h"\
".\jshash.h"\
+ ".\jsiter.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
@@ -1192,6 +1201,7 @@
".\jscpucfg.h"\
".\jsgc.h"\
".\jshash.h"\
+ ".\jsiter.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
@@ -1244,6 +1254,7 @@
".\jscpucfg.h"\
".\jsgc.h"\
".\jshash.h"\
+ ".\jsiter.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
@@ -1286,6 +1297,7 @@
".\jscpucfg.h"\
".\jsgc.h"\
".\jshash.h"\
+ ".\jsiter.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
@@ -1337,6 +1349,7 @@
".\jsexn.h"\
".\jsgc.h"\
".\jshash.h"\
+ ".\jsiter.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
@@ -1383,6 +1396,7 @@
".\jsexn.h"\
".\jsgc.h"\
".\jshash.h"\
+ ".\jsiter.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
@@ -1437,6 +1451,7 @@
".\jsdtoa.h"\
".\jsgc.h"\
".\jshash.h"\
+ ".\jsiter.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
@@ -1481,6 +1496,7 @@
".\jsdtoa.h"\
".\jsgc.h"\
".\jshash.h"\
+ ".\jsiter.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
@@ -1533,6 +1549,7 @@
".\jsfun.h"\
".\jsgc.h"\
".\jshash.h"\
+ ".\jsiter.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
@@ -1577,6 +1594,7 @@
".\jsfun.h"\
".\jsgc.h"\
".\jshash.h"\
+ ".\jsiter.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
@@ -1733,6 +1751,7 @@
".\jsfun.h"\
".\jsgc.h"\
".\jshash.h"\
+ ".\jsiter.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
@@ -1780,7 +1799,7 @@
".\jsemit.h"\
".\jsfun.h"\
".\jsgc.h"\
- ".\jshash.h"\
+ ".\jsiter.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
@@ -1837,6 +1856,7 @@
".\jsfun.h"\
".\jsgc.h"\
".\jshash.h"\
+ ".\jsiter.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
@@ -1879,6 +1899,7 @@
".\jsfun.h"\
".\jsgc.h"\
".\jshash.h"\
+ ".\jsiter.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
@@ -1929,6 +1950,7 @@
".\jsfun.h"\
".\jsgc.h"\
".\jshash.h"\
+ ".\jsiter.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
@@ -1977,6 +1999,7 @@
".\jsfun.h"\
".\jsgc.h"\
".\jshash.h"\
+ ".\jsiter.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
@@ -2032,6 +2055,7 @@
".\jsfun.h"\
".\jsgc.h"\
".\jshash.h"\
+ ".\jsiter.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
@@ -2075,7 +2099,7 @@
".\jscpucfg.h"\
".\jsfun.h"\
".\jsgc.h"\
- ".\jshash.h"\
+ ".\jsiter.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
@@ -2161,6 +2185,114 @@
################################################################################
# Begin Source File
+SOURCE=.\jsiter.c
+
+!IF "$(CFG)" == "js - Win32 Release"
+
+DEP_CPP_JSINT=\
+ ".\js.msg"\
+ ".\jsapi.h"\
+ ".\jsarena.h"\
+ ".\jsarray.h"\
+ ".\jsatom.h"\
+ ".\jsbool.h"\
+ ".\jsclist.h"\
+ ".\jscntxt.h"\
+ ".\jscompat.h"\
+ ".\jsconfig.h"\
+ ".\jscpucfg.h"\
+ ".\jsdbgapi.h"\
+ ".\jsfun.h"\
+ ".\jsgc.h"\
+ ".\jshash.h"\
+ ".\jsiter.h"\
+ ".\jsinterp.h"\
+ ".\jslock.h"\
+ ".\jslong.h"\
+ ".\jsnum.h"\
+ ".\jsobj.h"\
+ ".\jsopcode.h"\
+ ".\jsopcode.tbl"\
+ ".\jsosdep.h"\
+ ".\jsotypes.h"\
+ ".\jsprf.h"\
+ ".\jsprvtd.h"\
+ ".\jspubtd.h"\
+ ".\jsregexp.h"\
+ ".\jsscope.h"\
+ ".\jsscript.h"\
+ ".\jsstddef.h"\
+ ".\jsstr.h"\
+ ".\jstypes.h"\
+ ".\jsutil.h"\
+ ".\jsxml.h"\
+ {$(INCLUDE)}"\sys\types.h"\
+
+NODEP_CPP_JSINT=\
+ ".\jsautocfg.h"\
+ ".\prcvar.h"\
+ ".\prlock.h"\
+
+
+"$(INTDIR)\jsiter.obj" : $(SOURCE) $(DEP_CPP_JSINT) "$(INTDIR)"
+
+
+!ELSEIF "$(CFG)" == "js - Win32 Debug"
+
+DEP_CPP_JSINT=\
+ ".\js.msg"\
+ ".\jsapi.h"\
+ ".\jsarena.h"\
+ ".\jsarray.h"\
+ ".\jsatom.h"\
+ ".\jsbool.h"\
+ ".\jsclist.h"\
+ ".\jscntxt.h"\
+ ".\jscompat.h"\
+ ".\jsconfig.h"\
+ ".\jscpucfg.h"\
+ ".\jsdbgapi.h"\
+ ".\jsfun.h"\
+ ".\jsgc.h"\
+ ".\jshash.h"\
+ ".\jsiter.h"\
+ ".\jsinterp.h"\
+ ".\jslock.h"\
+ ".\jslong.h"\
+ ".\jsnum.h"\
+ ".\jsobj.h"\
+ ".\jsopcode.h"\
+ ".\jsopcode.tbl"\
+ ".\jsosdep.h"\
+ ".\jsotypes.h"\
+ ".\jsprf.h"\
+ ".\jsprvtd.h"\
+ ".\jspubtd.h"\
+ ".\jsregexp.h"\
+ ".\jsscope.h"\
+ ".\jsscript.h"\
+ ".\jsstddef.h"\
+ ".\jsstr.h"\
+ ".\jstypes.h"\
+ ".\jsutil.h"\
+ ".\jsxml.h"\
+ {$(INCLUDE)}"\sys\types.h"\
+
+NODEP_CPP_JSINT=\
+ ".\jsautocfg.h"\
+ ".\prcvar.h"\
+ ".\prlock.h"\
+
+
+"$(INTDIR)\jsiter.obj" : $(SOURCE) $(DEP_CPP_JSINT) "$(INTDIR)"
+
+
+!ENDIF
+
+# End Source File
+################################################################################
+# Begin Source File
+
SOURCE=.\jsinterp.c
!IF "$(CFG)" == "js - Win32 Release"
@@ -2181,6 +2313,7 @@
".\jsfun.h"\
".\jsgc.h"\
".\jshash.h"\
+ ".\jsiter.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
@@ -2230,6 +2363,7 @@
".\jsfun.h"\
".\jsgc.h"\
".\jshash.h"\
+ ".\jsiter.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
@@ -2283,6 +2417,7 @@
".\jscpucfg.h"\
".\jsgc.h"\
".\jshash.h"\
+ ".\jsiter.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
@@ -2324,6 +2459,7 @@
".\jscpucfg.h"\
".\jsgc.h"\
".\jshash.h"\
+ ".\jsiter.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
@@ -2457,6 +2593,7 @@
".\jscpucfg.h"\
".\jsgc.h"\
".\jshash.h"\
+ ".\jsiter.h"\
".\jsinterp.h"\
".\jslibmath.h"\
".\jslock.h"\
@@ -2499,6 +2636,7 @@
".\jscpucfg.h"\
".\jsgc.h"\
".\jshash.h"\
+ ".\jsiter.h"\
".\jsinterp.h"\
".\jslibmath.h"\
".\jslock.h"\
@@ -2550,6 +2688,7 @@
".\jsdtoa.h"\
".\jsgc.h"\
".\jshash.h"\
+ ".\jsiter.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
@@ -2594,6 +2733,7 @@
".\jsdtoa.h"\
".\jsgc.h"\
".\jshash.h"\
+ ".\jsiter.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
@@ -2648,6 +2788,7 @@
".\jsfun.h"\
".\jsgc.h"\
".\jshash.h"\
+ ".\jsiter.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
@@ -2696,6 +2837,7 @@
".\jsfun.h"\
".\jsgc.h"\
".\jshash.h"\
+ ".\jsiter.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
@@ -2754,6 +2896,7 @@
".\jsfun.h"\
".\jsgc.h"\
".\jshash.h"\
+ ".\jsiter.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
@@ -2802,6 +2945,7 @@
".\jsfun.h"\
".\jsgc.h"\
".\jshash.h"\
+ ".\jsiter.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
@@ -2855,6 +2999,7 @@
".\jsfun.h"\
".\jsgc.h"\
".\jshash.h"\
+ ".\jsiter.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
@@ -2902,6 +3047,7 @@
".\jsfun.h"\
".\jsgc.h"\
".\jshash.h"\
+ ".\jsiter.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
@@ -3003,6 +3149,7 @@
".\jsfun.h"\
".\jsgc.h"\
".\jshash.h"\
+ ".\jsiter.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
@@ -3048,6 +3195,7 @@
".\jsfun.h"\
".\jsgc.h"\
".\jshash.h"\
+ ".\jsiter.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
@@ -3101,6 +3249,7 @@
".\jsexn.h"\
".\jsgc.h"\
".\jshash.h"\
+ ".\jsiter.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
@@ -3150,6 +3299,7 @@
".\jsexn.h"\
".\jsgc.h"\
".\jshash.h"\
+ ".\jsiter.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
@@ -3244,6 +3394,7 @@
".\jscpucfg.h"\
".\jsgc.h"\
".\jshash.h"\
+ ".\jsiter.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
@@ -3284,6 +3435,7 @@
".\jscpucfg.h"\
".\jsgc.h"\
".\jshash.h"\
+ ".\jsiter.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
@@ -3335,6 +3487,7 @@
".\jsfun.h"\
".\jsgc.h"\
".\jshash.h"\
+ ".\jsiter.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
@@ -3383,6 +3536,7 @@
".\jsfun.h"\
".\jsgc.h"\
".\jshash.h"\
+ ".\jsiter.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
@@ -3438,6 +3592,7 @@
".\jscpucfg.h"\
".\jsgc.h"\
".\jshash.h"\
+ ".\jsiter.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
@@ -3483,6 +3638,7 @@
".\jscpucfg.h"\
".\jsgc.h"\
".\jshash.h"\
+ ".\jsiter.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
@@ -3578,6 +3734,7 @@
".\jscpucfg.h"\
".\jsgc.h"\
".\jshash.h"\
+ ".\jsiter.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
@@ -3619,6 +3776,7 @@
".\jscpucfg.h"\
".\jsgc.h"\
".\jshash.h"\
+ ".\jsiter.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
@@ -3831,6 +3989,7 @@
".\jsfun.h"\
".\jsgc.h"\
".\jshash.h"\
+ ".\jsiter.h"\
".\jsinterp.h"\
".\jslock.h"\
".\jslong.h"\
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/js/src/jsapi.c
^
|
@@ -1179,12 +1179,35 @@
}
/* Initialize the function class first so constructors can be made. */
- fun_proto = js_InitFunctionClass(cx, obj);
- if (!fun_proto)
+ if (!js_GetClassPrototype(cx, obj, INT_TO_JSID(JSProto_Function),
+ &fun_proto)) {
+ fun_proto = NULL;
goto out;
+ }
+ if (!fun_proto) {
+ fun_proto = js_InitFunctionClass(cx, obj);
+ if (!fun_proto)
+ goto out;
+ } else {
+ JSObject *ctor;
+
+ ctor = JS_GetConstructor(cx, fun_proto);
+ if (!ctor) {
+ fun_proto = NULL;
+ goto out;
+ }
+ OBJ_DEFINE_PROPERTY(cx, obj, ATOM_TO_JSID(CLASS_ATOM(cx, Function)),
+ OBJECT_TO_JSVAL(ctor), 0, 0, 0, NULL);
+ }
/* Initialize the object class next so Object.prototype works. */
- obj_proto = js_InitObjectClass(cx, obj);
+ if (!js_GetClassPrototype(cx, obj, INT_TO_JSID(JSProto_Object),
+ &obj_proto)) {
+ fun_proto = NULL;
+ goto out;
+ }
+ if (!obj_proto)
+ obj_proto = js_InitObjectClass(cx, obj);
if (!obj_proto) {
fun_proto = NULL;
goto out;
@@ -2220,7 +2243,6 @@
/* Bootstrap Function.prototype (see also JS_InitStandardClasses). */
if (OBJ_GET_CLASS(cx, ctor) == clasp) {
- JS_ASSERT(!OBJ_GET_PROTO(cx, ctor));
OBJ_SET_PROTO(cx, ctor, proto);
}
}
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/js/src/jsdbgapi.c
^
|
@@ -454,6 +454,7 @@
frame.pc = script->code + script->length
- JSOP_STOP_LENGTH;
}
+ frame.callee = closure;
frame.fun = fun;
frame.argv = argv + 2;
frame.down = cx->fp;
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/js/src/jsemit.c
^
|
@@ -4291,10 +4291,6 @@
return JS_FALSE;
cg->treeContext.flags &= ~TCF_IN_FOR_INIT;
- /* Emit a push to allocate the iterator. */
- if (js_Emit1(cx, cg, JSOP_STARTITER) < 0)
- return JS_FALSE;
-
/* Compile the object expression to the right of 'in'. */
if (!js_EmitTree(cx, cg, pn2->pn_right))
return JS_FALSE;
@@ -4393,7 +4389,7 @@
if (pn3->pn_slot >= 0) {
if (pn3->pn_attrs & JSPROP_READONLY) {
JS_ASSERT(op == JSOP_FORVAR);
- op = JSOP_GETVAR;
+ op = JSOP_FORCONST;
}
atomIndex = (jsatomid) pn3->pn_slot;
EMIT_UINT16_IMM_OP(op, atomIndex);
@@ -5451,7 +5447,7 @@
EMIT_UINT16_IMM_OP(pn2->pn_op, atomIndex);
break;
}
- // FALL THROUGH
+ /* FALL THROUGH */
case TOK_DOT:
EMIT_ATOM_INDEX_OP(pn2->pn_op, atomIndex);
break;
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/js/src/jsfun.c
^
|
@@ -1856,13 +1856,7 @@
caller = JS_GetScriptedCaller(cx, fp);
if (caller) {
principals = JS_EvalFramePrincipals(cx, fp, caller);
- if (principals == caller->script->principals) {
- filename = caller->script->filename;
- lineno = js_PCToLineNumber(cx, caller->script, caller->pc);
- } else {
- filename = principals->codebase;
- lineno = 0;
- }
+ filename = js_ComputeFilename(cx, caller, principals, &lineno);
} else {
filename = NULL;
lineno = 0;
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/js/src/jsgc.c
^
|
@@ -2573,6 +2573,9 @@
if (JSVAL_IS_GCTHING((jsval)fp->thisp))
GC_MARK(cx, JSVAL_TO_GCTHING((jsval)fp->thisp), "this");
+ if (fp->callee)
+ GC_MARK(cx, fp->callee, "callee object");
+
/*
* Mark fp->argv, even though in the common case it will be marked via our
* caller's frame, or via a JSStackHeader if fp was pushed by an external
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/js/src/jsinterp.c
^
|
@@ -1263,6 +1263,7 @@
frame.varobj = NULL;
frame.callobj = frame.argsobj = NULL;
frame.script = script;
+ frame.callee = funobj;
frame.fun = fun;
frame.argc = argc;
frame.argv = sp - argc;
@@ -1570,6 +1571,7 @@
frame.callobj = down->callobj;
frame.argsobj = down->argsobj;
frame.varobj = down->varobj;
+ frame.callee = down->callee;
frame.fun = down->fun;
frame.thisp = down->thisp;
frame.argc = down->argc;
@@ -1586,6 +1588,7 @@
obj = tmp;
}
frame.varobj = obj;
+ frame.callee = NULL;
frame.fun = NULL;
frame.thisp = chain;
frame.argc = 0;
@@ -2696,6 +2699,7 @@
BEGIN_CASE(JSOP_FORARG)
BEGIN_CASE(JSOP_FORVAR)
+ BEGIN_CASE(JSOP_FORCONST)
BEGIN_CASE(JSOP_FORLOCAL)
/*
* JSOP_FORARG and JSOP_FORVAR don't require any lval computation
@@ -2744,6 +2748,10 @@
fp->vars[slot] = rval;
break;
+ case JSOP_FORCONST:
+ /* Don't update the const slot. */
+ break;
+
case JSOP_FORLOCAL:
slot = GET_UINT16(pc);
JS_ASSERT(slot < (uintN)depth);
@@ -3857,6 +3865,7 @@
newifp->frame.callobj = NULL;
newifp->frame.argsobj = NULL;
newifp->frame.varobj = NULL;
+ newifp->frame.callee = obj;
newifp->frame.script = script;
newifp->frame.fun = fun;
newifp->frame.argc = argc;
@@ -5535,7 +5544,7 @@
rval = FETCH_OPND(-1);
JS_ASSERT(JSVAL_IS_STRING(rval));
SAVE_SP_AND_PC(fp);
- str = js_EscapeAttributeValue(cx, JSVAL_TO_STRING(rval));
+ str = js_EscapeAttributeValue(cx, JSVAL_TO_STRING(rval), JS_FALSE);
if (!str) {
ok = JS_FALSE;
goto out;
@@ -5949,8 +5958,6 @@
#undef FAST_LOCAL_INCREMENT_OP
- EMPTY_CASE(JSOP_STARTITER)
-
BEGIN_CASE(JSOP_ENDITER)
JS_ASSERT(!JSVAL_IS_PRIMITIVE(sp[-1]));
iterobj = JSVAL_TO_OBJECT(sp[-1]);
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/js/src/jsinterp.h
^
|
@@ -61,6 +61,7 @@
JSObject *callobj; /* lazily created Call object */
JSObject *argsobj; /* lazily created arguments object */
JSObject *varobj; /* variables object, where vars go */
+ JSObject *callee; /* function or script object */
JSScript *script; /* script being interpreted */
JSFunction *fun; /* function being called or null */
JSObject *thisp; /* "this" pointer if in method */
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/js/src/jsiter.c
^
|
@@ -756,6 +756,7 @@
/* Copy call-invariant script and function references. */
gen->frame.script = fp->script;
+ gen->frame.callee = fp->callee;
gen->frame.fun = fp->fun;
/* Use newsp to carve space out of gen->stack. */
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/js/src/jsnum.c
^
|
@@ -306,7 +306,7 @@
const char *numGrouping, *tmpGroup;
JSRuntime *rt;
JSString *numStr, *str;
- char *num, *buf, *dec, *end, *tmpSrc, *tmpDest;
+ char *num, *buf, *nint, *end, *tmpSrc, *tmpDest;
int digits, size, remainder, nrepeat;
/*
@@ -319,17 +319,28 @@
numStr = JSVAL_TO_STRING(*rval);
num = js_GetStringBytes(cx->runtime, numStr);
- /* Find bit before the decimal. */
- dec = strchr(num, '.');
- digits = dec ? dec - num : (int)strlen(num);
+ /*
+ * Find the first non-integer value, whether it be a letter as in
+ * 'Infinity', a decimal point, or an 'e' from exponential notation.
+ */
+ nint = num;
+ if (*nint == '-')
+ nint++;
+ while(*nint >= '0' && *nint <= '9')
+ nint++;
+ digits = nint - num;
end = num + digits;
+ if (!digits)
+ return JS_TRUE;
rt = cx->runtime;
thousandsLength = strlen(rt->thousandsSeparator);
decimalLength = strlen(rt->decimalSeparator);
/* Figure out how long resulting string will be. */
- size = digits + (dec ? decimalLength + strlen(dec + 1) : 0);
+ size = digits + (*nint ? strlen(nint + 1) + 1 : 0);
+ if (*nint == '.')
+ size += decimalLength;
numGrouping = tmpGroup = rt->numGrouping;
remainder = digits;
@@ -371,12 +382,12 @@
tmpGroup--;
}
- if (dec) {
+ if (*nint == '.') {
strcpy(tmpDest, rt->decimalSeparator);
tmpDest += decimalLength;
- strcpy(tmpDest, dec + 1);
+ strcpy(tmpDest, nint + 1);
} else {
- *tmpDest++ = '\0';
+ strcpy(tmpDest, nint);
}
if (cx->localeCallbacks && cx->localeCallbacks->localeToUnicode)
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/js/src/jsobj.c
^
|
@@ -1237,6 +1237,25 @@
return NULL;
}
+const char *
+js_ComputeFilename(JSContext *cx, JSStackFrame *caller,
+ JSPrincipals *principals, uintN *linenop)
+{
+ uint32 flags;
+
+ JS_ASSERT(principals || !cx->runtime->findObjectPrincipals);
+ flags = JS_GetScriptFilenameFlags(caller->script);
+ if ((flags & JSFILENAME_SYSTEM) &&
+ principals &&
+ strcmp(principals->codebase, "[System Principal]")) {
+ *linenop = 0;
+ return principals->codebase;
+ }
+
+ *linenop = js_PCToLineNumber(cx, caller->script, caller->pc);
+ return caller->script->filename;
+}
+
static JSBool
obj_eval(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
@@ -1362,13 +1381,7 @@
str = JSVAL_TO_STRING(argv[0]);
if (caller) {
principals = JS_EvalFramePrincipals(cx, fp, caller);
- if (principals == caller->script->principals) {
- file = caller->script->filename;
- line = js_PCToLineNumber(cx, caller->script, caller->pc);
- } else {
- file = principals->codebase;
- line = 0;
- }
+ file = js_ComputeFilename(cx, caller, principals, &line);
} else {
file = NULL;
line = 0;
@@ -3276,13 +3289,13 @@
/* Resolved: juggle locks and lookup id again. */
if (obj2 != obj) {
JS_UNLOCK_OBJ(cx, obj);
- JS_LOCK_OBJ(cx, obj2);
+ if (OBJ_IS_NATIVE(obj2))
+ JS_LOCK_OBJ(cx, obj2);
}
scope = OBJ_SCOPE(obj2);
if (!MAP_IS_NATIVE(&scope->map)) {
/* Whoops, newresolve handed back a foreign obj2. */
JS_ASSERT(obj2 != obj);
- JS_UNLOCK_OBJ(cx, obj2);
ok = OBJ_LOOKUP_PROPERTY(cx, obj2, id, objp, propp);
if (!ok || *propp)
goto cleanup;
@@ -3303,7 +3316,8 @@
JS_ASSERT(obj2 == scope->object);
obj = obj2;
} else if (obj2 != obj) {
- JS_UNLOCK_OBJ(cx, obj2);
+ if (OBJ_IS_NATIVE(obj2))
+ JS_UNLOCK_OBJ(cx, obj2);
JS_LOCK_OBJ(cx, obj);
}
}
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/js/src/jsobj.h
^
|
@@ -591,6 +591,12 @@
extern JSBool
js_CheckPrincipalsAccess(JSContext *cx, JSObject *scopeobj,
JSPrincipals *principals, JSAtom *caller);
+
+/* NB: Infallible. */
+extern const char *
+js_ComputeFilename(JSContext *cx, JSStackFrame *caller,
+ JSPrincipals *principals, uintN *linenop);
+
JS_END_EXTERN_C
#endif /* jsobj_h___ */
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/js/src/jsopcode.c
^
|
@@ -1905,10 +1905,6 @@
}
break;
- case JSOP_STARTITER:
- todo = -2;
- break;
-
case JSOP_PUSH:
#if JS_HAS_DESTRUCTURING
sn = js_GetSrcNote(jp->script, pc);
@@ -2506,9 +2502,7 @@
start = ss->offsets[pos];
LOCAL_ASSERT(ss->sprinter.base[start] == '[' ||
ss->sprinter.base[start] == '#');
- pos = blockpos;
- while (ss->opcodes[++pos] == JSOP_STARTITER)
- LOCAL_ASSERT(pos < ss->top);
+ pos = blockpos + 1;
LOCAL_ASSERT(pos < ss->top);
xval = OFF2STR(&ss->sprinter, ss->offsets[pos]);
lval = OFF2STR(&ss->sprinter, start);
@@ -2728,6 +2722,7 @@
goto do_fornameinloop;
case JSOP_FORVAR:
+ case JSOP_FORCONST:
atom = GetSlotAtom(jp, js_GetLocalVariable, GET_VARNO(pc));
LOCAL_ASSERT(atom);
goto do_fornameinloop;
@@ -4437,6 +4432,10 @@
JSPrinter *jp;
JSString *name;
+ JS_ASSERT(spindex < 0 ||
+ spindex == JSDVG_IGNORE_STACK ||
+ spindex == JSDVG_SEARCH_STACK);
+
for (fp = cx->fp; fp && !fp->script; fp = fp->down)
continue;
if (!fp)
@@ -4534,19 +4533,16 @@
#if !JS_HAS_NO_SUCH_METHOD
JS_ASSERT(-depth <= spindex);
#endif
- spindex -= depth;
-
- base = (jsval *) cx->stackPool.current->base;
- limit = (jsval *) cx->stackPool.current->avail;
sp = fp->sp + spindex;
- if (JS_UPTRDIFF(sp, base) < JS_UPTRDIFF(limit, base))
- pc = (jsbytecode *) *sp;
+ if ((jsuword) (sp - fp->spbase) < (jsuword) depth)
+ pc = (jsbytecode *) *(sp - depth);
+
}
}
/*
* Again, be paranoid, this time about possibly loading an invalid pc
- * from fp->sp[-(1+depth)].
+ * from fp->sp[spindex - script->depth)].
*/
if (JS_UPTRDIFF(pc, script->code) >= (jsuword)script->length) {
pc = fp->pc;
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/js/src/jsopcode.tbl
^
|
@@ -458,7 +458,7 @@
/*
* Iterator, generator, and array comprehension support.
*/
-OPDEF(JSOP_STARTITER, 208,"startiter", NULL, 1, 0, 0, 0, JOF_BYTE)
+OPDEF(JSOP_FORCONST, 208,"forconst", NULL, 3, 0, 1, 19, JOF_QVAR|JOF_NAME|JOF_FOR)
OPDEF(JSOP_ENDITER, 209,"enditer", NULL, 1, 1, 0, 0, JOF_BYTE)
OPDEF(JSOP_GENERATOR, 210,"generator", NULL, 1, 0, 0, 0, JOF_BYTE)
OPDEF(JSOP_YIELD, 211,"yield", NULL, 1, 1, 1, 1, JOF_BYTE)
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/js/src/jsscan.c
^
|
@@ -314,146 +314,144 @@
if (ts->ungetpos != 0) {
c = ts->ungetbuf[--ts->ungetpos];
} else {
- do {
- if (ts->linebuf.ptr == ts->linebuf.limit) {
- len = PTRDIFF(ts->userbuf.limit, ts->userbuf.ptr, jschar);
- if (len <= 0) {
- if (!ts->file) {
- ts->flags |= TSF_EOF;
- return EOF;
- }
+ if (ts->linebuf.ptr == ts->linebuf.limit) {
+ len = PTRDIFF(ts->userbuf.limit, ts->userbuf.ptr, jschar);
+ if (len <= 0) {
+ if (!ts->file) {
+ ts->flags |= TSF_EOF;
+ return EOF;
+ }
- /* Fill ts->userbuf so that \r and \r\n convert to \n. */
- crflag = (ts->flags & TSF_CRFLAG) != 0;
- len = js_fgets(cbuf, JS_LINE_LIMIT - crflag, ts->file);
- if (len <= 0) {
- ts->flags |= TSF_EOF;
- return EOF;
- }
- olen = len;
- ubuf = ts->userbuf.base;
- i = 0;
- if (crflag) {
- ts->flags &= ~TSF_CRFLAG;
- if (cbuf[0] != '\n') {
- ubuf[i++] = '\n';
- len++;
- ts->linepos--;
- }
- }
- for (j = 0; i < len; i++, j++)
- ubuf[i] = (jschar) (unsigned char) cbuf[j];
- ts->userbuf.limit = ubuf + len;
- ts->userbuf.ptr = ubuf;
+ /* Fill ts->userbuf so that \r and \r\n convert to \n. */
+ crflag = (ts->flags & TSF_CRFLAG) != 0;
+ len = js_fgets(cbuf, JS_LINE_LIMIT - crflag, ts->file);
+ if (len <= 0) {
+ ts->flags |= TSF_EOF;
+ return EOF;
}
- if (ts->listener) {
- ts->listener(ts->filename, ts->lineno, ts->userbuf.ptr, len,
- &ts->listenerTSData, ts->listenerData);
+ olen = len;
+ ubuf = ts->userbuf.base;
+ i = 0;
+ if (crflag) {
+ ts->flags &= ~TSF_CRFLAG;
+ if (cbuf[0] != '\n') {
+ ubuf[i++] = '\n';
+ len++;
+ ts->linepos--;
+ }
}
+ for (j = 0; i < len; i++, j++)
+ ubuf[i] = (jschar) (unsigned char) cbuf[j];
+ ts->userbuf.limit = ubuf + len;
+ ts->userbuf.ptr = ubuf;
+ }
+ if (ts->listener) {
+ ts->listener(ts->filename, ts->lineno, ts->userbuf.ptr, len,
+ &ts->listenerTSData, ts->listenerData);
+ }
- nl = ts->saveEOL;
- if (!nl) {
+ nl = ts->saveEOL;
+ if (!nl) {
+ /*
+ * Any one of \n, \r, or \r\n ends a line (the longest
+ * match wins). Also allow the Unicode line and paragraph
+ * separators.
+ */
+ for (nl = ts->userbuf.ptr; nl < ts->userbuf.limit; nl++) {
/*
- * Any one of \n, \r, or \r\n ends a line (the longest
- * match wins). Also allow the Unicode line and paragraph
- * separators.
+ * Try to prevent value-testing on most characters by
+ * filtering out characters that aren't 000x or 202x.
*/
- for (nl = ts->userbuf.ptr; nl < ts->userbuf.limit; nl++) {
- /*
- * Try to prevent value-testing on most characters by
- * filtering out characters that aren't 000x or 202x.
- */
- if ((*nl & 0xDFD0) == 0) {
- if (*nl == '\n')
- break;
- if (*nl == '\r') {
- if (nl + 1 < ts->userbuf.limit && nl[1] == '\n')
- nl++;
- break;
- }
- if (*nl == LINE_SEPARATOR || *nl == PARA_SEPARATOR)
- break;
+ if ((*nl & 0xDFD0) == 0) {
+ if (*nl == '\n')
+ break;
+ if (*nl == '\r') {
+ if (nl + 1 < ts->userbuf.limit && nl[1] == '\n')
+ nl++;
+ break;
}
+ if (*nl == LINE_SEPARATOR || *nl == PARA_SEPARATOR)
+ break;
}
}
+ }
- /*
- * If there was a line terminator, copy thru it into linebuf.
- * Else copy JS_LINE_LIMIT-1 bytes into linebuf.
- */
- if (nl < ts->userbuf.limit)
- len = PTRDIFF(nl, ts->userbuf.ptr, jschar) + 1;
- if (len >= JS_LINE_LIMIT) {
- len = JS_LINE_LIMIT - 1;
- ts->saveEOL = nl;
- } else {
- ts->saveEOL = NULL;
- }
- js_strncpy(ts->linebuf.base, ts->userbuf.ptr, len);
- ts->userbuf.ptr += len;
- olen = len;
+ /*
+ * If there was a line terminator, copy thru it into linebuf.
+ * Else copy JS_LINE_LIMIT-1 bytes into linebuf.
+ */
+ if (nl < ts->userbuf.limit)
+ len = PTRDIFF(nl, ts->userbuf.ptr, jschar) + 1;
+ if (len >= JS_LINE_LIMIT) {
+ len = JS_LINE_LIMIT - 1;
+ ts->saveEOL = nl;
+ } else {
+ ts->saveEOL = NULL;
+ }
+ js_strncpy(ts->linebuf.base, ts->userbuf.ptr, len);
+ ts->userbuf.ptr += len;
+ olen = len;
- /*
- * Make sure linebuf contains \n for EOL (don't do this in
- * userbuf because the user's string might be readonly).
- */
- if (nl < ts->userbuf.limit) {
- if (*nl == '\r') {
- if (ts->linebuf.base[len-1] == '\r') {
- /*
- * Does the line segment end in \r? We must check
- * for a \n at the front of the next segment before
- * storing a \n into linebuf. This case matters
- * only when we're reading from a file.
- */
- if (nl + 1 == ts->userbuf.limit && ts->file) {
- len--;
- ts->flags |= TSF_CRFLAG; /* clear NLFLAG? */
- if (len == 0) {
- /*
- * This can happen when a segment ends in
- * \r\r. Start over. ptr == limit in this
- * case, so we'll fall into buffer-filling
- * code.
- */
- return GetChar(ts);
- }
- } else {
- ts->linebuf.base[len-1] = '\n';
- }
- }
- } else if (*nl == '\n') {
- if (nl > ts->userbuf.base &&
- nl[-1] == '\r' &&
- ts->linebuf.base[len-2] == '\r') {
+ /*
+ * Make sure linebuf contains \n for EOL (don't do this in
+ * userbuf because the user's string might be readonly).
+ */
+ if (nl < ts->userbuf.limit) {
+ if (*nl == '\r') {
+ if (ts->linebuf.base[len-1] == '\r') {
+ /*
+ * Does the line segment end in \r? We must check
+ * for a \n at the front of the next segment before
+ * storing a \n into linebuf. This case matters
+ * only when we're reading from a file.
+ */
+ if (nl + 1 == ts->userbuf.limit && ts->file) {
len--;
- JS_ASSERT(ts->linebuf.base[len] == '\n');
+ ts->flags |= TSF_CRFLAG; /* clear NLFLAG? */
+ if (len == 0) {
+ /*
+ * This can happen when a segment ends in
+ * \r\r. Start over. ptr == limit in this
+ * case, so we'll fall into buffer-filling
+ * code.
+ */
+ return GetChar(ts);
+ }
+ } else {
ts->linebuf.base[len-1] = '\n';
}
- } else if (*nl == LINE_SEPARATOR || *nl == PARA_SEPARATOR) {
+ }
+ } else if (*nl == '\n') {
+ if (nl > ts->userbuf.base &&
+ nl[-1] == '\r' &&
+ ts->linebuf.base[len-2] == '\r') {
+ len--;
+ JS_ASSERT(ts->linebuf.base[len] == '\n');
ts->linebuf.base[len-1] = '\n';
}
+ } else if (*nl == LINE_SEPARATOR || *nl == PARA_SEPARATOR) {
+ ts->linebuf.base[len-1] = '\n';
}
+ }
- /* Reset linebuf based on adjusted segment length. */
- ts->linebuf.limit = ts->linebuf.base + len;
- ts->linebuf.ptr = ts->linebuf.base;
-
- /* Update position of linebuf within physical userbuf line. */
- if (!(ts->flags & TSF_NLFLAG))
- ts->linepos += ts->linelen;
- else
- ts->linepos = 0;
- if (ts->linebuf.limit[-1] == '\n')
- ts->flags |= TSF_NLFLAG;
- else
- ts->flags &= ~TSF_NLFLAG;
+ /* Reset linebuf based on adjusted segment length. */
+ ts->linebuf.limit = ts->linebuf.base + len;
+ ts->linebuf.ptr = ts->linebuf.base;
+
+ /* Update position of linebuf within physical userbuf line. */
+ if (!(ts->flags & TSF_NLFLAG))
+ ts->linepos += ts->linelen;
+ else
+ ts->linepos = 0;
+ if (ts->linebuf.limit[-1] == '\n')
+ ts->flags |= TSF_NLFLAG;
+ else
+ ts->flags &= ~TSF_NLFLAG;
- /* Update linelen from original segment length. */
- ts->linelen = olen;
- }
- c = *ts->linebuf.ptr++;
- } while (JS_ISFORMAT(c));
+ /* Update linelen from original segment length. */
+ ts->linelen = olen;
+ }
+ c = *ts->linebuf.ptr++;
}
if (c == '\n')
ts->lineno++;
@@ -1069,6 +1067,15 @@
return tp;
}
+static JS_INLINE JSBool
+ScanAsSpace(jschar c)
+{
+ /* Treat little- and big-endian BOMs as whitespace for compatibility. */
+ if (JS_ISSPACE(c) || c == 0xfffe || c == 0xfeff)
+ return JS_TRUE;
+ return JS_FALSE;
+}
+
JSTokenType
js_GetToken(JSContext *cx, JSTokenStream *ts)
{
@@ -1275,7 +1282,7 @@
if (ts->flags & TSF_NEWLINES)
break;
}
- } while (JS_ISSPACE(c));
+ } while (ScanAsSpace(c));
tp = NewToken(ts, -1);
if (c == EOF) {
@@ -1798,7 +1805,7 @@
cp[3] == 'n' &&
cp[4] == 'e') {
SkipChars(ts, 5);
- while ((c = GetChar(ts)) != '\n' && JS_ISSPACE(c))
+ while ((c = GetChar(ts)) != '\n' && ScanAsSpace(c))
continue;
if (JS7_ISDEC(c)) {
line = JS7_UNDEC(c);
@@ -1810,7 +1817,7 @@
}
line = temp;
}
- while (c != '\n' && JS_ISSPACE(c))
+ while (c != '\n' && ScanAsSpace(c))
c = GetChar(ts);
i = 0;
if (c == '"') {
@@ -1825,7 +1832,7 @@
}
if (c == '"') {
while ((c = GetChar(ts)) != '\n' &&
- JS_ISSPACE(c)) {
+ ScanAsSpace(c)) {
continue;
}
}
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/js/src/jsscript.c
^
|
@@ -233,13 +233,7 @@
}
principals = JS_EvalFramePrincipals(cx, fp, caller);
- if (principals == caller->script->principals) {
- file = caller->script->filename;
- line = js_PCToLineNumber(cx, caller->script, caller->pc);
- } else {
- file = principals->codebase;
- line = 0;
- }
+ file = js_ComputeFilename(cx, caller, principals, &line);
} else {
file = NULL;
line = 0;
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/js/src/jsxdrapi.h
^
|
@@ -200,7 +200,7 @@
* before deserialization of bytecode. If the saved version does not match
* the current version, abort deserialization and invalidate the file.
*/
-#define JSXDR_BYTECODE_VERSION (0xb973c0de - 16)
+#define JSXDR_BYTECODE_VERSION (0xb973c0de - 29)
/*
* Library-private functions.
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/js/src/jsxml.c
^
|
@@ -725,7 +725,8 @@
}
static JSBool
-Namespace(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
+NamespaceHelper(JSContext *cx, JSObject *obj, uintN argc, jsval *argv,
+ jsval *rval)
{
jsval urival, prefixval;
JSObject *uriobj;
@@ -747,7 +748,7 @@
else uriobj = NULL;
#endif
- if (!(cx->fp->flags & JSFRAME_CONSTRUCTING)) {
+ if (!obj) {
/* Namespace called as function. */
if (argc == 1 && isNamespace) {
/* Namespace called with one Namespace argument is identity. */
@@ -834,22 +835,32 @@
}
static JSBool
-QName(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
+Namespace(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
+{
+ return NamespaceHelper(cx,
+ (cx->fp->flags & JSFRAME_CONSTRUCTING) ? obj : NULL,
+ argc, argv, rval);
+}
+
+static JSBool
+QNameHelper(JSContext *cx, JSObject *obj, JSClass *clasp, uintN argc,
+ jsval *argv, jsval *rval)
{
jsval nameval, nsval;
JSBool isQName, isNamespace;
JSXMLQName *qn;
JSString *uri, *prefix, *name;
JSObject *nsobj;
- JSClass *clasp;
JSXMLNamespace *ns;
+ JS_ASSERT(clasp == &js_QNameClass.base ||
+ clasp == &js_AttributeNameClass);
nameval = argv[argc > 1];
isQName =
!JSVAL_IS_PRIMITIVE(nameval) &&
OBJ_GET_CLASS(cx, JSVAL_TO_OBJECT(nameval)) == &js_QNameClass.base;
- if (!(cx->fp->flags & JSFRAME_CONSTRUCTING)) {
+ if (!obj) {
/* QName called as function. */
if (argc == 1 && isQName) {
/* QName called with one QName argument is identity. */
@@ -858,13 +869,10 @@
}
/*
- * Create and return a new QName object exactly as if constructed.
- * Use the constructor's clasp so we can be shared by AttributeName
- * (see below after this function).
+ * Create and return a new QName or AttributeName object exactly as if
+ * constructed.
*/
- obj = js_NewObject(cx,
- JS_ValueToFunction(cx, argv[-2])->clasp,
- NULL, NULL);
+ obj = js_NewObject(cx, clasp, NULL, NULL);
if (!obj)
return JS_FALSE;
*rval = OBJECT_TO_JSVAL(obj);
@@ -959,14 +967,18 @@
}
static JSBool
+QName(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
+{
+ return QNameHelper(cx, (cx->fp->flags & JSFRAME_CONSTRUCTING) ? obj : NULL,
+ &js_QNameClass.base, argc, argv, rval);
+}
+
+static JSBool
AttributeName(JSContext *cx, JSObject *obj, uintN argc, jsval *argv,
jsval *rval)
{
- /*
- * Since js_AttributeNameClass was initialized, obj will have that as its
- * class, not js_QNameClass.
- */
- return QName(cx, obj, argc, argv, rval);
+ return QNameHelper(cx, (cx->fp->flags & JSFRAME_CONSTRUCTING) ? obj : NULL,
+ &js_AttributeNameClass, argc, argv, rval);
}
/*
@@ -1954,6 +1966,7 @@
{
jsval nsval;
JSXMLNamespace *ns;
+ JSString *uri;
size_t urilen, srclen, length, offset, dstlen;
jschar *chars;
const jschar *srcp, *endp;
@@ -1967,8 +1980,8 @@
JSXMLArray nsarray;
uintN flags;
- static const char prefix[] = "<parent xmlns='";
- static const char middle[] = "'>";
+ static const char prefix[] = "<parent xmlns=\"";
+ static const char middle[] = "\">";
static const char suffix[] = "</parent>";
#define constrlen(constr) (sizeof(constr) - 1)
@@ -1976,8 +1989,9 @@
if (!js_GetDefaultXMLNamespace(cx, &nsval))
return NULL;
ns = (JSXMLNamespace *) JS_GetPrivate(cx, JSVAL_TO_OBJECT(nsval));
+ uri = js_EscapeAttributeValue(cx, ns->uri, JS_FALSE);
- urilen = JSSTRING_LENGTH(ns->uri);
+ urilen = JSSTRING_LENGTH(uri);
srclen = JSSTRING_LENGTH(src);
length = constrlen(prefix) + urilen + constrlen(middle) + srclen +
constrlen(suffix);
@@ -1989,7 +2003,7 @@
dstlen = length;
js_InflateStringToBuffer(cx, prefix, constrlen(prefix), chars, &dstlen);
offset = dstlen;
- js_strncpy(chars + offset, JSSTRING_CHARS(ns->uri), urilen);
+ js_strncpy(chars + offset, JSSTRING_CHARS(uri), urilen);
offset += urilen;
dstlen = length - offset + 1;
js_InflateStringToBuffer(cx, middle, constrlen(middle), chars + offset,
@@ -2342,15 +2356,14 @@
static void
AppendAttributeValue(JSContext *cx, JSStringBuffer *sb, JSString *valstr)
{
- js_AppendCString(sb, "=\"");
- valstr = js_EscapeAttributeValue(cx, valstr);
+ js_AppendChar(sb, '=');
+ valstr = js_EscapeAttributeValue(cx, valstr, JS_TRUE);
if (!valstr) {
free(sb->base);
sb->base = STRING_BUFFER_ERROR_BASE;
return;
}
js_AppendJSString(sb, valstr);
- js_AppendChar(sb, '"');
}
/*
@@ -2413,13 +2426,15 @@
* This function takes ownership of sb->base, if sb is non-null, in all cases.
*/
static JSString *
-EscapeAttributeValue(JSContext *cx, JSStringBuffer *sb, JSString *str)
+EscapeAttributeValue(JSContext *cx, JSStringBuffer *sb, JSString *str,
+ JSBool quote)
{
size_t length, newlength;
const jschar *cp, *start, *end;
jschar c;
- length = newlength = JSSTRING_LENGTH(str);
+ length = JSSTRING_LENGTH(str);
+ newlength = length + (quote ? 2 : 0);
for (cp = start = JSSTRING_CHARS(str), end = cp + length; cp < end; cp++) {
c = *cp;
if (c == '"')
@@ -2444,6 +2459,8 @@
JS_ReportOutOfMemory(cx);
return NULL;
}
+ if (quote)
+ js_AppendChar(sb, '"');
for (cp = start; cp < end; cp++) {
c = *cp;
if (c == '"')
@@ -2461,6 +2478,8 @@
else
js_AppendChar(sb, c);
}
+ if (quote)
+ js_AppendChar(sb, '"');
JS_ASSERT(STRING_BUFFER_OK(sb));
str = js_NewString(cx, sb->base, STRING_BUFFER_OFFSET(sb), 0);
if (!str)
@@ -2675,6 +2694,8 @@
}
/* ECMA-357 10.2.1 and 10.2.2 */
+#define TO_SOURCE_FLAG 0x80000000
+
static JSString *
XMLToXMLString(JSContext *cx, JSXML *xml, const JSXMLArray *ancestorNSes,
uintN indentLevel)
@@ -2683,10 +2704,9 @@
JSStringBuffer sb;
JSString *str, *prefix, *kidstr;
JSXMLArrayCursor cursor;
- uint32 i, n;
+ uint32 i, n, nextIndentLevel;
JSXMLArray empty, decls, ancdecls;
JSXMLNamespace *ns, *ns2;
- uintN nextIndentLevel;
JSXML *attr, *kid;
if (!GetBooleanXMLSetting(cx, js_prettyPrinting_str, &pretty))
@@ -2694,7 +2714,7 @@
js_InitStringBuffer(&sb);
if (pretty)
- js_RepeatChar(&sb, ' ', indentLevel);
+ js_RepeatChar(&sb, ' ', indentLevel & ~TO_SOURCE_FLAG);
str = NULL;
switch (xml->xml_class) {
@@ -2711,7 +2731,8 @@
case JSXML_CLASS_ATTRIBUTE:
/* Step 5. */
- return EscapeAttributeValue(cx, &sb, xml->xml_value);
+ return EscapeAttributeValue(cx, &sb, xml->xml_value,
+ (indentLevel & TO_SOURCE_FLAG) != 0);
case JSXML_CLASS_COMMENT:
/* Step 6. */
@@ -2981,7 +3002,7 @@
goto out;
nextIndentLevel = indentLevel + i;
} else {
- nextIndentLevel = 0;
+ nextIndentLevel = indentLevel & TO_SOURCE_FLAG;
}
XMLArrayCursorInit(&cursor, &xml->xml_kids);
@@ -3001,7 +3022,7 @@
if (pretty && indentKids) {
js_AppendChar(&sb, '\n');
- js_RepeatChar(&sb, ' ', indentLevel);
+ js_RepeatChar(&sb, ' ', indentLevel & ~TO_SOURCE_FLAG);
}
js_AppendCString(&sb, "</");
@@ -3034,7 +3055,7 @@
/* ECMA-357 10.2 */
static JSString *
-ToXMLString(JSContext *cx, jsval v)
+ToXMLString(JSContext *cx, jsval v, uint32 toSourceFlag)
{
JSObject *obj;
JSString *str;
@@ -3067,7 +3088,7 @@
/* Handle non-element cases in this switch, returning from each case. */
xml = (JSXML *) JS_GetPrivate(cx, obj);
- return XMLToXMLString(cx, xml, NULL, 0);
+ return XMLToXMLString(cx, xml, NULL, toSourceFlag | 0);
}
static JSXMLQName *
@@ -5591,21 +5612,6 @@
NULL, NULL, NULL, NULL
};
-static JSObject *
-CallConstructorFunction(JSContext *cx, JSObject *obj, JSClass *clasp,
- uintN argc, jsval *argv)
-{
- JSObject *tmp;
- jsval rval;
-
- while ((tmp = OBJ_GET_PARENT(cx, obj)) != NULL)
- obj = tmp;
- if (!JS_CallFunctionName(cx, obj, clasp->name, argc, argv, &rval))
- return NULL;
- JS_ASSERT(!JSVAL_IS_PRIMITIVE(rval));
- return JSVAL_TO_OBJECT(rval);
-}
-
static JSXML *
StartNonListXMLMethod(JSContext *cx, JSObject **objp, jsval *argv)
{
@@ -5660,25 +5666,25 @@
jsval *rval)
{
JSXML *xml;
- JSObject *nsobj;
JSXMLNamespace *ns;
NON_LIST_XML_METHOD_PROLOG;
if (xml->xml_class != JSXML_CLASS_ELEMENT)
- return JS_TRUE;
+ goto done;
xml = CHECK_COPY_ON_WRITE(cx, xml, obj);
if (!xml)
return JS_FALSE;
-
- nsobj = CallConstructorFunction(cx, obj, &js_NamespaceClass.base, 1, argv);
- if (!nsobj)
+
+ if (!NamespaceHelper(cx, NULL, 1, argv, rval))
return JS_FALSE;
- argv[0] = OBJECT_TO_JSVAL(nsobj);
-
- ns = (JSXMLNamespace *) JS_GetPrivate(cx, nsobj);
+ JS_ASSERT(!JSVAL_IS_PRIMITIVE(*rval));
+
+ ns = (JSXMLNamespace *) JS_GetPrivate(cx, JSVAL_TO_OBJECT(*rval));
if (!AddInScopeNamespace(cx, xml, ns))
return JS_FALSE;
ns->declared = JS_TRUE;
+
+ done:
*rval = OBJECT_TO_JSVAL(obj);
return JS_TRUE;
}
@@ -6825,40 +6831,40 @@
jsval *rval)
{
JSXML *xml;
- JSObject *nsobj;
JSXMLNamespace *ns;
NON_LIST_XML_METHOD_PROLOG;
- *rval = OBJECT_TO_JSVAL(obj);
if (xml->xml_class != JSXML_CLASS_ELEMENT)
- return JS_TRUE;
+ goto done;
xml = CHECK_COPY_ON_WRITE(cx, xml, obj);
if (!xml)
return JS_FALSE;
- nsobj = CallConstructorFunction(cx, obj, &js_NamespaceClass.base, 1, argv);
- if (!nsobj)
+ if (!NamespaceHelper(cx, NULL, 1, argv, rval))
return JS_FALSE;
- argv[0] = OBJECT_TO_JSVAL(nsobj);
- ns = (JSXMLNamespace *) JS_GetPrivate(cx, nsobj);
+ JS_ASSERT(!JSVAL_IS_PRIMITIVE(*rval));
+ ns = (JSXMLNamespace *) JS_GetPrivate(cx, JSVAL_TO_OBJECT(*rval));
/* NOTE: remove ns from each ancestor if not used by that ancestor. */
- return xml_removeNamespace_helper(cx, xml, ns);
+ if (!xml_removeNamespace_helper(cx, xml, ns))
+ return JS_FALSE;
+ done:
+ *rval = OBJECT_TO_JSVAL(obj);
+ return JS_TRUE;
}
static JSBool
xml_replace(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
JSXML *xml, *vxml, *kid;
- jsval name, value, id, junk;
+ jsval value, id, junk;
uint32 index;
- JSObject *nameobj;
JSXMLQName *nameqn;
NON_LIST_XML_METHOD_PROLOG;
*rval = OBJECT_TO_JSVAL(obj);
if (xml->xml_class != JSXML_CLASS_ELEMENT)
- return JS_TRUE;
+ goto done;
value = argv[1];
vxml = VALUE_IS_XML(cx, value)
@@ -6879,32 +6885,39 @@
if (!xml)
return JS_FALSE;
- name = argv[0];
- if (js_IdIsIndex(name, &index))
- return Replace(cx, xml, name, value);
+ id = argv[0];
+ if (!js_IdIsIndex(id, &index)) {
+ /*
+ * Call function QName per spec, not ToXMLName, to avoid attribute
+ * names.
+ */
+ if (!QNameHelper(cx, NULL, &js_QNameClass.base, 1, argv, rval))
+ return JS_FALSE;
+ JS_ASSERT(!JSVAL_IS_PRIMITIVE(*rval));
+ nameqn = (JSXMLQName *) JS_GetPrivate(cx, JSVAL_TO_OBJECT(*rval));
+
+ id = JSVAL_VOID;
+ index = xml->xml_kids.length;
+ while (index != 0) {
+ --index;
+ kid = XMLARRAY_MEMBER(&xml->xml_kids, index, JSXML);
+ if (kid && MatchElemName(nameqn, kid)) {
+ if (!JSVAL_IS_VOID(id) && !DeleteByIndex(cx, xml, id, &junk))
+ return JS_FALSE;
+ if (!IndexToIdVal(cx, index, &id))
+ return JS_FALSE;
+ }
+ }
+ if (JSVAL_IS_VOID(id))
+ goto done;
+ }
- /* Call function QName per spec, not ToXMLName, to avoid attribute names. */
- nameobj = CallConstructorFunction(cx, obj, &js_QNameClass.base, 1, &name);
- if (!nameobj)
+ if (!Replace(cx, xml, id, value))
return JS_FALSE;
- argv[0] = OBJECT_TO_JSVAL(nameobj);
- nameqn = (JSXMLQName *) JS_GetPrivate(cx, nameobj);
- id = JSVAL_VOID;
- index = xml->xml_kids.length;
- while (index != 0) {
- --index;
- kid = XMLARRAY_MEMBER(&xml->xml_kids, index, JSXML);
- if (kid && MatchElemName(nameqn, kid)) {
- if (!JSVAL_IS_VOID(id) && !DeleteByIndex(cx, xml, id, &junk))
- return JS_FALSE;
- if (!IndexToIdVal(cx, index, &id))
- return JS_FALSE;
- }
- }
- if (JSVAL_IS_VOID(id))
- return JS_TRUE;
- return Replace(cx, xml, id, value);
+ done:
+ *rval = OBJECT_TO_JSVAL(obj);
+ return JS_TRUE;
}
static JSBool
@@ -7161,7 +7174,7 @@
{
JSString *str;
- str = ToXMLString(cx, OBJECT_TO_JSVAL(obj));
+ str = ToXMLString(cx, OBJECT_TO_JSVAL(obj), 0);
if (!str)
return JS_FALSE;
*rval = STRING_TO_JSVAL(str);
@@ -7182,7 +7195,7 @@
}
if (!HasSimpleContent(xml))
- return ToXMLString(cx, OBJECT_TO_JSVAL(xml->object));
+ return ToXMLString(cx, OBJECT_TO_JSVAL(xml->object), 0);
str = cx->runtime->emptyString;
js_EnterLocalRootScope(cx);
@@ -7206,6 +7219,19 @@
}
static JSBool
+xml_toSource(JSContext *cx, JSObject *obj, uintN argc, jsval *argv,
+ jsval *rval)
+{
+ JSString *str;
+
+ str = ToXMLString(cx, OBJECT_TO_JSVAL(obj), TO_SOURCE_FLAG);
+ if (!str)
+ return JS_FALSE;
+ *rval = STRING_TO_JSVAL(str);
+ return JS_TRUE;
+}
+
+static JSBool
xml_toString(JSContext *cx, JSObject *obj, uintN argc, jsval *argv,
jsval *rval)
{
@@ -7265,9 +7291,9 @@
{"setName", xml_setName, 1,0,0},
{"setNamespace", xml_setNamespace, 1,0,0},
{js_text_str, xml_text, 0,0,0},
+ {js_toSource_str, xml_toSource, 0,0,0},
{js_toString_str, xml_toString, 0,0,0},
{js_toXMLString_str, xml_toXMLString, 0,0,0},
- {js_toSource_str, xml_toXMLString, 0,0,0},
{js_valueOf_str, xml_valueOf, 0,0,0},
{0,0,0,0,0}
};
@@ -7903,9 +7929,9 @@
}
JSString *
-js_EscapeAttributeValue(JSContext *cx, JSString *str)
+js_EscapeAttributeValue(JSContext *cx, JSString *str, JSBool quote)
{
- return EscapeAttributeValue(cx, NULL, str);
+ return EscapeAttributeValue(cx, NULL, str, quote);
}
JSString *
@@ -7962,7 +7988,7 @@
JSString *
js_ValueToXMLString(JSContext *cx, jsval v)
{
- return ToXMLString(cx, v);
+ return ToXMLString(cx, v, 0);
}
static JSBool
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/js/src/jsxml.h
^
|
@@ -271,7 +271,7 @@
js_ToAttributeName(JSContext *cx, jsval *vp);
extern JSString *
-js_EscapeAttributeValue(JSContext *cx, JSString *str);
+js_EscapeAttributeValue(JSContext *cx, JSString *str, JSBool quote);
extern JSString *
js_AddAttributePart(JSContext *cx, JSBool isName, JSString *str,
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/js/src/xpconnect/src/XPCNativeWrapper.cpp
^
|
@@ -224,6 +224,20 @@
}
static inline
+already_AddRefed<nsIScriptSecurityManager>
+GetSecurityManager(JSContext *cx)
+{
+ XPCCallContext ccx(JS_CALLER, cx);
+ nsIXPCSecurityManager *sm = ccx.GetXPCContext()->
+ GetAppropriateSecurityManager(nsIXPCSecurityManager::HOOK_CALL_METHOD);
+ nsCOMPtr<nsIScriptSecurityManager> ssm(do_QueryInterface(sm));
+
+ nsIScriptSecurityManager *rval = nsnull;
+ ssm.swap(rval);
+ return rval;
+}
+
+static inline
JSBool
EnsureLegalActivity(JSContext *cx, JSObject *obj)
{
@@ -244,10 +258,12 @@
return JS_TRUE;
}
- XPCCallContext ccx(JS_CALLER, cx);
- nsIXPCSecurityManager *sm = ccx.GetXPCContext()->
- GetAppropriateSecurityManager(nsIXPCSecurityManager::HOOK_CALL_METHOD);
- nsCOMPtr<nsIScriptSecurityManager> ssm(do_QueryInterface(sm));
+ nsCOMPtr<nsIScriptSecurityManager> ssm(GetSecurityManager(cx));
+ if (!ssm) {
+ // If there's no security manager, then we're not running in a browser
+ // context: allow access.
+ return JS_TRUE;
+ }
// A last ditch effort to allow access: if the currently-running code
// has UniversalXPConnect privileges, then allow access.
@@ -412,7 +428,8 @@
// Just using GetNewOrUsed on the return value of
// GetWrappedNativeOfJSObject will give the right thing -- the unique deep
// implicit wrapper associated with wrappedNative.
- JSObject* wrapperObj = XPCNativeWrapper::GetNewOrUsed(cx, wrappedNative);
+ JSObject* wrapperObj = XPCNativeWrapper::GetNewOrUsed(cx, wrappedNative,
+ nsnull);
if (!wrapperObj) {
return JS_FALSE;
}
@@ -1097,7 +1114,7 @@
XPCWrappedNative *parent_wrapper =
XPCWrappedNative::GetWrappedNativeOfJSObject(cx, wn_parent);
- *result = XPCNativeWrapper::GetNewOrUsed(cx, parent_wrapper);
+ *result = XPCNativeWrapper::GetNewOrUsed(cx, parent_wrapper, nsnull);
if (!*result)
return JS_FALSE;
}
@@ -1115,7 +1132,7 @@
// |obj| almost always has the wrong proto and parent so we have to create
// our own object anyway. Set |obj| to null so we don't use it by accident.
obj = nsnull;
-
+
jsval native = argv[0];
if (JSVAL_IS_PRIMITIVE(native)) {
@@ -1479,8 +1496,28 @@
// static
JSObject *
-XPCNativeWrapper::GetNewOrUsed(JSContext *cx, XPCWrappedNative *wrapper)
+XPCNativeWrapper::GetNewOrUsed(JSContext *cx, XPCWrappedNative *wrapper,
+ JSObject *callee)
{
+ if (callee) {
+ nsCOMPtr<nsIPrincipal> prin;
+
+ nsCOMPtr<nsIScriptSecurityManager> ssm = GetSecurityManager(cx);
+ nsresult rv = ssm
+ ? ssm->GetObjectPrincipal(cx, callee, getter_AddRefs(prin))
+ : NS_ERROR_FAILURE;
+ if (NS_SUCCEEDED(rv) && prin) {
+ nsCOMPtr<nsIPrincipal> sysprin;
+ rv = ssm->GetSystemPrincipal(getter_AddRefs(sysprin));
+ if (NS_SUCCEEDED(rv) && sysprin != prin) {
+ jsval v = OBJECT_TO_JSVAL(wrapper->GetFlatJSObject());
+ if (!XPCNativeWrapperCtor(cx, JSVAL_TO_OBJECT(v), 1, &v, &v))
+ return nsnull;
+ return JSVAL_TO_OBJECT(v);
+ }
+ }
+ }
+
// Prevent wrapping a double-wrapped JS object in an
// XPCNativeWrapper!
nsCOMPtr<nsIXPConnectWrappedJS> xpcwrappedjs(do_QueryWrappedNative(wrapper));
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/js/src/xpconnect/src/XPCNativeWrapper.h
^
|
@@ -46,7 +46,8 @@
static PRBool AttachNewConstructorObject(XPCCallContext &ccx,
JSObject *aGlobalObject);
- static JSObject *GetNewOrUsed(JSContext *cx, XPCWrappedNative *wrapper);
+ static JSObject *GetNewOrUsed(JSContext *cx, XPCWrappedNative *wrapper,
+ JSObject *callee);
static PRBool IsNativeWrapperClass(JSClass *clazz)
{
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/js/src/xpconnect/src/xpcconvert.cpp
^
|
@@ -1091,6 +1091,7 @@
// printf("Wrapped native accessed across scope boundary\n");
JSScript* script = nsnull;
+ JSObject* callee = nsnull;
if(ccx.GetXPCContext()->CallerTypeIsJavaScript())
{
// Called from JS. We're going to hand the resulting
@@ -1098,15 +1099,20 @@
// the stack.
JSContext* cx = ccx;
JSStackFrame* fp = cx->fp;
- while(!script && fp)
+ while(fp)
{
script = fp->script;
+ if(script)
+ {
+ callee = fp->callee;
+ break;
+ }
fp = fp->down;
}
}
else if(ccx.GetXPCContext()->CallerTypeIsNative())
{
- JSObject* callee = ccx.GetCallee();
+ callee = ccx.GetCallee();
if(callee && JS_ObjectIsFunction(ccx, callee))
{
// Called from c++, and calling out to |callee|, which
@@ -1119,8 +1125,12 @@
"object");
script = JS_GetFunctionScript(ccx, fun);
}
- // Else we don't know whom we're calling, so don't create
- // XPCNativeWrappers.
+ else
+ {
+ // Else we don't know whom we're calling, so don't
+ // create XPCNativeWrappers.
+ callee = nsnull;
+ }
}
// else don't create XPCNativeWrappers, since we have
// no idea what's calling what here.
@@ -1141,7 +1151,7 @@
#endif
JSObject *nativeWrapper =
- XPCNativeWrapper::GetNewOrUsed(ccx, wrapper);
+ XPCNativeWrapper::GetNewOrUsed(ccx, wrapper, callee);
if (nativeWrapper)
{
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/layout/mathml/base/src/nsMathMLmtableFrame.cpp
^
|
@@ -53,6 +53,7 @@
#include "nsTableOuterFrame.h"
#include "nsTableFrame.h"
#include "nsTableCellFrame.h"
+#include "celldata.h"
#include "nsMathMLmtableFrame.h"
@@ -629,8 +630,9 @@
nsMathMLAtoms::rowspan_, value)) {
PRInt32 error;
rowspan = value.ToInteger(&error);
- if (error)
+ if (error || rowspan < 0)
rowspan = 1;
+ rowspan = PR_MIN(rowspan, MAX_ROWSPAN);
}
return rowspan;
}
@@ -644,7 +646,7 @@
nsMathMLAtoms::columnspan_, value)) {
PRInt32 error;
colspan = value.ToInteger(&error);
- if (error)
+ if (error || colspan < 0 || colspan > MAX_COLSPAN)
colspan = 1;
}
return colspan;
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/layout/style/nsCSSScanner.cpp
^
|
@@ -791,10 +791,7 @@
ch = Read(aErrorCode);
if (ch < 0) break;
if (ch == CSS_ESCAPE) {
- ch = ParseEscape(aErrorCode);
- if (0 < ch) {
- ident.Append(PRUnichar(ch));
- }
+ ParseAndAppendEscape(aErrorCode, ident);
} else if ((ch == '"') || (ch == '\'') || (ch == '(')) {
// This is an invalid URL spec
ok = PR_FALSE;
@@ -830,12 +827,14 @@
}
-PRInt32 nsCSSScanner::ParseEscape(nsresult& aErrorCode)
+void
+nsCSSScanner::ParseAndAppendEscape(nsresult& aErrorCode, nsString& aOutput)
{
PRUint8* lexTable = gLexTable;
PRInt32 ch = Peek(aErrorCode);
if (ch < 0) {
- return CSS_ESCAPE;
+ aOutput.Append(CSS_ESCAPE);
+ return;
}
if ((ch <= 255) && ((lexTable[ch] & IS_HEX_DIGIT) != 0)) {
PRInt32 rv = 0;
@@ -882,18 +881,22 @@
}
}
}
- return rv;
+ NS_ASSERTION(rv >= 0, "How did rv become negative?");
+ if (rv > 0) {
+ AppendUCS4ToUTF16(ENSURE_VALID_CHAR(rv), aOutput);
+ }
+ return;
} else {
// "Any character except a hexidecimal digit can be escaped to
// remove its special meaning by putting a backslash in front"
// -- CSS1 spec section 7.1
- if (EatNewline(aErrorCode)) { // skip escaped newline
- ch = 0;
- }
- else {
+ if (!EatNewline(aErrorCode)) { // skip escaped newline
(void) Read(aErrorCode);
+ if (ch > 0) {
+ aOutput.Append(ch);
+ }
}
- return ch;
+ return;
}
}
@@ -908,19 +911,16 @@
nsString& aIdent)
{
if (aChar == CSS_ESCAPE) {
- aChar = ParseEscape(aErrorCode);
+ ParseAndAppendEscape(aErrorCode, aIdent);
}
- if (0 < aChar) {
- aIdent.Append(PRUnichar(aChar));
+ else if (0 < aChar) {
+ aIdent.Append(aChar);
}
for (;;) {
aChar = Read(aErrorCode);
if (aChar < 0) break;
if (aChar == CSS_ESCAPE) {
- aChar = ParseEscape(aErrorCode);
- if (0 < aChar) {
- aIdent.Append(PRUnichar(aChar));
- }
+ ParseAndAppendEscape(aErrorCode, aIdent);
} else if ((aChar > 255) || ((gLexTable[aChar] & IS_IDENT) != 0)) {
aIdent.Append(PRUnichar(aChar));
} else {
@@ -1130,13 +1130,10 @@
break;
}
if (ch == CSS_ESCAPE) {
- ch = ParseEscape(aErrorCode);
- if (ch < 0) {
- return PR_FALSE;
- }
+ ParseAndAppendEscape(aErrorCode, aToken.mIdent);
}
- if (0 < ch) {
- aToken.mIdent.Append(PRUnichar(ch));
+ else if (0 < ch) {
+ aToken.mIdent.Append(ch);
}
}
return PR_TRUE;
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/layout/style/nsCSSScanner.h
^
|
@@ -198,7 +198,7 @@
PRBool EatWhiteSpace(nsresult& aErrorCode);
PRBool EatNewline(nsresult& aErrorCode);
- PRInt32 ParseEscape(nsresult& aErrorCode);
+ void ParseAndAppendEscape(nsresult& aErrorCode, nsString& aOutput);
PRBool ParseIdent(nsresult& aErrorCode, PRInt32 aChar, nsCSSToken& aResult);
PRBool ParseAtKeyword(nsresult& aErrorCode, PRInt32 aChar,
nsCSSToken& aResult);
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/layout/tables/celldata.h
^
|
@@ -40,6 +40,9 @@
#include "nsISupports.h"
#include "nsCoord.h"
+#define MAX_ROWSPAN 8190 // the cellmap can not handle more
+#define MAX_COLSPAN 1000 // limit as IE and opera do
+
class nsTableCellFrame;
/**
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/layout/xul/base/src/tree/src/nsTreeBodyFrame.cpp
^
|
@@ -795,7 +795,8 @@
if (aParts.mVScrollbar) {
nsAutoString curPos;
curPos.AppendInt(mTopRowIndex*rowHeightAsPixels);
- aParts.mVScrollbarContent->SetAttr(kNameSpaceID_None, nsXULAtoms::curpos, curPos, PR_TRUE);
+ nsCOMPtr<nsIContent> vScrollbar = aParts.mVScrollbarContent;
+ vScrollbar->SetAttr(kNameSpaceID_None, nsXULAtoms::curpos, curPos, PR_TRUE);
}
}
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/mail/config/version.txt
^
|
@@ -1 +1 @@
-2.0.0.17pre
+2.0.0.19pre
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/mailnews/addrbook/src/nsVCard.cpp
^
|
@@ -1249,7 +1249,7 @@
VObject* parse_MIME_FromFile(nsInputFileStream *file)
{
VObject *result;
- long startPos;
+ unsigned long startPos;
initLex(0,(unsigned long)-1,file);
startPos = file->tell();
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/mailnews/base/resources/content/msgHdrViewOverlay.js
^
|
@@ -1045,7 +1045,18 @@
function CanDetachAttachments()
{
var uri = GetLoadedMessage();
- return !IsNewsMessage(uri) && (!IsImapMessage(uri) || CheckOnline());
+ var canDetach = !IsNewsMessage(uri) && (!IsImapMessage(uri) || CheckOnline());
+ if (canDetach && ("content-type" in currentHeaderData))
+ canDetach = !ContentTypeIsSMIME(currentHeaderData["content-type"].headerValue);
+ return canDetach;
+}
+
+/** Return true if the content type is an S/MIME one. */
+function ContentTypeIsSMIME(contentType)
+{
+ // S/MIME is application/pkcs7-mime and application/pkcs7-signature
+ // - also match application/x-pkcs7-mime and application/x-pkcs7-signature.
+ return /application\/(x-)?pkcs7-(mime|signature)/.test(contentType);
}
function onShowAttachmentContextMenu()
@@ -1058,13 +1069,34 @@
var saveMenu = document.getElementById('context-saveAttachment');
var detachMenu = document.getElementById('context-detachAttachment');
var deleteMenu = document.getElementById('context-deleteAttachment');
+ var saveAllMenu = document.getElementById('context-saveAllAttachments');
var detachAllMenu = document.getElementById('context-detachAllAttachments');
var deleteAllMenu = document.getElementById('context-deleteAllAttachments');
+
var canDetach = CanDetachAttachments();
- var canOpen = false;
- for (var i = 0; i < selectedAttachments.length && !canOpen; i++)
- canOpen = selectedAttachments[i].attachment.contentType != 'text/x-moz-deleted';
- if (canOpen && selectedAttachments.length == 1)
+ var deletedAmongSelected = false;
+ var detachedAmongSelected = false;
+ var anyDeleted = false; // at least one deleted attachment in the list
+ var anyDetached = false; // at least one detached attachment in the list
+
+ // Check if one or more of the selected attachments are deleted.
+ for (var i = 0; i < selectedAttachments.length && !deletedAmongSelected; i++)
+ deletedAmongSelected =
+ (selectedAttachments[i].attachment.contentType == 'text/x-moz-deleted');
+
+ // Check if one or more of the selected attachments are detached.
+ for (var i = 0; i < selectedAttachments.length && !detachedAmongSelected; i++)
+ detachedAmongSelected = selectedAttachments[i].attachment.isExternalAttachment;
+
+ // Check if any attachments are deleted.
+ for (var i = 0; i < currentAttachments.length && !anyDeleted; i++)
+ anyDeleted = (currentAttachments[i].contentType == 'text/x-moz-deleted');
+
+ // Check if any attachments are detached.
+ for (var i = 0; i < currentAttachments.length && !anyDetached; i++)
+ anyDetached = currentAttachments[i].isExternalAttachment;
+
+ if (!deletedAmongSelected && selectedAttachments.length == 1)
{
openMenu.removeAttribute('disabled');
viewMenu.removeAttribute('disabled');
@@ -1074,34 +1106,15 @@
openMenu.setAttribute('disabled', true);
viewMenu.setAttribute('disabled', true);
}
- if (canOpen)
- {
- saveMenu.removeAttribute('disabled');
- }
- else
- {
- saveMenu.setAttribute('disabled', true);
- }
- if (canDetach && canOpen)
- {
- detachMenu.removeAttribute('disabled');
- deleteMenu.removeAttribute('disabled');
- }
- else
- {
- detachMenu.setAttribute('disabled', 'true');
- deleteMenu.setAttribute('disabled', 'true');
- }
- if (canDetach)
- {
- detachAllMenu.removeAttribute('disabled');
- deleteAllMenu.removeAttribute('disabled');
- }
- else
- {
- detachAllMenu.setAttribute('disabled', 'true');
- deleteAllMenu.setAttribute('disabled', 'true');
- }
+
+ saveMenu.setAttribute('disabled', deletedAmongSelected);
+ detachMenu.setAttribute('disabled', !canDetach || deletedAmongSelected
+ || detachedAmongSelected);
+ deleteMenu.setAttribute('disabled', !canDetach || deletedAmongSelected
+ || detachedAmongSelected);
+ saveAllMenu.setAttribute('disabled', anyDeleted);
+ detachAllMenu.setAttribute('disabled', !canDetach || anyDeleted || anyDetached);
+ deleteAllMenu.setAttribute('disabled', !canDetach || anyDeleted || anyDetached);
}
// this is our onclick handler for the attachment list.
@@ -1216,26 +1229,25 @@
// First clear out the old view...
ClearAttachmentMenu(popup);
+ var canDetachOrDeleteAll = CanDetachAttachments();
+
for (index in currentAttachments)
{
++attachmentIndex;
addAttachmentToPopup(popup, currentAttachments[index], attachmentIndex);
+ if (canDetachOrDeleteAll &&
+ (currentAttachments[index].isExternalAttachment ||
+ currentAttachments[index].contentType == 'text/x-moz-deleted'))
+ canDetachOrDeleteAll = false;
}
gBuildAttachmentPopupForCurrentMsg = false;
var detachAllMenu = document.getElementById('file-detachAllAttachments');
var deleteAllMenu = document.getElementById('file-deleteAllAttachments');
- if (CanDetachAttachments())
- {
- detachAllMenu.removeAttribute('disabled');
- deleteAllMenu.removeAttribute('disabled');
- }
- else
- {
- detachAllMenu.setAttribute('disabled', 'true');
- deleteAllMenu.setAttribute('disabled', 'true');
- }
+
+ detachAllMenu.setAttribute('disabled', !canDetachOrDeleteAll);
+ deleteAllMenu.setAttribute('disabled', !canDetachOrDeleteAll);
}
// Public method used to clear the file attachment menu
@@ -1291,8 +1303,8 @@
function FillAttachmentItemPopup(event)
{
- var canDetach = CanDetachAttachments();
var openpopup = event.target;
+ var canDetach = CanDetachAttachments() && !openpopup.attachment.isExternalAttachment;
openpopup.removeEventListener('popupshowing', FillAttachmentItemPopup, false);
var menuitementry = document.getElementById("context-openAttachment").cloneNode(false);
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/mailnews/base/resources/content/widgetglue.js
^
|
@@ -274,6 +274,11 @@
function RebuildSummaryFile(msgFolder)
{
+ if (msgFolder.locked)
+ {
+ msgFolder.throwAlertMsg("operationFailedFolderBusy", msgWindow);
+ return;
+ }
var msgDB = msgFolder.getMsgDatabase(msgWindow);
msgDB.summaryValid = false;
msgFolder.ForceDBClosed();
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/mailnews/base/src/nsMsgDBView.cpp
^
|
@@ -1718,7 +1718,7 @@
nsAutoString keyString;
nsMsgKey key;
msgHdr->GetMessageKey(&key);
- keyString.AppendInt(key);
+ keyString.AppendInt((PRInt64)key);
aValue.Assign(keyString);
}
default:
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/mailnews/base/src/nsMsgQuickSearchDBView.cpp
^
|
@@ -264,7 +264,8 @@
PRUint32 numBadHits;
if (m_db)
{
- m_db->RefreshCache(searchUri, m_hdrHits.Count(), keyArray.GetArray(), &numBadHits, &staleHits);
+ nsresult rv = m_db->RefreshCache(searchUri, m_hdrHits.Count(), keyArray.GetArray(), &numBadHits, &staleHits);
+ NS_ENSURE_SUCCESS(rv, rv);
for (i = 0; i < numBadHits; i++)
{
nsMsgViewIndex staleHitIndex = FindKey(staleHits[i], PR_TRUE);
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/mailnews/db/msgdb/src/nsMailDatabase.cpp
^
|
@@ -255,7 +255,7 @@
MsgFlags flag, nsIOFileStream **ppFileStream)
{
static char buf[50];
- PRInt32 folderStreamPos = 0; //saves the folderStream pos in case we are sharing the stream with other code
+ PRUint32 folderStreamPos = 0; //saves the folderStream pos in case we are sharing the stream with other code
nsIOFileStream *fileStream = (m_folderStream) ? m_folderStream : *ppFileStream;
//#ifdef GET_FILE_STUFF_TOGETHER
#ifdef XP_MAC
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/mailnews/db/msgdb/src/nsMsgOfflineImapOperation.cpp
^
|
@@ -223,26 +223,8 @@
NS_IMETHODIMP nsMsgOfflineImapOperation::AddKeywordToAdd(const char * aKeyword)
{
+ SetOperation(kAddKeywords);
return AddKeyword(aKeyword, m_keywordsToAdd, PROP_KEYWORD_ADD, m_keywordsToRemove, PROP_KEYWORD_REMOVE);
- nsACString::const_iterator start, end;
- if (!MsgFindKeyword(nsDependentCString(aKeyword), m_keywordsToAdd, start, end))
- {
- if (!m_keywordsToAdd.IsEmpty())
- m_keywordsToAdd.Append(' ');
- m_keywordsToAdd.Append(aKeyword);
- }
- // if the keyword we're adding was in the list of keywords to remove,
- // cut it from that list.
- nsACString::const_iterator removeStart, removeEnd;
- if (MsgFindKeyword(nsDependentCString(aKeyword), m_keywordsToRemove, removeStart, removeEnd))
- {
- nsACString::const_iterator saveStart;
- m_keywordsToRemove.BeginReading(saveStart);
- m_keywordsToRemove.Cut(Distance(saveStart, removeStart), Distance(removeStart, removeEnd));
- m_mdb->SetProperty(m_mdbRow, PROP_KEYWORD_REMOVE, m_keywordsToRemove.get());
- }
- SetOperation(kAddKeywords);
- return m_mdb->SetProperty(m_mdbRow, PROP_KEYWORD_ADD, m_keywordsToAdd.get());
}
NS_IMETHODIMP nsMsgOfflineImapOperation::GetKeywordsToRemove(char * *aKeywords)
@@ -273,12 +255,12 @@
removeList.Cut(Distance(saveStart, addStart), Distance(addStart, addEnd));
m_mdb->SetProperty(m_mdbRow, removeProp, removeList.get());
}
- SetOperation(kRemoveKeywords);
return m_mdb->SetProperty(m_mdbRow, addProp, addList.get());
}
NS_IMETHODIMP nsMsgOfflineImapOperation::AddKeywordToRemove(const char * aKeyword)
{
+ SetOperation(kRemoveKeywords);
return AddKeyword(aKeyword, m_keywordsToRemove, PROP_KEYWORD_REMOVE, m_keywordsToAdd, PROP_KEYWORD_ADD);
}
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/mailnews/import/eudora/src/nsEudoraWin32.cpp
^
|
@@ -942,7 +942,19 @@
if (mimeType.IsEmpty())
mimeType = "application/octet-stream";
- aAttachmentName = name; // use the leaf name of the attachment file url as the attachment name
+ // Convert description to unicode.
+ nsCOMPtr<nsIImportService> impSvc = do_GetService(NS_IMPORTSERVICE_CONTRACTID);
+ NS_ASSERTION(NS_SUCCEEDED(rv), "failed to get import service");
+ if (NS_SUCCEEDED(rv)) {
+ nsAutoString description;
+ rv = impSvc->SystemStringToUnicode(name.get(), description);
+ NS_ASSERTION(NS_SUCCEEDED(rv), "failed to convert system string to unicode");
+ if (NS_SUCCEEDED(rv))
+ aAttachmentName = NS_ConvertUTF16toUTF8(description);
+ }
+
+ if (aAttachmentName.IsEmpty())
+ aAttachmentName = name;
return( NS_OK);
}
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/mailnews/import/src/ImportOutFile.cpp
^
|
@@ -278,7 +278,7 @@
}
if (markerID < kMaxMarkers) {
- PRInt32 pos = 0;
+ PRUint32 pos = 0;
nsresult rv;
if (m_pFile) {
rv = m_pFile->Tell( &pos);
@@ -307,7 +307,7 @@
if (!Flush())
return( PR_FALSE);
nsresult rv;
- PRInt32 pos;
+ PRUint32 pos;
rv = m_pFile->Tell( &pos);
if (NS_FAILED( rv))
return( PR_FALSE);
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/mailnews/import/text/src/nsTextAddress.cpp
^
|
@@ -86,7 +86,7 @@
return( rv);
}
- PRInt32 loc;
+ PRUint32 loc;
PRInt32 lineLen = 0;
PRBool skipRecord = PR_FALSE;
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/mailnews/local/src/nsLocalMailFolder.cpp
^
|
@@ -4071,7 +4071,7 @@
while (!done)
{
lineBuff[0] = '\0';
- PRInt32 lineStartPos = fileStream->tell();
+ PRUint32 lineStartPos = fileStream->tell();
// readLine won't return line termination chars.
if (fileStream->readline(lineBuff, sizeof(lineBuff)))
{
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/mailnews/local/src/nsParseMailbox.cpp
^
|
@@ -2160,7 +2160,7 @@
}
nsresult nsParseNewMailState::AppendMsgFromFile(nsIOFileStream *fileStream,
- PRInt32 offset, PRUint32 length,
+ PRUint32 offset, PRUint32 length,
nsFileSpec &destFileSpec)
{
fileStream->seek(PR_SEEK_SET, offset);
@@ -2176,7 +2176,7 @@
}
destFile->seek(PR_SEEK_END, 0);
- PRInt32 newMsgPos = destFile->tell();
+ PRUint32 newMsgPos = destFile->tell();
if (!m_ibuffer)
m_ibuffer_size = 10240;
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/mailnews/local/src/nsParseMailbox.h
^
|
@@ -255,7 +255,7 @@
void GetMsgWindow(nsIMsgWindow **aMsgWindow);
nsresult EndMsgDownload();
- nsresult AppendMsgFromFile(nsIOFileStream *fileStream, PRInt32 offset,
+ nsresult AppendMsgFromFile(nsIOFileStream *fileStream, PRUint32 offset,
PRUint32 length, nsFileSpec &destFileSpec);
virtual void ApplyFilters(PRBool *pMoved, nsIMsgWindow *msgWindow,
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/mailnews/local/src/nsPop3Sink.h
^
|
@@ -73,7 +73,7 @@
nsresult HandleTempDownloadFailed(nsIMsgWindow *msgWindow);
PRBool m_authed;
- PRInt64 m_msgOffset;
+ PRUint32 m_msgOffset;
char* m_accountUrl;
PRUint32 m_biffState;
PRInt32 m_numNewMessages;
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/mailnews/news/src/nsNNTPProtocol.cpp
^
|
@@ -4103,7 +4103,6 @@
char *subject = nsnull;
char *newsgroups = nsnull;
char *distribution = nsnull;
- char *other_random_headers = nsnull;
char *body = nsnull;
cancelInfoEntry cancelInfo;
PRBool requireConfirmationForCancel = PR_TRUE;
@@ -4153,7 +4152,6 @@
L = PL_strlen (id);
subject = (char *) PR_Malloc (L + 20);
- other_random_headers = (char *) PR_Malloc (L + 20);
body = (char *) PR_Malloc (PL_strlen (XP_AppCodeName) + 100);
nsXPIDLString alertText;
@@ -4161,6 +4159,9 @@
PRInt32 confirmCancelResult = 0;
+ // A little early to declare, but the goto causes problems
+ nsCAutoString otherHeaders;
+
/* Make sure that this loser isn't cancelling someone else's posting.
Yes, there are occasionally good reasons to do so. Those people
capable of making that decision (news admins) have other tools with
@@ -4228,7 +4229,7 @@
goto FAIL;
}
- if (!subject || !other_random_headers || !body)
+ if (!subject || !body)
{
status = MK_OUT_OF_MEMORY;
failure = PR_TRUE;
@@ -4238,13 +4239,13 @@
PL_strcpy (subject, "cancel ");
PL_strcat (subject, id);
- PL_strcpy (other_random_headers, "Control: cancel ");
- PL_strcat (other_random_headers, id);
- PL_strcat (other_random_headers, CRLF);
+ otherHeaders.AppendLiteral("Control: cancel ");
+ otherHeaders += id;
+ otherHeaders.AppendLiteral(CRLF);
if (distribution) {
- PL_strcat (other_random_headers, "Distribution: ");
- PL_strcat (other_random_headers, distribution);
- PL_strcat (other_random_headers, CRLF);
+ otherHeaders.AppendLiteral("Distribution: ");
+ otherHeaders += distribution;
+ otherHeaders.AppendLiteral(CRLF);
}
PL_strcpy (body, "This message was cancelled from within ");
@@ -4262,12 +4263,12 @@
"Newsgroups: %s" CRLF
"Subject: %s" CRLF
"References: %s" CRLF
- "%s" /* other_random_headers, already with CRLF */
+ "%s" /* otherHeaders, already with CRLF */
CRLF /* body separator */
"%s" /* body, already with CRLF */
"." CRLF, /* trailing message terminator "." */
cancelInfo.from, newsgroups, subject, id,
- other_random_headers, body);
+ otherHeaders.get(), body);
nsCOMPtr<nsIMsgMailNewsUrl> mailnewsurl = do_QueryInterface(m_runningURL);
if (mailnewsurl)
@@ -4314,7 +4315,6 @@
PR_Free (subject);
PR_Free (newsgroups);
PR_Free (distribution);
- PR_Free (other_random_headers);
PR_Free (body);
return status;
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/modules/libjar/nsJAR.cpp
^
|
@@ -1205,6 +1205,7 @@
NS_IMETHODIMP
nsZipReaderCache::GetZip(nsIFile* zipFile, nsIZipReader* *result)
{
+ NS_ENSURE_ARG_POINTER(zipFile);
nsresult rv;
nsAutoLock lock(mLock);
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/modules/libpr0n/decoders/xbm/nsXBMDecoder.cpp
^
|
@@ -219,6 +219,8 @@
return NS_ERROR_OUT_OF_MEMORY;
}
+ memset(mAlphaRow, 0, abpr);
+
mState = RECV_SEEK;
mCurRow = 0;
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/modules/libpr0n/public/imgIRequest.idl
^
|
@@ -80,6 +80,11 @@
*/
readonly attribute unsigned long imageStatus;
+ /**
+ * The URI the image load was started with. Note that this might not be the
+ * actual URI for the image (e.g. if HTTP redirects happened during the
+ * load).
+ */
readonly attribute nsIURI URI;
readonly attribute imgIDecoderObserver decoderObserver;
@@ -95,3 +100,21 @@
imgIRequest clone(in imgIDecoderObserver aObserver);
};
+/**
+ * Extension to the imgIRequest interface - only for 1.8 branch, not present in
+ * any later release.
+ *
+ * @author Joe Drew <joe@mozilla.com>
+ * @version 0.1
+ * @see imgIRequest
+ */
+[scriptable, uuid(a6f7785d-cb0c-4db7-95ea-c8ed520da98b)]
+interface imgIRequest_MOZILLA_1_8_BRANCH : nsISupports
+{
+ /**
+ * The URI the image load currently has, after following redirects, etc.
+ * Contrast with @imgIRequest::URI.
+ */
+ readonly attribute nsIURI currentURI;
+};
+
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/modules/libpr0n/src/imgRequest.cpp
^
|
@@ -72,10 +72,11 @@
PRLogModuleInfo *gImgLog = PR_NewLogModule("imgRequest");
#endif
-NS_IMPL_THREADSAFE_ISUPPORTS6(imgRequest, imgILoad,
+NS_IMPL_THREADSAFE_ISUPPORTS8(imgRequest, imgILoad,
imgIDecoderObserver, imgIContainerObserver,
nsIStreamListener, nsIRequestObserver,
- nsISupportsWeakReference)
+ nsISupportsWeakReference, nsIChannelEventSink,
+ nsIInterfaceRequestor)
imgRequest::imgRequest() :
mObservers(0),
@@ -106,6 +107,7 @@
return NS_ERROR_OUT_OF_MEMORY;
mChannel = aChannel;
+ mChannel->SetNotificationCallbacks(this);
/* set our loading flag to true here.
Setting it here lets checks to see if the load is in progress
@@ -311,6 +313,23 @@
return NS_ERROR_FAILURE;
}
+nsresult
+imgRequest::GetCurrentURI(nsIURI **aURI)
+{
+ LOG_FUNC(gImgLog, "imgRequest::GetCurrentURI");
+
+ if (mChannel)
+ return mChannel->GetURI(aURI);
+
+ if (mCurrentURI) {
+ *aURI = mCurrentURI;
+ NS_ADDREF(*aURI);
+ return NS_OK;
+ }
+
+ return NS_ERROR_FAILURE;
+}
+
void imgRequest::RemoveFromCache()
{
LOG_SCOPE(gImgLog, "imgRequest::RemoveFromCache");
@@ -740,6 +759,8 @@
// XXXldb What if this is a non-last part of a multipart request?
if (mChannel) {
mChannel->GetOriginalURI(getter_AddRefs(mURI));
+ mChannel->GetURI(getter_AddRefs(mCurrentURI));
+ mChannel->SetNotificationCallbacks(nsnull);
mChannel = nsnull; // we no longer need the channel
}
@@ -931,3 +952,40 @@
{
imgLoader::GetMimeTypeFromContent(buf, len, mContentType);
}
+
+/** nsIInterfaceRequestor methods **/
+
+NS_IMETHODIMP
+imgRequest::GetInterface(const nsIID & aIID, void **aResult)
+{
+ return QueryInterface(aIID, aResult);
+}
+
+/** nsIChannelEventSink methods **/
+
+/* void onChannelRedirect (in nsIChannel oldChannel, in nsIChannel newChannel, in unsigned long flags); */
+NS_IMETHODIMP
+imgRequest::OnChannelRedirect(nsIChannel *oldChannel, nsIChannel *newChannel, PRUint32 flags)
+{
+ NS_ASSERTION(mChannel, "Got an OnChannelRedirect after we nulled out mChannel!");
+ NS_ASSERTION(mChannel == oldChannel, "Got a channel redirect for an unknown channel!");
+ NS_ASSERTION(newChannel, "Got a redirect to a NULL channel!");
+
+ RemoveFromCache();
+
+ nsCOMPtr<nsIURI> uri;
+ if (NS_SUCCEEDED(newChannel->GetURI(getter_AddRefs(uri))) && uri)
+ mCurrentURI = uri;
+
+ oldChannel->SetNotificationCallbacks(nsnull);
+ mChannel = newChannel;
+ mChannel->SetNotificationCallbacks(this);
+
+ // If we don't still have a cache entry, we don't want to refresh the cache.
+ if (uri && mCacheEntry) {
+ imgCache::Put(uri, this, getter_AddRefs(mCacheEntry));
+ }
+
+ return NS_OK;
+}
+
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/modules/libpr0n/src/imgRequest.h
^
|
@@ -48,6 +48,8 @@
#include "nsICacheEntryDescriptor.h"
#include "nsIChannel.h"
+#include "nsIChannelEventSink.h"
+#include "nsIInterfaceRequestor.h"
#include "nsIProperties.h"
#include "nsIStreamListener.h"
#include "nsIURI.h"
@@ -73,7 +75,9 @@
class imgRequest : public imgILoad,
public imgIDecoderObserver,
public nsIStreamListener,
- public nsSupportsWeakReference
+ public nsSupportsWeakReference,
+ public nsIChannelEventSink,
+ public nsIInterfaceRequestor
{
public:
imgRequest();
@@ -115,6 +119,7 @@
inline nsresult GetResultFromImageStatus(PRUint32 aStatus) const;
void Cancel(nsresult aStatus);
nsresult GetURI(nsIURI **aURI);
+ nsresult GetCurrentURI(nsIURI **aURI);
void RemoveFromCache();
inline const char *GetMimeType() const {
return mContentType.get();
@@ -141,10 +146,13 @@
NS_DECL_IMGICONTAINEROBSERVER
NS_DECL_NSISTREAMLISTENER
NS_DECL_NSIREQUESTOBSERVER
+ NS_DECL_NSICHANNELEVENTSINK
+ NS_DECL_NSIINTERFACEREQUESTOR
private:
nsCOMPtr<nsIChannel> mChannel;
nsCOMPtr<nsIURI> mURI;
+ nsCOMPtr<nsIURI> mCurrentURI;
nsCOMPtr<imgIContainer> mImage;
nsCOMPtr<imgIDecoder> mDecoder;
nsCOMPtr<nsIProperties> mProperties;
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/modules/libpr0n/src/imgRequestProxy.cpp
^
|
@@ -56,7 +56,9 @@
#include "nspr.h"
-NS_IMPL_THREADSAFE_ISUPPORTS3(imgRequestProxy, imgIRequest, nsIRequest,
+NS_IMPL_THREADSAFE_ISUPPORTS4(imgRequestProxy, imgIRequest,
+ imgIRequest_MOZILLA_1_8_BRANCH,
+ nsIRequest,
nsISupportsPriority)
imgRequestProxy::imgRequestProxy() :
@@ -532,3 +534,14 @@
}
}
+/* imgIRequest_MOZILLA_1_8_BRANCH interface */
+
+/* readonly attribute nsIURI currentURI; */
+NS_IMETHODIMP imgRequestProxy::GetCurrentURI(nsIURI **aURI)
+{
+ if (!mOwner)
+ return NS_ERROR_FAILURE;
+
+ nsAutoLock lock(mLock);
+ return mOwner->GetCurrentURI(aURI);
+}
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/modules/libpr0n/src/imgRequestProxy.h
^
|
@@ -60,11 +60,12 @@
{0x8f, 0x65, 0x9c, 0x46, 0x2e, 0xe2, 0xbc, 0x95} \
}
-class imgRequestProxy : public imgIRequest, public nsISupportsPriority
+class imgRequestProxy : public imgIRequest, public imgIRequest_MOZILLA_1_8_BRANCH, public nsISupportsPriority
{
public:
NS_DECL_ISUPPORTS
NS_DECL_IMGIREQUEST
+ NS_DECL_IMGIREQUEST_MOZILLA_1_8_BRANCH
NS_DECL_NSIREQUEST
NS_DECL_NSISUPPORTSPRIORITY
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/modules/libpref/src/init/all.js
^
|
@@ -315,6 +315,8 @@
pref("capability.policy.mailnews.*.getAttribute", "noAccess");
pref("capability.policy.mailnews.HTMLDivElement.getAttribute", "sameOrigin");
pref("capability.policy.mailnews.*.getAttributeNS", "noAccess");
+pref("capability.policy.mailnews.*.getAttributeNode", "noAccess");
+pref("capability.policy.mailnews.*.getAttributeNodeNS", "noAccess");
pref("capability.policy.mailnews.*.getNamedItem", "noAccess");
pref("capability.policy.mailnews.*.getNamedItemNS", "noAccess");
pref("capability.policy.mailnews.*.host.get", "noAccess");
@@ -328,11 +330,13 @@
pref("capability.policy.mailnews.*.src.get", "noAccess");
pref("capability.policy.mailnews.*.substringData.get", "noAccess");
pref("capability.policy.mailnews.*.text.get", "noAccess");
+pref("capability.policy.mailnews.*.textContent", "noAccess");
pref("capability.policy.mailnews.*.title.get", "noAccess");
pref("capability.policy.mailnews.DOMException.toString", "noAccess");
pref("capability.policy.mailnews.HTMLAnchorElement.toString", "noAccess");
pref("capability.policy.mailnews.HTMLDocument.domain", "noAccess");
pref("capability.policy.mailnews.HTMLDocument.URL", "noAccess");
+pref("capability.policy.mailnews.*.documentURI", "noAccess");
pref("capability.policy.mailnews.Location.toString", "noAccess");
pref("capability.policy.mailnews.Range.toString", "noAccess");
pref("capability.policy.mailnews.Window.blur", "noAccess");
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/modules/plugin/base/src/ns4xPlugin.cpp
^
|
@@ -1072,6 +1072,8 @@
if (!npp)
return NPERR_INVALID_INSTANCE_ERROR;
+ PluginDestructionGuard guard(npp);
+
nsIPluginInstance *inst = (nsIPluginInstance *) npp->ndata;
NS_ASSERTION(inst != NULL, "null instance");
@@ -1120,6 +1122,8 @@
("NPN_GetURL: npp=%p, target=%s, url=%s\n", (void *)npp, target,
relativeURL));
+ PluginDestructionGuard guard(npp);
+
// Block Adobe Acrobat from loading URLs that are not http:, https:,
// or ftp: URLs if the given target is null.
if (target == nsnull && relativeURL &&
@@ -1149,6 +1153,8 @@
("NPN_GetURLNotify: npp=%p, target=%s, notify=%p, url=%s\n", (void*)npp,
target, notifyData, relativeURL));
+ PluginDestructionGuard guard(npp);
+
return MakeNew4xStreamInternal (npp, relativeURL, target,
eNPPStreamTypeInternal_Get, PR_TRUE,
notifyData);
@@ -1166,6 +1172,8 @@
(void*)npp, target, len, file, notifyData, relativeURL,
buf));
+ PluginDestructionGuard guard(npp);
+
return MakeNew4xStreamInternal(npp, relativeURL, target,
eNPPStreamTypeInternal_Post, PR_TRUE,
notifyData, len, buf, file);
@@ -1182,9 +1190,11 @@
"buf=%s\n",
(void*)npp, target, file, len, relativeURL, buf));
- return MakeNew4xStreamInternal(npp, relativeURL, target,
- eNPPStreamTypeInternal_Post, PR_FALSE, nsnull,
- len, buf, file);
+ PluginDestructionGuard guard(npp);
+
+ return MakeNew4xStreamInternal(npp, relativeURL, target,
+ eNPPStreamTypeInternal_Post, PR_FALSE, nsnull,
+ len, buf, file);
}
@@ -1248,6 +1258,9 @@
NPError err = NPERR_INVALID_INSTANCE_ERROR;
if (npp && npp->ndata) {
nsIPluginInstance *inst = (nsIPluginInstance *) npp->ndata;
+
+ PluginDestructionGuard guard(inst);
+
nsCOMPtr<nsIOutputStream> stream;
nsCOMPtr<nsIPluginInstancePeer> peer;
if (NS_SUCCEEDED(inst->GetPeer(getter_AddRefs(peer))) &&
@@ -1281,6 +1294,8 @@
if (!npp)
return -1;
+ PluginDestructionGuard guard(npp);
+
ns4xStreamWrapper* wrapper = (ns4xStreamWrapper*) pstream->ndata;
NS_ASSERTION(wrapper != NULL, "null stream");
@@ -1312,6 +1327,8 @@
if (!npp)
return NPERR_INVALID_INSTANCE_ERROR;
+ PluginDestructionGuard guard(npp);
+
nsCOMPtr<nsIPluginStreamListener> listener =
do_QueryInterface((nsISupports *)pstream->ndata);
@@ -1356,6 +1373,8 @@
nsIPluginInstance *inst = (nsIPluginInstance *) npp->ndata;
+ PluginDestructionGuard guard(inst);
+
nsCOMPtr<nsIPluginInstancePeer> peer;
if (NS_SUCCEEDED(inst->GetPeer(getter_AddRefs(peer))) && peer) {
peer->ShowStatus(message);
@@ -1414,6 +1433,8 @@
nsIPluginInstance *inst = (nsIPluginInstance *) npp->ndata;
+ PluginDestructionGuard guard(inst);
+
nsCOMPtr<nsIPluginInstancePeer> peer;
if (NS_SUCCEEDED(inst->GetPeer(getter_AddRefs(peer))) && peer) {
nsCOMPtr<nsIWindowlessPluginInstancePeer> wpeer(do_QueryInterface(peer));
@@ -1440,6 +1461,8 @@
nsIPluginInstance *inst = (nsIPluginInstance *) npp->ndata;
+ PluginDestructionGuard guard(inst);
+
nsCOMPtr<nsIPluginInstancePeer> peer;
if (NS_SUCCEEDED(inst->GetPeer(getter_AddRefs(peer))) && peer) {
nsCOMPtr<nsIWindowlessPluginInstancePeer> wpeer(do_QueryInterface(peer));
@@ -1464,6 +1487,8 @@
nsIPluginInstance *inst = (nsIPluginInstance *) npp->ndata;
+ PluginDestructionGuard guard(inst);
+
nsCOMPtr<nsIPluginInstancePeer> peer;
if (NS_SUCCEEDED(inst->GetPeer(getter_AddRefs(peer))) && peer) {
nsCOMPtr<nsIWindowlessPluginInstancePeer> wpeer(do_QueryInterface(peer));
@@ -1481,6 +1506,8 @@
ns4xPluginInstance *inst = (ns4xPluginInstance *)npp->ndata;
NS_ENSURE_TRUE(inst, nsnull);
+ PluginDestructionGuard guard(inst);
+
nsCOMPtr<nsIPluginInstancePeer> pip;
inst->GetPeer(getter_AddRefs(pip));
nsCOMPtr<nsPIPluginInstancePeer> pp(do_QueryInterface(pip));
@@ -1651,6 +1678,8 @@
return nsnull;
}
+ PluginDestructionGuard guard(npp);
+
if (!aClass) {
NS_ERROR("Null class passed to _createobject()!");
@@ -1672,6 +1701,9 @@
npobj->referenceCount = 1;
}
+ NPN_PLUGIN_LOG(PLUGIN_LOG_NOISY,
+ ("Created NPObject %p, NPClass %p\n", npobj, aClass));
+
return npobj;
}
@@ -1709,9 +1741,15 @@
if (!npp || !npobj || !npobj->_class || !npobj->_class->invoke)
return false;
+ PluginDestructionGuard guard(npp);
+
NPPExceptionAutoHolder nppExceptionHolder;
NPPAutoPusher nppPusher(npp);
+ NPN_PLUGIN_LOG(PLUGIN_LOG_NOISY,
+ ("NPN_Invoke(npp %p, npobj %p, method %p, args %d\n", npp,
+ npobj, method, argCount));
+
return npobj->_class->invoke(npobj, method, args, argCount, result);
}
@@ -1725,6 +1763,10 @@
NPPExceptionAutoHolder nppExceptionHolder;
NPPAutoPusher nppPusher(npp);
+ NPN_PLUGIN_LOG(PLUGIN_LOG_NOISY,
+ ("NPN_InvokeDefault(npp %p, npobj %p, args %d\n", npp,
+ npobj, argCount));
+
return npobj->_class->invokeDefault(npobj, args, argCount, result);
}
@@ -1771,6 +1813,10 @@
nsIPrincipal *principal = nsnull;
// XXX: Get the principal from the security stack (TBD)
+ NPN_PLUGIN_LOG(PLUGIN_LOG_NOISY,
+ ("NPN_Evaluate(npp %p, npobj %p, script <<<%s>>>) called\n",
+ npp, npobj, script->utf8characters));
+
nsresult rv = scx->EvaluateStringWithValue(utf16script, obj, principal,
nsnull, 0, nsnull, rval, nsnull);
@@ -1788,6 +1834,10 @@
NPPExceptionAutoHolder nppExceptionHolder;
NPPAutoPusher nppPusher(npp);
+ NPN_PLUGIN_LOG(PLUGIN_LOG_NOISY,
+ ("NPN_GetProperty(npp %p, npobj %p, property %p) called\n",
+ npp, npobj, property));
+
return npobj->_class->getProperty(npobj, property, result);
}
@@ -1801,6 +1851,10 @@
NPPExceptionAutoHolder nppExceptionHolder;
NPPAutoPusher nppPusher(npp);
+ NPN_PLUGIN_LOG(PLUGIN_LOG_NOISY,
+ ("NPN_SetProperty(npp %p, npobj %p, property %p) called\n",
+ npp, npobj, property));
+
return npobj->_class->setProperty(npobj, property, value);
}
@@ -1813,6 +1867,10 @@
NPPExceptionAutoHolder nppExceptionHolder;
NPPAutoPusher nppPusher(npp);
+ NPN_PLUGIN_LOG(PLUGIN_LOG_NOISY,
+ ("NPN_RemoveProperty(npp %p, npobj %p, property %p) called\n",
+ npp, npobj, property));
+
return npobj->_class->removeProperty(npobj, property);
}
@@ -1825,6 +1883,10 @@
NPPExceptionAutoHolder nppExceptionHolder;
NPPAutoPusher nppPusher(npp);
+ NPN_PLUGIN_LOG(PLUGIN_LOG_NOISY,
+ ("NPN_HasProperty(npp %p, npobj %p, property %p) called\n",
+ npp, npobj, propertyName));
+
return npobj->_class->hasProperty(npobj, propertyName);
}
@@ -1837,6 +1899,10 @@
NPPExceptionAutoHolder nppExceptionHolder;
NPPAutoPusher nppPusher(npp);
+ NPN_PLUGIN_LOG(PLUGIN_LOG_NOISY,
+ ("NPN_HasMethod(npp %p, npobj %p, property %p) called\n",
+ npp, npobj, methodName));
+
return npobj->_class->hasProperty(npobj, methodName);
}
@@ -1937,6 +2003,8 @@
nsresult res;
+ PluginDestructionGuard guard(npp);
+
switch(variable) {
#if defined(XP_UNIX) && !defined(XP_MACOSX)
case NPNVxDisplay : {
@@ -2119,6 +2187,8 @@
if (inst == NULL)
return NPERR_INVALID_INSTANCE_ERROR;
+ PluginDestructionGuard guard(inst);
+
switch (variable) {
// we should keep backward compatibility with 4x where the
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/modules/plugin/base/src/ns4xPlugin.h
^
|
@@ -267,11 +267,22 @@
static NPP sCurrentNPP;
};
-class NPPAutoPusher : public NPPStack
+// XXXjst: The NPPAutoPusher stack is a bit redundant now that
+// PluginDestructionGuard exists, and could thus be replaced by code
+// that uses the PluginDestructionGuard list of plugins on the
+// stack. But they're not identical, and to minimize code changes
+// we're keeping both for the moment, and making NPPAutoPusher inherit
+// the PluginDestructionGuard class to avoid having to keep two
+// separate objects on the stack since we always want a
+// PluginDestructionGuard where we use an NPPAutoPusher.
+
+class NPPAutoPusher : public NPPStack,
+ protected PluginDestructionGuard
{
public:
NPPAutoPusher(NPP npp)
- : mOldNPP(sCurrentNPP)
+ : PluginDestructionGuard(npp),
+ mOldNPP(sCurrentNPP)
{
NS_ASSERTION(npp, "Uh, null npp passed to NPPAutoPusher!");
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/modules/plugin/base/src/ns4xPluginInstance.cpp
^
|
@@ -173,6 +173,8 @@
if(!mInst || !mInst->IsStarted())
return rv;
+ PluginDestructionGuard guard(mInst);
+
const NPPluginFuncs *callbacks = nsnull;
mInst->GetCallbacks(&callbacks);
if(!callbacks)
@@ -217,6 +219,8 @@
if(!mCallNotify || !mInst || !mInst->IsStarted())
return;
+ PluginDestructionGuard guard(mInst);
+
mCallNotify = PR_FALSE; // only do this ONCE and prevent recursion
const NPPluginFuncs *callbacks = nsnull;
@@ -254,6 +258,8 @@
if(!mInst)
return NS_ERROR_FAILURE;
+ PluginDestructionGuard guard(mInst);
+
NPP npp;
const NPPluginFuncs *callbacks = nsnull;
@@ -401,6 +407,8 @@
if (!mInst || !mInst->IsStarted())
return NS_ERROR_FAILURE;
+ PluginDestructionGuard guard(mInst);
+
// Just in case the caller switches plugin info on us.
mStreamInfo = pluginInfo;
@@ -661,6 +669,8 @@
if(!mInst || !mInst->IsStarted())
return NS_ERROR_FAILURE;
+ PluginDestructionGuard guard(mInst);
+
const NPPluginFuncs *callbacks = nsnull;
mInst->GetCallbacks(&callbacks);
if(!callbacks && !callbacks->asfile)
@@ -942,6 +952,12 @@
if(!mStarted)
return NS_OK;
+ // If there's code from this plugin instance on the stack, delay the
+ // destroy.
+ if (PluginDestructionGuard::DelayDestroy(this)) {
+ return NS_OK;
+ }
+
if (fCallbacks->destroy == NULL)
return NS_ERROR_FAILURE; // XXX right error?
@@ -1019,6 +1035,8 @@
nsCOMPtr<nsIPluginTagInfo2> taginfo = do_QueryInterface(peer);
NS_ENSURE_TRUE(taginfo, NS_ERROR_NO_INTERFACE);
+ PluginDestructionGuard guard(this);
+
PRUint16 count = 0;
const char* const* names = nsnull;
const char* const* values = nsnull;
@@ -1400,6 +1418,8 @@
#endif // MOZ_WIDGET
if (fCallbacks->setwindow) {
+ PluginDestructionGuard guard(this);
+
// XXX Turns out that NPPluginWindow and NPWindow are structurally
// identical (on purpose!), so there's no need to make a copy.
@@ -1466,6 +1486,8 @@
{
NS_ENSURE_TRUE(platformPrint, NS_ERROR_NULL_POINTER);
+ PluginDestructionGuard guard(this);
+
NPPrint* thePrint = (NPPrint *)platformPrint;
// to be compatible with the older SDK versions and to match what
@@ -1516,6 +1538,8 @@
if (event == nsnull)
return NS_ERROR_FAILURE;
+ PluginDestructionGuard guard(this);
+
PRInt16 result = 0;
if (fCallbacks->event) {
@@ -1550,6 +1574,7 @@
{
nsresult res = NS_OK;
if(fCallbacks->getvalue && mStarted) {
+ PluginDestructionGuard guard(this);
NS_TRY_SAFE_CALL_RETURN(res,
CallNPP_GetValueProc(fCallbacks->getvalue,
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/modules/plugin/base/src/nsJSNPRuntime.cpp
^
|
@@ -1313,10 +1313,22 @@
entry->mNPObj = npobj;
entry->mNpp = npp;
+ PRUint32 generation = sNPObjWrappers.generation;
+
// No existing JSObject, create one.
JSObject *obj = ::JS_NewObject(cx, &sNPObjectJSWrapperClass, nsnull, nsnull);
+ if (generation != sNPObjWrappers.generation) {
+ // Reload entry if the JS_NewObject call caused a GC and reallocated
+ // the table (see bug 445229). This is guaranteed to succeed.
+
+ entry = static_cast<NPObjWrapperHashEntry *>
+ (PL_DHashTableOperate(&sNPObjWrappers, npobj, PL_DHASH_LOOKUP));
+ NS_ASSERTION(entry && PL_DHASH_ENTRY_IS_BUSY(entry),
+ "Hashtable didn't find what we just added?");
+ }
+
if (!obj) {
// OOM? Remove the stale entry from the hash.
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/modules/plugin/base/src/nsPluginHostImpl.cpp
^
|
@@ -273,6 +273,8 @@
nsIFile *nsPluginHostImpl::sPluginTempDir;
+nsPluginHostImpl *gPluginHost = nsnull;
+
////////////////////////////////////////////////////////////////////////
// flat file reg funcs
static
@@ -1882,6 +1884,7 @@
return rv;
// Create a file to save our stream into. Should we scramble the name?
+ filename.Insert(NS_LITERAL_CSTRING("plugin-"), 0);
rv = pluginTmp->AppendNative(filename);
if (NS_FAILED(rv))
return rv;
@@ -2633,6 +2636,10 @@
printf("nsPluginHostImpl dtor\n");
#endif
Destroy();
+
+ if (gPluginHost == this) {
+ gPluginHost = nsnull;
+ }
}
////////////////////////////////////////////////////////////////////////
@@ -2652,14 +2659,17 @@
if (aOuter)
return NS_ERROR_NO_AGGREGATION;
- nsPluginHostImpl* host = new nsPluginHostImpl();
- if (! host)
- return NS_ERROR_OUT_OF_MEMORY;
+ if (!gPluginHost) {
+ gPluginHost = new nsPluginHostImpl();
+ if (!gPluginHost)
+ return NS_ERROR_OUT_OF_MEMORY;
+ }
- nsresult rv;
- NS_ADDREF(host);
- rv = host->QueryInterface(aIID, aResult);
- NS_RELEASE(host);
+ gPluginHost->AddRef();
+ nsresult rv = gPluginHost->QueryInterface(aIID, aResult);
+ // Can't use the macros here since they null out the pointer you
+ // release.
+ gPluginHost->Release();
return rv;
}
@@ -5946,6 +5956,10 @@
NS_IMETHODIMP
nsPluginHostImpl::StopPluginInstance(nsIPluginInstance* aInstance)
{
+ if (PluginDestructionGuard::DelayDestroy(aInstance)) {
+ return NS_OK;
+ }
+
PLUGIN_LOG(PLUGIN_LOG_NORMAL,
("nsPluginHostImpl::StopPluginInstance called instance=%p\n",aInstance));
@@ -6877,3 +6891,160 @@
SetRequest(nsnull);
}
}
+
+
+// Event that does an async destroy of a plugin.
+
+class nsPluginDestroyEvent : public PLEvent,
+ public PRCList
+{
+public:
+ nsPluginDestroyEvent(nsIPluginInstance *aInstance)
+ : mInstance(aInstance)
+ {
+ MOZ_COUNT_CTOR(nsPluginDestroyEvent);
+ PL_InitEvent(this, aInstance, Handle, Destroy);
+
+ PR_INIT_CLIST(this);
+ PR_APPEND_LINK(this, &sEventListHead);
+ }
+
+ ~nsPluginDestroyEvent()
+ {
+ MOZ_COUNT_DTOR(nsPluginDestroyEvent);
+ PR_REMOVE_LINK(this);
+ }
+
+ PR_STATIC_CALLBACK(void*) Handle(PLEvent* aEvent);
+ PR_STATIC_CALLBACK(void) Destroy(PLEvent* aEvent);
+
+protected:
+ nsCOMPtr<nsIPluginInstance> mInstance;
+
+ static PRCList sEventListHead;
+};
+
+// static
+void *
+nsPluginDestroyEvent::Handle(PLEvent* aEvent)
+{
+ nsPluginDestroyEvent* evt =
+ NS_STATIC_CAST(nsPluginDestroyEvent*, aEvent);
+
+ nsCOMPtr<nsIPluginInstance> instance;
+
+ // Null out mInstance to make sure this code in another runnable
+ // will do the right thing even if someone was holding on to this
+ // runnable longer than we expect.
+ instance.swap(evt->mInstance);
+
+ if (PluginDestructionGuard::DelayDestroy(instance)) {
+ // It's still not safe to destroy the plugin, it's now up to the
+ // outermost guard on the stack to take care of the destruction.
+
+ return nsnull;
+ }
+
+ nsPluginDestroyEvent *r =
+ static_cast<nsPluginDestroyEvent*>(PR_NEXT_LINK(&sEventListHead));
+
+ while (r != &sEventListHead) {
+ if (r != evt && r->mInstance == instance) {
+ // There's another event scheduled to tear down
+ // instance. Let it do the job.
+
+ return nsnull;
+ }
+
+ r = static_cast<nsPluginDestroyEvent*>(PR_NEXT_LINK(r));
+ }
+
+ PLUGIN_LOG(PLUGIN_LOG_NORMAL,
+ ("Doing delayed destroy of instance %p\n", instance.get()));
+
+ instance->Stop();
+
+ if (gPluginHost) {
+ gPluginHost->StopPluginInstance(instance);
+ }
+
+ PLUGIN_LOG(PLUGIN_LOG_NORMAL,
+ ("Done with delayed destroy of instance %p\n", instance.get()));
+
+ return nsnull;
+}
+
+// static
+void PR_CALLBACK
+nsPluginDestroyEvent::Destroy(PLEvent* aEvent)
+{
+ nsPluginDestroyEvent* evt =
+ NS_STATIC_CAST(nsPluginDestroyEvent*, aEvent);
+ delete evt;
+}
+
+PRCList nsPluginDestroyEvent::sEventListHead =
+ PR_INIT_STATIC_CLIST(&nsPluginDestroyEvent::sEventListHead);
+
+PRCList PluginDestructionGuard::sListHead =
+ PR_INIT_STATIC_CLIST(&PluginDestructionGuard::sListHead);
+
+PluginDestructionGuard::~PluginDestructionGuard()
+{
+ PR_REMOVE_LINK(this);
+
+ if (mDelayedDestroy) {
+ // We've attempted to destroy the plugin instance we're holding on
+ // to while we were guarding it. Do the actual destroy now, off of
+ // a runnable.
+
+ nsresult rv;
+ nsCOMPtr<nsIEventQueueService> eventQService =
+ do_GetService("@mozilla.org/event-queue-service;1", &rv);
+
+ nsCOMPtr<nsIEventQueue> eventQ;
+ if (eventQService) {
+ rv = eventQService->
+ GetSpecialEventQueue(nsIEventQueueService::UI_THREAD_EVENT_QUEUE,
+ getter_AddRefs(eventQ));
+ }
+
+ if (eventQ) {
+ nsPluginDestroyEvent *evt =
+ new nsPluginDestroyEvent(mInstance);
+
+ if (evt) {
+ rv = eventQ->PostEvent(evt);
+
+ if (NS_FAILED(rv)) {
+ PL_DestroyEvent(evt);
+ }
+ }
+ }
+ }
+}
+
+// static
+PRBool
+PluginDestructionGuard::DelayDestroy(nsIPluginInstance *aInstance)
+{
+ NS_ASSERTION(aInstance, "Uh, I need an instance!");
+
+ // Find the first guard on the stack and make it do a delayed
+ // destroy upon destruction.
+
+ PluginDestructionGuard *g =
+ static_cast<PluginDestructionGuard*>(PR_LIST_HEAD(&sListHead));
+
+ while (g != &sListHead) {
+ if (g->mInstance == aInstance) {
+ g->mDelayedDestroy = PR_TRUE;
+
+ return PR_TRUE;
+ }
+
+ g = static_cast<PluginDestructionGuard*>(PR_NEXT_LINK(g));
+ }
+
+ return PR_FALSE;
+}
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/modules/plugin/base/src/nsPluginHostImpl.h
^
|
@@ -46,6 +46,9 @@
#include "nsCRT.h"
#include "nsCOMPtr.h"
#include "prlink.h"
+#include "prclist.h"
+#include "npapi.h"
+#include "ns4xPluginInstance.h"
#include "nsIPlugin.h"
#include "nsIPluginTagInfo2.h"
@@ -517,4 +520,38 @@
static nsIFile *sPluginTempDir;
};
+class PluginDestructionGuard : protected PRCList
+{
+public:
+ PluginDestructionGuard(nsIPluginInstance *aInstance)
+ : mInstance(aInstance)
+ {
+ Init();
+ }
+
+ PluginDestructionGuard(NPP npp)
+ : mInstance(npp ? static_cast<ns4xPluginInstance*>(npp->ndata) : nsnull)
+ {
+ Init();
+ }
+
+ ~PluginDestructionGuard();
+
+ static PRBool DelayDestroy(nsIPluginInstance *aInstance);
+
+protected:
+ void Init()
+ {
+ mDelayedDestroy = PR_FALSE;
+
+ PR_INIT_CLIST(this);
+ PR_INSERT_BEFORE(this, &sListHead);
+ }
+
+ nsCOMPtr<nsIPluginInstance> mInstance;
+ PRBool mDelayedDestroy;
+
+ static PRCList sListHead;
+};
+
#endif
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/netwerk/base/src/nsStandardURL.cpp
^
|
@@ -2258,6 +2258,7 @@
if (mRef.mLen < 0) {
mSpec.Append('#');
+ ++mPath.mLen; // Include the # in the path.
mRef.mPos = mSpec.Length();
mRef.mLen = 0;
}
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/netwerk/cache/src/nsDiskCacheDevice.cpp
^
|
@@ -453,12 +453,13 @@
*collision = PR_FALSE;
-#if DEBUG /*because we shouldn't be called for active entries */
binding = mBindery.FindActiveBinding(hashNumber);
- NS_ASSERTION(!binding, "FindEntry() called for a bound entry.");
+ if (binding && PL_strcmp(binding->mCacheEntry->Key()->get(), key->get()) != 0) {
+ *collision = PR_TRUE;
+ return nsnull;
+ }
binding = nsnull;
-#endif
-
+
// lookup hash number in cache map
rv = mCacheMap->FindRecord(hashNumber, &record);
if (NS_FAILED(rv)) return nsnull; // XXX log error?
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/netwerk/dns/src/nsIDNService.cpp
^
|
@@ -151,6 +151,9 @@
/* ACString ConvertUTF8toACE (in AUTF8String input); */
NS_IMETHODIMP nsIDNService::ConvertUTF8toACE(const nsACString & input, nsACString & ace)
{
+ // protect against bogus input
+ NS_ENSURE_TRUE(IsUTF8(input), NS_ERROR_UNEXPECTED);
+
nsresult rv;
NS_ConvertUTF8toUCS2 ustr(input);
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/netwerk/protocol/file/src/Makefile.in
^
|
@@ -51,6 +51,9 @@
mimetype \
pref \
uconv \
+ caps \
+ xpconnect \
+ js \
$(NULL)
CPPSRCS = \
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/netwerk/protocol/file/src/nsFileChannel.cpp
^
|
@@ -51,6 +51,9 @@
#include "nsIPrefService.h"
#include "nsIPrefBranch.h"
#include "nsURLHelper.h"
+#include "nsIChannelEventSink.h"
+#include "nsIOService.h"
+#include "nsIScriptSecurityManager.h"
static NS_DEFINE_CID(kStreamConverterServiceCID, NS_STREAMCONVERTERSERVICE_CID);
static NS_DEFINE_CID(kStreamTransportServiceCID, NS_STREAMTRANSPORTSERVICE_CID);
@@ -64,6 +67,7 @@
, mStatus(NS_OK)
, mIsDir(PR_FALSE)
, mUploading(PR_FALSE)
+ , mWaitingOnAsyncRedirect(PR_FALSE)
{
}
@@ -77,6 +81,79 @@
return rv;
}
+static PLDHashOperator
+CopyProperties(const nsAString &key, nsIVariant *data, void *closure)
+{
+ nsIWritablePropertyBag *bag =
+ static_cast<nsIWritablePropertyBag *>(closure);
+
+ bag->SetProperty(key, data);
+ return PL_DHASH_NEXT;
+}
+
+void
+nsFileChannel::HandleRedirect(nsIChannel* newChannel)
+{
+ if (NS_SUCCEEDED(mStatus)) {
+ nsIURI* originalURI = mOriginalURI;
+ if (!originalURI)
+ originalURI = mURL;
+
+ newChannel->SetOriginalURI(originalURI);
+ newChannel->SetLoadGroup(mLoadGroup);
+ newChannel->SetNotificationCallbacks(mCallbacks);
+ newChannel->SetLoadFlags(mLoadFlags | LOAD_REPLACE);
+
+ nsCOMPtr<nsIWritablePropertyBag> bag = do_QueryInterface(newChannel);
+ if (bag)
+ mPropertyHash.EnumerateRead(CopyProperties, bag.get());
+
+ // Notify consumer, giving chance to cancel redirect.
+ PRInt32 redirectFlags = nsIChannelEventSink::REDIRECT_INTERNAL;
+
+ // Global observers. These come first so that other observers don't see
+ // redirects that get aborted for security reasons anyway.
+ nsresult rv = gIOService->OnChannelRedirect(this, newChannel,
+ redirectFlags);
+ if (NS_SUCCEEDED(rv)) {
+ nsCOMPtr<nsIChannelEventSink> channelEventSink;
+ // Give our consumer a chance to observe/block this redirect.
+ NS_QueryNotificationCallbacks(mCallbacks, mLoadGroup,
+ channelEventSink);
+ if (channelEventSink) {
+ rv = channelEventSink->OnChannelRedirect(this, newChannel,
+ redirectFlags);
+ if (NS_SUCCEEDED(rv)) {
+ rv = newChannel->AsyncOpen(mListener, mListenerContext);
+ }
+ }
+ }
+
+ if (NS_FAILED(rv))
+ Cancel(rv);
+ }
+
+ mWaitingOnAsyncRedirect = PR_FALSE;
+
+ if (NS_FAILED(mStatus)) {
+ // Notify our consumer ourselves
+ mListener->OnStartRequest(this, mListenerContext);
+ mListener->OnStopRequest(this, mListenerContext, mStatus);
+ } else {
+ // close down this channel
+ Cancel(NS_BINDING_REDIRECTED);
+ }
+
+ mListener = nsnull;
+ mListenerContext = nsnull;
+
+ if (mLoadGroup)
+ mLoadGroup->RemoveRequest(this, nsnull, mStatus);
+
+ // Drop notification callbacks to prevent cycles.
+ mCallbacks = nsnull;
+}
+
nsresult
nsFileChannel::GetClonedFile(nsIFile **result)
{
@@ -102,13 +179,15 @@
if (NS_FAILED(rv)) return rv;
// we accept that this might result in a disk hit to stat the file
- rv = file->IsDirectory(&mIsDir);
+ PRBool isDir;
+ rv = file->IsDirectory(&isDir);
if (NS_FAILED(rv)) {
// canonicalize error message
if (rv == NS_ERROR_FILE_TARGET_DOES_NOT_EXIST)
rv = NS_ERROR_FILE_NOT_FOUND;
return rv;
}
+ mIsDir = isDir;
if (mIsDir)
rv = nsDirectoryIndexStream::Create(file, getter_AddRefs(mStream));
@@ -153,7 +232,7 @@
NS_IMETHODIMP
nsFileChannel::IsPending(PRBool *result)
{
- *result = (mRequest != nsnull);
+ *result = mRequest || mWaitingOnAsyncRedirect;
return NS_OK;
}
@@ -170,9 +249,10 @@
NS_IMETHODIMP
nsFileChannel::Cancel(nsresult status)
{
- NS_ENSURE_TRUE(mRequest, NS_ERROR_UNEXPECTED);
mStatus = status;
- return mRequest->Cancel(status);
+ if (mRequest)
+ return mRequest->Cancel(status);
+ return NS_OK;
}
NS_IMETHODIMP
@@ -368,14 +448,102 @@
return NS_OK;
}
+nsFileChannel::RedirectRunnable::RedirectRunnable(nsFileChannel* originalChannel,
+ nsIChannel* newChannel) :
+ mOriginalChannel(originalChannel),
+ mNewChannel(newChannel)
+{
+ MOZ_COUNT_CTOR(nsFileChannel::RedirectRunnable);
+ PL_InitEvent(this, nsnull, Handle, Destroy);
+}
+
+nsFileChannel::RedirectRunnable::~RedirectRunnable()
+{
+ MOZ_COUNT_DTOR(nsFileChannel::RedirectRunnable);
+}
+
+/* static */ void * PR_CALLBACK
+nsFileChannel::RedirectRunnable::Handle(PLEvent* aEvent)
+{
+ nsFileChannel::RedirectRunnable* evt =
+ NS_STATIC_CAST(nsFileChannel::RedirectRunnable*, aEvent);
+
+ evt->mOriginalChannel->HandleRedirect(evt->mNewChannel);
+
+ return nsnull;
+}
+
+/* static */ void PR_CALLBACK
+nsFileChannel::RedirectRunnable::Destroy(PLEvent* aEvent)
+{
+ nsFileChannel::RedirectRunnable* evt =
+ NS_STATIC_CAST(nsFileChannel::RedirectRunnable*, aEvent);
+ delete evt;
+}
+
NS_IMETHODIMP
nsFileChannel::AsyncOpen(nsIStreamListener *listener, nsISupports *ctx)
{
NS_ENSURE_TRUE(!mRequest, NS_ERROR_IN_PROGRESS);
+ // This file may be a url file
+ nsCOMPtr<nsIFile> file;
+ nsresult rv = mURL->GetFile(getter_AddRefs(file));
+ if (NS_SUCCEEDED(rv)) {
+ nsCOMPtr<nsIFileProtocolHandler> fileHandler;
+ rv = NS_GetFileProtocolHandler(getter_AddRefs(fileHandler));
+ NS_ENSURE_SUCCESS(rv, rv);
+
+ nsCOMPtr<nsIURI> uri;
+ rv = fileHandler->ReadURLFile(file, getter_AddRefs(uri));
+ if (NS_SUCCEEDED(rv)) {
+ // Make sure this is OK to load
+ nsCOMPtr<nsIScriptSecurityManager> securityManager =
+ do_GetService(NS_SCRIPTSECURITYMANAGER_CONTRACTID);
+ if (securityManager) {
+ rv = securityManager->CheckLoadURI(mURL, uri,
+ nsIScriptSecurityManager::DISALLOW_FROM_MAIL |
+ nsIScriptSecurityManager::DISALLOW_SCRIPT_OR_DATA);
+ if (NS_FAILED(rv)) return rv;
+ }
+
+ nsCOMPtr<nsIChannel> newChannel;
+ rv = NS_NewChannel(getter_AddRefs(newChannel), uri);
+ if (NS_SUCCEEDED(rv)) {
+ nsCOMPtr<nsIEventQueueService> eventQService =
+ do_GetService("@mozilla.org/event-queue-service;1", &rv);
+ NS_ENSURE_TRUE(eventQService, rv);
+
+ nsCOMPtr<nsIEventQueue> eventQ;
+ rv = eventQService->
+ GetSpecialEventQueue(nsIEventQueueService::UI_THREAD_EVENT_QUEUE,
+ getter_AddRefs(eventQ));
+ NS_ENSURE_TRUE(eventQ, rv);
+
+ RedirectRunnable* evt =
+ new RedirectRunnable(this, newChannel);
+ NS_ENSURE_TRUE(evt, NS_ERROR_OUT_OF_MEMORY);
+
+ rv = eventQ->PostEvent(evt);
+
+ if (NS_FAILED(rv)) {
+ PL_DestroyEvent(evt);
+ } else {
+ mWaitingOnAsyncRedirect = PR_TRUE;
+
+ if (mLoadGroup)
+ mLoadGroup->AddRequest(this, nsnull);
+
+ mListener = listener;
+ mListenerContext = ctx;
+ }
+ return rv;
+ }
+ }
+ }
+
nsCOMPtr<nsIStreamListener> grip;
nsCOMPtr<nsIEventQueue> currentEventQ;
- nsresult rv;
rv = NS_GetCurrentEventQ(getter_AddRefs(currentEventQ));
if (NS_FAILED(rv)) return rv;
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/netwerk/protocol/file/src/nsFileChannel.h
^
|
@@ -51,6 +51,8 @@
#include "nsCOMPtr.h"
#include "nsString.h"
#include "nsHashPropertyBag.h"
+#include "plevent.h"
+#include "nsAutoPtr.h"
class nsFileChannel : public nsHashPropertyBag
, public nsIFileChannel
@@ -73,8 +75,26 @@
nsresult Init(nsIURI *uri);
+ class RedirectRunnable : public PLEvent
+ {
+ public:
+ RedirectRunnable(nsFileChannel* originalChannel,
+ nsIChannel* newChannel);
+ ~RedirectRunnable();
+
+ PR_STATIC_CALLBACK(void*) Handle(PLEvent* aEvent);
+ PR_STATIC_CALLBACK(void) Destroy(PLEvent* aEvent);
+
+ private:
+ nsRefPtr<nsFileChannel> mOriginalChannel;
+ nsCOMPtr<nsIChannel> mNewChannel;
+ };
+
private:
+ friend class RedirectRunnable;
+ void HandleRedirect(nsIChannel* newChannel);
+
nsresult GetClonedFile(nsIFile **);
nsresult EnsureStream();
@@ -95,8 +115,9 @@
nsCOMPtr<nsIRequest> mRequest;
nsCOMPtr<nsIInputStream> mStream;
- PRBool mIsDir;
- PRBool mUploading;
+ PRPackedBool mIsDir;
+ PRPackedBool mUploading;
+ PRPackedBool mWaitingOnAsyncRedirect;
};
#endif // !nsFileChannel_h__
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/netwerk/protocol/file/src/nsFileProtocolHandler.cpp
^
|
@@ -239,22 +239,6 @@
NS_IMETHODIMP
nsFileProtocolHandler::NewChannel(nsIURI *uri, nsIChannel **result)
{
- // This file may be a url file
- nsCOMPtr<nsIFileURL> url(do_QueryInterface(uri));
- if (url) {
- nsCOMPtr<nsIFile> file;
- nsresult rv = url->GetFile(getter_AddRefs(file));
- if (NS_SUCCEEDED(rv)) {
- nsCOMPtr<nsIURI> uri;
- rv = ReadURLFile(file, getter_AddRefs(uri));
- if (NS_SUCCEEDED(rv)) {
- rv = NS_NewChannel(result, uri);
- if (NS_SUCCEEDED(rv))
- return rv;
- }
- }
- }
-
nsFileChannel *chan = new nsFileChannel();
if (!chan)
return NS_ERROR_OUT_OF_MEMORY;
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/netwerk/protocol/res/src/nsResProtocolHandler.cpp
^
|
@@ -22,6 +22,7 @@
* Contributor(s):
* Darin Fisher <darin@netscape.com>
* Benjamin Smedberg <bsmedberg@covad.net>
+ * Daniel Veditz <dveditz@cruzio.com>
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
@@ -176,6 +177,9 @@
//XXXbsmedberg Neil wants a resource://pchrome/ for the profile chrome dir...
// but once I finish multiple chrome registration I'm not sure that it is needed
+ // XXX dveditz: resource://pchrome/ defeats profile directory salting
+ // if web content can load it. Tread carefully.
+
return rv;
}
@@ -227,7 +231,36 @@
return NS_ERROR_OUT_OF_MEMORY;
NS_ADDREF(resURL);
- rv = resURL->Init(nsIStandardURL::URLTYPE_STANDARD, -1, aSpec, aCharset, aBaseURI);
+ // unescape any %2f and %2e to make sure nsStandardURL coalesces them.
+ // Later net_GetFileFromURLSpec() will do a full unescape and we want to
+ // treat them the same way the file system will. (bugs 380994, 394075)
+ nsCAutoString spec;
+ const char *src = aSpec.BeginReading();
+ const char *end = aSpec.EndReading();
+ const char *last = src;
+
+ spec.SetCapacity(aSpec.Length()+1);
+ for ( ; src < end; ++src) {
+ if (*src == '%' && (src < end-2) && *(src+1) == '2') {
+ char ch = '\0';
+ if (*(src+2) == 'f' || *(src+2) == 'F')
+ ch = '/';
+ else if (*(src+2) == 'e' || *(src+2) == 'E')
+ ch = '.';
+
+ if (ch) {
+ if (last < src)
+ spec.Append(last, src-last);
+ spec.Append(ch);
+ src += 2;
+ last = src+1; // src will be incremented by the loop
+ }
+ }
+ }
+ if (last < src)
+ spec.Append(last, src-last);
+
+ rv = resURL->Init(nsIStandardURL::URLTYPE_STANDARD, -1, spec, aCharset, aBaseURI);
if (NS_SUCCEEDED(rv))
rv = CallQueryInterface(resURL, result);
NS_RELEASE(resURL);
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/netwerk/streamconv/converters/nsDirIndexParser.cpp
^
|
@@ -190,6 +190,10 @@
++pos;
++num;
+ // There are a maximum of six allowed header fields (doubled plus
+ // terminator, just in case) -- Bug 443299
+ if (num > (2 * NS_ARRAY_LENGTH(gFieldTable)))
+ return NS_ERROR_UNEXPECTED;
if (! *pos)
break;
@@ -200,6 +204,9 @@
} while (*pos);
mFormat = new int[num+1];
+ // Prevent NULL Deref - Bug 443299
+ if (mFormat == nsnull)
+ return NS_ERROR_OUT_OF_MEMORY;
mFormat[num] = -1;
int formatNum=0;
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/parser/expat/lib/moz_extensions.c
^
|
@@ -165,7 +165,7 @@
if (tok == XML_TOK_CHAR_REF) {
int n = XmlCharRefNumber(enc, ptr);
- // We could get away with just < 0, but better safe than sorry.
+ /* We could get away with just < 0, but better safe than sorry. */
if (n <= 0) {
return 0;
}
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/parser/htmlparser/src/nsHTMLTokens.cpp
^
|
@@ -2364,12 +2364,7 @@
}
#endif
- if (IS_IN_BMP(aNCRValue))
- aString.Append(PRUnichar(aNCRValue));
- else {
- aString.Append(PRUnichar(H_SURROGATE(aNCRValue)));
- aString.Append(PRUnichar(L_SURROGATE(aNCRValue)));
- }
+ AppendUCS4ToUTF16(ENSURE_VALID_CHAR(aNCRValue), aString);
}
/*
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/parser/htmlparser/src/nsScanner.cpp
^
|
@@ -100,12 +100,18 @@
{
MOZ_COUNT_CTOR(nsScanner);
- mTotalRead = anHTMLString.Length();
mSlidingBuffer = nsnull;
mCountRemaining = 0;
mFirstNonWhitespacePosition = -1;
- AppendToBuffer(anHTMLString);
- mSlidingBuffer->BeginReading(mCurrentPosition);
+ if (AppendToBuffer(anHTMLString)) {
+ mTotalRead = anHTMLString.Length();
+ mSlidingBuffer->BeginReading(mCurrentPosition);
+ } else {
+ mTotalRead = 0;
+ /* XXX see hack below, re: bug 182067 */
+ memset(&mCurrentPosition, 0, sizeof(mCurrentPosition));
+ mEndPosition = mCurrentPosition;
+ }
mMarkPosition = mCurrentPosition;
mIncremental = PR_FALSE;
mUnicodeDecoder = 0;
@@ -331,8 +337,9 @@
* @return error code
*/
nsresult nsScanner::Append(const nsAString& aBuffer) {
+ if (!AppendToBuffer(aBuffer))
+ return NS_ERROR_OUT_OF_MEMORY;
mTotalRead += aBuffer.Length();
- AppendToBuffer(aBuffer);
return NS_OK;
}
@@ -394,13 +401,14 @@
} while (NS_FAILED(res) && (aLen > 0));
buffer->SetDataLength(totalChars);
- AppendToBuffer(buffer, aRequest);
- mTotalRead += totalChars;
-
// Don't propagate return code of unicode decoder
// since it doesn't reflect on our success or failure
// - Ref. bug 87110
res = NS_OK;
+ if (!AppendToBuffer(buffer, aRequest))
+ res = NS_ERROR_OUT_OF_MEMORY;
+ else
+ mTotalRead += totalChars;
}
else {
AppendASCIItoBuffer(aBuffer, aLen, aRequest);
@@ -1384,19 +1392,21 @@
}
}
-void nsScanner::AppendToBuffer(nsScannerString::Buffer* aBuf,
- nsIRequest *aRequest)
+PRBool nsScanner::AppendToBuffer(nsScannerString::Buffer* aBuf,
+ nsIRequest *aRequest)
{
if (nsParser::sParserDataListeners && mParser &&
NS_FAILED(mParser->DataAdded(Substring(aBuf->DataStart(),
aBuf->DataEnd()), aRequest))) {
// Don't actually append on failure.
- return;
+ return mSlidingBuffer != nsnull;
}
if (!mSlidingBuffer) {
mSlidingBuffer = new nsScannerString(aBuf);
+ if (!mSlidingBuffer)
+ return PR_FALSE;
mSlidingBuffer->BeginReading(mCurrentPosition);
mMarkPosition = mCurrentPosition;
mSlidingBuffer->EndReading(mEndPosition);
@@ -1425,6 +1435,7 @@
++iter;
}
}
+ return PR_TRUE;
}
void nsScanner::AppendASCIItoBuffer(const char* aData, PRUint32 aLen,
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/parser/htmlparser/src/nsScanner.h
^
|
@@ -380,10 +380,14 @@
enum {eBufferSizeThreshold=0x1000}; //4K
- void AppendToBuffer(nsScannerString::Buffer *, nsIRequest *aRequest);
- void AppendToBuffer(const nsAString& aStr)
+ PRBool AppendToBuffer(nsScannerString::Buffer *, nsIRequest *aRequest);
+ PRBool AppendToBuffer(const nsAString& aStr)
{
- AppendToBuffer(nsScannerString::AllocBufferFromString(aStr), nsnull);
+ nsScannerString::Buffer* buf = nsScannerString::AllocBufferFromString(aStr);
+ if (!buf)
+ return PR_FALSE;
+ AppendToBuffer(buf, nsnull);
+ return PR_TRUE;
}
void AppendASCIItoBuffer(const char* aData, PRUint32 aLen,
nsIRequest *aRequest);
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/toolkit/content/charsetOverlay.js
^
|
@@ -126,21 +126,19 @@
var gPrevCharset = null;
function UpdateCurrentCharset()
{
- var menuitem = null;
-
- // exctract the charset from DOM
+ // extract the charset from DOM
var wnd = document.commandDispatcher.focusedWindow;
if ((window == wnd) || (wnd == null)) wnd = window.content;
- menuitem = document.getElementById('charset.' + wnd.document.characterSet);
+ // Uncheck previous item
+ if (gPrevCharset) {
+ var pref_item = document.getElementById('charset.' + gPrevCharset);
+ if (pref_item)
+ pref_item.setAttribute('checked', 'false');
+ }
+
+ var menuitem = document.getElementById('charset.' + wnd.document.characterSet);
if (menuitem) {
- // uncheck previously checked item to workaround Mac checkmark problem
- // bug 98625
- if (gPrevCharset) {
- var pref_item = document.getElementById('charset.' + gPrevCharset);
- if (pref_item)
- pref_item.setAttribute('checked', 'false');
- }
menuitem.setAttribute('checked', 'true');
}
}
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/toolkit/locales/en-US/chrome/global/intl.properties
^
|
@@ -22,7 +22,7 @@
intl.charsetmenu.browser.more4=armscii-8, GEOSTD8, TIS-620, ISO-8859-11, windows-874, IBM857, ISO-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, VISCII, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
intl.charsetmenu.browser.more5=ISO-8859-6, windows-1256, IBM864, x-mac-arabic, x-mac-farsi, ISO-8859-8-I, windows-1255, ISO-8859-8, IBM862, x-mac-hebrew
# Localization Note: Never change the following entry.
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default=ISO-8859-1
intl.charset.detector=
intl.charsetmenu.mailedit=ISO-8859-1, ISO-8859-15, ISO-8859-6, armscii-8, geostd8, ISO-8859-13, ISO-8859-14, ISO-8859-2, GB2312, GB18030, Big5, KOI8-R, windows-1251, KOI8-U, ISO-8859-7, ISO-8859-8-I, windows-1255, ISO-2022-JP, EUC-KR, ISO-8859-10, ISO-8859-3, TIS-620, ISO-8859-9, UTF-8, VISCII
|
[-]
[+]
|
Added |
xulrunner-source-1.8.1.18.tar.bz2/toolkit/locales/l10n.ini
^
|
@@ -0,0 +1,8 @@
+[general]
+depth = ../..
+
+[compare]
+dirs = netwerk
+ dom
+ toolkit
+ security/manager
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/toolkit/mozapps/installer/windows/nsis/version.nsh
^
|
@@ -13,4 +13,5 @@
VIAddVersionKey "LegalTrademarks" "${BrandShortName} is a Trademark of The Mozilla Foundation."
VIAddVersionKey "LegalCopyright" "${CompanyName}"
VIAddVersionKey "FileVersion" "${AppVersion}"
+VIAddVersionKey "ProductVersion" "${AppVersion}"
;VIAddVersionKey "Comments" "Comments"
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/widget/public/nsIDragService.idl
^
|
@@ -84,6 +84,16 @@
};
+[scriptable, uuid(b6ba2c09-4a12-40d6-ad7e-aa4190e78403)]
+interface nsIDragService_1_8_BRANCH : nsIDragService
+{
+ /**
+ * Increase/decrease dragging suppress level by one.
+ * If level is greater than one, dragging is disabled.
+ */
+ void suppress();
+ void unsuppress();
+};
%{ C++
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/widget/src/beos/nsDragService.cpp
^
|
@@ -108,7 +108,9 @@
0 == orig.Compare("BeZilla"));
}
-NS_IMPL_THREADSAFE_ISUPPORTS3(nsDragService, nsIDragService, nsIDragSession, nsIDragSessionBeOS)
+NS_IMPL_THREADSAFE_ISUPPORTS4(nsDragService, nsIDragService,
+ nsIDragService_1_8_BRANCH, nsIDragSession,
+ nsIDragSessionBeOS)
//NS_IMPL_THREADSAFE_ISUPPORTS1(nsBaseDragService, nsIDragSessionBeOS)
//-------------------------------------------------------------------------
@@ -154,8 +156,11 @@
PRUint32 aActionType)
{
PR_LOG(sDragLm, PR_LOG_DEBUG, ("nsDragService::InvokeDragSession"));
- nsBaseDragService::InvokeDragSession (aDOMNode, aArrayTransferables,
- aRegion, aActionType);
+ nsresult rv = nsBaseDragService::InvokeDragSession(aDOMNode,
+ aArrayTransferables,
+ aRegion, aActionType);
+ NS_ENSURE_SUCCESS(rv, rv);
+
ResetDragInfo();
// make sure that we have an array of transferables to use
if (nsnull == aArrayTransferables)
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/widget/src/gtk/nsDragService.cpp
^
|
@@ -63,8 +63,9 @@
NS_IMPL_ADDREF_INHERITED(nsDragService, nsBaseDragService)
NS_IMPL_RELEASE_INHERITED(nsDragService, nsBaseDragService)
-NS_IMPL_QUERY_INTERFACE4(nsDragService,
+NS_IMPL_QUERY_INTERFACE5(nsDragService,
nsIDragService,
+ nsIDragService_1_8_BRANCH,
nsIDragSession,
nsIDragSessionGTK,
nsIObserver)
@@ -150,8 +151,11 @@
PRUint32 aActionType)
{
PR_LOG(sDragLm, PR_LOG_DEBUG, ("nsDragService::InvokeDragSession"));
- nsBaseDragService::InvokeDragSession (aDOMNode, aArrayTransferables,
- aRegion, aActionType);
+ nsresult rv = nsBaseDragService::InvokeDragSession(aDOMNode,
+ aArrayTransferables,
+ aRegion, aActionType);
+ NS_ENSURE_SUCCESS(rv, rv);
+
// make sure that we have an array of transferables to use
if (!aArrayTransferables)
return NS_ERROR_INVALID_ARG;
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/widget/src/gtk2/nsDragService.cpp
^
|
@@ -67,8 +67,9 @@
NS_IMPL_ADDREF_INHERITED(nsDragService, nsBaseDragService)
NS_IMPL_RELEASE_INHERITED(nsDragService, nsBaseDragService)
-NS_IMPL_QUERY_INTERFACE4(nsDragService,
+NS_IMPL_QUERY_INTERFACE5(nsDragService,
nsIDragService,
+ nsIDragService_1_8_BRANCH,
nsIDragSession,
nsIDragSessionGTK,
nsIObserver)
@@ -155,8 +156,11 @@
PRUint32 aActionType)
{
PR_LOG(sDragLm, PR_LOG_DEBUG, ("nsDragService::InvokeDragSession"));
- nsBaseDragService::InvokeDragSession(aDOMNode, aArrayTransferables,
- aRegion, aActionType);
+ nsresult rv = nsBaseDragService::InvokeDragSession(aDOMNode,
+ aArrayTransferables,
+ aRegion, aActionType);
+ NS_ENSURE_SUCCESS(rv, rv);
+
// make sure that we have an array of transferables to use
if (!aArrayTransferables)
return NS_ERROR_INVALID_ARG;
@@ -1107,18 +1111,6 @@
return;
}
- if (strcmp(mimeFlavor, gTextUriListType) == 0) {
- // fall back for text/uri-list
- gchar *uriList;
- gint length;
- CreateUriList(mSourceDataItems, &uriList, &length);
- gtk_selection_data_set(aSelectionData,
- aSelectionData->target,
- 8, (guchar *)uriList, length);
- g_free(uriList);
- return;
- }
-
nsCOMPtr<nsISupports> genericItem;
mSourceDataItems->GetElementAt(0, getter_AddRefs(genericItem));
nsCOMPtr<nsITransferable> item;
@@ -1138,6 +1130,12 @@
actualFlavor = kURLMime;
needToDoConversionToPlainText = PR_TRUE;
}
+ // if someone was asking for text/uri-list we need to convert to
+ // plain text.
+ else if (strcmp(mimeFlavor, gTextUriListType) == 0) {
+ actualFlavor = gTextUriListType;
+ needToDoConversionToPlainText = PR_TRUE;
+ }
else
actualFlavor = mimeFlavor;
@@ -1179,6 +1177,18 @@
// this wasn't allocated with glib
free(tmpData);
}
+ } else {
+ if (strcmp(mimeFlavor, gTextUriListType) == 0) {
+ // fall back for text/uri-list
+ gchar *uriList;
+ gint length;
+ CreateUriList(mSourceDataItems, &uriList, &length);
+ gtk_selection_data_set(aSelectionData,
+ aSelectionData->target,
+ 8, (guchar *)uriList, length);
+ g_free(uriList);
+ return;
+ }
}
}
}
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/widget/src/mac/nsDragService.cpp
^
|
@@ -92,7 +92,11 @@
// we need our own stuff for MacOS because of nsIDragSessionMac.
NS_IMPL_ADDREF_INHERITED(nsDragService, nsBaseDragService)
NS_IMPL_RELEASE_INHERITED(nsDragService, nsBaseDragService)
-NS_IMPL_QUERY_INTERFACE3(nsDragService, nsIDragService, nsIDragSession, nsIDragSessionMac)
+NS_IMPL_QUERY_INTERFACE4(nsDragService,
+ nsIDragService,
+ nsIDragService_1_8_BRANCH,
+ nsIDragSession,
+ nsIDragSessionMac)
//
@@ -223,7 +227,10 @@
#endif
::InitCursor();
- nsBaseDragService::InvokeDragSession ( aDOMNode, aTransferableArray, aDragRgn, aActionType );
+ nsresult rv = nsBaseDragService::InvokeDragSession(aDOMNode,
+ aTransferableArray,
+ aDragRgn, aActionType);
+ NS_ENSURE_SUCCESS(rv, rv);
DragReference theDragRef;
OSErr result = ::NewDrag(&theDragRef);
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/widget/src/os2/nsDragService.cpp
^
|
@@ -57,7 +57,10 @@
NS_IMPL_ADDREF_INHERITED(nsDragService, nsBaseDragService)
NS_IMPL_RELEASE_INHERITED(nsDragService, nsBaseDragService)
-NS_IMPL_QUERY_INTERFACE3(nsDragService, nsIDragService, nsIDragSession, \
+NS_IMPL_QUERY_INTERFACE4(nsDragService,
+ nsIDragService,
+ nsIDragService_1_8_BRANCH,
+ nsIDragSession,
nsIDragSessionOS2)
// --------------------------------------------------------------------------
@@ -144,8 +147,10 @@
if (mDoingDrag)
return NS_ERROR_UNEXPECTED;
- nsBaseDragService::InvokeDragSession ( aDOMNode, aTransferables,
- aRegion, aActionType );
+ nsresult rv = nsBaseDragService::InvokeDragSession(aDOMNode, aTransferables,
+ aRegion, aActionType );
+ NS_ENSURE_SUCCESS(rv, rv);
+
mSourceDataItems = aTransferables;
WinSetCapture(HWND_DESKTOP, NULLHANDLE);
@@ -168,7 +173,7 @@
dragitem.hstrContainerName = NULLHANDLE;
dragitem.hstrSourceName = NULLHANDLE;
- nsresult rv = NS_ERROR_FAILURE;
+ rv = NS_ERROR_FAILURE;
ULONG idIcon = 0;
// bracket this to reduce our footprint before the drag begins
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/widget/src/os2/nsWindow.cpp
^
|
@@ -1237,23 +1237,24 @@
//-------------------------------------------------------------------------
NS_METHOD nsWindow::Show(PRBool bState)
{
- // doesn't seem to require a message queue.
- if( mWnd)
- {
- HWND hwnd = GetMainWindow();
- if( bState == PR_TRUE)
- {
- // don't try to show new windows (e.g. the Bookmark menu)
- // during a native dragover because they'll remain invisible;
- if (CheckDragStatus(ACTION_SHOW, 0))
- WinShowWindow( hwnd, TRUE);
+ // doesn't seem to require a message queue.
+ if (mWnd) {
+ if (bState) {
+ // don't try to show new windows (e.g. the Bookmark menu)
+ // during a native dragover because they'll remain invisible;
+ if (CheckDragStatus(ACTION_SHOW, 0)) {
+ PRBool bVisible;
+ IsVisible(bVisible);
+ if (!bVisible)
+ PlaceBehind(eZPlacementTop, NULL, PR_FALSE);
+ WinShowWindow(mWnd, PR_TRUE);
}
- else
- WinShowWindow( hwnd, FALSE);
- }
- mIsVisible = bState;
+ } else {
+ WinShowWindow(mWnd, PR_FALSE);
+ }
+ }
- return NS_OK;
+ return NS_OK;
}
//-------------------------------------------------------------------------
@@ -1287,7 +1288,11 @@
NS_METHOD nsWindow::PlaceBehind(nsTopLevelWidgetZPlacement aPlacement,
nsIWidget *aWidget, PRBool aActivate)
{
- HWND behind = aWidget ? (HWND)aWidget->GetNativeData(NS_NATIVE_WINDOW) : HWND_TOP;
+ HWND behind = HWND_TOP;
+ if (aPlacement == eZPlacementBottom)
+ behind = HWND_BOTTOM;
+ else if (aPlacement == eZPlacementBelow && aWidget)
+ behind = (HWND)aWidget->GetNativeData(NS_NATIVE_WINDOW);
UINT flags = SWP_ZORDER;
if (aActivate)
flags |= SWP_ACTIVATE;
@@ -1298,6 +1303,19 @@
//-------------------------------------------------------------------------
//
+// Sets widget's position within its parent child list.
+//
+//-------------------------------------------------------------------------
+NS_METHOD nsWindow::SetZIndex(PRInt32 aZIndex)
+{
+ // nsBaseWidget::SetZIndex() never has done anything sensible but has
+ // randomly placed widgets behind others (see bug 117730#c25).
+ // To get bug #353011 solved simply override it here to do nothing.
+ return NS_OK;
+}
+
+//-------------------------------------------------------------------------
+//
// Maximize, minimize or restore the window.
//
//-------------------------------------------------------------------------
@@ -3795,9 +3813,9 @@
ULONG ulStatus = WinQueryQueueStatus(HWND_DESKTOP);
// If there is pending input then return the current time.
- if (ulStatus && (QS_KEY | QS_MOUSE | QS_MOUSEBUTTON | QS_MOUSEMOVE)) {
+ if (ulStatus & (QS_KEY | QS_MOUSE)) {
gLastInputEventTime = PR_IntervalToMicroseconds(PR_IntervalNow());
- }
+ }
aTime = gLastInputEventTime;
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/widget/src/os2/nsWindow.h
^
|
@@ -151,6 +151,7 @@
PRBool IsShown();
NS_IMETHOD PlaceBehind(nsTopLevelWidgetZPlacement aPlacement,
nsIWidget *aWidget, PRBool aActivate);
+ NS_IMETHOD SetZIndex(PRInt32 aZIndex);
NS_IMETHOD CaptureMouse(PRBool aCapture);
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/widget/src/photon/nsDragService.cpp
^
|
@@ -49,7 +49,10 @@
NS_IMPL_ADDREF_INHERITED(nsDragService, nsBaseDragService)
NS_IMPL_RELEASE_INHERITED(nsDragService, nsBaseDragService)
-NS_IMPL_QUERY_INTERFACE2(nsDragService, nsIDragService, nsIDragSession)
+NS_IMPL_QUERY_INTERFACE3(nsDragService,
+ nsIDragService,
+ nsIDragService_1_8_BRANCH,
+ nsIDragSession)
char *nsDragService::mDndEvent = NULL;
int nsDragService::mDndEventLen;
@@ -144,7 +147,10 @@
#ifdef DEBUG
printf( "nsDragService::InvokeDragSession\n" );
#endif
- nsBaseDragService::InvokeDragSession (aDOMNode, aArrayTransferables, aRegion, aActionType);
+ nsresult rv = nsBaseDragService::InvokeDragSession(aDOMNode,
+ aArrayTransferables,
+ aRegion, aActionType);
+ NS_ENSURE_SUCCESS(rv, rv);
if(!aArrayTransferables)
return NS_ERROR_INVALID_ARG;
@@ -202,7 +208,7 @@
const char *FlavourStr = ( const char * ) flavorStr;
nsCOMPtr<nsISupports> data;
PRUint32 tmpDataLen = 0;
- nsresult rv = currItem->GetTransferData( FlavourStr, getter_AddRefs(data), &tmpDataLen );
+ rv = currItem->GetTransferData( FlavourStr, getter_AddRefs(data), &tmpDataLen );
if( NS_SUCCEEDED( rv ) ) {
/* insert FlavourStr, data into the PtTransportCtrl_t */
int len = sizeof( PRUint32 ) + sizeof( PRUint32 ) + strlen( FlavourStr ) + 1 + tmpDataLen;
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/widget/src/qt/nsDragService.cpp
^
|
@@ -60,7 +60,11 @@
NS_IMPL_ADDREF_INHERITED(nsDragService, nsBaseDragService)
NS_IMPL_RELEASE_INHERITED(nsDragService, nsBaseDragService)
-NS_IMPL_QUERY_INTERFACE3(nsDragService, nsIDragService, nsIDragSession, nsIDragSessionQt )
+NS_IMPL_QUERY_INTERFACE4(nsDragService,
+ nsIDragService,
+ nsIDragService_1_8_BRANCH,
+ nsIDragSession,
+ nsIDragSessionQt )
//-------------------------------------------------------------------------
// static variables
@@ -97,8 +101,10 @@
{
PRUint32 numItemsToDrag = 0;
- nsBaseDragService::InvokeDragSession(aDOMNode, aArrayTransferables,
- aRegion, aActionType);
+ nsresult rv = nsBaseDragService::InvokeDragSession(aDOMNode,
+ aArrayTransferables,
+ aRegion, aActionType);
+ NS_ENSURE_SUCCESS(rv, rv);
// make sure that we have an array of transferables to use
if (!aArrayTransferables) {
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/widget/src/windows/nsDragService.cpp
^
|
@@ -91,9 +91,10 @@
nsIScriptableRegion *aRegion,
PRUint32 aActionType)
{
- nsBaseDragService::InvokeDragSession(aDOMNode, anArrayTransferables, aRegion,
- aActionType);
- nsresult rv;
+ nsresult rv = nsBaseDragService::InvokeDragSession(aDOMNode,
+ anArrayTransferables,
+ aRegion, aActionType);
+ NS_ENSURE_SUCCESS(rv, rv);
// Try and get source URI of the items that are being dragged
nsIURI *uri = nsnull;
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/widget/src/windows/nsNativeDragTarget.cpp
^
|
@@ -225,6 +225,10 @@
// Set the current action into the Gecko specific type
nsCOMPtr<nsIDragSession> currSession;
mDragService->GetCurrentSession(getter_AddRefs(currSession));
+ if (!currSession) {
+ return;
+ }
+
currSession->SetDragAction(geckoAction);
// Dispatch the event into Gecko
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/widget/src/xlib/nsDragService.cpp
^
|
@@ -109,14 +109,15 @@
nsIScriptableRegion *aRegion,
PRUint32 aActionType)
{
- nsBaseDragService::InvokeDragSession(aDOMNode, aArrayTransferables,
- aRegion, aActionType);
+ nsresult rv = nsBaseDragService::InvokeDragSession(aDOMNode,
+ aArrayTransferables,
+ aRegion, aActionType);
+ NS_ENSURE_SUCCESS(rv, rv);
/* no data - no dnd */
if (!aArrayTransferables)
return NS_ERROR_INVALID_ARG;
- nsresult rv;
PRUint32 numItemsToDrag = 0;
mSourceDataItems = aArrayTransferables;
@@ -158,7 +159,7 @@
if (!aSession)
return NS_ERROR_FAILURE;
- if (!mDragging) {
+ if (!mDragging || mSuppressLevel) {
*aSession = nsnull;
return NS_OK;
}
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/widget/src/xpwidgets/nsBaseDragService.cpp
^
|
@@ -57,7 +57,8 @@
NS_IMPL_ADDREF(nsBaseDragService)
NS_IMPL_RELEASE(nsBaseDragService)
-NS_IMPL_QUERY_INTERFACE2(nsBaseDragService, nsIDragService, nsIDragSession)
+NS_IMPL_QUERY_INTERFACE3(nsBaseDragService, nsIDragService,
+ nsIDragService_1_8_BRANCH, nsIDragSession)
//-------------------------------------------------------------------------
@@ -67,7 +68,7 @@
//-------------------------------------------------------------------------
nsBaseDragService::nsBaseDragService()
: mCanDrop(PR_FALSE), mDoingDrag(PR_FALSE),
- mDragAction(DRAGDROP_ACTION_NONE), mTargetSize(0,0)
+ mDragAction(DRAGDROP_ACTION_NONE), mTargetSize(0,0), mSuppressLevel(0)
{
nsresult result = NS_NewISupportsArray(getter_AddRefs(mTransArray));
if (NS_FAILED(result)) {
@@ -201,6 +202,7 @@
PRUint32 aActionType)
{
NS_ENSURE_TRUE(aDOMNode, NS_ERROR_INVALID_ARG);
+ NS_ENSURE_TRUE(mSuppressLevel == 0, NS_ERROR_FAILURE);
// stash the document of the dom node
aDOMNode->GetOwnerDocument(getter_AddRefs(mSourceDocument));
@@ -239,7 +241,7 @@
// "this" also implements a drag session, so say we are one but only
// if there is currently a drag going on.
- if (mDoingDrag) {
+ if (!mSuppressLevel && mDoingDrag) {
*aSession = this;
NS_ADDREF(*aSession); // addRef because we're a "getter"
}
@@ -306,3 +308,18 @@
}
} // GetFrameFromNode
+
+NS_IMETHODIMP
+nsBaseDragService::Suppress()
+{
+ EndDragSession();
+ ++mSuppressLevel;
+ return NS_OK;
+}
+
+NS_IMETHODIMP
+nsBaseDragService::Unsuppress()
+{
+ --mSuppressLevel;
+ return NS_OK;
+}
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/widget/src/xpwidgets/nsBaseDragService.h
^
|
@@ -54,7 +54,7 @@
* XP DragService wrapper base class
*/
-class nsBaseDragService : public nsIDragService,
+class nsBaseDragService : public nsIDragService_1_8_BRANCH,
public nsIDragSession
{
@@ -67,6 +67,7 @@
//nsIDragSession and nsIDragService
NS_DECL_NSIDRAGSERVICE
+ NS_DECL_NSIDRAGSERVICE_1_8_BRANCH
NS_DECL_NSIDRAGSESSION
protected:
@@ -82,6 +83,7 @@
nsCOMPtr<nsIDOMNode> mSourceNode;
nsCOMPtr<nsIDOMDocument> mSourceDocument; // the document at the drag source. will be null
// if it came from outside the app.
+ PRUint32 mSuppressLevel;
};
#endif // nsBaseDragService_h__
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/xpcom/glue/nsTArray.cpp
^
|
@@ -48,7 +48,7 @@
// If the requested memory allocation exceeds size_type(-1)/2, then our
// doubling algorithm may not be able to allocate it. Just bail out in
// cases like that. We don't want to be allocating 2 GB+ arrays anyway.
- if (capacity * elemSize > size_type(-1)/2) {
+ if ((PRUint64)capacity * elemSize > size_type(-1)/2) {
NS_ERROR("Attempting to allocate excessively large array");
return PR_FALSE;
}
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/xpcom/io/nsEscape.cpp
^
|
@@ -75,25 +75,42 @@
//----------------------------------------------------------------------------------------
static char* nsEscapeCount(
const char * str,
- PRInt32 len,
nsEscapeMask flags,
- PRInt32* out_len)
+ size_t* out_len)
//----------------------------------------------------------------------------------------
{
if (!str)
return 0;
- int i, extra = 0;
+ size_t i, len = 0, charsToEscape = 0;
static const char hexChars[] = "0123456789ABCDEF";
register const unsigned char* src = (const unsigned char *) str;
- for (i = 0; i < len; i++)
+ while (*src)
{
+ len++;
if (!IS_OK(*src++))
- extra += 2; /* the escape, plus an extra byte for each nibble */
+ charsToEscape++;
}
- char* result = (char *)nsMemory::Alloc(len + extra + 1);
+ // calculate how much memory should be allocated
+ // original length + 2 bytes for each escaped character + terminating '\0'
+ // do the sum in steps to check for overflow
+ size_t dstSize = len + 1 + charsToEscape;
+ if (dstSize <= len)
+ return 0;
+ dstSize += charsToEscape;
+ if (dstSize < len)
+ return 0;
+
+ // fail if we need more than 4GB
+ // size_t is likely to be long unsigned int but nsMemory::Alloc(size_t)
+ // calls NS_Alloc_P(size_t) which calls PR_Malloc(PRUint32), so there is
+ // no chance to allocate more than 4GB using nsMemory::Alloc()
+ if (dstSize > PR_UINT32_MAX)
+ return 0;
+
+ char* result = (char *)nsMemory::Alloc(dstSize);
if (!result)
return 0;
@@ -144,7 +161,7 @@
{
if(!str)
return NULL;
- return nsEscapeCount(str, (PRInt32)strlen(str), flags, NULL);
+ return nsEscapeCount(str, flags, NULL);
}
//----------------------------------------------------------------------------------------
@@ -205,62 +222,67 @@
NS_COM char *
nsEscapeHTML(const char * string)
{
- /* XXX Hardcoded max entity len. The +1 is for the trailing null. */
- char *rv = (char *) nsMemory::Alloc(strlen(string) * 6 + 1);
- char *ptr = rv;
-
- if(rv)
- {
- for(; *string != '\0'; string++)
- {
- if(*string == '<')
- {
- *ptr++ = '&';
- *ptr++ = 'l';
- *ptr++ = 't';
- *ptr++ = ';';
- }
- else if(*string == '>')
- {
- *ptr++ = '&';
- *ptr++ = 'g';
- *ptr++ = 't';
- *ptr++ = ';';
- }
- else if(*string == '&')
- {
- *ptr++ = '&';
- *ptr++ = 'a';
- *ptr++ = 'm';
- *ptr++ = 'p';
- *ptr++ = ';';
- }
- else if (*string == '"')
- {
- *ptr++ = '&';
- *ptr++ = 'q';
- *ptr++ = 'u';
- *ptr++ = 'o';
- *ptr++ = 't';
- *ptr++ = ';';
- }
- else if (*string == '\'')
- {
- *ptr++ = '&';
- *ptr++ = '#';
- *ptr++ = '3';
- *ptr++ = '9';
- *ptr++ = ';';
- }
- else
- {
- *ptr++ = *string;
- }
- }
- *ptr = '\0';
- }
+ char *rv = nsnull;
+ /* XXX Hardcoded max entity len. The +1 is for the trailing null. */
+ PRUint32 len = PL_strlen(string);
+ if (len >= (PR_UINT32_MAX / 6))
+ return nsnull;
+
+ rv = (char *)NS_Alloc( (6 * len) + 1 );
+ char *ptr = rv;
+
+ if(rv)
+ {
+ for(; *string != '\0'; string++)
+ {
+ if(*string == '<')
+ {
+ *ptr++ = '&';
+ *ptr++ = 'l';
+ *ptr++ = 't';
+ *ptr++ = ';';
+ }
+ else if(*string == '>')
+ {
+ *ptr++ = '&';
+ *ptr++ = 'g';
+ *ptr++ = 't';
+ *ptr++ = ';';
+ }
+ else if(*string == '&')
+ {
+ *ptr++ = '&';
+ *ptr++ = 'a';
+ *ptr++ = 'm';
+ *ptr++ = 'p';
+ *ptr++ = ';';
+ }
+ else if (*string == '"')
+ {
+ *ptr++ = '&';
+ *ptr++ = 'q';
+ *ptr++ = 'u';
+ *ptr++ = 'o';
+ *ptr++ = 't';
+ *ptr++ = ';';
+ }
+ else if (*string == '\'')
+ {
+ *ptr++ = '&';
+ *ptr++ = '#';
+ *ptr++ = '3';
+ *ptr++ = '9';
+ *ptr++ = ';';
+ }
+ else
+ {
+ *ptr++ = *string;
+ }
+ }
+ *ptr = '\0';
+ }
- return(rv);
+ return(rv);
}
NS_COM PRUnichar *
@@ -272,6 +294,10 @@
}
/* XXX Hardcoded max entity len. */
+ if (aSourceBufferLen >=
+ ((PR_UINT32_MAX / (6 * sizeof(PRUnichar))) + sizeof(PRUnichar)))
+ return nsnull;
+
PRUnichar *resultBuffer = (PRUnichar *)nsMemory::Alloc(aSourceBufferLen *
6 * sizeof(PRUnichar) + sizeof(PRUnichar('\0')));
PRUnichar *ptr = resultBuffer;
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/xpcom/io/nsLocalFileUnix.cpp
^
|
@@ -1300,6 +1300,11 @@
NS_ENSURE_ARG_POINTER(_retval);
struct stat buf;
+ if (IsDesktopFile()) {
+ *_retval = PR_TRUE;
+ return NS_OK;
+ }
+
*_retval = (stat(mPath.get(), &buf) == 0);
if (*_retval || errno == EACCES) {
*_retval = *_retval && (buf.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH ));
@@ -1350,6 +1355,11 @@
CHECK_mPath();
NS_ENSURE_ARG_POINTER(_retval);
+ if (IsDesktopFile()) {
+ *_retval = PR_TRUE;
+ return NS_OK;
+ }
+
*_retval = (access(mPath.get(), X_OK) == 0);
if (*_retval || errno == EACCES)
return NS_OK;
@@ -1775,3 +1785,13 @@
nsLocalFile::GlobalShutdown()
{
}
+
+PRBool
+nsLocalFile::IsDesktopFile()
+{
+ // Just needs to be good enough to match nsFileProtocolHandler::ReadURLFile
+ nsCAutoString leafName;
+ nsresult rv = GetNativeLeafName(leafName);
+ return NS_FAILED(rv) ||
+ StringEndsWith(leafName, NS_LITERAL_CSTRING(".desktop"));
+}
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/xpcom/io/nsLocalFileUnix.h
^
|
@@ -127,6 +127,8 @@
nsresult CreateAndKeepOpen(PRUint32 type, PRIntn flags,
PRUint32 permissions, PRFileDesc **_retval);
+
+ PRBool IsDesktopFile();
};
#endif /* _nsLocalFileUNIX_H_ */
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/xpcom/obsolete/nsFileSpec.h
^
|
@@ -485,7 +485,7 @@
void CreateDir(int mode = 0775) { CreateDirectory(mode); }
// workaround for yet another VC++ bug with long identifiers.
void Delete(PRBool inRecursive) const;
- nsresult Truncate(PRInt32 aNewLength) const;
+ nsresult Truncate(PRUint32 aNewLength) const;
void RecursiveCopy(nsFileSpec newDir) const;
nsresult Rename(const char* inNewName); // not const: gets updated
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/xpcom/obsolete/nsFileSpecBeOS.cpp
^
|
@@ -302,7 +302,7 @@
} // nsFileSpec::RecursiveCopy
//----------------------------------------------------------------------------------------
-nsresult nsFileSpec::Truncate(PRInt32 offset) const
+nsresult nsFileSpec::Truncate(PRUint32 offset) const
//----------------------------------------------------------------------------------------
{
char* Path = nsCRT::strdup(mPath);
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/xpcom/obsolete/nsFileSpecImpl.cpp
^
|
@@ -457,7 +457,7 @@
return mFileSpec.Error();
}
//----------------------------------------------------------------------------------------
-NS_IMETHODIMP nsFileSpecImpl::Truncate(PRInt32 aNewLength)
+NS_IMETHODIMP nsFileSpecImpl::Truncate(PRUint32 aNewLength)
//----------------------------------------------------------------------------------------
{
return mFileSpec.Truncate(aNewLength);
@@ -736,7 +736,7 @@
}
//----------------------------------------------------------------------------------------
-NS_IMETHODIMP nsFileSpecImpl::Tell(PRInt32 *_retval)
+NS_IMETHODIMP nsFileSpecImpl::Tell(PRUint32 *_retval)
//----------------------------------------------------------------------------------------
{
TEST_OUT_PTR(_retval)
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/xpcom/obsolete/nsFileSpecMac.cpp
^
|
@@ -991,7 +991,7 @@
} // nsFileSpec::RecursiveCopy
//----------------------------------------------------------------------------------------
-nsresult nsFileSpec::Truncate(PRInt32 aNewLength) const
+nsresult nsFileSpec::Truncate(PRUint32 aNewLength) const
//----------------------------------------------------------------------------------------
{
short refNum;
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/xpcom/obsolete/nsFileSpecOS2.cpp
^
|
@@ -583,7 +583,7 @@
//----------------------------------------------------------------------------------------
nsresult
-nsFileSpec::Truncate(PRInt32 aNewFileLength) const
+nsFileSpec::Truncate(PRUint32 aNewFileLength) const
//----------------------------------------------------------------------------------------
{
#ifdef XP_OS2
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/xpcom/obsolete/nsFileSpecUnix.cpp
^
|
@@ -372,7 +372,7 @@
//----------------------------------------------------------------------------------------
-nsresult nsFileSpec::Truncate(PRInt32 offset) const
+nsresult nsFileSpec::Truncate(PRUint32 offset) const
//----------------------------------------------------------------------------------------
{
char* Path = nsCRT::strdup(mPath);
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/xpcom/obsolete/nsFileSpecWin.cpp
^
|
@@ -520,11 +520,11 @@
//----------------------------------------------------------------------------------------
nsresult
-nsFileSpec::Truncate(PRInt32 aNewFileLength) const
+nsFileSpec::Truncate(PRUint32 aNewFileLength) const
//----------------------------------------------------------------------------------------
{
- DWORD status;
HANDLE hFile;
+ LARGE_INTEGER li;
// Leave it to Microsoft to open an existing file with a function
// named "CreateFile".
@@ -539,8 +539,12 @@
return NS_FILE_FAILURE;
// Seek to new, desired end of file
- status = SetFilePointer(hFile, aNewFileLength, NULL, FILE_BEGIN);
- if (status == 0xffffffff)
+ li.QuadPart = aNewFileLength;
+ li.LowPart = SetFilePointer(hFile,
+ li.LowPart,
+ &li.HighPart,
+ FILE_BEGIN);
+ if (0xffffffff == li.LowPart && GetLastError() != NO_ERROR)
goto error;
// Truncate file at current cursor position
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/xpcom/obsolete/nsFileStream.cpp
^
|
@@ -235,7 +235,7 @@
if (position < zero)
return PR_FALSE;
PRInt32 bytesRead = read(s, n - 1);
- if (failed())
+ if (failed() || bytesRead < 0)
return PR_FALSE;
s[bytesRead] = '\0'; // always terminate at the end of the buffer
char* tp = strpbrk(s, "\n\r");
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/xpcom/obsolete/nsIFileSpec.idl
^
|
@@ -131,7 +131,7 @@
void resolveSymlink();
void delete(in boolean recursive);
- void truncate(in long aNewLength);
+ void truncate(in unsigned long aNewLength);
void rename([const] in string newLeafName);
void copyToDir([const] in nsIFileSpec newParentDir);
void moveToDir([const] in nsIFileSpec newParentDir);
@@ -155,7 +155,7 @@
void flush();
void seek(in long offset);
- long tell();
+ unsigned long tell();
void endLine();
attribute AString unicodePath;
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/xpcom/obsolete/nsIFileStream.cpp
^
|
@@ -330,8 +330,11 @@
// To avoid corruption, we flush during a seek. see bug number 18949
InternalFlush(PR_FALSE);
+ const nsInt64 zero = 0;
nsInt64 position = PR_Seek64(mFileDesc, 0, PR_SEEK_CUR);
nsInt64 available = PR_Available64(mFileDesc);
+ if (position < zero || available < zero)
+ return NS_FILE_RESULT(PR_FILE_SEEK_ERROR);
nsInt64 fileSize = position + available;
nsInt64 newPosition = offset;
switch (whence)
@@ -340,7 +343,6 @@
case NS_SEEK_SET: ; break;
case NS_SEEK_END: newPosition += fileSize; break;
}
- const nsInt64 zero = 0;
if (newPosition < zero)
{
newPosition = 0;
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/xpcom/string/public/nsCharTraits.h
^
|
@@ -73,6 +73,37 @@
typedef PRBool nsCharTraits_bool;
#endif
+// Some macros for working with PRUnichar
+#define PLANE1_BASE PRUint32(0x00010000)
+// High surrogates are in the range 0xD800 -- OxDBFF
+#define IS_HIGH_SURROGATE(u) ((PRUnichar(u) & 0xFC00) == 0xD800)
+// Low surrogates are in the range 0xDC00 -- 0xDFFF
+#define IS_LOW_SURROGATE(u) ((PRUnichar(u) & 0xFC00) == 0xDC00)
+// Faster than testing IS_HIGH_SURROGATE || IS_LOW_SURROGATE
+#define IS_SURROGATE(u) ((PRUnichar(u) & 0xF800) == 0xD800)
+
+// Everything else is not a surrogate: 0x000 -- 0xD7FF, 0xE000 -- 0xFFFF
+
+// N = (H - 0xD800) * 0x400 + 0x10000 + (L - 0xDC00)
+// I wonder whether we could somehow assert that H is a high surrogate
+// and L is a low surrogate
+#define SURROGATE_TO_UCS4(h, l) (((PRUint32(h) & 0x03FF) << 10) + \
+ (PRUint32(l) & 0x03FF) + PLANE1_BASE)
+
+// Extract surrogates from a UCS4 char
+// See unicode specification 3.7 for following math.
+#define H_SURROGATE(c) PRUnichar(PRUnichar((PRUint32(c) - PLANE1_BASE) >> 10) | \
+ PRUnichar(0xD800))
+#define L_SURROGATE(c) PRUnichar(PRUnichar((PRUint32(c) - PLANE1_BASE) & 0x03FF) | \
+ PRUnichar(0xDC00))
+
+#define IS_IN_BMP(ucs) (PRUint32(ucs) < PLANE1_BASE)
+#define UCS2_REPLACEMENT_CHAR PRUnichar(0xFFFD)
+
+#define UCS_END PRUint32(0x00110000)
+#define IS_VALID_CHAR(c) ((PRUint32(c) < UCS_END) && !IS_SURROGATE(c))
+#define ENSURE_VALID_CHAR(c) (IS_VALID_CHAR(c) ? (c) : UCS2_REPLACEMENT_CHAR)
+
template <class CharT> struct nsCharTraits {};
NS_SPECIALIZE_TEMPLATE
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/xpcom/string/public/nsReadableUtils.h
^
|
@@ -371,5 +371,7 @@
return (aStr.Length() == aLen);
}
+NS_COM void
+AppendUCS4ToUTF16(const PRUint32 aSource, nsAString& aDest);
#endif // !defined(nsReadableUtils_h___)
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/xpcom/string/public/nsUTF8Utils.h
^
|
@@ -39,6 +39,8 @@
#ifndef nsUTF8Utils_h_
#define nsUTF8Utils_h_
+#include "nsCharTraits.h"
+
class UTF8traits
{
public:
@@ -51,9 +53,6 @@
static PRBool is6byte(char c) { return (c & 0xFE) == 0xFC; }
};
-#define PLANE1_BASE 0x00010000
-#define UCS2_REPLACEMENT_CHAR 0xfffd
-
#ifdef __GNUC__
#define NS_ALWAYS_INLINE __attribute__((always_inline))
#else
@@ -139,6 +138,14 @@
while ( state-- )
{
+ if (p == end)
+ {
+ NS_ERROR("Buffer ended in the middle of a multibyte sequence");
+ mErrorEncountered = PR_TRUE;
+ mBuffer = out;
+ return N;
+ }
+
c = *p++;
if ( UTF8traits::isInSeq(c) )
@@ -176,13 +183,11 @@
}
else if ( ucs4 >= PLANE1_BASE )
{
- if ( ucs4 >= 0x00110000 )
+ if ( ucs4 >= UCS_END )
*out++ = UCS2_REPLACEMENT_CHAR;
else {
- // surrogate, see unicode specification 3.7 for following math.
- ucs4 -= PLANE1_BASE;
- *out++ = (PRUnichar)(ucs4 >> 10) | 0xd800u;
- *out++ = (PRUnichar)(ucs4 & 0x3ff) | 0xdc00u;
+ *out++ = (buffer_type)H_SURROGATE(ucs4);
+ *out++ = (buffer_type)L_SURROGATE(ucs4);
}
}
else
@@ -308,17 +313,16 @@
*out++ = 0xC0 | (char)(c >> 6);
*out++ = 0x80 | (char)(0x003F & c);
}
- else if (0xD800 != (0xF800 & c)) // U+0800 - U+D7FF,U+E000 - U+FFFF
+ else if (!IS_SURROGATE(c)) // U+0800 - U+D7FF,U+E000 - U+FFFF
{
*out++ = 0xE0 | (char)(c >> 12);
*out++ = 0x80 | (char)(0x003F & (c >> 6));
*out++ = 0x80 | (char)(0x003F & c );
}
- else if (0xD800 == (0xFC00 & c)) // U+D800 - U+DBFF
+ else if (IS_HIGH_SURROGATE(c)) // U+D800 - U+DBFF
{
// D800- DBFF - High Surrogate
- // N = (H- D800) *400 + 10000 + ...
- PRUint32 ucs4 = 0x10000 + ((0x03FF & c) << 10);
+ value_type h = c;
++p;
if (p == end)
@@ -329,11 +333,11 @@
}
c = *p;
- if (0xDC00 == (0xFC00 & c))
+ if (IS_LOW_SURROGATE(c))
{
// DC00- DFFF - Low Surrogate
- // N += ( L - DC00 )
- ucs4 |= (0x03FF & c);
+ // N = (H - D800) *400 + 10000 + ( L - DC00 )
+ PRUint32 ucs4 = SURROGATE_TO_UCS4(h, c);
// 0001 0000-001F FFFF
*out++ = 0xF0 | (char)(ucs4 >> 18);
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/xpcom/string/src/nsReadableUtils.cpp
^
|
@@ -1094,3 +1094,19 @@
return sEmpty;
}
+
+NS_COM
+void
+AppendUCS4ToUTF16(const PRUint32 aSource, nsAString& aDest)
+ {
+ NS_ASSERTION(IS_VALID_CHAR(aSource), "Invalid UCS4 char");
+ if (IS_IN_BMP(aSource))
+ {
+ aDest.Append(PRUnichar(aSource));
+ }
+ else
+ {
+ aDest.Append(H_SURROGATE(aSource));
+ aDest.Append(L_SURROGATE(aSource));
+ }
+ }
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/xpfe/bootstrap/module.ver
^
|
@@ -1,7 +1,7 @@
WIN32_MODULE_COMPANYNAME=mozilla.org
WIN32_MODULE_COPYRIGHT=©Mozilla Developers, according to the MPL 1.1/GPL 2.0/LGPL 2.1 licenses, as applicable.
-WIN32_MODULE_PRODUCTVERSION=1,1,12,0
-WIN32_MODULE_PRODUCTVERSION_STRING=1.1.12pre
+WIN32_MODULE_PRODUCTVERSION=1,1,14,0
+WIN32_MODULE_PRODUCTVERSION_STRING=1.1.14pre
WIN32_MODULE_TRADEMARKS=SeaMonkey and Mozilla are trademarks of The Mozilla Foundation.
WIN32_MODULE_DESCRIPTION=@MOZ_APP_DISPLAYNAME@
WIN32_MODULE_PRODUCTNAME=@MOZ_APP_DISPLAYNAME@
|
[-]
[+]
|
Changed |
xulrunner-source-1.8.1.18.tar.bz2/xpfe/bootstrap/version.txt
^
|
@@ -1 +1 @@
-1.1.12pre
\ No newline at end of file
+1.1.14pre
\ No newline at end of file
|