Overview of Plug-in API Enhancements in Mozilla

Eric Krock
Senior Product Manager
Netscape Communicator
http://sites.netscape.net/ekrock/answers.html

Limits of Nav4 Plug-in API
LiveConnect depended on presence of old Netscape Java Virtual Machine
If plug-in had LiveConnect API, had to start JVM before plug-in could start ŕ see “Starting Java ...” every time, even if page didn’t use LiveConnect API
No way to store plug-in state when leave page for quick restart on return to page

Enhancements to Plug-in API in Mozilla
Netscape JVM gone, replaced by third-party JVMs through Open JVM Interface
LiveConnect no longer depends on JVM, so plug-ins can start immediately
Start and Stop methods enable you to suspend plug-in but save in memory when leave page for immediate restart when user returns

Existing (Nav4) Plug-in Binaries
Existing Nav4 plug-in binaries work as-is in Mozilla-based browsers such as Nav5
Existing plug-in content still works
If content makes LiveConnect calls from JavaScript, those calls will do nothing due to lack of old Netscape JVM
If plug-in has LiveConnect API, upgrade to Mozilla plug-in API to ensure backward compatibility with existing content’s LiveConnect calls

Enhanced Mozilla Plug-in Binaries
Provide full backward compatibility with existing content (including LiveConnect calls) in Mozilla-based browsers like Nav5
Implement backward adapter so single upgraded binary works in all versions, including LiveConnect calls
Optionally, implement Start and Stop methods to increase performance on return to page
Optionally, plug-in can ask Nav5 browser to change its size dynamically at run time

What You Can Do: TEST YOUR PLUG-IN IN NAV5!
250 plug-in vendors : 1 browser vendor
Test your existing plug-in binary in Nav5
If upgrading to Mozilla plug-in API, test upgraded plug-in in Nav5 and Nav4
The sooner you report a bug, the better the chance we can fix it before final ship.
Start testing and upgrading your plug-in now to get your reports in before the other 249 vendors!

What You Can Do: ATTACH TEST CASES TO BUG REPORTS!
If you attach a simplified test case that reproduces the bug, QA & Eng can find the problem sooner
Bugs with attached test cases will get looked at first, so ...
test your existing plug-in in Nav5, test your upgraded plug-in in Nav5 and Nav4, report any bugs, and attach a test case for each one!

Where to Find Info and Get Help
Mozilla Plug-in API Doc: http://people.netscape.com/ornduff/plugin.htm
Bug Reports:
http://bugzilla.mozilla.org/
Join the BugAThon: http://www.mozilla.org/newlayout/bugathon.html
Plug-in Upgrade How-To Q&A: netscape.public.dev.plugin-upgrade
API Design Feedback & Comments: netscape.public.mozilla.plugins
Before You Email Eric Krock Page: http://sites.netscape.net/ekrock/answers.html