Closed
Bug 305098
Opened 19 years ago
Closed 19 years ago
JEP only built for camino + firefox
Categories
(Core Graveyard :: Plug-ins, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: benjamin, Assigned: mark)
References
Details
(Keywords: fixed1.8)
Attachments
(1 file)
1.82 KB,
patch
|
benjamin
:
review+
jaas
:
review+
asa
:
approval1.8b4+
|
Details | Diff | Splinter Review |
Bug 303161 made the JEP java embedding plugin only build for Firefox + Camino. This seems very silly: if JEP is part of our core plugin architecture on mac (and it seems like it should be), then it should be built whenever we enable plugins, not just for Firefox + Camino.
Reporter | ||
Updated•19 years ago
|
Blocks: xulrunner-1.8
At the moment JEP is more of a test than "part of our core plugin architecure". However, so long as no project owners are getting JEP when they don't want it, this sounds fine.
Assignee | ||
Comment 2•19 years ago
|
||
CCing project owners. How do y'all feel about bundling the JEP for Mac OS X? More background is in bug 303161 and http://javaplugin.sourceforge.net/ .
Comment 3•19 years ago
|
||
IMHO, it should be built unconditional of the application, i.e. the ifneq in http://lxr.mozilla.org/seamonkey/source/Makefile.in#341 should just be removed.
Assignee | ||
Comment 4•19 years ago
|
||
Enable JEP whenever MOZ_PLUGINS is defined. Logic is moved out of the root makefile and into JEP's.
Attachment #193085 -
Flags: review?(benjamin)
Reporter | ||
Updated•19 years ago
|
Attachment #193085 -
Flags: review?(benjamin) → review+
Attachment #193085 -
Flags: review+
Assignee | ||
Comment 5•19 years ago
|
||
Comment on attachment 193085 [details] [diff] [review] Patch The dependent patch did land on the 1.8 branch. I'm not sure if anyone wants to take this there - it's more up to the consensus of the project owners - but it's not really my decision to make. Nominating for approval so the decision can be made. This patch bundles the Mac JEP plugin in any product whenever plugins are enabled. Without this patch, the JEP plugin is only bundled with Camino (bug 301076) and Firefox (bug 303161).
Attachment #193085 -
Flags: approval1.8b4?
Reporter | ||
Comment 6•19 years ago
|
||
We absolutely need to bundle JEP with xulrunner and the suite if we're bundling it with ffox/camino. What other projects are there (I'm presuming that tbird still disables plugins, right?)
Assignee | ||
Comment 7•19 years ago
|
||
I have MOZ_PLUGINS=1 in a standard Thunderbird build. I'd like to hear from mscott on this.
Comment 8•19 years ago
|
||
I believe TBird still does disable plugins. One possible use case for at least some plugins would be to allow TBird to view (eg) .doc and .pdf files inline. Other plugins (eg Flash and possibly Java) seem less desirable. I can imagine similar uses cases for plugins in Sunbird as the ones I mentioned above for TBird (eg attaching an agenda.doc to an event). However, I kinda suspect that this is rarer in email.
Reporter | ||
Comment 9•19 years ago
|
||
Does tbird only pref-off plugins? That makes more sense, and if it does, then we should still be building JEP (I presume that JEP honors the disable-plugins prefs like any other plugin).
Reporter | ||
Comment 10•19 years ago
|
||
http://lxr.mozilla.org/mozilla/source/mail/app/profile/all-thunderbird.js#180
Comment 11•19 years ago
|
||
> I presume that JEP honors the disable-plugins prefs like any other plugin
As far as I know it's the plugin host itself (e.g. the browser) that checks
this setting, and loads or doesn't load plugins accordingly.
In any case, there is (as far as I know) no logic in the MRJ Plugin JEP that
checks this setting. (The MRJ Plugin JEP is what's loaded by Mozilla-family
plugin hosts. It in turn loads JavaEmbeddingPlugin.bundle (which enables
support for Java versions higher than 1.3.1) if that's available.)
Reporter | ||
Comment 12•19 years ago
|
||
That's what I figured. We should test this to make sure, of course.
Assignee | ||
Comment 13•19 years ago
|
||
(In reply to comment #11) > In any case, there is (as far as I know) no logic in the MRJ Plugin JEP that > checks this setting. (The MRJ Plugin JEP is what's loaded by Mozilla-family > plugin hosts. It in turn loads JavaEmbeddingPlugin.bundle (which enables > support for Java versions higher than 1.3.1) if that's available.) Steven, as long as we've got your attention: one thing that concerns me is what you say (or imply) about mtime checking in the JEP readme. We obviously want the MRJ plugin to load JEP, but it sounds like that's not guaranteed. I don't mind loading newer JEPs installed elsewhere in the system, but I'm a little frightened of the inconsistent results we'd see if and when Apple bumps the mtime on the 1.3 plugin. Am I worrying for nothing, or is this something we can take proactive control of?
Comment 14•19 years ago
|
||
> Steven, as long as we've got your attention: one thing that concerns me is
> what you say (or imply) about mtime checking in the JEP readme.
This isn't something you have to worry about if MRJPlugin.plugin and
JavaEmbeddingPlugin.bundle are in the distro's Contents/MacOS/plugins
directory. That's where the browser looks first for plugins to handle a given
MIME type. Once it finds one it doesn't look any further.
(You only have to fiddle with MRJPlugin.plugin's last modification time if you
install it (and JavaEmbeddingPlugin.bundle) to a directory that might contain
another plugin that handles the x-java-applet or x-java-vm MIME types -- such
as /Library/Internet Plug-Ins/ or ~/Library/Internet Plug-Ins/. Whenever the
browser checks a directory for plugins, it examines them in the order of their
most recent modification, newest first. The relevant code is in
nsPluginHostImpl.cpp. The plugins in a given directory are sorted by mtime
using a call to pluginFilesArray.Sort() in ScanPluginsDirectory().
I assume a non-browser plugin host would behave the same way.)
Assignee | ||
Comment 15•19 years ago
|
||
(In reply to comment #14) > This isn't something you have to worry about if MRJPlugin.plugin and > JavaEmbeddingPlugin.bundle are in the distro's Contents/MacOS/plugins > directory. That's where the browser looks first for plugins to handle a given > MIME type. Once it finds one it doesn't look any further. That I understand - I was more worried about the MRJ plugin finding an outdated JEP bundle or not finding the JEP bundle at all. I've taken a look at the MRJ source and see that this is impossible (getJEPBundle), so it's nothing to worry about. This is clear again now that I've reread your README, which mentions nothing of the bundle's mtime. Thanks so much for your work on this plugin!
Comment 16•19 years ago
|
||
> I don't mind loading newer JEPs installed elsewhere in the system
If both MRJPlugin.plugin and JavaEmbeddingPlugin.bundle are in the distro's
Contents/MacOS/plugins directory, and if their versions match,
MRJPlugin.plugin will always load the "right" JavaEmbeddingPlugin.bundle.
For a long time the MRJ Plugin JEP has been written not to load a
JavaEmbeddingPlugin.bundle whose version doesn't match its own. For an
equally long time I've bumped the version for both files when I issue a new
release (even a new "nightly"). This "version number" is internal, and known
only to the MRJ Plugin JEP and JavaEmbeddingPlugin.bundle. It's not any of
the version numbers in Info.plist or InfoPlist.strings, or what you see when
you do Get Info (though I've been careful to keep these "public" version
numbers in sync with the "internal" ones).
As of JEP 0.9.3, the MRJ Plugin JEP looks for a JavaEmbeddingPlugin.bundle in
the following directories, in the following order -- the directory from which
it's been run, ~/Library/Internet Plug-Ins, /Library/Internet Plug-Ins. (It
used only to look in ~/Library/Internet Plug-Ins and /Library/Internet
Plug-Ins. My change was intended to make it possible to achieve a
bullet-proof solution to the versioning problem (and to the mtime problem) by
putting both files in the distro's Contents/MacOS/plugins directory.)
My comment was written before your own latest one. But since I went to the
trouble ... :-)
Assignee | ||
Comment 17•19 years ago
|
||
Mail has plugins preffed off and calendar is built without plugin support: http://lxr.mozilla.org/mozilla/source/calendar/sunbird/config/mozconfig#22 so I've checked this in on the trunk. It's a good idea on the branch too, for consistent Java support across all 1.8-based products. This primarily affects Seamonkey and XULRunner.
Status: NEW → RESOLVED
Closed: 19 years ago
Resolution: --- → FIXED
Assignee | ||
Comment 18•19 years ago
|
||
Requesting blocking1.8b4 for additional 1.8 driver attention.
Flags: blocking1.8b4?
Comment 19•19 years ago
|
||
One last tidbit:
> As of JEP 0.9.3, the MRJ Plugin JEP looks for a JavaEmbeddingPlugin.bundle
> in the following directories, in the following order -- the directory from
> which it's been run, ~/Library/Internet Plug-Ins, /Library/Internet
> Plug-Ins.
This is slightly incorrect. Version 0.9.3 of the MRJ Plugin JEP actually
looks in the directory from which it's been run, _the directory above that_,
~/Library/Internet Plug-Ins, and /Library/Internet Plug-Ins.
I did this because I had trouble getting an older version of Camino (I can no
longer remember which one) to deal with having a non-recognized plugin type
(i.e. JavaEmbeddingPlugin.bundle) in its Contents/MacOS/plugins directory.
Updated•19 years ago
|
Flags: blocking1.8b4?
Assignee | ||
Comment 20•19 years ago
|
||
See comment 6 - JEP is already bundled with Firefox and Camino on the branch, and according to that comment, absolutely must be bundled the same way on the trunk.
Flags: blocking1.8b4?
Updated•19 years ago
|
Attachment #193085 -
Flags: approval1.8b4? → approval1.8b4+
Updated•19 years ago
|
Flags: blocking1.8b4? → blocking1.8b4+
Updated•2 years ago
|
Product: Core → Core Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•