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
Bösartige QR-Codes, die per E-Mail versendet werden, eignen sich sehr gut, um Spam-Filter zu umgehen.
Unsichere Websites und Phishing-Mails in Verbindung mit Black Friday können kauffreudigen Konsumenten zum Verhängnis werden.
Malware SmokeLoader wird weiterhin von Bedrohungsakteuren genutzt, um Payloads über neue C2-Infrastrukturen zu verbreiten.
Bankhaus Metzler und Telekom-Tochter MMS testen, inwieweit Bitcoin-Miner das deutsche Stromnetz stabilisieren könnten.
Mit 1,7 Exaflops ist El Capitan nun der dritte Exascale-Supercomputer weltweit. Deutschland stellt erneut den…
Der deutsche Hyperscaler erweitert sein Server-Portfolio um vier Angebote mit den neuen AMD EPYC 4004…