summaryrefslogtreecommitdiff
path: root/Source/WebCore/dom/SecurityPolicyViolationEvent.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/dom/SecurityPolicyViolationEvent.h')
-rw-r--r--Source/WebCore/dom/SecurityPolicyViolationEvent.h77
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