| Index: chrome/test/data/extensions/platform_apps/web_view/clear_data_cache/embedder.js
|
| diff --git a/chrome/test/data/extensions/platform_apps/web_view/clear_data_cache/embedder.js b/chrome/test/data/extensions/platform_apps/web_view/clear_data_cache/embedder.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..435c5cb29933199873e0fdb1f14f242429f32fa1
|
| --- /dev/null
|
| +++ b/chrome/test/data/extensions/platform_apps/web_view/clear_data_cache/embedder.js
|
| @@ -0,0 +1,81 @@
|
| +// Copyright 2015 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +var LOG = function(msg) { window.console.log(msg); };
|
| +
|
| +function ClearDataTester() {
|
| + this.webview_ = null;
|
| + this.id_ = '';
|
| +
|
| + this.inlineClickCalled_ = false;
|
| + this.globalClickCalled_ = false;
|
| +
|
| + // Used for createThreeMenuItems().
|
| + this.numItemsCreated_ = 0;
|
| +
|
| + this.failed_ = false;
|
| +}
|
| +
|
| +ClearDataTester.prototype.setWebview = function(webview) {
|
| + this.webview_ = webview;
|
| +};
|
| +
|
| +ClearDataTester.prototype.testClearDataCache = function() {
|
| + this.webview_.clearData(
|
| + {since: 10}, {"cache": true}, function doneCallback() {
|
| + LOG('clearData done');
|
| + chrome.test.sendMessage('WebViewTest.CLEAR_DATA_DONE');
|
| + });
|
| +};
|
| +
|
| +var tester = new ClearDataTester();
|
| +
|
| +// window.* exported functions begin.
|
| +window.testClearDataCache = function() {
|
| + LOG('window.testClearDataCache');
|
| + tester.testClearDataCache();
|
| +};
|
| +// window.* exported functions end.
|
| +
|
| +function setUpTest(messageCallback) {
|
| + var guestUrl = 'data:text/html,<html><body>guest</body></html>';
|
| + var webview = document.createElement('webview');
|
| +
|
| + webview.onloadstop = function(e) {
|
| + LOG('webview has loaded.');
|
| + webview.executeScript(
|
| + {file: 'guest.js'},
|
| + function(results) {
|
| + if (!results || !results.length) {
|
| + chrome.test.sendMessage('WebViewTest.FAILURE');
|
| + return;
|
| + }
|
| + LOG('Script has been injected into webview.');
|
| + // Establish a communication channel with the guest.
|
| + var msg = ['connect'];
|
| + webview.contentWindow.postMessage(JSON.stringify(msg), '*');
|
| + });
|
| + };
|
| +
|
| + window.addEventListener('message', function(e) {
|
| + var data = JSON.parse(e.data);
|
| + if (data[0] == 'connected') {
|
| + console.log('A communication channel has been established with webview.');
|
| + }
|
| + messageCallback(webview);
|
| + });
|
| +
|
| + webview.setAttribute('src', guestUrl);
|
| + document.body.appendChild(webview);
|
| +}
|
| +
|
| +onload = function() {
|
| + chrome.test.getConfig(function(config) {
|
| + setUpTest(function(webview) {
|
| + LOG('Guest load completed.');
|
| + chrome.test.sendMessage('WebViewTest.LAUNCHED');
|
| + tester.setWebview(webview);
|
| + });
|
| + });
|
| +};
|
|
|