Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(432)

Unified Diff: third_party/WebKit/Source/core/html/HTMLIFrameElementPermissions.h

Issue 2011763006: Add an iframe permissions= attribute for implementing permission delegation (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@permission-delegation-1-flag
Patch Set: Blink-side Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/html/HTMLIFrameElementPermissions.h
diff --git a/third_party/WebKit/Source/core/html/HTMLIFrameElementPermissions.h b/third_party/WebKit/Source/core/html/HTMLIFrameElementPermissions.h
new file mode 100644
index 0000000000000000000000000000000000000000..842bad9b31533965db5bf3dc2f2c8473df02fceb
--- /dev/null
+++ b/third_party/WebKit/Source/core/html/HTMLIFrameElementPermissions.h
@@ -0,0 +1,44 @@
+// Copyright 2016 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSDstyle license that can be
+// found in the LICENSE file.
+
+#ifndef HTMLIFrameElementPermissions_h
+#define HTMLIFrameElementPermissions_h
+
+#include "core/CoreExport.h"
+#include "core/dom/DOMTokenList.h"
+#include "platform/heap/Handle.h"
+#include "public/platform/modules/permissions/WebPermissionType.h"
+#include "wtf/Vector.h"
+
+namespace blink {
+
+class HTMLIFrameElement;
+
+class CORE_EXPORT HTMLIFrameElementPermissions final : public DOMTokenList, public DOMTokenListObserver {
+ USING_GARBAGE_COLLECTED_MIXIN(HTMLIFrameElementPermissions);
+public:
+ static HTMLIFrameElementPermissions* create(HTMLIFrameElement* element)
+ {
+ return new HTMLIFrameElementPermissions(element);
+ }
+
+ ~HTMLIFrameElementPermissions() override;
+
+ Vector<WebPermissionType> parseDelegatedPermissions(String& invalidTokensErrorMessage) const;
+
+ DECLARE_VIRTUAL_TRACE();
+
+private:
+ explicit HTMLIFrameElementPermissions(HTMLIFrameElement*);
+ bool validateTokenValue(const AtomicString& tokenValue, ExceptionState&) const override;
+
+ // DOMTokenListObserver.
+ void valueWasSet() override;
+
+ Member<HTMLIFrameElement> m_element;
+};
+
+} // namespace blink
+
+#endif

Powered by Google App Engine
This is Rietveld 408576698