Index: trunk/src/chrome/browser/extensions/active_script_controller_browsertest.cc |
=================================================================== |
--- trunk/src/chrome/browser/extensions/active_script_controller_browsertest.cc (revision 274101) |
+++ trunk/src/chrome/browser/extensions/active_script_controller_browsertest.cc (working copy) |
@@ -16,7 +16,6 @@ |
#include "chrome/browser/ui/tabs/tab_strip_model.h" |
#include "chrome/test/base/ui_test_utils.h" |
#include "extensions/common/feature_switch.h" |
-#include "extensions/common/switches.h" |
#include "net/test/embedded_test_server/embedded_test_server.h" |
#include "testing/gtest/include/gtest/gtest.h" |
@@ -62,9 +61,10 @@ |
class ActiveScriptControllerBrowserTest : public ExtensionBrowserTest { |
public: |
- ActiveScriptControllerBrowserTest() {} |
+ ActiveScriptControllerBrowserTest() |
+ : feature_override_(FeatureSwitch::scripts_require_action(), |
+ FeatureSwitch::OVERRIDE_ENABLED) {} |
- virtual void SetUpCommandLine(base::CommandLine* command_line) OVERRIDE; |
virtual void CleanUpOnMainThread() OVERRIDE; |
// Returns an extension with the given |host_type| and |injection_type|. If |
@@ -75,19 +75,11 @@ |
InjectionType injection_type); |
private: |
+ FeatureSwitch::ScopedOverride feature_override_; |
ScopedVector<TestExtensionDir> test_extension_dirs_; |
std::vector<const Extension*> extensions_; |
}; |
-void ActiveScriptControllerBrowserTest::SetUpCommandLine( |
- base::CommandLine* command_line) { |
- ExtensionBrowserTest::SetUpCommandLine(command_line); |
- // We append the actual switch to the commandline because it needs to be |
- // passed over to the renderer, which a FeatureSwitch::ScopedOverride will |
- // not do. |
- command_line->AppendSwitch(switches::kEnableScriptsRequireAction); |
-} |
- |
void ActiveScriptControllerBrowserTest::CleanUpOnMainThread() { |
test_extension_dirs_.clear(); |
} |
@@ -274,7 +266,10 @@ |
// Otherwise, we don't have permission, and have to grant it. Ensure the |
// script has *not* already executed. |
- if (inject_success_listener_->was_satisfied()) { |
+ // Currently, it's okay for content scripts to execute, because we don't |
+ // block them. |
+ // TODO(rdevlin.cronin): Fix this. |
+ if (inject_success_listener_->was_satisfied() && type_ != CONTENT_SCRIPT) { |
return testing::AssertionFailure() << |
name_ << "'s script ran without permission."; |
} |
@@ -321,7 +316,7 @@ |
} |
IN_PROC_BROWSER_TEST_F(ActiveScriptControllerBrowserTest, |
- ActiveScriptsAreDisplayedAndDelayExecution) { |
+ ActiveScriptsAreDisplayed) { |
base::FilePath active_script_path = |
test_data_dir_.AppendASCII("active_script"); |
@@ -367,7 +362,7 @@ |
}; |
// Navigate to an URL (which matches the explicit host specified in the |
- // extension content_scripts_explicit_hosts). All four extensions should |
+ // extension content_scripts_explicit_hosts). All three extensions should |
// inject the script. |
ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); |
ui_test_utils::NavigateToURL( |
@@ -377,44 +372,4 @@ |
EXPECT_TRUE(testers[i].Verify()) << kExtensionNames[i]; |
} |
-// A version of the test with the flag off, in order to test that everything |
-// still works as expected. |
-class FlagOffActiveScriptControllerBrowserTest |
- : public ActiveScriptControllerBrowserTest { |
- private: |
- // Simply don't append the flag. |
- virtual void SetUpCommandLine(base::CommandLine* command_line) OVERRIDE { |
- ExtensionBrowserTest::SetUpCommandLine(command_line); |
- } |
-}; |
- |
-IN_PROC_BROWSER_TEST_F(FlagOffActiveScriptControllerBrowserTest, |
- ScriptsExecuteWhenFlagAbsent) { |
- const char* kExtensionNames[] = { |
- "content_scripts_all_hosts", |
- "inject_scripts_all_hosts", |
- }; |
- ActiveScriptTester testers[] = { |
- ActiveScriptTester( |
- kExtensionNames[0], |
- GetOrCreateExtension(ALL_HOSTS, CONTENT_SCRIPT), |
- browser(), |
- DOES_NOT_REQUIRE_CONSENT, |
- CONTENT_SCRIPT), |
- ActiveScriptTester( |
- kExtensionNames[1], |
- GetOrCreateExtension(ALL_HOSTS, EXECUTE_SCRIPT), |
- browser(), |
- DOES_NOT_REQUIRE_CONSENT, |
- EXECUTE_SCRIPT), |
- }; |
- |
- ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); |
- 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]; |
-} |
- |
} // namespace extensions |