When passing objects from JS to the plugin. var a = {}; plugin.f(a, a); The plugin sees an argument list containing two different NPObject pointers. On Firefox and Chrome, the same NPObject pointer appears twice in the list, allowing the plugin to test whether the arguments are the same. Observed with Safari 5.1.2 (6534.52.7) on OS X 10.6. Under Windows (Windows 7, 64 bit, Safari 5.1.2(7534.52.7)) the same NPObject pointer seems to be passed to the plugin.
I think this works with WebKit2. If it doesn't work, we're not likely to fix it - our plug-in code is in maintenance mode only.