Browse Source

Fixes and bug numbers

Frank-Rainer Grahl 6 days ago
parent
commit
a9108f643e

+ 1 - 1
comm-release/patches/1909858-venkman-25319.patch

@@ -2,7 +2,7 @@
 # User Frank-Rainer Grahl <frgrahl@gmx.net>
 # User Frank-Rainer Grahl <frgrahl@gmx.net>
 # Date 1721471057 -7200
 # Date 1721471057 -7200
 # Parent  a60520df982faa147221a8b1f480b192ed360d43
 # Parent  a60520df982faa147221a8b1f480b192ed360d43
-Bug 1909858 -Remove unused venkman overlay from DOMi. r=IanN a=IanN
+Bug 1909858 - Remove unused venkman overlay from DOMi. r=IanN a=IanN
 
 
 diff --git a/suite/extensions/inspector/resources/content/venkmanOverlay.xul b/suite/extensions/inspector/resources/content/venkmanOverlay.xul
 diff --git a/suite/extensions/inspector/resources/content/venkmanOverlay.xul b/suite/extensions/inspector/resources/content/venkmanOverlay.xul
 deleted file mode 100644
 deleted file mode 100644

+ 1 - 1
comm-release/patches/9999999-wikiico-25320.patch → comm-release/patches/1925021-wikiico-25320.patch

@@ -2,7 +2,7 @@
 # User Frank-Rainer Grahl <frgrahl@gmx.net>
 # User Frank-Rainer Grahl <frgrahl@gmx.net>
 # Date 1726159723 -7200
 # Date 1726159723 -7200
 # Parent  977092b0948ce214739cc84ecbffecaacf6cf08f
 # Parent  977092b0948ce214739cc84ecbffecaacf6cf08f
-Bug 9999999 - Update wikipedia search icon. r=mIanN a=IanN
+Bug 1925021 - Update wikipedia search icon. r=IanN a=IanN
 
 
 Adds an 48x48 image.
 Adds an 48x48 image.
 
 

+ 1 - 1
comm-release/patches/9999999-handler-25320.patch → comm-release/patches/1925023-handler-25320.patch

@@ -2,7 +2,7 @@
 # User Frank-Rainer Grahl <frgrahl@gmx.net>
 # User Frank-Rainer Grahl <frgrahl@gmx.net>
 # Date 1727713945 -7200
 # Date 1727713945 -7200
 # Parent  b12d9beb551c25fcc88a8e96d7fea1eb00ae0420
 # Parent  b12d9beb551c25fcc88a8e96d7fea1eb00ae0420
-Bug 9999999 - Register as handler for media types. r=IanN a=IanN
+Bug 1925023 - Register as handler for media types. r=IanN a=IanN
 
 
 Register as default svg and webp handler. Register other media types if no
 Register as default svg and webp handler. Register other media types if no
 handler exists.
 handler exists.

+ 9 - 7
comm-release/patches/9999999-specificsearch-25320.patch → comm-release/patches/1925025-specificsearch-25320.patch

@@ -1,8 +1,8 @@
 # HG changeset patch
 # HG changeset patch
 # User Frank-Rainer Grahl <frgrahl@gmx.net>
 # User Frank-Rainer Grahl <frgrahl@gmx.net>
 # Date 1728560456 -7200
 # Date 1728560456 -7200
-# Parent  4b0fef9da7c68d81e40434dd28956e6282f3d12b
-Bug 9999999 - Show specfic placeholders for bookmarks and history in sidebar search. r=IanN a=IanN
+# Parent  2b7ee2823a4748e210f8fbb17239999bf5ae2505
+Bug 1925025 - Show specific placeholders for bookmarks and history in sidebar search. r=IanN a=IanN
 
 
 See Bug 1400975 "Add specific placeholders for the sidebar search boxes".
 See Bug 1400975 "Add specific placeholders for the sidebar search boxes".
 
 
@@ -19,7 +19,7 @@ diff --git a/suite/components/places/content/bookmarksPanel.xul b/suite/componen
    <hbox id="sidebar-search-container" align="center">
    <hbox id="sidebar-search-container" align="center">
      <textbox id="search-box" flex="1" type="search"
      <textbox id="search-box" flex="1" type="search"
 -             placeholder="&search.placeholder;"
 -             placeholder="&search.placeholder;"
-+             placeholder="&bookmarksSearch.placeholder;"
++             placeholder="&searchBookmarks.placeholder;"
               aria-controls="bookmarks-view"
               aria-controls="bookmarks-view"
               oncommand="searchBookmarks(this.value);"/>
               oncommand="searchBookmarks(this.value);"/>
    </hbox>
    </hbox>
@@ -41,7 +41,7 @@ diff --git a/suite/components/places/content/history-panel.xul b/suite/component
    <hbox id="sidebar-search-container" align="center">
    <hbox id="sidebar-search-container" align="center">
      <textbox id="search-box" flex="1" type="search"
      <textbox id="search-box" flex="1" type="search"
 -             placeholder="&search.placeholder;"
 -             placeholder="&search.placeholder;"
-+             placeholder="&historySearch.placeholder;"
++             placeholder="&searchHistory.placeholder;"
               aria-controls="historyTree"
               aria-controls="historyTree"
               oncommand="searchHistory(this.value);"/>
               oncommand="searchHistory(this.value);"/>
      <button id="viewButton" style="min-width:0px !important;" type="menu"
      <button id="viewButton" style="min-width:0px !important;" type="menu"
@@ -53,7 +53,7 @@ diff --git a/suite/components/places/content/history-panel.xul b/suite/component
 diff --git a/suite/locales/en-US/chrome/common/places/places.dtd b/suite/locales/en-US/chrome/common/places/places.dtd
 diff --git a/suite/locales/en-US/chrome/common/places/places.dtd b/suite/locales/en-US/chrome/common/places/places.dtd
 --- a/suite/locales/en-US/chrome/common/places/places.dtd
 --- a/suite/locales/en-US/chrome/common/places/places.dtd
 +++ b/suite/locales/en-US/chrome/common/places/places.dtd
 +++ b/suite/locales/en-US/chrome/common/places/places.dtd
-@@ -77,17 +77,18 @@
+@@ -77,17 +77,20 @@
  <!ENTITY col.tags.label          "Tags">
  <!ENTITY col.tags.label          "Tags">
  <!ENTITY col.url.label           "Location">
  <!ENTITY col.url.label           "Location">
  <!ENTITY col.mostrecentvisit.label "Most Recent Visit">
  <!ENTITY col.mostrecentvisit.label "Most Recent Visit">
@@ -63,8 +63,10 @@ diff --git a/suite/locales/en-US/chrome/common/places/places.dtd b/suite/locales
  <!ENTITY col.lastmodified.label  "Last Modified">
  <!ENTITY col.lastmodified.label  "Last Modified">
  
  
 -<!ENTITY search.placeholder  "Search">
 -<!ENTITY search.placeholder  "Search">
-+<!ENTITY bookmarksSearch.placeholder  "Search bookmarks">
-+<!ENTITY historySearch.placeholder  "Search history">
++<!-- LOCALIZATION NOTE (searchBookmarks.placeholder): Should match searchBookmarks in places.properties" -->
++<!ENTITY searchBookmarks.placeholder  "Search bookmarks">
++<!-- LOCALIZATION NOTE (searchHistory.placeholder): Should match searchHistory in places.properties" -->
++<!ENTITY searchHistory.placeholder  "Search history">
  
  
  <!ENTITY cmd.find.key  "f">
  <!ENTITY cmd.find.key  "f">
  
  

+ 1 - 1
comm-release/patches/9999999-focus-25320.patch → comm-release/patches/1925033-focus-25320.patch

@@ -2,7 +2,7 @@
 # User Frank-Rainer Grahl <frgrahl@gmx.net>
 # User Frank-Rainer Grahl <frgrahl@gmx.net>
 # Date 1728593214 -7200
 # Date 1728593214 -7200
 # Parent  1aea0bb1f37deeef853d7307272702b70a083e32
 # Parent  1aea0bb1f37deeef853d7307272702b70a083e32
-Bug 9999999 - Use Services.focus for bookmarking from mailnews. r=IanN a=IanN
+Bug 1925033 - Use Services.focus for bookmarking from mailnews. r=IanN a=IanN
 
 
 diff --git a/suite/components/places/PlacesUIUtils.jsm b/suite/components/places/PlacesUIUtils.jsm
 diff --git a/suite/components/places/PlacesUIUtils.jsm b/suite/components/places/PlacesUIUtils.jsm
 --- a/suite/components/places/PlacesUIUtils.jsm
 --- a/suite/components/places/PlacesUIUtils.jsm

+ 361 - 0
comm-release/patches/1925037-switchToTabHavingURI-25320.patch

@@ -0,0 +1,361 @@
+# HG changeset patch
+# User Frank-Rainer Grahl <frgrahl@gmx.net>
+# Date 1729077928 -7200
+# Parent  f7d4d44c38a4243fe43c572c2203446239bc637a
+Bug 1925037 - Pass optional parameters to switchToTabHavingURI as an array. r=IanN a=IanN
+
+Aligns the call syntax with Firefox and toolkit usage.
+
+Drive by fixes: Undefined e.button warning in strict mode and a trailing blank removal.
+
+diff --git a/suite/base/content/tasksOverlay.js b/suite/base/content/tasksOverlay.js
+--- a/suite/base/content/tasksOverlay.js
++++ b/suite/base/content/tasksOverlay.js
+@@ -39,39 +39,47 @@ function toDataManager(aView)
+   if (useDlg) {
+     var url = "chrome://communicator/content/dataman/dataman.xul";
+     var win = toOpenWindowByType("data:manager", url, "", aView);
+     if (win && aView)
+       win.gDataman.loadView(aView);
+     return;
+   }
+ 
+-  switchToTabHavingURI("about:data", true, function(browser) {
+-    if (aView)
+-      browser.contentWindow.wrappedJSObject.gDataman.loadView(aView);
++  switchToTabHavingURI("about:data", true, {
++    browserCallback: function(browser) {
++      if (aView) {
++        browser.contentWindow.wrappedJSObject.gDataman.loadView(aView);
++      }
++    }
+   });
+ }
+ 
+ function toEM(aView)
+ {
+   var useDlg = Services.prefs.getBoolPref("suite.manager.addons.openAsDialog");
+ 
+   if (useDlg) {
+     var view = aView ? { view: aView } : null;
+     var url = "chrome://mozapps/content/extensions/extensions.xul";
+     var win = toOpenWindowByType("Addons:Manager", url, "", view);
+     if (win && aView)
+       win.loadView(aView);
+     return;
+   }
+ 
+-  switchToTabHavingURI("about:addons", true, function(browser) {
+-    if (aView)
+-      browser.contentWindow.wrappedJSObject.loadView(aView);
++  switchToTabHavingURI("about:addons", true, {
++    triggeringPrincipal: Services.scriptSecurityManager.getSystemPrincipal(),
++    browserCallback: function(browser) {
++      if (aView) {
++        browser.contentWindow.wrappedJSObject.loadView(aView);
++      }
++    }
+   });
++
+ }
+ 
+ function toBookmarksManager()
+ {
+   toOpenWindowByType("Places:Organizer",
+                      "chrome://communicator/content/places/places.xul");
+ }
+ 
+diff --git a/suite/base/content/utilityOverlay.js b/suite/base/content/utilityOverlay.js
+--- a/suite/base/content/utilityOverlay.js
++++ b/suite/base/content/utilityOverlay.js
+@@ -1406,17 +1406,17 @@ function whereToOpenLink(e, ignoreButton
+     return "current";
+ 
+   var shift = e.shiftKey;
+   var ctrl = e.ctrlKey;
+   var meta = e.metaKey;
+   var alt = e.altKey && !ignoreSave;
+ 
+   // ignoreButton allows "middle-click paste" to use function without always opening in a new window.
+-  var middle = !ignoreButton && e.button == 1;
++  var middle = !ignoreButton && e.button && e.button == 1;
+ 
+   // Don't do anything special with right-mouse clicks.  They're probably clicks on context menu items.
+ 
+   // On macOS ctrl is not evaluated.
+   var metaKey = AppConstants.platform == "macosx" ? meta : ctrl;
+ 
+   if (metaKey || middle) {
+     if (Services.prefs.getBoolPref("browser.tabs.opentabfor.middleclick", true))
+@@ -1701,17 +1701,17 @@ function openUILinkArrayIn(urlArray, whe
+   var w = getTopWin();
+ 
+   if (!w || where == "window") {
+     return window.openDialog(getBrowserURL(), "_blank", "chrome,all,dialog=no",
+                              urlArray.join("\n"), // Pretend that we're a home page group
+                              null, null, null, allowThirdPartyFixup);
+   }
+ 
+-  var loadInBackground = 
++  var loadInBackground =
+     Services.prefs.getBoolPref("browser.tabs.loadInBackground");
+ 
+   var browser = w.getBrowser();
+   switch (where) {
+   case "current":
+     w.loadURI(urlArray[0], null, null, allowThirdPartyFixup);
+     w.content.focus();
+     break;
+@@ -1728,76 +1728,177 @@ function openUILinkArrayIn(urlArray, whe
+   var relatedToCurrent = where == "current";
+   for (var i = 1; i < urlArray.length; i++)
+     browser.addTab(urlArray[i], {allowThirdPartyFixup: allowThirdPartyFixup, relatedToCurrent: relatedToCurrent});
+ 
+   return w;
+ }
+ 
+ /**
+- * Switch to a tab that has a given URI, and focusses its browser window.
+- * If a matching tab is in this window, it will be switched to. Otherwise, other
+- * windows will be searched.
++ * Switch to a tab that has a given URI, and focuses its browser window.
++ * If a matching tab is in this window, it will be switched to. Otherwise,
++ *  other windows will be searched.
+  *
+  * @param aURI
+  *        URI to search for
+  * @param aOpenNew
+- *        True to open a new tab and switch to it, if no existing tab is found
+- * @param A callback to call when the tab is open, the tab's browser will be
+- *        passed as an argument
+- * @return True if a tab was switched to (or opened), false otherwise
++ *        True to open a new tab and switch to it, if no existing tab is found.
++ *        If no suitable window is found, a new one will be opened.
++ * @param aOpenParams
++ *        If switching to this URI results in us opening a tab, aOpenParams
++ *        will be the parameter object that gets passed to openUILinkIn. Please
++ *        see the documentation for openUILinkIn to see what parameters can be
++ *        passed via this object.
++ *        This object also allows:
++ *        - 'ignoreFragment' property to be set to true to exclude
++ *        fragment-portion matching when comparing URIs.
++ *          If set to "whenComparing", the fragment will be unmodified.
++ *          If set to "whenComparingAndReplace", the fragment will be replaced.
++ *        - 'ignoreQueryString' boolean property to be set to true to exclude
++ *         query string matching when comparing URIs.
++ *        - 'replaceQueryString' boolean property to be set to true to exclude
++ *        query string matching when comparing URIs and overwrite the initial
++ *         query string with the one from the new URI.
++ *        - 'browserCallback' a callback to call when the tab is open, the
++ *        tab's browser will be passed as an argument
++
++ * @return True if an existing tab was found, false otherwise
+  */
+-function switchToTabHavingURI(aURI, aOpenNew, aCallback) {
++function switchToTabHavingURI(aURI, aOpenNew, aOpenParams = {}) {
++  // Certain URLs can be switched to irrespective of the source or destination
++  // window being in private browsing mode:
++  const kPrivateBrowsingWhitelist = new Set([
++    "about:addons",
++  ]);
++
++  let ignoreFragment = aOpenParams.ignoreFragment;
++  let ignoreQueryString = aOpenParams.ignoreQueryString;
++  let replaceQueryString = aOpenParams.replaceQueryString;
++  let browserCallback = aOpenParams.browserCallback;
++
++  // These properties are only used by switchToTabHavingURI and should
++  // not be used as a parameter for the new load.
++  delete aOpenParams.ignoreFragment;
++  delete aOpenParams.ignoreQueryString;
++  delete aOpenParams.replaceQueryString;
++  delete aOpenParams.browserCallback;
++
++  // This will switch to the tab in aWindow having aURI, if present.
+   function switchIfURIInWindow(aWindow) {
+-    if (!aWindow.gBrowser)
++    // Only switch to the tab if neither the source nor the destination window
++    // are private and they are not in permanent private browsing mode
++    if (!kPrivateBrowsingWhitelist.has(aURI.spec) &&
++        (PrivateBrowsingUtils.isWindowPrivate(window) ||
++         PrivateBrowsingUtils.isWindowPrivate(aWindow)) &&
++        !PrivateBrowsingUtils.permanentPrivateBrowsing) {
+       return false;
++    }
++
++    // Remove the query string, fragment, both, or neither from a given url.
++    function cleanURL(url, removeQuery, removeFragment) {
++      let ret = url;
++      if (removeFragment) {
++        ret = ret.split("#")[0];
++        if (removeQuery) {
++          // This removes a query, if present before the fragment.
++          ret = ret.split("?")[0];
++        }
++      } else if (removeQuery) {
++        // This is needed in case there is a fragment after the query.
++        let fragment = ret.split("#")[1];
++        ret = ret.split("?")[0].concat(
++          (fragment != undefined) ? "#".concat(fragment) : "");
++      }
++      return ret;
++    }
++
++    // Need to handle nsSimpleURIs here too (e.g. about:...), which don't
++    // work correctly with URL objects - so treat them as strings
++    let ignoreFragmentWhenComparing =
++      typeof ignoreFragment == "string" &&
++      ignoreFragment.startsWith("whenComparing");
++    let requestedCompare = cleanURL(
++          aURI.displaySpec, ignoreQueryString || replaceQueryString,
++          ignoreFragmentWhenComparing);
+     let browsers = aWindow.gBrowser.browsers;
+     for (let i = 0; i < browsers.length; i++) {
+       let browser = browsers[i];
+-      if (browser.currentURI.equals(aURI)) {
+-        // Focus the matching window & tab
++      let browserCompare = cleanURL(
++          browser.currentURI.displaySpec,
++          ignoreQueryString || replaceQueryString,
++          ignoreFragmentWhenComparing);
++      if (requestedCompare == browserCompare) {
+         aWindow.focus();
++        if (ignoreFragment == "whenComparingAndReplace" ||
++            replaceQueryString) {
++          browser.loadURI(aURI.spec);
++        }
+         aWindow.gBrowser.tabContainer.selectedIndex = i;
+-        if (aCallback)
+-          aCallback(browser);
++        if (browserCallback) {
++          // Services.console
++          //         .logStringMessage("switchToTabHavingURI browsercallb 1");
++          browserCallback(browser);
++        }
++
+         return true;
+       }
+     }
+     return false;
+   }
+ 
+   // This can be passed either nsIURI or a string.
+-  if (!(aURI instanceof Ci.nsIURI))
++  if (!(aURI instanceof Ci.nsIURI)) {
+     aURI = Services.io.newURI(aURI);
++  }
++
++  // Services.console.logStringMessage("switchToTabHavingURI " + aURI.spec);
++
++  let isBrowserWindow = !!window.gBrowser;
+ 
+   // Prioritise this window.
+-  if (switchIfURIInWindow(window))
++  if (isBrowserWindow && switchIfURIInWindow(window)) {
+     return true;
++  }
+ 
+   let winEnum = Services.wm.getEnumerator("navigator:browser");
+   while (winEnum.hasMoreElements()) {
+     let browserWin = winEnum.getNext();
+     // Skip closed (but not yet destroyed) windows,
+     // and the current window (which was checked earlier).
+-    if (browserWin.closed || browserWin == window)
++    if (browserWin.closed || browserWin == window) {
+       continue;
+-    if (switchIfURIInWindow(browserWin))
++    }
++    if (switchIfURIInWindow(browserWin)) {
+       return true;
++    }
+   }
+ 
+   // No opened tab has that url.
+   if (aOpenNew) {
+-    let browserWin = openUILinkIn(aURI.spec, "tabfocused");
+-    if (aCallback) {
+-      browserWin.addEventListener("pageshow", function browserWinPageShow(event) {
+-        if (event.target.location.href != aURI.spec)
+-          return;
+-        browserWin.removeEventListener("pageshow", browserWinPageShow, true);
+-        aCallback(browserWin.getBrowser().selectedBrowser);
+-      }, true);
++    let browserWinNew;
++    if (isBrowserWindow && isTabEmpty(gBrowser.selectedTab)) {
++      browserWinNew = openUILinkIn(aURI.spec, "current", aOpenParams);
++    } else {
++      browserWinNew = openUILinkIn(aURI.spec, "tab", aOpenParams);
++    }
++    if (browserCallback) {
++      // Services.console
++      //         .logStringMessage("switchToTabHavingURI browsercallb pre");
++      browserWinNew.addEventListener("pageshow",
++        function browserWinPageShow(event) {
++          if (event.target.location.href != aURI.spec) {
++            return;
++          }
++          browserWinNew.removeEventListener("pageshow", browserWinPageShow,
++                                            true);
++          // Services.console
++          //         .logStringMessage("switchToTabHavingURI browsercallb 2");
++          browserCallback(browserWinNew.getBrowser().selectedBrowser);
++        },
++      true);
+     }
+     return true;
+   }
+ 
+   return false;
+ }
+ 
+ // Determines if a browser is "empty"
+diff --git a/suite/browser/navigator.js b/suite/browser/navigator.js
+--- a/suite/browser/navigator.js
++++ b/suite/browser/navigator.js
+@@ -1733,17 +1733,17 @@ function BrowserOpenTab()
+       setTimeout(WindowFocusTimerCallback, 0, gURLBar);
+     else
+       setTimeout(WindowFocusTimerCallback, 0, content);
+   }
+ }
+ 
+ function BrowserOpenSyncTabs()
+ {
+-  switchToTabHavingURI("about:sync-tabs", true);
++  switchToTabHavingURI("about:sync-tabs", true, aOpenParams = {});
+ }
+ 
+ // Class for saving the last directory and filter Index in the prefs.
+ // Used for open file and upload file.
+ class RememberLastDir {
+ 
+   // The pref names are constructed from the prefix parameter in the constructor.
+   // The pref names should not be changed later.
+diff --git a/suite/components/tests/browser/browser_isempty.js b/suite/components/tests/browser/browser_isempty.js
+--- a/suite/components/tests/browser/browser_isempty.js
++++ b/suite/components/tests/browser/browser_isempty.js
+@@ -10,19 +10,21 @@ var gWindowObject;
+ var gTabCount;
+ 
+ function test() {
+   waitForExplicitFinish();
+   gTabCount = gBrowser.tabs.length;
+ 
+   gBrowser.selectedTab = gBrowser.addTab();
+   is(isTabEmpty(gBrowser.selectedTab), true, "Added tab is empty");
+-  switchToTabHavingURI("about:", true, function(aBrowser) {
+-    gWindowObject = aBrowser.contentWindow.wrappedJSObject;
+-    end_test();
++  switchToTabHavingURI("about:", true, {
++    browserCallback: function(aBrowser) {
++      gWindowObject = aBrowser.contentWindow.wrappedJSObject;
++      end_test();
++    }
+   });
+ }
+ 
+ function end_test() {
+   gWindowObject.close();
+   is(gBrowser.tabs.length, gTabCount, "We're still at the same number of tabs");
+   finish();
+ }

+ 5 - 4
comm-release/patches/series

@@ -2211,9 +2211,10 @@ WIP-1070492-composer-findbar-v3-25319.patch
 1924589-irc-tidy-nss-25320.patch
 1924589-irc-tidy-nss-25320.patch
 1924592-irc-tidy-message-manager-25320.patch
 1924592-irc-tidy-message-manager-25320.patch
 1924595-irc-getService-25320.patch
 1924595-irc-getService-25320.patch
-9999999-wikiico-25320.patch
-9999999-handler-25320.patch
+1925021-wikiico-25320.patch
+1925023-handler-25320.patch
 TOP-1378089-4-WIP-bookmarks-25320.patch
 TOP-1378089-4-WIP-bookmarks-25320.patch
 TOP-1872623-cancelbookmark-25319.patch
 TOP-1872623-cancelbookmark-25319.patch
-9999999-specificsearch-25320.patch
-9999999-focus-25320.patch
+1925025-specificsearch-25320.patch
+1925033-focus-25320.patch
+1925037-switchToTabHavingURI-25320.patch

+ 24 - 4
l10n-release/patches/1902851-l10n-25320.patch

@@ -166,7 +166,7 @@ diff --git a/de/suite/chrome/common/help/shortcuts.xhtml b/de/suite/chrome/commo
 diff --git a/de/suite/chrome/common/places/places.dtd b/de/suite/chrome/common/places/places.dtd
 diff --git a/de/suite/chrome/common/places/places.dtd b/de/suite/chrome/common/places/places.dtd
 --- a/de/suite/chrome/common/places/places.dtd
 --- a/de/suite/chrome/common/places/places.dtd
 +++ b/de/suite/chrome/common/places/places.dtd
 +++ b/de/suite/chrome/common/places/places.dtd
-@@ -77,17 +77,18 @@
+@@ -77,17 +77,20 @@
  <!ENTITY col.tags.label          "Schlagwörter">
  <!ENTITY col.tags.label          "Schlagwörter">
  <!ENTITY col.url.label           "Adresse">
  <!ENTITY col.url.label           "Adresse">
  <!ENTITY col.mostrecentvisit.label "Zuletzt besucht">
  <!ENTITY col.mostrecentvisit.label "Zuletzt besucht">
@@ -176,8 +176,10 @@ diff --git a/de/suite/chrome/common/places/places.dtd b/de/suite/chrome/common/p
  <!ENTITY col.lastmodified.label  "Zuletzt verändert">
  <!ENTITY col.lastmodified.label  "Zuletzt verändert">
  
  
 -<!ENTITY search.placeholder  "Suchen">
 -<!ENTITY search.placeholder  "Suchen">
-+<!ENTITY bookmarksSearch.placeholder  "Lesezeichen durchsuchen">
-+<!ENTITY historySearch.placeholder  "Chronik durchsuchen">
++<!-- LOCALIZATION NOTE (searchBookmarks.placeholder): Should match searchBookmarks in places.properties" -->
++<!ENTITY searchBookmarks.placeholder  "Lesezeichen durchsuchen">
++<!-- LOCALIZATION NOTE (searchHistory.placeholder): Should match searchHistory in places.properties" -->
++<!ENTITY searchHistory.placeholder  "Chronik durchsuchen">
  
  
  <!ENTITY cmd.find.key  "f">
  <!ENTITY cmd.find.key  "f">
  
  
@@ -235,7 +237,25 @@ diff --git a/de/suite/chrome/mailnews/addressbook/abCardOverlay.dtd b/de/suite/c
 diff --git a/de/suite/extensions/irc/chrome/chatzilla.properties b/de/suite/extensions/irc/chrome/chatzilla.properties
 diff --git a/de/suite/extensions/irc/chrome/chatzilla.properties b/de/suite/extensions/irc/chrome/chatzilla.properties
 --- a/de/suite/extensions/irc/chrome/chatzilla.properties
 --- a/de/suite/extensions/irc/chrome/chatzilla.properties
 +++ b/de/suite/extensions/irc/chrome/chatzilla.properties
 +++ b/de/suite/extensions/irc/chrome/chatzilla.properties
-@@ -1250,17 +1250,16 @@ msg.conf.mode.off    = Konferenzmodus ist für diese Ansicht nicht mehr aktiviert; Betreten, Verlassen, Beenden und Nick-Änderungen werden angezeigt.
+@@ -668,17 +668,16 @@ msg.err.no.ctcp.help  = %S hat keine Hil
+ msg.err.unable.to.print = Die aktuelle Ansicht unterstützt Drucken nicht.
+ msg.err.unsupported.command = Der Server unterstützt das "%S"-Kommando nicht.
+ msg.err.invalid.mode  = Der angegebene Modus-String ("%S") ist ungültig. Ein gültiger Modus-String besteht aus einer oder mehreren Folgen von einem + oder - gefolgt von einem oder mehreren alphabetischen Zeichen.
+ msg.err.away.save     = Speichern der Liste von Abwesenheitsnachrichten fehlgeschlagen (%S).
+ msg.err.inputhistory.not.writable = Die Eingabe-Chronik konnte nicht in "%S" gespeichert werden.
+ msg.err.urls.not.writable = Das URL-Log konnte nicht in "%S" gespeichert werden.
+ msg.err.invalid.url   = "%S" ist weder eine gültige URL noch ein Alias für eine URL und konnte daher nicht geladen werden.
+ msg.err.no.channel    = Wenn Sie das "%S"-Kommand ausführen, sollten Sie entweder einen Channel-Namen angeben, oder das Kommando im Kontext eines Channels ausführen.
+-msg.err.no.idleservice = ChatZilla kann in Ihrer Version von &brandShortName; nicht feststellen, ob Sie abwesend sind. Die Auto-Abwesenheits-Funktion wird jetzt deaktiviert.
+ 
+ msg.warn.pac.loading = Die Datei für automatische Proxy-Konfiguration wurde noch nicht geladen; ChatZilla wird es in Kürze erneut versuchen.
+ 
+ # Ask for nick pass if not explicitly given in the command:
+ msg.need.identify.password = Bitte geben Sie das Passwort für diesen Nicknamen ein.
+ 
+ # Ask for oper pass if not explicitly given in the command:
+ msg.need.oper.password = Bitte geben Sie ein Passwort ein, um IRC-Operator-Berechtigungen zu bekommen.
+@@ -1250,17 +1249,16 @@ msg.conf.mode.off    = Konferenzmodus ist für diese Ansicht nicht mehr aktiviert; Betreten, Verlassen, Beenden und Nick-Änderungen werden angezeigt.
  
  
  # Join Network/Channel dialog
  # Join Network/Channel dialog
  msg.cd.updated    = Channel-Liste für das Netzwerk wurde auf "%S" zwischengespeichert
  msg.cd.updated    = Channel-Liste für das Netzwerk wurde auf "%S" zwischengespeichert

+ 2 - 2
mozilla-release/patches/9999999-removebinary-25320.patch → mozilla-release/patches/1925041-removebinary-25320.patch

@@ -1,8 +1,8 @@
 # HG changeset patch
 # HG changeset patch
 # User Frank-Rainer Grahl <frgrahl@gmx.net>
 # User Frank-Rainer Grahl <frgrahl@gmx.net>
 # Date 1727650331 -7200
 # Date 1727650331 -7200
-# Parent  86173d21f2d52d8636bfe5aaf94ac0e38f3e7f53
-Bug 99999999 - Remove defunct binary manifest remains. r=IanN a=IanN
+# Parent  be77d38b579920668435aeaffc12af1b632d537a
+Bug 1925041 - Remove defunct binary manifest remains. r=IanN a=IanN
 SeaMonkey release branch only.
 SeaMonkey release branch only.
 
 
 diff --git a/python/mozbuild/mozpack/chrome/manifest.py b/python/mozbuild/mozpack/chrome/manifest.py
 diff --git a/python/mozbuild/mozpack/chrome/manifest.py b/python/mozbuild/mozpack/chrome/manifest.py

+ 1 - 1
mozilla-release/patches/series

@@ -7687,5 +7687,5 @@ TOP-NOBUG-1712804fix-25320.patch
 1902935-seamonkey-credits-25320.patch
 1902935-seamonkey-credits-25320.patch
 1862395-incorrect-version-resistfingerprinting-v2-25320.patch
 1862395-incorrect-version-resistfingerprinting-v2-25320.patch
 1737436-use-mozilla-compat-version-define-25320.patch
 1737436-use-mozilla-compat-version-define-25320.patch
-9999999-removebinary-25320.patch
+1925041-removebinary-25320.patch
 1476333-fix-25320.patch
 1476333-fix-25320.patch