Closed Bug 13374 Opened 20 years ago Closed 19 years ago

[FEATURE][WebShell] nsIWebshell improvements


(Core :: Document Navigation, defect, P1, critical)






(Reporter: don, Assigned: jud)



(Keywords: embed, Whiteboard: [nsbeta3+])

This bug is for tracking all beta issues with nsIWebshell improvements.

For the record, here's an email exchange between Travis and Steve ...


Date: Tue, 7 Sep 1999 11:11:46 -0700
From: (Travis Bogard)
To: "Steve Clark" <>
Cc: "peter linss" <>, "Don Melton" <>
Subject: RE: do you own nsIWebshell now?

Hi Steve,
   To answer your question, "maybe". :)  What actually happened is Don
asked me if I could take ownership of it, so in that respect yes, I am.  My
answer however was that because of my current workload, I was not sure I
could do it for beta one.  I told him I would look at the work involved to
spec out better if it could happen for beta 1.  After talking with Scott and
others, it sounds like there is quite a bit to do it right and I don't think
it can happen for beta 1.

Scott did mention to me the improvements you mentioned.  I have not gotten a
detailed overview of the current webshell and requirements and list of
problems.  Which I would be more than happy to get more information from
anyone who has it.

 -----Original Message-----
From: Steve Clark []
Sent: Tuesday, September 07, 1999 8:49 AM
To: Travis Bogard
Cc: peter linss
Subject: do you own nsIWebshell now?

rumor has it you are the new owner of nsIWebshell.
Peter L. and I had been working with Scott C. on major design improvements
needed for webshell.  These improvements are badly needed for gfx text
controls, as well as for performance of framesets and iframes.  I need to
know if these improvements are actually going to get done before beta, and
if not I need to devise an alternate plan for getting performance from gfx
text controls.

When Scott handed webshell to you, did he include any of the design for
such improvements?  They involve breaking webshell into 2 objects, a
top-level webshell that is used to embed gecko and which includes all the
heavyweight related services like session history;  and a smaller
lightweight subdoc shell used for embedding logically independent chunks in
the topmost webshell, basically a wrapper for <a doc, a pres shell>.  The
key performance improvements are the small size of the subdoc shell, the
ability to hand the subdoc shell a doc rather than forcing a URL load via
necko, and the ability to hand the subdoc shell a pres context rather than
having it fabricate its own.

I'd love to talk to you about these things, assuming of course you really
are the new owner.

Blocks: 12659
Priority: P3 → P1
Summary: [BETA][FEATURE] nsIWebshell improvements → [BETA] nsIWebshell improvements
Whiteboard: Who owns nsIWebshell? Travis? He must decide ...
Target Milestone: M13
the second paragraph of my note pretty well covers it.
1) webshell needs to be split into 2 objects, a topmost webshell used for
embedding gecko, and a lightweight 'docshell' used for embedding subdocs
recursively in the webshell.  The docshell will basically be a pres shell and a
2) the docshell must have an API for the caller to supply a document, rather
than going through necko to load a URL
3) the docshell must have an API for the caller to supply a pres context, rather
than creating one itself.
4) webshell currently spawns a window that sets itself up for drag and drop. for
subdocs that don't want to support drag and drop, this is a tremendous waste of
time.  windows support being told whether they should enable drag and drop, but
webshell doesn't expose this.

the reasons for doing this are:
1) API rationalization.  webshell is a total mess right now
2) performance (size).  webshell is huge, and requires loading lots of services
and allocating lots of memory for each shell.
3) performance(speed). webshell requires a trip through necko for loading
about:blank which is very slow compared to simply constructing a tiny html
document myself.  webshell also imposes on me the need to re-resolve style for
the entire document on load since it creates its own pres context.

text controls and framesets will benefit enormously.
Blocks: 12646
Whiteboard: Who owns nsIWebshell? Travis? He must decide ... → [Perf]Who owns nsIWebshell? Travis? He must decide ...
Putting on [Perf] radar.
Summary: [BETA] nsIWebshell improvements → [BETA][WebShell] nsIWebshell improvements
Depends on: 6779
Putting Rick Potts on the cc list because I think he should take over this bug.
Blocks: 14469
Blocks: 15160
No longer blocks: 14469
QA Contact: beppe → leger
reassigning QA contact to Leger since this is a tracking bug
Blocks: 14727
Assignee: don → travis
Severity: normal → critical
Whiteboard: [Perf]Who owns nsIWebshell? Travis? He must decide ...
Target Milestone: M13 → M11
seems like travis should own this now.
Blocks: 16654
Summary: [BETA][WebShell] nsIWebshell improvements → [Dogfood][BETA][WebShell] nsIWebshell improvements
Whiteboard: [PDT+]
Added dogfood and PDT+ annotations.  Lower level infrastructure needs to be
landed ASAP to avoid late term destabilization.
Blocks: 16950
Blocks: 17432
Blocks: 17907
Blocks: 18278
Blocks: 11596
Blocks: 5569
Blocks: 8470
Blocks: 9995
Blocks: 17358
Blocks: 1633
Blocks: 4269
Blocks: 4449
No longer depends on: 6779
Blocks: 6779
Blocks: 12493
Blocks: 11678
Blocks: 9861
Blocks: 11095
Blocks: 13385
Blocks: 18471
Summary: [Dogfood][BETA][WebShell] nsIWebshell improvements → [DOGFOOD][BETA][WebShell] nsIWebshell improvements
Whiteboard: [PDT+] → [PDT+] 12/17??? completion
Can we get this fully completed before 12/17?
Blocks: 1718
Blocks: 18951
Blocks: 20090
Blocks: 20203
Blocks: 14696
Blocks: 17570
Blocks: 17697
Blocks: 15343
Blocks: 15345
Blocks: 20870
Whiteboard: [PDT+] 12/17??? completion → [PDT+] 12/17 completion
Target Milestone: M12 → M13
Finalized date to 12/17 but move to M13.
Updating QA contact.
Blocks: 18991
Blocks: 18518
Blocks: 21564
Whiteboard: [PDT+] 12/17 completion → 12/17 completion
Removing PDT+ status because it's obvious we're not gonna hold up dogfood for
Whiteboard: 12/17 completion → [PDT-]12/17 completion
Putting on PDT- radar.  spoke with don, enough of this is working at this time.
QA Contact: paulmac → travis
Updating the QA Contact.
Blocks: 22176
Summary: [DOGFOOD][BETA][WebShell] nsIWebshell improvements → [FEATURE][WebShell] nsIWebshell improvements
Whiteboard: [PDT-]12/17 completion
Replace "DOGFOOD" and "BETA" with "FEATURE" in summary.
No longer blocks: 12659
Removed dependency from bug #12659.
*** Bug 15056 has been marked as a duplicate of this bug. ***
Blocks: 8705
Move to M14.  Much has landed already, but keeping the bug around until we have
everything done.  We have individual bugs for features waiting on the full
webshell landing.  Those are being addressed as possible.  As you can see from
the dependency list, much are already getting fixed.
Blocks: 24206
Target Milestone: M13 → M14
Hmmmm ... it didn't move to M14 for soe reason.  Weird ...
Nominating as a "beta1" blocker.
Keywords: beta1
We need latest status please!
Whiteboard: [PDT+]
Blocks: ? 17685, 24
No longer blocks: ? 24206
Blocks: ? 18798, 22
No longer blocks: ? 22176, 24
Blocks: ? 21373, 21
No longer blocks: ? 21564, 22
Whiteboard: [PDT+] → [PDT+] 3/10
Could we be more specific about the user impact of what's left to implement?
The 3/10 date scares me.  Removing PDT+ for reconsideration.
Whiteboard: [PDT+] 3/10 → 3/10
Putting on PDT- radar for beta1.
Whiteboard: 3/10 → [PDT-]3/10
Blocks: ? 21564, 22
No longer blocks: ? 12493, 21
Move this tracker to M15.  (And I'm willing to move it to M16 too :-)

Target Milestone: M14 → M15
Move to M16 for now ...
Target Milestone: M15 → M16
Blocks: ? 22176, 24
No longer blocks: ? 15345, 22
This bug blocks bug 28142 as indicated by the comments there.

Adding. Please correct me I shouldn't have.

M16 has been out for a while now, these bugs target milestones need to be 
Travis no longer works here. reassigning ownerless bugs to docshell owner,
valeski for further triage.
Assignee: travis → valeski
Blocks: ? 24206, 28
No longer blocks: ? 17432, 24
Blocks: ? 28142
No longer blocks: ? 17907, 28
No longer blocks: 18471
No longer blocks: 18951
No longer blocks: 20203
No longer blocks: 20870
No longer blocks: 21564
No longer blocks: 22176
No longer blocks: 24206
Component: XP Apps → Embedding: Docshell
Keywords: beta1embed
Whiteboard: [PDT-]3/10
Keywords: nsbeta3
this blocks 5569, we need it for beta3...
Whiteboard: [nsbeta3+]
closing out. not used.
Closed: 19 years ago
Resolution: --- → INVALID
Could you 'Verify' this tracking bug, if applicable? Thanks from QA...
vrfy invalid
You need to log in before you can comment on or make changes to this bug.