Closed Bug 222049 Opened 18 years ago Closed 13 years ago

taskOverlay.xul should include chrome://communicator/locale/tasksOverlay.dtd

Categories

(Thunderbird :: Mail Window Front End, defect)

x86
Windows XP
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 386908
Thunderbird0.6

People

(Reporter: BijuMailList, Unassigned)

References

()

Details

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.6a) Gecko/20031002 Firebird/0.7+
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.6a) Gecko/20031002 Firebird/0.7+

Various extension developers are facing problem because of this... see

<snip>
In calendar, we call taskOverlay.xul to add the standards Suite element in the
calendar Window. This file is present in the Thunderbird hierarchy but this file
should includes the DTD file chrome://communicator/locale/tasksOverlay.dtd which
is not present in Thunderbird.
</snip>

There are many other examples

Reproducible: Always

Steps to Reproduce:
1. install http://downloads.mozdev.org/quicktools/QuickTools_Tb.xpi
2. install calendar from http://www.mozilla.org/projects/calendar/ 
3. now try Tools/Calendar
In fact, it will be sufficient to include the DTD file from
chrome://communicator/locale/tasksOverlay.dtd. 
Indeed, other files are loaded when tasksOverlay.xul is loaded. At least,
editorTasksOverlay.xul is loaded through dynamic overlay defined in
chrome/overlayinfo/communicator/content/overlays.rdf. This other file misses
also its DTD definition. 
I try to run calendar, after the suppression of TasksOverlay.xul of Thunderbird
hierarchy and cleaning in chrome/overlayinfo/communicator/content/overlays.rdf
and it works well...

....
Sorry the first line of previous comment should be :
In fact, it will NOT be sufficient....
Blocks: 227681
biju, so all you need from me is to make sure tasksOverlay.dtd gets loaded with
the overlay file? Any specific strings youare looking for in that file? Trying
to get a handle on why you need a dtd file. I would think the overlay is all you
need to hook into things.
Target Milestone: --- → Thunderbird0.5
The tasksOverlay.xul file try to load the DTD file
chrome://communicator/locale/tasksOverlay.dtd.
This DTD file is used to define the strings which appears in the interface (it
is language specific). In tasksOverlay, those strings are menu labels or key to
access to commands (i.e. &javaScriptConsoleCmd.label;). So, it is not coherent
to include tasksOverlay.xul without including tasksOverlay.dtd (the first one is
not usefull without the second one).

The problem in thunderbird is that that this incoherence exists. You have two
possibilities to correct this bug. 

1. You can either remove the following files from the hierarchy : 
 - communicator/content/tasksOverlay.js
 - communicator/content/tasksOverlay.xul
 - editor/content/editorTasksOverlay.xul
and remove the following lines from editor/content/contents.rdf
  <!-- editor tasks overlay -->
  <RDF:Seq about="chrome://communicator/content/tasksOverlay.xul">
    <RDF:li>chrome://editor/content/editorTasksOverlay.xul</RDF:li>
  </RDF:Seq>

2. Or you can choose to support the tasksOverlay.xul file and you then would
have to include the file chrome://communicator/locale/tasksOverlay.dtd in the
thunderbird hierarchy (this file in present in Firebird and The Suite).

After some testings, I could say that both solutions are correct for the
extension support. If the files are not available in the hierarchy they will not
be loaded by the extension, modifying the application support, but the extension
will run without errors. Nevertheless, the second solution is preferable for
large extensions like calendar.
I prefer the second solution.

I tried following 

downloaded
http://ftp.mozilla.org/pub/mozilla.org/thunderbird/nightly/2003-12-11-trunk/thunderbird-win32.zip

added tasksOverlay.dtd from a old mozilla build to
en-US-mail.jar\locale\en-US\communicator\tasksOverlay.dtd

In mail.jar\content\messenger\messenger.xul
added
<?xul-overlay href="chrome://communicator/content/tasksOverlay.xul"?>


commented  line 63 of mail.jar\content\messenger\mailCore.js ie,
   const nsIWindowMediator = Components.interfaces.nsIWindowMediator;
because it is already defined in
mail.jar\content\communicator\tasksOverlay.js

Tested and it looks fine to me except for "JavaScript Console" menu items is
repeating
and there is a "Download Manager" menu item which is not functioning.
If possible we could make this as "Attachment manager"

moving these bugs to 0.6
Target Milestone: Thunderbird0.5 → Thunderbird0.6
Scott any progress, we are past 0.6?
QA Contact: front-end
Assignee: mscott → nobody
Any thoughts on how this can be moved forward?
Sideways beats forward.
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → DUPLICATE
Duplicate of bug: 386908
You need to log in before you can comment on or make changes to this bug.