Quote
guenter
BTW. If the changes that are needed are in chrome's JavaSCript (which I think), that is used in human readable form in 1.6.beta2.
it is not in /chrome/*.jar
(updated information 2011-02-10/2011-02-14)
it is in /XUL.DLL
You can patch Firefox with Gecko > 1.9 to get same errors.
- bin-search-replace XUL.DLL content-primary>content-offmary
- (only one occurrence)
- run firefox -> error-console
(Example: XUL.DLL 2.0.0.4027)
================
-a??%<K?browser.
blink_allowed
browser.display.
normal_lineheigh
t_calc_control
content-primary
c o n t e n t -
content-targ
etable ¦É-ª¦§-?
================
'In Gecko 1.8.1 (Firefox 2) and earlier, the type may be 'content',
'content-primary' or some other 'content-' prefix. In Gecko 1.9 only
type='content-primary' and type='content-targetable' browsers may be
targeted.'
explanation found here:
http://fixunix.com/mozilla/406647-quirksmode.html
K-Meleon 1.6+ is missing the code for
content-primary' and content-targetable
which came with gecko 1.9.x.
In K-Meleon 1.6b2 the code for
content-primary' and content-targetable
which came with gecko 1.9.x.
is in components/gklayout.dll.
In K-Meleon 1.7a2 it is in XUL.DLL.
Apparently it is not used or
fails for some reason.
--
found this in Firefox sources:
mozilla-1.9.1\content\base\src\nsFrameLoader.cpp
<!-- snip
/**
* Set the type of the treeitem and hook it up to the treeowner.
* @param aItem the treeitem we're wrking working with
* @param aOwningContent the content node that owns aItem
* @param aTreeOwner the relevant treeowner; might be null
* @param aParentType the nsIDocShellTreeItem::GetType of our parent docshell
* @param aParentNode if non-null, the docshell we should be added as a child to
*
* @return whether aItem is top-level content
*/
static PRBool
AddTreeItemToTreeOwner(nsIDocShellTreeItem* aItem, nsIContent* aOwningContent,
nsIDocShellTreeOwner* aOwner, PRInt32 aParentType,
nsIDocShellTreeNode* aParentNode)
{
NS_PRECONDITION(aItem, 'Must have docshell treeitem');
NS_PRECONDITION(aOwningContent, 'Must have owning content');
nsAutoString value;
PRBool isContent = PR_FALSE;
if (aOwningContent->IsNodeOfType(nsINode::eXUL)) {
aOwningContent->GetAttr(kNameSpaceID_None, nsGkAtoms::type, value);
}
// we accept 'content' and 'content-xxx' values.
// at time of writing, we expect 'xxx' to be 'primary' or 'targetable', but
// someday it might be an integer expressing priority or something else.
isContent = value.LowerCaseEqualsLiteral('content') ||
StringBeginsWith(value, NS_LITERAL_STRING('content-'),
nsCaseInsensitiveStringComparator());
if (isContent) {
// The web shell's type is content.
aItem->SetItemType(nsIDocShellTreeItem::typeContent);
} else {
// Inherit our type from our parent webshell. If it is
// chrome, we'll be chrome. If it is content, we'll be
// content.
aItem->SetItemType(aParentType);
}
// Now that we have our type set, add ourselves to the parent, as needed.
if (aParentNode) {
aParentNode->AddChild(aItem);
}
PRBool retval = PR_FALSE;
if (aParentType == nsIDocShellTreeItem::typeChrome && isContent) {
retval = PR_TRUE;
PRBool is_primary = value.LowerCaseEqualsLiteral('content-primary');
if (aOwner) {
PRBool is_targetable = is_primary ||
value.LowerCaseEqualsLiteral('content-targetable');
aOwner->ContentShellAdded(aItem, is_primary, is_targetable, value);
}
}
return retval;
}
// snip -->
Edited 3 time(s). Last edit at 02/14/2011 01:46PM by deadlock.