//////////////////////////////////////////////////////////////////////////////// // // Licensed to the Apache Software Foundation (ASF) under one or more // contributor license agreements. See the NOTICE file distributed with // this work for additional information regarding copyright ownership. // The ASF licenses this file to You under the Apache License, Version 2.0 // (the "License"); you may not use this file except in compliance with // the License. You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // //////////////////////////////////////////////////////////////////////////////// package mx.events { import flash.events.Event; import flash.events.IEventDispatcher; /** * This is an event that is sent between applications that are in different security sandboxes. * The event lets objects in other sandboxes know what is going on in this sandbox. * The events are informational in nature as opposed to a SWFBridgeRequest, * which request an object do something on its behalf. * *
This class defines event constants that refer to "activation". * In this case, activation means one of the components in the application can receive the keyboard * input focus. When an application is activated, the component that last had focus receives focus again.
* * @langversion 3.0 * @playerversion Flash 9 * @playerversion AIR 1.1 * @productversion Flex 3 */ public class SWFBridgeEvent extends Event { include "../core/Version.as"; //-------------------------------------------------------------------------- // // Class constants // //-------------------------------------------------------------------------- /** * Dispatched to a parent bridge or sandbox root to notify it that * another application has been activated. * * @langversion 3.0 * @playerversion Flash 9 * @playerversion AIR 1.1 * @productversion Flex 3 */ public static const BRIDGE_APPLICATION_ACTIVATE:String = "bridgeApplicationActivate"; /** * Sent through a bridge to a child application's SystemManager * to notify it that the SWF is about to be unloaded. * The SystemManager marshals and re-dispatches the event * so that application code can remove references * that would prevent the SWF file from unloading. * * @langversion 3.0 * @playerversion Flash 9 * @playerversion AIR 1.1 * @productversion Flex 3 */ public static const BRIDGE_APPLICATION_UNLOADING:String = "bridgeApplicationUnloading"; /** * Dispatched through bridges to all other FocusManagers to notify them * that another FocusManager is now active. * * @langversion 3.0 * @playerversion Flash 9 * @playerversion AIR 1.1 * @productversion Flex 3 */ public static const BRIDGE_FOCUS_MANAGER_ACTIVATE:String = "bridgeFocusManagerActivate"; /** * Dispatched through a parent bridge to its SWFLoader to notify it * that a new SystemManager has been initialized. * * @langversion 3.0 * @playerversion Flash 9 * @playerversion AIR 1.1 * @productversion Flex 3 */ public static const BRIDGE_NEW_APPLICATION:String = "bridgeNewApplication"; /** * Dispatched to a parent bridge or sandbox root to notify it that * a window was activated. * * For a compatible application, thedata
property
* is an object with two properties, window
* and notifier
. The data.window
property
* is the SystemManager proxy that was activated.
* For an untrusted application, the data.window
property
* is a string id of the window. The
* data.notifier
property is the bridge of the
* application dispatching the event. The event might be dispatched
* directly to a sandbox root instead of over a bridge,
* so event.target
might not be the bridge
* of the application dispatching the event.
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 3
*/
public static const BRIDGE_WINDOW_ACTIVATE:String =
"bridgeWindowActivate";
/**
* Dispatched to a parent bridge or sandbox root to notify it that
* the proxy SystemManager was deactivated.
*
* For a compatible application, the data
property
* is an object with two properties, window
* and notifier
. The data.window
property
* is the SystemManager proxy that was activated.
* For an untrusted application, the data.window
property
* is a string id of the window. The
* data.notifier
property is the bridge of the
* application dispatching the event. The event might be dispatched
* directly to a sandbox root instead of over a bridge,
* so event.target
might not be the bridge
* of the application dispatching the event.
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 3
*/
public static const BRIDGE_WINDOW_DEACTIVATE:String =
"brdigeWindowDeactivate";
/**
* Dispatched to a parent bridge or sandbox root to notify it that
* the AIR window was activated.
*
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4
*/
public static const BRIDGE_AIR_WINDOW_ACTIVATE:String =
"bridgeAIRWindowActivate";
/**
* Dispatched to a parent bridge or sandbox root to notify it that
* the AIR window was deactivated.
*
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4
*/
public static const BRIDGE_AIR_WINDOW_DEACTIVATE:String =
"bridgeAIRWindowDeactivate";
//--------------------------------------------------------------------------
//
// Class methods
//
//--------------------------------------------------------------------------
/**
* Marshal a SWFBridgeRequest from a remote ApplicationDomain
* into the current ApplicationDomain.
*
* @param event A SWFBridgeRequest which might have been created
* in a different ApplicationDomain.
*
* @return A SWFBridgeEvent that was created
* in the caller's ApplicationDomain.
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 3
*/
public static function marshal(event:Event):SWFBridgeEvent
{
var eventObj:Object = event;
return new SWFBridgeEvent(eventObj.type,
eventObj.bubbles,
eventObj.cancelable,
eventObj.data);
}
//--------------------------------------------------------------------------
//
// Constructor
//
//--------------------------------------------------------------------------
/**
* Constructor.
*
* @param type The event type; indicates the action that caused the event.
*
* @param bubbles Specifies whether the event
* can bubble up the display list hierarchy.
*
* @param cancelable Specifies whether the behavior
* associated with the event can be prevented.
*
* @param data An object that is null by default, but can contain
* information about the event, depending on the type of event.
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 3
*/
public function SWFBridgeEvent(type:String, bubbles:Boolean = false,
cancelable:Boolean = false,
data:Object = null)
{
super(type, bubbles, cancelable);
this.data = data;
}
//--------------------------------------------------------------------------
//
// Properties
//
//--------------------------------------------------------------------------
//----------------------------------
// data
//----------------------------------
/**
* Information about the event.
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 3
*/
public var data:Object;
//--------------------------------------------------------------------------
//
// Overridden methods: Event
//
//--------------------------------------------------------------------------
/**
* @private
*/
override public function clone():Event
{
return new SWFBridgeEvent(type, bubbles, cancelable, data);
}
}
}