Thanks, Geoff.

I guess much of this is irrelevant -- certainly to most end users. The reason I'm asking about this stuff is that I've been tasked with editing the Camino developer documentation, and I noticed that these terms are thrown around but not explained in the existing documentation. I figure that a person building Camino for the first time or trying to decide whether to get involved (or even just trying to learn from the code) might want an introduction to the various pieces.

I gather FizzillaCFM (and for the most part, FizzillaMach) is essentially irrelevant to Camino at this point, but I've got a few more questions about the rest, if you'll humor me:

- Basically Mach-O vs. CFM/PEF is just a matter of different ways of storing and linking to libraries? Is this an issue separate from Cocoa vs. Carbon, or is it a subset of the differences?

- The current Moz suite uses Carbon to draw both the chrome and the rendered page?

- I'm still not clear on Cocoazilla -- what was the original project goal? I gather from what you wrote that CHBrowserView is just a piece of the Cocoazilla project and still uses Carbon. If CHBrowserView were implemented entirely using Cocoa, what other parts of Cocoazilla would remain? Is it meant to be a fully native browser, but using an XUL GUI drawn with Cocoa rather than a fully native GUI like Camino uses or a Carbon/XUL GUI like Moz and FF currently have?

- Is the Gecko code that CHBrowserView wraps essentially identical to the Gecko code used for Moz/FireFox? If not, what sort of differences would new developer need to be aware of if they wanted to understand Camino?

- Can you give me a quick overview of what besides CHBrowserView is used to embed Gecko into Camino?

Thanks again!

-Noemi





On Tuesday, November 30, 2004, at 09:40  PM, Geoff Beier wrote:

Hi Noemi,

I'll take a stab at this... though I'm not sure it's of more than historical interest as far as the Camino docs are concerned :-). Corrections/clarifications welcome.

Think of Fizzilla as "Mozzilla suite for Mac OS X". CFM (Code Fragment Manager) is one of the two library managers available on Mac OS X. Its executable code is stored in the PEF format, and you'll sometimes hear the two terms exchanged a little loosely. The other library manager (which apple prefers, and calls "native") is dyld. dyld expects code and data to be stored in a format called Mach-O. CFM/PEF executables can be made to run on both classic Mac OS and OS X. dyld/Mach-O executables cannot. I'd be pretty surprised if this could even be built with anything newer than a Mozilla 1.3-ish source base; it's no longer maintained and requires the CodeWarrior toolchain to build.

- FizzillaMach is described as "Carbon front-end, UNIX back-end, Mach-o based." I have to admit that I'm completely lost here. What parts is Carbon used for? Does the UNIX back-end refer to a version of Gecko written for UNIX, or pipelining or other application event handling written for UNIX? And Mach-O? I can't seem to get a good definition of it, let alone understand how it's used for this. ack!

This is the "Mozilla suite for Mac OS X" that you can download today if you go grab the latest 1.7 release. (Since 1.2 or 1.3 I think?) Essentially, it refers to a Carbon GUI (meaning we use the Carbon API for drawing and handling user events), UNIX-style networking and file access, and a Mach-O format executable. I'd call FireFox for OS X a close relative of FizzillaMach.

- Cocoazilla.... I'm not clear what Cocoazilla is. Is it just the old name for CHBrowserView? Or is it something more, or something less, or something else?

Strictly speaking, I'd say Cocoazilla is imaginary, or at least incomplete. If the cocoa widget and gfx libraries were completed and you built mozilla suite using them instead of the carbon stuff, I'd call that Cocoazilla. They're not, though; they're only complete enough at this stage to support CHBrowserView and Camino.

- CHBrowserView -- I gather this is basically Gecko wrapped in an extra layer so that it can be used sort of like an NSScrollView subclass and embedded into any Cocoa app? Or somewhat analagous to WebCore? It's not used for Fizzilla or Moz or FireFox, is it? In which case, Camino may currently be the only project using it, but there's no reason other Cocoa apps couldn't easily incorporate it.

Correct. CHBrowserView is a subclass of NSView that wraps up gecko for embedding in a cocoa application. Occasionally on mozilla.org, you'll see CHBrowserView used to refer to the entire cocoa embedding module, which actually includes a bit more than that. Other projects could use it. I do not believe that the copy outside Camino's tree is actively maintained, however.


Hope this helps at least a little...


Geoff

_______________________________________________
Camino mailing list
[EMAIL PROTECTED]
http://mozdev.org/mailman/listinfo/camino


_______________________________________________ Camino mailing list [EMAIL PROTECTED] http://mozdev.org/mailman/listinfo/camino

Reply via email to