summaryrefslogtreecommitdiffstats
path: root/chrome/browser/managed_mode/managed_mode_browsertest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/managed_mode/managed_mode_browsertest.cc')
-rw-r--r--chrome/browser/managed_mode/managed_mode_browsertest.cc27
1 files changed, 27 insertions, 0 deletions
diff --git a/chrome/browser/managed_mode/managed_mode_browsertest.cc b/chrome/browser/managed_mode/managed_mode_browsertest.cc
index d26dafa..2f29c92 100644
--- a/chrome/browser/managed_mode/managed_mode_browsertest.cc
+++ b/chrome/browser/managed_mode/managed_mode_browsertest.cc
@@ -10,6 +10,7 @@
#include "chrome/browser/infobars/infobar.h"
#include "chrome/browser/infobars/infobar_tab_helper.h"
#include "chrome/browser/managed_mode/managed_mode.h"
+#include "chrome/browser/managed_mode/managed_mode_interstitial.h"
#include "chrome/browser/managed_mode/managed_user_service.h"
#include "chrome/browser/managed_mode/managed_user_service_factory.h"
#include "chrome/browser/prefs/pref_registry_syncable.h"
@@ -17,6 +18,7 @@
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_navigator.h"
#include "chrome/browser/ui/tabs/tab_strip_model.h"
+#include "chrome/browser/ui/web_contents_modal_dialog_manager.h"
#include "chrome/common/chrome_notification_types.h"
#include "chrome/common/chrome_switches.h"
#include "chrome/common/pref_names.h"
@@ -524,3 +526,28 @@ IN_PROC_BROWSER_TEST_F(ManagedModeBlockModeTest,
managed_user_service_->GetManualBehaviorForHost(
"www.new-example.com"));
}
+
+// Now check that the passphrase dialog is shown when a passphrase is specified
+// and the user clicks on the preview button.
+IN_PROC_BROWSER_TEST_F(ManagedModeBlockModeTest,
+ PreviewAuthenticationRequired) {
+ // Set a passphrase.
+ PrefService* pref_service = browser()->profile()->GetPrefs();
+ pref_service->SetString(prefs::kManagedModeLocalPassphrase, "test");
+
+ // Navigate to an URL which should be blocked.
+ GURL test_url("http://www.example.com/files/simple.html");
+ ui_test_utils::NavigateToURL(browser(), test_url);
+ WebContents* tab = browser()->tab_strip_model()->GetActiveWebContents();
+ InterstitialPage* interstitial_page = tab->GetInterstitialPage();
+
+ // Get the ManagedModeInterstitial delegate.
+ content::InterstitialPageDelegate* delegate =
+ interstitial_page->GetDelegateForTesting();
+
+ // Simulate the click on the "preview" button.
+ delegate->CommandReceived("\"preview\"");
+ WebContentsModalDialogManager* web_contents_modal_dialog_manager =
+ WebContentsModalDialogManager::FromWebContents(tab);
+ EXPECT_TRUE(web_contents_modal_dialog_manager->IsShowingDialog());
+}