/*
* This Source Code Form is subject to the terms of the Mozilla Public
* License , v . 2 . 0 . If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "nsISupports.idl"
interface nsIRunnable;
%{ C++
template <
class T>
struct already_AddRefed;
/**
* After the default timezone changes , this topic is notified . Some systems may
* not support monitoring timezone .
*/
#define DEFAULT_TIMEZONE_CHANGED_OBSERVER_TOPIC
"default-timezone-changed"
%}
/**
* Interface for the native event system layer . This interface is designed
* to be used on the main application thread only .
*/
[uuid(
7 cd5c71d-
223 b-
4 afe-
931 d-
5 eedb1f2b01f)]
interface nsIAppShell : nsISupports
{
/**
* Enter an event loop . Don ' t leave until exit ( ) is called .
*/
void run();
/**
* Exit the handle event loop
*/
void exit ();
/**
* Ask the native event queue notification mechanism to favor Gecko tasks
* ( instead of native tasks ) for a short while . ( Content processes always
* favor Gecko tasks . )
*/
void geckoTaskBurst();
/**
* 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 ) .
*/
void suspendNative();
/**
* 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 .
*/
void resumeNative();
/**
* The current event loop nesting level .
*/
readonly attribute
unsigned long eventloopNestingLevel;
};
Messung V0.5 in Prozent C=89 H=97 G=93
¤ Dauer der Verarbeitung: 0.4 Sekunden
¤
*© Formatika GbR, Deutschland