     private function moveFocusToParent(shiftKey:Boolean):Boolean
     {
     	// trace("pass focus from " + this.form.systemManager.loaderInfo.url + " to parent ");
-		var request:FocusRequest = new FocusRequest(FocusRequest.MOVE_FOCUS_REQUEST,
-													false, true, 
+		var request:SWFBridgeRequest = new SWFBridgeRequest(SWFBridgeRequest.MOVE_FOCUS_REQUEST,
+													false, true, null,
 													shiftKey ? FocusRequestDirection.BACKWARD :
 													  		   FocusRequestDirection.FORWARD); 
 		var sandboxBridge:IEventDispatcher = _form.systemManager.swfBridgeGroup.parentBridge;
 		
-		// if focus was changed, the handler will call event.preventDefault(), 
-		// which will return "false".
-		focusChanged = !sandboxBridge.dispatchEvent(request);
+		// the handler will set the data property to whether focus changed
+		sandboxBridge.dispatchEvent(request);
+		focusChanged = request.data;
 		
 		return focusChanged;
     }


		// activate children in compatibility mode or in sandboxes.
		if (bridgedFocusManagers)
			sendEventToBridgedFocusManagers(new FocusRequest(FocusRequest.ACTIVATE_FOCUS_REQUEST));

    }


    	// trace("focusRequestHandler in  = " + this._form.systemManager.loaderInfo.url);

		// ignore messages we send to ourselves.
		if (event is SWFBridgeRequest)
		{
			// trace("ignored focus in " + this._form.systemManager.loaderInfo.url);
			return;
