diff options
author | bauerb@chromium.org <bauerb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-06-04 16:19:10 +0000 |
---|---|---|
committer | bauerb@chromium.org <bauerb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-06-04 16:19:10 +0000 |
commit | e0801156e169e1e91a73a6d3aa5dc7b22dae1cb3 (patch) | |
tree | 5c674776366f1de7cd404df5cbe6064bd192eab7 /chrome/browser/extensions | |
parent | 159f06c0c7d7c88c079c2247860018756efb0725 (diff) | |
download | chromium_src-e0801156e169e1e91a73a6d3aa5dc7b22dae1cb3.zip chromium_src-e0801156e169e1e91a73a6d3aa5dc7b22dae1cb3.tar.gz chromium_src-e0801156e169e1e91a73a6d3aa5dc7b22dae1cb3.tar.bz2 |
Fix extension event name for managedModePrivate.onChange (whoops).
Add an API test for the event.
BUG=120635
TEST=ExtensionApiTest.ManagedModeOnChange
Review URL: https://chromiumcodereview.appspot.com/10447141
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@140298 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions')
-rw-r--r-- | chrome/browser/extensions/extension_apitest.h | 3 | ||||
-rw-r--r-- | chrome/browser/extensions/extension_managed_mode_api.cc | 2 | ||||
-rw-r--r-- | chrome/browser/extensions/extension_managed_mode_apitest.cc | 35 |
3 files changed, 34 insertions, 6 deletions
diff --git a/chrome/browser/extensions/extension_apitest.h b/chrome/browser/extensions/extension_apitest.h index 9e34373..2be4fd5 100644 --- a/chrome/browser/extensions/extension_apitest.h +++ b/chrome/browser/extensions/extension_apitest.h @@ -126,7 +126,8 @@ class ExtensionApiTest : public ExtensionBrowserTest { bool RunExtensionSubtest(const char* extension_name, const std::string& page_url); - // Same as RunExtensionSubtest, except run with the specific |flags|. + // Same as RunExtensionSubtest, except run with the specific |flags| + // (as defined in the Flags enum). bool RunExtensionSubtest(const char* extension_name, const std::string& page_url, int flags); diff --git a/chrome/browser/extensions/extension_managed_mode_api.cc b/chrome/browser/extensions/extension_managed_mode_api.cc index 44ac940..0e747d5 100644 --- a/chrome/browser/extensions/extension_managed_mode_api.cc +++ b/chrome/browser/extensions/extension_managed_mode_api.cc @@ -23,7 +23,7 @@ namespace { // Event that is fired when we enter or leave managed mode. -const char kChangeEventName[] = "experimental.managedMode.onChange"; +const char kChangeEventName[] = "managedModePrivate.onChange"; // Key to report whether the attempt to enter managed mode succeeded. const char kEnterSuccessKey[] = "success"; diff --git a/chrome/browser/extensions/extension_managed_mode_apitest.cc b/chrome/browser/extensions/extension_managed_mode_apitest.cc index 3085a4f..d8d1c07 100644 --- a/chrome/browser/extensions/extension_managed_mode_apitest.cc +++ b/chrome/browser/extensions/extension_managed_mode_apitest.cc @@ -5,15 +5,42 @@ #include "chrome/browser/managed_mode.h" #include "chrome/browser/extensions/extension_apitest.h" #include "chrome/common/chrome_switches.h" +#include "chrome/common/extensions/extension.h" +#include "chrome/test/base/ui_test_utils.h" // Tests enabling and querying managed mode. IN_PROC_BROWSER_TEST_F(ExtensionApiTest, ManagedModeGetAndEnable) { - CommandLine::ForCurrentProcess()->AppendSwitch( - switches::kEnableExperimentalExtensionApis); - ASSERT_FALSE(ManagedMode::IsInManagedMode()); - ASSERT_TRUE(RunComponentExtensionTest("managedMode")) << message_; + ASSERT_TRUE(RunComponentExtensionTest("managed_mode/get_enter")) << message_; EXPECT_TRUE(ManagedMode::IsInManagedMode()); } + +// Tests the event when entering or leaving managed mode. +IN_PROC_BROWSER_TEST_F(ExtensionApiTest, ManagedModeOnChange) { + ASSERT_FALSE(ManagedMode::IsInManagedMode()); + + // We can't just call RunComponentExtension() like above, because we need to + // fire the event while the page is waiting. + FilePath extension_path = + test_data_dir_.AppendASCII("managed_mode/on_change"); + const extensions::Extension* extension = + LoadExtensionAsComponent(extension_path); + ASSERT_TRUE(extension) << "Failed to load extension."; + + ResultCatcher catcher; + // Tell the test what values for the |onChange| event to expect. + std::string page_url = "test.html?expect=true,false"; + ui_test_utils::NavigateToURL(browser(), + extension->GetResourceURL(page_url)); + + // Fire the extension event when entering managed mode. We directly call + // SetInManagedMode() to bypass any confirmation dialogs etc. + ManagedMode::GetInstance()->SetInManagedMode(true); + + // Fire the extension event when leaving managed mode. + ManagedMode::GetInstance()->SetInManagedMode(false); + + ASSERT_TRUE(catcher.GetNextResult()) << catcher.message(); +} |