716 + onkeypress="gIdentityHandler.handleIdentityButtonEvent(event);" |
693 + onkeypress="gIdentityHandler.handleIdentityButtonEvent(event);" |
717 + ondragstart="gIdentityHandler.onDragStart(event);"> |
694 + ondragstart="gIdentityHandler.onDragStart(event);"> |
718 + <image id="identity-icon" |
695 + <image id="identity-icon" |
719 + consumeanchor="identity-box" |
696 + consumeanchor="identity-box" |
720 + onclick="PageProxyClickHandler(event);"/> |
697 + onclick="PageProxyClickHandler(event);"/> |
721 + <box id="blocked-permissions-container" align="center" tooltiptext=""> |
698 + <image id="sharing-icon" mousethrough="always"/> |
722 + <image data-permission-id="geo" class="notification-anchor-icon geo-icon blocked" role="button" |
699 + <box id="blocked-permissions-container" align="center"> |
723 + aria-label="&urlbar.geolocationNotificationAnchor.label;"/> |
700 + <image data-permission-id="geo" class="blocked-permission-icon geo-icon" role="button" |
724 + <image data-permission-id="desktop-notification" class="notification-anchor-icon desktop-notification-icon blocked" role="button" |
701 + tooltiptext="&urlbar.geolocationBlocked.tooltip;"/> |
725 + aria-label="&urlbar.webNotsNotificationAnchor3.label;"/> |
702 + <image data-permission-id="desktop-notification" class="blocked-permission-icon desktop-notification-icon" role="button" |
726 + <image data-permission-id="camera" class="notification-anchor-icon camera-icon blocked" role="button" |
703 + tooltiptext="&urlbar.webNotificationsBlocked.tooltip;"/> |
727 + aria-label="&urlbar.webRTCShareDevicesNotificationAnchor.label;"/> |
704 + <image data-permission-id="camera" class="blocked-permission-icon camera-icon" role="button" |
728 + <image data-permission-id="indexedDB" class="notification-anchor-icon indexedDB-icon blocked" role="button" |
705 + tooltiptext="&urlbar.cameraBlocked.tooltip;"/> |
729 + aria-label="&urlbar.indexedDBNotificationAnchor.label;"/> |
706 + <image data-permission-id="indexedDB" class="blocked-permission-icon indexedDB-icon" role="button" |
730 + <image data-permission-id="microphone" class="notification-anchor-icon microphone-icon blocked" role="button" |
707 + tooltiptext="&urlbar.indexedDBBlocked.tooltip;"/> |
731 + aria-label="&urlbar.webRTCShareMicrophoneNotificationAnchor.label;"/> |
708 + <image data-permission-id="microphone" class="blocked-permission-icon microphone-icon" role="button" |
732 + <image data-permission-id="screen" class="notification-anchor-icon screen-icon blocked" role="button" |
709 + tooltiptext="&urlbar.microphoneBlocked.tooltip;"/> |
733 + aria-label="&urlbar.webRTCShareScreenNotificationAnchor.label;"/> |
710 + <image data-permission-id="screen" class="blocked-permission-icon screen-icon" role="button" |
734 + <image data-permission-id="pointerLock" class="notification-anchor-icon pointerLock-icon blocked" role="button" |
711 + tooltiptext="&urlbar.screenBlocked.tooltip;"/> |
735 + aria-label="&urlbar.pointerLockNotificationAnchor.label;"/> |
|
736 + </box> |
712 + </box> |
737 + <box id="notification-popup-box" |
713 + <box id="notification-popup-box" |
738 + hidden="true" |
714 + hidden="true" |
739 + tooltiptext="" |
|
740 + onmouseover="document.getElementById('identity-icon').classList.add('no-hover');" |
715 + onmouseover="document.getElementById('identity-icon').classList.add('no-hover');" |
741 + onmouseout="document.getElementById('identity-icon').classList.remove('no-hover');" |
716 + onmouseout="document.getElementById('identity-icon').classList.remove('no-hover');" |
742 + align="center"> |
717 + align="center"> |
743 + <image id="default-notification-icon" class="notification-anchor-icon" role="button" |
718 + <image id="default-notification-icon" class="notification-anchor-icon" role="button" |
744 + aria-label="&urlbar.defaultNotificationAnchor.label;"/> |
719 + tooltiptext="&urlbar.defaultNotificationAnchor.tooltip;"/> |
745 + <image id="geo-notification-icon" class="notification-anchor-icon geo-icon" role="button" |
720 + <image id="geo-notification-icon" class="notification-anchor-icon geo-icon" role="button" |
746 + aria-label="&urlbar.geolocationNotificationAnchor.label;"/> |
721 + tooltiptext="&urlbar.geolocationNotificationAnchor.tooltip;"/> |
747 + <image id="addons-notification-icon" class="notification-anchor-icon install-icon" role="button" |
722 + <image id="addons-notification-icon" class="notification-anchor-icon install-icon" role="button" |
748 + aria-label="&urlbar.addonsNotificationAnchor.label;"/> |
723 + tooltiptext="&urlbar.addonsNotificationAnchor.tooltip;"/> |
749 + <image id="indexedDB-notification-icon" class="notification-anchor-icon indexedDB-icon" role="button" |
724 + <image id="indexedDB-notification-icon" class="notification-anchor-icon indexedDB-icon" role="button" |
750 + aria-label="&urlbar.indexedDBNotificationAnchor.label;"/> |
725 + tooltiptext="&urlbar.indexedDBNotificationAnchor.tooltip;"/> |
751 + <image id="login-fill-notification-icon" class="notification-anchor-icon login-icon" role="button" |
|
752 + aria-label="&urlbar.loginFillNotificationAnchor.label;"/> |
|
753 + <image id="password-notification-icon" class="notification-anchor-icon login-icon" role="button" |
726 + <image id="password-notification-icon" class="notification-anchor-icon login-icon" role="button" |
754 + aria-label="&urlbar.passwordNotificationAnchor.label;"/> |
727 + tooltiptext="&urlbar.passwordNotificationAnchor.tooltip;"/> |
755 + <image id="plugins-notification-icon" class="notification-anchor-icon plugin-icon" role="button" |
728 + <image id="plugins-notification-icon" class="notification-anchor-icon plugin-icon" role="button" |
756 + aria-label="&urlbar.pluginsNotificationAnchor.label;"/> |
729 + tooltiptext="&urlbar.pluginsNotificationAnchor.tooltip;"/> |
757 + <image id="web-notifications-notification-icon" class="notification-anchor-icon desktop-notification-icon" role="button" |
730 + <image id="web-notifications-notification-icon" class="notification-anchor-icon desktop-notification-icon" role="button" |
758 + aria-label="&urlbar.webNotsNotificationAnchor3.label;"/> |
731 + tooltiptext="&urlbar.webNotificationAnchor.tooltip;"/> |
759 + <image id="webRTC-shareDevices-notification-icon" class="notification-anchor-icon camera-icon" role="button" |
732 + <image id="webRTC-shareDevices-notification-icon" class="notification-anchor-icon camera-icon" role="button" |
760 + aria-label="&urlbar.webRTCShareDevicesNotificationAnchor.label;"/> |
733 + tooltiptext="&urlbar.webRTCShareDevicesNotificationAnchor.tooltip;"/> |
761 + <image id="webRTC-sharingDevices-notification-icon" class="notification-anchor-icon camera-icon in-use" role="button" |
|
762 + aria-label="&urlbar.webRTCSharingDevicesNotificationAnchor.label;"/> |
|
763 + <image id="webRTC-shareMicrophone-notification-icon" class="notification-anchor-icon microphone-icon" role="button" |
734 + <image id="webRTC-shareMicrophone-notification-icon" class="notification-anchor-icon microphone-icon" role="button" |
764 + aria-label="&urlbar.webRTCShareMicrophoneNotificationAnchor.label;"/> |
735 + tooltiptext="&urlbar.webRTCShareMicrophoneNotificationAnchor.tooltip;"/> |
765 + <image id="webRTC-sharingMicrophone-notification-icon" class="notification-anchor-icon microphone-icon in-use" role="button" |
|
766 + aria-label="&urlbar.webRTCSharingMicrophoneNotificationAnchor.label;"/> |
|
767 + <image id="webRTC-shareScreen-notification-icon" class="notification-anchor-icon screen-icon" role="button" |
736 + <image id="webRTC-shareScreen-notification-icon" class="notification-anchor-icon screen-icon" role="button" |
768 + aria-label="&urlbar.webRTCShareScreenNotificationAnchor.label;"/> |
737 + tooltiptext="&urlbar.webRTCShareScreenNotificationAnchor.tooltip;"/> |
769 + <image id="webRTC-sharingScreen-notification-icon" class="notification-anchor-icon screen-icon in-use" role="button" |
|
770 + aria-label="&urlbar.webRTCSharingScreenNotificationAnchor.label;"/> |
|
771 + <image id="pointerLock-notification-icon" class="notification-anchor-icon pointerLock-icon" role="button" |
|
772 + aria-label="&urlbar.pointerLockNotificationAnchor.label;"/> |
|
773 + <image id="servicesInstall-notification-icon" class="notification-anchor-icon service-icon" role="button" |
738 + <image id="servicesInstall-notification-icon" class="notification-anchor-icon service-icon" role="button" |
774 + aria-label="&urlbar.servicesNotificationAnchor.label;"/> |
739 + tooltiptext="&urlbar.servicesNotificationAnchor.tooltip;"/> |
775 + <image id="translate-notification-icon" class="notification-anchor-icon translation-icon" role="button" |
740 + <image id="translate-notification-icon" class="notification-anchor-icon translation-icon" role="button" |
776 + aria-label="&urlbar.translateNotificationAnchor.label;"/> |
741 + tooltiptext="&urlbar.translateNotificationAnchor.tooltip;"/> |
777 + <image id="translated-notification-icon" class="notification-anchor-icon translation-icon in-use" role="button" |
742 + <image id="translated-notification-icon" class="notification-anchor-icon translation-icon in-use" role="button" |
778 + aria-label="&urlbar.translatedNotificationAnchor.label;"/> |
743 + tooltiptext="&urlbar.translatedNotificationAnchor.tooltip;"/> |
779 + <image id="eme-notification-icon" class="notification-anchor-icon drm-icon" role="button" |
744 + <image id="eme-notification-icon" class="notification-anchor-icon drm-icon" role="button" |
780 + aria-label="&urlbar.emeNotificationAnchor.label;"/> |
745 + tooltiptext="&urlbar.emeNotificationAnchor.tooltip;"/> |
781 + </box> |
746 + </box> |
782 + <image id="tracking-protection-icon"/> |
747 + <image id="tracking-protection-icon"/> |
783 + <image id="connection-icon"/> |
748 + <image id="connection-icon"/> |
784 + <hbox id="identity-icon-labels"> |
749 + <hbox id="identity-icon-labels"> |
785 + <label id="identity-icon-label" class="plain" flex="1"/> |
750 + <label id="identity-icon-label" class="plain" flex="1"/> |
1091 + flex="1" contenttooltip="aHTMLTooltip" |
1060 + flex="1" contenttooltip="aHTMLTooltip" |
1092 + tabcontainer="tabbrowser-tabs" |
1061 + tabcontainer="tabbrowser-tabs" |
1093 + contentcontextmenu="contentAreaContextMenu" |
1062 + contentcontextmenu="contentAreaContextMenu" |
1094 + autocompletepopup="PopupAutoComplete" |
1063 + autocompletepopup="PopupAutoComplete" |
1095 + selectmenulist="ContentSelectDropdown"/> |
1064 + selectmenulist="ContentSelectDropdown"/> |
1096 + <chatbar id="pinnedchats" layer="true" mousethrough="always" hidden="true"/> |
|
1097 + </vbox> |
|
1098 + <splitter id="social-sidebar-splitter" |
|
1099 + class="chromeclass-extrachrome sidebar-splitter" |
|
1100 + observes="socialSidebarBroadcaster"/> |
|
1101 + <vbox id="social-sidebar-box" |
|
1102 + class="chromeclass-extrachrome" |
|
1103 + observes="socialSidebarBroadcaster" |
|
1104 + persist="width"> |
|
1105 + |
|
1106 + <sidebarheader id="social-sidebar-header" class="sidebar-header" align="center"> |
|
1107 + <image id="social-sidebar-favico"/> |
|
1108 + <label id="social-sidebar-title" class="sidebar-title" persist="value" flex="1" crop="end" control="sidebar"/> |
|
1109 + <toolbarbutton id="social-sidebar-button" |
|
1110 + class="toolbarbutton-1" |
|
1111 + type="menu"> |
|
1112 + <menupopup id="social-statusarea-popup" position="after_end"> |
|
1113 + <menuitem class="social-toggle-sidebar-menuitem" |
|
1114 + type="checkbox" |
|
1115 + autocheck="false" |
|
1116 + command="Social:ToggleSidebar" |
|
1117 + label="&social.toggleSidebar.label;" |
|
1118 + accesskey="&social.toggleSidebar.accesskey;"/> |
|
1119 + <menuitem class="social-toggle-notifications-menuitem" |
|
1120 + type="checkbox" |
|
1121 + autocheck="false" |
|
1122 + command="Social:ToggleNotifications" |
|
1123 + label="&social.toggleNotifications.label;" |
|
1124 + accesskey="&social.toggleNotifications.accesskey;"/> |
|
1125 + <menuseparator/> |
|
1126 + <menuseparator class="social-provider-menu" hidden="true"/> |
|
1127 + <menuitem class="social-addons-menuitem" command="Social:Addons" |
|
1128 + label="&social.addons.label;"/> |
|
1129 + <menuitem label="&social.learnMore.label;" |
|
1130 + accesskey="&social.learnMore.accesskey;" |
|
1131 + oncommand="SocialUI.showLearnMore();"/> |
|
1132 + </menupopup> |
|
1133 + </toolbarbutton> |
|
1134 + </sidebarheader> |
|
1135 + |
|
1136 + <browser id="social-sidebar-browser" |
|
1137 + type="content" |
|
1138 + context="contentAreaContextMenu" |
|
1139 + message="true" |
|
1140 + messagemanagergroup="social" |
|
1141 + disableglobalhistory="true" |
|
1142 + tooltip="aHTMLTooltip" |
|
1143 + popupnotificationanchor="social-sidebar-favico" |
|
1144 + flex="1" |
|
1145 + style="min-width: 14em; width: 18em; max-width: 36em;"/> |
|
1146 + </vbox> |
1065 + </vbox> |
1147 + <vbox id="browser-border-end" hidden="true" layer="true"/> |
1066 + <vbox id="browser-border-end" hidden="true" layer="true"/> |
1148 + </hbox> |
1067 + </hbox> |
1149 +#include ../../components/customizableui/content/customizeMode.inc.xul |
1068 +#include ../../components/customizableui/content/customizeMode.inc.xul |
1150 + </deck> |
1069 + </deck> |
1289 { &kNS_SHELLSERVICE_CID, false, nullptr, nsMacShellServiceConstructor }, |
1208 { &kNS_SHELLSERVICE_CID, false, nullptr, nsMacShellServiceConstructor }, |
1290 #endif |
1209 #endif |
1291 diff --git a/browser/components/preferences/in-content/main.js b/browser/components/preferences/in-content/main.js |
1210 diff --git a/browser/components/preferences/in-content/main.js b/browser/components/preferences/in-content/main.js |
1292 --- a/browser/components/preferences/in-content/main.js |
1211 --- a/browser/components/preferences/in-content/main.js |
1293 +++ b/browser/components/preferences/in-content/main.js |
1212 +++ b/browser/components/preferences/in-content/main.js |
1294 @@ -23,16 +23,22 @@ var gMainPane = { |
1213 @@ -33,16 +33,22 @@ var gMainPane = { |
1295 init: function () |
1214 if (AppConstants.platform == "win") { |
1296 { |
1215 // In Windows 8 we launch the control panel since it's the only |
1297 function setEventListener(aId, aEventType, aCallback) |
1216 // way to get all file type association prefs. So we don't know |
1298 { |
1217 // when the user will select the default. We refresh here periodically |
1299 document.getElementById(aId) |
1218 // in case the default changes. On other Windows OS's defaults can also |
1300 .addEventListener(aEventType, aCallback.bind(gMainPane)); |
1219 // be set while the prefs are open. |
1301 } |
1220 window.setInterval(this.updateSetDefaultBrowser.bind(this), 1000); |
1302 |
1221 } |
|
1222 + |
1303 + var env = Components.classes["@mozilla.org/process/environment;1"] |
1223 + var env = Components.classes["@mozilla.org/process/environment;1"] |
1304 + .getService(Components.interfaces.nsIEnvironment); |
1224 + .getService(Components.interfaces.nsIEnvironment); |
1305 + var kde_session = 0; |
1225 + var kde_session = 0; |
1306 + if (env.get('KDE_FULL_SESSION') == "true") |
1226 + if (env.get('KDE_FULL_SESSION') == "true") |
1307 + kde_session = 1; |
1227 + kde_session = 1; |
1308 + |
|
1309 #ifdef HAVE_SHELL_SERVICE |
|
1310 this.updateSetDefaultBrowser(); |
|
1311 #ifdef XP_WIN |
|
1312 // In Windows 8 we launch the control panel since it's the only |
|
1313 // way to get all file type association prefs. So we don't know |
|
1314 // when the user will select the default. We refresh here periodically |
|
1315 // in case the default changes. On other Windows OS's defaults can also |
|
1316 // be set while the prefs are open. |
|
1317 @@ -703,16 +709,27 @@ var gMainPane = { |
|
1318 let alwaysCheckPref = document.getElementById("browser.shell.checkDefaultBrowser"); |
|
1319 alwaysCheckPref.value = true; |
|
1320 |
|
1321 let shellSvc = getShellService(); |
|
1322 if (!shellSvc) |
|
1323 return; |
|
1324 try { |
|
1325 shellSvc.setDefaultBrowser(true, false); |
|
1326 + if (kde_session == 1) { |
|
1327 + var shellObj = Components.classes["@mozilla.org/file/local;1"] |
|
1328 + .createInstance(Components.interfaces.nsILocalFile); |
|
1329 + shellObj.initWithPath("/usr/bin/kwriteconfig"); |
|
1330 + var process = Components.classes["@mozilla.org/process/util;1"] |
|
1331 + .createInstance(Components.interfaces.nsIProcess); |
|
1332 + process.init(shellObj); |
|
1333 + var args = ["--file", "kdeglobals", "--group", "General", "--key", |
|
1334 + "BrowserApplication", "firefox"]; |
|
1335 + process.run(false, args, args.length); |
|
1336 + } |
|
1337 } catch (ex) { |
|
1338 Cu.reportError(ex); |
|
1339 return; |
|
1340 } |
1228 } |
1341 |
1229 |
1342 let selectedIndex = shellSvc.isDefaultBrowser(false, true) ? 1 : 0; |
1230 // set up the "use current page" label-changing listener |
1343 document.getElementById("setDefaultPane").selectedIndex = selectedIndex; |
1231 this._updateUseCurrentButton(); |
1344 } |
1232 window.addEventListener("focus", this._updateUseCurrentButton.bind(this), false); |
|
1233 |
|
1234 this.updateBrowserStartupLastSession(); |
|
1235 |
|
1236 @@ -704,16 +710,27 @@ var gMainPane = { |
|
1237 let alwaysCheckPref = document.getElementById("browser.shell.checkDefaultBrowser"); |
|
1238 alwaysCheckPref.value = true; |
|
1239 |
|
1240 let shellSvc = getShellService(); |
|
1241 if (!shellSvc) |
|
1242 return; |
|
1243 try { |
|
1244 shellSvc.setDefaultBrowser(true, false); |
|
1245 + if (kde_session == 1) { |
|
1246 + var shellObj = Components.classes["@mozilla.org/file/local;1"] |
|
1247 + .createInstance(Components.interfaces.nsILocalFile); |
|
1248 + shellObj.initWithPath("/usr/bin/kwriteconfig"); |
|
1249 + var process = Components.classes["@mozilla.org/process/util;1"] |
|
1250 + .createInstance(Components.interfaces.nsIProcess); |
|
1251 + process.init(shellObj); |
|
1252 + var args = ["--file", "kdeglobals", "--group", "General", "--key", |
|
1253 + "BrowserApplication", "firefox"]; |
|
1254 + process.run(false, args, args.length); |
|
1255 + } |
|
1256 } catch (ex) { |
|
1257 Cu.reportError(ex); |
|
1258 return; |
|
1259 } |
|
1260 |
|
1261 let selectedIndex = shellSvc.isDefaultBrowser(false, true) ? 1 : 0; |
|
1262 document.getElementById("setDefaultPane").selectedIndex = selectedIndex; |
|
1263 } |
1345 diff --git a/browser/components/shell/moz.build b/browser/components/shell/moz.build |
1264 diff --git a/browser/components/shell/moz.build b/browser/components/shell/moz.build |
1346 --- a/browser/components/shell/moz.build |
1265 --- a/browser/components/shell/moz.build |
1347 +++ b/browser/components/shell/moz.build |
1266 +++ b/browser/components/shell/moz.build |
1348 @@ -34,16 +34,18 @@ if CONFIG['OS_ARCH'] == 'WINNT': |
1267 @@ -34,16 +34,18 @@ if CONFIG['OS_ARCH'] == 'WINNT': |
1349 ] |
1268 ] |