Index: chrome/browser/ui/browser_browsertest.cc |
diff --git a/chrome/browser/ui/browser_browsertest.cc b/chrome/browser/ui/browser_browsertest.cc |
index 68eb19fd26dd6dfafbccf28e13731484a0caae51..a721d881772c7a2655c65381536a21b924ddba75 100644 |
--- a/chrome/browser/ui/browser_browsertest.cc |
+++ b/chrome/browser/ui/browser_browsertest.cc |
@@ -586,6 +586,63 @@ IN_PROC_BROWSER_TEST_F(BrowserTest, SadTabCancelsSubframeDialogs) { |
ui_test_utils::NavigateToURL(browser(), url2); |
} |
+IN_PROC_BROWSER_TEST_F(BrowserTest, InterstitialCancelsGuestViewDialogs) { |
+ // The data URI is created from |
+ // http://datauriconverter.appspot.com/#dataurlmaker using the file |
+ // formsubmit.pdf from https://crbug.com/482380. |
+ // TODO(wjmaclean): create a simpler PDF test file, one that just issues a |
+ // simple alert without expecting input. |
+ GURL pdf_with_dialog( |
Charlie Reis
2015/05/22 21:56:56
Since we're in chrome/ anyway, it's probably worth
wjmaclean
2015/05/25 17:45:43
Done.
|
+ "data:application/pdf;base64," |
+ "JVBERi0xLjcNCiWhs8XXDQoxIDAgb2JqDQo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMiAwIFIg" |
+ "L0Fjcm9Gb3JtPDwvRmllbGRzWyA3IDAgUiBdL0RSPDwvRm9udDw8L0hlbHYgOCAwIFIgPj4+" |
+ "Pi9EQSgvSGVsdiAwIFRmIDAgZyk+Pi9OYW1lczw8L0phdmFTY3JpcHQgMTMgMCBSID4+Pj4N" |
+ "CmVuZG9iag0KNCAwIG9iag0KPDwvVHlwZS9QYWdlL1BhcmVudCAyIDAgUiAvTWVkaWFCb3hb" |
+ "IDAgMCA2MTIgNzkyXS9Dcm9wQm94WyAwIDAgNjEyIDc5Ml0vUmVzb3VyY2VzPDw+Pi9Bbm5v" |
+ "dHNbIDcgMCBSIF0+Pg0KZW5kb2JqDQo5IDAgb2JqDQo8PC9UeXBlL1hPYmplY3QvU3VidHlw" |
+ "ZS9Gb3JtL0Zvcm1UeXBlIDEvTGVuZ3RoIDEyL01hdHJpeFsgMSAwIDAgMSAwIDBdL0JCb3hb" |
+ "IDAgMCA1My42MDkzIDE2LjYwODddL0ZpbHRlci9GbGF0ZURlY29kZT4+c3RyZWFtDQp4nCvk" |
+ "CuQCAAKSANcNCmVuZHN0cmVhbQ0KZW5kb2JqDQoxNCAwIG9iag0KPDwvTGVuZ3RoIDE1NS9G" |
+ "aWx0ZXIvRmxhdGVEZWNvZGU+PnN0cmVhbQ0KeJxNjcsKwjAQRfeC/xCySrAkqSCCpbjSlSBI" |
+ "/YCIU1swzZBMCv17Iz4od3UvM+eMNrAAEf0QoZkQWM0sovpNgh8GgsAmn5h9AJfVcjHml5hu" |
+ "rqfr5ZTveUeEO63L9VaZnFLjvT364BR2uJ/Da76a18yi3oFP9LVGoCYP50SCU9dH9dG8WeJv" |
+ "LFr7jFAwCgkkLzbGGFm9AKvKQ8ENCmVuZHN0cmVhbQ0KZW5kb2JqDQoxNSAwIG9iag0KPDwv" |
+ "VHlwZSAvT2JqU3RtIC9OIDYvRmlyc3QgMzUvTGVuZ3RoIDM2OS9GaWx0ZXIgL0ZsYXRlRGVj" |
+ "b2RlPj5zdHJlYW0NCnicZVHvS8MwEP1X7pst4i5J03YTKVRn8QdKsRU/DJHYZltgS0Z70/nf" |
+ "m1ZFRAJJ7uXu3cs7AQwiiFJIgU9TmEKUSOACZJQAj0CmCZydYf2x01iqle7xwu0tAcdb0/YL" |
+ "kL78AZ6zzCeVnWv3je6Cwh0MQblWlty2nBdwAl9Q5Zb0rjoN17aZhJjvae26oFmrrdq8iBBr" |
+ "QxsdPFoazjbEi04rMs7OFelgfioYj5kUMy4lkyzEO9f+f4mkPGbxUcSOwlFVUWN9wGIJAuuA" |
+ "DnS53dFH+PWj3FpHWO1faYieTLvShAVIvPvLyQX/4cQH3dACYjFJEhZDKv1FToGzZCK8ifFs" |
+ "IuL0Gc8r3/rJ21RhlWU4zwO80ps371a99NuwupV3oPRp9zAbXcyyUfCorHD2V9iAcDxXvR7h" |
+ "gUiTaRRe2sa1xq68dJvb3vzEvzx5M/jnVdyoN1U1ndkR3lTA5XfHob3a6n4RGGsoHCb/PdBP" |
+ "2RmZmA0KZW5kc3RyZWFtDQplbmRvYmoNCjE2IDAgb2JqDQo8PC9UeXBlIC9YUmVmL1dbMSA0" |
+ "IDJdL0luZGV4WzAgMTddL1NpemUgMTcvRmlsdGVyIC9GbGF0ZURlY29kZS9EZWNvZGVQYXJt" |
+ "czw8L0NvbHVtbnMgNy9QcmVkaWN0b3IgMTI+Pi9MZW5ndGggNzYvUm9vdCAxIDAgUiAvSW5m" |
+ "byAzIDAgUiAvSURbPDgxNENGN0UxQzQ3MURENDlFMDJGRDJBOTc5QTU1NTc3PjxDQzQwQzQy" |
+ "Mzc5MUVFMTIxRDQ3N0YxRjNBRkVCNUE1Nz5dPj5zdHJlYW0NCnicY2IAgf//mRiBlCAjI5j+" |
+ "x8DABBZnYGT6DyTnMPwH06FwcQYmEIMfQsHUMYox/AXR/29jqGNBUbeP4TeIz/gEoo7pGgMD" |
+ "AGbYEK8NCmVuZHN0cmVhbQ0KZW5kb2JqDQoNCnN0YXJ0eHJlZg0KMTE1OQ0KJSVFT0YNCg==" |
+ ); |
+ ui_test_utils::NavigateToURL(browser(), pdf_with_dialog); |
Charlie Reis
2015/05/22 21:56:56
Does loading a PDF in the main frame have the same
wjmaclean
2015/05/25 17:45:43
Yes, all PDFs use a webview.
|
+ |
+ AppModalDialog* alert = ui_test_utils::WaitForAppModalDialog(); |
+ EXPECT_TRUE(alert->IsValid()); |
+ AppModalDialogQueue* dialog_queue = AppModalDialogQueue::GetInstance(); |
+ EXPECT_TRUE(dialog_queue->HasActiveDialog()); |
+ |
+ WebContents* contents = browser()->tab_strip_model()->GetActiveWebContents(); |
+ |
+ TestInterstitialPage* interstitial = |
+ new TestInterstitialPage(contents, false, GURL()); |
+ content::WaitForInterstitialAttach(contents); |
+ |
+ // The interstitial should have closed the dialog. |
+ EXPECT_TRUE(contents->ShowingInterstitialPage()); |
+ EXPECT_FALSE(dialog_queue->HasActiveDialog()); |
+ |
+ interstitial->DontProceed(); |
+} |
+ |
// Test for crbug.com/22004. Reloading a page with a before unload handler and |
// then canceling the dialog should not leave the throbber spinning. |
IN_PROC_BROWSER_TEST_F(BrowserTest, ReloadThenCancelBeforeUnload) { |