Ensure CSS is added after html edit.
This commit is contained in:
parent
f1e3180323
commit
98028d6430
2 changed files with 76 additions and 73 deletions
|
@ -18,7 +18,10 @@ import 'ngstorage';
|
|||
console.log('Finished importing');
|
||||
|
||||
if (!window.tagitTestMode) {
|
||||
preparePage(loadAngular);
|
||||
preparePage(function () {
|
||||
loadAngular()
|
||||
chrome.runtime.sendMessage({command: 'injectCSS'})
|
||||
});
|
||||
}
|
||||
else {
|
||||
loadAngular();
|
||||
|
|
|
@ -1,97 +1,97 @@
|
|||
var tabThatLoadedOurApp = null;
|
||||
|
||||
chrome.browserAction.onClicked.addListener(function (tab) {
|
||||
isMenuOpen(function (responseIsItOpen) {
|
||||
if (responseIsItOpen) {
|
||||
console.log('Closing menu');
|
||||
chrome.tabs.reload();
|
||||
} else {
|
||||
console.log('Opening menu');
|
||||
injectIframe(tab);
|
||||
}
|
||||
})
|
||||
chrome.browserAction.onClicked.addListener(function(tab) {
|
||||
|
||||
tabThatLoadedOurApp = tab;
|
||||
|
||||
isMenuOpen(function(responseIsItOpen) {
|
||||
if (responseIsItOpen) {
|
||||
console.log('Closing menu');
|
||||
chrome.tabs.reload();
|
||||
} else {
|
||||
console.log('Opening menu');
|
||||
chrome.tabs.executeScript(tab.id, {
|
||||
file: 'app.js'
|
||||
});
|
||||
}
|
||||
})
|
||||
});
|
||||
|
||||
function isMenuOpen(callback) {
|
||||
messageExtension('isMenuOpen').then(callback);
|
||||
}
|
||||
|
||||
function injectIframe(tab) {
|
||||
|
||||
chrome.tabs.executeScript(tab.id, {
|
||||
file: 'app.js'
|
||||
}, () => {
|
||||
chrome.tabs.insertCSS(tab.id, {
|
||||
file: 'style.css',
|
||||
allFrames: true
|
||||
});
|
||||
});
|
||||
messageExtension('isMenuOpen').then(callback);
|
||||
}
|
||||
|
||||
/**
|
||||
* Start listening for messages coming from the injected
|
||||
* javascript.
|
||||
*/
|
||||
chrome.runtime.onMessage.addListener((msg) => {
|
||||
console.log('chrome.runtime.onMessage.addListener(msg)');
|
||||
console.log(msg);
|
||||
|
||||
if (msg.command === 'loginAndRequestUserInfo') {
|
||||
console.log('Extension got a command to retrieve user info');
|
||||
chrome.runtime.onMessage.addListener(function(msg) {
|
||||
|
||||
loginUser()
|
||||
.then(askForUserEmail)
|
||||
.then(function (userInfo) {
|
||||
console.log('Background.js received userInfo:');
|
||||
console.log(userInfo);
|
||||
messageExtension({ loginObj: userInfo });
|
||||
});
|
||||
}
|
||||
console.log('chrome.runtime.onMessage.addListener(msg)');
|
||||
console.log(msg);
|
||||
|
||||
if (msg.command === 'logOutUser') {
|
||||
logOutUser().then(function () {
|
||||
messageExtension('deletedUserAuthToken');
|
||||
});
|
||||
}
|
||||
if (msg.command === 'loginAndRequestUserInfo') {
|
||||
console.log('Extension got a command to retrieve user info');
|
||||
|
||||
loginUser()
|
||||
.then(askForUserEmail)
|
||||
.then(function(userInfo) {
|
||||
console.log('Background.js received userInfo:');
|
||||
console.log(userInfo);
|
||||
messageExtension({ loginObj: userInfo });
|
||||
});
|
||||
}
|
||||
|
||||
if (msg.command === 'logOutUser') {
|
||||
logOutUser().then(function() {
|
||||
messageExtension('deletedUserAuthToken');
|
||||
});
|
||||
}
|
||||
|
||||
if (msg.command === 'injectCSS') {
|
||||
chrome.tabs.insertCSS(tabThatLoadedOurApp.id, {
|
||||
file: 'style.css',
|
||||
allFrames: true
|
||||
});
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
function loginUser() {
|
||||
return new Promise(function (resolve, reject) {
|
||||
chrome.identity.getAuthToken({ interactive: true }, function (token) {
|
||||
console.log('user was logged in and token is: ');
|
||||
console.log(token);
|
||||
resolve(token);
|
||||
})
|
||||
});
|
||||
return new Promise(function(resolve, reject) {
|
||||
chrome.identity.getAuthToken({ interactive: true }, function(token) {
|
||||
console.log('user was logged in and token is: ');
|
||||
console.log(token);
|
||||
resolve(token);
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
function askForUserEmail() {
|
||||
return new Promise(function (resolve, reject) {
|
||||
chrome.identity.getProfileUserInfo(resolve);
|
||||
});
|
||||
return new Promise(function(resolve, reject) {
|
||||
chrome.identity.getProfileUserInfo(resolve);
|
||||
});
|
||||
}
|
||||
|
||||
function logOutUser() {
|
||||
return new Promise(function (resolve, reject) {
|
||||
loginUser()
|
||||
.then(function (loadedToken) {
|
||||
chrome.identity.removeCachedAuthToken({ token: loadedToken }, resolve);
|
||||
})
|
||||
});
|
||||
return new Promise(function(resolve, reject) {
|
||||
loginUser()
|
||||
.then(function(loadedToken) {
|
||||
chrome.identity.removeCachedAuthToken({ token: loadedToken }, resolve);
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
function messageExtension(messageToSend) {
|
||||
/**
|
||||
* small note: Cannot query tab for currentWindow: true because
|
||||
* opening a new window to approve the app permissions
|
||||
* will prevent this script from finding the right
|
||||
* tab to message with the user info.
|
||||
*/
|
||||
return new Promise(function (resolve, reject) {
|
||||
chrome.tabs.query({ active: true }, function (tabs) {
|
||||
chrome.tabs.sendMessage(tabs[0].id, messageToSend, resolve);
|
||||
});
|
||||
})
|
||||
|
||||
|
||||
}
|
||||
/**
|
||||
* small note: Cannot query tab for currentWindow: true because
|
||||
* opening a new window to approve the app permissions
|
||||
* will prevent this script from finding the right
|
||||
* tab to message with the user info.
|
||||
*/
|
||||
return new Promise(function(resolve, reject) {
|
||||
chrome.tabs.query({ active: true }, function(tabs) {
|
||||
chrome.tabs.sendMessage(tabs[0].id, messageToSend, resolve);
|
||||
});
|
||||
})
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue