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

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

Issue 1220813013: This patch enables "mailto" links in WebViews. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed test. Rebased. Created 5 years, 5 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 var util = {}; 5 var util = {};
6 var embedder = {}; 6 var embedder = {};
7 embedder.baseGuestURL = ''; 7 embedder.baseGuestURL = '';
8 embedder.emptyGuestURL = ''; 8 embedder.emptyGuestURL = '';
9 embedder.windowOpenGuestURL = ''; 9 embedder.windowOpenGuestURL = '';
10 embedder.noReferrerGuestURL = ''; 10 embedder.noReferrerGuestURL = '';
(...skipping 23 matching lines...) Expand all
34 embedder.detectUserAgentURL = embedder.baseGuestURL + '/detect-user-agent'; 34 embedder.detectUserAgentURL = embedder.baseGuestURL + '/detect-user-agent';
35 embedder.redirectGuestURL = embedder.baseGuestURL + '/server-redirect'; 35 embedder.redirectGuestURL = embedder.baseGuestURL + '/server-redirect';
36 embedder.redirectGuestURLDest = embedder.baseGuestURL + 36 embedder.redirectGuestURLDest = embedder.baseGuestURL +
37 '/extensions/platform_apps/web_view/shim/guest_redirect.html'; 37 '/extensions/platform_apps/web_view/shim/guest_redirect.html';
38 embedder.closeSocketURL = embedder.baseGuestURL + '/close-socket'; 38 embedder.closeSocketURL = embedder.baseGuestURL + '/close-socket';
39 embedder.testImageBaseURL = embedder.baseGuestURL + 39 embedder.testImageBaseURL = embedder.baseGuestURL +
40 '/extensions/platform_apps/web_view/shim/'; 40 '/extensions/platform_apps/web_view/shim/';
41 embedder.virtualURL = 'http://virtualurl/'; 41 embedder.virtualURL = 'http://virtualurl/';
42 embedder.pluginURL = embedder.baseGuestURL + 42 embedder.pluginURL = embedder.baseGuestURL +
43 '/extensions/platform_apps/web_view/shim/embed.html'; 43 '/extensions/platform_apps/web_view/shim/embed.html';
44 embedder.mailtoTestURL = embedder.baseGuestURL +
45 '/extensions/platform_apps/web_view/shim/mailto.html';
44 }; 46 };
45 47
46 window.runTest = function(testName) { 48 window.runTest = function(testName) {
47 if (!embedder.test.testList[testName]) { 49 if (!embedder.test.testList[testName]) {
48 console.log('Incorrect testName: ' + testName); 50 console.log('Incorrect testName: ' + testName);
49 embedder.test.fail(); 51 embedder.test.fail();
50 return; 52 return;
51 } 53 }
52 54
53 // Run the test. 55 // Run the test.
(...skipping 2672 matching lines...) Expand 10 before | Expand all | Expand 10 after
2726 var webview = document.createElement('webview'); 2728 var webview = document.createElement('webview');
2727 var pdfUrl = 'test.pdf'; 2729 var pdfUrl = 'test.pdf';
2728 // partition 'foobar' has access to local resource |pdfUrl|. 2730 // partition 'foobar' has access to local resource |pdfUrl|.
2729 webview.partition = 'foobar'; 2731 webview.partition = 'foobar';
2730 webview.onloadstop = embedder.test.succeed; 2732 webview.onloadstop = embedder.test.succeed;
2731 webview.onloadabort = embedder.test.fail; 2733 webview.onloadabort = embedder.test.fail;
2732 webview.setAttribute('src', pdfUrl); 2734 webview.setAttribute('src', pdfUrl);
2733 document.body.appendChild(webview); 2735 document.body.appendChild(webview);
2734 } 2736 }
2735 2737
2738 // This test verifies that mailto links are enabled.
2739 function testMailtoLink() {
2740 var webview = new WebView();
2741 webview.src = embedder.mailtoTestURL;
2742
2743 webview.onloadstop = function() {
2744 webview.onloadabort = function(e) {
2745 // The mailto link should not trigger a loadabort.
2746 if (e.url.substring(0, 7) == 'mailto:') {
2747 embedder.test.fail();
2748 }
2749 };
2750 webview.onloadstop = function() {
2751 // If mailto links are disabled, then |webview.src| will now be
2752 // 'about:blank'.
2753 embedder.test.assertFalse(webview.src == 'about:blank');
2754 embedder.test.succeed();
2755 };
2756 webview.executeScript({code:'document.getElementById("mailto").click()'});
2757 };
2758
2759 document.body.appendChild(webview);
2760 }
2761
2736 embedder.test.testList = { 2762 embedder.test.testList = {
2737 'testAllowTransparencyAttribute': testAllowTransparencyAttribute, 2763 'testAllowTransparencyAttribute': testAllowTransparencyAttribute,
2738 'testAutosizeHeight': testAutosizeHeight, 2764 'testAutosizeHeight': testAutosizeHeight,
2739 'testAutosizeAfterNavigation': testAutosizeAfterNavigation, 2765 'testAutosizeAfterNavigation': testAutosizeAfterNavigation,
2740 'testAutosizeBeforeNavigation': testAutosizeBeforeNavigation, 2766 'testAutosizeBeforeNavigation': testAutosizeBeforeNavigation,
2741 'testAutosizeRemoveAttributes': testAutosizeRemoveAttributes, 2767 'testAutosizeRemoveAttributes': testAutosizeRemoveAttributes,
2742 'testAutosizeWithPartialAttributes': testAutosizeWithPartialAttributes, 2768 'testAutosizeWithPartialAttributes': testAutosizeWithPartialAttributes,
2743 'testAPIMethodExistence': testAPIMethodExistence, 2769 'testAPIMethodExistence': testAPIMethodExistence,
2744 'testChromeExtensionURL': testChromeExtensionURL, 2770 'testChromeExtensionURL': testChromeExtensionURL,
2745 'testChromeExtensionRelativePath': testChromeExtensionRelativePath, 2771 'testChromeExtensionRelativePath': testChromeExtensionRelativePath,
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
2827 'testLoadDataAPI': testLoadDataAPI, 2853 'testLoadDataAPI': testLoadDataAPI,
2828 'testResizeEvents': testResizeEvents, 2854 'testResizeEvents': testResizeEvents,
2829 'testPerOriginZoomMode': testPerOriginZoomMode, 2855 'testPerOriginZoomMode': testPerOriginZoomMode,
2830 'testPerViewZoomMode': testPerViewZoomMode, 2856 'testPerViewZoomMode': testPerViewZoomMode,
2831 'testDisabledZoomMode': testDisabledZoomMode, 2857 'testDisabledZoomMode': testDisabledZoomMode,
2832 'testZoomBeforeNavigation': testZoomBeforeNavigation, 2858 'testZoomBeforeNavigation': testZoomBeforeNavigation,
2833 'testPlugin': testPlugin, 2859 'testPlugin': testPlugin,
2834 'testGarbageCollect': testGarbageCollect, 2860 'testGarbageCollect': testGarbageCollect,
2835 'testCloseNewWindowCleanup': testCloseNewWindowCleanup, 2861 'testCloseNewWindowCleanup': testCloseNewWindowCleanup,
2836 'testFocusWhileFocused': testFocusWhileFocused, 2862 'testFocusWhileFocused': testFocusWhileFocused,
2837 'testPDFInWebview': testPDFInWebview 2863 'testPDFInWebview': testPDFInWebview,
2864 'testMailtoLink': testMailtoLink
2838 }; 2865 };
2839 2866
2840 onload = function() { 2867 onload = function() {
2841 chrome.test.getConfig(function(config) { 2868 chrome.test.getConfig(function(config) {
2842 embedder.setUp_(config); 2869 embedder.setUp_(config);
2843 chrome.test.sendMessage("Launched"); 2870 chrome.test.sendMessage("Launched");
2844 }); 2871 });
2845 }; 2872 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698