From 76e5dcadabd2af62d5f139e65527031a641ba007 Mon Sep 17 00:00:00 2001 From: Christian Persch Date: Mon, 3 May 2004 19:07:06 +0000 Subject: Whenever we have one, pass the cache key to the persist object. That way 2004-05-03 Christian Persch * embed/mozilla/mozilla-embed-persist.cpp: Whenever we have one, pass the cache key to the persist object. That way we don't re-fetch the page on save. Fixes bug #141652. --- ChangeLog | 7 +++++++ embed/mozilla/mozilla-embed-persist.cpp | 11 ++++++++--- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index b41eb744a..7bb728ed6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2004-05-03 Christian Persch + + * embed/mozilla/mozilla-embed-persist.cpp: + + Whenever we have one, pass the cache key to the persist object. + That way we don't re-fetch the page on save. Fixes bug #141652. + 2004-04-28 Piers Cornwell * help/C/epiphany.xml: diff --git a/embed/mozilla/mozilla-embed-persist.cpp b/embed/mozilla/mozilla-embed-persist.cpp index b3620b3fc..5c475437f 100644 --- a/embed/mozilla/mozilla-embed-persist.cpp +++ b/embed/mozilla/mozilla-embed-persist.cpp @@ -226,12 +226,17 @@ impl_save (EphyEmbedPersist *persist) /* Get the current page descriptor */ nsCOMPtr pageDescriptor; - if (flags & EMBED_PERSIST_COPY_PAGE) + if (browser) { browser->GetPageDescriptor(getter_AddRefs(pageDescriptor)); - NS_ENSURE_TRUE (pageDescriptor, FALSE); } + /* if we have COPY_PAGE, we *need* to have a page descriptor, else we'll re-fetch + * the page, which will possibly give a different page than the original which we + * need for view source + */ + NS_ENSURE_TRUE (!(flags & EMBED_PERSIST_COPY_PAGE) || pageDescriptor, FALSE); + if (filename == NULL) { /* Create an header sniffer and do the save */ @@ -245,7 +250,7 @@ impl_save (EphyEmbedPersist *persist) if (!sniffer) return FALSE; webPersist->SetProgressListener(sniffer); - rv = webPersist->SaveURI(inURI, nsnull, nsnull, nsnull, nsnull, tmpFile); + rv = webPersist->SaveURI(inURI, pageDescriptor, nsnull, nsnull, nsnull, tmpFile); if (NS_FAILED (rv)) return FALSE; } else -- cgit v1.2.3