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

Unified Diff: chrome/browser/extensions/extension_install_prompt_unittest.cc

Issue 501273002: Update extension install prompt to reflect withheld permissions (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Comment updates and cleanup Created 6 years, 3 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/extension_install_prompt_unittest.cc
diff --git a/chrome/browser/extensions/extension_install_prompt_unittest.cc b/chrome/browser/extensions/extension_install_prompt_unittest.cc
index d43e46b9603a828422c711e0c20d20242b6122aa..9c4f9abdd007142acac5815cc0ad8c112e3f567f 100644
--- a/chrome/browser/extensions/extension_install_prompt_unittest.cc
+++ b/chrome/browser/extensions/extension_install_prompt_unittest.cc
@@ -9,6 +9,7 @@
#include "content/public/test/test_browser_thread_bundle.h"
#include "extensions/common/extension.h"
#include "extensions/common/extension_builder.h"
+#include "extensions/common/feature_switch.h"
#include "extensions/common/permissions/api_permission.h"
#include "extensions/common/permissions/api_permission_set.h"
#include "extensions/common/permissions/manifest_permission_set.h"
@@ -21,11 +22,18 @@ namespace extensions {
void VerifyPromptPermissionsCallback(
const base::Closure& quit_closure,
+ size_t regular_permissions_count,
+ size_t withheld_permissions_count,
const ExtensionInstallPrompt::ShowParams& params,
ExtensionInstallPrompt::Delegate* delegate,
scoped_refptr<ExtensionInstallPrompt::Prompt> install_prompt) {
ASSERT_TRUE(install_prompt.get());
- EXPECT_EQ(1u, install_prompt->GetPermissionCount());
+ EXPECT_EQ(regular_permissions_count,
+ install_prompt->GetPermissionCount(
+ ExtensionInstallPrompt::REGULAR_PERMISSIONS));
+ EXPECT_EQ(withheld_permissions_count,
+ install_prompt->GetPermissionCount(
+ ExtensionInstallPrompt::WITHHELD_PERMISSIONS));
quit_closure.Run();
}
@@ -47,11 +55,47 @@ TEST(ExtensionInstallPromptUnittest, PromptShowsPermissionWarnings) {
ExtensionInstallPrompt prompt(NULL /* no web contents in this test */);
base::RunLoop run_loop;
prompt.set_callback_for_test(base::Bind(&VerifyPromptPermissionsCallback,
- run_loop.QuitClosure()));
+ run_loop.QuitClosure(),
+ 1, // regular_permissions_count
Devlin 2014/09/11 21:18:53 nit 1u and 0u (size_ts).
gpdavis 2014/09/12 00:11:54 Done.
+ 0)); // withheld_permissions_count
prompt.ConfirmPermissions(NULL, // no delegate
extension.get(),
permission_set.get());
run_loop.Run();
}
+TEST(ExtensionInstallPromptUnittest, PromptShowsWithheldPermissions) {
+ content::TestBrowserThreadBundle thread_bundle;
+
+ // Enable consent flag so that <all_hosts> permissions get withheld.
+ scoped_ptr<FeatureSwitch::ScopedOverride> enable_scripts_switch(
Devlin 2014/09/11 21:18:53 This doesn't have to be a scoped_ptr (can be alive
gpdavis 2014/09/12 00:11:54 Done.
+ new FeatureSwitch::ScopedOverride(
+ FeatureSwitch::scripts_require_action(), true));
+
+ ListBuilder permissions;
+ permissions.Append("http://*/*");
+ permissions.Append("http://www.google.com/");
+ permissions.Append("tabs");
+ scoped_refptr<const Extension> extension =
+ ExtensionBuilder().SetManifest(
+ DictionaryBuilder().Set("name", "foo")
+ .Set("version", "1.0")
+ .Set("manifest_version", 2)
+ .Set("description", "Random Ext")
+ .Set("permissions", permissions)).Build();
+
+ ExtensionInstallPrompt prompt(NULL /* no web contents in this test */);
+ base::RunLoop run_loop;
+ prompt.ConfirmExternalInstall(
Devlin 2014/09/11 21:18:53 External install's actually not the best candidate
gpdavis 2014/09/12 00:11:53 Well, ConfirmWebstoreInstall just calls ConfirmIns
Devlin 2014/09/12 00:26:45 Probably not, then. :) (Silly me, just looked the
gpdavis 2014/09/12 00:30:57 Sounds good!
+ NULL,
+ extension.get(),
+ base::Bind(&VerifyPromptPermissionsCallback,
+ run_loop.QuitClosure(),
+ 2, // regular_permissions_count
Devlin 2014/09/11 21:18:53 We should mention in a comment what the withheld/r
gpdavis 2014/09/12 00:11:54 Done.
+ 1), // withheld_permissions_count
+ new ExtensionInstallPrompt::Prompt(
+ ExtensionInstallPrompt::PERMISSIONS_PROMPT));
+ run_loop.Run();
+}
+
} // namespace extensions

Powered by Google App Engine
This is Rietveld 408576698