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

Side by Side Diff: third_party/WebKit/Source/core/html/HTMLIFrameElementTest.cpp

Issue 2680083002: Initial Implementation of Iframe Attribute for Feature Policy (Part 1) (Closed)
Patch Set: Codereview: nit Created 3 years, 10 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "core/html/HTMLIFrameElement.h" 5 #include "core/html/HTMLIFrameElement.h"
6 6
7 #include "core/dom/Document.h" 7 #include "core/dom/Document.h"
8 #include "testing/gtest/include/gtest/gtest.h" 8 #include "testing/gtest/include/gtest/gtest.h"
9 9
10 namespace blink { 10 namespace blink {
11 11
12 // Test setting via the Element attribute (HTML codepath). 12 // Test setting permission via the Element attribute (HTML codepath).
13 TEST(HTMLIFrameElementTest, SetPermissionsAttribute) { 13 TEST(HTMLIFrameElementTest, SetPermissionsAttribute) {
14 Document* document = Document::create(); 14 Document* document = Document::create();
15 HTMLIFrameElement* iframe = HTMLIFrameElement::create(*document); 15 HTMLIFrameElement* iframe = HTMLIFrameElement::create(*document);
16 16
17 iframe->setAttribute(HTMLNames::permissionsAttr, "geolocation"); 17 iframe->setAttribute(HTMLNames::permissionsAttr, "geolocation");
18 EXPECT_EQ("geolocation", iframe->permissions()->value()); 18 EXPECT_EQ("geolocation", iframe->permissions()->value());
19 iframe->setAttribute(HTMLNames::permissionsAttr, "geolocation notifications"); 19 iframe->setAttribute(HTMLNames::permissionsAttr, "geolocation notifications");
20 EXPECT_EQ("geolocation notifications", iframe->permissions()->value()); 20 EXPECT_EQ("geolocation notifications", iframe->permissions()->value());
21 } 21 }
22 22
23 // Test setting via the DOMTokenList (JS codepath). 23 // Test setting permission via the DOMTokenList (JS codepath).
24 TEST(HTMLIFrameElementTest, SetPermissionsAttributeJS) { 24 TEST(HTMLIFrameElementTest, SetPermissionsAttributeJS) {
25 Document* document = Document::create(); 25 Document* document = Document::create();
26 HTMLIFrameElement* iframe = HTMLIFrameElement::create(*document); 26 HTMLIFrameElement* iframe = HTMLIFrameElement::create(*document);
27 27
28 iframe->permissions()->setValue("midi"); 28 iframe->permissions()->setValue("midi");
29 EXPECT_EQ("midi", iframe->getAttribute(HTMLNames::permissionsAttr)); 29 EXPECT_EQ("midi", iframe->getAttribute(HTMLNames::permissionsAttr));
30 } 30 }
31 31
32 // Test setting feature policy via the Element attribute (HTML codepath).
33 TEST(HTMLIFrameElementTest, SetAllowAttribute) {
34 Document* document = Document::create();
35 HTMLIFrameElement* iframe = HTMLIFrameElement::create(*document);
36
37 iframe->setAttribute(HTMLNames::allowAttr, "fullscreen");
38 EXPECT_EQ("fullscreen", iframe->allow()->value());
39 iframe->setAttribute(HTMLNames::allowAttr, "fullscreen vibrate");
40 EXPECT_EQ("fullscreen vibrate", iframe->allow()->value());
41 }
42
43 // Test setting feature policy via the DOMTokenList (JS codepath).
44 TEST(HTMLIFrameElementTest, SetAllowAttributeJS) {
45 Document* document = Document::create();
46 HTMLIFrameElement* iframe = HTMLIFrameElement::create(*document);
47
48 iframe->allow()->setValue("fullscreen");
49 EXPECT_EQ("fullscreen", iframe->getAttribute(HTMLNames::allowAttr));
50 }
51
32 } // namespace blink 52 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698