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

    • Google Chrome 149.0.7827.103 (offline installer) by Razvan Serea The web browser is arguably the most important piece of software on your computer. You spend much of your time online inside a browser: when you search, chat, email, shop, bank, read the news, and watch videos online, you often do all this using a browser. Google Chrome is a browser that combines a minimal design with sophisticated technology to make the web faster, safer, and easier. Use one box for everything--type in the address bar and get suggestions for both search and Web pages. Thumbnails of your top sites let you access your favorite pages instantly with lightning speed from any new tab. Desktop shortcuts allow you to launch your favorite Web apps straight from your desktop. Chrome has many useful features built in, including automatic full-page translation and access to thousands of apps, extensions, and themes from the Chrome Web Store. Google Chrome is one of the best solutions for Internet browsing giving you high level of security, speed and great features. Important to know! The offline installer links do not include the automatic update feature. Download web installer: Google Chrome Web 32-bit | Google Chrome 64-bit | Freeware Download: Google Chrome Offline Installer 64-bit | Direct Link | 131.0 MB Download: Google Chrome Offline Installer 32-bit | Direct Link | 119.0 MB Download page: Google Chrome Portable Download: Chrome ARM64 | Direct Link View: Chrome Website | Release Notes Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • Apple would rather delay Siri AI than open iOS to rival assistants in the EU by Pradeep Viswanathan At WWDC 2026, Apple today announced a revamped Siri AI experience for iOS and iPadOS users. However, this new Siri AI experience will not be available on iPhones and iPads in the European Union when iOS 27 and iPadOS 27 launch later this year. In a detailed press release, Apple blamed the Siri delay on the EU’s Digital Markets Act, highlighting that EU regulators did not accept its proposed solutions for bringing Siri AI to the region. Consequently, there is currently no timeline for Siri AI’s availability on iOS and iPadOS in the EU. Here is what EU users will be missing due to this delay: Siri AI, Apple’s next-generation assistant powered by Apple Intelligence A new dedicated Siri app for revisiting conversations Expanded Visual Intelligence features Integrated AI-assisted writing tools Siri mode in Camera on iOS Other system-level AI features Since the new Siri experience on watchOS 27 is dependent on an iOS 27 device, EU users will also miss out on Siri AI on watchOS 27. The most frustrating part is that even developers based in the EU will not be able to test or use the new Siri AI features for their apps on iOS 27, iPadOS 27, and watchOS 27. In its press release, Apple mentioned that making Siri AI available in the EU would require the company to give other AI assistants (like ChatGPT, Claude, and Gemini) broad access to private user data and the ability to control installed apps. Essentially, the EU wants competing AI systems to be able to read and send messages, make purchases, access files, and perform actions across apps. To address these concerns, Apple proposed an intermediary system called Trusted System Agent. This system would have allowed other virtual assistants to access the same features as Siri AI in a safer way. However, the European Commission rejected Apple's proposals, and it is currently unclear why. The good news is that Apple stated it will continue working with EU regulators to bring Siri AI to the region. For now, however, iPhone and iPad users in the EU will have to wait. If platform gatekeepers such as Apple and Google reserve deep operating system capabilities only for their own AI assistants, rival services such as ChatGPT, Claude, Perplexity, and others will be at a major disadvantage. Modern AI assistants are no longer simple chatbots. They require access to core OS-level capabilities such as reading on-screen context, interacting with installed apps, sending messages, creating calendar events, managing files, and completing user-approved actions across the device. If only Siri on iOS or Gemini on Android can access these capabilities, competing AI services will struggle to offer the same level of convenience, even if their underlying models are better. This is exactly what the European Union's DMA is trying to address. Apple and Google should be allowed to protect user privacy and security, but they should not be permitted to use those concerns as a blanket excuse to block rival AI assistants from getting fair access to core platform features. A secure permission-based framework could allow users to choose their preferred AI assistant without giving any company unrestricted access to personal data.
    • Firefox 151.0.4 by Razvan Serea Firefox is a fast, full-featured Web browser. It offers great security, privacy, and protection against viruses, spyware, malware, and it can also easily block pop-up windows. The key features that have made Firefox so popular are the simple and effective UI, browser speed and strong security capabilities. Firefox has complete features for browsing the Internet. It is very reliable and flexible due to its implemented security features, along with customization options. Firefox includes pop-up blocking, tab-browsing, integrated Google search, simplified privacy controls, a streamlined browser window that shows you more of the page than any other browser and a number of additional features that work with you to help you get the most out of your time online. Firefox key features Enhanced Tracking Protection (ETP) – Blocks trackers, cookies, cryptominers, and fingerprinters by default. Private Browsing Mode – Deletes history, cookies, and temporary files when closed. Lightweight & Fast Performance – Optimized memory usage with efficient page loading. Cross-Platform Sync – Sync bookmarks, passwords, history, and open tabs across devices. Customizable Interface – Toolbars, themes, and extensions can be tailored to user needs. Strong Privacy Controls – Options to manage cookies, permissions, and site data easily. Reader Mode – Strips away clutter for distraction-free reading. Pocket Integration – Save and read articles offline with Pocket built into Firefox. Picture-in-Picture (PiP) – Watch videos in a floating window while multitasking. Extensions & Add-ons – Vast library for productivity, security, and personalization. Built-in PDF Viewer – No need for external software to view PDFs. Firefox Monitor – Alerts users if their email is part of a known data breach. Multi-Account Containers – Isolate browsing sessions (e.g., work, personal, shopping). Performance & Resource Efficiency – Uses fewer system resources than some competitors. Open Source & Community-Driven – Transparent development with global contributions. Download: Firefox 64-bit | Firefox 32-bit | ARM64 | ~70.0 MB (Freeware) Download: Firefox for MacOS | 145.0 MB View: Firefox Home Page | Release Notes Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • When I was a teen, I actually believed that the government used to be always be the bad guy. However as an adult, someone who has actually seen the Law work (though not perfect). I now think everyone cries a river. In this specific case, the so called freedom has consequences to society. Anyone who has seen how child are indeed affected, and I don't mean only extreme things like getting drugs or hate crimen , but no one can deny society as a whole has gone down a rabbit hole due to exesive use of internet. Before anyone calls out that it's the parents responsibility. Yes that's true, but the reality your family/kids might be good people. There are 99% out there who are not and have been brain dead by many things on the internet.
  • 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
      509
    2. 2
      PsYcHoKiLLa
      222
    3. 3
      ATLien_0
      92
    4. 4
      +Edouard
      86
    5. 5
      Steven P.
      81
  • Tell a friend

    Love Neowin? Tell a friend!