diff --git a/mozilla/browser/app/profile/firefox.js b/mozilla/browser/app/profile/firefox.js
index 7a141d8696d..76cc9cfd2a6 100644
--- a/mozilla/browser/app/profile/firefox.js
+++ b/mozilla/browser/app/profile/firefox.js
@@ -725,3 +725,6 @@ pref("editor.singleLine.pasteNewlines", 2);
// The breakpad report server to link to in about:crashes
pref("breakpad.reportURL", "http://crash-stats.mozilla.com/report/index/");
+
+// base URL for web-based support pages
+pref("app.support.baseURL", "http://support.mozilla.com/1/%APP%/%VERSION%/%OS%/%LOCALE%/");
diff --git a/mozilla/browser/base/content/baseMenuOverlay.xul b/mozilla/browser/base/content/baseMenuOverlay.xul
index a827106b177..03788ea9da4 100644
--- a/mozilla/browser/base/content/baseMenuOverlay.xul
+++ b/mozilla/browser/base/content/baseMenuOverlay.xul
@@ -49,7 +49,6 @@
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
-
#ifdef XP_MACOSX
#else
#endif
diff --git a/mozilla/browser/base/content/pageinfo/pageInfo.js b/mozilla/browser/base/content/pageinfo/pageInfo.js
index 6cb75480666..e5ff2634763 100644
--- a/mozilla/browser/base/content/pageinfo/pageInfo.js
+++ b/mozilla/browser/base/content/pageinfo/pageInfo.js
@@ -392,7 +392,7 @@ function doHelpButton()
var deck = document.getElementById("mainDeck");
var helpdoc = helpTopics[deck.selectedPanel.id] || "pageinfo_general";
- openHelp(helpdoc, 'chrome://browser/locale/help/help.rdf');
+ openHelpLink(helpdoc);
}
function showTab(id)
diff --git a/mozilla/browser/base/content/pageinfo/pageInfo.xul b/mozilla/browser/base/content/pageinfo/pageInfo.xul
index f6bb60a29fc..89ade551c8d 100644
--- a/mozilla/browser/base/content/pageinfo/pageInfo.xul
+++ b/mozilla/browser/base/content/pageinfo/pageInfo.xul
@@ -71,7 +71,6 @@
-
@@ -100,8 +99,9 @@
#ifdef XP_MACOSX
-#endif
+#else
+#endif
diff --git a/mozilla/browser/base/content/utilityOverlay.js b/mozilla/browser/base/content/utilityOverlay.js
index 1536515566c..b9f137b8988 100644
--- a/mozilla/browser/base/content/utilityOverlay.js
+++ b/mozilla/browser/base/content/utilityOverlay.js
@@ -673,3 +673,25 @@ function getOfflineAppUsage(host)
return usage;
}
+// aCalledFromModal is optional
+function openHelpLink(aHelpTopic, aCalledFromModal) {
+ var url = Components.classes["@mozilla.org/toolkit/URLFormatterService;1"]
+ .getService(Components.interfaces.nsIURLFormatter)
+ .formatURLPref("app.support.baseURL");
+ url += aHelpTopic;
+
+ var where = aCalledFromModal ? "window" : "tab";
+ openUILinkIn(url, where);
+}
+
+function openPrefsHelp() {
+ var prefs = Components.classes["@mozilla.org/preferences-service;1"]
+ .getService(Components.interfaces.nsIPrefBranch2);
+
+ // non-instant apply prefwindows are usually modal, so we can't open in the topmost window,
+ // since its probably behind the window.
+ var instantApply = prefs.getBoolPref("browser.preferences.instantApply");
+
+ var helpTopic = document.getElementsByTagName("prefwindow")[0].currentPane.helpTopic;
+ openHelpLink(helpTopic, !instantApply);
+}
diff --git a/mozilla/browser/components/preferences/advanced-scripts.xul b/mozilla/browser/components/preferences/advanced-scripts.xul
index f3694911058..e71c0bab13a 100644
--- a/mozilla/browser/components/preferences/advanced-scripts.xul
+++ b/mozilla/browser/components/preferences/advanced-scripts.xul
@@ -45,10 +45,13 @@
+ dlgbuttons="accept,cancel,help"
+ ondialoghelp="openPrefsHelp()">
+
+
+ helpTopic="prefs-advanced-javascript">
diff --git a/mozilla/browser/components/preferences/advanced.xul b/mozilla/browser/components/preferences/advanced.xul
index d0315eefb47..1be31ad2ac2 100644
--- a/mozilla/browser/components/preferences/advanced.xul
+++ b/mozilla/browser/components/preferences/advanced.xul
@@ -52,8 +52,7 @@
-
+
-
+
#else
style="width: &window.width; !important;">
#endif
+
+ helpTopic="prefs-fonts-and-colors">
diff --git a/mozilla/browser/components/preferences/connection.xul b/mozilla/browser/components/preferences/connection.xul
index adb51945c18..53d1417c74e 100644
--- a/mozilla/browser/components/preferences/connection.xul
+++ b/mozilla/browser/components/preferences/connection.xul
@@ -48,14 +48,17 @@
dlgbuttons="accept,cancel,help"
onbeforeaccept="return gConnectionsDialog.beforeAccept();"
onload="gConnectionsDialog.checkForSystemProxy();"
+ ondialoghelp="openPrefsHelp()"
#ifdef XP_MACOSX
style="width: &window.macWidth; !important;">
#else
style="width: &window.width; !important;">
#endif
+
+
+ helpTopic="prefs-connection-settings">
diff --git a/mozilla/browser/components/preferences/content.xul b/mozilla/browser/components/preferences/content.xul
index 6494c0c8ad6..80e5d8edc5e 100644
--- a/mozilla/browser/components/preferences/content.xul
+++ b/mozilla/browser/components/preferences/content.xul
@@ -49,8 +49,9 @@
-
+
diff --git a/mozilla/browser/components/preferences/fonts.xul b/mozilla/browser/components/preferences/fonts.xul
index 8e408143fa4..9f80e4583a1 100644
--- a/mozilla/browser/components/preferences/fonts.xul
+++ b/mozilla/browser/components/preferences/fonts.xul
@@ -52,6 +52,7 @@
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
title="&fontsDialog.title;"
dlgbuttons="accept,cancel,help"
+ ondialoghelp="openPrefsHelp()"
#ifdef XP_UNIX
#ifdef XP_MACOSX
style="width: &window.macWidth; !important;">
@@ -62,8 +63,10 @@
style="width: &window.width; !important;">
#endif
+
+
+ helpTopic="prefs-fonts-and-colors">
diff --git a/mozilla/browser/components/preferences/languages.xul b/mozilla/browser/components/preferences/languages.xul
index e3a039c370c..7ef6f2ef739 100644
--- a/mozilla/browser/components/preferences/languages.xul
+++ b/mozilla/browser/components/preferences/languages.xul
@@ -50,10 +50,14 @@
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
title="&languages.customize.Header;"
dlgbuttons="accept,cancel,help"
+ ondialoghelp="openPrefsHelp()"
style="width: &window.width;;">
-
+
+
+
diff --git a/mozilla/browser/components/preferences/main.xul b/mozilla/browser/components/preferences/main.xul
index 5aff0be8cd4..fb5af605dfc 100644
--- a/mozilla/browser/components/preferences/main.xul
+++ b/mozilla/browser/components/preferences/main.xul
@@ -50,8 +50,9 @@
-
+
diff --git a/mozilla/browser/components/preferences/preferences.xul b/mozilla/browser/components/preferences/preferences.xul
index a8c1a35ce03..2528af36b24 100644
--- a/mozilla/browser/components/preferences/preferences.xul
+++ b/mozilla/browser/components/preferences/preferences.xul
@@ -72,6 +72,7 @@
+
diff --git a/mozilla/browser/components/preferences/privacy.xul b/mozilla/browser/components/preferences/privacy.xul
index 7f80c9afb0a..de4d2a824a4 100644
--- a/mozilla/browser/components/preferences/privacy.xul
+++ b/mozilla/browser/components/preferences/privacy.xul
@@ -49,9 +49,9 @@
-
+
diff --git a/mozilla/browser/components/preferences/sanitize.xul b/mozilla/browser/components/preferences/sanitize.xul
index 539274eae99..67d3c255523 100644
--- a/mozilla/browser/components/preferences/sanitize.xul
+++ b/mozilla/browser/components/preferences/sanitize.xul
@@ -50,10 +50,13 @@
+
+
+ helpTopic="prefs-clear-private-data">
diff --git a/mozilla/browser/components/preferences/security.xul b/mozilla/browser/components/preferences/security.xul
index e15bf47a000..a047c1382e4 100644
--- a/mozilla/browser/components/preferences/security.xul
+++ b/mozilla/browser/components/preferences/security.xul
@@ -47,8 +47,9 @@
-
+
diff --git a/mozilla/browser/components/preferences/tabs.xul b/mozilla/browser/components/preferences/tabs.xul
index 5b8eff3f5e3..70341b96a7b 100644
--- a/mozilla/browser/components/preferences/tabs.xul
+++ b/mozilla/browser/components/preferences/tabs.xul
@@ -49,7 +49,8 @@
-
+
diff --git a/mozilla/browser/locales/jar.mn b/mozilla/browser/locales/jar.mn
index b8151821d06..56e398aef0c 100644
--- a/mozilla/browser/locales/jar.mn
+++ b/mozilla/browser/locales/jar.mn
@@ -69,6 +69,7 @@
locale/browser/sidebar/sidebar.properties (%chrome/browser/sidebar/sidebar.properties)
% locale browser-region @AB_CD@ %locale/browser-region/
locale/browser-region/region.properties (%chrome/browser-region/region.properties)
+#ifdef MOZ_HELP_VIEWER
locale/browser/help/help.rdf (%chrome/help/firebirdhelp.rdf)
locale/browser/help/firebird-toc.rdf (%chrome/help/firebird-toc.rdf)
locale/browser/help/search-db.rdf (%chrome/help/search-db.rdf)
@@ -87,6 +88,7 @@
locale/browser/help/platformStrings.dtd (%chrome/help/platformStrings.dtd)
locale/browser/help/tabbed_browsing.xhtml (%chrome/help/tabbed_browsing.xhtml)
locale/browser/help/glossary.xhtml (%chrome/help/glossary.xhtml)
+#endif
# the following files are browser-specific overrides
* locale/browser/netError.dtd (%chrome/overrides/netError.dtd)
* locale/browser/appstrings.properties (%chrome/overrides/appstrings.properties)
diff --git a/mozilla/suite/common/bindings/prefwindow.xml b/mozilla/suite/common/bindings/prefwindow.xml
index 2b69fdf82d2..ca5e0b9b40c 100644
--- a/mozilla/suite/common/bindings/prefwindow.xml
+++ b/mozilla/suite/common/bindings/prefwindow.xml
@@ -422,9 +422,67 @@
]]>