Category: Browser Plugin Development

Building a firefox plugin – part four

July 4, 2011 28 Comments by Richard

The traffic going to my “Building a firefox plugin” series over the last year or two has been incredible. Granted, I knew that the other documenation was poor, but in recent times I have encountered links to my previous posts in all sorts of strange places — even in the comments in a project I […]

Read More »

FireBreath Tips: Asynchronous Javascript Calls

December 1, 2010 8 Comments by Richard

Never block a Javascript call! One cardinal rule of browser plugins is that you should never block the thread when processing a method or property call from Javascript.  In FireBreath, that means that any method or property on your JSAPI must never block, but should return in a timely manner. The reason for this is […]

Read More »

FireBreath Tips: Drawing on Windows

November 24, 2010 5 Comments by Richard

FireBreath Window Abstraction It is an interesting thing to me that so many people seem to have a hard time understanding how the FireBreath windowing abstraction works, since to me it seems fairly clear. Of course, I wrote it, so that’s probably the reason =] There are a few things you should understand before you […]

Read More »

FireBreath Tips: Working with Source Control

November 19, 2010 4 Comments by Richard

FireBreath, Source Control, and You Recently I have been asked repeatedly about how to properly use Source Control systems with FireBreath.  Everyone has their own idea of how this should work, and that’s fine — in fact, most of my suggestions you may decide to ignore.  However, I want to put forth what I consider […]

Read More »

FireBreath Tips: Dealing with JSAPI objects

November 9, 2010 4 Comments by Richard

FireBreath Tips and Tricks I have decided to start writing some tutorial type information for solving specific problems using FireBreath.  I don’t know how often I will post on this topic, but my goal is to do a series of short “tips and tricks” posts whenever I think of something that may not be obvious […]

Read More »

A year in the life of an open source project – FireBreath 1.2 released

September 15, 2010 7 Comments by Richard

Starting a new open source project Beginning an open source project is probably one of the more cliché things to do in the industry. How many open source projects are out there that have almost no support, haven’t been updated in years, or are just plain useless? This is the story of how I created FireBreath […]

Read More »

Get help for browser plugins and firebreath

September 7, 2010 1 Comment by Richard

Having problems? The comments on this blog are full of questions particularly about browser plugins, and even more specifically about NPAPI plugins.  Now, I don’t mind helping people out at all; that’s how we all learn.  However, in an effort to help everyone help each other, I wanted to bring the IRC chat room for […]

Read More »

Browser Plugins vs Extensions – the difference

August 10, 2010 33 Comments by Richard

Overloaded terms One of the least understood concepts in the Browser Plugin world is — browser plugins.  What they are, and even more: what they are not.  Probably at least once a week I answer a question somewhere on a forum or on the comments on this blog and say “You can’t do that with […]

Read More »

Firefox 3.6 has removed support for XPCOM plugins!

January 29, 2010 24 Comments by Richard

Most who are deep in the plugin world already know this, but I will repeat it quickly for those who only dabble: Firefox 3.6 has removed support for XPCOM plugins. This means that if you use XPCOM for your javascript interface (i.e. you have an IDL file on your npapi plugin, you us nsScriptablePeer, etc) […]

Read More »

Cross-Browser Scripting – Part one

December 27, 2009 2 Comments by Richard

The Problem: I’ll be up-front about something here; I don’t particularly like ActiveX.  I understand a lot of the reasons for creating it, and I won’t go so far as to claim that it shouldn’t exist or anything like that; in fact, it does very well for certain types of things.  The main thing I […]

Read More »