PDA

View Full Version : Solution for mozilla-* applications found



probono
05-15-2005, 11:43 AM
Up to now, cmg creation for Mozilla-* applications such as Netscape, Firefox, Firebird, Sunbird and nvu failed because these applications need a writeable directory at first start (I continue to consider this bad design).

After some investigation, I have now found the root cause:

The file firefox/chrome/app-chrome.manifest gets written at first start. If (as in the case of a cmg) this is not writeable, then the launch fails. The workaround for klik is that it needs to create that file (with proper content) before the cmg gets created.

As a proof of concept, I have set up
klik://firefox-nightly - this installs the latest developer build of firefox, which is updated almost every day. The cmg is built "on the fly", using the following as firefox/chrome/app-chrome.manifest


content necko jar:comm.jar!/content/necko/
content xbl-marquee jar:comm.jar!/content/xbl-marquee/
content cookie jar:comm.jar!/content/cookie/
content passwordmgr jar:toolkit.jar!/content/passwordmgr/
content global jar:toolkit.jar!/content/global/
content global-platform jar:toolkit.jar!/content/global-platform/ platform
content global-region jar:toolkit.jar!/content/global-region/
content mozapps jar:toolkit.jar!/content/mozapps/
skin communicator classic/1.0 jar:classic.jar!/skin/classic/communicator/
skin global classic/1.0 jar:classic.jar!/skin/classic/global/
skin mozapps classic/1.0 jar:classic.jar!/skin/classic/mozapps/
skin help classic/1.0 jar:classic.jar!/skin/classic/help/
content pipnss jar:pipnss.jar!/content/pipnss/
overlay chrome://browser/content/pageInfo.xul chrome://pippki/content/PageInfoOverlay.xul
overlay chrome://communicator/content/pref/preftree.xul chrome://pippki/content/PrefOverlay.xul
overlay chrome://navigator/content/pageInfo.xul chrome://pippki/content/PageInfoOverlay.xul
content pippki jar:pippki.jar!/content/pippki/
overlay chrome://browser/content/browser.xul chrome://inspector/content/tasksOverlay.xul
overlay chrome://browser/content/macBrowserOverlay.xul chrome://inspector/content/tasksOverlay.xul
overlay chrome://inspector/content/commandOverlay.xul chrome://inspector/content/viewers/dom/commandOverlay.xul
overlay chrome://inspector/content/commandOverlay.xul chrome://inspector/content/viewers/styleRules/commandOverlay.xul
overlay chrome://inspector/content/commandOverlay.xul chrome://inspector/content/search/modules/commandOverlay.xul
overlay chrome://inspector/content/keysetOverlay.xul chrome://inspector/content/viewers/dom/keysetOverlay.xul
overlay chrome://inspector/content/popupOverlay.xul chrome://inspector/content/viewers/dom/popupOverlay.xul
overlay chrome://inspector/content/popupOverlay.xul chrome://inspector/content/viewers/styleRules/popupOverlay.xul
overlay chrome://inspector/content/popupOverlay.xul chrome://inspector/content/search/modules/popupOverlay.xul
content inspector jar:inspector.jar!/content/inspector/
locale inspector en-US jar:inspector.jar!/locale/en-US/inspector/
skin inspector classic/1.0 jar:inspector.jar!/skin/classic/inspector/
skin inspector modern/1.0 jar:inspector.jar!/skin/modern/inspector/
content branding jar:browser.jar!/content/branding/
content browser jar:browser.jar!/content/browser/
content browser-region jar:browser.jar!/content/browser-region/
overlay chrome://communicator/content/contentAreaContextOverlay.xul chrome://communicator/content/permissions/imageContextOverlay.xul
overlay chrome://communicator/content/pref/preftree.xul chrome://communicator/content/pref/permissionsPrefsOverlay.xul
overlay chrome://navigator/content/navigatorOverlay.xul chrome://communicator/content/permissions/permissionsNavigatorOverlay.xul
overlay chrome://navigator/content/navigatorOverlay.xul chrome://communicator/content/permissions/cookieTasksOverlay.xul
overlay chrome://messenger/content/mailWindowOverlay.xul chrome://communicator/content/permissions/imageContextOverlay.xul
content communicator jar:comm.jar!/content/communicator/
skin browser classic/1.0 jar:classic.jar!/skin/classic/browser/


Greetings,
probono

probono
05-15-2005, 11:44 AM
Now, can anynoe tell me how to extract the contents of this "magic" file automatically without having to launch mozilla-*?

Why isn't the file simply part of the package? Why gets it created at first launch? Can this beahvior be changed?