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

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

Issue 12326168: Move <webview> API to chrome layer (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merge with ToT Created 7 years, 10 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/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/main.js
similarity index 62%
copy from chrome/test/data/extensions/platform_apps/web_view/shim/main.js
copy to chrome/test/data/extensions/platform_apps/web_view/main.js
index 831cf764e09fdf28dec84109e0424d895e300554..f7503797f7932daf8f580190054babe6617fe4d7 100644
--- a/chrome/test/data/extensions/platform_apps/web_view/shim/main.js
+++ b/chrome/test/data/extensions/platform_apps/web_view/main.js
@@ -9,14 +9,13 @@ var util = {};
// sure that the <object> shim is created (asynchronously at this point) for the
// <webview> tag. This makes the <webview> tag ready for add/removeEventListener
// calls.
-util.createWebViewTagInDOM = function(partitionName) {
+util.createWebViewTagInDOM = function() {
var webview = document.createElement('webview');
webview.style.width = '300px';
webview.style.height = '200px';
+ document.body.appendChild(webview);
var urlDummy = 'data:text/html,<body>Initial dummy guest</body>';
webview.setAttribute('src', urlDummy);
- webview.setAttribute('partition', partitionName);
- document.body.appendChild(webview);
return webview;
};
@@ -70,7 +69,6 @@ onload = function() {
'terminate'
];
var webview = document.createElement('webview');
- webview.setAttribute('partition', arguments.callee.name);
webview.addEventListener('loadstop', function(e) {
for (var i = 0; i < apiMethodsToCheck.length; ++i) {
chrome.test.assertEq('function',
@@ -81,6 +79,7 @@ onload = function() {
chrome.test.assertEq('object', typeof webview.contentWindow);
chrome.test.assertEq('function',
typeof webview.contentWindow.postMessage);
+
chrome.test.succeed();
});
webview.setAttribute('src', 'data:text/html,webview check api');
@@ -89,7 +88,8 @@ onload = function() {
function webViewEventName() {
var webview = document.createElement('webview');
- webview.setAttribute('partition', arguments.callee.name);
+ webview.setAttribute('src', 'data:text/html,webview check api');
+ document.body.appendChild(webview);
webview.addEventListener('loadstart', function(evt) {
chrome.test.assertEq('loadstart', evt.type);
@@ -106,7 +106,6 @@ onload = function() {
});
webview.setAttribute('src', 'data:text/html,trigger navigation');
- document.body.appendChild(webview);
},
// This test registers two listeners on an event (loadcommit) and removes
@@ -114,7 +113,7 @@ onload = function() {
// Current expected behavior is that the second event listener will still
// fire without crashing.
function webviewDestroyOnEventListener() {
- var webview = util.createWebViewTagInDOM(arguments.callee.name);
+ var webview = util.createWebViewTagInDOM();
var url = 'data:text/html,<body>Destroy test</body>';
var loadCommitCount = 0;
@@ -124,6 +123,8 @@ onload = function() {
return;
++loadCommitCount;
if (loadCommitCount == 1) {
+ webview.parentNode.removeChild(webview);
+ webview = null;
setTimeout(function() {
chrome.test.succeed();
}, 0);
@@ -134,7 +135,6 @@ onload = function() {
// The test starts from here, by setting the src to |url|.
webview.addEventListener('loadcommit', function(e) {
- webview.parentNode.removeChild(webview);
loadCommitCommon(e);
});
webview.addEventListener('loadcommit', function(e) {
@@ -147,7 +147,7 @@ onload = function() {
// Each of the listener tries to change some properties on the event param,
// which should not be possible.
function cannotMutateEventName() {
- var webview = util.createWebViewTagInDOM(arguments.callee.name);
+ var webview = util.createWebViewTagInDOM();
var url = 'data:text/html,<body>Two</body>';
var loadCommitACalled = false;
@@ -195,7 +195,6 @@ onload = function() {
// been set raises an exception.
function partitionRaisesException() {
var webview = document.createElement('webview');
- webview.setAttribute('partition', arguments.callee.name);
webview.setAttribute('src', 'data:text/html,trigger navigation');
document.body.appendChild(webview);
setTimeout(function() {
@@ -208,109 +207,22 @@ onload = function() {
}, 0);
},
+ // This test verifies that executeScript is able to inject script into a
+ // guest and receives a response.
function webViewExecuteScript() {
var webview = document.createElement('webview');
- webview.setAttribute('partition', arguments.callee.name);
- webview.addEventListener('loadstop', function() {
+ webview.addEventListener('loadstop', function(e) {
webview.executeScript(
- {code:'document.body.style.backgroundColor = "red";'},
- function(results) {
- chrome.test.assertEq(1, results.length);
- chrome.test.assertEq('red', results[0]);
- chrome.test.succeed();
- });
+ {code:"document.body.offsetWidth"},
+ function(result) {
+ console.log(result);
+ //chrome.test.assertEq('red', result);
+ chrome.test.succeed();
+ });
});
- webview.setAttribute('src', 'data:text/html,trigger navigation');
+ var urlDummy = 'data:text/html,<body>Initial dummy guest</body>';
+ webview.setAttribute('src', urlDummy);
document.body.appendChild(webview);
- },
-
- // This test calls terminate() on guest after it has already been
- // terminated. This makes sure we ignore the call gracefully.
- function webViewTerminateAfterExitDoesntCrash() {
- var webview = document.createElement('webview');
- webview.setAttribute('partition', arguments.callee.name);
- var loadstopSucceedsTest = false;
- webview.addEventListener('loadstop', function(evt) {
- chrome.test.assertEq('loadstop', evt.type);
- if (loadstopSucceedsTest) {
- chrome.test.succeed();
- return;
- }
-
- webview.terminate();
- });
-
- webview.addEventListener('exit', function(evt) {
- chrome.test.assertEq('exit', evt.type);
- // Call terminate again.
- webview.terminate();
- // Load another page. The test would pass when loadstop is called on
- // this second page. This would hopefully catch if call to
- // webview.terminate() caused a browser crash.
- setTimeout(function() {
- loadstopSucceedsTest = true;
- webview.setAttribute('src', 'data:text/html,test second page');
- }, 0);
- });
-
- webview.setAttribute('src', 'data:text/html,test terminate() crash.');
- document.body.appendChild(webview);
- },
-
- // This test verifies that assigning the src attribute the same value it had
- // prior to a crash spawns off a new guest process.
- function webViewAssignSrcAfterCrash() {
- var webview = document.createElement('webview');
- webview.setAttribute('partition', arguments.callee.name);
- var terminated = false;
- webview.addEventListener('loadstop', function(evt) {
- if (!terminated) {
- webview.terminate();
- return;
- }
- // The guest has recovered after being terminated.
- chrome.test.succeed();
- });
- webview.addEventListener('exit', function(evt) {
- terminated = true;
- webview.setAttribute('src', 'data:text/html,test page');
- });
- webview.setAttribute('src', 'data:text/html,test page');
- document.body.appendChild(webview);
- },
-
- // This test verifies that <webview> restores the src attribute if it is
- // removed after navigation.
- function webViewRemoveSrcAttribute() {
- var dataUrl = 'data:text/html,test page';
- var webview = document.createElement('webview');
- webview.setAttribute('partition', arguments.callee.name);
- var terminated = false;
- webview.addEventListener('loadstop', function(evt) {
- webview.removeAttribute('src');
- setTimeout(function() {
- chrome.test.assertEq(dataUrl, webview.getAttribute('src'));
- chrome.test.succeed();
- }, 0);
- });
- webview.setAttribute('src', dataUrl);
- document.body.appendChild(webview);
- },
-
- function browserPluginObjectInstantiationIsNotAllowed() {
- var container = document.getElementById('object-container');
- if (!container) {
- chrome.test.fail('Container for object not found.');
- return;
- }
- container.innerHTML = '<object type="application/browser-plugin"' +
- ' id="object-plugin"' +
- ' src="data:text/html,<body>You should not see this</body>">' +
- '</object>';
- var objectElement = document.getElementById('object-plugin');
- // Check that bindings are not registered.
- chrome.test.assertTrue(objectElement.canGoBack === undefined);
- chrome.test.succeed();
}
]);
};
« no previous file with comments | « chrome/renderer/resources/extensions/web_view.js ('k') | content/browser/browser_plugin/browser_plugin_guest_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698