migrate mv2 to mv3 extensions.but I have already used sendRespon.Pls help me!
chrome.runtime.onMessage.addListener(function (request, sender, sendResponse) {
switch (request.method) {
case "checkTab":
if (sender.tab.windowId === runningWindowId || sender.tab.id === runningTabId || sender.tab.id === scoreTabId) {
sendResponse({
status: 'ok',
"runtime": 1
});
}
break;
case "startRun":
if (!Object.keys(channelUrls).length) {
if (!isMobile) {
if (!runningWindowId) {
getPointsData(function (data) {
if (userId !== data.userId) {
usedUrls = {
"article": [],
"video": []
}
}
userId = data.userId;
createWindow(urlMap.index, function (window) {
runningWindowId = window.id;
notice(chrome.i18n.getMessage("extWorking"), chrome.i18n.getMessage("extWarning"));
setTimeout(function () {
channelUrls["exam-practice"] = urlMap.dailyAsk;
channelUrls["exam-weekly"] = urlMap.weeklyAsk;
channelUrls["exam-paper"] = urlMap.paperAsk;
getChannelData("article", function (list) {
channelUrls["article"] = list;
});
getChannelData("video", function (list) {
channelUrls["video"] = list;
});
autoEarnPoints(1000 + Math.floor(Math.random() * 1000));
}, 1000 );
});
});
}
} else {
if (!runningTabId) {
getPointsData(function (data) {
if (userId !== data.userId) {
usedUrls = {
"article": [],
"video": []
}
}
userId = data.userId;
chrome.tabs.create({"url": urlMap.index}, function (tab) {
runningTabId = tab.id;
setTimeout(function () {
channelUrls["exam-practice"] = urlMap.dailyAsk;
channelUrls["exam-weekly"] = urlMap.weeklyAsk;
channelUrls["exam-paper"] = urlMap.paperAsk;
getChannelData("article", function (list) {
channelUrls["article"] = list;
});
getChannelData("video", function (list) {
channelUrls["video"] = list;
});
autoEarnPoints(1000 + Math.floor(Math.random() * 1000));
}, 1000 );
});
});
}
}
}
break;
case "useUrl":
if (usedUrls[request.type].indexOf(sender.tab.url) === -1) {
usedUrls[request.type].push(sender.tab.url);
}
break;
case "chooseLogin":
chooseLogin = 1;
sendResponse({
status: 'ok',
"chooseLogin": chooseLogin
});
break;
case "checkLogin":
if (sender.tab.id === scoreTabId) {
if (!chooseLogin) {
chrome.tabs.update(scoreTabId, {"url": getLoginUrl()});
}
}
break;
case "weeklyTitle":
weeklyTitle = 1;
sendResponse({
status: 'ok',
"weeklyTitle": weeklyTitle
});
break;
case "paperTitle":
paperTitle = 1;
sendResponse({
status: 'ok',
"paperTitle": paperTitle
});
break;
case "askComplete":
break;
}
});