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

Side by Side Diff: chrome/common/extensions/manifest_tests/extension_manifests_sandboxed_unittest.cc

Issue 10458063: Add sanbdoxed_pages to allow extension/app pages to be served in a sandboxed, unique origin (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: CheckCurrentContextAccessToExtensionAPI Created 8 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2012 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 "chrome/common/extensions/manifest_tests/extension_manifest_test.h"
6
7 #include "chrome/common/extensions/extension_manifest_constants.h"
8 #include "testing/gtest/include/gtest/gtest.h"
9
10 using extensions::Extension;
11
12 namespace errors = extension_manifest_errors;
13
14 TEST_F(ExtensionManifestTest, SandboxedPages) {
15 // Sandboxed pages specified, no custom CSP value.
16 scoped_refptr<Extension> extension1(
17 LoadAndExpectSuccess("sandboxed_pages_valid_1.json"));
18
19 // No sandboxed pages.
20 scoped_refptr<Extension> extension2(
21 LoadAndExpectSuccess("sandboxed_pages_valid_2.json"));
22
23 // Sandboxed pages specified with a custom CSP value.
24 scoped_refptr<Extension> extension3(
25 LoadAndExpectSuccess("sandboxed_pages_valid_3.json"));
26
27 const char kSandboxedCSP[] = "sandbox allow-scripts allow-forms";
28 const char kDefaultCSP[] =
29 "script-src 'self' chrome-extension-resource:; object-src 'self'";
30 const char kCustomSandboxedCSP[] =
31 "sandbox; script-src: https://www.google.com";
32
33 EXPECT_EQ(kSandboxedCSP,
34 extension1->GetResourceContentSecurityPolicy("/test"));
35 EXPECT_EQ(kDefaultCSP, extension1->GetResourceContentSecurityPolicy("/none"));
36 EXPECT_EQ(kDefaultCSP, extension2->GetResourceContentSecurityPolicy("/test"));
37 EXPECT_EQ(kCustomSandboxedCSP,
38 extension3->GetResourceContentSecurityPolicy("/test"));
39 EXPECT_EQ(kDefaultCSP, extension3->GetResourceContentSecurityPolicy("/none"));
40
41 Testcase testcases[] = {
42 Testcase("sandboxed_pages_invalid_1.json",
43 errors::kInvalidSandboxedPagesList),
44 Testcase("sandboxed_pages_invalid_2.json",
45 errors::kInvalidSandboxedPage),
46 Testcase("sandboxed_pages_invalid_3.json",
47 errors::kInvalidSandboxedPagesCSP),
48 Testcase("sandboxed_pages_invalid_4.json",
49 errors::kInvalidSandboxedPagesCSP),
50 Testcase("sandboxed_pages_invalid_5.json",
51 errors::kInvalidSandboxedPagesCSP)
52 };
53 RunTestcases(testcases, arraysize(testcases),
54 EXPECT_TYPE_ERROR);
55 }
56
57
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698