OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/features/simple_feature.h" | 5 #include "extensions/common/features/simple_feature.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <string> | 9 #include <string> |
10 #include <vector> | 10 #include <vector> |
(...skipping 369 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
380 feature.set_location(SimpleFeature::COMPONENT_LOCATION); | 380 feature.set_location(SimpleFeature::COMPONENT_LOCATION); |
381 EXPECT_EQ(Feature::INVALID_LOCATION, feature.IsAvailableToContext( | 381 EXPECT_EQ(Feature::INVALID_LOCATION, feature.IsAvailableToContext( |
382 extension.get(), Feature::BLESSED_EXTENSION_CONTEXT, | 382 extension.get(), Feature::BLESSED_EXTENSION_CONTEXT, |
383 Feature::CHROMEOS_PLATFORM).result()); | 383 Feature::CHROMEOS_PLATFORM).result()); |
384 feature.set_location(SimpleFeature::UNSPECIFIED_LOCATION); | 384 feature.set_location(SimpleFeature::UNSPECIFIED_LOCATION); |
385 | 385 |
386 EXPECT_EQ(Feature::INVALID_PLATFORM, feature.IsAvailableToContext( | 386 EXPECT_EQ(Feature::INVALID_PLATFORM, feature.IsAvailableToContext( |
387 extension.get(), Feature::BLESSED_EXTENSION_CONTEXT, | 387 extension.get(), Feature::BLESSED_EXTENSION_CONTEXT, |
388 Feature::UNSPECIFIED_PLATFORM).result()); | 388 Feature::UNSPECIFIED_PLATFORM).result()); |
389 | 389 |
| 390 feature.contexts_.clear(); |
| 391 feature.contexts_.push_back(Feature::BLESSED_EXTENSION_CONTEXT); |
| 392 |
| 393 { |
| 394 Feature::Availability availability = feature.IsAvailableToContext( |
| 395 extension.get(), Feature::LOCK_SCREEN_EXTENSION_CONTEXT, |
| 396 Feature::CHROMEOS_PLATFORM); |
| 397 EXPECT_EQ(Feature::INVALID_CONTEXT, availability.result()); |
| 398 EXPECT_EQ( |
| 399 "'somefeature' is only allowed to run in privileged pages, " |
| 400 "but this is a lock screen app", |
| 401 availability.message()); |
| 402 } |
| 403 |
| 404 feature.contexts_.clear(); |
| 405 feature.contexts_.push_back(Feature::LOCK_SCREEN_EXTENSION_CONTEXT); |
| 406 |
| 407 EXPECT_EQ(Feature::IS_AVAILABLE, |
| 408 feature |
| 409 .IsAvailableToContext(extension.get(), |
| 410 Feature::LOCK_SCREEN_EXTENSION_CONTEXT, |
| 411 Feature::CHROMEOS_PLATFORM) |
| 412 .result()); |
| 413 |
390 feature.set_min_manifest_version(22); | 414 feature.set_min_manifest_version(22); |
391 EXPECT_EQ(Feature::INVALID_MIN_MANIFEST_VERSION, feature.IsAvailableToContext( | 415 EXPECT_EQ(Feature::INVALID_MIN_MANIFEST_VERSION, feature.IsAvailableToContext( |
392 extension.get(), Feature::BLESSED_EXTENSION_CONTEXT, | 416 extension.get(), Feature::BLESSED_EXTENSION_CONTEXT, |
393 Feature::CHROMEOS_PLATFORM).result()); | 417 Feature::CHROMEOS_PLATFORM).result()); |
394 feature.set_min_manifest_version(21); | 418 feature.set_min_manifest_version(21); |
395 | 419 |
396 feature.set_max_manifest_version(18); | 420 feature.set_max_manifest_version(18); |
397 EXPECT_EQ(Feature::INVALID_MAX_MANIFEST_VERSION, feature.IsAvailableToContext( | 421 EXPECT_EQ(Feature::INVALID_MAX_MANIFEST_VERSION, feature.IsAvailableToContext( |
398 extension.get(), Feature::BLESSED_EXTENSION_CONTEXT, | 422 extension.get(), Feature::BLESSED_EXTENSION_CONTEXT, |
399 Feature::CHROMEOS_PLATFORM).result()); | 423 Feature::CHROMEOS_PLATFORM).result()); |
(...skipping 484 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
884 ScopedCurrentChannel current_channel(Channel::BETA); | 908 ScopedCurrentChannel current_channel(Channel::BETA); |
885 EXPECT_EQ(Feature::UNSUPPORTED_CHANNEL, | 909 EXPECT_EQ(Feature::UNSUPPORTED_CHANNEL, |
886 feature | 910 feature |
887 .IsAvailableToContext(nullptr, Feature::WEBUI_CONTEXT, | 911 .IsAvailableToContext(nullptr, Feature::WEBUI_CONTEXT, |
888 kWhitelistedUrl) | 912 kWhitelistedUrl) |
889 .result()); | 913 .result()); |
890 } | 914 } |
891 } | 915 } |
892 | 916 |
893 } // namespace extensions | 917 } // namespace extensions |
OLD | NEW |