diff options
Diffstat (limited to 'src/3rdparty/webkit/WebCore/dom/Document.cpp')
-rw-r--r-- | src/3rdparty/webkit/WebCore/dom/Document.cpp | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/src/3rdparty/webkit/WebCore/dom/Document.cpp b/src/3rdparty/webkit/WebCore/dom/Document.cpp index a51d1abda..34418a9c1 100644 --- a/src/3rdparty/webkit/WebCore/dom/Document.cpp +++ b/src/3rdparty/webkit/WebCore/dom/Document.cpp @@ -26,8 +26,8 @@ #include "config.h" #include "Document.h" -#include "AnimationController.h" #include "AXObjectCache.h" +#include "AnimationController.h" #include "CDATASection.h" #include "CSSHelper.h" #include "CSSStyleSelector.h" @@ -77,6 +77,8 @@ #include "HitTestRequest.h" #include "HitTestResult.h" #include "ImageLoader.h" +#include "InspectorController.h" +#include "JSDOMBinding.h" #include "KeyboardEvent.h" #include "Logging.h" #include "MessageEvent.h" @@ -98,6 +100,7 @@ #include "RenderView.h" #include "RenderWidget.h" #include "ScriptController.h" +#include "ScriptController.h" #include "SecurityOrigin.h" #include "SegmentedString.h" #include "SelectionController.h" @@ -107,8 +110,8 @@ #include "TextEvent.h" #include "TextIterator.h" #include "TextResourceDecoder.h" -#include "TreeWalker.h" #include "Timer.h" +#include "TreeWalker.h" #include "UIEvent.h" #include "WebKitAnimationEvent.h" #include "WebKitTransitionEvent.h" @@ -120,8 +123,8 @@ #include "ScriptController.h" #include <wtf/HashFunctions.h> #include <wtf/MainThread.h> -#include <wtf/StdLibExtras.h> #include <wtf/PassRefPtr.h> +#include <wtf/StdLibExtras.h> #if ENABLE(DATABASE) #include "Database.h" @@ -1953,11 +1956,11 @@ Node *Document::nodeWithAbsIndex(int absIndex) return n; } -void Document::processHttpEquiv(const String &equiv, const String &content) +void Document::processHttpEquiv(const String& equiv, const String& content) { ASSERT(!equiv.isNull() && !content.isNull()); - Frame *frame = this->frame(); + Frame* frame = this->frame(); if (equalIgnoringCase(equiv, "default-style")) { // The preferred style set has been overridden as per section @@ -1987,6 +1990,13 @@ void Document::processHttpEquiv(const String &equiv, const String &content) setContentLanguage(content); else if (equalIgnoringCase(equiv, "x-dns-prefetch-control")) parseDNSPrefetchControlHeader(content); + else if (equalIgnoringCase(equiv, "x-frame-options")) { + FrameLoader* frameLoader = frame->loader(); + if (frameLoader->shouldInterruptLoadForXFrameOptions(content, url())) { + frameLoader->stopAllLoaders(); + frameLoader->scheduleHTTPRedirection(0, blankURL()); + } + } } MouseEventWithHitTestResults Document::prepareMouseEvent(const HitTestRequest& request, const IntPoint& documentPoint, const PlatformMouseEvent& event) |