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

Side by Side Diff: chrome/browser/chromeos/extensions/device_local_account_management_policy_provider_unittest.cc

Issue 2765363004: Stop passing raw pointers to DictionaryValue::Set, part 2 (Closed)
Patch Set: Fix comments Created 3 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
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 "chrome/browser/chromeos/extensions/device_local_account_management_pol icy_provider.h" 5 #include "chrome/browser/chromeos/extensions/device_local_account_management_pol icy_provider.h"
6 6
7 #include <string> 7 #include <string>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/files/file_path.h" 10 #include "base/files/file_path.h"
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
51 scoped_refptr<const extensions::Extension> CreateExternalComponentExtension() { 51 scoped_refptr<const extensions::Extension> CreateExternalComponentExtension() {
52 base::DictionaryValue values; 52 base::DictionaryValue values;
53 return CreateExtensionFromValues(std::string(), 53 return CreateExtensionFromValues(std::string(),
54 extensions::Manifest::EXTERNAL_COMPONENT, 54 extensions::Manifest::EXTERNAL_COMPONENT,
55 &values, 55 &values,
56 extensions::Extension::NO_FLAGS); 56 extensions::Extension::NO_FLAGS);
57 } 57 }
58 58
59 scoped_refptr<const extensions::Extension> CreateHostedApp() { 59 scoped_refptr<const extensions::Extension> CreateHostedApp() {
60 base::DictionaryValue values; 60 base::DictionaryValue values;
61 values.Set(extensions::manifest_keys::kApp, new base::DictionaryValue); 61 values.Set(extensions::manifest_keys::kApp,
62 values.Set(extensions::manifest_keys::kWebURLs, new base::ListValue); 62 base::MakeUnique<base::DictionaryValue>());
63 values.Set(extensions::manifest_keys::kWebURLs,
64 base::MakeUnique<base::ListValue>());
63 return CreateExtensionFromValues(std::string(), 65 return CreateExtensionFromValues(std::string(),
64 extensions::Manifest::INTERNAL, 66 extensions::Manifest::INTERNAL,
65 &values, 67 &values,
66 extensions::Extension::NO_FLAGS); 68 extensions::Extension::NO_FLAGS);
67 } 69 }
68 70
69 scoped_refptr<const extensions::Extension> CreatePlatformAppWithExtraValues( 71 scoped_refptr<const extensions::Extension> CreatePlatformAppWithExtraValues(
70 const base::DictionaryValue* extra_values, 72 const base::DictionaryValue* extra_values,
71 extensions::Manifest::Location location, 73 extensions::Manifest::Location location,
72 int flags) { 74 int flags) {
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
167 EXPECT_FALSE(provider.UserMayLoad(extension.get(), &error)); 169 EXPECT_FALSE(provider.UserMayLoad(extension.get(), &error));
168 EXPECT_NE(base::string16(), error); 170 EXPECT_NE(base::string16(), error);
169 error.clear(); 171 error.clear();
170 } 172 }
171 173
172 // Verify that a platform app with all safe manifest entries can be installed. 174 // Verify that a platform app with all safe manifest entries can be installed.
173 { 175 {
174 base::DictionaryValue values; 176 base::DictionaryValue values;
175 values.SetString(extensions::manifest_keys::kDescription, "something"); 177 values.SetString(extensions::manifest_keys::kDescription, "something");
176 values.SetString(extensions::manifest_keys::kShortName, "something else"); 178 values.SetString(extensions::manifest_keys::kShortName, "something else");
177 base::ListValue* permissions = new base::ListValue(); 179 auto permissions = base::MakeUnique<base::ListValue>();
178 permissions->AppendString("alarms"); 180 permissions->AppendString("alarms");
179 permissions->AppendString("background"); 181 permissions->AppendString("background");
180 values.Set(extensions::manifest_keys::kPermissions, permissions); 182 values.Set(extensions::manifest_keys::kPermissions, std::move(permissions));
181 base::ListValue* optional_permissions = new base::ListValue(); 183 auto optional_permissions = base::MakeUnique<base::ListValue>();
182 optional_permissions->AppendString("alarms"); 184 optional_permissions->AppendString("alarms");
183 optional_permissions->AppendString("background"); 185 optional_permissions->AppendString("background");
184 values.Set(extensions::manifest_keys::kOptionalPermissions, 186 values.Set(extensions::manifest_keys::kOptionalPermissions,
185 optional_permissions); 187 std::move(optional_permissions));
186 extension = CreatePlatformAppWithExtraValues( 188 extension = CreatePlatformAppWithExtraValues(
187 &values, 189 &values,
188 extensions::Manifest::EXTERNAL_POLICY, 190 extensions::Manifest::EXTERNAL_POLICY,
189 extensions::Extension::NO_FLAGS); 191 extensions::Extension::NO_FLAGS);
190 ASSERT_TRUE(extension); 192 ASSERT_TRUE(extension);
191 193
192 EXPECT_TRUE(provider.UserMayLoad(extension.get(), &error)); 194 EXPECT_TRUE(provider.UserMayLoad(extension.get(), &error));
193 EXPECT_EQ(base::string16(), error); 195 EXPECT_EQ(base::string16(), error);
194 error.clear(); 196 error.clear();
195 } 197 }
(...skipping 13 matching lines...) Expand all
209 EXPECT_NE(base::string16(), error); 211 EXPECT_NE(base::string16(), error);
210 error.clear(); 212 error.clear();
211 } 213 }
212 214
213 // Verify that a platform app with an unsafe manifest entry cannot be 215 // Verify that a platform app with an unsafe manifest entry cannot be
214 // installed. Since the program logic is based entirely on whitelists, there 216 // installed. Since the program logic is based entirely on whitelists, there
215 // is no significant advantage in testing all unsafe manifest entries 217 // is no significant advantage in testing all unsafe manifest entries
216 // individually. 218 // individually.
217 { 219 {
218 base::DictionaryValue values; 220 base::DictionaryValue values;
219 values.Set("chrome_settings_overrides", new base::DictionaryValue()); 221 values.Set("chrome_settings_overrides",
222 base::MakeUnique<base::DictionaryValue>());
220 extension = CreatePlatformAppWithExtraValues( 223 extension = CreatePlatformAppWithExtraValues(
221 &values, 224 &values,
222 extensions::Manifest::EXTERNAL_POLICY, 225 extensions::Manifest::EXTERNAL_POLICY,
223 extensions::Extension::NO_FLAGS); 226 extensions::Extension::NO_FLAGS);
224 ASSERT_TRUE(extension); 227 ASSERT_TRUE(extension);
225 228
226 EXPECT_FALSE(provider.UserMayLoad(extension.get(), &error)); 229 EXPECT_FALSE(provider.UserMayLoad(extension.get(), &error));
227 EXPECT_NE(base::string16(), error); 230 EXPECT_NE(base::string16(), error);
228 error.clear(); 231 error.clear();
229 } 232 }
(...skipping 27 matching lines...) Expand all
257 260
258 EXPECT_TRUE(provider.UserMayLoad(extension.get(), &error)); 261 EXPECT_TRUE(provider.UserMayLoad(extension.get(), &error));
259 EXPECT_EQ(base::string16(), error); 262 EXPECT_EQ(base::string16(), error);
260 error.clear(); 263 error.clear();
261 } 264 }
262 265
263 // Verify that a hosted app with a safe manifest entry under "app" can be 266 // Verify that a hosted app with a safe manifest entry under "app" can be
264 // installed. 267 // installed.
265 { 268 {
266 base::DictionaryValue values; 269 base::DictionaryValue values;
267 values.Set(extensions::manifest_keys::kApp, new base::DictionaryValue); 270 values.Set(extensions::manifest_keys::kApp,
268 values.Set(extensions::manifest_keys::kWebURLs, new base::ListValue); 271 base::MakeUnique<base::DictionaryValue>());
272 values.Set(extensions::manifest_keys::kWebURLs,
273 base::MakeUnique<base::ListValue>());
269 values.SetString("app.content_security_policy", "something2"); 274 values.SetString("app.content_security_policy", "something2");
270 extension = CreateExtensionFromValues( 275 extension = CreateExtensionFromValues(
271 std::string(), 276 std::string(),
272 extensions::Manifest::EXTERNAL_POLICY, 277 extensions::Manifest::EXTERNAL_POLICY,
273 &values, 278 &values,
274 extensions::Extension::NO_FLAGS); 279 extensions::Extension::NO_FLAGS);
275 ASSERT_TRUE(extension); 280 ASSERT_TRUE(extension);
276 281
277 EXPECT_TRUE(provider.UserMayLoad(extension.get(), &error)); 282 EXPECT_TRUE(provider.UserMayLoad(extension.get(), &error));
278 EXPECT_EQ(base::string16(), error); 283 EXPECT_EQ(base::string16(), error);
279 error.clear(); 284 error.clear();
280 } 285 }
281 286
282 // Verify that a theme with a safe manifest entry under "app" cannot be 287 // Verify that a theme with a safe manifest entry under "app" cannot be
283 // installed. 288 // installed.
284 { 289 {
285 base::DictionaryValue values; 290 base::DictionaryValue values;
286 values.Set("theme", new base::DictionaryValue()); 291 values.Set("theme", base::MakeUnique<base::DictionaryValue>());
287 values.SetString("app.content_security_policy", "something2"); 292 values.SetString("app.content_security_policy", "something2");
288 extension = CreateExtensionFromValues( 293 extension = CreateExtensionFromValues(
289 std::string(), 294 std::string(),
290 extensions::Manifest::EXTERNAL_POLICY, 295 extensions::Manifest::EXTERNAL_POLICY,
291 &values, 296 &values,
292 extensions::Extension::NO_FLAGS); 297 extensions::Extension::NO_FLAGS);
293 ASSERT_TRUE(extension); 298 ASSERT_TRUE(extension);
294 299
295 EXPECT_FALSE(provider.UserMayLoad(extension.get(), &error)); 300 EXPECT_FALSE(provider.UserMayLoad(extension.get(), &error));
296 EXPECT_NE(base::string16(), error); 301 EXPECT_NE(base::string16(), error);
297 error.clear(); 302 error.clear();
298 } 303 }
299 304
300 // Verify that a platform app with an unknown permission entry cannot be 305 // Verify that a platform app with an unknown permission entry cannot be
301 // installed. 306 // installed.
302 { 307 {
303 base::ListValue* const permissions = new base::ListValue(); 308 auto permissions = base::MakeUnique<base::ListValue>();
304 permissions->AppendString("not_whitelisted_permission"); 309 permissions->AppendString("not_whitelisted_permission");
305 base::DictionaryValue values; 310 base::DictionaryValue values;
306 values.Set(extensions::manifest_keys::kPermissions, permissions); 311 values.Set(extensions::manifest_keys::kPermissions, std::move(permissions));
307 312
308 extension = CreatePlatformAppWithExtraValues( 313 extension = CreatePlatformAppWithExtraValues(
309 &values, 314 &values,
310 extensions::Manifest::EXTERNAL_POLICY, 315 extensions::Manifest::EXTERNAL_POLICY,
311 extensions::Extension::NO_FLAGS); 316 extensions::Extension::NO_FLAGS);
312 ASSERT_TRUE(extension); 317 ASSERT_TRUE(extension);
313 318
314 EXPECT_FALSE(provider.UserMayLoad(extension.get(), &error)); 319 EXPECT_FALSE(provider.UserMayLoad(extension.get(), &error));
315 EXPECT_NE(base::string16(), error); 320 EXPECT_NE(base::string16(), error);
316 error.clear(); 321 error.clear();
317 } 322 }
318 323
319 // Verify that a platform app with an unsafe permission entry cannot be 324 // Verify that a platform app with an unsafe permission entry cannot be
320 // installed. Since the program logic is based entirely on whitelists, there 325 // installed. Since the program logic is based entirely on whitelists, there
321 // is no significant advantage in testing all unsafe permissions individually. 326 // is no significant advantage in testing all unsafe permissions individually.
322 { 327 {
323 base::ListValue* const permissions = new base::ListValue(); 328 auto permissions = base::MakeUnique<base::ListValue>();
324 permissions->AppendString("experimental"); 329 permissions->AppendString("experimental");
325 base::DictionaryValue values; 330 base::DictionaryValue values;
326 values.Set(extensions::manifest_keys::kPermissions, permissions); 331 values.Set(extensions::manifest_keys::kPermissions, std::move(permissions));
327 332
328 extension = CreatePlatformAppWithExtraValues( 333 extension = CreatePlatformAppWithExtraValues(
329 &values, 334 &values,
330 extensions::Manifest::EXTERNAL_POLICY, 335 extensions::Manifest::EXTERNAL_POLICY,
331 extensions::Extension::NO_FLAGS); 336 extensions::Extension::NO_FLAGS);
332 ASSERT_TRUE(extension); 337 ASSERT_TRUE(extension);
333 338
334 EXPECT_FALSE(provider.UserMayLoad(extension.get(), &error)); 339 EXPECT_FALSE(provider.UserMayLoad(extension.get(), &error));
335 EXPECT_NE(base::string16(), error); 340 EXPECT_NE(base::string16(), error);
336 error.clear(); 341 error.clear();
337 } 342 }
338 343
339 // Verify that a platform app with an unsafe optional permission entry cannot 344 // Verify that a platform app with an unsafe optional permission entry cannot
340 // be installed. 345 // be installed.
341 { 346 {
342 base::ListValue* const permissions = new base::ListValue(); 347 auto permissions = base::MakeUnique<base::ListValue>();
343 permissions->AppendString("experimental"); 348 permissions->AppendString("experimental");
344 base::DictionaryValue values; 349 base::DictionaryValue values;
345 values.Set(extensions::manifest_keys::kOptionalPermissions, permissions); 350 values.Set(extensions::manifest_keys::kOptionalPermissions,
351 std::move(permissions));
346 352
347 extension = CreatePlatformAppWithExtraValues( 353 extension = CreatePlatformAppWithExtraValues(
348 &values, 354 &values,
349 extensions::Manifest::EXTERNAL_POLICY, 355 extensions::Manifest::EXTERNAL_POLICY,
350 extensions::Extension::NO_FLAGS); 356 extensions::Extension::NO_FLAGS);
351 ASSERT_TRUE(extension); 357 ASSERT_TRUE(extension);
352 358
353 EXPECT_FALSE(provider.UserMayLoad(extension.get(), &error)); 359 EXPECT_FALSE(provider.UserMayLoad(extension.get(), &error));
354 EXPECT_NE(base::string16(), error); 360 EXPECT_NE(base::string16(), error);
355 error.clear(); 361 error.clear();
356 } 362 }
357 363
358 // Verify that a platform app with an url_handlers manifest entry and which is 364 // Verify that a platform app with an url_handlers manifest entry and which is
359 // not installed through the web store cannot be installed. 365 // not installed through the web store cannot be installed.
360 { 366 {
361 base::ListValue* const matches = new base::ListValue(); 367 auto matches = base::MakeUnique<base::ListValue>();
362 matches->AppendString("https://example.com/*"); 368 matches->AppendString("https://example.com/*");
363 base::DictionaryValue values; 369 base::DictionaryValue values;
364 values.Set("url_handlers.example_com.matches", matches); 370 values.Set("url_handlers.example_com.matches", std::move(matches));
365 values.SetString("url_handlers.example_com.title", "example title"); 371 values.SetString("url_handlers.example_com.title", "example title");
366 372
367 extension = CreatePlatformAppWithExtraValues( 373 extension = CreatePlatformAppWithExtraValues(
368 &values, 374 &values,
369 extensions::Manifest::EXTERNAL_POLICY, 375 extensions::Manifest::EXTERNAL_POLICY,
370 extensions::Extension::NO_FLAGS); 376 extensions::Extension::NO_FLAGS);
371 ASSERT_TRUE(extension); 377 ASSERT_TRUE(extension);
372 378
373 EXPECT_FALSE(provider.UserMayLoad(extension.get(), &error)); 379 EXPECT_FALSE(provider.UserMayLoad(extension.get(), &error));
374 EXPECT_NE(base::string16(), error); 380 EXPECT_NE(base::string16(), error);
375 error.clear(); 381 error.clear();
376 } 382 }
377 383
378 // Verify that a platform app with a url_handlers manifest entry and which is 384 // Verify that a platform app with a url_handlers manifest entry and which is
379 // installed through the web store can be installed. 385 // installed through the web store can be installed.
380 { 386 {
381 base::ListValue* const matches = new base::ListValue(); 387 auto matches = base::MakeUnique<base::ListValue>();
382 matches->AppendString("https://example.com/*"); 388 matches->AppendString("https://example.com/*");
383 base::DictionaryValue values; 389 base::DictionaryValue values;
384 values.Set("url_handlers.example_com.matches", matches); 390 values.Set("url_handlers.example_com.matches", std::move(matches));
385 values.SetString("url_handlers.example_com.title", "example title"); 391 values.SetString("url_handlers.example_com.title", "example title");
386 392
387 extension = CreatePlatformAppWithExtraValues( 393 extension = CreatePlatformAppWithExtraValues(
388 &values, 394 &values,
389 extensions::Manifest::EXTERNAL_POLICY, 395 extensions::Manifest::EXTERNAL_POLICY,
390 extensions::Extension::FROM_WEBSTORE); 396 extensions::Extension::FROM_WEBSTORE);
391 ASSERT_TRUE(extension); 397 ASSERT_TRUE(extension);
392 398
393 EXPECT_TRUE(provider.UserMayLoad(extension.get(), &error)); 399 EXPECT_TRUE(provider.UserMayLoad(extension.get(), &error));
394 EXPECT_EQ(base::string16(), error); 400 EXPECT_EQ(base::string16(), error);
395 error.clear(); 401 error.clear();
396 } 402 }
397 403
398 // Verify that a platform app with remote URL permissions can be installed. 404 // Verify that a platform app with remote URL permissions can be installed.
399 { 405 {
400 base::ListValue* const permissions = new base::ListValue(); 406 auto permissions = base::MakeUnique<base::ListValue>();
401 permissions->AppendString("https://example.com/"); 407 permissions->AppendString("https://example.com/");
402 permissions->AppendString("http://example.com/"); 408 permissions->AppendString("http://example.com/");
403 permissions->AppendString("ftp://example.com/"); 409 permissions->AppendString("ftp://example.com/");
404 base::DictionaryValue values; 410 base::DictionaryValue values;
405 values.Set(extensions::manifest_keys::kPermissions, permissions); 411 values.Set(extensions::manifest_keys::kPermissions, std::move(permissions));
406 412
407 extension = CreatePlatformAppWithExtraValues( 413 extension = CreatePlatformAppWithExtraValues(
408 &values, 414 &values,
409 extensions::Manifest::EXTERNAL_POLICY, 415 extensions::Manifest::EXTERNAL_POLICY,
410 extensions::Extension::NO_FLAGS); 416 extensions::Extension::NO_FLAGS);
411 ASSERT_TRUE(extension); 417 ASSERT_TRUE(extension);
412 418
413 EXPECT_TRUE(provider.UserMayLoad(extension.get(), &error)); 419 EXPECT_TRUE(provider.UserMayLoad(extension.get(), &error));
414 EXPECT_EQ(base::string16(), error); 420 EXPECT_EQ(base::string16(), error);
415 error.clear(); 421 error.clear();
416 } 422 }
417 423
418 // Verify that an extension with remote URL permissions cannot be installed. 424 // Verify that an extension with remote URL permissions cannot be installed.
419 { 425 {
420 base::ListValue* const permissions = new base::ListValue(); 426 auto permissions = base::MakeUnique<base::ListValue>();
421 permissions->AppendString("https://example.com/"); 427 permissions->AppendString("https://example.com/");
422 permissions->AppendString("http://example.com/"); 428 permissions->AppendString("http://example.com/");
423 permissions->AppendString("ftp://example.com/"); 429 permissions->AppendString("ftp://example.com/");
424 base::DictionaryValue values; 430 base::DictionaryValue values;
425 values.Set(extensions::manifest_keys::kPermissions, permissions); 431 values.Set(extensions::manifest_keys::kPermissions, std::move(permissions));
426 432
427 extension = CreateExtensionFromValues( 433 extension = CreateExtensionFromValues(
428 std::string(), 434 std::string(),
429 extensions::Manifest::EXTERNAL_POLICY, 435 extensions::Manifest::EXTERNAL_POLICY,
430 &values, 436 &values,
431 extensions::Extension::NO_FLAGS); 437 extensions::Extension::NO_FLAGS);
432 ASSERT_TRUE(extension); 438 ASSERT_TRUE(extension);
433 439
434 EXPECT_FALSE(provider.UserMayLoad(extension.get(), &error)); 440 EXPECT_FALSE(provider.UserMayLoad(extension.get(), &error));
435 EXPECT_NE(base::string16(), error); 441 EXPECT_NE(base::string16(), error);
436 error.clear(); 442 error.clear();
437 } 443 }
438 444
439 // Verify that a platform app with a local URL permission cannot be installed. 445 // Verify that a platform app with a local URL permission cannot be installed.
440 { 446 {
441 base::ListValue* const permissions = new base::ListValue(); 447 auto permissions = base::MakeUnique<base::ListValue>();
442 permissions->AppendString("file:///some/where"); 448 permissions->AppendString("file:///some/where");
443 base::DictionaryValue values; 449 base::DictionaryValue values;
444 values.Set(extensions::manifest_keys::kPermissions, permissions); 450 values.Set(extensions::manifest_keys::kPermissions, std::move(permissions));
445 451
446 extension = CreatePlatformAppWithExtraValues( 452 extension = CreatePlatformAppWithExtraValues(
447 &values, 453 &values,
448 extensions::Manifest::EXTERNAL_POLICY, 454 extensions::Manifest::EXTERNAL_POLICY,
449 extensions::Extension::NO_FLAGS); 455 extensions::Extension::NO_FLAGS);
450 ASSERT_TRUE(extension); 456 ASSERT_TRUE(extension);
451 457
452 EXPECT_FALSE(provider.UserMayLoad(extension.get(), &error)); 458 EXPECT_FALSE(provider.UserMayLoad(extension.get(), &error));
453 EXPECT_NE(base::string16(), error); 459 EXPECT_NE(base::string16(), error);
454 error.clear(); 460 error.clear();
455 } 461 }
456 462
457 // Verify that a platform app with socket dictionary permission can be 463 // Verify that a platform app with socket dictionary permission can be
458 // installed. 464 // installed.
459 { 465 {
460 auto socket = base::MakeUnique<base::DictionaryValue>(); 466 auto socket = base::MakeUnique<base::DictionaryValue>();
461 base::ListValue* const tcp_list = new base::ListValue(); 467 auto tcp_list = base::MakeUnique<base::ListValue>();
462 tcp_list->AppendString("tcp-connect"); 468 tcp_list->AppendString("tcp-connect");
463 socket->Set("socket", tcp_list); 469 socket->Set("socket", std::move(tcp_list));
464 base::ListValue* const permissions = new base::ListValue(); 470 auto permissions = base::MakeUnique<base::ListValue>();
465 permissions->Append(std::move(socket)); 471 permissions->Append(std::move(socket));
466 base::DictionaryValue values; 472 base::DictionaryValue values;
467 values.Set(extensions::manifest_keys::kPermissions, permissions); 473 values.Set(extensions::manifest_keys::kPermissions, std::move(permissions));
468 474
469 extension = CreatePlatformAppWithExtraValues( 475 extension = CreatePlatformAppWithExtraValues(
470 &values, 476 &values,
471 extensions::Manifest::EXTERNAL_POLICY, 477 extensions::Manifest::EXTERNAL_POLICY,
472 extensions::Extension::NO_FLAGS); 478 extensions::Extension::NO_FLAGS);
473 ASSERT_TRUE(extension); 479 ASSERT_TRUE(extension);
474 480
475 EXPECT_TRUE(provider.UserMayLoad(extension.get(), &error)); 481 EXPECT_TRUE(provider.UserMayLoad(extension.get(), &error));
476 EXPECT_EQ(base::string16(), error); 482 EXPECT_EQ(base::string16(), error);
477 error.clear(); 483 error.clear();
478 } 484 }
479 485
480 // Verify that a platform app with unknown dictionary permission cannot be 486 // Verify that a platform app with unknown dictionary permission cannot be
481 // installed. 487 // installed.
482 { 488 {
483 auto socket = base::MakeUnique<base::DictionaryValue>(); 489 auto socket = base::MakeUnique<base::DictionaryValue>();
484 base::ListValue* const tcp_list = new base::ListValue(); 490 auto tcp_list = base::MakeUnique<base::ListValue>();
485 tcp_list->AppendString("unknown_value"); 491 tcp_list->AppendString("unknown_value");
486 socket->Set("unknown_key", tcp_list); 492 socket->Set("unknown_key", std::move(tcp_list));
487 base::ListValue* const permissions = new base::ListValue(); 493 auto permissions = base::MakeUnique<base::ListValue>();
488 permissions->Append(std::move(socket)); 494 permissions->Append(std::move(socket));
489 base::DictionaryValue values; 495 base::DictionaryValue values;
490 values.Set(extensions::manifest_keys::kPermissions, permissions); 496 values.Set(extensions::manifest_keys::kPermissions, std::move(permissions));
491 497
492 extension = CreatePlatformAppWithExtraValues( 498 extension = CreatePlatformAppWithExtraValues(
493 &values, 499 &values,
494 extensions::Manifest::EXTERNAL_POLICY, 500 extensions::Manifest::EXTERNAL_POLICY,
495 extensions::Extension::NO_FLAGS); 501 extensions::Extension::NO_FLAGS);
496 ASSERT_TRUE(extension); 502 ASSERT_TRUE(extension);
497 503
498 EXPECT_FALSE(provider.UserMayLoad(extension.get(), &error)); 504 EXPECT_FALSE(provider.UserMayLoad(extension.get(), &error));
499 EXPECT_NE(base::string16(), error); 505 EXPECT_NE(base::string16(), error);
500 error.clear(); 506 error.clear();
(...skipping 10 matching lines...) Expand all
511 ASSERT_TRUE(extension); 517 ASSERT_TRUE(extension);
512 518
513 EXPECT_TRUE(provider.UserMayLoad(extension.get(), &error)); 519 EXPECT_TRUE(provider.UserMayLoad(extension.get(), &error));
514 EXPECT_EQ(base::string16(), error); 520 EXPECT_EQ(base::string16(), error);
515 error.clear(); 521 error.clear();
516 } 522 }
517 523
518 // Verify that a shared_module can be installed. 524 // Verify that a shared_module can be installed.
519 { 525 {
520 base::DictionaryValue values; 526 base::DictionaryValue values;
521 values.Set("export.whitelist", new base::ListValue()); 527 values.Set("export.whitelist", base::MakeUnique<base::ListValue>());
522 extension = CreateExtensionFromValues( 528 extension = CreateExtensionFromValues(
523 std::string(), 529 std::string(),
524 extensions::Manifest::EXTERNAL_POLICY, 530 extensions::Manifest::EXTERNAL_POLICY,
525 &values, 531 &values,
526 extensions::Extension::NO_FLAGS); 532 extensions::Extension::NO_FLAGS);
527 ASSERT_TRUE(extension); 533 ASSERT_TRUE(extension);
528 534
529 EXPECT_TRUE(provider.UserMayLoad(extension.get(), &error)); 535 EXPECT_TRUE(provider.UserMayLoad(extension.get(), &error));
530 EXPECT_EQ(base::string16(), error); 536 EXPECT_EQ(base::string16(), error);
531 error.clear(); 537 error.clear();
532 } 538 }
533 539
534 // Verify that a theme can be installed. 540 // Verify that a theme can be installed.
535 { 541 {
536 base::DictionaryValue values; 542 base::DictionaryValue values;
537 values.Set("theme", new base::DictionaryValue()); 543 values.Set("theme", base::MakeUnique<base::DictionaryValue>());
538 extension = CreateExtensionFromValues( 544 extension = CreateExtensionFromValues(
539 std::string(), 545 std::string(),
540 extensions::Manifest::EXTERNAL_POLICY, 546 extensions::Manifest::EXTERNAL_POLICY,
541 &values, 547 &values,
542 extensions::Extension::NO_FLAGS); 548 extensions::Extension::NO_FLAGS);
543 ASSERT_TRUE(extension); 549 ASSERT_TRUE(extension);
544 550
545 EXPECT_TRUE(provider.UserMayLoad(extension.get(), &error)); 551 EXPECT_TRUE(provider.UserMayLoad(extension.get(), &error));
546 EXPECT_EQ(base::string16(), error); 552 EXPECT_EQ(base::string16(), error);
547 error.clear(); 553 error.clear();
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
599 // types of device-local accounts cannot be installed in a single-app kiosk 605 // types of device-local accounts cannot be installed in a single-app kiosk
600 // session. 606 // session.
601 extension = CreateRegularExtension(kWhitelistedId); 607 extension = CreateRegularExtension(kWhitelistedId);
602 ASSERT_TRUE(extension.get()); 608 ASSERT_TRUE(extension.get());
603 EXPECT_TRUE(provider.UserMayLoad(extension.get(), &error)); 609 EXPECT_TRUE(provider.UserMayLoad(extension.get(), &error));
604 EXPECT_EQ(base::string16(), error); 610 EXPECT_EQ(base::string16(), error);
605 error.clear(); 611 error.clear();
606 } 612 }
607 613
608 } // namespace chromeos 614 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698