| // Copyright 2013 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. |
| |
| const scriptUrl = '_test_resources/api_test/webnavigation/framework.js'; |
| let loadScript = chrome.test.loadScript(scriptUrl); |
| |
| loadScript.then(async function() { |
| let tab = await promise(chrome.tabs.create, {"url": "about:blank"}); |
| let config = await promise(chrome.test.getConfig); |
| let port = config.testServer.port; |
| |
| let URL_A = "http://www.a.com:" + port + |
| "/extensions/api_test/webnavigation/crash/a.html"; |
| let URL_B = "http://www.a.com:" + port + |
| "/extensions/api_test/webnavigation/crash/b.html"; |
| |
| chrome.test.runTests([ |
| // Navigates to an URL, then the renderer crashes, the navigates to |
| // another URL. |
| function crash() { |
| expect([ |
| { label: "a-onBeforeNavigate", |
| event: "onBeforeNavigate", |
| details: { frameId: 0, |
| parentFrameId: -1, |
| processId: -1, |
| tabId: 0, |
| timeStamp: 0, |
| url: URL_A }}, |
| { label: "a-onCommitted", |
| event: "onCommitted", |
| details: { frameId: 0, |
| parentFrameId: -1, |
| processId: 0, |
| tabId: 0, |
| timeStamp: 0, |
| transitionQualifiers: [], |
| transitionType: "typed", |
| url: URL_A }}, |
| { label: "a-onDOMContentLoaded", |
| event: "onDOMContentLoaded", |
| details: { frameId: 0, |
| parentFrameId: -1, |
| processId: 0, |
| tabId: 0, |
| timeStamp: 0, |
| url: URL_A }}, |
| { label: "a-onCompleted", |
| event: "onCompleted", |
| details: { frameId: 0, |
| parentFrameId: -1, |
| processId: 0, |
| tabId: 0, |
| timeStamp: 0, |
| url: URL_A }}, |
| { label: "b-onBeforeNavigate", |
| event: "onBeforeNavigate", |
| details: { frameId: 0, |
| parentFrameId: -1, |
| processId: -1, |
| tabId: 0, |
| timeStamp: 0, |
| url: URL_B }}, |
| { label: "b-onCommitted", |
| event: "onCommitted", |
| details: { frameId: 0, |
| parentFrameId: -1, |
| processId: 0, |
| tabId: 0, |
| timeStamp: 0, |
| transitionQualifiers: [], |
| transitionType: "typed", |
| url: URL_B }}, |
| { label: "b-onDOMContentLoaded", |
| event: "onDOMContentLoaded", |
| details: { frameId: 0, |
| parentFrameId: -1, |
| processId: 0, |
| tabId: 0, |
| timeStamp: 0, |
| url: URL_B }}, |
| { label: "b-onCompleted", |
| event: "onCompleted", |
| details: { frameId: 0, |
| parentFrameId: -1, |
| processId: 0, |
| tabId: 0, |
| timeStamp: 0, |
| url: URL_B }}], |
| [ navigationOrder("a-"), navigationOrder("b-") ]); |
| |
| // Notify the api test that we're waiting for the user. |
| chrome.test.notifyPass(); |
| }, |
| ]); |
| }); |