diff options
-rw-r--r-- | extension/background.js | 31 | ||||
-rw-r--r-- | extension/manifest.json | 1 |
2 files changed, 32 insertions, 0 deletions
diff --git a/extension/background.js b/extension/background.js new file mode 100644 index 0000000..fa7defb --- /dev/null +++ b/extension/background.js @@ -0,0 +1,31 @@ +var NATIVE_HOST_ID = 'com.teddywing.extreload'; +var port = null; + +port = chrome.runtime.connectNative(NATIVE_HOST_ID); +port.onMessage.addListener(on_native_message); +port.onDisconnect.addListener(on_disconnected); + +function on_native_message(message) { + console.log(message); + + if (message.ids) { + message.ids.forEach(function(id) { + // Disable extension + chrome.management.setEnabled(id, false, function() { + console.log('Disabled', id); + + // Enable extension + chrome.management.setEnabled(id, true, function() { + console.log('Enabled', id); + + // Reload the current tab + chrome.tabs.reload(); + }); + }); + }); + } +} + +function on_disconnected() { + console.warn('Native host disconnected'); +} diff --git a/extension/manifest.json b/extension/manifest.json index 2b6ad1c..8db1261 100644 --- a/extension/manifest.json +++ b/extension/manifest.json @@ -11,6 +11,7 @@ "key": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAr45Ldq/GXNl/vHcN2dN0cbABlF/T/Lx0ebJzV3ubxngxpciEt6VNVAoeBWdncYxIpAUKY2sSq/evBvzgclz+Hg4yc+/+UvVDwMJXvTmw7Y3bB8eFLtUmO+ekuQuRFRHKQGN3UJF8d+wJnVd7aOzAiyswtg3SOEihCY+WBooIjSyck2uJ0XgY6lHNNwDntn2iHg3mro3XSfoCjaC3k63IzORYp10zUhZiQJI+uOUK+pYzvCnXTMg/bhZYz6RIdaPkv7u0PNefxOH1cUHcu9PBx22IiD/FKVj8zMt6erLm7UzUUGdkltST8AF/btBzzdzxVAokjQa80Of94dQN82KnwQIDAQAB", "permissions": [ + "nativeMessaging", "management" ] } |