Add: close source tab after install

This commit is contained in:
eight 2017-10-06 16:29:06 +08:00
parent c0514a6699
commit f194155830
4 changed files with 42 additions and 6 deletions

View File

@ -1,6 +1,6 @@
/* global dbExec, getStyles, saveStyle */
/* global handleCssTransitionBug */
/* global usercssHelper */
/* global usercssHelper openEditor */
'use strict';
// eslint-disable-next-line no-var
@ -334,9 +334,36 @@ function onRuntimeMessage(request, sender, sendResponse) {
case 'initUsercssInstallPage':
usercssHelper.initInstallPage(sender.tab.id, request).then(sendResponse);
return KEEP_CHANNEL_OPEN;
case 'closeTab':
closeTab(sender.tab.id, request).then(sendResponse);
return KEEP_CHANNEL_OPEN;
case 'openEditor':
openEditor(request.id);
return;
}
}
function closeTab(tabId, request) {
return new Promise(resolve => {
if (request.tabId) {
tabId = request.tabId;
}
chrome.tabs.remove(tabId, () => {
const {lastError} = chrome.runtime;
if (lastError) {
resolve({
status: 'error',
error: lastError.message || String(lastError)
});
return;
}
resolve({status: 'success'});
});
});
}
function injectContent(tabId, {files}) {
return Promise.all(files.map(inject))
.then(() => ({status: 'success'}))

View File

@ -1,5 +1,4 @@
/* global LZString */
/* global openEditor */
'use strict';
@ -457,10 +456,6 @@ function saveStyle(style) {
style, codeIsUpdated, reason,
});
}
if (style.usercssData && !existed && reason === 'update') {
// open the editor for usercss with the first install?
openEditor(style.id);
}
return style;
}
}

View File

@ -99,6 +99,14 @@ function initUsercssInstall() {
case 'liveReloadStop':
watcher.stop();
break;
case 'closeTab':
if (history.length > 1) {
history.back();
} else {
runtimeSend({method: 'closeTab'});
}
break;
}
});
});

View File

@ -184,6 +184,12 @@
updateMeta(result);
runtimeSend({method: 'openEditor', id: result.id});
if (!liveReload) {
port.postMessage({method: 'closeTab'});
}
window.dispatchEvent(new CustomEvent('installed'));
})
.catch(err => {