commit MozillaFirefox for openSUSE:11.4
Hello community, here is the log from the commit of package MozillaFirefox for openSUSE:11.4 checked in at Sun Feb 27 12:37:46 CET 2011. -------- --- old-versions/11.4/all/MozillaFirefox/MozillaFirefox.changes 2011-02-09 08:47:19.000000000 +0100 +++ 11.4/MozillaFirefox/MozillaFirefox.changes 2011-02-23 10:27:44.000000000 +0100 @@ -1,0 +2,6 @@ +Wed Feb 23 07:52:04 UTC 2011 - wr@rosenauer.org + +- update to version 4.0b12 +- rebased patches + +------------------------------------------------------------------- calling whatdependson for 11.4-i586 Old: ---- firefox-4.0b11-source.tar.bz2 l10n-4.0b11.tar.bz2 New: ---- firefox-4.0b12-source.tar.bz2 l10n-4.0b12.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ MozillaFirefox.spec ++++++ --- /var/tmp/diff_new_pack.SVvCIb/_old 2011-02-27 12:36:30.000000000 +0100 +++ /var/tmp/diff_new_pack.SVvCIb/_new 2011-02-27 12:36:30.000000000 +0100 @@ -31,15 +31,15 @@ BuildRequires: wireless-tools %endif %if 0%{?use_xulrunner} -BuildRequires: %{xulrunner}-devel = 2.0b11 +BuildRequires: %{xulrunner}-devel = 2.0b12 %endif License: GPLv2+ ; LGPLv2.1+ ; MPLv1.1+ -Version: %{mainver}b11 -Release: 1 +Version: %{mainver}b12 +Release: 1.<RELEASE2> Provides: web_browser Provides: firefox = %{version}-%{release} Provides: firefox = %{mainver} -%define releasedate 2011020300 +%define releasedate 2011022200 Summary: Mozilla Firefox Web Browser Url: http://www.mozilla.org/ Group: Productivity/Networking/Web/Browsers @@ -137,7 +137,7 @@ %package translations-other Summary: Extra translations for MozillaFirefox License: GPLv2+ ; LGPLv2.1+ ; MPLv1.1+ -Provides: locale(%{name}:af;ak;ast;be;bg;bn_BD;br;cy;el;en_ZA;eo;et;eu;fy_NL;ga_IE;gd;gu_IN;he;hi_IN;hr;hy_AM;id;is;kk;kn;ku;lg;lt;lv;mai;mk;ml;mr;nn_NO;nso;or;pa_IN;rm;ro;si;sk;sl;son;sq;sr;ta;ta_LK;te;th;tr;uk) +Provides: locale(%{name}:af;ak;ast;be;bg;bn_BD;br;bs;cy;el;en_ZA;eo;es_MX;et;eu;fy_NL;ga_IE;gd;gl;gu_IN;he;hi_IN;hr;hy_AM;id;is;kk;kn;ku;lg;lt;lv;mai;mk;ml;mr;nn_NO;nso;or;pa_IN;rm;ro;si;sk;sl;son;sq;sr;ta;ta_LK;te;th;tr;uk;zu) Group: System/Localization Requires: %{name} = %{version} Obsoletes: %{name}-translations < %{version}-%{release} ++++++ compare-locales.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/compare-locales/lib/Mozilla/Checks.py new/compare-locales/lib/Mozilla/Checks.py --- old/compare-locales/lib/Mozilla/Checks.py 2011-02-04 10:10:07.000000000 +0100 +++ new/compare-locales/lib/Mozilla/Checks.py 2011-02-23 09:14:08.000000000 +0100 @@ -37,6 +37,7 @@ import re import itertools +import codecs from difflib import SequenceMatcher from xml import sax try: @@ -52,7 +53,7 @@ pattern = None def use(self, file): - return self.pattern.match(file) + return self.pattern.match(file.file) def check(self, refEnt, l10nEnt): '''Given the reference and localized Entities, performs checks. @@ -187,30 +188,40 @@ class DTDChecker(Checker): - '''Tests to run on DTD files. + """Tests to run on DTD files. Uses xml.sax for the heavy lifting of xml parsing. The code tries to parse until it doesn't find any unresolved entities anymore. If it finds one, it tries to grab the key, and adds an empty <!ENTITY key ""> definition to the header. - ''' + """ pattern = re.compile('.*\.dtd$') eref = re.compile('&(%s);' % DTDParser.Name) tmpl = '''<!DOCTYPE elem [%s]> -<elem> -%s -</elem> +<elem>%s</elem> ''' xmllist = set(('amp', 'lt', 'gt', 'apos', 'quot')) + # Setup for XML parser, with default and text-only content handler + parser = sax.make_parser() + class TextContent(sax.handler.ContentHandler): + textcontent = '' + def characters(self, content): + self.textcontent += content + + defaulthandler = sax.handler.ContentHandler() + texthandler = TextContent() + + processContent = None + def check(self, refEnt, l10nEnt): - '''Try to parse the refvalue inside a dummy element, and keep + """Try to parse the refvalue inside a dummy element, and keep track of entities that we need to define to make that work. Return a checker that offers just those entities. - ''' + """ refValue, l10nValue = refEnt.val, l10nEnt.val # find entities the refValue references, # reusing markup from DTDParser. @@ -218,9 +229,13 @@ for m in self.eref.finditer(refValue)) \ - self.xmllist entities = ''.join('<!ENTITY %s "">' % s for s in sorted(reflist)) - parser = sax.make_parser() + if self.processContent is None: + self.parser.setContentHandler(self.defaulthandler) + else: + self.texthandler.textcontent = '' + self.parser.setContentHandler(self.texthandler) try: - parser.parse(StringIO(self.tmpl % (entities, refValue.encode('utf-8')))) + self.parser.parse(StringIO(self.tmpl % (entities, refValue.encode('utf-8')))) except sax.SAXParseException, e: yield ('warning', (0,0), @@ -237,29 +252,106 @@ if reflist: warntmpl += ' (%s known)' % ', '.join(sorted(reflist)) try: - parser.parse(StringIO(self.tmpl % (_entities, l10nValue.encode('utf-8')))) + if self.processContent is not None: + self.texthandler.textcontent = '' + self.parser.parse(StringIO(self.tmpl % (_entities, l10nValue.encode('utf-8')))) except sax.SAXParseException, e: # xml parse error, yield error # sometimes, the error is reported on our fake closing # element, make that the end of the last line - lnr = e.getLineNumber() - 2 + lnr = e.getLineNumber() - 1 lines = l10nValue.splitlines() if lnr > len(lines): lnr = len(lines) col = len(lines[lnr-1]) else: col = e.getColumnNumber() + if lnr == 1: + col -= len("<elem>") # first line starts with <elem>, substract yield ('error', (lnr, col), ' '.join(e.args)) for key in missing: yield ('warning', (0,0), warntmpl % key) + if self.processContent is not None: + for t in self.processContent(self.texthandler.textcontent): + yield t -__checks = [DTDChecker(), PropertiesChecker()] + +class PrincessAndroid(DTDChecker): + """Checker for the string values that Android puts into an XML container. + + http://developer.android.com/guide/topics/resources/string-resource.html#For... + has more info. Check for unescaped apostrophes and bad unicode escapes. + """ + quoted = re.compile("(?P<q>[\"']).*(?P=q)$") + def unicode_escape(self, str): + """Helper method to try to decode all unicode escapes in a string. + + This code uses the standard python decode for unicode-escape, but that's + somewhat tricky, as its input needs to be ascii. To get to ascii, the + unicode string gets converted to ascii with backslashreplace, i.e., + all non-ascii unicode chars get unicode escaped. And then we try to roll + all of that back. + Now, when that hits an error, that's from the original string, and we need + to search for the actual error position in the original string, as the + backslashreplace code changes string positions quite badly. See also the + last check in TestAndroid.test_android_dtd, with a lengthy chinese string. + """ + val = str.encode('ascii', 'backslashreplace') + try: + val.decode('unicode-escape') + except UnicodeDecodeError, e: + args = list(e.args) + badstring = args[1][args[2]:args[3]] + i = str.rindex(badstring, 0, args[3]) + args[2] = i + args[3] = i + len(badstring) + raise UnicodeDecodeError(*args) + def use(self, file): + """Use this Checker only for DTD files in embedding/android.""" + return (file.module == "embedding/android") and DTDChecker.pattern.match(file.file) + def processContent(self, val): + """Actual check code. + Check for unicode escapes and unescaped quotes and apostrophes, if string's not quoted. + """ + # first, try to decode unicode escapes + try: + self.unicode_escape(val) + except UnicodeDecodeError, e: + yield ('error', e.args[2], e.args[4]) + # check for unescaped single or double quotes. + # first, see if the complete string is single or double quoted, that changes the rules + m = self.quoted.match(val) + if m: + q = m.group('q') + offset = 0 + val = val[1:-1] # strip quotes + else: + q = "[\"']" + offset = -1 + stray_quot = re.compile(r"[\\\\]*(%s)" % q) + + for m in stray_quot.finditer(val): + if len(m.group(0)) % 2: + # found an unescaped single or double quote, which message? + msg = m.group(1) == '"' and u"Quotes in Android DTDs need escaping with \\\" or \\u0022, or put string in apostrophes." \ + or u"Apostrophes in Android DTDs need escaping with \\' or \\u0027, or use \u2019, or put string in quotes." + yield ('error', m.end(0)+offset, msg) + + +class __checks: + props = PropertiesChecker() + android_dtd = PrincessAndroid() + dtd = DTDChecker() def getChecks(file): - checks = map(lambda c: c.check, filter(lambda c: c.use(file), __checks)) - def _checks(refEnt, l10nEnt): - return itertools.chain(*[c(refEnt, l10nEnt) for c in checks]) - return _checks + check = None + if __checks.props.use(file): + check = __checks.props.check + elif __checks.android_dtd.use(file): + check = __checks.android_dtd.check + elif __checks.dtd.use(file): + check = __checks.dtd.check + return check diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/compare-locales/lib/Mozilla/CompareLocales.py new/compare-locales/lib/Mozilla/CompareLocales.py --- old/compare-locales/lib/Mozilla/CompareLocales.py 2011-02-04 10:10:07.000000000 +0100 +++ new/compare-locales/lib/Mozilla/CompareLocales.py 2011-02-23 09:14:08.000000000 +0100 @@ -425,9 +425,9 @@ f.write(''.join(map(ensureNewline,trailing))) f.close() def notify(self, category, file, data): - '''Check filterObserver for the found data, and if it's + """Check filterObserver for the found data, and if it's not to ignore, notify observers. - ''' + """ rv = self.filterObserver.notify(category, file, data) if rv == 'ignore': return rv @@ -441,7 +441,7 @@ def compare(self, ref_file, l10n): try: p = Parser.getParser(ref_file.file) - checks = Checks.getChecks(ref_file.file) + checks = Checks.getChecks(ref_file) except UserWarning: # no comparison, XXX report? return @@ -575,7 +575,7 @@ # overload this if needed pass -def compareApp(app, otherObserver = None, merge_stage = None): +def compareApp(app, otherObserver = None, merge_stage = None, clobber = False): '''Compare locales set in app. Optional arguments are: @@ -584,6 +584,8 @@ The return values of that callback are ignored. - merge_stage. A directory to be used for staging the output of l10n-merge. + - clobber. Clobber the module subdirectories of the merge dir as we go. + Use wisely, as it might cause data loss. ''' o = Observer() cc = ContentComparer(o) @@ -592,6 +594,12 @@ cc.set_merge_stage(merge_stage) o.filter = app.filter for module, reference, locales in app: + if merge_stage is not None and clobber: + # if clobber and merge is on, remove the stage for the module if it exists + clobberdir = os.path.join(merge_stage, module) + if os.path.exists(clobberdir): + shutil.rmtree(clobberdir) + print "clobbered " + clobberdir dc = DirectoryCompare(reference) dc.setWatcher(cc) for locale, localization in locales: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/compare-locales/lib/Mozilla/tests/unitChecks.py new/compare-locales/lib/Mozilla/tests/unitChecks.py --- old/compare-locales/lib/Mozilla/tests/unitChecks.py 2011-02-04 10:10:07.000000000 +0100 +++ new/compare-locales/lib/Mozilla/tests/unitChecks.py 2011-02-23 09:14:08.000000000 +0100 @@ -1,29 +1,30 @@ import unittest from Mozilla.Checks import getChecks -from Mozilla.Parser import getParser +from Mozilla.Parser import getParser, Entity +from Mozilla.Paths import File class BaseHelper(unittest.TestCase): - filename = None + file = None refContent = None def setUp(self): - p = getParser(self.filename) + p = getParser(self.file.file) p.readContents(self.refContent) self.refs = [e for e in p] def _test(self, content, refWarnOrErrors): - p = getParser(self.filename) + p = getParser(self.file.file) p.readContents(content) l10n = [e for e in p] - checks = getChecks(self.filename) + checks = getChecks(self.file) found = tuple(checks(self.refs[0], l10n[0])) self.assertEqual(found, refWarnOrErrors) class TestPlurals(BaseHelper): - filename = 'foo.properties' + file = File('foo.properties', 'foo.properties') refContent = '''# LOCALIZATION NOTE (downloadsTitleFiles): Semi-colon list of plural forms. # See: http://developer.mozilla.org/en/docs/Localization_and_Plurals # #1 number of files @@ -60,18 +61,147 @@ class TestDTDs(BaseHelper): - filename = 'foo.dtd' + file = File('foo.dtd', 'foo.dtd') refContent = '''<!ENTITY foo "This is 'good'"> ''' def testWarning(self): self._test('''<!ENTITY foo "This is ¬ good"> ''', (('warning',(0,0),'Referencing unknown entity `not`'),)) + def testErrorFirstLine(self): + self._test('''<!ENTITY foo "This is </bad> stuff"> +''', + (('error',(1,10),'mismatched tag'),)) + def testErrorSecondLine(self): + self._test('''<!ENTITY foo "This is + </bad> +stuff"> +''', + (('error',(2,4),'mismatched tag'),)) def testXMLEntity(self): self._test('''<!ENTITY foo "This is "good""> ''', tuple()) +class TestAndroid(unittest.TestCase): + """Test Android checker + + Make sure we're hitting our extra rules only if + we're passing in a DTD file in the embedding/android module. + """ + apos_msg = u"Apostrophes in Android DTDs need escaping with \\' or \\u0027, " + \ + u"or use \u2019, or put string in quotes." + quot_msg = u"Quotes in Android DTDs need escaping with \\\" or \\u0022, " + \ + u"or put string in apostrophes." + def getEntity(self, v): + return Entity(v, lambda s: s, (0, len(v)), (), (0, 0), (), (), (0, len(v)), ()) + def test_android_dtd(self): + """Testing the actual android checks. The logic is involved, so this is a lot + of nitty gritty detail tests. + """ + f = File("embedding/android/strings.dtd", "strings.dtd", "embedding/android") + checks = getChecks(f) + # good string + ref = self.getEntity("plain string") + l10n = self.getEntity("plain localized string") + self.assertEqual(tuple(checks(ref, l10n)), + ()) + # dtd warning + l10n = self.getEntity("plain localized string &ref;") + self.assertEqual(tuple(checks(ref, l10n)), + (('warning', (0, 0), 'Referencing unknown entity `ref`'),)) + # no report on stray ampersand or quote, if not completely quoted + for i in xrange(3): + # make sure we're catching unescaped apostrophes, try 0..5 backticks + l10n = self.getEntity("\\"*(2*i) + "'") + self.assertEqual(tuple(checks(ref, l10n)), + (('error', 2*i, self.apos_msg),)) + l10n = self.getEntity("\\"*(2*i + 1) + "'") + self.assertEqual(tuple(checks(ref, l10n)), + ()) + # make sure we don't report if apos string is quoted + l10n = self.getEntity('"' + "\\"*(2*i) + "'\"") + tpl = tuple(checks(ref, l10n)) + self.assertEqual(tpl, (), "`%s` shouldn't fail but got %s" % (l10n.val, str(tpl))) + l10n = self.getEntity('"' + "\\"*(2*i+1) + "'\"") + tpl = tuple(checks(ref, l10n)) + self.assertEqual(tpl, (), "`%s` shouldn't fail but got %s" % (l10n.val, str(tpl))) + # make sure we're catching unescaped quotes, try 0..5 backticks + l10n = self.getEntity("\\"*(2*i) + "\"") + self.assertEqual(tuple(checks(ref, l10n)), + (('error', 2*i, self.quot_msg),)) + l10n = self.getEntity("\\"*(2*i + 1) + "'") + self.assertEqual(tuple(checks(ref, l10n)), + ()) + # make sure we don't report if quote string is single quoted + l10n = self.getEntity("'" + "\\"*(2*i) + "\"'") + tpl = tuple(checks(ref, l10n)) + self.assertEqual(tpl, (), "`%s` shouldn't fail but got %s" % (l10n.val, str(tpl))) + l10n = self.getEntity('"' + "\\"*(2*i+1) + "'\"") + tpl = tuple(checks(ref, l10n)) + self.assertEqual(tpl, (), "`%s` shouldn't fail but got %s" % (l10n.val, str(tpl))) + # check for mixed quotes and ampersands + l10n = self.getEntity("'\"") + self.assertEqual(tuple(checks(ref, l10n)), + (('error', 0, self.apos_msg), + ('error', 1, self.quot_msg))) + l10n = self.getEntity("''\"'") + self.assertEqual(tuple(checks(ref, l10n)), + (('error', 1, self.apos_msg),)) + l10n = self.getEntity('"\'""') + self.assertEqual(tuple(checks(ref, l10n)), + (('error', 2, self.quot_msg),)) + + # broken unicode escape + l10n = self.getEntity("Some broken \u098 unicode") + self.assertEqual(tuple(checks(ref, l10n)), + (('error', 12, 'truncated \\uXXXX escape'),)) + # broken unicode escape, try to set the error off + l10n = self.getEntity(u"\u9690"*14+"\u006"+" "+"\u0064") + self.assertEqual(tuple(checks(ref, l10n)), + (('error', 14, 'truncated \\uXXXX escape'),)) + def test_android_prop(self): + f = File("embedding/android/strings.properties", "strings.properties", "embedding/android") + checks = getChecks(f) + # good plain string + ref = self.getEntity("plain string") + l10n = self.getEntity("plain localized string") + self.assertEqual(tuple(checks(ref, l10n)), + ()) + # no dtd warning + ref = self.getEntity("plain string") + l10n = self.getEntity("plain localized string &ref;") + self.assertEqual(tuple(checks(ref, l10n)), + ()) + # no report on stray ampersand + ref = self.getEntity("plain string") + l10n = self.getEntity("plain localized string with apos: '") + self.assertEqual(tuple(checks(ref, l10n)), + ()) + # report on bad printf + ref = self.getEntity("string with %s") + l10n = self.getEntity("string with %S") + self.assertEqual(tuple(checks(ref, l10n)), + (('error', 0, 'argument 1 `S` should be `s`'),)) + def test_non_android_dtd(self): + f = File("browser/strings.dtd", "strings.dtd", "browser") + checks = getChecks(f) + # good string + ref = self.getEntity("plain string") + l10n = self.getEntity("plain localized string") + self.assertEqual(tuple(checks(ref, l10n)), + ()) + # dtd warning + ref = self.getEntity("plain string") + l10n = self.getEntity("plain localized string &ref;") + self.assertEqual(tuple(checks(ref, l10n)), + (('warning', (0, 0), 'Referencing unknown entity `ref`'),)) + # no report on stray ampersand + ref = self.getEntity("plain string") + l10n = self.getEntity("plain localized string with apos: '") + self.assertEqual(tuple(checks(ref, l10n)), + ()) + if __name__ == '__main__': unittest.main() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/compare-locales/scripts/compare-locales new/compare-locales/scripts/compare-locales --- old/compare-locales/scripts/compare-locales 2011-02-04 10:10:07.000000000 +0100 +++ new/compare-locales/scripts/compare-locales 2011-02-23 09:14:08.000000000 +0100 @@ -57,6 +57,12 @@ 'localization. [default: en-US]') parser.add_option('-m', '--merge', help='Use this directory to stage merged files') +parser.add_option('--clobber-merge', action="store_true", default=False, dest='clobber', + help="""WARNING: DATALOSS. +Use this option with care. If specified, the merge directory will +be clobbered for each module. That means, the subdirectory will +be completely removed, any files that were there are lost. +Be careful to specify the right merge directory when using this option.""") parser.add_option('--json', action='store_true', dest='json', help='Dump just summary as exhibit JSON') @@ -73,7 +79,11 @@ app = EnumerateApp(inipath, l10nbase, locales) app.reference = options.reference -o = compareApp(app, merge_stage = options.merge) +try: + o = compareApp(app, merge_stage = options.merge, clobber = options.clobber) +except (OSError, IOError), e: + print "FAIL: " + str(e) + parser.exit(2) so = {} if options.json: so['type']='application/json' ++++++ firefox-4.0b11-source.tar.bz2 -> firefox-4.0b12-source.tar.bz2 ++++++ old-versions/11.4/all/MozillaFirefox/firefox-4.0b11-source.tar.bz2 11.4/MozillaFirefox/firefox-4.0b12-source.tar.bz2 differ: char 11, line 1 ++++++ firefox-browser-css.patch ++++++ --- /var/tmp/diff_new_pack.SVvCIb/_old 2011-02-27 12:36:30.000000000 +0100 +++ /var/tmp/diff_new_pack.SVvCIb/_new 2011-02-27 12:36:30.000000000 +0100 @@ -9,13 +9,13 @@ diff --git a/browser/themes/gnomestripe/browser/browser.css b/browser/themes/gnomestripe/browser/browser.css --- a/browser/themes/gnomestripe/browser/browser.css +++ b/browser/themes/gnomestripe/browser/browser.css -@@ -990,16 +990,30 @@ toolbar[iconsize="small"] #feed-button { +@@ -954,16 +954,30 @@ toolbar[iconsize="small"] #feed-button { } - .urlbar-over-link-host-label, - .urlbar-over-link-path-label { - padding: 0; - margin: 0; + #urlbar-display { + margin-top: 0; + margin-bottom: 0; + color: GrayText; } +#PopupAutoCompleteRichResult .autocomplete-richlistitem { ++++++ firefox-kde.patch ++++++ --- /var/tmp/diff_new_pack.SVvCIb/_old 2011-02-27 12:36:31.000000000 +0100 +++ /var/tmp/diff_new_pack.SVvCIb/_new 2011-02-27 12:36:31.000000000 +0100 @@ -23,7 +23,7 @@ new file mode 100644 --- /dev/null +++ b/browser/base/content/browser-kde.xul -@@ -0,0 +1,1066 @@ +@@ -0,0 +1,1077 @@ +#filter substitution +<?xml version="1.0"?> +# -*- Mode: HTML -*- @@ -151,7 +151,7 @@ + <menu id="context_tabViewMenu" label="&moveToGroup.label;" + accesskey="&moveToGroup.accesskey;"> + <menupopup id="context_tabViewMenuPopup" -+ onpopupshowing="if (event.target == this) TabView.updateContextMenu(TabContextMenu.contextTab, this);"> ++ onpopupshowing="if (event.target == this) TabView.moveToGroupPopupShowing(event);"> + <menuseparator id="context_tabViewNamedGroups" hidden="true"/> + <menuitem id="context_tabViewNewGroup" label="&moveToNewGroup.label;" + oncommand="TabView.moveTabTo(TabContextMenu.contextTab, null);"/> @@ -493,6 +493,8 @@ + defaultmode="icons" mode="icons" +#ifdef WINCE + defaulticonsize="small" iconsize="small" ++#else ++ iconsize="large" +#endif + tabsontop="true" + persist="tabsontop"> @@ -868,7 +870,16 @@ + tooltiptext="&listAllTabs.label;" + removable="true"> + <menupopup id="alltabs-popup" -+ position="after_end"/> ++ position="after_end"> ++ <menuitem id="menu_tabview" ++ class="menuitem-iconic" ++ key="key_tabview" ++ label="&viewTabGroups.label;" ++ command="Browser:ToggleTabView" ++ observes="tabviewGroupsNumber" ++ keepme="true"/> ++ <menuseparator id="alltabs-popup-separator" keepme="true"/> ++ </menupopup> + </toolbarbutton> + + <toolbarbutton id="tabs-closebutton" @@ -1026,7 +1037,7 @@ + <toolbarbutton id="addonbar-closebutton" + tooltiptext="&addonBarCloseButton.tooltip;" + oncommand="setToolbarVisibility(this.parentNode, false);"/> -+ <statusbar id="status-bar"/> ++ <statusbar id="status-bar" ordinal="1000"/> + </toolbar> + </vbox> + @@ -1096,7 +1107,7 @@ @@ -22,16 +22,18 @@ browser.jar: * content/browser/aboutHome.css (content/aboutHome.css) content/browser/aboutHome-restore-icon.png (content/aboutHome-restore-icon.png) - content/browser/aboutHome-restore-icon-rtl.png (content/aboutHome-restore-icon-rtl.png) + content/browser/aboutHome-restore-icon-small.png (content/aboutHome-restore-icon-small.png) content/browser/aboutRobots-icon.png (content/aboutRobots-icon.png) content/browser/aboutRobots-widget-left.png (content/aboutRobots-widget-left.png) * content/browser/browser.css (content/browser.css) ++++++ firefox-shellservice.patch ++++++ --- /var/tmp/diff_new_pack.SVvCIb/_old 2011-02-27 12:36:31.000000000 +0100 +++ /var/tmp/diff_new_pack.SVvCIb/_new 2011-02-27 12:36:31.000000000 +0100 @@ -1,5 +1,5 @@ # HG changeset patch -# Parent e46704258210bc68bc65773f60a0d32cb2ce767d +# Parent 948830682920db68e4b039f5babc34dea0040415 Bug 611953 - GNOME 3.0 readiness (based on patch 3) diff --git a/browser/components/shell/src/nsGNOMEShellService.cpp b/browser/components/shell/src/nsGNOMEShellService.cpp @@ -217,7 +217,7 @@ nsresult rv; - nsCOMPtr<nsIGIOService> giovfs = - do_GetService(NS_GIOSERVICE_CONTRACTID, &rv); -- NS_ENSURE_SUCCESS(rv, rv); +- NS_ENSURE_SUCCESS(rv, NS_OK); + unsigned int i; nsCOMPtr<nsIStringBundleService> bundleService = ++++++ l10n-4.0b11.tar.bz2 -> l10n-4.0b12.tar.bz2 ++++++ old-versions/11.4/all/MozillaFirefox/l10n-4.0b11.tar.bz2 11.4/MozillaFirefox/l10n-4.0b12.tar.bz2 differ: char 11, line 1 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@hilbert.suse.de