Gecko NPAPI Plugins Update

Yesterday I became the owner of Gecko’s NPAPI plugin module. Johnny Stenback, the previous owner, remains on as a peer. Given that change, now seems like a good time for an update on plugin module priorities. My current priorities are related to testing, accessibility, and code cleanup.

Automated testing for NPAPI plugin functionality has been highly requested for a while. In bug 386676 I posted a patch that allows for plugin mochitests. The first test gives us coverage for a basic plugin load plus basic npruntime calls into and out of a plugin. As soon as that lands I hope we’ll be adding many more plugin tests and expanding our testing capabilities.

I am working on solutions to two major accessibility bugs, as discussed in this post. We need to allow plugins to reject keyboard events so keyboard commands for things like close-window can work while a plugin has focus, and we need to allow for changing focus from a plugin to other content via the keyboard. Work is slow but steady, things should speed up as other things like testing fall into place.

Gecko’s plugin module is in need of some general TLC. This includes code formatting, dead code removal, renaming/re-factoring for readability, general ugly/outdated code auditing, and sample modernization. I landed some of that already and I’m hoping to land a bunch more over the coming months.

I’m not ready to write about longer-term priorities yet, things like out-of-process plugins. We are thinking about them though, I’ll have more information in January or February. In the mean time I’m looking forward to making a lot of progress on things that will make the bigger changes easier to digest.

Sunday in NYC

New York is a fantastic city. I spend a fair amount of time there and today was just such a nice day I feel like writing about it.

I woke up this morning at a friend’s place in Spanish Harlem, the sun shining brightly through the windows – it was a beautiful day. We walked to a bakery and got coffee and croissants, then we walked to a nearby park and watched a largely Puerto Rican baseball game for an hour while we drank our coffee. The players were probably 14 years old and having a lot of fun. A guy rode by on a bicycle flying about ten Puerto Rican flags, honking a little horn constantly and smiling at everybody.

After the game I walked South, from E 112th & 2nd to around E 78th & Madison. It is a nice walk, interesting because you get to see the transition from Spanish Harlem to the wealthy Upper East Side. My friend is a teacher and she was recently talking to her kids about health. She suggested focusing on what food is readily available on each block of the walk. Nutrient value, pricing, cuisine diversity… speaks volumes.

Madison Avenue on the Upper East Side has a lot of fashionable clothing stores and some great people-watching. I ended up having lunch with Hal Hackady at a diner near there, where he introduced me to rice pudding with whipped cream and chocolate sauce and gave me some good advice about new strolls through Central Park. Hal also drew a picture of me on a napkin while I was staring off at something:

Drawing of Josh by Hal

I like that he didn’t use a clean napkin.

After Hal and I parted ways I headed into Central Park and watched people sail little boats in the pool near 75th on the East side of the park. It is a busy part of the park on weekends, but sitting there on weekdays can be really peaceful.

New Mac OS X Widget Peers

I’ve added two new peers to the “Widget – Mac” module (Cocoa widgets), Steven Michaud and Markus Stange. They have both done great things for the module and working with them is a pleasure. Steven has contributed a huge number of fixes for tough bugs over the past two years, focusing on event handling, plugin interaction, and crash debugging. Markus joined us earlier this year and has gotten up to speed very quickly. He has contributed many fixes focusing on theme and OS integration issues.

Thanks Steven and Markus!