From 9981edca4e05057d8130bd529d701d60bac76378 Mon Sep 17 00:00:00 2001 From: Marco Pesenti Gritti Date: Fri, 17 Oct 2003 09:57:07 +0000 Subject: Fix Save As, we need ever to pass the url now. Now hope chpe stop to bug 2003-10-17 Marco Pesenti Gritti * embed/mozilla/mozilla-embed-persist.cpp: Fix Save As, we need ever to pass the url now. Now hope chpe stop to bug me about things xan broke ... --- ChangeLog | 8 ++++++++ embed/mozilla/mozilla-embed-persist.cpp | 32 +++++++++++++++++++------------- 2 files changed, 27 insertions(+), 13 deletions(-) diff --git a/ChangeLog b/ChangeLog index 2ee7ccbff..c4bd70b0f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2003-10-17 Marco Pesenti Gritti + + * embed/mozilla/mozilla-embed-persist.cpp: + + Fix Save As, we need ever to pass the url now. + Now hope chpe stop to bug me about things + xan broke ... + 2003-10-16 Mark McLoughlin Change the behaviour of --nautilus-view such that the process diff --git a/embed/mozilla/mozilla-embed-persist.cpp b/embed/mozilla/mozilla-embed-persist.cpp index 8906a68f1..d374eb3f0 100644 --- a/embed/mozilla/mozilla-embed-persist.cpp +++ b/embed/mozilla/mozilla-embed-persist.cpp @@ -147,7 +147,6 @@ static gresult impl_save (EphyEmbedPersist *persist) { nsresult rv; - nsAutoString s; char *filename; char *uri; int max_size; @@ -168,7 +167,13 @@ impl_save (EphyEmbedPersist *persist) NULL); g_return_val_if_fail (filename != NULL, G_FAILED); - + + EphyWrapper *wrapper; + + g_return_val_if_fail (embed != NULL, G_FAILED); + wrapper = (EphyWrapper *) mozilla_embed_get_ephy_wrapper (MOZILLA_EMBED(embed)); + g_return_val_if_fail (wrapper != NULL, G_FAILED); + nsCOMPtr webPersist = MOZILLA_EMBED_PERSIST (persist)->priv->mPersist; if (!webPersist) return G_FAILED; @@ -188,13 +193,20 @@ impl_save (EphyEmbedPersist *persist) /* Get the uri to save to */ nsCOMPtr inURI; + nsCAutoString sURI; + if (uri) { - nsAutoString s; - s.AssignWithConversion(uri); - rv = NS_NewURI(getter_AddRefs(inURI), s); - if (NS_FAILED(rv) || !inURI) return G_FAILED; + sURI.Assign (uri); } + else + { + rv = wrapper->GetDocumentUrl (sURI); + if (NS_FAILED(rv)) return G_FAILED; + } + + rv = NS_NewURI(getter_AddRefs(inURI), sURI); + if (NS_FAILED(rv) || !inURI) return G_FAILED; /* Filename to save to */ nsAutoString inFilename; @@ -203,13 +215,7 @@ impl_save (EphyEmbedPersist *persist) nsCOMPtr DOMDocument; nsCOMPtr postData; if (!uri) - { - EphyWrapper *wrapper; - - g_return_val_if_fail (embed != NULL, G_FAILED); - wrapper = (EphyWrapper *) mozilla_embed_get_ephy_wrapper (MOZILLA_EMBED(embed)); - g_return_val_if_fail (wrapper != NULL, G_FAILED); - + { /* Get the DOM document */ if (flags & EMBED_PERSIST_MAINDOC) { -- cgit v1.2.3