Backed out changeset 2450366cf7ca (bug 1891629) for causing win msix mochitest failures
[gecko.git] / netwerk / test / unit_ipc / test_redirect_veto_parent.js
blobc2fa3fa0007166ca62a24352785c3d001b77744c
1 //
2 // Run test script in content process instead of chrome (xpcshell's default)
3 //
4 //
6 let ChannelEventSink2 = {
7   _classDescription: "WebRequest channel event sink",
8   _classID: Components.ID("115062f8-92f1-11e5-8b7f-08001110f7ec"),
9   _contractID: "@mozilla.org/webrequest/channel-event-sink;1",
11   QueryInterface: ChromeUtils.generateQI(["nsIChannelEventSink", "nsIFactory"]),
13   init() {
14     Components.manager
15       .QueryInterface(Ci.nsIComponentRegistrar)
16       .registerFactory(
17         this._classID,
18         this._classDescription,
19         this._contractID,
20         this
21       );
22   },
24   register() {
25     Services.catMan.addCategoryEntry(
26       "net-channel-event-sinks",
27       this._contractID,
28       this._contractID,
29       false,
30       true
31     );
32   },
34   unregister() {
35     Components.manager
36       .QueryInterface(Ci.nsIComponentRegistrar)
37       .unregisterFactory(this._classID, ChannelEventSink2);
38     Services.catMan.deleteCategoryEntry(
39       "net-channel-event-sinks",
40       this._contractID,
41       false
42     );
43   },
45   // nsIChannelEventSink implementation
46   asyncOnChannelRedirect(oldChannel, newChannel, flags, redirectCallback) {
47     // Abort the redirection
48     redirectCallback.onRedirectVerifyCallback(Cr.NS_ERROR_NO_INTERFACE);
49   },
51   // nsIFactory implementation
52   createInstance(iid) {
53     return this.QueryInterface(iid);
54   },
57 add_task(async function run_test() {
58   ChannelEventSink2.init();
59   ChannelEventSink2.register();
61   run_test_in_child("child_veto_in_parent.js");
62   await do_await_remote_message("child-test-done");
63   ChannelEventSink2.unregister();
64 });