Chromium Code Reviews| 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) { |