Extension Factory

All extensions. All browsers. All free.

Chrome to Firefox
Chrome to Safari

Convert your Chrome extension into a Firefox or Safari one!

This service converts Chrome Apps and Extensions to a Firefox and Safari version. This is a beta test and we offer it with no guarantees.

If you are interested in distributing a converted extension, have a problem with a converted extension, if you want to provide feedback or have any question

This service is in a beta trial and we offer it with no guarantees as a test phase before we integrate it to the Extension Factory services.

Conversion completed:

FaWave

FaWave, is a Chrome extension supporting multiple microblogging, which can make all microblogs synchronously updating, work seamlessly across multiple microblogs when you switch between them. Feedback to @QLeelulu .

Version: 2012.10.24.0

Compatibility check

firefox
  • We did not detect any api incompatibility
safari
  • log: "chrome.extension.getBackgroundPage" destop_alert.html:7
    var bg = chrome.extension.getBackgroundPage();
  • log: "Notification" destop_alert.html:9
    data = bg.NotificationsManager.getShowHtml(h[1]);
  • log: "Notification" scripts/background.js:59
    var insert_success=false;if(popupView){if(!popupView.addTimelineMsgs(sinaMsgs,t,user_uniqueKey,isFirstTime)){setUnreadTimelineCount(_unreadCount,t,user_uniqueKey);popupView.updateDockUserUnreadCount(user_uniqueKey);}else{insert_success=true;if(getUser().uniqueKey===user_uniqueKey){popupView._showMsg(_u.i18n("msg_has_new_tweet"));}else{setUnreadTimelineCount(_unreadCount,t,user_uniqueKey);popupView.updateDockUserUnreadCount(user_uniqueKey);}}}else{setUnreadTimelineCount(_unreadCount,t,user_uniqueKey);showNewMsg(sinaMsgs,t,c_user);if(_unreadCount>0){NotificationsManager.show(c_user,t);playSound(t);}}
  • log: "Notification" scripts/background.js:97
    var NotificationsManager={tp:'<script> uniqueKey = "{{user.uniqueKey}}"; Timeout = {{timeout}};</script>'+'<div class="item">'+'<div class="usericon"><img src="{{user.profile_image_url}}" class="face"/><img src="images/blogs/{{user.blogType}}_16.png" class="blogType"/></div>'+'<div class="info"><span class="username">{{user.screen_name}}</span><br/>'+'<span class="unreads">'+'<span id="unr_friends_timeline"><span>{{unreads.friends_timeline}}</span>'+
  • log: "Notification" scripts/background.js:100
    _u.i18n("abb_direct_message")+'</span> '+'</span>'+'</div>'+'</div>'+'<script> removeHighlight(); TIME_LINE = "{{t}}"; highlightTimeline();</script>',cache:{},isEnabled:function(t){return getAlertMode()!=='dnd'&&Settings.get().isDesktopNotifications[t];},show:function(account,t){if(!this.isEnabled(t)){return;}
  • log: "webkitNotification" scripts/background.js:103
    if(!_nf){account.timelines=[t];this.cache[account.uniqueKey]=account;var ntf=webkitNotifications.createHTMLNotification('/destop_alert.html'+'#'+account.uniqueKey);ntf.show();}},getShowHtml:function(uniqueKey){var account=this.cache[uniqueKey];var unreads={};unreads.friends_timeline=getUnreadTimelineCount('friends_timeline',account.uniqueKey);unreads.mentions=getUnreadTimelineCount('mentions',account.uniqueKey);unreads.comments_mentions=getUnreadTimelineCount('comments_mentions',account.uniqueKey);unreads.comments_timeline=getUnreadTimelineCount('comments_timeline',account.uniqueKey);unreads.direct_messages=getUnreadTimelineCount('direct_messages',account.uniqueKey);account.unreads=unreads;var timeout=Settings.get().desktopNotificationsTimeout;var data=this.tp.format({user:account,unreads:unreads,t:account.timelines.join(','),timeout:timeout});delete this.cache[uniqueKey];return data;}};function refreshAccessToken(uniqueKey){var user=getUserByUniqueKey(uniqueKey,'all');if(!user){return;}
  • log: "Notification" scripts/background.js:103
    if(!_nf){account.timelines=[t];this.cache[account.uniqueKey]=account;var ntf=webkitNotifications.createHTMLNotification('/destop_alert.html'+'#'+account.uniqueKey);ntf.show();}},getShowHtml:function(uniqueKey){var account=this.cache[uniqueKey];var unreads={};unreads.friends_timeline=getUnreadTimelineCount('friends_timeline',account.uniqueKey);unreads.mentions=getUnreadTimelineCount('mentions',account.uniqueKey);unreads.comments_mentions=getUnreadTimelineCount('comments_mentions',account.uniqueKey);unreads.comments_timeline=getUnreadTimelineCount('comments_timeline',account.uniqueKey);unreads.direct_messages=getUnreadTimelineCount('direct_messages',account.uniqueKey);account.unreads=unreads;var timeout=Settings.get().desktopNotificationsTimeout;var data=this.tp.format({user:account,unreads:unreads,t:account.timelines.join(','),timeout:timeout});delete this.cache[uniqueKey];return data;}};function refreshAccessToken(uniqueKey){var user=getUserByUniqueKey(uniqueKey,'all');if(!user){return;}
  • log: "Notification" scripts/background.js:103
    if(!_nf){account.timelines=[t];this.cache[account.uniqueKey]=account;var ntf=webkitNotifications.createHTMLNotification('/destop_alert.html'+'#'+account.uniqueKey);ntf.show();}},getShowHtml:function(uniqueKey){var account=this.cache[uniqueKey];var unreads={};unreads.friends_timeline=getUnreadTimelineCount('friends_timeline',account.uniqueKey);unreads.mentions=getUnreadTimelineCount('mentions',account.uniqueKey);unreads.comments_mentions=getUnreadTimelineCount('comments_mentions',account.uniqueKey);unreads.comments_timeline=getUnreadTimelineCount('comments_timeline',account.uniqueKey);unreads.direct_messages=getUnreadTimelineCount('direct_messages',account.uniqueKey);account.unreads=unreads;var timeout=Settings.get().desktopNotificationsTimeout;var data=this.tp.format({user:account,unreads:unreads,t:account.timelines.join(','),timeout:timeout});delete this.cache[uniqueKey];return data;}};function refreshAccessToken(uniqueKey){var user=getUserByUniqueKey(uniqueKey,'all');if(!user){return;}
  • log: "Notification" scripts/options.js:656
    $("#destop_alert_" + T_LIST.all[i]).attr("checked", settings.isDesktopNotifications[T_LIST.all[i]]);
  • log: "Notification" scripts/options.js:658
    $("#inpDesktopNotificationsTimeout").val(settings.desktopNotificationsTimeout);
  • log: "Notification" scripts/options.js:658
    $("#inpDesktopNotificationsTimeout").val(settings.desktopNotificationsTimeout);
  • log: "Notification" scripts/options.js:1188
    settings.isDesktopNotifications[$this.attr('id').replace('destop_alert_','')] = ($this.attr("checked") ? true : false);
  • log: "Notification" scripts/options.js:1190
    var nfTimeout = $("#inpDesktopNotificationsTimeout").val();
  • log: "Notification" scripts/options.js:1195
    settings.desktopNotificationsTimeout = nfTimeout;
  • log: "Notification" scripts/utili.js:13
    var Settings={defaults:{twitterEnabled:true,t_taobaoEnabled:false,globalRefreshTime:{friends_timeline:90,mentions:120,comments_mentions:120,comments_timeline:120,direct_messages:120},isSetBadgeText:{friends_timeline:true,mentions:true,comments_mentions:true,comments_timeline:true,direct_messages:true},isShowInPage:{friends_timeline:false,mentions:false,comments_mentions:true,comments_timeline:true,direct_messages:true},isEnabledSound:{friends_timeline:false,mentions:false,comments_mentions:false,comments_timeline:false,direct_messages:false},soundSrc:'/sound/d.mp3',isDesktopNotifications:{friends_timeline:false,mentions:false,comments_mentions:false,comments_timeline:false,direct_messages:false},desktopNotificationsTimeout:5,isSyncReadedCount:true,isSharedUrlAutoShort:true,sharedUrlAutoShortWordCount:15,quickSendHotKey:'113',isSmoothScroller:false,smoothTweenType:'Quad',smoothSeaeType:'easeOut',sendAccountsDefaultSelected:'current',enableContextmenu:true,font:'Arial',fontSite:12,popupWidth:550,popupHeight:550,theme:'pip_io',translate_target:'zh',shorten_url_service:'t.cn',image_service:'Imgur',enable_image_service:true,isGeoEnabled:false,isGeoEnabledUseIP:false,geoPosition:null,sent_success_auto_close:true,remember_view_status:true,default_language:null,__allow_select_all:true,show_network_error:true,lookingTemplate:'{{title}} {{url}} '},init:function(){var _sets=localStorage.getObject(SETTINGS_KEY);_sets=_sets||{};if(_sets.shorten_url_service&&!ShortenUrl.services[_sets.shorten_url_service]){delete _sets.shorten_url_service;}
  • log: "Notification" scripts/utili.js:13
    var Settings={defaults:{twitterEnabled:true,t_taobaoEnabled:false,globalRefreshTime:{friends_timeline:90,mentions:120,comments_mentions:120,comments_timeline:120,direct_messages:120},isSetBadgeText:{friends_timeline:true,mentions:true,comments_mentions:true,comments_timeline:true,direct_messages:true},isShowInPage:{friends_timeline:false,mentions:false,comments_mentions:true,comments_timeline:true,direct_messages:true},isEnabledSound:{friends_timeline:false,mentions:false,comments_mentions:false,comments_timeline:false,direct_messages:false},soundSrc:'/sound/d.mp3',isDesktopNotifications:{friends_timeline:false,mentions:false,comments_mentions:false,comments_timeline:false,direct_messages:false},desktopNotificationsTimeout:5,isSyncReadedCount:true,isSharedUrlAutoShort:true,sharedUrlAutoShortWordCount:15,quickSendHotKey:'113',isSmoothScroller:false,smoothTweenType:'Quad',smoothSeaeType:'easeOut',sendAccountsDefaultSelected:'current',enableContextmenu:true,font:'Arial',fontSite:12,popupWidth:550,popupHeight:550,theme:'pip_io',translate_target:'zh',shorten_url_service:'t.cn',image_service:'Imgur',enable_image_service:true,isGeoEnabled:false,isGeoEnabledUseIP:false,geoPosition:null,sent_success_auto_close:true,remember_view_status:true,default_language:null,__allow_select_all:true,show_network_error:true,lookingTemplate:'{{title}} {{url}} '},init:function(){var _sets=localStorage.getObject(SETTINGS_KEY);_sets=_sets||{};if(_sets.shorten_url_service&&!ShortenUrl.services[_sets.shorten_url_service]){delete _sets.shorten_url_service;}
  • log: "chrome.extension.getBackgroundPage" scripts/utili.js:63
    var _bg_view=null;function getBackgroundView(){if(!_bg_view){_bg_view=chrome.extension.getBackgroundPage();if(!_bg_view){var views=chrome.extension.getViews({});for(var i=0,l=views.length;i<l;i++){var view=views[i];if(view.theViewName&&view.theViewName==='background'){_bg_view=view;break;}}}}