summaryrefslogtreecommitdiffstats
path: root/chrome/test
diff options
context:
space:
mode:
authorfsamuel@chromium.org <fsamuel@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-04 23:58:14 +0000
committerfsamuel@chromium.org <fsamuel@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-04 23:58:14 +0000
commit9442906f62cda897c8b48b4dc8a3993819f09828 (patch)
tree81d154e1abc986428def0dd478d9b6445fe7be57 /chrome/test
parent9a51709a90a0b43c4910a0505d3c76d8f12a9ce5 (diff)
downloadchromium_src-9442906f62cda897c8b48b4dc8a3993819f09828.zip
chromium_src-9442906f62cda897c8b48b4dc8a3993819f09828.tar.gz
chromium_src-9442906f62cda897c8b48b4dc8a3993819f09828.tar.bz2
<webview>: Move loadabort from content to chrome
BUG=166165 Test=WebViewTest.Shim_TestLoadAbort* TBR=benwells@chromium.org for ad_view.js Review URL: https://chromiumcodereview.appspot.com/18650007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@210246 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/test')
-rw-r--r--chrome/test/data/extensions/platform_apps/web_view/shim/main.js46
1 files changed, 45 insertions, 1 deletions
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 49f4caf..36fec23 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
@@ -9,6 +9,7 @@ embedder.windowOpenGuestURL = '';
embedder.noReferrerGuestURL = '';
embedder.redirectGuestURL = '';
embedder.redirectGuestURLDest = '';
+embedder.closeSocketURL = '';
embedder.tests = {};
embedder.setUp_ = function(config) {
@@ -20,6 +21,7 @@ embedder.setUp_ = function(config) {
embedder.redirectGuestURL = embedder.baseGuestURL + '/server-redirect';
embedder.redirectGuestURLDest = embedder.baseGuestURL +
'/extensions/platform_apps/web_view/shim/guest_redirect.html';
+ embedder.closeSocketURL = embedder.baseGuestURL + '/close-socket';
};
window.runTest = function(testName) {
@@ -543,6 +545,45 @@ function testLoadStartLoadRedirect() {
document.body.appendChild(webview);
}
+// This test verifies that the loadabort event fires as expected and with the
+// appropriate fields when an empty response is returned.
+function testLoadAbortEmptyResponse() {
+ var webview = document.createElement('webview');
+ webview.addEventListener('loadabort', function(e) {
+ embedder.test.assertEq('ERR_EMPTY_RESPONSE', e.reason);
+ embedder.test.succeed();
+ });
+ webview.setAttribute('src', embedder.closeSocketURL);
+ document.body.appendChild(webview);
+}
+
+// This test verifies that the loadabort event fires as expected when an illegal
+// 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);
+ embedder.test.succeed();
+ });
+ webview.setAttribute('src', 'about:blank');
+ document.body.appendChild(webview);
+}
+
+function testLoadAbortIllegalFileURL() {
+ var webview = document.createElement('webview');
+ webview.addEventListener('loadabort', function(e) {
+ embedder.test.assertEq('ERR_ABORTED', e.reason);
+ embedder.test.succeed();
+ });
+ webview.setAttribute('src', 'file://foo');
+ document.body.appendChild(webview);
+}
+
embedder.test.testList = {
'testSize': testSize,
'testAPIMethodExistence': testAPIMethodExistence,
@@ -563,7 +604,10 @@ embedder.test.testList = {
'testContentLoadEvent': testContentLoadEvent,
'testWebRequestAPI': testWebRequestAPI,
'testGetProcessId': testGetProcessId,
- 'testLoadStartLoadRedirect': testLoadStartLoadRedirect
+ 'testLoadStartLoadRedirect': testLoadStartLoadRedirect,
+ 'testLoadAbortEmptyResponse': testLoadAbortEmptyResponse,
+ 'testLoadAbortIllegalChromeURL': testLoadAbortIllegalChromeURL,
+ 'testLoadAbortIllegalFileURL': testLoadAbortIllegalFileURL
};
onload = function() {