Files
sousa-gecko/devtools/shared/specs/highlighters.js
T
Alexandre Poirot 7adc111789 Bug 1247553 - [devtools] Clarify highlighter destruction. r=devtools-reviewers,devtools-backward-compat-reviewers,nchevobbe
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
2026-06-23 05:54:32 +00:00

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;