281 |
281 |
282 NS_IMETHODIMP |
282 NS_IMETHODIMP |
283 nsUnixSystemProxySettings::GetMainThreadOnly(bool* aMainThreadOnly) { |
283 nsUnixSystemProxySettings::GetMainThreadOnly(bool* aMainThreadOnly) { |
284 // dbus prevents us from being threadsafe, but this routine should not block |
284 // dbus prevents us from being threadsafe, but this routine should not block |
285 // anyhow |
285 // anyhow |
286 @@ -391,21 +395,46 @@ nsresult nsUnixSystemProxySettings::GetP |
286 @@ -388,21 +392,46 @@ nsresult nsUnixSystemProxySettings::GetP |
287 return NS_OK; |
287 return NS_OK; |
288 } |
288 } |
289 |
289 |
290 nsresult nsUnixSystemProxySettings::GetProxyForURI(const nsACString& aSpec, |
290 nsresult nsUnixSystemProxySettings::GetProxyForURI(const nsACString& aSpec, |
291 const nsACString& aScheme, |
291 const nsACString& aScheme, |
1253 CopyUTF16toUTF8(aFilter, filter); |
1253 CopyUTF16toUTF8(aFilter, filter); |
1254 CopyUTF16toUTF8(aTitle, name); |
1254 CopyUTF16toUTF8(aTitle, name); |
1255 |
1255 |
1256 mFilters.AppendElement(filter); |
1256 mFilters.AppendElement(filter); |
1257 mFilterNames.AppendElement(name); |
1257 mFilterNames.AppendElement(name); |
1258 @@ -412,16 +416,39 @@ nsresult nsFilePicker::Show(nsIFilePicke |
1258 @@ -416,16 +420,39 @@ NS_IMETHODIMP |
1259 return NS_OK; |
|
1260 } |
|
1261 |
|
1262 NS_IMETHODIMP |
|
1263 nsFilePicker::Open(nsIFilePickerShownCallback* aCallback) { |
1259 nsFilePicker::Open(nsIFilePickerShownCallback* aCallback) { |
1264 // Can't show two dialogs concurrently with the same filepicker |
1260 // Can't show two dialogs concurrently with the same filepicker |
1265 if (mFileChooser) return NS_ERROR_NOT_AVAILABLE; |
1261 if (mFileChooser) return NS_ERROR_NOT_AVAILABLE; |
|
1262 |
|
1263 if (MaybeBlockFilePicker(aCallback)) { |
|
1264 return NS_OK; |
|
1265 } |
1266 |
1266 |
1267 + // KDE file picker is not handled via callback |
1267 + // KDE file picker is not handled via callback |
1268 + if (nsKDEUtils::kdeSupport()) { |
1268 + if (nsKDEUtils::kdeSupport()) { |
1269 + mCallback = aCallback; |
1269 + mCallback = aCallback; |
1270 + NS_ADDREF_THIS(); |
1270 + NS_ADDREF_THIS(); |
1293 GTK_WINDOW(mParentWidget->GetNativeData(NS_NATIVE_SHELLWIDGET)); |
1293 GTK_WINDOW(mParentWidget->GetNativeData(NS_NATIVE_SHELLWIDGET)); |
1294 |
1294 |
1295 GtkFileChooserAction action = GetGtkFileChooserAction(mMode); |
1295 GtkFileChooserAction action = GetGtkFileChooserAction(mMode); |
1296 |
1296 |
1297 const gchar* accept_button; |
1297 const gchar* accept_button; |
1298 @@ -703,16 +730,215 @@ void nsFilePicker::Done(void* file_choos |
1298 @@ -707,16 +734,215 @@ void nsFilePicker::Done(void* file_choos |
1299 mCallback->Done(result); |
1299 mCallback->Done(result); |
1300 mCallback = nullptr; |
1300 mCallback = nullptr; |
1301 } else { |
1301 } else { |
1302 mResult = result; |
1302 mResult = result; |
1303 } |
1303 } |
1668 stABI == eBad || stProcess == eBad) { |
1668 stABI == eBad || stProcess == eBad) { |
1669 continue; |
1669 continue; |
1670 diff --git a/xpcom/components/moz.build b/xpcom/components/moz.build |
1670 diff --git a/xpcom/components/moz.build b/xpcom/components/moz.build |
1671 --- a/xpcom/components/moz.build |
1671 --- a/xpcom/components/moz.build |
1672 +++ b/xpcom/components/moz.build |
1672 +++ b/xpcom/components/moz.build |
1673 @@ -66,16 +66,17 @@ LOCAL_INCLUDES += [ |
1673 @@ -67,16 +67,17 @@ LOCAL_INCLUDES += [ |
1674 "!..", |
|
1675 "../base", |
1674 "../base", |
1676 "../build", |
1675 "../build", |
1677 "../ds", |
1676 "../ds", |
1678 "/chrome", |
1677 "/chrome", |
1679 "/js/xpconnect/loader", |
1678 "/js/xpconnect/loader", |
|
1679 "/js/xpconnect/src", |
1680 "/layout/build", |
1680 "/layout/build", |
1681 "/modules/libjar", |
1681 "/modules/libjar", |
1682 + "/toolkit/xre", |
1682 + "/toolkit/xre", |
1683 ] |
1683 ] |
1684 |
1684 |