Commit Graph

24 Commits

Author SHA1 Message Date
Dan Finlay be74589f49 Fix extension tests 2016-07-25 17:33:22 -07:00
Dan Finlay 913a9e85bd Inject inpage script synchronously
Huge thanks to the Firefox team, for their help on the issue of our long-standing inpage script race condition.

http://stackoverflow.com/questions/38577656/how-can-i-make-a-firefox-add-on-contentscript-inject-and-run-a-script-before-oth

The problem is that we were injecting a `script` tag and assigning its `src` attribute, which triggers an asynchronous fetch request, and does not guarantee execution order! (That was news to me!)

Instead, I'm now assigning the `script` tag a `textContent` value of the script to inject, and it seems to fix the problem!

There is also a Firefox-only API that could solve this whole problem in an even more elegant way, so we might want to expose a code path for that solution later on:

https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Language_Bindings/Components.utils.exportFunction

Allows you to expose an object from one scope to another. There was even talk of creating a polyfill for it that does virtually what we do, message passing between contexts.
2016-07-25 16:38:07 -07:00
Dan Finlay b07bbc14e1 Clean up extension polyfill abstraction 2016-07-25 13:46:33 -07:00
Dan Finlay f3ea891e72 Allow page injection to look for cross-browser APIs appropriately 2016-07-25 13:28:38 -07:00
Dan Finlay 6658bea8d4 Implement some cross-browser practices (#473)
* Add mozilla plugin key to manifest

* Move all chrome references into platform-checking module

Addresses #453

* Add chrome global back to linter blacklist

* Add tests
2016-07-21 10:45:32 -07:00
kumavis 786a283dd2 contentscript - remove timeout before stream setup 2016-07-06 21:45:15 -07:00
kumavis 5c4c902c94 appease the linting gods 2016-07-06 20:32:36 -07:00
kumavis 7aa120e630 web3 injection - use web3 dist for faster injection 2016-07-06 20:20:40 -07:00
kumavis d7d440b2c2 svg notif now work for msg signatures 2016-06-24 17:22:27 -07:00
kumavis fce748c118 contentscript - skip web3 injection if domain appears to be a pdf 2016-06-24 11:21:22 -07:00
Dan Finlay a08c3bc01b Auto linted 2016-06-21 13:18:32 -07:00
kumavis 9aea88da32 multiplex - rename control to autoreload 2016-05-22 18:21:34 -07:00
kumavis aa2816010d inpage - automatic dapp reload 2016-05-05 16:04:43 -07:00
kumavis e949e6b118 contentscript - append inpage as first child 2016-04-18 11:49:06 -07:00
kumavis 066996396f context wiring - handle and log errors 2016-02-10 11:46:13 -08:00
kumavis 7347a66eb0 integrate metamask-ui with id mgmt 2016-01-15 02:03:42 -08:00
kumavis 09644408c2 testing continues 2015-12-20 16:22:18 -08:00
kumavis 72a747165d migrate to ProviderEngine zero-client 2015-12-18 22:05:16 -08:00
kumavis 6bf98c6923 load from storage on start and export unsignedTxs on remote connect 2015-08-01 23:36:03 -07:00
kumavis dcfd89db1b store unconfirmedTxs in chrome sync storage 2015-08-01 22:23:33 -07:00
kumavis fd9871acae builds smoothly + forwards txs to extension 2015-08-01 20:50:29 -07:00
kumavis cc1bb92f9d build overhaul + basic structure 2015-08-01 16:33:31 -07:00
kumavis d352a6c7d8 metamask provider skeleton 2015-07-31 23:05:04 -07:00
kumavis 500a95a704 init commit 2015-07-31 18:38:02 -07:00