The fixes for 6458497 and 6506966 that went into the Windows port of awt_Component.cpp have broken focus transfers in the new out-of-process Java Plug-In. The basic problem is that the AWT EmbeddedFrame is placed into the component hierarchy of the browser, which is now a different process. When we attempt to transfer focus to the applet, the code in AwtComponent::AwtSetFocus() sees that the current focus owner's process ID is different from the Java process and blocks the focus transfer.
Discussion with ###@###.### and others indicates that to cover this case, as well as the case where the out-of-process applet opens a top-level frame, the following logic is needed. When an EmbeddedFrame (WEmbeddedFrame) is created, it should record the process ID of the HWND into which it is embedded. Future focus transfers should be permitted from that process ID to the one of the Java process.