Karthickeyan Narasimhan
Lead Software Engineer @ Freshworks
Paris, France | 15th September 2018
Software Developer at Freshworks Technologies Pvt Ltd.
Mozilla Tech Speaker
Mozilla Rep
Follow me @hellokarthic
Browser Add-ons extend and modify the functionality of the browser.
1 Million+ addons downloaded
70+ Add-ons published
250 million+ Add-ons used
2000+ users signup
A cross-browser system for developing browser add-ons
https://developer.mozilla.org
{
"manifest_version": 2,
"name": "Beastify",
"version": "1.0",
"description": "Super awesome Add-on for super awesome people",
"homepage_url": "https://github.com/mdn/webextensions-examples/tree/master/beastify",
"icons": {
"48": "icons/beasts-48.png"
},
"permissions": [
"activeTab"
],
"browser_action": {
"default_icon": "icons/beasts-32.png",
"theme_icons": [{
"light": "icons/beasts-32-light.png",
"dark": "icons/beasts-32.png",
"size": 32
}],
"default_title": "Beastify",
"default_popup": "popup/choose_beast.html"
},
"web_accessible_resources": [
"beasts/frog.jpg",
"beasts/turtle.jpg"
]
}
Privileged Scripts
Background Scripts run independent of of any tabs
Loaded as soon as the extension is loaded
Stay loaded until the extension is disabled or uninstalled
You can use any of the WebExtension APIs in the script
"background": {
"scripts": ["background-script.js"]
}
Similar to loading normal scripts in the page
Can access DOM structure and use a small subset of the WebExtension APIs
Make cross-domain XHR requests
Exchange messages with their background scripts and can in this way indirectly access all the WebExtension APIs
"content_scripts": [
{
"matches": ["*://*.mozilla.org/*"],
"js": ["jquery.js", "content-script.js"]
}
]
browser.browserAction.onClicked.addListener(handleClick);
browser.pageAction.onClicked.addListener(handleClick);
Resources such as images, HTML, CSS, and JavaScript that you include in the extension.
IRC Channels: #webextensions, #extdev, #addons
Mailing List: https://mail.mozilla.org/listinfo/dev-addons
Telegram: @addonschat
Karthickeyan Narasimhan | @hellokarthic | mail@karthic.in
By Karthickeyan Narasimhan
Mozilla TS Meet 2019, Paris, France