diff options
Diffstat (limited to 'chromium/third_party/WebKit/Source/core/html/HTMLFrameOwnerElement.cpp')
-rw-r--r-- | chromium/third_party/WebKit/Source/core/html/HTMLFrameOwnerElement.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/chromium/third_party/WebKit/Source/core/html/HTMLFrameOwnerElement.cpp b/chromium/third_party/WebKit/Source/core/html/HTMLFrameOwnerElement.cpp index 259bf143cf9..3f278b43f71 100644 --- a/chromium/third_party/WebKit/Source/core/html/HTMLFrameOwnerElement.cpp +++ b/chromium/third_party/WebKit/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); } |