title: Writing a Firefox Extension that uses XPCOM components?
body: <p>I'm trying to write a Firefox extension that writes Firefox's history into the Windows system history, which ought to be useful for folks at work who use IE <em>and</em> Firefox to get work done.</p>
  
  <p>Adding pages to IE history appears simple enough (<a href="http://msdn.microsoft.com/en-us/library/aa767717(VS.85).aspx" rel="nofollow noreferrer">IUrlHistoryStg::AddUrl</a> ought to do it). However, my experience with Firefox extensions is limited to small chrome hacks packaged together in an XPI.</p>
  
  <p>From my initial reading, it appears that I have to create a XPCOM component that will insert URLs into history. I'm not sure this can be done using Javascript, and I don't have much experience in writing extensions that use XPCOM components.</p>
  
  <p>Could anyone familiar with Firefox extension development please point to any tutorials about writing extensions that use XPCOM components, especially those written using C++? Or are there any open-source extensions that use components I could look at to learn more about this?</p>