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

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

Issue 8934008: chrome.webRequest.*.removeListener removes callbacks that were registered multiple times (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years 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 | Annotate | Revision Log
« no previous file with comments | « chrome/renderer/resources/extensions/schema_generated_bindings.js ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 chrome.test.runTests([ 5 chrome.test.runTests([
6 function addListeners() { 6 function addListeners() {
7 chrome.webRequest.onBeforeRequest.addListener( 7 chrome.webRequest.onBeforeRequest.addListener(
8 function(details) {}, {urls: ["<all_urls>"]}); 8 function(details) {}, {urls: ["<all_urls>"]});
9 chrome.webRequest.onBeforeSendHeaders.addListener( 9 chrome.webRequest.onBeforeSendHeaders.addListener(
10 function(details) {}, {urls: ["<all_urls>"]}); 10 function(details) {}, {urls: ["<all_urls>"]});
(...skipping 26 matching lines...) Expand all
37 event.addListener(cb1, {urls: ["<all_urls>"]}); 37 event.addListener(cb1, {urls: ["<all_urls>"]});
38 event.addListener(cb2, {urls: ["<all_urls>"]}); 38 event.addListener(cb2, {urls: ["<all_urls>"]});
39 chrome.test.assertTrue(event.hasListener(cb1)); 39 chrome.test.assertTrue(event.hasListener(cb1));
40 chrome.test.assertTrue(event.hasListener(cb2)); 40 chrome.test.assertTrue(event.hasListener(cb2));
41 event.removeListener(cb1); 41 event.removeListener(cb1);
42 chrome.test.assertFalse(event.hasListener(cb1)); 42 chrome.test.assertFalse(event.hasListener(cb1));
43 chrome.test.assertTrue(event.hasListener(cb2)); 43 chrome.test.assertTrue(event.hasListener(cb2));
44 event.removeListener(cb2); 44 event.removeListener(cb2);
45 chrome.test.assertFalse(event.hasListener(cb1)); 45 chrome.test.assertFalse(event.hasListener(cb1));
46 chrome.test.assertFalse(event.hasListener(cb2)); 46 chrome.test.assertFalse(event.hasListener(cb2));
47 event.addListener(cb1, {urls: ["http://foo/*"]});
48 event.addListener(cb1, {urls: ["http://bar/*"]});
49 event.removeListener(cb1);
50 chrome.test.assertFalse(event.hasListener(cb1));
47 chrome.test.succeed(); 51 chrome.test.succeed();
48 }, 52 },
49 53
50 // Tests that the extra parameters to addListener are checked for invalid 54 // Tests that the extra parameters to addListener are checked for invalid
51 // values. 55 // values.
52 function specialEvents() { 56 function specialEvents() {
53 var goodFilter = {urls: ["http://*.google.com/*"]}; 57 var goodFilter = {urls: ["http://*.google.com/*"]};
54 var goodExtraInfo = ["blocking"]; 58 var goodExtraInfo = ["blocking"];
55 chrome.webRequest.onBeforeRequest.addListener( 59 chrome.webRequest.onBeforeRequest.addListener(
56 function(details) {}, 60 function(details) {},
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
109 var emptyCallback = function (details) {}; 113 var emptyCallback = function (details) {};
110 chrome.webRequest.onBeforeRequest.addListener( 114 chrome.webRequest.onBeforeRequest.addListener(
111 emptyCallback, 115 emptyCallback,
112 {urls: ["badpattern://*"]}); 116 {urls: ["badpattern://*"]});
113 chrome.webRequest.onBeforeRequest.removeListener( 117 chrome.webRequest.onBeforeRequest.removeListener(
114 emptyCallback); 118 emptyCallback);
115 119
116 chrome.test.succeed(); 120 chrome.test.succeed();
117 }, 121 },
118 ]); 122 ]);
OLDNEW
« no previous file with comments | « chrome/renderer/resources/extensions/schema_generated_bindings.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698