XPCOM-Komponenten mit Javascript

XPCOM-Komponenten (Cross Platform Component Object Model) funktionieren wie Microsoft COM-Komponenten: Die Kommunikation zwischen Client und der Komponente erfolgt über Schnittstellen (Interfaces). Die grundlegende Schnittstelle für XPCOM ist nsISupports. Mit Hilfe der Methode QueryInterface von nsISupports kann man die Informationen in Bezug auf spezielle Schnittstellen abrufen, also die Methoden und Eigenschaften, welche die Schnittstelle unterstützt.

Um die nsISupports-Schnittstelle zu implementieren, muss eine Javascript-XPCOM-Komponente die Interface Definition Language (IDL) verwenden. IDL-Dateien werden erstellt und zu XPT-Type-Libraries kompiliert. Der Komponenten-Registrar verwendet die Informationen in einer XPT-Datei zur Registrierung der Komponente für Mozilla. Sobald die Komponente erfolgreich registriert ist, kann man die XPCOM-Komponente in eigenem Programmcode verwenden.

Im folgenden Beispiel wird eine einfache XPCOM-Komponente mit Javascript erstellt, die eine Methode bereitstellt: reverseIt(). Diese Methode übernimmt einen String als Parameter und kehrt die Reihenfolge der Zeichen im String um.

Es gibt drei Schichten von Komponenten: die XPCOM-Objektschicht, die nsIFactory-Schicht und die nsIModule-Schicht. Die XPCOM-Objektschicht ist das Herzstück des Systems, hierhin gehört die Geschäftslogik. Die nsIFactory-Schicht ist die verantwortliche Schicht für die Instantiierung des XPCOM-Objekts. Die nsIModule-Schicht ist verantwortlich für die Registrierung und die Bereitstellung einer Abstraktion für die nsIFactory-Schicht. Jede dieser drei Schichten ist erforderlich, und jede Schicht verlangt bestimmte Methoden, wie man in Listing A sehen kann.

Listing A

Page: 1 2 3

ZDNet.de Redaktion

Recent Posts

Abo für Facebook: Verbraucherzentrale NRW klagt erneut gegen Meta

Diesmal geht es um das neue Abomodell für Facebook und Instagram. Die Verbraucherschützer klagen auf…

2 Stunden ago

Jedes zweite Gerät mit Redline-Infostealer infiziert

Infostealer-Infektionen haben laut Kaspersky-Studie zwischen 2020 und 2023 um mehr als das sechsfache zugenommen.

8 Stunden ago

Kaspersky warnt vor kritischen Sicherheitslücken in Cinterion-Modems

Betroffen sind Millionen IoT- und M2M-Geräte Geräte weltweit. Unter anderem können Angreifer per SMS Schadcode…

12 Stunden ago

Google schließt Zero-Day-Lücke in Chrome

Von ihr geht ein hohes Risiko aus. Angreifbar sind Chrome für Windows, macOS und Linux.

3 Tagen ago

KI erkennt Emotionen in echten Sportsituationen

Forschende des KIT haben ein Modell zur Emotionsanalyse entwickelt, das affektive Zustände ähnlich genau wie…

4 Tagen ago

Ermittlern gelingt weiterer Schlag gegen Ransomware-Gruppe LockBit

Sie decken die Identität des Kopfs der Gruppe auf. Britische Behörden fahnden mit einem Foto…

5 Tagen ago