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

Side by Side Diff: chrome/common/extensions/csp_handler.cc

Issue 12886023: Remove SandboxedPages and SandboxedCSP from Extension Class (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 7 years, 8 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
« no previous file with comments | « chrome/common/extensions/csp_handler.h ('k') | chrome/common/extensions/extension.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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 "chrome/common/extensions/csp_handler.h" 5 #include "chrome/common/extensions/csp_handler.h"
6 6
7 #include "base/memory/scoped_ptr.h" 7 #include "base/memory/scoped_ptr.h"
8 #include "base/string_util.h" 8 #include "base/string_util.h"
9 #include "base/utf_string_conversions.h" 9 #include "base/utf_string_conversions.h"
10 #include "base/values.h" 10 #include "base/values.h"
11 #include "chrome/common/extensions/csp_validator.h" 11 #include "chrome/common/extensions/csp_validator.h"
12 #include "chrome/common/extensions/extension_manifest_constants.h" 12 #include "chrome/common/extensions/extension_manifest_constants.h"
13 #include "chrome/common/extensions/manifest_handlers/sandboxed_page_info.h"
13 14
14 namespace keys = extension_manifest_keys; 15 namespace keys = extension_manifest_keys;
15 namespace errors = extension_manifest_errors; 16 namespace errors = extension_manifest_errors;
16 17
17 using extensions::csp_validator::ContentSecurityPolicyIsLegal; 18 using extensions::csp_validator::ContentSecurityPolicyIsLegal;
18 using extensions::csp_validator::ContentSecurityPolicyIsSecure; 19 using extensions::csp_validator::ContentSecurityPolicyIsSecure;
19 20
20 namespace extensions { 21 namespace extensions {
21 22
22 namespace { 23 namespace {
(...skipping 30 matching lines...) Expand all
53 } 54 }
54 55
55 // static 56 // static
56 const std::string& CSPInfo::GetContentSecurityPolicy( 57 const std::string& CSPInfo::GetContentSecurityPolicy(
57 const Extension* extension) { 58 const Extension* extension) {
58 CSPInfo* csp_info = static_cast<CSPInfo*>( 59 CSPInfo* csp_info = static_cast<CSPInfo*>(
59 extension->GetManifestData(keys::kContentSecurityPolicy)); 60 extension->GetManifestData(keys::kContentSecurityPolicy));
60 return csp_info ? csp_info->content_security_policy : EmptyString(); 61 return csp_info ? csp_info->content_security_policy : EmptyString();
61 } 62 }
62 63
64 // static
65 const std::string& CSPInfo::GetResourceContentSecurityPolicy(
66 const Extension* extension,
67 const std::string& relative_path) {
68 return SandboxedPageInfo::IsSandboxedPage(extension, relative_path) ?
69 SandboxedPageInfo::GetContentSecurityPolicy(extension) :
70 GetContentSecurityPolicy(extension);
71 }
72
63 CSPHandler::CSPHandler(bool is_platform_app) 73 CSPHandler::CSPHandler(bool is_platform_app)
64 : is_platform_app_(is_platform_app) { 74 : is_platform_app_(is_platform_app) {
65 } 75 }
66 76
67 CSPHandler::~CSPHandler() { 77 CSPHandler::~CSPHandler() {
68 } 78 }
69 79
70 bool CSPHandler::Parse(Extension* extension, string16* error) { 80 bool CSPHandler::Parse(Extension* extension, string16* error) {
71 const std::string key = Keys()[0]; 81 const std::string key = Keys()[0];
72 if (!extension->manifest()->HasPath(key)) { 82 if (!extension->manifest()->HasPath(key)) {
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
114 type == Manifest::TYPE_LEGACY_PACKAGED_APP; 124 type == Manifest::TYPE_LEGACY_PACKAGED_APP;
115 } 125 }
116 126
117 const std::vector<std::string> CSPHandler::Keys() const { 127 const std::vector<std::string> CSPHandler::Keys() const {
118 const std::string& key = is_platform_app_ ? 128 const std::string& key = is_platform_app_ ?
119 keys::kPlatformAppContentSecurityPolicy : keys::kContentSecurityPolicy; 129 keys::kPlatformAppContentSecurityPolicy : keys::kContentSecurityPolicy;
120 return SingleKey(key); 130 return SingleKey(key);
121 } 131 }
122 132
123 } // namespace extensions 133 } // namespace extensions
OLDNEW
« no previous file with comments | « chrome/common/extensions/csp_handler.h ('k') | chrome/common/extensions/extension.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698