One of the projects that I have been working on is a FireFox extension. I’m pretty new to the XUL/Extension space, but have a lot of JavaScript experience. My framework of choice has long standing been Prototype. I figured why not make life easy and utilize that functionality in the extension. I soon realized that almost none of the functionality worked in the Chrome environment. I spent a lot of time reinventing the wheel, re-writing many of the general prototype features. When I started writing my own bind function I realized that it was throwing erroneous errors. I know the code was perfect and successfully tested it in a front end environment. I started doing some research and found out theres a long standing bug in the FireFox Chrome environment that prevents extending Function.prototype. Some more research and I found that the reason most of the prototype functionality didn’t work was because the methods require use of the bind function. I found a hacked version of prototype 1.4 that has been re-written to work in Chrome and a bind patch for prototype 1.5.

Update: I modified the most recent version of Prototype (1.6.0 RC1) to work in Chrome. You can download the code here.