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

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

Issue 2466523002: Remove some linked_ptr c/b/extension (Closed)
Patch Set: review Created 4 years, 1 month 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
« no previous file with comments | « chrome/browser/extensions/extension_action_manager.cc ('k') | chrome/browser/extensions/install_verifier.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/extensions/extension_action_runner_browsertest.cc
diff --git a/chrome/browser/extensions/extension_action_runner_browsertest.cc b/chrome/browser/extensions/extension_action_runner_browsertest.cc
index 267e69a27efa5760911a5ed57f9973484c94e15b..3ef88656a037d2e9571863b1a1be60a53495c137 100644
--- a/chrome/browser/extensions/extension_action_runner_browsertest.cc
+++ b/chrome/browser/extensions/extension_action_runner_browsertest.cc
@@ -184,6 +184,8 @@ class ActiveScriptTester {
testing::AssertionResult Verify();
+ std::string name() const;
+
private:
// Returns the ExtensionActionRunner, or null if one does not exist.
ExtensionActionRunner* GetExtensionActionRunner();
@@ -205,13 +207,10 @@ class ActiveScriptTester {
// asking the user.
RequiresConsent requires_consent_;
- // The type of injection this tester uses.
- InjectionType type_;
-
// All of these extensions should inject a script (either through content
// scripts or through chrome.tabs.executeScript()) that sends a message with
// the |kInjectSucceeded| message.
- linked_ptr<ExtensionTestMessageListener> inject_success_listener_;
+ std::unique_ptr<ExtensionTestMessageListener> inject_success_listener_;
};
ActiveScriptTester::ActiveScriptTester(const std::string& name,
@@ -223,7 +222,6 @@ ActiveScriptTester::ActiveScriptTester(const std::string& name,
extension_(extension),
browser_(browser),
requires_consent_(requires_consent),
- type_(type),
inject_success_listener_(
new ExtensionTestMessageListener(kInjectSucceeded,
false /* won't reply */)) {
@@ -232,6 +230,10 @@ ActiveScriptTester::ActiveScriptTester(const std::string& name,
ActiveScriptTester::~ActiveScriptTester() {}
+std::string ActiveScriptTester::name() const {
+ return name_;
+}
+
testing::AssertionResult ActiveScriptTester::Verify() {
if (!extension_)
return testing::AssertionFailure() << "Could not load extension: " << name_;
@@ -308,13 +310,6 @@ bool ActiveScriptTester::WantsToRun() {
IN_PROC_BROWSER_TEST_F(ExtensionActionRunnerBrowserTest,
ActiveScriptsAreDisplayedAndDelayExecution) {
- base::FilePath active_script_path =
- test_data_dir_.AppendASCII("active_script");
-
- const char* const kExtensionNames[] = {
- "inject_scripts_all_hosts", "inject_scripts_explicit_hosts",
- "content_scripts_all_hosts", "content_scripts_explicit_hosts"};
-
// First, we load up three extensions:
// - An extension that injects scripts into all hosts,
// - An extension that injects scripts into explicit hosts,
@@ -322,20 +317,21 @@ IN_PROC_BROWSER_TEST_F(ExtensionActionRunnerBrowserTest,
// - An extension with a content script that runs on explicit hosts.
// The extensions that operate on explicit hosts have permission; the ones
// that request all hosts require user consent.
- ActiveScriptTester testers[] = {
- ActiveScriptTester(kExtensionNames[0],
- CreateExtension(ALL_HOSTS, EXECUTE_SCRIPT), browser(),
- REQUIRES_CONSENT, EXECUTE_SCRIPT),
- ActiveScriptTester(kExtensionNames[1],
- CreateExtension(EXPLICIT_HOSTS, EXECUTE_SCRIPT),
- browser(), DOES_NOT_REQUIRE_CONSENT, EXECUTE_SCRIPT),
- ActiveScriptTester(kExtensionNames[2],
- CreateExtension(ALL_HOSTS, CONTENT_SCRIPT), browser(),
- REQUIRES_CONSENT, CONTENT_SCRIPT),
- ActiveScriptTester(kExtensionNames[3],
- CreateExtension(EXPLICIT_HOSTS, CONTENT_SCRIPT),
- browser(), DOES_NOT_REQUIRE_CONSENT, CONTENT_SCRIPT),
- };
+ std::vector<std::unique_ptr<ActiveScriptTester>> testers;
+ testers.push_back(base::MakeUnique<ActiveScriptTester>(
+ "inject_scripts_all_hosts", CreateExtension(ALL_HOSTS, EXECUTE_SCRIPT),
+ browser(), REQUIRES_CONSENT, EXECUTE_SCRIPT));
+ testers.push_back(base::MakeUnique<ActiveScriptTester>(
+ "inject_scripts_explicit_hosts",
+ CreateExtension(EXPLICIT_HOSTS, EXECUTE_SCRIPT), browser(),
+ DOES_NOT_REQUIRE_CONSENT, EXECUTE_SCRIPT));
+ testers.push_back(base::MakeUnique<ActiveScriptTester>(
+ "content_scripts_all_hosts", CreateExtension(ALL_HOSTS, CONTENT_SCRIPT),
+ browser(), REQUIRES_CONSENT, CONTENT_SCRIPT));
+ testers.push_back(base::MakeUnique<ActiveScriptTester>(
+ "content_scripts_explicit_hosts",
+ CreateExtension(EXPLICIT_HOSTS, CONTENT_SCRIPT), browser(),
+ DOES_NOT_REQUIRE_CONSENT, CONTENT_SCRIPT));
// Navigate to an URL (which matches the explicit host specified in the
// extension content_scripts_explicit_hosts). All four extensions should
@@ -344,8 +340,8 @@ IN_PROC_BROWSER_TEST_F(ExtensionActionRunnerBrowserTest,
ui_test_utils::NavigateToURL(
browser(), embedded_test_server()->GetURL("/extensions/test_file.html"));
- for (size_t i = 0u; i < arraysize(testers); ++i)
- EXPECT_TRUE(testers[i].Verify()) << kExtensionNames[i];
+ for (const auto& tester : testers)
+ EXPECT_TRUE(tester->Verify()) << tester->name();
}
// Test that removing an extension with pending injections a) removes the
@@ -548,24 +544,20 @@ class FlagOffExtensionActionRunnerBrowserTest
IN_PROC_BROWSER_TEST_F(FlagOffExtensionActionRunnerBrowserTest,
ScriptsExecuteWhenFlagAbsent) {
- const char* const kExtensionNames[] = {
- "content_scripts_all_hosts", "inject_scripts_all_hosts",
- };
- ActiveScriptTester testers[] = {
- ActiveScriptTester(kExtensionNames[0],
- CreateExtension(ALL_HOSTS, CONTENT_SCRIPT), browser(),
- DOES_NOT_REQUIRE_CONSENT, CONTENT_SCRIPT),
- ActiveScriptTester(kExtensionNames[1],
- CreateExtension(ALL_HOSTS, EXECUTE_SCRIPT), browser(),
- DOES_NOT_REQUIRE_CONSENT, EXECUTE_SCRIPT),
- };
+ std::vector<std::unique_ptr<ActiveScriptTester>> testers;
+ testers.push_back(base::MakeUnique<ActiveScriptTester>(
+ "content_scripts_all_hosts", CreateExtension(ALL_HOSTS, CONTENT_SCRIPT),
+ browser(), DOES_NOT_REQUIRE_CONSENT, CONTENT_SCRIPT));
+ testers.push_back(base::MakeUnique<ActiveScriptTester>(
+ "inject_scripts_all_hosts", CreateExtension(ALL_HOSTS, EXECUTE_SCRIPT),
+ browser(), DOES_NOT_REQUIRE_CONSENT, EXECUTE_SCRIPT));
ASSERT_TRUE(embedded_test_server()->Start());
ui_test_utils::NavigateToURL(
browser(), embedded_test_server()->GetURL("/extensions/test_file.html"));
- for (size_t i = 0u; i < arraysize(testers); ++i)
- EXPECT_TRUE(testers[i].Verify()) << kExtensionNames[i];
+ for (const auto& tester : testers)
+ EXPECT_TRUE(tester->Verify()) << tester->name();
}
} // namespace extensions
« no previous file with comments | « chrome/browser/extensions/extension_action_manager.cc ('k') | chrome/browser/extensions/install_verifier.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698