19 #include "plstr.h" |
19 #include "plstr.h" |
20 #include "prlink.h" |
20 #include "prlink.h" |
21 +#include "nsKDEUtils.h" |
21 +#include "nsKDEUtils.h" |
22 |
22 |
23 #ifdef MOZ_MEMORY |
23 #ifdef MOZ_MEMORY |
24 #include "mozmemory.h" |
24 # include "mozmemory.h" |
25 #endif |
25 #endif |
26 |
26 |
27 #ifdef XP_WIN |
27 #ifdef XP_WIN |
28 #include "windows.h" |
28 # include "windows.h" |
29 #endif |
29 #endif |
30 @@ -4466,25 +4467,37 @@ float MOZ_MAYBE_UNUSED GetPref<float>(co |
30 @@ -4467,25 +4468,37 @@ float MOZ_MAYBE_UNUSED GetPref<float>(co |
31 // application pref files for backwards compatibility. |
31 // application pref files for backwards compatibility. |
32 static const char* specialFiles[] = { |
32 static const char* specialFiles[] = { |
33 #if defined(XP_MACOSX) |
33 #if defined(XP_MACOSX) |
34 "macprefs.js" |
34 "macprefs.js" |
35 #elif defined(XP_WIN) |
35 #elif defined(XP_WIN) |
36 "winpref.js" |
36 "winpref.js" |
37 #elif defined(XP_UNIX) |
37 #elif defined(XP_UNIX) |
38 "unix.js" |
38 "unix.js" |
39 + , "" // placeholder for KDE (empty is otherwise harmless) |
39 + , "" // placeholder for KDE (empty is otherwise harmless) |
40 #if defined(_AIX) |
40 # if defined(_AIX) |
41 , |
41 , |
42 "aix.js" |
42 "aix.js" |
43 #endif |
43 # endif |
44 #elif defined(XP_BEOS) |
44 #elif defined(XP_BEOS) |
45 "beos.js" |
45 "beos.js" |
46 #endif |
46 #endif |
47 }; |
47 }; |
48 |
48 |
169 with Files('**'): |
169 with Files('**'): |
170 BUG_COMPONENT = ('Toolkit', 'Downloads API') |
170 BUG_COMPONENT = ('Toolkit', 'Downloads API') |
171 diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn |
171 diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn |
172 --- a/toolkit/content/jar.mn |
172 --- a/toolkit/content/jar.mn |
173 +++ b/toolkit/content/jar.mn |
173 +++ b/toolkit/content/jar.mn |
174 @@ -67,16 +67,18 @@ toolkit.jar: |
174 @@ -65,16 +65,18 @@ toolkit.jar: |
|
175 content/global/bindings/button.xml (widgets/button.xml) |
175 content/global/bindings/calendar.js (widgets/calendar.js) |
176 content/global/bindings/calendar.js (widgets/calendar.js) |
176 content/global/bindings/checkbox.xml (widgets/checkbox.xml) |
177 content/global/bindings/checkbox.xml (widgets/checkbox.xml) |
177 content/global/bindings/datekeeper.js (widgets/datekeeper.js) |
178 content/global/bindings/datekeeper.js (widgets/datekeeper.js) |
178 content/global/bindings/datepicker.js (widgets/datepicker.js) |
179 content/global/bindings/datepicker.js (widgets/datepicker.js) |
179 content/global/bindings/datetimepopup.xml (widgets/datetimepopup.xml) |
|
180 content/global/bindings/datetimebox.xml (widgets/datetimebox.xml) |
180 content/global/bindings/datetimebox.xml (widgets/datetimebox.xml) |
181 content/global/bindings/datetimebox.css (widgets/datetimebox.css) |
181 content/global/bindings/datetimebox.css (widgets/datetimebox.css) |
182 * content/global/bindings/dialog.xml (widgets/dialog.xml) |
182 * content/global/bindings/dialog.xml (widgets/dialog.xml) |
183 +* content/global/bindings/dialog-kde.xml (widgets/dialog-kde.xml) |
183 +* content/global/bindings/dialog-kde.xml (widgets/dialog-kde.xml) |
184 +% override chrome://global/content/bindings/dialog.xml chrome://global/content/bindings/dialog-kde.xml desktop=kde |
184 +% override chrome://global/content/bindings/dialog.xml chrome://global/content/bindings/dialog-kde.xml desktop=kde |
185 content/global/bindings/general.xml (widgets/general.xml) |
185 content/global/bindings/general.xml (widgets/general.xml) |
186 content/global/bindings/menu.xml (widgets/menu.xml) |
186 content/global/bindings/menu.xml (widgets/menu.xml) |
187 content/global/bindings/menulist.xml (widgets/menulist.xml) |
187 content/global/bindings/menulist.xml (widgets/menulist.xml) |
188 content/global/bindings/notification.xml (widgets/notification.xml) |
188 content/global/bindings/notification.xml (widgets/notification.xml) |
189 content/global/bindings/numberbox.xml (widgets/numberbox.xml) |
|
190 content/global/bindings/popup.xml (widgets/popup.xml) |
189 content/global/bindings/popup.xml (widgets/popup.xml) |
191 content/global/bindings/radio.xml (widgets/radio.xml) |
190 content/global/bindings/radio.xml (widgets/radio.xml) |
192 content/global/bindings/richlistbox.xml (widgets/richlistbox.xml) |
191 content/global/bindings/richlistbox.xml (widgets/richlistbox.xml) |
|
192 content/global/bindings/scrollbox.xml (widgets/scrollbox.xml) |
193 diff --git a/toolkit/content/widgets/dialog-kde.xml b/toolkit/content/widgets/dialog-kde.xml |
193 diff --git a/toolkit/content/widgets/dialog-kde.xml b/toolkit/content/widgets/dialog-kde.xml |
194 new file mode 100644 |
194 new file mode 100644 |
195 --- /dev/null |
195 --- /dev/null |
196 +++ b/toolkit/content/widgets/dialog-kde.xml |
196 +++ b/toolkit/content/widgets/dialog-kde.xml |
197 @@ -0,0 +1,477 @@ |
197 @@ -0,0 +1,507 @@ |
198 +<?xml version="1.0"?> |
198 +<?xml version="1.0"?> |
199 +<!-- This Source Code Form is subject to the terms of the Mozilla Public |
199 +<!-- This Source Code Form is subject to the terms of the Mozilla Public |
200 + - License, v. 2.0. If a copy of the MPL was not distributed with this |
200 + - License, v. 2.0. If a copy of the MPL was not distributed with this |
201 + - file, You can obtain one at http://mozilla.org/MPL/2.0/. --> |
201 + - file, You can obtain one at http://mozilla.org/MPL/2.0/. --> |
202 + |
202 + |
227 + <xul:spacer anonid="spacer" flex="1"/> |
227 + <xul:spacer anonid="spacer" flex="1"/> |
228 + <xul:button dlgtype="cancel" class="dialog-button"/> |
228 + <xul:button dlgtype="cancel" class="dialog-button"/> |
229 + <xul:button dlgtype="accept" class="dialog-button" xbl:inherits="disabled=buttondisabledaccept"/> |
229 + <xul:button dlgtype="accept" class="dialog-button" xbl:inherits="disabled=buttondisabledaccept"/> |
230 +#elif XP_UNIX |
230 +#elif XP_UNIX |
231 + > |
231 + > |
232 + <xul:button dlgtype="help" class="dialog-button" hidden="true"/> |
232 + <xul:button dlgtype="help" class="dialog-button" hidden="true"/> |
233 + <xul:button dlgtype="extra2" class="dialog-button" hidden="true"/> |
233 + <xul:button dlgtype="extra2" class="dialog-button" hidden="true"/> |
234 + <xul:spacer anonid="spacer" flex="1"/> |
234 + <xul:spacer anonid="spacer" flex="1"/> |
235 + <xul:button dlgtype="accept" class="dialog-button" xbl:inherits="disabled=buttondisabledaccept"/> |
235 + <xul:button dlgtype="accept" class="dialog-button" xbl:inherits="disabled=buttondisabledaccept"/> |
236 + <xul:button dlgtype="extra1" class="dialog-button" hidden="true"/> |
236 + <xul:button dlgtype="extra1" class="dialog-button" hidden="true"/> |
237 + <xul:button dlgtype="cancel" class="dialog-button"/> |
237 + <xul:button dlgtype="cancel" class="dialog-button"/> |
264 + <field name="_closeHandler">(function(event) { |
264 + <field name="_closeHandler">(function(event) { |
265 + if (!document.documentElement.cancelDialog()) |
265 + if (!document.documentElement.cancelDialog()) |
266 + event.preventDefault(); |
266 + event.preventDefault(); |
267 + })</field> |
267 + })</field> |
268 + |
268 + |
|
269 + <!-- Gets populated by elements that are passed to document.l10n.setAttributes |
|
270 + to localize the dialog buttons. Needed to properly size the dialog after |
|
271 + the asynchronous translation. --> |
|
272 + <field name="_l10nButtons">[]</field> |
|
273 + |
269 + <property name="buttons" |
274 + <property name="buttons" |
270 + onget="return this.getAttribute('buttons');" |
275 + onget="return this.getAttribute('buttons');" |
271 + onset="this._configureButtons(val); return val;"/> |
276 + onset="this._configureButtons(val); return val;"/> |
272 + |
277 + |
273 + <property name="defaultButton"> |
278 + <property name="defaultButton"> |
363 + <constructor> |
368 + <constructor> |
364 + <![CDATA[ |
369 + <![CDATA[ |
365 + this._configureButtons(this.buttons); |
370 + this._configureButtons(this.buttons); |
366 + |
371 + |
367 + // listen for when window is closed via native close buttons |
372 + // listen for when window is closed via native close buttons |
368 + window.addEventListener("close", this._closeHandler); |
373 + window.addEventListener("close", this); |
369 + |
374 + |
370 + // for things that we need to initialize after onload fires |
375 + // for things that we need to initialize after onload fires |
371 + window.addEventListener("load", this.postLoadInit); |
376 + window.addEventListener("load", this); |
372 + |
377 + |
373 + window.moveToAlertPosition = this.moveToAlertPosition; |
378 + window.moveToAlertPosition = this.moveToAlertPosition; |
374 + window.centerWindowOnScreen = this.centerWindowOnScreen; |
379 + window.centerWindowOnScreen = this.centerWindowOnScreen; |
375 + ]]> |
380 + ]]> |
376 + </constructor> |
381 + </constructor> |
|
382 + |
|
383 + <method name="handleEvent"> |
|
384 + <parameter name="aEvent"/> |
|
385 + <body><![CDATA[ |
|
386 + switch (aEvent.type) { |
|
387 + case "close": { |
|
388 + this._closeHandler(aEvent); |
|
389 + break; |
|
390 + } |
|
391 + case "load": { |
|
392 + this.postLoadInit(aEvent); |
|
393 + break; |
|
394 + } |
|
395 + } |
|
396 + ]]></body> |
|
397 + </method> |
377 + |
398 + |
378 + <method name="postLoadInit"> |
399 + <method name="postLoadInit"> |
379 + <parameter name="aEvent"/> |
400 + <parameter name="aEvent"/> |
380 + <body> |
401 + <body> |
381 + <![CDATA[ |
402 + <![CDATA[ |
488 + // dialog attributes override the default labels in dialog.properties |
515 + // dialog attributes override the default labels in dialog.properties |
489 + if (this.hasAttribute("buttonlabel" + dlgtype)) { |
516 + if (this.hasAttribute("buttonlabel" + dlgtype)) { |
490 + button.setAttribute("label", this.getAttribute("buttonlabel" + dlgtype)); |
517 + button.setAttribute("label", this.getAttribute("buttonlabel" + dlgtype)); |
491 + if (this.hasAttribute("buttonaccesskey" + dlgtype)) |
518 + if (this.hasAttribute("buttonaccesskey" + dlgtype)) |
492 + button.setAttribute("accesskey", this.getAttribute("buttonaccesskey" + dlgtype)); |
519 + button.setAttribute("accesskey", this.getAttribute("buttonaccesskey" + dlgtype)); |
|
520 + } else if (this.hasAttribute("buttonid" + dlgtype)) { |
|
521 + document.l10n.setAttributes(button, this.getAttribute("buttonid" + dlgtype)); |
|
522 + this._l10nButtons.push(button); |
493 + } else if (dlgtype != "extra1" && dlgtype != "extra2") { |
523 + } else if (dlgtype != "extra1" && dlgtype != "extra2") { |
494 + button.setAttribute("label", this.mStrBundle.GetStringFromName("button-" + dlgtype)); |
524 + button.setAttribute("label", this.mStrBundle.GetStringFromName("button-" + dlgtype)); |
495 + var accessKey = this.mStrBundle.GetStringFromName("accesskey-" + dlgtype); |
525 + var accessKey = this.mStrBundle.GetStringFromName("accesskey-" + dlgtype); |
496 + if (accessKey) |
526 + if (accessKey) |
497 + button.setAttribute("accesskey", accessKey); |
527 + button.setAttribute("accesskey", accessKey); |
498 + } else if (this.hasAttribute("buttonid" + dlgtype)) { |
|
499 + document.l10n.setAttributes(button, this.getAttribute("buttonid" + dlgtype)); |
|
500 + } |
528 + } |
501 + } |
529 + } |
502 + // allow specifying alternate icons in the dialog header |
530 + // allow specifying alternate icons in the dialog header |
503 + if (!button.hasAttribute("icon")) { |
531 + if (!button.hasAttribute("icon")) { |
504 + // if there's an icon specified, use that |
532 + // if there's an icon specified, use that |
662 + <handler event="keypress" key="." modifiers="meta" phase="capturing" action="this.cancelDialog();"/> |
690 + <handler event="keypress" key="." modifiers="meta" phase="capturing" action="this.cancelDialog();"/> |
663 +#else |
691 +#else |
664 + <handler event="focus" phase="capturing"> |
692 + <handler event="focus" phase="capturing"> |
665 + var btn = this.getButton(this.defaultButton); |
693 + var btn = this.getButton(this.defaultButton); |
666 + if (btn) |
694 + if (btn) |
667 + btn.setAttribute("default", event.originalTarget == btn || !(event.originalTarget instanceof Ci.nsIDOMXULButtonElement)); |
695 + btn.setAttribute("default", event.originalTarget == btn || |
|
696 + !(event.originalTarget.localName == "button" || |
|
697 + event.originalTarget.localName == "toolbarbutton")); |
668 + </handler> |
698 + </handler> |
669 +#endif |
699 +#endif |
670 + </handlers> |
700 + </handlers> |
671 + |
701 + |
672 + </binding> |
702 + </binding> |
673 + |
703 + |
674 +</bindings> |
704 +</bindings> |
675 diff --git a/toolkit/mozapps/downloads/nsHelperAppDlg.js b/toolkit/mozapps/downloads/nsHelperAppDlg.js |
705 diff --git a/toolkit/mozapps/downloads/nsHelperAppDlg.js b/toolkit/mozapps/downloads/nsHelperAppDlg.js |
676 --- a/toolkit/mozapps/downloads/nsHelperAppDlg.js |
706 --- a/toolkit/mozapps/downloads/nsHelperAppDlg.js |
677 +++ b/toolkit/mozapps/downloads/nsHelperAppDlg.js |
707 +++ b/toolkit/mozapps/downloads/nsHelperAppDlg.js |
678 @@ -1030,30 +1030,60 @@ nsUnknownContentTypeDialog.prototype = { |
708 @@ -1033,30 +1033,60 @@ nsUnknownContentTypeDialog.prototype = { |
679 |
709 |
680 if (params.handlerApp && |
710 if (params.handlerApp && |
681 params.handlerApp.executable && |
711 params.handlerApp.executable && |
682 params.handlerApp.executable.isFile()) { |
712 params.handlerApp.executable.isFile()) { |
683 // Remember the file they chose to run. |
713 // Remember the file they chose to run. |
846 +} |
876 +} |
847 + |
877 + |
848 diff --git a/toolkit/xre/moz.build b/toolkit/xre/moz.build |
878 diff --git a/toolkit/xre/moz.build b/toolkit/xre/moz.build |
849 --- a/toolkit/xre/moz.build |
879 --- a/toolkit/xre/moz.build |
850 +++ b/toolkit/xre/moz.build |
880 +++ b/toolkit/xre/moz.build |
851 @@ -73,17 +73,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'co |
881 @@ -81,17 +81,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'co |
852 '../components/printingui', |
882 '../components/printingui', |
853 ] |
883 ] |
854 elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'uikit': |
884 elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'uikit': |
855 UNIFIED_SOURCES += [ |
885 UNIFIED_SOURCES += [ |
856 'nsNativeAppSupportDefault.cpp', |
886 'nsNativeAppSupportDefault.cpp', |
1279 #include "nsIHandlerService.h" |
1309 #include "nsIHandlerService.h" |
1280 #include "nsIMIMEInfo.h" |
1310 #include "nsIMIMEInfo.h" |
1281 #include "ContentHandlerService.h" |
1311 #include "ContentHandlerService.h" |
1282 #include "nsStringEnumerator.h" |
1312 #include "nsStringEnumerator.h" |
1283 #ifdef MOZ_WIDGET_GTK |
1313 #ifdef MOZ_WIDGET_GTK |
1284 -#include "unix/nsGNOMERegistry.h" |
1314 -# include "unix/nsGNOMERegistry.h" |
1285 +#include "unix/nsCommonRegistry.h" |
1315 +# include "unix/nsCommonRegistry.h" |
1286 #endif |
1316 #endif |
1287 |
1317 |
1288 using mozilla::dom::ContentHandlerService; |
1318 using mozilla::dom::ContentHandlerService; |
1289 using mozilla::dom::HandlerApp; |
1319 using mozilla::dom::HandlerApp; |
1290 using mozilla::dom::HandlerInfo; |
1320 using mozilla::dom::HandlerInfo; |
1589 #include "nsIGIOService.h" |
1619 #include "nsIGIOService.h" |
1590 #include "nsNetCID.h" |
1620 #include "nsNetCID.h" |
1591 #include "nsIIOService.h" |
1621 #include "nsIIOService.h" |
1592 #include "nsAutoPtr.h" |
1622 #include "nsAutoPtr.h" |
1593 #ifdef MOZ_ENABLE_DBUS |
1623 #ifdef MOZ_ENABLE_DBUS |
1594 #include "nsDBusHandlerApp.h" |
1624 # include "nsDBusHandlerApp.h" |
1595 #endif |
1625 #endif |
1596 +#if defined(XP_UNIX) && !defined(XP_MACOSX) |
1626 +#if defined(XP_UNIX) && !defined(XP_MACOSX) |
1597 +#include "nsKDEUtils.h" |
1627 +#include "nsKDEUtils.h" |
1598 +#endif |
1628 +#endif |
1599 |
1629 |
1676 #include <sys/stat.h> |
1706 #include <sys/stat.h> |
1677 |
1707 |
1678 #include "nsOSHelperAppService.h" |
1708 #include "nsOSHelperAppService.h" |
1679 #include "nsMIMEInfoUnix.h" |
1709 #include "nsMIMEInfoUnix.h" |
1680 #ifdef MOZ_WIDGET_GTK |
1710 #ifdef MOZ_WIDGET_GTK |
1681 -#include "nsGNOMERegistry.h" |
1711 -# include "nsGNOMERegistry.h" |
1682 +#include "nsCommonRegistry.h" |
1712 +# include "nsCommonRegistry.h" |
1683 #endif |
1713 #endif |
1684 #include "nsISupports.h" |
1714 #include "nsISupports.h" |
1685 #include "nsString.h" |
1715 #include "nsString.h" |
1686 #include "nsReadableUtils.h" |
1716 #include "nsReadableUtils.h" |
1687 #include "nsUnicharUtils.h" |
1717 #include "nsUnicharUtils.h" |
1688 #include "nsIURL.h" |
1718 #include "nsIURL.h" |
1689 #include "nsIFileStreams.h" |
1719 #include "nsIFileStreams.h" |
1690 #include "nsILineInputStream.h" |
1720 #include "nsILineInputStream.h" |
1691 @@ -1031,17 +1031,17 @@ nsresult nsOSHelperAppService::GetHandle |
1721 @@ -1025,17 +1025,17 @@ nsresult nsOSHelperAppService::GetHandle |
1692 |
1722 |
1693 nsresult nsOSHelperAppService::OSProtocolHandlerExists( |
1723 nsresult nsOSHelperAppService::OSProtocolHandlerExists( |
1694 const char* aProtocolScheme, bool* aHandlerExists) { |
1724 const char* aProtocolScheme, bool* aHandlerExists) { |
1695 nsresult rv = NS_OK; |
1725 nsresult rv = NS_OK; |
1696 |
1726 |
1724 #endif |
1754 #endif |
1725 } |
1755 } |
1726 |
1756 |
1727 nsresult nsOSHelperAppService::GetFileTokenForPath( |
1757 nsresult nsOSHelperAppService::GetFileTokenForPath( |
1728 const char16_t* platformAppPath, nsIFile** aFile) { |
1758 const char16_t* platformAppPath, nsIFile** aFile) { |
1729 @@ -1142,17 +1142,17 @@ already_AddRefed<nsMIMEInfoBase> nsOSHel |
1759 @@ -1136,17 +1136,17 @@ already_AddRefed<nsMIMEInfoBase> nsOSHel |
1730 nsresult rv = |
1760 nsresult rv = |
1731 LookUpTypeAndDescription(NS_ConvertUTF8toUTF16(aFileExt), majorType, |
1761 LookUpTypeAndDescription(NS_ConvertUTF8toUTF16(aFileExt), majorType, |
1732 minorType, mime_types_description, true); |
1762 minorType, mime_types_description, true); |
1733 |
1763 |
1734 if (NS_FAILED(rv) || majorType.IsEmpty()) { |
1764 if (NS_FAILED(rv) || majorType.IsEmpty()) { |
1743 } |
1773 } |
1744 #endif |
1774 #endif |
1745 |
1775 |
1746 rv = LookUpTypeAndDescription(NS_ConvertUTF8toUTF16(aFileExt), majorType, |
1776 rv = LookUpTypeAndDescription(NS_ConvertUTF8toUTF16(aFileExt), majorType, |
1747 minorType, mime_types_description, false); |
1777 minorType, mime_types_description, false); |
1748 @@ -1254,17 +1254,17 @@ already_AddRefed<nsMIMEInfoBase> nsOSHel |
1778 @@ -1248,17 +1248,17 @@ already_AddRefed<nsMIMEInfoBase> nsOSHel |
1749 |
1779 |
1750 // Now look up our extensions |
1780 // Now look up our extensions |
1751 nsAutoString extensions, mime_types_description; |
1781 nsAutoString extensions, mime_types_description; |
1752 LookUpExtensionsAndDescription(majorType, minorType, extensions, |
1782 LookUpExtensionsAndDescription(majorType, minorType, extensions, |
1753 mime_types_description); |
1783 mime_types_description); |
2199 } |
2229 } |
2200 |
2230 |
2201 nsAutoString osVersion; |
2231 nsAutoString osVersion; |
2202 + nsAutoString desktop; |
2232 + nsAutoString desktop; |
2203 #if defined(XP_WIN) |
2233 #if defined(XP_WIN) |
2204 #pragma warning(push) |
2234 # pragma warning(push) |
2205 #pragma warning(disable : 4996) // VC12+ deprecates GetVersionEx |
2235 # pragma warning(disable : 4996) // VC12+ deprecates GetVersionEx |
2206 OSVERSIONINFO info = {sizeof(OSVERSIONINFO)}; |
2236 OSVERSIONINFO info = {sizeof(OSVERSIONINFO)}; |
2207 if (GetVersionEx(&info)) { |
2237 if (GetVersionEx(&info)) { |
2208 nsTextFormatter::ssprintf(osVersion, u"%ld.%ld", info.dwMajorVersion, |
2238 nsTextFormatter::ssprintf(osVersion, u"%ld.%ld", info.dwMajorVersion, |
2209 info.dwMinorVersion); |
2239 info.dwMinorVersion); |
2210 } |
2240 } |
2211 + desktop = NS_LITERAL_STRING("win"); |
2241 + desktop = NS_LITERAL_STRING("win"); |
2212 #pragma warning(pop) |
2242 # pragma warning(pop) |
2213 #elif defined(MOZ_WIDGET_COCOA) |
2243 #elif defined(MOZ_WIDGET_COCOA) |
2214 SInt32 majorVersion = nsCocoaFeatures::OSXVersionMajor(); |
2244 SInt32 majorVersion = nsCocoaFeatures::OSXVersionMajor(); |
2215 SInt32 minorVersion = nsCocoaFeatures::OSXVersionMinor(); |
2245 SInt32 minorVersion = nsCocoaFeatures::OSXVersionMinor(); |
2216 nsTextFormatter::ssprintf(osVersion, u"%ld.%ld", majorVersion, minorVersion); |
2246 nsTextFormatter::ssprintf(osVersion, u"%ld.%ld", majorVersion, minorVersion); |
2217 + desktop = NS_LITERAL_STRING("macosx"); |
2247 + desktop = NS_LITERAL_STRING("macosx"); |
2308 #include "nsSimpleEnumerator.h" |
2338 #include "nsSimpleEnumerator.h" |
2309 #include "private/pprio.h" |
2339 #include "private/pprio.h" |
2310 #include "prlink.h" |
2340 #include "prlink.h" |
2311 |
2341 |
2312 #ifdef MOZ_WIDGET_GTK |
2342 #ifdef MOZ_WIDGET_GTK |
2313 #include "nsIGIOService.h" |
2343 # include "nsIGIOService.h" |
2314 +#include "nsKDEUtils.h" |
2344 +# include "nsKDEUtils.h" |
2315 #endif |
2345 #endif |
2316 |
2346 |
2317 #ifdef MOZ_WIDGET_COCOA |
2347 #ifdef MOZ_WIDGET_COCOA |
2318 #include <Carbon/Carbon.h> |
2348 # include <Carbon/Carbon.h> |
2319 #include "CocoaFileUtils.h" |
2349 # include "CocoaFileUtils.h" |
2320 #include "prmem.h" |
2350 # include "prmem.h" |
2321 #include "plbase64.h" |
2351 # include "plbase64.h" |
2322 |
2352 |
2323 @@ -1902,62 +1903,77 @@ nsLocalFile::SetPersistentDescriptor(con |
2353 @@ -1902,62 +1903,77 @@ nsLocalFile::SetPersistentDescriptor(con |
2324 |
2354 |
2325 NS_IMETHODIMP |
2355 NS_IMETHODIMP |
2326 nsLocalFile::Reveal() { |
2356 nsLocalFile::Reveal() { |