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

Side by Side Diff: chrome/test/data/extensions/api_test/webrequest/test_unload4.js

Issue 2003593002: Add tests for webRequest events and frame unload (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: battre's nits Created 4 years, 7 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
(Empty)
1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 runTests([
6 // Loads a slow image in an iframe and removes it.
7 function loadImageAndRemoveFrame() {
8 const hostname = 'slow-resourcetype-image-remove-frame';
9 const url = getSlowURL(hostname);
10 const mainUrl = getPageWithFrame('empty.html', hostname);
11
12 expect([
13 { label: 'onBeforeRequest',
14 event: 'onBeforeRequest',
15 details: {
16 type: 'image',
17 url,
18 frameId: 1,
19 parentFrameId: 0,
20 frameUrl: 'unknown frame URL',
21 }
22 },
23 { label: 'onBeforeSendHeaders',
24 event: 'onBeforeSendHeaders',
25 details: {
26 type: 'image',
27 url,
28 frameId: 1,
29 parentFrameId: 0,
30 },
31 },
32 { label: 'onSendHeaders',
33 event: 'onSendHeaders',
34 details: {
35 type: 'image',
36 url,
37 frameId: 1,
38 parentFrameId: 0,
39 },
40 },
41 { label: 'onErrorOccurred',
42 event: 'onErrorOccurred',
43 details: {
44 type: 'image',
45 url,
46 frameId: 1,
47 parentFrameId: 0,
48 fromCache: false,
49 error: 'net::ERR_ABORTED',
50 },
51 }],
52 [['onBeforeRequest', 'onBeforeSendHeaders', 'onSendHeaders',
53 'onErrorOccurred']],
54 {
55 urls: ['<all_urls>'],
56 types: ['image'],
57 });
58
59 waitUntilSendHeaders('image', url, function() {
60 // Cancels load and triggers onErrorOccurred.
61 chrome.tabs.executeScript(tabId, {
62 code: 'document.querySelector("iframe").remove();',
63 });
64 });
65
66 navigateAndWait(mainUrl, function() {
67 chrome.tabs.executeScript(tabId, {
68 allFrames: true,
69 code: `if (top !== window) {
70 var img = new Image();
71 img.src = '${url}';
72 }`
73 });
74 });
75 },
76
77 // Load a slow image in the main frame and close the tab.
78 function loadImageAndRemoveTab() {
79 const hostname = 'slow-resourcetype-image-remove-tab';
80 const url = getSlowURL(hostname);
81 const mainUrl = getServerURL('empty.html', hostname);
82
83 expect([
84 { label: 'onBeforeRequest',
85 event: 'onBeforeRequest',
86 details: {
87 type: 'image',
88 url,
89 frameUrl: 'unknown frame URL',
90 }
91 },
92 { label: 'onBeforeSendHeaders',
93 event: 'onBeforeSendHeaders',
94 details: {
95 type: 'image',
96 url,
97 },
98 },
99 { label: 'onSendHeaders',
100 event: 'onSendHeaders',
101 details: {
102 type: 'image',
103 url,
104 },
105 },
106 { label: 'onErrorOccurred',
107 event: 'onErrorOccurred',
108 details: {
109 type: 'image',
110 url,
111 fromCache: false,
112 error: 'net::ERR_ABORTED',
113 },
114 }],
115 [['onBeforeRequest', 'onBeforeSendHeaders', 'onSendHeaders',
116 'onErrorOccurred']],
117 {
118 urls: ['<all_urls>'],
119 types: ['image'],
120 });
121
122 var callbackDone = chrome.test.callbackAdded();
123
124 waitUntilSendHeaders('image', url, function() {
125 // Cancels load and triggers onErrorOccurred.
126 chrome.tabs.remove(tabId, callbackDone);
127 }),
128
129 navigateAndWait(mainUrl, function() {
130 chrome.tabs.executeScript(tabId, {
131 code: `var img = new Image(); img.src = '${url}';`
132 });
133 });
134 },
135 ]);
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698