From ee124649b240080f033fdc21530bc74efa44b44d Mon Sep 17 00:00:00 2001 From: "pinkerton%netscape.com" Date: Thu, 25 Apr 2002 21:09:37 +0000 Subject: [PATCH] package download progress on mac for embedding. fix jar manifest to not pull en-unix on every platform. r=bryner/sr=ben/a=rjesup. bug#134523 git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119867 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/build/mac/build_scripts/MozillaBuildList.pm | 12 ++++++------ .../browser/powerplant/source/CBrowserApp.cp | 10 ++++++++++ .../components/ui/helperAppDlg/nsHelperAppDlg.xul | 2 +- mozilla/embedding/config/GenerateManifest.pm | 12 +++++++----- mozilla/embedding/config/basebrowser-mac-cfm | 10 +++++++++- mozilla/embedding/config/basebrowser-mac-cfmDebug | 8 ++++++++ mozilla/embedding/config/basebrowser-mac-macho | 8 ++++++++ mozilla/embedding/config/basebrowser-unix | 8 ++++++++ mozilla/embedding/config/basebrowser-win | 8 ++++++++ mozilla/embedding/config/embed-jar.mn | 4 ++-- mozilla/embedding/config/gen_mn.pl | 8 +++++++- 11 files changed, 74 insertions(+), 16 deletions(-) diff --git a/mozilla/build/mac/build_scripts/MozillaBuildList.pm b/mozilla/build/mac/build_scripts/MozillaBuildList.pm index e12a483f9c0..6f83b3a55c1 100644 --- a/mozilla/build/mac/build_scripts/MozillaBuildList.pm +++ b/mozilla/build/mac/build_scripts/MozillaBuildList.pm @@ -358,9 +358,9 @@ sub DumpChromeToTemp($$$$) #// Pick up an embedding manifest specified by $jar_file. We first need to do some extra processing on #// it to get the correct locale. #//-------------------------------------------------------------------------------------------------- -sub ProcessEmbedJarManifest ( $$$$$$ ) +sub ProcessEmbedJarManifest ( $$$$$$$ ) { - my($top_path, $inc_path, $temp_chrome_dir, $jar_file, $locale, $jars) = @_; + my($top_path, $inc_path, $temp_chrome_dir, $jar_file, $locale, $platform, $jars) = @_; # copy over our manifest so that it's also at the root # of our chrome tree then run it through the jar machine. We need to @@ -370,7 +370,7 @@ sub ProcessEmbedJarManifest ( $$$$$$ ) local(*TMPMANIFEST); open(TMPMANIFEST, ">$temp_manifest") || die "couldn't create embed jar manifest"; GenerateManifest::GenerateManifest($top_path, "$inc_path$jar_file", $temp_chrome_dir, - $locale, *TMPMANIFEST, ":", 1); + $locale, $platform, *TMPMANIFEST, ":", 1); close(TMPMANIFEST); CreateJarFromManifest($temp_manifest, "$temp_chrome_dir:", $jars); @@ -432,7 +432,7 @@ sub PackageEmbeddingChrome($$) local(*MANIFEST); open(MANIFEST, ">$temp_manifest") || die "couldn't create embed jar manifest"; GenerateManifest::GenerateManifest($top_path, $inc_path . "embed-jar.mn", $temp_chrome_dir, - "en-US", *MANIFEST, ":", 1); + "en-US", "en-mac", *MANIFEST, ":", 1); close(MANIFEST); # make embed.jar from the above manifest, adding in any other manifests if the @@ -440,10 +440,10 @@ sub PackageEmbeddingChrome($$) my(%jars); CreateJarFromManifest($temp_manifest, "$temp_chrome_dir:", \%jars); if ($main::options{embedding_xulprefs}) { - ProcessEmbedJarManifest($top_path, $inc_path, $temp_chrome_dir, "xulprefs.mn", "en-US", \%jars); + ProcessEmbedJarManifest($top_path, $inc_path, $temp_chrome_dir, "xulprefs.mn", "en-US", "en-mac", \%jars); } if ($main::options{embedding_xulsecurity}) { - ProcessEmbedJarManifest($top_path, $inc_path, $temp_chrome_dir, "xulsecurity.mn", "en-US", \%jars); + ProcessEmbedJarManifest($top_path, $inc_path, $temp_chrome_dir, "xulsecurity.mn", "en-US", "en-mac", \%jars); } WriteOutJarFiles("$temp_chrome_dir:", \%jars); diff --git a/mozilla/embedding/browser/powerplant/source/CBrowserApp.cp b/mozilla/embedding/browser/powerplant/source/CBrowserApp.cp index da27bef1b30..b0c0fb3819c 100644 --- a/mozilla/embedding/browser/powerplant/source/CBrowserApp.cp +++ b/mozilla/embedding/browser/powerplant/source/CBrowserApp.cp @@ -76,6 +76,7 @@ #include "nsNetUtil.h" #include "nsIWindowWatcher.h" #include "nsIDOMWindow.h" +#include "nsIDownload.h" #include @@ -311,6 +312,15 @@ CBrowserApp::OverrideComponents() PR_TRUE); // replace existing #endif + static NS_DEFINE_CID(kDownloadCID, NS_DOWNLOAD_CID); + nsCOMPtr dlFactory; + nsComponentManager::FindFactory(kDownloadCID, getter_AddRefs(dlFactory)); + rv = nsComponentManager::RegisterFactory(kDownloadCID, + "Download", + NS_DOWNLOAD_CONTRACTID, + dlFactory, + PR_TRUE); // replace existing + return rv; } diff --git a/mozilla/embedding/components/ui/helperAppDlg/nsHelperAppDlg.xul b/mozilla/embedding/components/ui/helperAppDlg/nsHelperAppDlg.xul index 19b7a5094fc..ef90ddb0978 100644 --- a/mozilla/embedding/components/ui/helperAppDlg/nsHelperAppDlg.xul +++ b/mozilla/embedding/components/ui/helperAppDlg/nsHelperAppDlg.xul @@ -24,7 +24,7 @@ --> - + diff --git a/mozilla/embedding/config/GenerateManifest.pm b/mozilla/embedding/config/GenerateManifest.pm index a234f132d17..502798542d3 100644 --- a/mozilla/embedding/config/GenerateManifest.pm +++ b/mozilla/embedding/config/GenerateManifest.pm @@ -19,12 +19,12 @@ use vars qw(@ISA @EXPORT); my(%embed_files) = (); -sub GenerateManifest ($$$$$$$) { - my($moz, $manifest, $chrome, $locale, $out_desc, $dir_sep, $verbose) = @_; +sub GenerateManifest ($$$$$$$$) { + my($moz, $manifest, $chrome, $locale, $platform, $out_desc, $dir_sep, $verbose) = @_; local(*OUTDESC) = $out_desc; parse_input_manifest($moz, $manifest, $chrome, $locale, $verbose); - dump_output_manifest($moz, $manifest, $chrome, $locale, *OUTDESC, $dir_sep, $verbose); + dump_output_manifest($moz, $manifest, $chrome, $locale, $platform, *OUTDESC, $dir_sep, $verbose); } @@ -60,8 +60,8 @@ sub parse_input_manifest ($$$$$) { close(MANIFEST); } -sub dump_output_manifest ($$$$$$$) { - my($moz, $manifest, $chrome, $locale, $out_desc, $dir_sep, $verbose) = @_; +sub dump_output_manifest ($$$$$$$$) { + my($moz, $manifest, $chrome, $locale, $platform, $out_desc, $dir_sep, $verbose) = @_; local(*OUTDESC) = $out_desc; print OUTDESC "embed.jar:\n"; @@ -69,6 +69,8 @@ sub dump_output_manifest ($$$$$$$) { $key =~ s/XXXX/$locale/g; $value =~ s/XXXX/$locale/g; + $key =~ s/YYYY/$platform/g; + $value =~ s/YYYY/$platform/g; if ( $dir_sep ne "/" ) { # swap / for $dir_sep $value =~ s/\//$dir_sep/g; } diff --git a/mozilla/embedding/config/basebrowser-mac-cfm b/mozilla/embedding/config/basebrowser-mac-cfm index 2cfd93f4b46..7d74baae39c 100644 --- a/mozilla/embedding/config/basebrowser-mac-cfm +++ b/mozilla/embedding/config/basebrowser-mac-cfm @@ -77,7 +77,7 @@ Components:dom_html.xpt Components:dom_range.xpt Components:dom_stylesheets.xpt Components:dom_traversal.xpt -Components:dom_views.xpt125766 +Components:dom_views.xpt Components:dom_xbl.xpt Components:dom_xul.xpt @@ -183,6 +183,14 @@ Components:appcomps.shlb Components:mozcomps.xpt Components:mork.shlb +; download progress +; Optional - you can implement your own download progress dialog +; then this is no longer required +Components:nsProgressDialog.js +Components:nsHelperAppDlg.js +Components:nsDownloadProgressListener.js +Components:downloadmanager.xpt + ; rdf Components:RDFLibrary.shlb Components:rdf.xpt diff --git a/mozilla/embedding/config/basebrowser-mac-cfmDebug b/mozilla/embedding/config/basebrowser-mac-cfmDebug index 76f81c72e99..ed4f499693c 100644 --- a/mozilla/embedding/config/basebrowser-mac-cfmDebug +++ b/mozilla/embedding/config/basebrowser-mac-cfmDebug @@ -183,6 +183,14 @@ Components:appcompsDebug.shlb Components:mozcomps.xpt Components:morkDebug.shlb +; download progress +; Optional - you can implement your own download progress dialog +; then this is no longer required +Components:nsProgressDialog.js +Components:nsHelperAppDlg.js +Components:nsDownloadProgressListener.js +Components:downloadmanager.xpt + ; rdf Components:RDFLibraryDebug.shlb Components:rdf.xpt diff --git a/mozilla/embedding/config/basebrowser-mac-macho b/mozilla/embedding/config/basebrowser-mac-macho index 8e04962991a..4a1533a4b67 100644 --- a/mozilla/embedding/config/basebrowser-mac-macho +++ b/mozilla/embedding/config/basebrowser-mac-macho @@ -158,6 +158,14 @@ components/profile.xpt components/libwallet.dylib components/wallet.xpt +; download progress +; Optional - you can implement your own download progress dialog +; then this is no longer required +;components/nsProgressDialog.js +;components/nsHelperAppDlg.js +;components/nsDownloadProgressListener.js +;components/downloadmanager.xpt + ; psm2 ; Optional - only if you need PSM2 support components/libpipboot.dylib diff --git a/mozilla/embedding/config/basebrowser-unix b/mozilla/embedding/config/basebrowser-unix index 667be47382e..43f8e1bd1fb 100644 --- a/mozilla/embedding/config/basebrowser-unix +++ b/mozilla/embedding/config/basebrowser-unix @@ -169,6 +169,14 @@ components/profile.xpt components/libwallet.so components/wallet.xpt +; download progress +; Optional - you can implement your own download progress dialog +; then this is no longer required +;components/nsProgressDialog.js +;components/nsHelperAppDlg.js +;components/nsDownloadProgressListener.js +;components/downloadmanager.xpt + ; psm2 ; Optional - only if you need PSM2 support components/libpipboot.so diff --git a/mozilla/embedding/config/basebrowser-win b/mozilla/embedding/config/basebrowser-win index 98dfb5430d5..c5728167f5f 100644 --- a/mozilla/embedding/config/basebrowser-win +++ b/mozilla/embedding/config/basebrowser-win @@ -186,6 +186,14 @@ components\profile.xpt components\wallet.dll components\wallet.xpt +; download progress +; Optional - you can implement your own download progress dialog +; then this is no longer required +;components\nsProgressDialog.js +;components\nsHelperAppDlg.js +;components\nsDownloadProgressListener.js +;components\downloadmanager.xpt + ; psm2 ; Optional - only if you need PSM2 support components\pipboot.dll diff --git a/mozilla/embedding/config/embed-jar.mn b/mozilla/embedding/config/embed-jar.mn index a4b0e06c35c..521dc2b3da2 100644 --- a/mozilla/embedding/config/embed-jar.mn +++ b/mozilla/embedding/config/embed-jar.mn @@ -29,8 +29,8 @@ locale/XXXX/communicator/contents.rdf, XXXX/locale/XXXX/communicator/contents.rd locale/XXXX/communicator/security.properties, XXXX/locale/XXXX/communicator/security.properties locale/XXXX/communicator/security/caps.properties, XXXX/locale/XXXX/communicator/security/caps.properties locale/XXXX/navigator, XXXX/locale/XXXX/navigator -locale/XXXX/navigator-platform, en-unix/locale/XXXX/navigator-platform -locale/XXXX/global-platform, en-unix/locale/XXXX/global-platform +locale/XXXX/navigator-platform, YYYY/locale/XXXX/navigator-platform +locale/XXXX/global-platform, YYYY/locale/XXXX/global-platform locale/XXXX/communicator/layout, XXXX/locale/XXXX/communicator/layout locale/XXXX/forms, XXXX/locale/XXXX/forms diff --git a/mozilla/embedding/config/gen_mn.pl b/mozilla/embedding/config/gen_mn.pl index 3c1eac93c86..7d60a24c396 100644 --- a/mozilla/embedding/config/gen_mn.pl +++ b/mozilla/embedding/config/gen_mn.pl @@ -13,6 +13,7 @@ use Getopt::Long; # Configuration $win32 = ($^O eq "MSWin32") ? 1 : 0; # ActiveState Perl +$darwin = ($^O eq "darwin") ? 1 : 0; # MacOSX if ($win32) { $moz = "$ENV{'MOZ_SRC'}/mozilla"; if ($ENV{'MOZ_DEBUG'}) { @@ -30,6 +31,7 @@ else { $verbose = 0; $locale = "en-US"; +$platform = "en-unix"; GetOptions('verbose!' => \$verbose, 'mozpath=s' => \$moz, @@ -42,6 +44,10 @@ if ($win32) { # Fix those pesky backslashes $moz =~ s/\\/\//g; $chrome =~ s/\\/\//g; + $platform = "en-win"; +} +elsif ($darwin) + $platform = "en-mac" } if ($showhelp) { @@ -66,6 +72,6 @@ if ($verbose) { "Manifest file = \"$manifest\"\n"; } -GenerateManifest($moz, $manifest, $chrome, $locale, *STDOUT, "/", $verbose); +GenerateManifest($moz, $manifest, $chrome, $locale, $platform, *STDOUT, "/", $verbose); exit 0;