diff options
Diffstat (limited to 'Source/WebCore/dom/SecurityPolicyViolationEvent.h')
-rw-r--r-- | Source/WebCore/dom/SecurityPolicyViolationEvent.h | 77 |
1 files changed, 47 insertions, 30 deletions
diff --git a/Source/WebCore/dom/SecurityPolicyViolationEvent.h b/Source/WebCore/dom/SecurityPolicyViolationEvent.h index dca814cce..a6032f2e0 100644 --- a/Source/WebCore/dom/SecurityPolicyViolationEvent.h +++ b/Source/WebCore/dom/SecurityPolicyViolationEvent.h @@ -1,5 +1,6 @@ /* * Copyright (C) 2013 Google Inc. All rights reserved. + * Copyright (C) 2016 Apple Inc. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -22,41 +23,40 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#ifndef SecurityPolicyViolationEvent_h -#define SecurityPolicyViolationEvent_h - -#if ENABLE(CSP_NEXT) +#pragma once #include "Event.h" -#include "EventNames.h" namespace WebCore { -struct SecurityPolicyViolationEventInit : public EventInit { - SecurityPolicyViolationEventInit() +class SecurityPolicyViolationEvent final : public Event { +public: + static Ref<SecurityPolicyViolationEvent> create(const AtomicString& type, bool canBubble, bool cancelable, const String& documentURI, const String& referrer, const String& blockedURI, const String& violatedDirective, const String& effectiveDirective, const String& originalPolicy, const String& sourceFile, unsigned short statusCode, int lineNumber, int columnNumber) { + return adoptRef(*new SecurityPolicyViolationEvent(type, canBubble, cancelable, documentURI, referrer, blockedURI, violatedDirective, effectiveDirective, originalPolicy, sourceFile, statusCode, lineNumber, columnNumber)); } - String documentURI; - String referrer; - String blockedURI; - String violatedDirective; - String effectiveDirective; - String originalPolicy; - String sourceFile; - int lineNumber; -}; - -class SecurityPolicyViolationEvent : public Event { -public: - static PassRefPtr<SecurityPolicyViolationEvent> create() + static Ref<SecurityPolicyViolationEvent> createForBindings() { - return adoptRef(new SecurityPolicyViolationEvent()); + return adoptRef(*new SecurityPolicyViolationEvent()); } - static PassRefPtr<SecurityPolicyViolationEvent> create(const AtomicString& type, const SecurityPolicyViolationEventInit& initializer) + struct Init : EventInit { + String documentURI; + String referrer; + String blockedURI; + String violatedDirective; + String effectiveDirective; + String originalPolicy; + String sourceFile; + unsigned short statusCode { 0 }; + int lineNumber { 0 }; + int columnNumber { 0 }; + }; + + static Ref<SecurityPolicyViolationEvent> create(const AtomicString& type, const Init& initializer, IsTrusted isTrusted = IsTrusted::No) { - return adoptRef(new SecurityPolicyViolationEvent(type, initializer)); + return adoptRef(*new SecurityPolicyViolationEvent(type, initializer, isTrusted)); } const String& documentURI() const { return m_documentURI; } @@ -66,17 +66,34 @@ public: const String& effectiveDirective() const { return m_effectiveDirective; } const String& originalPolicy() const { return m_originalPolicy; } const String& sourceFile() const { return m_sourceFile; } + unsigned short statusCode() const { return m_statusCode; } int lineNumber() const { return m_lineNumber; } + int columnNumber() const { return m_columnNumber; } - virtual EventInterface eventInterface() const { return SecurityPolicyViolationEventInterfaceType; } + EventInterface eventInterface() const final { return SecurityPolicyViolationEventInterfaceType; } private: SecurityPolicyViolationEvent() { } - SecurityPolicyViolationEvent(const AtomicString& type, const SecurityPolicyViolationEventInit& initializer) - : Event(type, initializer) + SecurityPolicyViolationEvent(const AtomicString& type, bool canBubble, bool cancelable, const String& documentURI, const String& referrer, const String& blockedURI, const String& violatedDirective, const String& effectiveDirective, const String& originalPolicy, const String& sourceFile, unsigned short statusCode, int lineNumber, int columnNumber) + : Event(type, canBubble, cancelable) + , m_documentURI(documentURI) + , m_referrer(referrer) + , m_blockedURI(blockedURI) + , m_violatedDirective(violatedDirective) + , m_effectiveDirective(effectiveDirective) + , m_originalPolicy(originalPolicy) + , m_sourceFile(sourceFile) + , m_statusCode(statusCode) + , m_lineNumber(lineNumber) + , m_columnNumber(columnNumber) + { + } + + SecurityPolicyViolationEvent(const AtomicString& type, const Init& initializer, IsTrusted isTrusted) + : Event(type, initializer, isTrusted) , m_documentURI(initializer.documentURI) , m_referrer(initializer.referrer) , m_blockedURI(initializer.blockedURI) @@ -84,7 +101,9 @@ private: , m_effectiveDirective(initializer.effectiveDirective) , m_originalPolicy(initializer.originalPolicy) , m_sourceFile(initializer.sourceFile) + , m_statusCode(initializer.statusCode) , m_lineNumber(initializer.lineNumber) + , m_columnNumber(initializer.columnNumber) { } @@ -95,11 +114,9 @@ private: String m_effectiveDirective; String m_originalPolicy; String m_sourceFile; + unsigned short m_statusCode; int m_lineNumber; + int m_columnNumber; }; } // namespace WebCore - -#endif // ENABLE(CSP_NEXT) - -#endif // SecurityPolicyViolationEvent_h |