Closed Bug 159051 Opened 22 years ago Closed 8 years ago

Eliminate all XUL use in the content area for embedders

Categories

(Core Graveyard :: Embedding: APIs, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED INCOMPLETE

People

(Reporter: sfraser_bugs, Assigned: adamlock)

References

()

Details

There are several ways of getting XUL in the content area, which also happens
for embedders. Two I can think of now are:

* FTP listings (if the prefs to do HTML are not set)
* about:config

Embedders should *never* get XUL in the content area, unless they explicitly ask
for it. We should default to a strict no-XUL in content everywhere, and force
embedders to call an API if they are willing to handle XUL in content.
Summary: Embedders need a switch to eliminate all XUL use the content area → Embedders need a switch to eliminate all XUL use in the content area
Summary: Embedders need a switch to eliminate all XUL use in the content area → Eliminate all XUL use in the content area for embedders
what about file:/// listings, which use xul (by default in mozilla)?
yeah, file://localhost/[path] listings on chimera are horked --er, rather, they
don't display at all.
No longer blocks: 150046
Bug 156978 notes the prefs you can switch to eliminate XUL for local file
listings (and the associated problems).
to remove the xul dependency, why not make it so about:config is not built (or 
part of the default module) for embeddors?

I think we can do this:
mozilla\netwerk\protocol\about\src\nsAboutRedirector.cpp

static RedirEntry kRedirMap[] = {
    { "credits", "http://www.mozilla.org/credits/", PR_TRUE },
    { "mozilla", "chrome://global/content/mozilla.html", PR_TRUE },
#ifndef NO_XUL_EMBEDDORS
    { "config", "chrome://global/content/config.xul", PR_FALSE },
#endif
    { "plugins", "chrome://global/content/plugins.html", PR_TRUE }
};

or, if we want to allow them to implement their own about:config, we could do 
this:

static RedirEntry kRedirMap[] = {
    { "credits", "http://www.mozilla.org/credits/", PR_TRUE },
    { "mozilla", "chrome://global/content/mozilla.html", PR_TRUE },
#ifdef NO_XUL_EMBEDDORS
    { "config", "chrome://global/content/config.html", PR_TRUE },
#else
    { "config", "chrome://global/content/config.xul", PR_FALSE },
#endif
    { "plugins", "chrome://global/content/plugins.html", PR_TRUE }
};

and then supply a config.html for them.

I think that we should just turn off about:config for embeddors.
XUL file url stuff is bug 102812. ITs mostly done, but I don't have time to work
on it at the moment - if someone else wants ot pick it up, be my guest.
Blocks: 102812
No longer blocks: 102812
Depends on: 102812
QA Contact: mdunn → depstein
QA Contact: depstein → ashishbhatt
adt: nsbeta1-
Keywords: nsbeta1nsbeta1-
Does the person in charge of about: redirects want to take this off me?
QA Contact: ashshbhatt → apis
Marking a bunch of bugs in the "Embedding: APIs" component INCOMPLETE in preparation to archive that component. If I have done this incorrectly, please reopen the bugs and move them to a more correct component as we don't have "embedding" APIs any more.
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → INCOMPLETE
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.