Bug 1476289 Added event.stopPropagation to snapshot onClick delete function to prevent selected snapshot from being cleared from view r=julienw

Differential Revision: https://phabricator.services.mozilla.com/D13117

--HG--
extra : moz-landing-system : lando
This commit is contained in:
sreeise 2018-12-04 04:43:03 +00:00
Родитель 9fea57bac1
Коммит 527f507999
2 изменённых файлов: 28 добавлений и 5 удалений

Просмотреть файл

@ -92,7 +92,10 @@ class SnapshotListItem extends Component {
}, L10N.getStr("snapshot.io.save")); }, L10N.getStr("snapshot.io.save"));
const deleteButton = !snapshot.path ? void 0 : dom.button({ const deleteButton = !snapshot.path ? void 0 : dom.button({
onClick: () => onDelete(snapshot), onClick: (event) => {
event.stopPropagation();
onDelete(snapshot);
},
className: "delete", className: "delete",
title: L10N.getStr("snapshot.io.delete"), title: L10N.getStr("snapshot.io.delete"),
}); });

Просмотреть файл

@ -21,14 +21,34 @@ this.test = makeMemoryTest(TEST_URL, async function({ tab, panel }) {
info("Take two snapshots"); info("Take two snapshots");
takeSnapshot(panel.panelWin); takeSnapshot(panel.panelWin);
takeSnapshot(panel.panelWin); takeSnapshot(panel.panelWin);
takeSnapshot(panel.panelWin);
await waitUntilState(gStore, state => await waitUntilState(gStore, state =>
state.snapshots.length === 2 && state.snapshots.length === 3 &&
state.snapshots[0].treeMap && state.snapshots[1].treeMap && state.snapshots[0].treeMap && state.snapshots[1].treeMap &&
state.snapshots[0].treeMap.state === treeMapState.SAVED && state.snapshots[2].treeMap &&
state.snapshots[1].treeMap.state === treeMapState.SAVED); state.snapshots[0].treeMap.state === treeMapState.SAVED &&
state.snapshots[1].treeMap.state === treeMapState.SAVED &&
state.snapshots[2].treeMap.state === treeMapState.SAVED);
snapshotEls = document.querySelectorAll("#memory-tool-container .list li"); snapshotEls = document.querySelectorAll("#memory-tool-container .list li");
is(snapshotEls.length, 3, "Three snapshots visible");
is(document.querySelectorAll(".selected").length, 1, "One selected snapshot visible");
ok(snapshotEls[2].classList.contains("selected"), "Third snapshot selected");
info("Clicking on first snapshot delete button");
document.querySelectorAll(".delete")[0].click();
await waitUntilState(gStore, state =>
state.snapshots.length === 2 &&
state.snapshots[0].treeMap && state.snapshots[1].treeMap &&
state.snapshots[0].treeMap.state === treeMapState.SAVED &&
state.snapshots[1].treeMap.state === treeMapState.SAVED);
snapshotEls = document.querySelectorAll(".snapshot-list-item");
is(snapshotEls.length, 2, "Two snapshots visible"); is(snapshotEls.length, 2, "Two snapshots visible");
// Bug 1476289
ok(!snapshotEls[0].classList.contains("selected"), "First snapshot not selected");
ok(snapshotEls[1].classList.contains("selected"), "Second snapshot selected");
info("Click on Clear Snapshots"); info("Click on Clear Snapshots");
await clearSnapshots(panel.panelWin); await clearSnapshots(panel.panelWin);