Problems with webshell
Wednesday, November 14, 2007, 11:08
- The API is irrational. WebShell is a total mess right now. It’s been a dumping ground for anything having to do with high level browser operation, external embedding of gecko, and internal embedding of subdocument. That’s too much for any one object to reasonably handle. Furthermore, nsIWebShell has become monolithic and needs to be broken into several manageable interfaces.
- WebShell is huge. It requires loading lots of services and allocating lots of memory for each instance. Since most of this state is only required by the top level WebShell, if at all, re-allocating everything for embedded subdocuments is a huge waste of memory and allocation time.
- WebShell is slow in some important cases. In the common case of loading a blank document, WebShell requires an expensive trip through the network library for loading about:blank which is very slow compared to simply constructing a minimal html document. Embedded documents should not be forced to go through the network library.
- WebShell creates it’s own PresContext on initialization. WebShell creates it’s own PresContext, one per WebShell.  In some cases, this imposes the need to re-resolve style for the entire document on load since there is currently no way to pass in custom style data. Since PresContext will soon be an immutable object, per-WebShell allocation is a big waste of time and space.
- WebShell consumes too many system resources. The current WebShell implementation always creates at least one and often several native windows per WebShell. This has huge performance and system resource overhead.
- Webshell does not work for applications wishing to embed it. There are too many un-related callback methods on container interfaces and functionality missing from interfaces embedding apps wish to call.
Related posts
You can follow any responses to this entry through the
RSS 2.0 feed.
Computer Cases High Performance Computer said on Tuesday, February 26, 2008, 14:37
The Need for Rackmount Computer Cases…
When businesses need to group one type of server in with similar kinds, rack mount computer cases are brought in. Holding as many as 40 single servers, they feature common temperature-monitoring systems, linked drive bays and up to a maximum of 10 air-…
external web browser said on Thursday, April 17, 2008, 21:52
[...] embedding of gecko, and internal embedding of subdocument. That??s too much for any one objechttp://www.securiour.com/2007/problems-with-webshell/How To: Use a Standalone Browser With Your JournalGenerally, AOL Journalers access Journals from [...]
lee said on Tuesday, November 18, 2008, 0:53
A person, like a commodity, needs packaging. But going too far is absolutely undesirable. A little exaggeration, however, does no harm when it shows the person’s unique qualities to their advantage. To display personal charm in a casual and natural way, it is important for one to have a clear knowledge of oneself.wow gold A master packager knows how to integrate art and nature without any traces of embellishment, so that the person so packaged is no commodity but a human being, lively and lovely