{"id":7655,"date":"2016-02-02T13:09:12","date_gmt":"2016-02-02T21:09:12","guid":{"rendered":"http:\/\/blog.mozilla.org\/addons\/?p=7655"},"modified":"2016-03-10T08:59:26","modified_gmt":"2016-03-10T16:59:26","slug":"webextensions-in-firefox-46","status":"publish","type":"post","link":"https:\/\/blog.mozilla.org\/addons\/2016\/02\/02\/webextensions-in-firefox-46\/","title":{"rendered":"WebExtensions in Firefox 46"},"content":{"rendered":"<p>We last<a href=\"https:\/\/blog.mozilla.org\/addons\/2015\/12\/21\/webextensions-in-firefox-45-2\/\" target=\"_blank\"> updated<\/a> you on our progress with<a href=\"https:\/\/wiki.mozilla.org\/WebExtensions\" target=\"_blank\"> WebExtensions<\/a> when Firefox 45 landed in Developer Edition (Aurora), and today we have an update for<a href=\"https:\/\/wiki.mozilla.org\/RapidRelease\/Calendar#Future_branch_dates\" target=\"_blank\"> Firefox 46<\/a>, which landed in Developer Edition last week.<\/p>\n<p>While WebExtensions will remain in an <b>alpha state<\/b> in Firefox 46, we\u2019ve made lots of progress, with <a href=\"https:\/\/bugzilla.mozilla.org\/buglist.cgi?list_id=12815789&amp;chfield=cf_last_resolved&amp;chfieldfrom=2015-12-15&amp;resolution=FIXED&amp;chfieldto=2016-01-26&amp;query_format=advanced&amp;bug_status=RESOLVED&amp;bug_status=VERIFIED&amp;bug_status=CLOSED&amp;component=WebExtensions&amp;product=Toolkit\" target=\"_blank\">40 bugs closed<\/a> since the last update. As of this update, we are still on track for a milestone release in Firefox 48 when it hits Developer Edition. We encourage you to <a href=\"https:\/\/wiki.mozilla.org\/Add-ons\/Contribute#Improve_add-ons_in_Firefox\" target=\"_blank\">get involved<\/a> early with WebExtensions, since this is a great time to participate in its evolution.<\/p>\n<p>A focus of this release was quality. All code in WebExtensions now pass <a href=\"https:\/\/wiki.mozilla.org\/WebExtensions\/Hacking#Checking_your_code_with_ESLint\" target=\"_blank\">eslint<\/a>, and we&#8217;ve fixed a number of issues with intermittent test failures and timeouts. We\u2019ve also introduced new APIs in this release that include:<\/p>\n<ul>\n<li>chrome.notifications.getAll<\/li>\n<li>chrome.runtime.sendMessage<\/li>\n<li>chrome.webRequest.onBeforeRedirect<\/li>\n<li>chrome.tabs.move<\/li>\n<\/ul>\n<h3>Create customizable views<\/h3>\n<p>In addition to the new APIs, support was added for second-level popup views in <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=1217129\" target=\"_blank\">bug 1217129<\/a>, giving WebExtension add-ons the ability to create customizable views.<\/p>\n<p>Check out this example from <a href=\"https:\/\/github.com\/bwinton\/whimsy\/tree\/WebExtensionAPI\" target=\"_blank\">the Whimsy add-on<\/a>:<br \/>\n<a href=\"https:\/\/blog.mozilla.org\/addons\/files\/2016\/02\/browser-action-1217129.gif\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-7663\" src=\"https:\/\/blog.mozilla.org\/addons\/files\/2016\/02\/browser-action-1217129.gif\" alt=\"browser-action-1217129\" width=\"290\" height=\"765\" \/><\/a><\/p>\n<h3>Create an iFrame within a page<\/h3>\n<p>The ability to create an iFrame that is connected to the content script was added in <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=1214658\" target=\"_blank\">bug 1214658<\/a>. This allows you to create an iFrame within a rendered page, which gives WebExtension add-ons the ability to add additional information to a page, such as an <a href=\"https:\/\/github.com\/rpl\/webextensions-examples\/tree\/fx46\/inpage-toolbar-ui\/inpage-toolbar-ui\" target=\"_blank\">in-page toolbar<\/a>:<\/p>\n<p><a href=\"https:\/\/blog.mozilla.org\/addons\/files\/2016\/01\/demo-1214658.gif\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-7657\" src=\"https:\/\/blog.mozilla.org\/addons\/files\/2016\/01\/demo-1214658.gif\" alt=\"demo-1214658\" width=\"963\" height=\"408\" \/><\/a><\/p>\n<p>For additional information on how to use these additions to WebExtensions, (and WebExtensions in general), please check out the examples on <a href=\"https:\/\/developer.mozilla.org\/Add-ons\/WebExtensions\/Examples\" target=\"_blank\">MDN<\/a> or <a href=\"https:\/\/github.com\/mdn\/webextensions-examples\" target=\"_blank\">GitHub<\/a>.<\/p>\n<h3>Upload and sign on addons.mozilla.org (AMO)<\/h3>\n<p>WebExtension add-ons can now be uploaded to and signed on <a href=\"https:\/\/addons.mozilla.org\/\" target=\"_blank\">addons.mozilla.org<\/a> (AMO). This means you can sign WebExtension add-ons for release. Listed WebExtension add-ons can be uploaded to AMO, reviewed, published and distributed to Firefox users just like any other add-on. The use of these add-ons on AMO is still in beta and there are areas we need to improve, so your feedback is appreciated in the <a href=\"https:\/\/discourse.mozilla-community.org\/c\/add-ons\" target=\"_blank\">forum<\/a> or as <a href=\"https:\/\/github.com\/mozilla\/olympia\/issues\/\" target=\"_blank\">bugs<\/a>.<\/p>\n<h3>Get involved<\/h3>\n<p>Over the coming months we will work our way towards a <b>beta<\/b> in<a href=\"https:\/\/wiki.mozilla.org\/RapidRelease\/Calendar#Future_branch_dates\" target=\"_blank\"> Firefox 47<\/a> and the <b>first stable release<\/b> in<a href=\"https:\/\/wiki.mozilla.org\/RapidRelease\/Calendar#Future_branch_dates\" target=\"_blank\"> Firefox 48<\/a>. If you\u2019d like to jump in to help, or get your APIs added, please join us on our<a href=\"https:\/\/mail.mozilla.org\/listinfo\/dev-addons\" target=\"_blank\"> mailing list<\/a> or at one of our <a href=\"https:\/\/wiki.mozilla.org\/WebExtensions#Communication_and_meetings\" target=\"_blank\"> public meetings<\/a>, or check out this <a href=\"https:\/\/wiki.mozilla.org\/Add-ons\/Contribute#Improve_add-ons_in_Firefox\" target=\"_blank\">wiki page<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We last updated you on our progress with WebExtensions when Firefox 45 landed in Developer Edition (Aurora), and today we have an update for Firefox 46, which landed in Developer &hellip; <a class=\"go\" href=\"https:\/\/blog.mozilla.org\/addons\/2016\/02\/02\/webextensions-in-firefox-46\/\">Read more<\/a><\/p>\n","protected":false},"author":271,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[44,121,278886],"tags":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>WebExtensions in Firefox 46 - Mozilla Add-ons Community Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.mozilla.org\/addons\/2016\/02\/02\/webextensions-in-firefox-46\/\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Andy McKay\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.mozilla.org\/addons\/2016\/02\/02\/webextensions-in-firefox-46\/\",\"url\":\"https:\/\/blog.mozilla.org\/addons\/2016\/02\/02\/webextensions-in-firefox-46\/\",\"name\":\"WebExtensions in Firefox 46 - Mozilla Add-ons Community Blog\",\"isPartOf\":{\"@id\":\"https:\/\/blog.mozilla.org\/addons\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/blog.mozilla.org\/addons\/2016\/02\/02\/webextensions-in-firefox-46\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/blog.mozilla.org\/addons\/2016\/02\/02\/webextensions-in-firefox-46\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blog.mozilla.org\/addons\/files\/2016\/02\/browser-action-1217129.gif\",\"datePublished\":\"2016-02-02T21:09:12+00:00\",\"dateModified\":\"2016-03-10T16:59:26+00:00\",\"author\":{\"@id\":\"https:\/\/blog.mozilla.org\/addons\/#\/schema\/person\/7e1881db0e8a23a4a06695f8a0efd6b8\"},\"breadcrumb\":{\"@id\":\"https:\/\/blog.mozilla.org\/addons\/2016\/02\/02\/webextensions-in-firefox-46\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.mozilla.org\/addons\/2016\/02\/02\/webextensions-in-firefox-46\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/blog.mozilla.org\/addons\/2016\/02\/02\/webextensions-in-firefox-46\/#primaryimage\",\"url\":\"https:\/\/blog.mozilla.org\/addons\/files\/2016\/02\/browser-action-1217129.gif\",\"contentUrl\":\"https:\/\/blog.mozilla.org\/addons\/files\/2016\/02\/browser-action-1217129.gif\",\"width\":290,\"height\":765},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.mozilla.org\/addons\/2016\/02\/02\/webextensions-in-firefox-46\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/blog.mozilla.org\/addons\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"WebExtensions in Firefox 46\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.mozilla.org\/addons\/#website\",\"url\":\"https:\/\/blog.mozilla.org\/addons\/\",\"name\":\"Mozilla Add-ons Community Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.mozilla.org\/addons\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/blog.mozilla.org\/addons\/#\/schema\/person\/7e1881db0e8a23a4a06695f8a0efd6b8\",\"name\":\"Andy McKay\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/blog.mozilla.org\/addons\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/ad304e7a7d4f6fba05a81b10810fe6fd?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/ad304e7a7d4f6fba05a81b10810fe6fd?s=96&d=mm&r=g\",\"caption\":\"Andy McKay\"},\"description\":\"Andy is an Engineering Manager at Mozilla. As a Canadian he tweets and blogs about curling, skiing, politics, maple syrup, bears and all things from the great white north.\",\"sameAs\":[\"http:\/\/mckay.pub\",\"https:\/\/x.com\/andymckay\"],\"url\":\"https:\/\/blog.mozilla.org\/addons\/author\/amckaymozilla-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"WebExtensions in Firefox 46 - Mozilla Add-ons Community Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blog.mozilla.org\/addons\/2016\/02\/02\/webextensions-in-firefox-46\/","twitter_misc":{"Written by":"Andy McKay","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/blog.mozilla.org\/addons\/2016\/02\/02\/webextensions-in-firefox-46\/","url":"https:\/\/blog.mozilla.org\/addons\/2016\/02\/02\/webextensions-in-firefox-46\/","name":"WebExtensions in Firefox 46 - Mozilla Add-ons Community Blog","isPartOf":{"@id":"https:\/\/blog.mozilla.org\/addons\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blog.mozilla.org\/addons\/2016\/02\/02\/webextensions-in-firefox-46\/#primaryimage"},"image":{"@id":"https:\/\/blog.mozilla.org\/addons\/2016\/02\/02\/webextensions-in-firefox-46\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.mozilla.org\/addons\/files\/2016\/02\/browser-action-1217129.gif","datePublished":"2016-02-02T21:09:12+00:00","dateModified":"2016-03-10T16:59:26+00:00","author":{"@id":"https:\/\/blog.mozilla.org\/addons\/#\/schema\/person\/7e1881db0e8a23a4a06695f8a0efd6b8"},"breadcrumb":{"@id":"https:\/\/blog.mozilla.org\/addons\/2016\/02\/02\/webextensions-in-firefox-46\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.mozilla.org\/addons\/2016\/02\/02\/webextensions-in-firefox-46\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blog.mozilla.org\/addons\/2016\/02\/02\/webextensions-in-firefox-46\/#primaryimage","url":"https:\/\/blog.mozilla.org\/addons\/files\/2016\/02\/browser-action-1217129.gif","contentUrl":"https:\/\/blog.mozilla.org\/addons\/files\/2016\/02\/browser-action-1217129.gif","width":290,"height":765},{"@type":"BreadcrumbList","@id":"https:\/\/blog.mozilla.org\/addons\/2016\/02\/02\/webextensions-in-firefox-46\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blog.mozilla.org\/addons\/"},{"@type":"ListItem","position":2,"name":"WebExtensions in Firefox 46"}]},{"@type":"WebSite","@id":"https:\/\/blog.mozilla.org\/addons\/#website","url":"https:\/\/blog.mozilla.org\/addons\/","name":"Mozilla Add-ons Community Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.mozilla.org\/addons\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/blog.mozilla.org\/addons\/#\/schema\/person\/7e1881db0e8a23a4a06695f8a0efd6b8","name":"Andy McKay","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blog.mozilla.org\/addons\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/ad304e7a7d4f6fba05a81b10810fe6fd?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ad304e7a7d4f6fba05a81b10810fe6fd?s=96&d=mm&r=g","caption":"Andy McKay"},"description":"Andy is an Engineering Manager at Mozilla. As a Canadian he tweets and blogs about curling, skiing, politics, maple syrup, bears and all things from the great white north.","sameAs":["http:\/\/mckay.pub","https:\/\/x.com\/andymckay"],"url":"https:\/\/blog.mozilla.org\/addons\/author\/amckaymozilla-com\/"}]}},"_links":{"self":[{"href":"https:\/\/blog.mozilla.org\/addons\/wp-json\/wp\/v2\/posts\/7655"}],"collection":[{"href":"https:\/\/blog.mozilla.org\/addons\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.mozilla.org\/addons\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/addons\/wp-json\/wp\/v2\/users\/271"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/addons\/wp-json\/wp\/v2\/comments?post=7655"}],"version-history":[{"count":0,"href":"https:\/\/blog.mozilla.org\/addons\/wp-json\/wp\/v2\/posts\/7655\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.mozilla.org\/addons\/wp-json\/wp\/v2\/media?parent=7655"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mozilla.org\/addons\/wp-json\/wp\/v2\/categories?post=7655"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mozilla.org\/addons\/wp-json\/wp\/v2\/tags?post=7655"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}