1 # HG changeset patch |
1 # HG changeset patch |
2 # Parent f55e33a10c2a23625826ef6f8dbe18d5a455d29e |
2 # Parent cafacdb0b7c50666e5dcc927684a23e8733206a5 |
3 Description: Add KDE integration to Firefox (toolkit parts) |
3 Description: Add KDE integration to Firefox (toolkit parts) |
4 Author: Wolfgang Rosenauer <wolfgang@rosenauer.org> |
4 Author: Wolfgang Rosenauer <wolfgang@rosenauer.org> |
5 Author: Lubos Lunak <lunak@suse.com> |
5 Author: Lubos Lunak <lunak@suse.com> |
6 Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=140751 |
6 Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=140751 |
7 https://bugzilla.novell.com/show_bug.cgi?id=170055 |
7 https://bugzilla.novell.com/show_bug.cgi?id=170055 |
63 NS_WARNING("Error parsing application default preferences."); |
63 NS_WARNING("Error parsing application default preferences."); |
64 } |
64 } |
65 |
65 |
66 // Load jar:$app/omni.jar!/defaults/preferences/*.js |
66 // Load jar:$app/omni.jar!/defaults/preferences/*.js |
67 // or jar:$gre/omni.jar!/defaults/preferences/*.js. |
67 // or jar:$gre/omni.jar!/defaults/preferences/*.js. |
68 @@ -4533,17 +4546,17 @@ float MOZ_MAYBE_UNUSED GetPref<float>(co |
68 @@ -4559,17 +4572,17 @@ float MOZ_MAYBE_UNUSED GetPref<float>(co |
69 } |
69 } |
70 |
70 |
71 nsCOMPtr<nsIFile> path = do_QueryInterface(elem); |
71 nsCOMPtr<nsIFile> path = do_QueryInterface(elem); |
72 if (!path) { |
72 if (!path) { |
73 continue; |
73 continue; |
95 'Preferences.cpp', |
95 'Preferences.cpp', |
96 'SharedPrefMap.cpp', |
96 'SharedPrefMap.cpp', |
97 ] |
97 ] |
98 |
98 |
99 +LOCAL_INCLUDES += [ |
99 +LOCAL_INCLUDES += [ |
100 + '/toolkit/xre' |
100 + '/toolkit/xre' |
101 +] |
101 +] |
102 + |
102 + |
|
103 XPCOM_MANIFESTS += [ |
|
104 'components.conf', |
|
105 ] |
|
106 |
103 include('/ipc/chromium/chromium-config.mozbuild') |
107 include('/ipc/chromium/chromium-config.mozbuild') |
104 |
108 |
105 FINAL_LIBRARY = 'xul' |
109 FINAL_LIBRARY = 'xul' |
106 |
110 |
107 DEFINES['OS_ARCH'] = CONFIG['OS_ARCH'] |
|
108 DEFINES['MOZ_WIDGET_TOOLKIT'] = CONFIG['MOZ_WIDGET_TOOLKIT'] |
|
109 if CONFIG['MOZ_ENABLE_WEBRENDER']: |
|
110 DEFINES['MOZ_ENABLE_WEBRENDER'] = True |
|
111 diff --git a/python/mozbuild/mozpack/chrome/flags.py b/python/mozbuild/mozpack/chrome/flags.py |
111 diff --git a/python/mozbuild/mozpack/chrome/flags.py b/python/mozbuild/mozpack/chrome/flags.py |
112 --- a/python/mozbuild/mozpack/chrome/flags.py |
112 --- a/python/mozbuild/mozpack/chrome/flags.py |
113 +++ b/python/mozbuild/mozpack/chrome/flags.py |
113 +++ b/python/mozbuild/mozpack/chrome/flags.py |
114 @@ -220,16 +220,17 @@ class Flags(OrderedDict): |
114 @@ -223,16 +223,17 @@ class Flags(OrderedDict): |
115 'contentaccessible': Flag, |
115 'contentaccessible': Flag, |
116 'os': StringFlag, |
116 'os': StringFlag, |
117 'osversion': VersionFlag, |
117 'osversion': VersionFlag, |
118 'abi': StringFlag, |
118 'abi': StringFlag, |
119 'platform': Flag, |
119 'platform': Flag, |
151 self.base = base |
151 self.base = base |
152 self.flags = Flags(*flags) |
152 self.flags = Flags(*flags) |
153 diff --git a/toolkit/components/downloads/moz.build b/toolkit/components/downloads/moz.build |
153 diff --git a/toolkit/components/downloads/moz.build b/toolkit/components/downloads/moz.build |
154 --- a/toolkit/components/downloads/moz.build |
154 --- a/toolkit/components/downloads/moz.build |
155 +++ b/toolkit/components/downloads/moz.build |
155 +++ b/toolkit/components/downloads/moz.build |
156 @@ -41,10 +41,14 @@ EXTRA_JS_MODULES += [ |
156 @@ -41,10 +41,14 @@ XPCOM_MANIFESTS += [ |
157 |
157 |
158 if CONFIG['MOZ_PLACES']: |
158 if CONFIG['MOZ_PLACES']: |
159 EXTRA_JS_MODULES += [ |
159 EXTRA_JS_MODULES += [ |
160 'DownloadHistory.jsm', |
160 'DownloadHistory.jsm', |
161 ] |
161 ] |
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 @@ -65,16 +65,18 @@ toolkit.jar: |
174 @@ -63,16 +63,18 @@ toolkit.jar: |
|
175 content/global/widgets.css |
|
176 content/global/bindings/autocomplete.xml (widgets/autocomplete.xml) |
175 content/global/bindings/button.xml (widgets/button.xml) |
177 content/global/bindings/button.xml (widgets/button.xml) |
176 content/global/bindings/calendar.js (widgets/calendar.js) |
178 content/global/bindings/calendar.js (widgets/calendar.js) |
177 content/global/bindings/checkbox.xml (widgets/checkbox.xml) |
|
178 content/global/bindings/datekeeper.js (widgets/datekeeper.js) |
179 content/global/bindings/datekeeper.js (widgets/datekeeper.js) |
179 content/global/bindings/datepicker.js (widgets/datepicker.js) |
180 content/global/bindings/datepicker.js (widgets/datepicker.js) |
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) |
|
188 content/global/bindings/notification.xml (widgets/notification.xml) |
|
189 content/global/bindings/popup.xml (widgets/popup.xml) |
187 content/global/bindings/popup.xml (widgets/popup.xml) |
190 content/global/bindings/radio.xml (widgets/radio.xml) |
188 content/global/bindings/radio.xml (widgets/radio.xml) |
191 content/global/bindings/richlistbox.xml (widgets/richlistbox.xml) |
189 content/global/bindings/richlistbox.xml (widgets/richlistbox.xml) |
192 content/global/bindings/scrollbox.xml (widgets/scrollbox.xml) |
190 content/global/bindings/scrollbox.xml (widgets/scrollbox.xml) |
|
191 content/global/bindings/spinner.js (widgets/spinner.js) |
|
192 content/global/bindings/tabbox.xml (widgets/tabbox.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,507 @@ |
197 @@ -0,0 +1,507 @@ |
700 + </handlers> |
700 + </handlers> |
701 + |
701 + |
702 + </binding> |
702 + </binding> |
703 + |
703 + |
704 +</bindings> |
704 +</bindings> |
705 diff --git a/toolkit/mozapps/downloads/nsHelperAppDlg.js b/toolkit/mozapps/downloads/nsHelperAppDlg.js |
705 diff --git a/toolkit/mozapps/downloads/HelperAppDlg.jsm b/toolkit/mozapps/downloads/HelperAppDlg.jsm |
706 --- a/toolkit/mozapps/downloads/nsHelperAppDlg.js |
706 --- a/toolkit/mozapps/downloads/HelperAppDlg.jsm |
707 +++ b/toolkit/mozapps/downloads/nsHelperAppDlg.js |
707 +++ b/toolkit/mozapps/downloads/HelperAppDlg.jsm |
708 @@ -1033,30 +1033,60 @@ nsUnknownContentTypeDialog.prototype = { |
708 @@ -1030,30 +1030,60 @@ nsUnknownContentTypeDialog.prototype = { |
709 |
709 |
710 if (params.handlerApp && |
710 if (params.handlerApp && |
711 params.handlerApp.executable && |
711 params.handlerApp.executable && |
712 params.handlerApp.executable.isFile()) { |
712 params.handlerApp.executable.isFile()) { |
713 // Remember the file they chose to run. |
713 // Remember the file they chose to run. |
792 #include "nsInterfaceHashtable.h" |
792 #include "nsInterfaceHashtable.h" |
793 #include "mozilla/Attributes.h" |
793 #include "mozilla/Attributes.h" |
794 #include "nsIURI.h" |
794 #include "nsIURI.h" |
795 +#include "nsKDEUtils.h" |
795 +#include "nsKDEUtils.h" |
796 |
796 |
|
797 using namespace mozilla; |
|
798 |
797 class nsUnixSystemProxySettings final : public nsISystemProxySettings { |
799 class nsUnixSystemProxySettings final : public nsISystemProxySettings { |
798 public: |
800 public: |
799 NS_DECL_ISUPPORTS |
801 NS_DECL_ISUPPORTS |
800 NS_DECL_NSISYSTEMPROXYSETTINGS |
802 NS_DECL_NSISYSTEMPROXYSETTINGS |
801 |
803 |
802 nsUnixSystemProxySettings() : mSchemeProxySettings(4) {} |
804 @@ -44,16 +45,18 @@ class nsUnixSystemProxySettings final : |
803 nsresult Init(); |
|
804 @@ -42,16 +43,18 @@ class nsUnixSystemProxySettings final : |
|
805 nsACString& aResult); |
805 nsACString& aResult); |
806 nsresult GetProxyFromGConf(const nsACString& aScheme, const nsACString& aHost, |
806 nsresult GetProxyFromGConf(const nsACString& aScheme, const nsACString& aHost, |
807 int32_t aPort, nsACString& aResult); |
807 int32_t aPort, nsACString& aResult); |
808 nsresult GetProxyFromGSettings(const nsACString& aScheme, |
808 nsresult GetProxyFromGSettings(const nsACString& aScheme, |
809 const nsACString& aHost, int32_t aPort, |
809 const nsACString& aHost, int32_t aPort, |
818 |
818 |
819 NS_IMETHODIMP |
819 NS_IMETHODIMP |
820 nsUnixSystemProxySettings::GetMainThreadOnly(bool* aMainThreadOnly) { |
820 nsUnixSystemProxySettings::GetMainThreadOnly(bool* aMainThreadOnly) { |
821 // dbus prevents us from being threadsafe, but this routine should not block |
821 // dbus prevents us from being threadsafe, but this routine should not block |
822 // anyhow |
822 // anyhow |
823 @@ -488,16 +491,19 @@ nsresult nsUnixSystemProxySettings::GetP |
823 @@ -487,22 +490,51 @@ nsresult nsUnixSystemProxySettings::GetP |
824 return NS_OK; |
824 return NS_OK; |
825 } |
825 } |
826 |
826 |
827 nsresult nsUnixSystemProxySettings::GetProxyForURI(const nsACString& aSpec, |
827 nsresult nsUnixSystemProxySettings::GetProxyForURI(const nsACString& aSpec, |
828 const nsACString& aScheme, |
828 const nsACString& aScheme, |
838 } |
838 } |
839 if (mGConf) return GetProxyFromGConf(aScheme, aHost, aPort, aResult); |
839 if (mGConf) return GetProxyFromGConf(aScheme, aHost, aPort, aResult); |
840 |
840 |
841 return GetProxyFromEnvironment(aScheme, aHost, aPort, aResult); |
841 return GetProxyFromEnvironment(aScheme, aHost, aPort, aResult); |
842 } |
842 } |
843 @@ -521,8 +527,34 @@ static const mozilla::Module::CIDEntry k |
843 |
844 static const mozilla::Module::ContractIDEntry kUnixProxyContracts[] = { |
|
845 {NS_SYSTEMPROXYSETTINGS_CONTRACTID, &kNS_UNIXSYSTEMPROXYSERVICE_CID}, |
|
846 {nullptr}}; |
|
847 |
|
848 static const mozilla::Module kUnixProxyModule = { |
|
849 mozilla::Module::kVersion, kUnixProxyCIDs, kUnixProxyContracts}; |
|
850 |
|
851 NSMODULE_DEFN(nsUnixProxyModule) = &kUnixProxyModule; |
|
852 + |
|
853 +nsresult |
844 +nsresult |
854 +nsUnixSystemProxySettings::GetProxyFromKDE(const nsACString& aScheme, |
845 +nsUnixSystemProxySettings::GetProxyFromKDE(const nsACString& aScheme, |
855 + const nsACString& aHost, |
846 + const nsACString& aHost, |
856 + PRInt32 aPort, |
847 + PRInt32 aPort, |
857 + nsACString& aResult) |
848 + nsACString& aResult) |
873 + return NS_ERROR_FAILURE; |
864 + return NS_ERROR_FAILURE; |
874 + aResult = result[0]; |
865 + aResult = result[0]; |
875 + return NS_OK; |
866 + return NS_OK; |
876 +} |
867 +} |
877 + |
868 + |
|
869 + |
|
870 NS_IMPL_COMPONENT_FACTORY(nsUnixSystemProxySettings) { |
|
871 auto result = MakeRefPtr<nsUnixSystemProxySettings>(); |
|
872 result->Init(); |
|
873 return result.forget().downcast<nsISupports>(); |
|
874 } |
878 diff --git a/toolkit/xre/moz.build b/toolkit/xre/moz.build |
875 diff --git a/toolkit/xre/moz.build b/toolkit/xre/moz.build |
879 --- a/toolkit/xre/moz.build |
876 --- a/toolkit/xre/moz.build |
880 +++ b/toolkit/xre/moz.build |
877 +++ b/toolkit/xre/moz.build |
881 @@ -81,17 +81,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'co |
878 @@ -83,17 +83,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'co |
882 '../components/printingui', |
879 '../components/printingui', |
883 ] |
880 ] |
884 elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'uikit': |
881 elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'uikit': |
885 UNIFIED_SOURCES += [ |
882 UNIFIED_SOURCES += [ |
886 'nsNativeAppSupportDefault.cpp', |
883 'nsNativeAppSupportDefault.cpp', |
1341 mozilla::ipc::IPCResult HandlerServiceParent::RecvGetTypeFromExtension( |
1338 mozilla::ipc::IPCResult HandlerServiceParent::RecvGetTypeFromExtension( |
1342 const nsCString& aFileExtension, nsCString* type) { |
1339 const nsCString& aFileExtension, nsCString* type) { |
1343 diff --git a/uriloader/exthandler/moz.build b/uriloader/exthandler/moz.build |
1340 diff --git a/uriloader/exthandler/moz.build b/uriloader/exthandler/moz.build |
1344 --- a/uriloader/exthandler/moz.build |
1341 --- a/uriloader/exthandler/moz.build |
1345 +++ b/uriloader/exthandler/moz.build |
1342 +++ b/uriloader/exthandler/moz.build |
1346 @@ -76,17 +76,19 @@ else: |
1343 @@ -80,17 +80,19 @@ else: |
1347 SOURCES += [ |
1344 SOURCES += [ |
1348 osdir + '/nsOSHelperAppService.cpp', |
1345 osdir + '/nsOSHelperAppService.cpp', |
1349 ] |
1346 ] |
1350 if CONFIG['CC_TYPE'] in ('clang', 'gcc'): |
1347 if CONFIG['CC_TYPE'] in ('clang', 'gcc'): |
1351 CXXFLAGS += ['-Wno-error=shadow'] |
1348 CXXFLAGS += ['-Wno-error=shadow'] |
1361 UNIFIED_SOURCES += [ |
1358 UNIFIED_SOURCES += [ |
1362 'android/nsAndroidHandlerApp.cpp', |
1359 'android/nsAndroidHandlerApp.cpp', |
1363 'android/nsExternalURLHandlerService.cpp', |
1360 'android/nsExternalURLHandlerService.cpp', |
1364 'android/nsMIMEInfoAndroid.cpp', |
1361 'android/nsMIMEInfoAndroid.cpp', |
1365 ] |
1362 ] |
1366 @@ -120,16 +122,17 @@ include('/ipc/chromium/chromium-config.m |
1363 @@ -130,16 +132,17 @@ include('/ipc/chromium/chromium-config.m |
1367 FINAL_LIBRARY = 'xul' |
1364 FINAL_LIBRARY = 'xul' |
1368 |
1365 |
1369 LOCAL_INCLUDES += [ |
1366 LOCAL_INCLUDES += [ |
1370 '/docshell/base', |
1367 '/docshell/base', |
1371 '/dom/base', |
1368 '/dom/base', |
1795 NS_ASSERTION(!gnomeInfo->HasExtensions(), "How'd that happen?"); |
1792 NS_ASSERTION(!gnomeInfo->HasExtensions(), "How'd that happen?"); |
1796 gnomeInfo->SetFileExtensions(NS_ConvertUTF16toUTF8(extensions)); |
1793 gnomeInfo->SetFileExtensions(NS_ConvertUTF16toUTF8(extensions)); |
1797 diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build |
1794 diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build |
1798 --- a/widget/gtk/moz.build |
1795 --- a/widget/gtk/moz.build |
1799 +++ b/widget/gtk/moz.build |
1796 +++ b/widget/gtk/moz.build |
1800 @@ -116,16 +116,17 @@ include('/ipc/chromium/chromium-config.m |
1797 @@ -121,16 +121,17 @@ include('/ipc/chromium/chromium-config.m |
1801 |
1798 |
1802 FINAL_LIBRARY = 'xul' |
1799 FINAL_LIBRARY = 'xul' |
1803 |
1800 |
1804 LOCAL_INCLUDES += [ |
1801 LOCAL_INCLUDES += [ |
1805 '/layout/base', |
1802 '/layout/base', |
1912 GtkWindow *parent_widget = |
1909 GtkWindow *parent_widget = |
1913 GTK_WINDOW(mParentWidget->GetNativeData(NS_NATIVE_SHELLWIDGET)); |
1910 GTK_WINDOW(mParentWidget->GetNativeData(NS_NATIVE_SHELLWIDGET)); |
1914 |
1911 |
1915 GtkFileChooserAction action = GetGtkFileChooserAction(mMode); |
1912 GtkFileChooserAction action = GetGtkFileChooserAction(mMode); |
1916 |
1913 |
1917 @@ -571,16 +598,240 @@ void nsFilePicker::Done(void *file_choos |
1914 @@ -572,16 +599,240 @@ void nsFilePicker::Done(void *file_choos |
1918 mCallback->Done(result); |
1915 mCallback->Done(result); |
1919 mCallback = nullptr; |
1916 mCallback = nullptr; |
1920 } else { |
1917 } else { |
1921 mResult = result; |
1918 mResult = result; |
1922 } |
1919 } |
2327 + '/toolkit/xre', |
2324 + '/toolkit/xre', |
2328 ] |
2325 ] |
2329 |
2326 |
2330 if 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']: |
2327 if 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']: |
2331 CXXFLAGS += CONFIG['TK_CFLAGS'] |
2328 CXXFLAGS += CONFIG['TK_CFLAGS'] |
|
2329 |
|
2330 include('/ipc/chromium/chromium-config.mozbuild') |
2332 diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp |
2331 diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp |
2333 --- a/xpcom/io/nsLocalFileUnix.cpp |
2332 --- a/xpcom/io/nsLocalFileUnix.cpp |
2334 +++ b/xpcom/io/nsLocalFileUnix.cpp |
2333 +++ b/xpcom/io/nsLocalFileUnix.cpp |
2335 @@ -47,16 +47,17 @@ |
2334 @@ -47,16 +47,17 @@ |
2336 #include "prproces.h" |
2335 #include "prproces.h" |