Buggy code:
class WebSite extends OleControlSite { COMObject iDocHostUIHandler ; COMObject iDocHostShowUI ; COMObject iServiceProvider ; COMObject iInternetSecurityManager ; COMObject iOleCommandTarget ; static final int OLECMDID_SHOWSCRIPTERROR = 40 ; static final String CONSUME_KEY = "org.eclipse.swt.OleFrame.ConsumeKey" ; public WebSite ( Composite parent , int style , String progId ) { } protected void createCOMInterfaces ( ) { } protected void disposeCOMInterfaces ( ) { } protected int AddRef ( ) { } protected int QueryInterface ( int riid , int ppvObject ) { } int EnableModeless ( int EnableModeless ) { } int FilterDataObject ( int pDO , int ppDORet ) { } int GetDropTarget ( int pDropTarget , int ppDropTarget ) { } int GetExternal ( int ppDispatch ) { } int GetHostInfo ( int pInfo ) { } int GetOptionKeyPath ( int pchKey , int dw ) { } int HideUI ( ) { } int OnDocWindowActivate ( int fActivate ) { } int OnFrameWindowActivate ( int fActivate ) { } protected int Release ( ) { } int ResizeBorder ( int prcBorder , int pUIWindow , int fFrameWindow ) { } int ShowContextMenu ( int dwID , int ppt , int pcmdtReserved , int pdispReserved ) { } int ShowUI ( int dwID , int pActiveObject , int pCommandTarget , int pFrame , int pDoc ) { } int TranslateAccelerator ( int lpMsg , int pguidCmdGroup , int nCmdID ) { Menu menubar = getShell ( ) . getMenuBar ( ) ; if ( ( ( menubar != null ) && ( ! ( menubar . isDisposed ( ) ) ) ) && ( menubar . isEnabled ( ) ) ) { Shell shell = menubar . getShell ( ) ; int hwnd = shell . handle ; int hAccel = OS . SendMessage ( hwnd , ( ( OS . WM_APP ) + 1 ) , 0 , 0 ) ; if ( hAccel != 0 ) { MSG msg = new MSG ( ) ; OS . MoveMemory ( msg , lpMsg , sizeof ) ; if ( ( OS . TranslateAccelerator ( hwnd , hAccel , msg ) ) != 0 ) return COM . S_OK ; } } int result = COM . S_FALSE ; MSG msg = new MSG ( ) ; OS . MoveMemory ( msg , lpMsg , sizeof ) ; if ( ( msg . message ) == ( OS . WM_KEYDOWN ) ) { switch ( msg . wParam ) { case OS . VK_N : case OS . VK_O : if ( ( OS . GetKeyState ( VK_CONTROL ) ) < 0 ) { <START_BUG> getParent ( ) . setData ( WebSite . CONSUME_KEY , "true" ) ; <END_BUG> result = COM . S_OK ; } break ; case OS . VK_F5 : OleAutomation auto = new OleAutomation ( this ) ; int [ ] rgdispid = auto . getIDsOfNames ( new String [ ] { "LocationURL" } ) ; Variant pVarResult = auto . getProperty ( rgdispid [ 0 ] ) ; auto . dispose ( ) ; if ( pVarResult != null ) { if ( ( pVarResult . getType ( ) ) == ( OLE . VT_BSTR ) ) { String url = pVarResult . getString ( ) ; if ( url . equals ( ABOUT_BLANK ) ) result = COM . S_OK ; } pVarResult . dispose ( ) ; } break ; } } return result ; } int TranslateUrl ( int dwTranslate , int pchURLIn , int ppchURLOut ) { } int UpdateUI ( ) { } int ShowMessage ( int hwnd , int lpstrText , int lpstrCaption , int dwType , int lpstrHelpFile , int dwHelpContext , int plResult ) { } int ShowHelp ( int hwnd , int pszHelpFile , int uCommand , int dwData , int ptMouse_x , int ptMouse_y , int pDispatchObjectHit ) { } int QueryService ( int guidService , int riid , int ppvObject ) { } int SetSecuritySite ( int pSite ) { } int GetSecuritySite ( int ppSite ) { } int MapUrlToZone ( int pwszUrl , int pdwZone , int dwFlags ) { } int GetSecurityId ( int pwszUrl , int pbSecurityId , int pcbSecurityId , int dwReserved ) { } int ProcessUrlAction ( int pwszUrl , int dwAction , int pPolicy , int cbPolicy , int pContext , int cbContext , int dwFlags , int dwReserved ) { } int QueryCustomPolicy ( int pwszUrl , int guidKey , int ppPolicy , int pcbPolicy , int pContext , int cbContext , int dwReserved ) { } int SetZoneMapping ( int dwZone , int lpszPattern , int dwFlags ) { } int GetZoneMappings ( int dwZone , int ppenumString , int dwFlags ) { } int QueryStatus ( int pguidCmdGroup , int cCmds , int prgCmds , int pCmdText ) { } int Exec ( int pguidCmdGroup , int nCmdID , int nCmdExecOpt , int pvaIn , int pvaOut ) { } }

Fix:
getParent ( ) . setData ( WebSite . CONSUME_KEY , "false" ) ;