firefox 29 supports promises