diff options
Diffstat (limited to 'chrome/browser/managed_mode/managed_mode_browsertest.cc')
-rw-r--r-- | chrome/browser/managed_mode/managed_mode_browsertest.cc | 27 |
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()); +} |