Index: khtml_part.cpp
===================================================================
RCS file: /home/kde/kdelibs/khtml/khtml_part.cpp,v
retrieving revision 1.770.2.27
diff -u -r1.770.2.27 khtml_part.cpp
--- khtml_part.cpp	3 Jul 2003 17:13:02 -0000	1.770.2.27
+++ khtml_part.cpp	10 Jul 2003 11:45:10 -0000
@@ -4171,7 +4171,27 @@
 
 QString KHTMLPart::referrer() const
 {
-   return d->m_pageReferrer;
+   return d->m_referrer;
+}
+
+QString KHTMLPart::pageReferrer() const
+{
+   KURL referrerURL = d->m_pageReferrer;
+   if (referrerURL.isValid())
+   {
+      QString protocol = referrerURL.protocol();
+
+      if ((protocol == "http") ||
+         ((protocol == "https") && (m_url.protocol() == "https")))
+      {
+          referrerURL.setRef(QString::null);
+          referrerURL.setUser(QString::null);
+          referrerURL.setPass(QString::null);
+          return referrerURL.url();
+      }
+   }
+   
+   return QString::null;
 }
 
 QString KHTMLPart::lastModified() const
Index: khtml_part.h
===================================================================
RCS file: /home/kde/kdelibs/khtml/khtml_part.h,v
retrieving revision 1.197.2.5
diff -u -r1.197.2.5 khtml_part.h
--- khtml_part.h	18 May 2003 12:34:36 -0000	1.197.2.5
+++ khtml_part.h	10 Jul 2003 11:45:11 -0000
@@ -702,6 +702,11 @@
   QString referrer() const;
 
   /**
+   * Referrer used to obtain this page.
+   */
+  QString pageReferrer() const;
+
+  /**
    * Last-modified date (in raw string format), if received in the [HTTP] headers.
    */
   QString lastModified() const;
Index: html/html_documentimpl.cpp
===================================================================
RCS file: /home/kde/kdelibs/khtml/html/html_documentimpl.cpp,v
retrieving revision 1.143.2.6
diff -u -r1.143.2.6 html_documentimpl.cpp
--- html/html_documentimpl.cpp	27 Jun 2003 09:55:33 -0000	1.143.2.6
+++ html/html_documentimpl.cpp	10 Jul 2003 11:45:11 -0000
@@ -85,7 +85,7 @@
 DOMString HTMLDocumentImpl::referrer() const
 {
     if ( view() )
-        return view()->part()->referrer();
+        return view()->part()->pageReferrer();
     return DOMString();
 }