Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2256)

Unified Diff: chrome/test/data/extensions/platform_apps/web_view/shim/main.js

Issue 888563003: <webview>: Navigate to about:blank if attempting to navigate to bad URL (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed lazyboy's comment Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/test/data/extensions/platform_apps/web_view/shim/main.js
diff --git a/chrome/test/data/extensions/platform_apps/web_view/shim/main.js b/chrome/test/data/extensions/platform_apps/web_view/shim/main.js
index 91e7db85636620f7ad061c917fabad2c72d614f3..763b63d7155d859e0a699c501589697788150571 100644
--- a/chrome/test/data/extensions/platform_apps/web_view/shim/main.js
+++ b/chrome/test/data/extensions/platform_apps/web_view/shim/main.js
@@ -1421,16 +1421,14 @@ function testLoadAbortEmptyResponse() {
// chrome URL is provided.
function testLoadAbortIllegalChromeURL() {
var webview = document.createElement('webview');
- var onFirstLoadStop = function(e) {
- webview.removeEventListener('loadstop', onFirstLoadStop);
- webview.setAttribute('src', 'chrome://newtab');
- };
- webview.addEventListener('loadstop', onFirstLoadStop);
webview.addEventListener('loadabort', function(e) {
embedder.test.assertEq('ERR_ABORTED', e.reason);
+ });
+ webview.addEventListener('loadstop', function(e) {
+ embedder.test.assertEq('about:blank', webview.src);
embedder.test.succeed();
});
- webview.setAttribute('src', 'about:blank');
+ webview.src = 'chrome://newtab';
document.body.appendChild(webview);
}
@@ -1438,9 +1436,12 @@ function testLoadAbortIllegalFileURL() {
var webview = document.createElement('webview');
webview.addEventListener('loadabort', function(e) {
embedder.test.assertEq('ERR_ABORTED', e.reason);
+ });
+ webview.addEventListener('loadstop', function(e) {
+ embedder.test.assertEq('about:blank', webview.src);
embedder.test.succeed();
});
- webview.setAttribute('src', 'file://foo');
+ webview.src = 'file://foo';
document.body.appendChild(webview);
}
@@ -1448,6 +1449,9 @@ function testLoadAbortIllegalJavaScriptURL() {
var webview = document.createElement('webview');
webview.addEventListener('loadabort', function(e) {
embedder.test.assertEq('ERR_ABORTED', e.reason);
+ });
+ webview.addEventListener('loadstop', function(e) {
+ embedder.test.assertEq('about:blank', webview.src);
embedder.test.succeed();
});
webview.setAttribute('src', 'javascript:void(document.bgColor="#0000FF")');
@@ -1457,17 +1461,19 @@ function testLoadAbortIllegalJavaScriptURL() {
// Verifies that navigating to invalid URL (e.g. 'http:') doesn't cause a crash.
function testLoadAbortInvalidNavigation() {
var webview = document.createElement('webview');
- var validSchemeWithEmptyURL = 'http:';
webview.addEventListener('loadabort', function(e) {
embedder.test.assertEq('ERR_ABORTED', e.reason);
embedder.test.assertEq('', e.url);
+ });
+ webview.addEventListener('loadstop', function(e) {
+ embedder.test.assertEq('about:blank', webview.src);
embedder.test.succeed();
});
webview.addEventListener('exit', function(e) {
// We should not crash.
embedder.test.fail();
});
- webview.setAttribute('src', validSchemeWithEmptyURL);
+ webview.src = 'http:';
document.body.appendChild(webview);
}
@@ -1475,17 +1481,20 @@ function testLoadAbortInvalidNavigation() {
// pseudo-scheme fires loadabort and doesn't cause a crash.
function testLoadAbortNonWebSafeScheme() {
var webview = document.createElement('webview');
- var chromeGuestURL = 'chrome-guest://abc123';
+ var chromeGuestURL = 'chrome-guest://abc123/';
webview.addEventListener('loadabort', function(e) {
embedder.test.assertEq('ERR_ABORTED', e.reason);
- embedder.test.assertEq('chrome-guest://abc123/', e.url);
+ embedder.test.assertEq(chromeGuestURL, e.url);
+ });
+ webview.addEventListener('loadstop', function(e) {
+ embedder.test.assertEq('about:blank', webview.src);
embedder.test.succeed();
});
webview.addEventListener('exit', function(e) {
// We should not crash.
embedder.test.fail();
});
- webview.setAttribute('src', chromeGuestURL);
+ webview.src = chromeGuestURL;
document.body.appendChild(webview);
};

Powered by Google App Engine
This is Rietveld 408576698