Index: Source/core/html/HTMLFrameOwnerElement.cpp |
diff --git a/Source/core/html/HTMLFrameOwnerElement.cpp b/Source/core/html/HTMLFrameOwnerElement.cpp |
index 9da24ce2e260ce1bd67c4f76ba81e1da3940e3e0..fd4e0c14543cc1cc8908b7192cd181ef65428e3a 100644 |
--- a/Source/core/html/HTMLFrameOwnerElement.cpp |
+++ b/Source/core/html/HTMLFrameOwnerElement.cpp |
@@ -26,6 +26,7 @@ |
#include "core/dom/AXObjectCache.h" |
#include "core/dom/ExceptionCode.h" |
#include "core/events/Event.h" |
+#include "core/frame/FrameHost.h" |
#include "core/frame/FrameView.h" |
#include "core/frame/LocalFrame.h" |
#include "core/layout/LayoutPart.h" |
@@ -257,6 +258,9 @@ bool HTMLFrameOwnerElement::loadOrRedirectSubframe(const KURL& url, const Atomic |
if (!SubframeLoadingDisabler::canLoadFrame(*this)) |
return false; |
+ if (document().frame()->host()->subframeCount() >= FrameHost::maxNumberOfFrames) |
+ return false; |
+ |
return parentFrame->loader().client()->createFrame(FrameLoadRequest(&document(), url, "_self", CheckContentSecurityPolicy), frameName, this); |
} |