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

Side by Side Diff: Source/platform/weborigin/SchemeRegistryTest.cpp

Issue 730203007: CSP: Permit exempting schemes only for certain policy areas. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 1 month 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 | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "config.h"
6 #include "platform/weborigin/SchemeRegistry.h"
7
8 #include <gtest/gtest.h>
9
10 namespace blink {
11 namespace {
12
13 const char kTestScheme[] = "test-scheme";
14 const char kTestSchemeUppercase[] = "TEST-SCHEME";
15 const char kTestScheme2[] = "test-scheme-2";
16
17 class SchemeRegistryTest : public ::testing::Test {
18 void TearDown() override
19 {
20 SchemeRegistry::removeURLSchemeRegisteredAsBypassingContentSecurityPolic y(kTestScheme);
21 }
22 };
23
24 TEST_F(SchemeRegistryTest, NoCSPBypass)
25 {
26 EXPECT_FALSE(SchemeRegistry::schemeShouldBypassContentSecurityPolicy(kTestSc heme));
27 EXPECT_FALSE(SchemeRegistry::schemeShouldBypassContentSecurityPolicy(kTestSc hemeUppercase));
28 EXPECT_FALSE(SchemeRegistry::schemeShouldBypassContentSecurityPolicy(kTestSc heme, SchemeRegistry::PolicyAreaImage));
29 }
30
31 TEST_F(SchemeRegistryTest, FullCSPBypass)
32 {
33 SchemeRegistry::registerURLSchemeAsBypassingContentSecurityPolicy(kTestSchem e);
34 EXPECT_TRUE(SchemeRegistry::schemeShouldBypassContentSecurityPolicy(kTestSch eme));
35 EXPECT_TRUE(SchemeRegistry::schemeShouldBypassContentSecurityPolicy(kTestSch emeUppercase));
36 EXPECT_TRUE(SchemeRegistry::schemeShouldBypassContentSecurityPolicy(kTestSch eme, SchemeRegistry::PolicyAreaImage));
37 EXPECT_FALSE(SchemeRegistry::schemeShouldBypassContentSecurityPolicy(kTestSc heme2));
38 EXPECT_FALSE(SchemeRegistry::schemeShouldBypassContentSecurityPolicy(kTestSc heme2, SchemeRegistry::PolicyAreaImage));
39 }
40
41 TEST_F(SchemeRegistryTest, PartialCSPBypass)
42 {
43 SchemeRegistry::registerURLSchemeAsBypassingContentSecurityPolicy(kTestSchem e, SchemeRegistry::PolicyAreaImage);
44 EXPECT_FALSE(SchemeRegistry::schemeShouldBypassContentSecurityPolicy(kTestSc heme));
45 EXPECT_FALSE(SchemeRegistry::schemeShouldBypassContentSecurityPolicy(kTestSc hemeUppercase));
46 EXPECT_TRUE(SchemeRegistry::schemeShouldBypassContentSecurityPolicy(kTestSch eme, SchemeRegistry::PolicyAreaImage));
47 EXPECT_TRUE(SchemeRegistry::schemeShouldBypassContentSecurityPolicy(kTestSch emeUppercase, SchemeRegistry::PolicyAreaImage));
48 EXPECT_FALSE(SchemeRegistry::schemeShouldBypassContentSecurityPolicy(kTestSc heme, SchemeRegistry::PolicyAreaStyle));
49 EXPECT_FALSE(SchemeRegistry::schemeShouldBypassContentSecurityPolicy(kTestSc hemeUppercase, SchemeRegistry::PolicyAreaStyle));
50 EXPECT_FALSE(SchemeRegistry::schemeShouldBypassContentSecurityPolicy(kTestSc heme2, SchemeRegistry::PolicyAreaImage));
51 }
52
53 } // namespace
54 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698