summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions
diff options
context:
space:
mode:
authorbauerb@chromium.org <bauerb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-06-04 16:19:10 +0000
committerbauerb@chromium.org <bauerb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-06-04 16:19:10 +0000
commite0801156e169e1e91a73a6d3aa5dc7b22dae1cb3 (patch)
tree5c674776366f1de7cd404df5cbe6064bd192eab7 /chrome/browser/extensions
parent159f06c0c7d7c88c079c2247860018756efb0725 (diff)
downloadchromium_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.h3
-rw-r--r--chrome/browser/extensions/extension_managed_mode_api.cc2
-rw-r--r--chrome/browser/extensions/extension_managed_mode_apitest.cc35
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();
+}