Every keystroke is shown as a change (no special characters involved)
Categories
(DevTools :: Inspector: Changes, defect, P2)
Tracking
(firefox-esr102 wontfix, firefox107 wontfix, firefox108 wontfix, firefox109 wontfix, firefox145 fixed)
People
(Reporter: victoria, Assigned: nchevobbe)
References
(Blocks 1 open bug, )
Details
Attachments
(2 files)
Related to #1590031 and #1783893
STR:
- Go to https://k3vifk.csb.app/
- Open inspector and select the footer of the first modal (.spotlight-modal footer)
- Edit
margin: 24px 0 0 0;by putting the cursor next to "24" and increasing the count with the up arrow key multiple times. (Bug also happens when changing the value with a number key)
Result:
- Every change to this value is shown in Changes as opposed to only the most recent one (see screenshot)
| Reporter | ||
Updated•3 years ago
|
| Reporter | ||
Updated•3 years ago
|
Comment 1•3 years ago
|
||
Similar to Bug 1783893 and Bug 1590031.
I checked back in ESR 102, before the fixes for the two bugs mentioned above landed, and this issue was already here, so not a recent regression.
Updated•2 months ago
|
Updated•2 months ago
|
Comment 3•2 months ago
|
||
Comment 4•2 months ago
|
||
Reduced test case:
data:text/html,<iframe src="data:text/html,1"></iframe><div style="margin: 10px 0 0 0">inspectme
This issue only happens when the test page contains an iframe. Then any update in the rule view will trigger many updates.
Comment 5•2 months ago
|
||
Whenever a target is created, we create a "watcher" for CSSChanges which listens to events on a singleton:
class CSSChangeWatcher {
constructor() {
this.onTrackChange = this.onTrackChange.bind(this);
}
async watch(targetActor, { onAvailable }) {
this.onAvailable = onAvailable;
TrackChangeEmitter.on("track-change", this.onTrackChange);
}
onTrackChange(change) {
this.onAvailable([change]);
}
destroy() {
TrackChangeEmitter.off("track-change", this.onTrackChange);
}
}
So when we have several targets in the same process, we emit duplicated resources for the same change.
| Assignee | ||
Comment 6•2 months ago
|
||
This updates all the call to the singleton TrackChangeEmitter trackChange method
to include a targetActor so it can then be checked against CSSChangeWatcher own
targetActor to only consume events from the same targetActor.
Updated•2 months ago
|
Updated•2 months ago
|
Comment 8•2 months ago
|
||
| bugherder | ||
Updated•2 months ago
|
Description
•