| OLD | NEW |
| 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 | 9 |
| 9 #include "base/files/file_path.h" | 10 #include "base/files/file_path.h" |
| 11 #include "base/memory/ptr_util.h" |
| 10 #include "base/memory/ref_counted.h" | 12 #include "base/memory/ref_counted.h" |
| 11 #include "base/strings/string16.h" | 13 #include "base/strings/string16.h" |
| 12 #include "base/values.h" | 14 #include "base/values.h" |
| 13 #include "extensions/common/extension.h" | 15 #include "extensions/common/extension.h" |
| 14 #include "extensions/common/manifest.h" | 16 #include "extensions/common/manifest.h" |
| 15 #include "extensions/common/manifest_constants.h" | 17 #include "extensions/common/manifest_constants.h" |
| 16 #include "testing/gtest/include/gtest/gtest.h" | 18 #include "testing/gtest/include/gtest/gtest.h" |
| 17 | 19 |
| 18 namespace chromeos { | 20 namespace chromeos { |
| 19 | 21 |
| (...skipping 407 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 427 ASSERT_TRUE(extension); | 429 ASSERT_TRUE(extension); |
| 428 | 430 |
| 429 EXPECT_FALSE(provider.UserMayLoad(extension.get(), &error)); | 431 EXPECT_FALSE(provider.UserMayLoad(extension.get(), &error)); |
| 430 EXPECT_NE(base::string16(), error); | 432 EXPECT_NE(base::string16(), error); |
| 431 error.clear(); | 433 error.clear(); |
| 432 } | 434 } |
| 433 | 435 |
| 434 // Verify that a platform app with socket dictionary permission can be | 436 // Verify that a platform app with socket dictionary permission can be |
| 435 // installed. | 437 // installed. |
| 436 { | 438 { |
| 437 base::DictionaryValue* const socket = new base::DictionaryValue(); | 439 auto socket = base::MakeUnique<base::DictionaryValue>(); |
| 438 base::ListValue* const tcp_list = new base::ListValue(); | 440 base::ListValue* const tcp_list = new base::ListValue(); |
| 439 tcp_list->AppendString("tcp-connect"); | 441 tcp_list->AppendString("tcp-connect"); |
| 440 socket->Set("socket", tcp_list); | 442 socket->Set("socket", tcp_list); |
| 441 base::ListValue* const permissions = new base::ListValue(); | 443 base::ListValue* const permissions = new base::ListValue(); |
| 442 permissions->Append(socket); | 444 permissions->Append(std::move(socket)); |
| 443 base::DictionaryValue values; | 445 base::DictionaryValue values; |
| 444 values.Set(extensions::manifest_keys::kPermissions, permissions); | 446 values.Set(extensions::manifest_keys::kPermissions, permissions); |
| 445 | 447 |
| 446 extension = CreatePlatformAppWithExtraValues( | 448 extension = CreatePlatformAppWithExtraValues( |
| 447 &values, | 449 &values, |
| 448 extensions::Manifest::EXTERNAL_POLICY, | 450 extensions::Manifest::EXTERNAL_POLICY, |
| 449 extensions::Extension::NO_FLAGS); | 451 extensions::Extension::NO_FLAGS); |
| 450 ASSERT_TRUE(extension); | 452 ASSERT_TRUE(extension); |
| 451 | 453 |
| 452 EXPECT_TRUE(provider.UserMayLoad(extension.get(), &error)); | 454 EXPECT_TRUE(provider.UserMayLoad(extension.get(), &error)); |
| 453 EXPECT_EQ(base::string16(), error); | 455 EXPECT_EQ(base::string16(), error); |
| 454 error.clear(); | 456 error.clear(); |
| 455 } | 457 } |
| 456 | 458 |
| 457 // Verify that a platform app with unknown dictionary permission cannot be | 459 // Verify that a platform app with unknown dictionary permission cannot be |
| 458 // installed. | 460 // installed. |
| 459 { | 461 { |
| 460 base::DictionaryValue* const socket = new base::DictionaryValue(); | 462 auto socket = base::MakeUnique<base::DictionaryValue>(); |
| 461 base::ListValue* const tcp_list = new base::ListValue(); | 463 base::ListValue* const tcp_list = new base::ListValue(); |
| 462 tcp_list->AppendString("unknown_value"); | 464 tcp_list->AppendString("unknown_value"); |
| 463 socket->Set("unknown_key", tcp_list); | 465 socket->Set("unknown_key", tcp_list); |
| 464 base::ListValue* const permissions = new base::ListValue(); | 466 base::ListValue* const permissions = new base::ListValue(); |
| 465 permissions->Append(socket); | 467 permissions->Append(std::move(socket)); |
| 466 base::DictionaryValue values; | 468 base::DictionaryValue values; |
| 467 values.Set(extensions::manifest_keys::kPermissions, permissions); | 469 values.Set(extensions::manifest_keys::kPermissions, permissions); |
| 468 | 470 |
| 469 extension = CreatePlatformAppWithExtraValues( | 471 extension = CreatePlatformAppWithExtraValues( |
| 470 &values, | 472 &values, |
| 471 extensions::Manifest::EXTERNAL_POLICY, | 473 extensions::Manifest::EXTERNAL_POLICY, |
| 472 extensions::Extension::NO_FLAGS); | 474 extensions::Extension::NO_FLAGS); |
| 473 ASSERT_TRUE(extension); | 475 ASSERT_TRUE(extension); |
| 474 | 476 |
| 475 EXPECT_FALSE(provider.UserMayLoad(extension.get(), &error)); | 477 EXPECT_FALSE(provider.UserMayLoad(extension.get(), &error)); |
| (...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 576 // types of device-local accounts cannot be installed in a single-app kiosk | 578 // types of device-local accounts cannot be installed in a single-app kiosk |
| 577 // session. | 579 // session. |
| 578 extension = CreateRegularExtension(kWhitelistedId); | 580 extension = CreateRegularExtension(kWhitelistedId); |
| 579 ASSERT_TRUE(extension.get()); | 581 ASSERT_TRUE(extension.get()); |
| 580 EXPECT_TRUE(provider.UserMayLoad(extension.get(), &error)); | 582 EXPECT_TRUE(provider.UserMayLoad(extension.get(), &error)); |
| 581 EXPECT_EQ(base::string16(), error); | 583 EXPECT_EQ(base::string16(), error); |
| 582 error.clear(); | 584 error.clear(); |
| 583 } | 585 } |
| 584 | 586 |
| 585 } // namespace chromeos | 587 } // namespace chromeos |
| OLD | NEW |