nsIAppShell
| IID: | 95f1f2b3-051b-4603-bb91-7058191dfc1e |
| Inherits From: | nsISupports |
Interface for the native event system layer. This interface is designed to be used on the main application thread only.
Methods
void exit ( )
void favorPerformanceHint ( PRBool favorPerfOverStarvation , PRUint32 starvationDelay )
void resumeNative ( )
void run ( )
void suspendNative ( )
void favorPerformanceHint ( PRBool favorPerfOverStarvation , PRUint32 starvationDelay )
Give hint to native event queue notification mechanism. If the native platform needs to tradeoff performance vs. native event starvation this hint tells the native dispatch code which to favor. The default is to prevent native event starvation.
Calls to this function may be nested. When the number of calls that pass PR_TRUE is subtracted from the number of calls that pass PR_FALSE is greater than 0, performance is given precedence over preventing event starvation.
The starvationDelay arg is only used when favorPerfOverStarvation is PR_FALSE. It is the amount of time in milliseconds to wait before the PR_FALSE actually takes effect.
- Arguments:
- favorPerfOverStarvation
- starvationDelay
Resumes the use of additional platform-specific methods to run Gecko events on the main application thread. Calls to suspendNative() and resumeNative() may be nested. On some platforms this will be a no-op.
Suspends the use of additional platform-specific methods (besides the nsIAppShell->run() event loop) to run Gecko events on the main application thread. Under some circumstances these "additional methods" can cause Gecko event handlers to be re-entered, sometimes leading to hangs and crashes. Calls to suspendNative() and resumeNative() may be nested. On some platforms (those that don't use any "additional methods") this will be a no-op. Does not (in itself) stop Gecko events from being processed on the main application thread. But if the nsIAppShell->run() event loop is blocked when this call is made, Gecko events will stop being processed until resumeNative() is called (even if a plugin or library is temporarily processing events on a nested event loop).
References
This interface is passed as an argument to the following methods:
nsIAppShellService.createHiddenWindow, nsIAppShellService.createTopLevelWindow, nsIXULWindow.createNewWindow
Reference documentation is generated from Mozilla's source.
