Fixed: <rdar://problem/3770135> hang loading page with EMBED tag pointing to same...
authorcblu <cblu@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 18 Oct 2004 17:56:01 +0000 (17:56 +0000)
committercblu <cblu@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 18 Oct 2004 17:56:01 +0000 (17:56 +0000)
        Reviewed by kocienda.

        * khtml/rendering/render_frames.cpp:
        (RenderPartObject::updateWidget): use completeURL before comparing the URL of the plug-in with the base URL of the document when avoiding frame recursion

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7851 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebCore/ChangeLog-2005-08-23
WebCore/khtml/rendering/render_frames.cpp

index dec1f9f722f0022696d65863a562339b2dc4ff57..ef80f76ca7e496b2cb2e72e95a0658be1ead2fd4 100644 (file)
@@ -1,3 +1,12 @@
+2004-10-18  Chris Blumenberg  <cblu@apple.com>
+
+       Fixed: <rdar://problem/3770135> hang loading page with EMBED tag pointing to same page (tridentantennas.co.uk)
+
+        Reviewed by kocienda.
+
+        * khtml/rendering/render_frames.cpp:
+        (RenderPartObject::updateWidget): use completeURL before comparing the URL of the plug-in with the base URL of the document when avoiding frame recursion
+
 2004-10-15  Chris Blumenberg  <cblu@apple.com>
 
        Fixed: <rdar://problem/3841774> would like to get NSColor from DOM-CSS
index 24329c636cb410444350ac8415954bb98cf2fc93..c23ca0b9836af98e5f9554d5b4ae6a6e489dd847 100644 (file)
@@ -801,7 +801,7 @@ void RenderPartObject::updateWidget()
           return;
       }
       // Avoid infinite recursion. If the plug-in's URL is the same as the part's URL, infinite frames may be created.
-      if (!url.isEmpty() && url == part->baseURL()) {
+      if (!url.isEmpty() && part->completeURL(url) == part->baseURL()) {
           return;
       }
             
@@ -824,7 +824,7 @@ void RenderPartObject::updateWidget()
           return;
       }
       // Avoid infinite recursion. If the plug-in's URL is the same as the part's URL, infinite frames may be created.
-      if (!url.isEmpty() && url == part->baseURL()) {
+      if (!url.isEmpty() && part->completeURL(url) == part->baseURL()) {
           return;
       }
       // add all attributes set on the embed object
@@ -843,7 +843,7 @@ void RenderPartObject::updateWidget()
       url = o->url.string();
       if (url.isEmpty()) {
          url = "about:blank";
-      } else if (url == part->baseURL()) {
+      } else if (part->completeURL(url) == part->baseURL()) {
           // Avoid infinite recursion. If the frame's URL is the same as the part's URL, infinite frames may be created.
           return;
       }