It looks like finalize was meant to destroy the highlighter front **and** actor, but the actor wasn't destroyed. Also calling finalize or destroy didn't make much diffence on both sides. Stop using "finalize" manually from the frontend, instead rely on Front's destroy method to emit the oneway+release "finalize" request, which would destroy both front and actor. Differential Revision: https://phabricator.services.mozilla.com/D306796
43 lines
898 B
JavaScript
43 lines
898 B
JavaScript
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
"use strict";
|
|
|
|
const {
|
|
Arg,
|
|
RetVal,
|
|
generateActorSpec,
|
|
} = require("resource://devtools/shared/protocol.js");
|
|
|
|
const customHighlighterSpec = generateActorSpec({
|
|
typeName: "customhighlighter",
|
|
|
|
events: {
|
|
"highlighter-event": {
|
|
type: "highlighter-event",
|
|
data: Arg(0, "json"),
|
|
},
|
|
},
|
|
|
|
methods: {
|
|
show: {
|
|
request: {
|
|
node: Arg(0, "nullable:domnode"),
|
|
options: Arg(1, "nullable:json"),
|
|
},
|
|
response: {
|
|
value: RetVal("nullable:boolean"),
|
|
},
|
|
},
|
|
hide: {
|
|
request: {},
|
|
},
|
|
finalize: {
|
|
oneway: true,
|
|
release: true,
|
|
},
|
|
},
|
|
});
|
|
|
|
exports.customHighlighterSpec = customHighlighterSpec;
|