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

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

Issue 12253022: Manifest handler for all keys background-related. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 9 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 (c) 2012 The Chromium Authors. All rights reserved. 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 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/manifest_url_handler.h" 5 #include "chrome/common/extensions/manifest_url_handler.h"
6 6
7 #include "base/lazy_instance.h" 7 #include "base/lazy_instance.h"
8 #include "base/memory/scoped_ptr.h" 8 #include "base/memory/scoped_ptr.h"
9 #include "base/string_util.h" 9 #include "base/string_util.h"
10 #include "base/stringprintf.h" 10 #include "base/stringprintf.h"
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 std::string devtools_str; 96 std::string devtools_str;
97 if (!extension->manifest()->GetString(keys::kDevToolsPage, &devtools_str)) { 97 if (!extension->manifest()->GetString(keys::kDevToolsPage, &devtools_str)) {
98 *error = ASCIIToUTF16(errors::kInvalidDevToolsPage); 98 *error = ASCIIToUTF16(errors::kInvalidDevToolsPage);
99 return false; 99 return false;
100 } 100 }
101 manifest_url->url_ = extension->GetResourceURL(devtools_str); 101 manifest_url->url_ = extension->GetResourceURL(devtools_str);
102 extension->SetManifestData(keys::kDevToolsPage, manifest_url.release()); 102 extension->SetManifestData(keys::kDevToolsPage, manifest_url.release());
103 return true; 103 return true;
104 } 104 }
105 105
106 const std::vector<std::string> DevToolsPageHandler::Keys() const {
107 return SingleKey(keys::kDevToolsPage);
108 }
109
106 HomepageURLHandler::HomepageURLHandler() { 110 HomepageURLHandler::HomepageURLHandler() {
107 } 111 }
108 112
109 HomepageURLHandler::~HomepageURLHandler() { 113 HomepageURLHandler::~HomepageURLHandler() {
110 } 114 }
111 115
112 bool HomepageURLHandler::Parse(Extension* extension, string16* error) { 116 bool HomepageURLHandler::Parse(Extension* extension, string16* error) {
113 scoped_ptr<ManifestURL> manifest_url(new ManifestURL); 117 scoped_ptr<ManifestURL> manifest_url(new ManifestURL);
114 std::string homepage_url_str; 118 std::string homepage_url_str;
115 if (!extension->manifest()->GetString(keys::kHomepageURL, 119 if (!extension->manifest()->GetString(keys::kHomepageURL,
116 &homepage_url_str)) { 120 &homepage_url_str)) {
117 *error = ErrorUtils::FormatErrorMessageUTF16( 121 *error = ErrorUtils::FormatErrorMessageUTF16(
118 errors::kInvalidHomepageURL, ""); 122 errors::kInvalidHomepageURL, "");
119 return false; 123 return false;
120 } 124 }
121 manifest_url->url_ = GURL(homepage_url_str); 125 manifest_url->url_ = GURL(homepage_url_str);
122 if (!manifest_url->url_.is_valid() || 126 if (!manifest_url->url_.is_valid() ||
123 (!manifest_url->url_.SchemeIs("http") && 127 (!manifest_url->url_.SchemeIs("http") &&
124 !manifest_url->url_.SchemeIs("https"))) { 128 !manifest_url->url_.SchemeIs("https"))) {
125 *error = ErrorUtils::FormatErrorMessageUTF16( 129 *error = ErrorUtils::FormatErrorMessageUTF16(
126 errors::kInvalidHomepageURL, homepage_url_str); 130 errors::kInvalidHomepageURL, homepage_url_str);
127 return false; 131 return false;
128 } 132 }
129 extension->SetManifestData(keys::kHomepageURL, manifest_url.release()); 133 extension->SetManifestData(keys::kHomepageURL, manifest_url.release());
130 return true; 134 return true;
131 } 135 }
132 136
137 const std::vector<std::string> HomepageURLHandler::Keys() const {
138 return SingleKey(keys::kHomepageURL);
139 }
140
133 UpdateURLHandler::UpdateURLHandler() { 141 UpdateURLHandler::UpdateURLHandler() {
134 } 142 }
135 143
136 UpdateURLHandler::~UpdateURLHandler() { 144 UpdateURLHandler::~UpdateURLHandler() {
137 } 145 }
138 146
139 bool UpdateURLHandler::Parse(Extension* extension, string16* error) { 147 bool UpdateURLHandler::Parse(Extension* extension, string16* error) {
140 scoped_ptr<ManifestURL> manifest_url(new ManifestURL); 148 scoped_ptr<ManifestURL> manifest_url(new ManifestURL);
141 std::string tmp_update_url; 149 std::string tmp_update_url;
142 150
143 if (!extension->manifest()->GetString(keys::kUpdateURL, &tmp_update_url)) { 151 if (!extension->manifest()->GetString(keys::kUpdateURL, &tmp_update_url)) {
144 *error = ErrorUtils::FormatErrorMessageUTF16( 152 *error = ErrorUtils::FormatErrorMessageUTF16(
145 errors::kInvalidUpdateURL, ""); 153 errors::kInvalidUpdateURL, "");
146 return false; 154 return false;
147 } 155 }
148 156
149 manifest_url->url_ = GURL(tmp_update_url); 157 manifest_url->url_ = GURL(tmp_update_url);
150 if (!manifest_url->url_.is_valid() || 158 if (!manifest_url->url_.is_valid() ||
151 manifest_url->url_.has_ref()) { 159 manifest_url->url_.has_ref()) {
152 *error = ErrorUtils::FormatErrorMessageUTF16( 160 *error = ErrorUtils::FormatErrorMessageUTF16(
153 errors::kInvalidUpdateURL, tmp_update_url); 161 errors::kInvalidUpdateURL, tmp_update_url);
154 return false; 162 return false;
155 } 163 }
156 164
157 extension->SetManifestData(keys::kUpdateURL, manifest_url.release()); 165 extension->SetManifestData(keys::kUpdateURL, manifest_url.release());
158 return true; 166 return true;
159 } 167 }
160 168
169 const std::vector<std::string> UpdateURLHandler::Keys() const {
170 return SingleKey(keys::kUpdateURL);
171 }
172
161 OptionsPageHandler::OptionsPageHandler() { 173 OptionsPageHandler::OptionsPageHandler() {
162 } 174 }
163 175
164 OptionsPageHandler::~OptionsPageHandler() { 176 OptionsPageHandler::~OptionsPageHandler() {
165 } 177 }
166 178
167 bool OptionsPageHandler::Parse(Extension* extension, string16* error) { 179 bool OptionsPageHandler::Parse(Extension* extension, string16* error) {
168 scoped_ptr<ManifestURL> manifest_url(new ManifestURL); 180 scoped_ptr<ManifestURL> manifest_url(new ManifestURL);
169 std::string options_str; 181 std::string options_str;
170 if (!extension->manifest()->GetString(keys::kOptionsPage, &options_str)) { 182 if (!extension->manifest()->GetString(keys::kOptionsPage, &options_str)) {
(...skipping 20 matching lines...) Expand all
191 if (!manifest_url->url_.is_valid()) { 203 if (!manifest_url->url_.is_valid()) {
192 *error = ASCIIToUTF16(errors::kInvalidOptionsPage); 204 *error = ASCIIToUTF16(errors::kInvalidOptionsPage);
193 return false; 205 return false;
194 } 206 }
195 } 207 }
196 208
197 extension->SetManifestData(keys::kOptionsPage, manifest_url.release()); 209 extension->SetManifestData(keys::kOptionsPage, manifest_url.release());
198 return true; 210 return true;
199 } 211 }
200 212
213 const std::vector<std::string> OptionsPageHandler::Keys() const {
214 return SingleKey(keys::kOptionsPage);
215 }
216
201 URLOverridesHandler::URLOverridesHandler() { 217 URLOverridesHandler::URLOverridesHandler() {
202 } 218 }
203 219
204 URLOverridesHandler::~URLOverridesHandler() { 220 URLOverridesHandler::~URLOverridesHandler() {
205 } 221 }
206 222
207 bool URLOverridesHandler::Parse(Extension* extension, string16* error) { 223 bool URLOverridesHandler::Parse(Extension* extension, string16* error) {
208 const DictionaryValue* overrides = NULL; 224 const DictionaryValue* overrides = NULL;
209 if (!extension->manifest()->GetDictionary(keys::kChromeURLOverrides, 225 if (!extension->manifest()->GetDictionary(keys::kChromeURLOverrides,
210 &overrides)) { 226 &overrides)) {
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
256 // An extension may override at most one page. 272 // An extension may override at most one page.
257 if (overrides->size() > 1) { 273 if (overrides->size() > 1) {
258 *error = ASCIIToUTF16(errors::kMultipleOverrides); 274 *error = ASCIIToUTF16(errors::kMultipleOverrides);
259 return false; 275 return false;
260 } 276 }
261 extension->SetManifestData(keys::kChromeURLOverrides, 277 extension->SetManifestData(keys::kChromeURLOverrides,
262 url_overrides.release()); 278 url_overrides.release());
263 return true; 279 return true;
264 } 280 }
265 281
282 const std::vector<std::string> URLOverridesHandler::Keys() const {
283 return SingleKey(keys::kChromeURLOverrides);
284 }
285
266 } // namespace extensions 286 } // namespace extensions
OLDNEW
« no previous file with comments | « chrome/common/extensions/manifest_url_handler.h ('k') | chrome/common/extensions/permissions/permission_set_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698