Recommended Posts

Google: firefox xpcom extensions compiled

http://kb.mozillazine.org/Dev_:_Extensions

it is also possible for extensions to include compiled code in the form of XPCOM components
I know the JS can use XPCOM components, but can it use ones not included with mozilla or firefox?
As long as it's included with the extension, yes. Edited by Jimny
Google: firefox xpcom extensions compiled

http://kb.mozillazine.org/Dev_:_Extensions

585524419[/snapback]

Ok. Now can you write your own XPCOM component and have your extension use that XPCOM component by including it in the XPI?

If so, what extensions have actually done this?

XPCOM/XPConnect. Mozilla packages together useful functions into XPCOM (Cross-Platform Component Object Model) components, which may then be accessed from external code, including Javascript via XPConnect. This allows the extension developers access the preferences database, the filesystem, and many other pieces of Mozilla technology.
It's my impression that XPCOM is the way for extensions to access the different aspects of the core mozilla code (like it says above).

Read through all the posts here.....I saw somebody post about windows emptying the memory the exe held once it's closed.

Windows doesn't do that by default really. It keeps all the dlls the exe calls up into memory for a short time before closing them.

Now there is an option to empty it out soon as you close your program(in the registry, but it's been a long time since i've used that option). But so many core windows components would crash because they wouldn't have access to there DLL that was there upon startup.

That may be part of the problem(i'm not saying firefox isn't the problem, i'm just saying that you should look at everything first instead of screaming fire everytime you find something that isn't as you would expect). Take it as you will.

- Khar

Ok.  Now can you write your own XPCOM component and have your extension use that XPCOM component by including it in the XPI?

If so, what extensions have actually done this?

It's my impression that XPCOM is the way for extensions to access the different aspects of the core mozilla code (like it says above).

585524449[/snapback]

Correct, XPCOM is how extensions communicate with mozilla, however it can also be used to add functionality not possible with javascript.

I'm not sure what extensions have done this, you'd have to download and unpack then, and check.

Read through all the posts here.....I saw somebody post about windows emptying the memory the exe held once it's closed.

Windows doesn't do that by default really. It keeps all the dlls the exe calls up into memory for a short time before closing them.

Now there is an option to empty it out soon as you close your program(in the registry, but it's been a long time since i've used that option). But so many core windows components would crash because they wouldn't have access to there DLL that was there upon startup.

585524461[/snapback]

While true in a sense, it is not very relevant, and it really only applies to the core operating system DLLs that are kept in the DLL cache in virtual memory for increased performance and integrity (See KnownDLL)

That may be part of the problem(i'm not saying firefox isn't the problem, i'm just saying that you should look at everything first instead of screaming fire everytime you find something that isn't as you would expect). Take it as you will.

585524461[/snapback]

This entire thread is pretty redundant, as thousands of Mozilla developers all over the world are likely aware of most of the current issues with Firefox (what?! you mean I'm not the only one capable of running profiling software??!!).

It all comes down to priorities, not all bugs are important.

One thing is for sure though, bickering about it on a site like Neowin, especially in a very non-technical fashion, doesn't benefit anyone. Maybe if the thread was about finding and fixing the bugs, but it isn't. The only thing it might do is scare people out of using Firefox, for no good reason.

This entire thread is pretty redundant, as thousands of Mozilla developers all over the world are likely aware of most of the current issues with Firefox (what?! you mean I'm not the only one capable of running profiling software??!!).

It all comes down to priorities, not all bugs are important.

One thing is for sure though, bickering about it on a site like Neowin, especially in a very non-technical fashion, doesn't benefit anyone. Maybe if the thread was about finding and fixing the bugs, but it isn't. The only thing it might do is scare people out of using Firefox, for no good reason.

585526105[/snapback]

Now that is something that I can agree with.

Memory leaks are not important? I pity the Mozilla Developers if that holds true for them. I seriously have no respect for any Mozilla Dev that holds this belief. But I don't know any specifically that do ATM.

If the moz devs are aware of this and have been since the release of 1.0, and still don't care enough to fix it (for 1.01 at least), I find that disgusting.

But I've already stated in the thread that this issue should NOT be a factor in anyones decision to use or not use FF (or mozilla).

I understand there are a lot of important bugs. But memory leaks like this (ones that can cause thousands of leaks) should be near the top of the list. Memory leaks have always been a priority on projects I've worked on, and my friends/co-workers have worked on.

Regarding fixing it myself.. well.. I honestly would try. But there's a few problems.

1. Aside from the new few days that I have to relax, I'm usually pretty busy with doing coding for my job.

2. I also have a side-project I work on that keeps me busy

3. There is a lot you need to learn before doing work on mozilla code. Lots of guidelines to read and what not. I've read a bit before, so I have a general idea, but they're very strict on their code, and it would be hard for me to adjust quickly.

4. I have tried compiling FF in the past few days, but been unable to get it to fully work. I've made some progress, but not enough. If anyone could help me get past the errors I've been getting, I'd be more than happy to look at the code and see what I can do.

If I was able to get it to compile, I'd likely put in my own memory checking code (very quick/easy to do actually) and find out exactly where it's occuring.

I understand there are a lot of important bugs.  But memory leaks like this (ones that can cause thousands of leaks) should be near the top of the list.  Memory leaks have always been a priority on projects I've worked on, and my friends/co-workers have worked on.

Regarding fixing it myself.. well.. I honestly would try.  But there's a few problems.

1. Aside from the new few days that I have to relax, I'm usually pretty busy with doing coding for my job.

2. I also have a side-project I work on that keeps me busy

3. There is a lot you need to learn before doing work on mozilla code.  Lots of guidelines to read and what not.  I've read a bit before, so I have a general idea, but they're very strict on their code, and it would be hard for me to adjust quickly.

4. I have tried compiling FF in the past few days, but been unable to get it to fully work.  I've made some progress, but not enough.  If anyone could help me get past the errors I've been getting, I'd be more than happy to look at the code and see what I can do.

If I was able to get it to compile, I'd likely put in my own memory checking code (very quick/easy to do actually) and find out exactly where it's occuring.

585526485[/snapback]

then, with all due respect, either submit the bug to bugzilla or quit whining about it here in a sesationalistic thread, where nobody can do anything about it.

A few things

-Memory leaks have nothing to do with memory "hanging around" after the program is closed. Windows (or any modern OS) will free up any space allocated by a process when it exits - even if it crashes or is forced closed.

-This has little or nothing to do with the size you see Firefox.exe "using" in Task Manager's "Mem usage" tab.

-Memory leaks ARE BAD, but no code is perfect. And no profiler is perfect either.

-No one believes mircleman

-There are significant bugs in Firefox 1.0's memory management, and they seem to involve tabbing (as well as extension management).

-This is no reason to stop using Firefox if you like it and don't have any problems. It isn't going to do any permenant damage to your computer, and if it does appear to be causing slowdown at any time, you can always close it.

-If you can reproduce this problem predictably, please submit a bug report with exactly what you did. I'm sure the developers would love to hear from you.

-It sounds like several memory management bugs are being fixed every day. If you like Firefox, I suggest upgrading to the next point release as soon as it is released.

then, with all due respect, either submit the bug to bugzilla or quit whining about it here in a sesationalistic thread, where nobody can do anything about it.

585526603[/snapback]

1. There is already bugs submitted regarding this.

2. I am not whining, nice try though

3. I have not exaggerated anywhere. There are thousands of leaks under certain scenarios, and a spot in a code that has a leak IS major when that code is called thousands of times.

-Memory leaks have nothing to do with memory "hanging around" after the program is closed.  Windows (or any modern OS) will free up any space allocated by a process when it exits - even if it crashes or is forced closed. 

Mostly correct. It cleans up the heap for you. However, I only meant mentioned that the memory is still there at close to illustrate that it wasn't being free'd by FF.
-Memory leaks ARE BAD, but no code is perfect.  And no profiler is perfect either.
Of course, but when thousands of memory leaks happen simply by closing a tab in a 1.0 release of a product, that is bad. And I emailed the company that makes the profiler with the info to see if it's possible that the profiler has a bug itself.
-No one believes mircleman
:laugh:
-This is no reason to stop using Firefox if you like it and don't have any problems.  It isn't going to do any permenant damage to your computer, and if it does appear to be causing slowdown at any time, you can always close it.
Exactly. I didn't mean to scare people away from FF at all. But I probably should have been more clear and maybe not had "WARNING!" in the thread.
1. There is already bugs submitted regarding this.

585527158[/snapback]

Great, so let them fix it or ignore it.

2. I am not whining, nice try though

585527158[/snapback]

It sounds like you are. I've read this whole thread, and you can't seem to keep to one testing scenario and give results based on whatever higher number of "leaks" you achieved.

3. I have not exaggerated anywhere.  There are thousands of leaks under certain scenarios, and a spot in a code that has a leak IS major when that code is called thousands of times.

585527158[/snapback]

Cars blow up under certain conditions also. Does that mean that they all don't work properly? You've already said that Firefox should be responsible for the extensions' memory problems, which made no sense.

Exactly.  I didn't mean to scare people away from FF at all.  But I probably should have been more clear and maybe not had "WARNING!" in the thread.

585527158[/snapback]

Title edited

3. I have not exaggerated anywhere.  There are thousands of leaks under certain scenarios, and a spot in a code that has a leak IS major when that code is called thousands of times.

585527158[/snapback]

I havn't said that you exaggerated anywhere, just of whining and making your thread title sensationalistic (i.e. the "WARNING!" and taking whatever results were highest at the time.)

Everything else I wanted to follow up on from your post Joel has already said.

It sounds like you are. I've read this whole thread, and you can't seem to keep to one testing scenario and give results based on whatever higher number of "leaks" you achieved.

Cars blow up under certain conditions also. Does that mean that they all don't work properly? You've already said that Firefox should be responsible for the extensions' memory problems, which made no sense.

Title edited

585527241[/snapback]

Actually I explained exactly how to reproduce it. How is that not one testing scenario? And it'll happen for anyone that uses tabs, I think that the "certain conditions" here apply to a lot of people.

Also, yes, firefox is responsible for extensions memory (unless it uses its own XPCOM component, which I don't even know if it possible, and if so, most extensions do not do so).

Thank you for editing the thread title though.

I havn't said that you exaggerated anywhere, just of whining and making your thread title sensationalistic (i.e. the "WARNING!" and taking whatever results were highest at the time.)
exaggeration is part of the defintion of sensationalistic. And I didn't take the highest results actually. I ran the test many times and got the same number, give or take 50.
Also, yes, firefox is responsible for extensions memory
Can you provide proof?
(unless it uses its own XPCOM component, which I don't even know if it possible

585527408[/snapback]

I told you that it was possible and provided documentation on how to do it. One extension that does is HTML Validator: https://addons.update.mozilla.org/extension...=Windows&id=249

Ok, thank you. So some do use XPCOM components. However, I know TBE doesn't and most extensions don't. Firefox is responsible for any memory in the JS files, because it is JavaScript.

So I was partly wrong. It is possible for an extension to cause memory leaks.

However, this was not the case in my tests.

You only linked me to a general XPCOM page, not any specific documentation on how to do it.

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • Signal accuses UK government of using child safety as cover for mass surveillance by David Uzondu Recently, the UK's Home Office announced a sweeping set of proposals to make Britain the "first country in the world" where children cannot share or view nude photos on their smart devices, an initiative that authorities claim will protect children from online predators and combat pornography. In response, Signal believes that while the government must keep children "safe" and "protected," it should do so through social services and education, not by "surveillance, funding cuts, and cover-ups." The company called the plan "dystopian" and warned that it violates everyone's fundamental right to privacy, arguing that scanning on the presumption of nudity will only strengthen the market dominance and data control of giant corporations like Apple and Google. The statement continues by accusing the government of hiding its true intentions under the guise of child safety. Signal argues that the Home Office is building an invisible surveillance infrastructure that remains ripe for exploitation by future administrations and authoritarian regimes. According to the company, this aggressive approach completely ignores the actual needs of young people, such as properly funded schools and mental health services. Tech companies like Apple and Google have a three-month window to implement these mandatory device-level filters across the United Kingdom. If these tech firms refuse to comply with the mandate, the government will pass emergency legislation to force them to comply, threatening massive fines and even going after the CEOs of these companies with criminal charges. The technology will work by blocking explicit images directly on the operating system of all smartphones and tablets by default. This system monitors the device camera and third-party apps to intercept nudity before anyone can upload or send the image. Adults can still view explicit content, but only after completing a strict age verification check to unlock their devices. Several bodies like the NSPCC and Barnardo's praised the Home Office's decision, arguing that device-level intervention stops the cycle of grooming before it starts. The Internet Watch Foundation (IWF) also supported the policy, claiming that tech companies can implement on-device checks "without threatening privacy or collecting any data."
    • Did you watch the keynote? It is way beyond what is described in this article. Looks interesting. Now it is time for them to deliver unlike what happened in 24.
    • It pretty much has to be compatible with MS Office or it is going nowhere. The rest of the world runs office including Europe. If it is not compatible it will not survive.
    • Incredible deal gets you free NVMe 512GB SSD with AMD AM5 B850 motherboard for only $150 by Sayan Sen Earlier this week we covered the story of an interesting PC case wherein you can build two full-size computers inside it as in it can house and run an AMD and an Intel system simultaneously. Speaking of building PCs, these are hard times to make one for sure as prices are often very high except during flash sales or discounts. If you are in the market for a 1080p gaming PC then Nvidia's 8GB RTX 5060 Ti is currently on sale for just $330 and you get the latest James Bond game too, for free. Speaking of which, right now there is another incredible sale going on as we can get a free 512 GB NVMe SSD from TeamGroup in the form of the G50 alongside the purchase of an AMD B850 socket AM5 motherboard for only $150 (purchase link under the specs table down below). Getting an AM5 motherboard now in 2026 will be a wise investment for sure, especially since AMD confirmed its commitment to support the socket till at least 2029. The MSI PRO B850M-P WIFI is a micro-ATX motherboard that is compatible with AMD Ryzen 9000 series processors. Since it is AM5, the motherboard works with DDR5 memory and includes MSI’s Memory Boost technology, along with EXPO and XMP support. Connectivity features include built-in Wi-Fi 7 paired with a 5G LAN solution. The board offers a PCIe 5.0 M.2 slot with MSI’s EZ M.2 Shield Frozr II thermal solution, that is said to help maintain SSD performance by providing ample cooling against overheating. The technical specifications of the MSI PRO B850M-P WIFI motherboard are given in the table below: Specification Value Form Factor Micro-ATX (mATX), 243.84 × 243.84 mm Chipset AMD B850 Socket AM5 Supported Processors AMD Ryzen 9000, 8000, and 7000 Series Desktop Processors Memory Slots 4 × DDR5 UDIMM Max Memory 256 GB Memory Speed DDR5 8200–5600 MT/s (OC), DDR5 5600–4800 MT/s (JEDEC) Display Outputs 1 × HDMI 2.1 (up to 4K 60Hz) 1 × DisplayPort 1.4 (up to 4K 60Hz) PCIe Slots 1 × PCIe 5.0 x16 (CPU) 3 × PCIe 3.0 x1 (Chipset) Audio Codec Realtek ALC897 Audio Channels 7.1-Channel High Definition Audio M.2 Slots 3 × M.2 slots M.2_1: PCIe 5.0 x4 (CPU) M.2_2: PCIe 4.0 x4 (CPU) M.2_3: PCIe 4.0 x2 (Chipset) M.2 Device Sizes M.2_1: 2280/2260 M.2_2: 2280/2260 M.2_3: 2280 SATA Ports 4 × SATA 6Gb/s RAID Support SATA: RAID 0, 1, 10 NVMe: RAID 0, 1, 5, 10 Rear USB Ports 4 × USB 2.0 2 × USB 5Gbps Type-A 1 × USB 10Gbps Type-A 1 × USB 10Gbps Type-C Front USB Headers 4 × USB 2.0 4 × USB 5Gbps Type-A 1 × USB 10Gbps Type-C LAN Realtek 8126VB 5Gb Ethernet Wireless Networking Wi-Fi 7 (802.11 a/b/g/n/ac/ax/be) Tri-band 2.4GHz / 5GHz / 6GHz MU-MIMO, MLO, 4KQAM Up to 2.9Gbps Bluetooth Bluetooth 5.4 Internal Power Connectors 1 × 24-pin ATX Power 1 × CPU Power 1 × PCIe Power (8-pin) Cooling Headers 1 × CPU Fan 1 × Combo Fan/Pump 3 × System Fan RGB Headers 3 × Addressable RGB Gen2 (JARGB_V2) 1 × RGB LED (JRGB) Additional Internal Headers 2 × Front Panel (JFP) 1 × Chassis Intrusion (JCI) 1 × Front Audio (JAUD) 1 × COM Port (JCOM) 1 × JDASH Tuning Controller 1 × TPM 2.0 Header The free TeamGroup T-FORCE G50 NVMe SSD is a PCIe Gen4 and as such it promises to deliver sequential read speeds of up to 5,000 MB/s, helping accelerate game loading, file transfers, and everyday computing tasks. The SSD features an InnoGrit controller and SLC caching technology to support consistent performance. An ultra-thin, patented graphene heatsink is included to aid in heat dissipation. The NAND flash is based on TLC which means it has plenty of endurance up its sleeve. The random performance may not be as amazing as other drives with DRAM though. Still it should be very good since it can access system memory via HMB to use it as its DRAM cache. The technical specifications of the TeamGroup 512GB G50 NVMe SSD are given in the table below: Specification Value Model / Part Number TM8FFE512G0C129 Form Factor M.2 2280 Interface PCIe Gen4x4 with NVMe Sequential Read Speed Up to 5,000 MB/s Sequential Write Speed Up to 2,500 MB/s Endurance (TBW) 325 TBW DRAM Cache No Cache Technology SLC Cache Controller InnoGrit Controller Solution Operating Temperature 0°C to 70°C Storage Temperature -40°C to 85°C Weight 7 g Dimensions 80.0 × 22.0 × 3.7 mm Vibration Resistance 80 Hz ~ 2,000 Hz / 20G Shock Resistance 1,500G / 0.5 ms MTBF 3,000,000 hours Get it at the link below: MSI PRO B850M-P WIFI AM5 AMD motherboard + Team Group T-FORCE G50 TM8FFE512G0C129 512GB SSD (free gift): $149.99 (Sold and Shipped by Newegg US) This Newegg deal is US-specific and not available in other regions unless specified. This is a first-party seller link (at the time of article publishing); ensure that you also purchase from a first-party seller link only. If you don't like it or want to look at more options, check out the previous deals that we have covered, OR you can also visit Amazon US deals page. Get Prime (SNAP), Prime Video, Audible Plus or Kindle / Music Unlimited. Free for 30 days. As an Amazon Associate, we earn from qualifying purchases.
    • RapidRAW 1.5.7 by Razvan Serea RapidRAW is a beautiful, non-destructive, GPU‑accelerated RAW image editor designed for speed and simplicity. It uses a lightweight (~30 MB), efficient code base built with Rust, React and Tauri. Ideal for Lightroom workflows, it offers rich editing tools—exposure, contrast, highlights, shadows, whites/blacks, tone curves, HSL mixer, dehaze, vignetting, film grain, sharpening, clarity and noise reduction—processed in real-time on the GPU. Features include intuitive masking (brush, linear, radial, AI-powered subject and foreground detection), generative edit layers (via ComfyUI), 32‑bit precision, and full RAW format support through rawler. RapidRAW also provides library management (folder navigation, ratings, metadata, EXIF viewer), batch operations, export presets (JPEG/PNG/TIFF), sidecar editing (.rrdata), undo/redo history, customizable UI themes, smooth animations, resizable panels, and preset copy/paste. A modern high-performance Lightroom alternative with polished UX and creative tools, RapidRAW brings powerful photo editing to photographers seeking speed, responsive GPU feedback, and streamlined workflows. RapidRAW v1.5.7 release notes: This update serves as a direct follow-up to the core architectural migration introduced in v1.5.6. While the transition to a more modular state management system marked a significant step forward for RapidRAW's stability and long-term maintainability, it also introduced several edge cases and regressions within the library and editing workflows. This release focuses on addressing those issues, with a particular emphasis on a complete overhaul of library performance to ensure smooth and responsive browsing following the refactoring. It also resolves inconsistencies in the copy-and-paste workflow and expands RapidRAW's accessibility by adding support for eight additional languages. [full changelog] Download: RapidRAW 1.5.7 | ARM64 | ~20.0 MB (Open Source) View: RapidRAW Home Page | Screenshot | Other operating systems Get alerted to all of our Software updates on Twitter at @NeowinSoftware
  • Recent Achievements

    • Very Popular
      Captain_Eric earned a badge
      Very Popular
    • One Month Later
      amusc earned a badge
      One Month Later
    • One Month Later
      DJC50PLUS earned a badge
      One Month Later
    • Week One Done
      DJC50PLUS earned a badge
      Week One Done
    • Proficient
      Eric Biran went up a rank
      Proficient
  • Popular Contributors

    1. 1
      +primortal
      504
    2. 2
      PsYcHoKiLLa
      223
    3. 3
      ATLien_0
      87
    4. 4
      Steven P.
      80
    5. 5
      +Edouard
      80
  • Tell a friend

    Love Neowin? Tell a friend!