diff --git a/.gitignore b/.gitignore
index 56d4d8a0..6cc0f8f5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,3 +4,6 @@ Thumbs.db
*.sublime-project
*.sublime-workspace
+
+# Build directory
+dist
diff --git a/README.md b/README.md
index c9e1e432..c35d0d6c 100644
--- a/README.md
+++ b/README.md
@@ -1,12 +1,44 @@
+# WebExtensions notes
+
+## High
+* DON'T FORGET THUNDERBIRD
+* Test the WebExtension. Especially on release Firefox. Publish for prelim review/signing.
+* Show message to Firefox users about switching to new extension. Probably open options tab with huge message at top.
+* Decide on whether to keep using AMO.
+
+
+## Steps (after work done)
+1. Release WebExtension. Get it signed (happens immediately?). Maybe get it preliminarily reviewed.
+2. Release XUL update. Point Firefox users at WebExtension.
+
+## Better steps
+
+This results in a cleaner migration for existing Firefox users.
+
+1. Release webext version with new ID.
+
+2. Modify old version to detect if it's running on Firefox, prompt the user to install the new extension and uninstall the old extension.
+ ```
+ AddonManager.getInstallForURL('https://addons.mozilla.org/firefox/downloads/latest/markdown-here/addon-375281-latest.xpi', function(install) {console.log(arguments); install.install()}, 'application/x-xpinstall');
+
+ AddonManager.getAddonByID('markdown-here@adam.pritchard', function(install) {console.log(arguments); install.uninstall()});
+ ```
+
+3. Coordinate with AMO reviewers to allow the install/uninstall action. (Via IRC?)
+
+
+
+
+
# ![Markdown Here logo](https://raw.github.com/adam-p/markdown-here/master/src/common/images/icon48.png) Markdown Here
-[**Visit the website.**](http://markdown-here.com)
-[**Get it for Chrome.**](https://chrome.google.com/webstore/detail/elifhakcjgalahccnjkneoccemfahfoa)
-[**Get it for Firefox.**](https://addons.mozilla.org/en-US/firefox/addon/markdown-here/)
-[**Get it for Safari.**](https://s3.amazonaws.com/markdown-here/markdown-here.safariextz)
-[**Get it for Thunderbird and Postbox.**](https://addons.mozilla.org/en-US/thunderbird/addon/markdown-here/)
-[**Get it for Opera.**](https://addons.opera.com/en/extensions/details/markdown-here/)
-[**Discuss it and ask questions in the Google Group.**](https://groups.google.com/forum/?fromgroups#!forum/markdown-here/)
+[**Visit the website.**](http://markdown-here.com)
+[**Get it for Chrome.**](https://chrome.google.com/webstore/detail/elifhakcjgalahccnjkneoccemfahfoa)
+[**Get it for Firefox.**](https://addons.mozilla.org/en-US/firefox/addon/markdown-here/)
+[**Get it for Safari.**](https://s3.amazonaws.com/markdown-here/markdown-here.safariextz)
+[**Get it for Thunderbird and Postbox.**](https://addons.mozilla.org/en-US/thunderbird/addon/markdown-here/)
+[**Get it for Opera.**](https://addons.opera.com/en/extensions/details/markdown-here/)
+[**Discuss it and ask questions in the Google Group.**](https://groups.google.com/forum/?fromgroups#!forum/markdown-here/)
*Markdown Here* is a Google Chrome, Firefox, Safari, Opera, and Thunderbird extension that lets you write email† in Markdown‡ and render them before sending. It also supports syntax highlighting (just specify the language in a fenced code block).
@@ -14,19 +46,19 @@ Writing email with code in it is pretty tedious. Writing Markdown with code in i
To discover what can be done with Markdown in *Markdown Here*, check out the [Markdown Here Cheatsheet](https://github.com/adam-p/markdown-here/wiki/Markdown-Here-Cheatsheet) and the other [wiki pages](https://github.com/adam-p/markdown-here/wiki).
-†: And Google Groups posts, and Blogger posts, and Evernote notes, and Wordpress posts! [See more](#compatibility).
+†: And Google Groups posts, and Blogger posts, and Evernote notes, and Wordpress posts! [See more](#compatibility). ‡: And TeX mathematical formulae!
![screenshot of conversion](https://raw.github.com/adam-p/markdown-here/master/store-assets/markdown-here-image1.gimp.png)
### Table of Contents
-**[Installation Instructions](#installation-instructions)**
-**[Usage Instructions](#usage-instructions)**
-**[Troubleshooting](#troubleshooting)**
-**[Compatibility](#compatibility)**
-**[Notes and Miscellaneous](#notes-and-miscellaneous)**
-**[Building the Extension Bundles](#building-the-extension-bundles)**
-**[Next Steps, Credits, Feedback, License](#next-steps)**
+**[Installation Instructions](#installation-instructions)**
+**[Usage Instructions](#usage-instructions)**
+**[Troubleshooting](#troubleshooting)**
+**[Compatibility](#compatibility)**
+**[Notes and Miscellaneous](#notes-and-miscellaneous)**
+**[Building the Extension Bundles](#building-the-extension-bundles)**
+**[Next Steps, Credits, Feedback, License](#next-steps)**
## Installation Instructions
@@ -66,7 +98,7 @@ After installing, make sure to restart Firefox/Thunderbird!
### Safari
-[Download the extension directly.](https://s3.amazonaws.com/markdown-here/markdown-here.safariextz) When it has finished downloading, double click it to install.
+[Download the extension directly.](https://s3.amazonaws.com/markdown-here/markdown-here.safariextz) When it has finished downloading, double click it to install.
#### Preferences
@@ -113,7 +145,7 @@ In Gmail, you can also use the browser's Undo command (CTRL+Z
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/chrome/backgroundscript.js b/src/chrome/backgroundscript.js
index 21b2af58..9c1c4372 100644
--- a/src/chrome/backgroundscript.js
+++ b/src/chrome/backgroundscript.js
@@ -1,5 +1,5 @@
/*
- * Copyright Adam Pritchard 2013
+ * Copyright Adam Pritchard 2016
* MIT License : http://adampritchard.mit-license.org/
*/
@@ -25,23 +25,23 @@ window.addEventListener('load', Utils.nextTickFn(onLoad), false);
function upgradeCheck() {
OptionsStore.get(function(options) {
- var appDetails = chrome.app.getDetails();
+ var appManifest = chrome.runtime.getManifest();
var optionsURL = '/common/options.html';
if (typeof(options['last-version']) === 'undefined') {
// Update our last version. Only when the update is complete will we take
// the next action, to make sure it doesn't happen every time we start up.
- OptionsStore.set({ 'last-version': appDetails.version }, function() {
+ OptionsStore.set({ 'last-version': appManifest.version }, function() {
// This is the very first time the extensions has been run, so show the
// options page.
chrome.tabs.create({ url: chrome.extension.getURL(optionsURL) });
});
}
- else if (options['last-version'] !== appDetails.version) {
+ else if (options['last-version'] !== appManifest.version) {
// Update our last version. Only when the update is complete will we take
// the next action, to make sure it doesn't happen every time we start up.
- OptionsStore.set({ 'last-version': appDetails.version }, function() {
+ OptionsStore.set({ 'last-version': appManifest.version }, function() {
// The extension has been newly updated
optionsURL += '?prevVer=' + options['last-version'];
@@ -54,7 +54,7 @@ function upgradeCheck() {
// Create the context menu that will signal our main code.
chrome.contextMenus.create({
contexts: ['editable'],
- title: Utils.getMessage('context_menu_item_with_shortcut'),
+ title: Utils.getMessage('context_menu_item'),
onclick: function(info, tab) {
chrome.tabs.sendMessage(tab.id, {action: 'context-click'});
}
@@ -62,7 +62,7 @@ chrome.contextMenus.create({
// Handle rendering requests from the content script.
// See the comment in markdown-render.js for why we do this.
-chrome.extension.onMessage.addListener(function(request, sender, responseCallback) {
+chrome.runtime.onMessage.addListener(function(request, sender, responseCallback) {
// The content script can load in a not-real tab (like the search box), which
// has an invalid `sender.tab` value. We should just ignore these pages.
if (typeof(sender.tab) === 'undefined' ||
@@ -95,8 +95,11 @@ chrome.extension.onMessage.addListener(function(request, sender, responseCallbac
tabId: sender.tab.id });
chrome.browserAction.setIcon({
path: {
- 19: Utils.getLocalURL('/common/images/icon19-button-monochrome.png'),
- 38: Utils.getLocalURL('/common/images/icon38-button-monochrome.png')
+ "16": Utils.getLocalURL('/common/images/icon16-button-monochrome.png'),
+ "19": Utils.getLocalURL('/common/images/icon19-button-monochrome.png'),
+ "32": Utils.getLocalURL('/common/images/icon32-button-monochrome.png'),
+ "38": Utils.getLocalURL('/common/images/icon38-button-monochrome.png'),
+ "64": Utils.getLocalURL('/common/images/icon64-button-monochrome.png')
},
tabId: sender.tab.id });
return false;
@@ -108,8 +111,11 @@ chrome.extension.onMessage.addListener(function(request, sender, responseCallbac
tabId: sender.tab.id });
chrome.browserAction.setIcon({
path: {
- 19: Utils.getLocalURL('/common/images/icon19-button-disabled.png'),
- 38: Utils.getLocalURL('/common/images/icon38-button-disabled.png')
+ "16": Utils.getLocalURL('/common/images/icon16-button-disabled.png'),
+ "19": Utils.getLocalURL('/common/images/icon19-button-disabled.png'),
+ "32": Utils.getLocalURL('/common/images/icon32-button-disabled.png'),
+ "38": Utils.getLocalURL('/common/images/icon38-button-disabled.png'),
+ "64": Utils.getLocalURL('/common/images/icon64-button-disabled.png')
},
tabId: sender.tab.id });
return false;
diff --git a/src/chrome/contentscript.js b/src/chrome/contentscript.js
index 6c74c8b4..0924b233 100644
--- a/src/chrome/contentscript.js
+++ b/src/chrome/contentscript.js
@@ -61,7 +61,7 @@ function requestHandler(request, sender, sendResponse) {
return false;
}
}
-chrome.extension.onMessage.addListener(requestHandler);
+chrome.runtime.onMessage.addListener(requestHandler);
// The rendering service provided to the content script.
diff --git a/src/common/CHANGES.md b/src/common/CHANGES.md
index e1ba3831..2e988c28 100644
--- a/src/common/CHANGES.md
+++ b/src/common/CHANGES.md
@@ -1,12 +1,21 @@
Change Log
==========
-2017-xx-yy: v2.13.0
+2017-05-26: v2.13.1
--------------------
-* [Fixed bug # 369](https://github.com/adam-p/markdown-here/issues/369): Clicking Markdown Here's "Options" button in Firefox and Thunderbird (version 48+) causes the client application to hang.
+* Converted the **Firefox** version of Markdown Here to use the WebExtensions API. This makes MDH compatible with Firefox's new **multiprocess** architecture (aka **Electrolysis**). If you have an older version of MDH installed in Firefox, there will soon be a new release of that version which prompts you to install the new WebExtensions version.
+ - The upgrade for existing Firefox users is a little rocky because the XUL version needs to continue to exist for Thunderbird (and Postbox) users. So the WebExtensions version has to fork.
+ - The Firefox and Chrome code bases are now almost identical, so that's good.
+
+* [Fixed bug# 369](https://github.com/adam-p/markdown-here/issues/369): Clicking Markdown Here's "Options" button in Firefox and Thunderbird (version 48+) causes the client application to hang. (Note that this only applies to the XUL version of the extension.)
- Thanks to [Sam Estep](https://github.com/samestep), [r2evans](https://github.com/r2evans), [happyconfident](https://github.com/happyconfident), [Juan Salvador Aleixandre](https://github.com/juaalta), [haililihai](https://github.com/haililihai), [Shi Liang](https://github.com/shiliang-hust), [jjroper](https://github.com/jjroper), [Linxzh](https://github.com/l0o0).
+* Updated jQuery to 3.2.1. This was required to pass Mozilla review.
+
+* Wondering why there hasn't been a release in a while? My son was born a month after the last release. This is not a coincidence. You guys, having a kid is a lot of work.
+
+
2015-09-07: v2.12.0
--------------------
diff --git a/src/common/images/icon1024-monochrome.png b/src/common/images/icon1024-monochrome.png
index 9bf3318e..faf31126 100644
Binary files a/src/common/images/icon1024-monochrome.png and b/src/common/images/icon1024-monochrome.png differ
diff --git a/src/common/images/icon1024.png b/src/common/images/icon1024.png
index fb113328..ffe52572 100644
Binary files a/src/common/images/icon1024.png and b/src/common/images/icon1024.png differ
diff --git a/src/common/images/icon12-button-disabled.png b/src/common/images/icon12-button-disabled.png
index 0952fae4..b7404ff5 100644
Binary files a/src/common/images/icon12-button-disabled.png and b/src/common/images/icon12-button-disabled.png differ
diff --git a/src/common/images/icon12-button-monochrome.png b/src/common/images/icon12-button-monochrome.png
index da0d15f8..959f26ef 100644
Binary files a/src/common/images/icon12-button-monochrome.png and b/src/common/images/icon12-button-monochrome.png differ
diff --git a/src/common/images/icon12-button.png b/src/common/images/icon12-button.png
index f9668e6f..8a452c9d 100644
Binary files a/src/common/images/icon12-button.png and b/src/common/images/icon12-button.png differ
diff --git a/src/common/images/icon12-monochrome.png b/src/common/images/icon12-monochrome.png
index 5b2af23b..43d6b3ae 100644
Binary files a/src/common/images/icon12-monochrome.png and b/src/common/images/icon12-monochrome.png differ
diff --git a/src/common/images/icon12.png b/src/common/images/icon12.png
index 298069c0..0861f1a9 100644
Binary files a/src/common/images/icon12.png and b/src/common/images/icon12.png differ
diff --git a/src/common/images/icon128-monochrome.png b/src/common/images/icon128-monochrome.png
index c30b9e78..0a67f44b 100644
Binary files a/src/common/images/icon128-monochrome.png and b/src/common/images/icon128-monochrome.png differ
diff --git a/src/common/images/icon128.png b/src/common/images/icon128.png
index a4aec188..b77d8948 100644
Binary files a/src/common/images/icon128.png and b/src/common/images/icon128.png differ
diff --git a/src/common/images/icon14-button-disabled.png b/src/common/images/icon14-button-disabled.png
index 8ae1eeab..d7b866f8 100644
Binary files a/src/common/images/icon14-button-disabled.png and b/src/common/images/icon14-button-disabled.png differ
diff --git a/src/common/images/icon14-button-monochrome.png b/src/common/images/icon14-button-monochrome.png
index 38eff409..bbc38df3 100644
Binary files a/src/common/images/icon14-button-monochrome.png and b/src/common/images/icon14-button-monochrome.png differ
diff --git a/src/common/images/icon14-button.png b/src/common/images/icon14-button.png
index e0cd582b..9eff4a31 100644
Binary files a/src/common/images/icon14-button.png and b/src/common/images/icon14-button.png differ
diff --git a/src/common/images/icon14-monochrome.png b/src/common/images/icon14-monochrome.png
index dd54566a..fbd6955c 100644
Binary files a/src/common/images/icon14-monochrome.png and b/src/common/images/icon14-monochrome.png differ
diff --git a/src/common/images/icon14.png b/src/common/images/icon14.png
index 521950fd..f0ca0080 100644
Binary files a/src/common/images/icon14.png and b/src/common/images/icon14.png differ
diff --git a/src/common/images/icon16-button-disabled.png b/src/common/images/icon16-button-disabled.png
index e96ebafa..4a4715c2 100644
Binary files a/src/common/images/icon16-button-disabled.png and b/src/common/images/icon16-button-disabled.png differ
diff --git a/src/common/images/icon16-button-monochrome.png b/src/common/images/icon16-button-monochrome.png
index e871442e..77ee6ad9 100644
Binary files a/src/common/images/icon16-button-monochrome.png and b/src/common/images/icon16-button-monochrome.png differ
diff --git a/src/common/images/icon16-button.png b/src/common/images/icon16-button.png
index 6c27f562..f83fde11 100644
Binary files a/src/common/images/icon16-button.png and b/src/common/images/icon16-button.png differ
diff --git a/src/common/images/icon16-monochrome.png b/src/common/images/icon16-monochrome.png
index a86e4425..ca451735 100644
Binary files a/src/common/images/icon16-monochrome.png and b/src/common/images/icon16-monochrome.png differ
diff --git a/src/common/images/icon16.png b/src/common/images/icon16.png
index 01353114..b9f17cce 100644
Binary files a/src/common/images/icon16.png and b/src/common/images/icon16.png differ
diff --git a/src/common/images/icon19-button-disabled.png b/src/common/images/icon19-button-disabled.png
index 9d55b6c4..0bdec533 100644
Binary files a/src/common/images/icon19-button-disabled.png and b/src/common/images/icon19-button-disabled.png differ
diff --git a/src/common/images/icon19-button-monochrome.png b/src/common/images/icon19-button-monochrome.png
index 01e8993f..35921ac5 100644
Binary files a/src/common/images/icon19-button-monochrome.png and b/src/common/images/icon19-button-monochrome.png differ
diff --git a/src/common/images/icon19-button.png b/src/common/images/icon19-button.png
index 4a2df77a..945fd74d 100644
Binary files a/src/common/images/icon19-button.png and b/src/common/images/icon19-button.png differ
diff --git a/src/common/images/icon19-monochrome.png b/src/common/images/icon19-monochrome.png
index 7e9b7c85..2232ea6b 100644
Binary files a/src/common/images/icon19-monochrome.png and b/src/common/images/icon19-monochrome.png differ
diff --git a/src/common/images/icon19.png b/src/common/images/icon19.png
index 0d6de692..7d43a65f 100644
Binary files a/src/common/images/icon19.png and b/src/common/images/icon19.png differ
diff --git a/src/common/images/icon24-button-disabled.png b/src/common/images/icon24-button-disabled.png
index 772fad35..7080f800 100644
Binary files a/src/common/images/icon24-button-disabled.png and b/src/common/images/icon24-button-disabled.png differ
diff --git a/src/common/images/icon24-button-monochrome.png b/src/common/images/icon24-button-monochrome.png
index 47697a5f..bd85b50f 100644
Binary files a/src/common/images/icon24-button-monochrome.png and b/src/common/images/icon24-button-monochrome.png differ
diff --git a/src/common/images/icon24-button.png b/src/common/images/icon24-button.png
index d8cc0787..b4a2709b 100644
Binary files a/src/common/images/icon24-button.png and b/src/common/images/icon24-button.png differ
diff --git a/src/common/images/icon24-monochrome.png b/src/common/images/icon24-monochrome.png
index d1e6edd6..d85d0c03 100644
Binary files a/src/common/images/icon24-monochrome.png and b/src/common/images/icon24-monochrome.png differ
diff --git a/src/common/images/icon24.png b/src/common/images/icon24.png
index f6042729..3f5b2526 100644
Binary files a/src/common/images/icon24.png and b/src/common/images/icon24.png differ
diff --git a/src/common/images/icon256-monochrome.png b/src/common/images/icon256-monochrome.png
index 20bd7b17..8be27d3f 100644
Binary files a/src/common/images/icon256-monochrome.png and b/src/common/images/icon256-monochrome.png differ
diff --git a/src/common/images/icon256.png b/src/common/images/icon256.png
index 321ce68c..5fc4af7b 100644
Binary files a/src/common/images/icon256.png and b/src/common/images/icon256.png differ
diff --git a/src/common/images/icon28-button-disabled.png b/src/common/images/icon28-button-disabled.png
index 17923cc5..c37cdd4a 100644
Binary files a/src/common/images/icon28-button-disabled.png and b/src/common/images/icon28-button-disabled.png differ
diff --git a/src/common/images/icon28-button-monochrome.png b/src/common/images/icon28-button-monochrome.png
index e6a1044b..5c9c2ad9 100644
Binary files a/src/common/images/icon28-button-monochrome.png and b/src/common/images/icon28-button-monochrome.png differ
diff --git a/src/common/images/icon28-button.png b/src/common/images/icon28-button.png
index 8a19279d..e23567d8 100644
Binary files a/src/common/images/icon28-button.png and b/src/common/images/icon28-button.png differ
diff --git a/src/common/images/icon28-monochrome.png b/src/common/images/icon28-monochrome.png
index f867c35b..ab20f0f1 100644
Binary files a/src/common/images/icon28-monochrome.png and b/src/common/images/icon28-monochrome.png differ
diff --git a/src/common/images/icon28.png b/src/common/images/icon28.png
index 0d8b66aa..09cba41e 100644
Binary files a/src/common/images/icon28.png and b/src/common/images/icon28.png differ
diff --git a/src/common/images/icon32-button-disabled.png b/src/common/images/icon32-button-disabled.png
index 9e207685..bb63f89d 100644
Binary files a/src/common/images/icon32-button-disabled.png and b/src/common/images/icon32-button-disabled.png differ
diff --git a/src/common/images/icon32-button-monochrome.png b/src/common/images/icon32-button-monochrome.png
index 3b46b752..d008ba33 100644
Binary files a/src/common/images/icon32-button-monochrome.png and b/src/common/images/icon32-button-monochrome.png differ
diff --git a/src/common/images/icon32-button.png b/src/common/images/icon32-button.png
index c530241f..0b0e0f36 100644
Binary files a/src/common/images/icon32-button.png and b/src/common/images/icon32-button.png differ
diff --git a/src/common/images/icon32-monochrome.png b/src/common/images/icon32-monochrome.png
index 12857b39..47f4fc88 100644
Binary files a/src/common/images/icon32-monochrome.png and b/src/common/images/icon32-monochrome.png differ
diff --git a/src/common/images/icon32.png b/src/common/images/icon32.png
index 3457dbb5..2c8eb315 100644
Binary files a/src/common/images/icon32.png and b/src/common/images/icon32.png differ
diff --git a/src/common/images/icon38-button-disabled.png b/src/common/images/icon38-button-disabled.png
index b3633818..cd9af793 100644
Binary files a/src/common/images/icon38-button-disabled.png and b/src/common/images/icon38-button-disabled.png differ
diff --git a/src/common/images/icon38-button-monochrome.png b/src/common/images/icon38-button-monochrome.png
index 09d97ab3..87aa059f 100644
Binary files a/src/common/images/icon38-button-monochrome.png and b/src/common/images/icon38-button-monochrome.png differ
diff --git a/src/common/images/icon38-button.png b/src/common/images/icon38-button.png
index e6fa0c68..3c94b400 100644
Binary files a/src/common/images/icon38-button.png and b/src/common/images/icon38-button.png differ
diff --git a/src/common/images/icon38-monochrome.png b/src/common/images/icon38-monochrome.png
index 25f08baa..ffe778b8 100644
Binary files a/src/common/images/icon38-monochrome.png and b/src/common/images/icon38-monochrome.png differ
diff --git a/src/common/images/icon38.png b/src/common/images/icon38.png
index 59461b80..13263eeb 100644
Binary files a/src/common/images/icon38.png and b/src/common/images/icon38.png differ
diff --git a/src/common/images/icon48-button-disabled.png b/src/common/images/icon48-button-disabled.png
index 7a412e8e..6eec788c 100644
Binary files a/src/common/images/icon48-button-disabled.png and b/src/common/images/icon48-button-disabled.png differ
diff --git a/src/common/images/icon48-button-monochrome.png b/src/common/images/icon48-button-monochrome.png
index 8f9a7014..6b899139 100644
Binary files a/src/common/images/icon48-button-monochrome.png and b/src/common/images/icon48-button-monochrome.png differ
diff --git a/src/common/images/icon48-button.png b/src/common/images/icon48-button.png
index 6e98785c..a422d3c1 100644
Binary files a/src/common/images/icon48-button.png and b/src/common/images/icon48-button.png differ
diff --git a/src/common/images/icon48-monochrome.png b/src/common/images/icon48-monochrome.png
index 9cc59a19..a7703802 100644
Binary files a/src/common/images/icon48-monochrome.png and b/src/common/images/icon48-monochrome.png differ
diff --git a/src/common/images/icon48.png b/src/common/images/icon48.png
index 8d15796d..9f8d934a 100644
Binary files a/src/common/images/icon48.png and b/src/common/images/icon48.png differ
diff --git a/src/common/images/icon512-monochrome.png b/src/common/images/icon512-monochrome.png
index bc84b8fa..0ff34904 100644
Binary files a/src/common/images/icon512-monochrome.png and b/src/common/images/icon512-monochrome.png differ
diff --git a/src/common/images/icon512.png b/src/common/images/icon512.png
index cb0c9ac6..73b49909 100644
Binary files a/src/common/images/icon512.png and b/src/common/images/icon512.png differ
diff --git a/src/common/images/icon64-button-disabled.png b/src/common/images/icon64-button-disabled.png
new file mode 100644
index 00000000..212ab1f0
Binary files /dev/null and b/src/common/images/icon64-button-disabled.png differ
diff --git a/src/common/images/icon64-button-monochrome.png b/src/common/images/icon64-button-monochrome.png
new file mode 100644
index 00000000..986e628a
Binary files /dev/null and b/src/common/images/icon64-button-monochrome.png differ
diff --git a/src/common/images/icon64-button.png b/src/common/images/icon64-button.png
new file mode 100644
index 00000000..689a14bb
Binary files /dev/null and b/src/common/images/icon64-button.png differ
diff --git a/src/common/images/icon64-monochrome.png b/src/common/images/icon64-monochrome.png
index c513302c..f3d2f258 100644
Binary files a/src/common/images/icon64-monochrome.png and b/src/common/images/icon64-monochrome.png differ
diff --git a/src/common/images/icon64.png b/src/common/images/icon64.png
index 87459d75..d2d53fbf 100644
Binary files a/src/common/images/icon64.png and b/src/common/images/icon64.png differ
diff --git a/src/common/images/icon76-monochrome.png b/src/common/images/icon76-monochrome.png
index 2f66faa5..43bba0ec 100644
Binary files a/src/common/images/icon76-monochrome.png and b/src/common/images/icon76-monochrome.png differ
diff --git a/src/common/images/icon76.png b/src/common/images/icon76.png
index caf63ed8..bd16b429 100644
Binary files a/src/common/images/icon76.png and b/src/common/images/icon76.png differ
diff --git a/src/common/images/icon96-monochrome.png b/src/common/images/icon96-monochrome.png
index df1d38f4..e3d775a2 100644
Binary files a/src/common/images/icon96-monochrome.png and b/src/common/images/icon96-monochrome.png differ
diff --git a/src/common/images/icon96.png b/src/common/images/icon96.png
index c0bd99d9..132028e5 100644
Binary files a/src/common/images/icon96.png and b/src/common/images/icon96.png differ
diff --git a/src/common/images/markdown-here-disabled.svg b/src/common/images/markdown-here-disabled.svg
new file mode 100644
index 00000000..2d697af2
--- /dev/null
+++ b/src/common/images/markdown-here-disabled.svg
@@ -0,0 +1,9 @@
+
+
+
diff --git a/src/common/images/markdown-here-monochrome.svg b/src/common/images/markdown-here-monochrome.svg
new file mode 100644
index 00000000..1d1babda
--- /dev/null
+++ b/src/common/images/markdown-here-monochrome.svg
@@ -0,0 +1,9 @@
+
+
+
diff --git a/src/common/images/markdown-here-normal.svg b/src/common/images/markdown-here-normal.svg
new file mode 100644
index 00000000..4e748756
--- /dev/null
+++ b/src/common/images/markdown-here-normal.svg
@@ -0,0 +1,9 @@
+
+
+
diff --git a/src/common/markdown-here.js b/src/common/markdown-here.js
index 79d6e018..d802bb60 100644
--- a/src/common/markdown-here.js
+++ b/src/common/markdown-here.js
@@ -114,7 +114,7 @@ function getOperationalRange(focusedElem) {
range = selection.getRangeAt(0);
- /*? if(platform!=='mozilla'){ */
+ /*? if(platform==='safari' || platform==='chrome'){ */
// We're going to work around some weird OSX+Chrome/Safari behaviour where if you
// right-click on a word it gets selected, which then causes us to render just
// that one word and look dumb and be wrong.
diff --git a/src/common/options-iframe.html b/src/common/options-iframe.html
index 48f78dd9..df0b0591 100644
--- a/src/common/options-iframe.html
+++ b/src/common/options-iframe.html
@@ -17,7 +17,7 @@
-
+