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

Side by Side Diff: extensions/common/manifest_handlers/csp_info.cc

Issue 112963005: Update uses of UTF conversions in courgette/, device/, extensions/, google_apis/, gpu/, ipc/, media… (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 12 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
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 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 "extensions/common/manifest_handlers/csp_info.h" 5 #include "extensions/common/manifest_handlers/csp_info.h"
6 6
7 #include "base/memory/scoped_ptr.h" 7 #include "base/memory/scoped_ptr.h"
8 #include "base/strings/string_util.h" 8 #include "base/strings/string_util.h"
9 #include "base/strings/utf_string_conversions.h" 9 #include "base/strings/utf_string_conversions.h"
10 #include "base/values.h" 10 #include "base/values.h"
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
90 CHECK(ContentSecurityPolicyIsSecure(content_security_policy, 90 CHECK(ContentSecurityPolicyIsSecure(content_security_policy,
91 extension->GetType())); 91 extension->GetType()));
92 extension->SetManifestData(keys::kContentSecurityPolicy, 92 extension->SetManifestData(keys::kContentSecurityPolicy,
93 new CSPInfo(content_security_policy)); 93 new CSPInfo(content_security_policy));
94 } 94 }
95 return true; 95 return true;
96 } 96 }
97 97
98 std::string content_security_policy; 98 std::string content_security_policy;
99 if (!extension->manifest()->GetString(key, &content_security_policy)) { 99 if (!extension->manifest()->GetString(key, &content_security_policy)) {
100 *error = ASCIIToUTF16(errors::kInvalidContentSecurityPolicy); 100 *error = base::ASCIIToUTF16(errors::kInvalidContentSecurityPolicy);
101 return false; 101 return false;
102 } 102 }
103 if (!ContentSecurityPolicyIsLegal(content_security_policy)) { 103 if (!ContentSecurityPolicyIsLegal(content_security_policy)) {
104 *error = ASCIIToUTF16(errors::kInvalidContentSecurityPolicy); 104 *error = base::ASCIIToUTF16(errors::kInvalidContentSecurityPolicy);
105 return false; 105 return false;
106 } 106 }
107 if (extension->manifest_version() >= 2 && 107 if (extension->manifest_version() >= 2 &&
108 !ContentSecurityPolicyIsSecure(content_security_policy, 108 !ContentSecurityPolicyIsSecure(content_security_policy,
109 extension->GetType())) { 109 extension->GetType())) {
110 *error = ASCIIToUTF16(errors::kInsecureContentSecurityPolicy); 110 *error = base::ASCIIToUTF16(errors::kInsecureContentSecurityPolicy);
111 return false; 111 return false;
112 } 112 }
113 113
114 extension->SetManifestData(keys::kContentSecurityPolicy, 114 extension->SetManifestData(keys::kContentSecurityPolicy,
115 new CSPInfo(content_security_policy)); 115 new CSPInfo(content_security_policy));
116 return true; 116 return true;
117 } 117 }
118 118
119 bool CSPHandler::AlwaysParseForType(Manifest::Type type) const { 119 bool CSPHandler::AlwaysParseForType(Manifest::Type type) const {
120 if (is_platform_app_) 120 if (is_platform_app_)
121 return type == Manifest::TYPE_PLATFORM_APP; 121 return type == Manifest::TYPE_PLATFORM_APP;
122 else 122 else
123 return type == Manifest::TYPE_EXTENSION || 123 return type == Manifest::TYPE_EXTENSION ||
124 type == Manifest::TYPE_LEGACY_PACKAGED_APP; 124 type == Manifest::TYPE_LEGACY_PACKAGED_APP;
125 } 125 }
126 126
127 const std::vector<std::string> CSPHandler::Keys() const { 127 const std::vector<std::string> CSPHandler::Keys() const {
128 const std::string& key = is_platform_app_ ? 128 const std::string& key = is_platform_app_ ?
129 keys::kPlatformAppContentSecurityPolicy : keys::kContentSecurityPolicy; 129 keys::kPlatformAppContentSecurityPolicy : keys::kContentSecurityPolicy;
130 return SingleKey(key); 130 return SingleKey(key);
131 } 131 }
132 132
133 } // namespace extensions 133 } // namespace extensions
OLDNEW
« no previous file with comments | « extensions/common/manifest_handlers/background_info.cc ('k') | extensions/common/manifest_handlers/incognito_info.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698