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

Side by Side Diff: extensions/common/features/simple_feature_unittest.cc

Issue 2892403002: Introduce lock screen app context to extension features (Closed)
Patch Set: . Created 3 years, 6 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
« no previous file with comments | « extensions/common/features/simple_feature.cc ('k') | extensions/renderer/dispatcher.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
OLDNEW
« no previous file with comments | « extensions/common/features/simple_feature.cc ('k') | extensions/renderer/dispatcher.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698