--- a/.hgtags
+++ b/.hgtags
@@ -1,4 +1,6 @@
df7a3c8ffeeaba229067efee5a20e21dae0dd877 MOZILLA_1_9_a4_BASE
4209e16b58411750ac73f761023e46b76b793e2c MOZILLA_1_9_a6_BASE
66a5c7bce7ee86a820d3c0d54fa07cb719be751c MOZILLA_1_9_a7_BASE
caeba7562e495a9f604984df0b48b6f99bec3e2e FENNEC_M4
+9d9941eacb14827fdab4716710042fdde84eb60d FIREFOX_3_1a1_RELEASE
+9d9941eacb14827fdab4716710042fdde84eb60d FIREFOX_3_1a1_BUILD1
--- a/accessible/public/msaa/ISimpleDOMDocument.idl
+++ b/accessible/public/msaa/ISimpleDOMDocument.idl
@@ -87,40 +87,32 @@ cpp_quote("// * See latest W3C CSS specs
cpp_quote("//")
cpp_quote("//")
cpp_quote("///////////////////////////////////////////////////////////////////////////////////////////////////////")
cpp_quote("")
cpp_quote("")
import "objidl.idl";
import "oaidl.idl";
-
-
-const long DISPID_DOC_URL = -5904;
-const long DISPID_DOC_TITLE = -5905;
-const long DISPID_DOC_MIMETYPE = -5906;
-const long DISPID_DOC_DOCTYPE = -5907;
-const long DISPID_DOC_NAMESPACE = -5908;
-const long DISPID_DOC_MEDIATYPES = -5909;
[object, uuid(0D68D6D0-D93D-4d08-A30D-F00DD1F45B24)]
interface ISimpleDOMDocument : IUnknown
{
- [propget, id(DISPID_DOC_URL)] HRESULT URL(
+ [propget] HRESULT URL(
[out, retval] BSTR * url
);
- [propget, id(DISPID_DOC_TITLE)] HRESULT title(
+ [propget] HRESULT title(
[out, retval] BSTR * title
);
- [propget, id(DISPID_DOC_MIMETYPE)] HRESULT mimeType(
+ [propget] HRESULT mimeType(
[out, retval] BSTR * mimeType
);
- [propget, id(DISPID_DOC_DOCTYPE)] HRESULT docType(
+ [propget] HRESULT docType(
[out, retval] BSTR * docType
);
- [propget, id(DISPID_DOC_NAMESPACE)] HRESULT nameSpaceURIForID(
+ [propget] HRESULT nameSpaceURIForID(
[in] short nameSpaceID,
[out, retval] BSTR * nameSpaceURI
);
- [propput, id(DISPID_DOC_MEDIATYPES)] HRESULT alternateViewMediaTypes(
+ [propput] HRESULT alternateViewMediaTypes(
[in] BSTR * commaSeparatedMediaTypes
);
}
--- a/accessible/public/msaa/ISimpleDOMNode.idl
+++ b/accessible/public/msaa/ISimpleDOMNode.idl
@@ -128,23 +128,19 @@ cpp_quote("// Returns the computed langu
cpp_quote("//")
cpp_quote("//")
cpp_quote("///////////////////////////////////////////////////////////////////////////////////////////////////////")
cpp_quote("")
cpp_quote("")
import "objidl.idl";
import "oaidl.idl";
-
-const long DISPID_NODE_NODEINFO = -5900;
-const long DISPID_NODE_ATTRIBUTES = -5901;
-const long DISPID_NODE_ATTRIBUTESFORNAMES = -5902;
-const long DISPID_NODE_COMPSTYLE = -5903;
-const long DISPID_NODE_COMPSTYLEFORPROPS = -5904;
-const long DISPID_NODE_LANGUAGE = -5905;
+
+import "ISimpleDOMText.idl";
+import "ISimpleDOMDocument.idl";
[object, uuid(1814ceeb-49e2-407f-af99-fa755a7d2607)]
interface ISimpleDOMNode : IUnknown
{
const unsigned short NODETYPE_ELEMENT = 1;
const unsigned short NODETYPE_ATTRIBUTE = 2;
const unsigned short NODETYPE_TEXT = 3;
const unsigned short NODETYPE_CDATA_SECTION = 4;
@@ -152,49 +148,49 @@ interface ISimpleDOMNode : IUnknown
const unsigned short NODETYPE_ENTITY = 6;
const unsigned short NODETYPE_PROCESSING_INSTRUCTION = 7;
const unsigned short NODETYPE_COMMENT = 8;
const unsigned short NODETYPE_DOCUMENT = 9;
const unsigned short NODETYPE_DOCUMENT_TYPE = 10;
const unsigned short NODETYPE_DOCUMENT_FRAGMENT = 11;
const unsigned short NODETYPE_NOTATION = 12;
- [propget, id(DISPID_NODE_NODEINFO)] HRESULT nodeInfo(
+ [propget] HRESULT nodeInfo(
[out] BSTR *nodeName, // for performance returns NULL for text nodes (true nodeName would be "#text")
[out] short *nameSpaceID,
[out] BSTR *nodeValue,
[out] unsigned int *numChildren,
[out] unsigned int *uniqueID, // In Win32 accessible events we generate, the target's childID matches to this
[out, retval] unsigned short *nodeType
);
- [propget, id(DISPID_NODE_ATTRIBUTES)] HRESULT attributes(
+ [propget] HRESULT attributes(
[in] unsigned short maxAttribs,
[out, size_is(maxAttribs), length_is(*numAttribs)] BSTR *attribNames,
[out, size_is(maxAttribs), length_is(*numAttribs)] short *nameSpaceID,
[out, size_is(maxAttribs), length_is(*numAttribs)] BSTR *attribValues,
[out, retval] unsigned short *numAttribs
);
- [propget, id(DISPID_NODE_ATTRIBUTESFORNAMES)] HRESULT attributesForNames(
+ [propget] HRESULT attributesForNames(
[in] unsigned short numAttribs,
[in, size_is(numAttribs), length_is(numAttribs)] BSTR *attribNames,
[in, size_is(numAttribs), length_is(numAttribs)] short *nameSpaceID,
[out, retval, size_is(numAttribs), length_is(numAttribs)] BSTR *attribValues
);
- [propget, id(DISPID_NODE_COMPSTYLE)] HRESULT computedStyle(
+ [propget] HRESULT computedStyle(
[in] unsigned short maxStyleProperties,
[in] boolean useAlternateView, // If TRUE, returns properites for media as set in nsIDOMDocument::set_alternateViewMediaTypes
[out, size_is(maxStyleProperties), length_is(*numStyleProperties)] BSTR *styleProperties,
[out, size_is(maxStyleProperties), length_is(*numStyleProperties)] BSTR *styleValues,
[out, retval] unsigned short *numStyleProperties
);
- [propget, id(DISPID_NODE_COMPSTYLEFORPROPS)] HRESULT computedStyleForProperties(
+ [propget] HRESULT computedStyleForProperties(
[in] unsigned short numStyleProperties,
[in] boolean useAlternateView, // If TRUE, returns properites for media as set in nsIDOMDocument::set_alternateViewMediaTypes
[in, size_is(numStyleProperties), length_is(numStyleProperties)] BSTR *styleProperties,
[out, retval, size_is(numStyleProperties), length_is(numStyleProperties)] BSTR *styleValues
);
HRESULT scrollTo([in] boolean placeTopLeft);
@@ -205,12 +201,23 @@ interface ISimpleDOMNode : IUnknown
[propget] HRESULT nextSibling([out, retval] ISimpleDOMNode **node);
[propget] HRESULT childAt([in] unsigned childIndex,
[out, retval] ISimpleDOMNode **node);
[propget] HRESULT innerHTML([out, retval] BSTR *innerHTML);
[propget, local] HRESULT localInterface([out][retval] void **localInterface);
- [propget, id(DISPID_NODE_LANGUAGE)] HRESULT language([out, retval] BSTR *language);
+ [propget] HRESULT language([out, retval] BSTR *language);
}
+[
+ uuid(a6245497-9c0b-4449-85a5-bd6ad07df8ea),
+ helpstring("ISimpleDOM Type Library")
+]
+library ISimpleDOM
+{
+ interface ISimpleDOMNode;
+ interface ISimpleDOMText;
+ interface ISimpleDOMDocument;
+};
+
--- a/accessible/public/msaa/Makefile.in
+++ b/accessible/public/msaa/Makefile.in
@@ -93,17 +93,17 @@ OS_LIBS = \
$(NULL)
$(MIDL_GENERATED_FILES): done_gen
done_gen: ISimpleDOMNode.idl \
ISimpleDOMDocument.idl \
ISimpleDOMText.idl
- $(MIDL) $(MIDL_FLAGS) -Oicf $(srcdir)/ISimpleDOMNode.idl
+ $(MIDL) $(MIDL_FLAGS) -I $(srcdir) -Oicf $(srcdir)/ISimpleDOMNode.idl
$(MIDL) $(MIDL_FLAGS) -Oicf $(srcdir)/ISimpleDOMDocument.idl
$(MIDL) $(MIDL_FLAGS) -Oicf $(srcdir)/ISimpleDOMText.idl
touch $@
EXPORTS = \
ISimpleDOMNode.h \
ISimpleDOMNode_i.c \
ISimpleDOMDocument.h \
--- a/accessible/src/base/nsAccessNode.cpp
+++ b/accessible/src/base/nsAccessNode.cpp
@@ -186,18 +186,17 @@ NS_IMETHODIMP nsAccessNode::Init()
do_QueryInterface(docAccessible);
NS_ASSERTION(privateDocAccessible, "No private docaccessible for docaccessible");
privateDocAccessible->CacheAccessNode(uniqueID, this);
// Make sure an ancestor in real content is cached
// so that nsDocAccessible::RefreshNodes() can find the anonymous subtree to release when
// the root node goes away
nsCOMPtr<nsIContent> content = do_QueryInterface(mDOMNode);
- if (content && (content->IsNativeAnonymous() ||
- content->GetBindingParent())) {
+ if (content && content->IsInAnonymousSubtree()) {
// Specific examples of where this is used: <input type="file"> and <xul:findbar>
nsCOMPtr<nsIAccessible> parentAccessible;
docAccessible->GetAccessibleInParentChain(mDOMNode, PR_TRUE, getter_AddRefs(parentAccessible));
if (parentAccessible) {
PRInt32 childCountUnused;
parentAccessible->GetChildCount(&childCountUnused);
}
}
--- a/accessible/src/base/nsAccessibilityUtils.cpp
+++ b/accessible/src/base/nsAccessibilityUtils.cpp
@@ -787,29 +787,28 @@ nsAccUtils::FindNeighbourPointingToNode(
nsIContent*
nsAccUtils::FindNeighbourPointingToNode(nsIContent *aForNode,
nsIAtom **aRelationAttrs,
PRUint32 aAttrNum,
nsIAtom *aTagName,
PRUint32 aAncestorLevelsToSearch)
{
- nsCOMPtr<nsIContent> binding;
nsAutoString controlID;
if (!nsAccUtils::GetID(aForNode, controlID)) {
- binding = aForNode->GetBindingParent();
- if (binding == aForNode)
+ if (!aForNode->IsInAnonymousSubtree())
return nsnull;
aForNode->GetAttr(kNameSpaceID_None, nsAccessibilityAtoms::anonid, controlID);
if (controlID.IsEmpty())
return nsnull;
}
// Look for label in subtrees of nearby ancestors
+ nsCOMPtr<nsIContent> binding(aForNode->GetBindingParent());
PRUint32 count = 0;
nsIContent *labelContent = nsnull;
nsIContent *prevSearched = nsnull;
while (!labelContent && ++count <= aAncestorLevelsToSearch &&
(aForNode = aForNode->GetParent()) != nsnull) {
if (aForNode == binding) {
--- a/accessible/src/base/nsDocAccessible.cpp
+++ b/accessible/src/base/nsDocAccessible.cpp
@@ -1755,19 +1755,18 @@ void nsDocAccessible::RefreshNodes(nsIDO
children->GetLength(&childCount);
nsCOMPtr<nsIDOMNode> possibleAnonNode;
for (PRUint32 index = 0; index < childCount; index++) {
nsCOMPtr<nsIAccessNode> childAccessNode;
children->QueryElementAt(index, NS_GET_IID(nsIAccessNode),
getter_AddRefs(childAccessNode));
childAccessNode->GetDOMNode(getter_AddRefs(possibleAnonNode));
nsCOMPtr<nsIContent> iterContent = do_QueryInterface(possibleAnonNode);
- if (iterContent && (iterContent->IsNativeAnonymous() ||
- iterContent->GetBindingParent())) {
- // GetBindingParent() check is a perf win -- make sure we don't
+ if (iterContent && iterContent->IsInAnonymousSubtree()) {
+ // IsInAnonymousSubtree() check is a perf win -- make sure we don't
// shut down the same subtree twice since we'll reach non-anon content via
// DOM traversal later in this method
RefreshNodes(possibleAnonNode);
}
}
}
}
--- a/accessible/src/base/nsTextUtils.cpp
+++ b/accessible/src/base/nsTextUtils.cpp
@@ -84,17 +84,18 @@ static nsCSSTextAttrMapItem gCSSTextAttr
{ "color", kAnyValue, kCopyName, kCopyValue },
{ "font-family", kAnyValue, kCopyName, kCopyValue },
{ "font-size", kAnyValue, kCopyName, kCopyValue },
{ "font-style", kAnyValue, kCopyName, kCopyValue },
{ "font-weight", kAnyValue, kCopyName, kCopyValue },
{ "text-decoration", "line-through", "text-line-through-style", "solid" },
{ "text-decoration", "underline", "text-underline-style", "solid" },
{ "text-align", kAnyValue, kCopyName, kCopyValue },
- { "text-indent", kAnyValue, kCopyName, kCopyValue }
+ { "text-indent", kAnyValue, kCopyName, kCopyValue },
+ { "vertical-align", kAnyValue, "text-position", kCopyValue }
};
nsCSSTextAttr::nsCSSTextAttr(PRBool aIncludeDefAttrValue, nsIDOMElement *aElm,
nsIDOMElement *aRootElm) :
mIndex(-1), mIncludeDefAttrValue(aIncludeDefAttrValue)
{
nsAccessNode::GetComputedStyleDeclaration(EmptyString(), aElm,
getter_AddRefs(mStyleDecl));
--- a/accessible/src/html/nsHyperTextAccessible.cpp
+++ b/accessible/src/html/nsHyperTextAccessible.cpp
@@ -635,17 +635,19 @@ nsresult nsHyperTextAccessible::DOMPoint
// Get accessible for this findNode, or if that node isn't accessible, use the
// accessible for the next DOM node which has one (based on forward depth first search)
nsCOMPtr<nsIAccessible> descendantAccessible;
if (findNode) {
nsCOMPtr<nsIContent> findContent = do_QueryInterface(findNode);
if (findContent->IsNodeOfType(nsINode::eHTML) &&
findContent->NodeInfo()->Equals(nsAccessibilityAtoms::br)) {
nsIContent *parent = findContent->GetParent();
- if (parent && parent->IsNativeAnonymous() && parent->GetChildCount() == 1) {
+ if (parent &&
+ parent->IsRootOfNativeAnonymousSubtree() &&
+ parent->GetChildCount() == 1) {
// This <br> is the only node in a text control, therefore it is the hacky
// "bogus node" used when there is no text in a control
*aHyperTextOffset = 0;
return NS_OK;
}
}
descendantAccessible = GetFirstAvailableAccessible(findNode);
}
@@ -879,16 +881,19 @@ BOUNDARY_LINE_START From the line
BOUNDARY_LINE_END From the line end before/at/after the offset to the next line start.
*/
nsresult nsHyperTextAccessible::GetTextHelper(EGetTextType aType, nsAccessibleTextBoundary aBoundaryType,
PRInt32 aOffset, PRInt32 *aStartOffset, PRInt32 *aEndOffset,
nsAString &aText)
{
aText.Truncate();
+
+ NS_ENSURE_ARG_POINTER(aStartOffset);
+ NS_ENSURE_ARG_POINTER(aEndOffset);
*aStartOffset = *aEndOffset = 0;
nsCOMPtr<nsIPresShell> presShell = GetPresShell();
if (!presShell) {
return NS_ERROR_FAILURE;
}
if (aOffset == nsIAccessibleText::TEXT_OFFSET_END_OF_TEXT) {
@@ -916,16 +921,62 @@ nsresult nsHyperTextAccessible::GetTextH
-- aOffset; // We are at the start of a line
}
}
}
else if (aOffset < 0) {
return NS_ERROR_FAILURE;
}
+ nsSelectionAmount amount;
+ PRBool needsStart = PR_FALSE;
+ switch (aBoundaryType) {
+ case BOUNDARY_CHAR:
+ amount = eSelectCharacter;
+ if (aType == eGetAt)
+ aType = eGetAfter; // Avoid returning 2 characters
+ break;
+
+ case BOUNDARY_WORD_START:
+ needsStart = PR_TRUE;
+ amount = eSelectWord;
+ break;
+
+ case BOUNDARY_WORD_END:
+ amount = eSelectWord;
+ break;
+
+ case BOUNDARY_LINE_START:
+ // Newlines are considered at the end of a line. Since getting
+ // the BOUNDARY_LINE_START gets the text from the line-start to the next
+ // line-start, the newline is included at the end of the string.
+ needsStart = PR_TRUE;
+ amount = eSelectLine;
+ break;
+
+ case BOUNDARY_LINE_END:
+ // Newlines are considered at the end of a line. Since getting
+ // the BOUNDARY_END_START gets the text from the line-end to the next
+ //line-end, the newline is included at the beginning of the string.
+ amount = eSelectLine;
+ break;
+
+ case BOUNDARY_ATTRIBUTE_RANGE:
+ {
+ nsresult rv = GetTextAttributes(PR_FALSE, aOffset,
+ aStartOffset, aEndOffset, nsnull);
+ NS_ENSURE_SUCCESS(rv, rv);
+
+ return GetText(*aStartOffset, *aEndOffset, aText);
+ }
+
+ default: // Note, sentence support is deprecated and falls through to here
+ return NS_ERROR_INVALID_ARG;
+ }
+
PRInt32 startOffset = aOffset + (aBoundaryType == BOUNDARY_LINE_END); // Avoid getting the previous line
PRInt32 endOffset = startOffset;
// Convert offsets to frame-relative
nsCOMPtr<nsIAccessible> startAcc;
nsIFrame *startFrame = GetPosAndText(startOffset, endOffset, nsnull, nsnull,
nsnull, getter_AddRefs(startAcc));
@@ -943,70 +994,16 @@ nsresult nsHyperTextAccessible::GetTextH
return aOffset > textLength ? NS_ERROR_FAILURE : NS_OK;
}
else {
// We're on the last continuation since we're on the last character
startFrame = startFrame->GetLastContinuation();
}
}
- nsSelectionAmount amount;
- PRBool needsStart = PR_FALSE;
- switch (aBoundaryType)
- {
- case BOUNDARY_CHAR:
- amount = eSelectCharacter;
- if (aType == eGetAt) {
- aType = eGetAfter; // Avoid returning 2 characters
- }
- break;
- case BOUNDARY_WORD_START:
- needsStart = PR_TRUE;
- amount = eSelectWord;
- break;
- case BOUNDARY_WORD_END:
- amount = eSelectWord;
- break;
- case BOUNDARY_LINE_START:
- // Newlines are considered at the end of a line,
- // Since getting the BOUNDARY_LINE_START gets the text from the line-start
- // to the next line-start, the newline is included at the end of the string
- needsStart = PR_TRUE;
- amount = eSelectLine;
- break;
- case BOUNDARY_LINE_END:
- // Newlines are considered at the end of a line,
- // Since getting the BOUNDARY_END_START gets the text from the line-end
- // to the next line-end, the newline is included at the beginning of the string
- amount = eSelectLine;
- break;
- case BOUNDARY_ATTRIBUTE_RANGE:
- {
- // XXX We should merge identically formatted frames
- // XXX deal with static text case
- // XXX deal with boundary type
- nsIContent *textContent = startFrame->GetContent();
- // If not text, then it's represented by an embedded object char
- // (length of 1)
- // XXX did this mean to check for eTEXT?
- // XXX This is completely wrong, needs to be reimplemented
- PRInt32 textLength = textContent ? textContent->TextLength() : 1;
- if (textLength < 0) {
- return NS_ERROR_FAILURE;
- }
- *aStartOffset = aOffset - startOffset;
- *aEndOffset = *aStartOffset + textLength;
- startOffset = *aStartOffset;
- endOffset = *aEndOffset;
- return GetText(startOffset, endOffset, aText);
- }
- default: // Note, sentence support is deprecated and falls through to here
- return NS_ERROR_INVALID_ARG;
- }
-
PRInt32 finalStartOffset, finalEndOffset;
// If aType == eGetAt we'll change both the start and end offset from
// the original offset
if (aType == eGetAfter) {
finalStartOffset = aOffset;
}
else {
@@ -1115,53 +1112,56 @@ nsHyperTextAccessible::GetTextAttributes
NS_ENSURE_ARG_POINTER(aStartOffset);
*aStartOffset = 0;
NS_ENSURE_ARG_POINTER(aEndOffset);
nsresult rv = GetCharacterCount(aEndOffset);
NS_ENSURE_SUCCESS(rv, rv);
- NS_ENSURE_ARG_POINTER(aAttributes);
- *aAttributes = nsnull;
+ if (aAttributes) {
+ *aAttributes = nsnull;
- nsCOMPtr<nsIPersistentProperties> attributes =
- do_CreateInstance(NS_PERSISTENTPROPERTIES_CONTRACTID);
- NS_ENSURE_TRUE(attributes, NS_ERROR_OUT_OF_MEMORY);
+ nsCOMPtr<nsIPersistentProperties> attributes =
+ do_CreateInstance(NS_PERSISTENTPROPERTIES_CONTRACTID);
+ NS_ENSURE_TRUE(attributes, NS_ERROR_OUT_OF_MEMORY);
- NS_ADDREF(*aAttributes = attributes);
+ NS_ADDREF(*aAttributes = attributes);
+ }
if (!mDOMNode)
return NS_ERROR_FAILURE;
nsCOMPtr<nsIDOMNode> node;
PRInt32 nodeOffset = 0;
rv = HypertextOffsetToDOMPoint(aOffset, getter_AddRefs(node), &nodeOffset);
NS_ENSURE_SUCCESS(rv, rv);
// Set 'misspelled' text attribute.
rv = GetSpellTextAttribute(node, nodeOffset, aStartOffset, aEndOffset,
- *aAttributes);
+ aAttributes ? *aAttributes : nsnull);
NS_ENSURE_SUCCESS(rv, rv);
nsCOMPtr<nsIContent> content(do_QueryInterface(node));
if (content && content->IsNodeOfType(nsINode::eELEMENT))
node = do_QueryInterface(content->GetChildAt(nodeOffset));
if (!node)
return NS_OK;
// Set 'lang' text attribute.
rv = GetLangTextAttributes(aIncludeDefAttrs, node,
- aStartOffset, aEndOffset, *aAttributes);
+ aStartOffset, aEndOffset,
+ aAttributes ? *aAttributes : nsnull);
NS_ENSURE_SUCCESS(rv, rv);
// Set CSS based text attributes.
rv = GetCSSTextAttributes(aIncludeDefAttrs, node,
- aStartOffset, aEndOffset, *aAttributes);
+ aStartOffset, aEndOffset,
+ aAttributes ? *aAttributes : nsnull);
return rv;
}
// nsIPersistentProperties
// nsIAccessibleText::defaultTextAttributes
NS_IMETHODIMP
nsHyperTextAccessible::GetDefaultTextAttributes(nsIPersistentProperties **aAttributes)
{
@@ -2224,18 +2224,20 @@ nsHyperTextAccessible::GetSpellTextAttri
&endHTOffset);
NS_ENSURE_SUCCESS(rv, rv);
if (startHTOffset > *aHTStartOffset)
*aHTStartOffset = startHTOffset;
if (endHTOffset < *aHTEndOffset)
*aHTEndOffset = endHTOffset;
- nsAccUtils::SetAccAttr(aAttributes, nsAccessibilityAtoms::invalid,
- NS_LITERAL_STRING("spelling"));
+ if (aAttributes) {
+ nsAccUtils::SetAccAttr(aAttributes, nsAccessibilityAtoms::invalid,
+ NS_LITERAL_STRING("spelling"));
+ }
return NS_OK;
}
}
return NS_OK;
}
@@ -2254,23 +2256,25 @@ nsHyperTextAccessible::GetLangTextAttrib
nsAutoString lang;
nsAccUtils::GetLanguageFor(content, rootContent, lang);
nsAutoString rootLang;
nsresult rv = GetLanguage(rootLang);
NS_ENSURE_SUCCESS(rv, rv);
- // Expose 'language' text attribute if the DOM 'lang' attribute is
- // presented and it's different from the 'lang' attribute on the root
- // element or we should include default values of text attribute.
- const nsAString& resultLang = lang.IsEmpty() ? rootLang : lang;
- if (!resultLang.IsEmpty() && (aIncludeDefAttrs || lang != rootLang))
- nsAccUtils::SetAccAttr(aAttributes, nsAccessibilityAtoms::language,
- resultLang);
+ if (aAttributes) {
+ // Expose 'language' text attribute if the DOM 'lang' attribute is
+ // presented and it's different from the 'lang' attribute on the root
+ // element or we should include default values of text attribute.
+ const nsAString& resultLang = lang.IsEmpty() ? rootLang : lang;
+ if (!resultLang.IsEmpty() && (aIncludeDefAttrs || lang != rootLang))
+ nsAccUtils::SetAccAttr(aAttributes, nsAccessibilityAtoms::language,
+ resultLang);
+ }
nsLangTextAttr textAttr(lang, rootContent);
return GetRangeForTextAttr(aSourceNode, &textAttr,
aStartHTOffset, aEndHTOffset);
}
// nsHyperTextAccessible
nsresult
@@ -2282,17 +2286,17 @@ nsHyperTextAccessible::GetCSSTextAttribu
{
nsCOMPtr<nsIDOMElement> sourceElm(nsAccUtils::GetDOMElementFor(aSourceNode));
nsCOMPtr<nsIDOMElement> rootElm(nsAccUtils::GetDOMElementFor(mDOMNode));
nsCSSTextAttr textAttr(aIncludeDefAttrs, sourceElm, rootElm);
while (textAttr.iterate()) {
nsCAutoString name;
nsAutoString value, oldValue;
- if (textAttr.get(name, value))
+ if (aAttributes && textAttr.get(name, value))
aAttributes->SetStringProperty(name, value, oldValue);
nsresult rv = GetRangeForTextAttr(aSourceNode, &textAttr,
aStartHTOffset, aEndHTOffset);
NS_ENSURE_SUCCESS(rv, rv);
}
return NS_OK;
--- a/accessible/src/html/nsHyperTextAccessible.h
+++ b/accessible/src/html/nsHyperTextAccessible.h
@@ -282,50 +282,50 @@ protected:
* then we expose only range offsets where text is not misspelled. The method
* is used by GetTextAttributes() method.
*
* @param aIncludeDefAttrs [in] points whether text attributes having default
* values of attributes should be included
* @param aSourceNode [in] the node we start to traverse from
* @param aStartOffset [in, out] the start offset
* @param aEndOffset [in, out] the end offset
- * @param aAttributes [out] result attributes
+ * @param aAttributes [out, optional] result attributes
*/
nsresult GetSpellTextAttribute(nsIDOMNode *aNode, PRInt32 aNodeOffset,
PRInt32 *aStartOffset,
PRInt32 *aEndOffset,
nsIPersistentProperties *aAttributes);
/**
* Set 'lang' text attribute and return range offsets where attibute is
* stretched. The method is used by GetTextAttributes() method.
*
* @param aIncludeDefAttrs [in] points whether text attributes having default
* values of attributes should be included
* @param aSourceNode [in] the node we start to traverse from
* @param aStartOffset [in, out] the start offset
* @param aEndOffset [in, out] the end offset
- * @param aAttributes [out] result attributes
+ * @param aAttributes [out, optional] result attributes
*/
nsresult GetLangTextAttributes(PRBool aIncludeDefAttrs,
nsIDOMNode *aSourceNode,
PRInt32 *aStartOffset,
PRInt32 *aEndOffset,
nsIPersistentProperties *aAttributes);
/**
* Set CSS based text attribute and return range offsets where attibutes are
* stretched. The method is used by GetTextAttributes() method.
*
* @param aIncludeDefAttrs [in] points whether text attributes having default
* values of attributes should be included
* @param aSourceNode [in] the node we start to traverse from
* @param aStartOffset [in, out] the start offset
* @param aEndOffset [in, out] the end offset
- * @param aAttributes [out] result attributes
+ * @param aAttributes [out, optional] result attributes
*/
nsresult GetCSSTextAttributes(PRBool aIncludeDefAttrs,
nsIDOMNode *aSourceNode,
PRInt32 *aStartOffset,
PRInt32 *aEndOffset,
nsIPersistentProperties *aAttributes);
/**
--- a/accessible/tests/mochitest/test_textattrs.html
+++ b/accessible/tests/mochitest/test_textattrs.html
@@ -62,60 +62,63 @@
} catch (e) {
}
if (!attrs) {
ok(false, "Can't get text attributes for " + aID);
return;
}
+ var errorMsg = " for " + aID + "at offset " + aOffset;
is(startOffset.value, aStartOffset,
- "Wrong start offset for " + aID);
+ "Wrong start offset" + errorMsg);
is(endOffset.value, aEndOffset,
- "Wrong end offset for " + aID);
+ "Wrong end offset" + errorMsg);
- compareTextAttrs(aID, attrs, aAttrs);
+ compareTextAttrs(errorMsg, attrs, aAttrs);
var defAttrs = null;
try{
defAttrs = accessible.defaultTextAttributes;
} catch (e) {
}
if (!defAttrs) {
ok(false, "Can't get default attributes for " + aID);
return;
}
- compareTextAttrs(aID, defAttrs, aDefAttrs);
+ compareTextAttrs(errorMsg, defAttrs, aDefAttrs);
}
- function compareTextAttrs(aID, aAttrs, aExpectedAttrs)
+ function compareTextAttrs(aErrorMsg, aAttrs, aExpectedAttrs)
{
var enumerate = aAttrs.enumerate();
while (enumerate.hasMoreElements()) {
var prop = enumerate.getNext().
QueryInterface(Components.interfaces.nsIPropertyElement);
if (!(prop.key in aExpectedAttrs))
- ok(false, "Unexpected attribute '" + prop.key + "' for " + aID);
+ ok(false,
+ "Unexpected attribute '" + prop.key + "'" + aErrorMsg);
else
is(prop.value, aExpectedAttrs[prop.key],
- "Attribute '" + prop.key + "' has wrong value for " + aID);
+ "Attribute '" + prop.key + "' has wrong value" + aErrorMsg);
}
for (var name in aExpectedAttrs) {
var value = "";
try {
value = aAttrs.getStringProperty(name);
} catch(e) {
}
if (!value)
- ok(false, "There is no expected attribute '" + name + "' for " + aID);
+ ok(false,
+ "There is no expected attribute '" + name + "'" + aErrorMsg);
}
}
var gObserverService = null;
var gA11yEventObserver = null;
function testSpellTextAttrs()
{
@@ -137,17 +140,17 @@
// Add accessibility event listeners
var gObserverService = Components.classes["@mozilla.org/observer-service;1"].
getService(nsIObserverService);
gObserverService.addObserver(gA11yEventObserver, "accessible-event",
false);
- ID = "area7";
+ ID = "area8";
var node = document.getElementById(ID);
node.focus();
var editor = node.QueryInterface(nsIDOMNSEditableElement).editor;
var spellchecker = editor.getInlineSpellChecker(true);
spellchecker.enableRealTimeSpell = true;
@@ -156,17 +159,18 @@
var defAttrs = {
"font-style": "normal",
"text-align": "start",
"font-size": "11px",
"background-color": "rgb(255, 255, 255)",
"font-weight": "400",
"text-indent": "0px",
"color": "rgb(0, 0, 0)",
- "font-family": "Lucida Grande"
+ "font-family": "Lucida Grande",
+ "text-position": "baseline"
};
var attrs = { "background-color": "transparent" };
var misspelledAttrs = {
"background-color": "transparent",
"invalid": "spelling"
};
@@ -196,17 +200,18 @@
var defAttrs = {
"font-style": "normal",
"text-align": "start",
"font-size": "16px",
"background-color": "transparent",
"font-weight": "400",
"text-indent": "0px",
"color": "rgb(0, 0, 0)",
- "font-family": "serif"
+ "font-family": "serif",
+ "text-position": "baseline"
};
var attrs = {};
testTextAttrs(ID, 0, attrs, 0, 7, defAttrs);
attrs = {"font-weight": "401"};
testTextAttrs(ID, 7, attrs, 7, 11, defAttrs);
@@ -219,17 +224,18 @@
defAttrs = {
"font-style": "normal",
"text-align": "start",
"font-size": "16px",
"background-color": "transparent",
"font-weight": "400",
"text-indent": "0px",
"color": "rgb(0, 0, 0)",
- "font-family": "serif"
+ "font-family": "serif",
+ "text-position": "baseline"
};
attrs = {};
testTextAttrs(ID, 0, attrs, 0, 7, defAttrs);
attrs = {"font-weight": "401"};
testTextAttrs(ID, 7, attrs, 7, 12, defAttrs);
@@ -248,17 +254,18 @@
defAttrs = {
"font-style": "normal",
"text-align": "start",
"font-size": "16px",
"background-color": "transparent",
"font-weight": "400",
"text-indent": "0px",
"color": "rgb(0, 0, 0)",
- "font-family": "serif"
+ "font-family": "serif",
+ "text-position": "baseline"
};
attrs = {"color": "rgb(0, 128, 0)"};
testTextAttrs(ID, 0, attrs, 0, 6, defAttrs);
attrs = {"color": "rgb(255, 0, 0)"};
testTextAttrs(ID, 6, attrs, 6, 26, defAttrs);
@@ -271,17 +278,18 @@
defAttrs = {
"font-style": "normal",
"text-align": "start",
"font-size": "16px",
"background-color": "transparent",
"font-weight": "400",
"text-indent": "0px",
"color": "rgb(0, 0, 0)",
- "font-family": "serif"
+ "font-family": "serif",
+ "text-position": "baseline"
};
attrs = {"color": "rgb(0, 128, 0)"};
testTextAttrs(ID, 0, attrs, 0, 16, defAttrs);
attrs = {"color": "rgb(255, 0, 0)"};
testTextAttrs(ID, 16, attrs, 16, 33, defAttrs);
@@ -294,43 +302,84 @@
defAttrs = {
"font-style": "normal",
"text-align": "start",
"font-size": "16px",
"background-color": "transparent",
"font-weight": "400",
"text-indent": "0px",
"color": "rgb(0, 0, 0)",
- "font-family": "serif"
+ "font-family": "serif",
+ "text-position": "baseline"
};
attrs = {"color": "rgb(0, 128, 0)"};
testTextAttrs(ID, 0, attrs, 0, 5, defAttrs);
attrs = {};
testTextAttrs(ID, 7, attrs, 5, 8, defAttrs);
attrs = {"color": "rgb(255, 0, 0)"};
testTextAttrs(ID, 9, attrs, 8, 11, defAttrs);
attrs = {};
testTextAttrs(ID, 11, attrs, 11, 18, defAttrs);
//////////////////////////////////////////////////////////////////////////
- // area6
+ // area6 (CSS vertical-align property, bug 445938)
ID = "area6";
defAttrs = {
"font-style": "normal",
"text-align": "start",
"font-size": "16px",
"background-color": "transparent",
"font-weight": "400",
"text-indent": "0px",
"color": "rgb(0, 0, 0)",
- "font-family": "serif"
+ "font-family": "serif",
+ "text-position": "baseline"
+ };
+
+ attrs = {};
+ testTextAttrs(ID, 0, attrs, 0, 5, defAttrs);
+
+ attrs = {"text-position": "super", "font-size": "13px" };
+ testTextAttrs(ID, 5, attrs, 5, 13, defAttrs);
+
+ attrs = {};
+ testTextAttrs(ID, 13, attrs, 13, 27, defAttrs);
+
+ attrs = {"text-position": "super" };
+ testTextAttrs(ID, 27, attrs, 27, 35, defAttrs);
+
+ attrs = {};
+ testTextAttrs(ID, 35, attrs, 35, 39, defAttrs);
+
+ attrs = {"text-position": "sub", "font-size": "13px" };
+ testTextAttrs(ID, 39, attrs, 39, 50, defAttrs);
+
+ attrs = {};
+ testTextAttrs(ID, 50, attrs, 50, 55, defAttrs);
+
+ attrs = {"text-position": "sub" };
+ testTextAttrs(ID, 55, attrs, 55, 64, defAttrs);
+
+ //////////////////////////////////////////////////////////////////////////
+ // area7
+ ID = "area7";
+ defAttrs = {
+ "font-style": "normal",
+ "text-align": "start",
+ "font-size": "16px",
+ "background-color": "transparent",
+ "font-weight": "400",
+ "text-indent": "0px",
+ "color": "rgb(0, 0, 0)",
+ "font-family": "serif",
+ "text-position": "baseline"
};
attrs = {"language": "ru"};
testTextAttrs(ID, 0, attrs, 0, 12, defAttrs);
attrs = {"language": "en"};
testTextAttrs(ID, 12, attrs, 12, 13, defAttrs);
@@ -398,23 +447,30 @@
Green again
</span>
</p>
<p id="area5">
<span style="color: green">Green</span>
<img src="moz.png" alt="image"/>
<span style="color: red">Red</span>Normal
</p>
- <p lang="en" id="area6">
+ <p id="area6">
+ This <sup>sentence</sup> has the word
+ <span style="vertical-align:super;">sentence</span> in
+ <sub>superscript</sub> and
+ <span style="vertical-align:sub;">subscript</span>
+ </p>
+
+ <p lang="en" id="area7">
<span lang="ru">Привет</span>
<span style="background-color: blue">Blue BG color</span>
<span lang="de">Ich bin/Du bist</span>
<span lang="en">
Normal
<span style="color: magenta">Magenta<b>Bold</b>Magenta</span>
</span>
</p>
- <input id="area7" value="valid text inalid tixt"/>
+ <input id="area8" value="valid text inalid tixt"/>
<p id="output"/>
</body>
</html>
--- a/browser/app/module.ver
+++ b/browser/app/module.ver
@@ -1,8 +1,8 @@
WIN32_MODULE_COMPANYNAME=Mozilla Corporation
WIN32_MODULE_COPYRIGHT=©Firefox and Mozilla Developers, according to the MPL 1.1/GPL 2.0/LGPL 2.1 licenses, as applicable.
WIN32_MODULE_PRODUCTVERSION=3,1,0,0
-WIN32_MODULE_PRODUCTVERSION_STRING=3.1a1
+WIN32_MODULE_PRODUCTVERSION_STRING=3.1a2pre
WIN32_MODULE_TRADEMARKS=Firefox is a Trademark of The Mozilla Foundation.
WIN32_MODULE_DESCRIPTION=Firefox
WIN32_MODULE_PRODUCTNAME=Firefox
WIN32_MODULE_NAME=Firefox
--- a/browser/components/places/content/treeView.js
+++ b/browser/components/places/content/treeView.js
@@ -934,16 +934,21 @@ PlacesTreeView.prototype = {
this._ensureValidRow(aRow);
var node = this._visibleElements[aRow].node;
if (PlacesUtils.nodeIsContainer(node)) {
// the root node is always expandable
if (!node.parent)
return true;
+ // Flat-lists may ignore expandQueries and other query options when
+ // they are asked to open a container.
+ if (this._flatList)
+ return true;
+
// treat non-expandable childless queries as non-containers
if (PlacesUtils.nodeIsQuery(node)) {
var parent = node.parent;
if((PlacesUtils.nodeIsQuery(parent) ||
PlacesUtils.nodeIsFolder(parent)) &&
!node.hasChildren)
return asQuery(parent).queryOptions.expandQueries;
}
--- a/browser/components/places/src/nsPlacesTransactionsService.js
+++ b/browser/components/places/src/nsPlacesTransactionsService.js
@@ -892,24 +892,36 @@ placesSortFolderByNameTransactions.proto
else
preSep.push(item);
}
if (preSep.length > 0) {
preSep.sort(sortingMethod);
newOrder = newOrder.concat(preSep);
}
- // set the nex indexs
- for (var i = 0; i < count; ++i)
- PlacesUtils.bookmarks.setItemIndex(newOrder[i].itemId, i);
+ // set the nex indexes
+ var callback = {
+ runBatched: function() {
+ for (var i = 0; i < newOrder.length; ++i) {
+ PlacesUtils.bookmarks.setItemIndex(newOrder[i].itemId, i);
+ }
+ }
+ };
+ PlacesUtils.bookmarks.runInBatchMode(callback, null);
},
undoTransaction: function PSSFBN_undoTransaction() {
- for (item in this._oldOrder)
- PlacesUtils.bookmarks.setItemIndex(item, this._oldOrder[item]);
+ var callback = {
+ _self: this,
+ runBatched: function() {
+ for (item in this._self._oldOrder)
+ PlacesUtils.bookmarks.setItemIndex(item, this._self._oldOrder[item]);
+ }
+ };
+ PlacesUtils.bookmarks.runInBatchMode(callback, null);
}
};
function placesTagURITransaction(aURI, aTags) {
this._uri = aURI;
this._tags = aTags;
this._unfiledItemId = -1;
this.redoTransaction = this.doTransaction;
--- a/browser/components/preferences/main.xul
+++ b/browser/components/preferences/main.xul
@@ -158,16 +158,17 @@
<hbox id="saveToRow">
<radio id="saveTo" value="true"
label="&saveTo.label;"
accesskey="&saveTo.accesskey;"
aria-labelledby="saveTo downloadFolder"/>
<filefield id="downloadFolder" flex="1"
preference="browser.download.folderList"
preference-editable="true"
+ aria-labelledby="saveTo"
onsyncfrompreference="return gMainPane.displayDownloadDirPref();"
onsynctopreference="return gMainPane.getFolderListPref()"/>
<button id="chooseFolder" oncommand="gMainPane.chooseFolder();"
#ifdef XP_MACOSX
accesskey="&chooseFolderMac.accesskey;"
label="&chooseFolderMac.label;"
#else
accesskey="&chooseFolderWin.accesskey;"
--- a/browser/config/version.txt
+++ b/browser/config/version.txt
@@ -1,1 +1,1 @@
-3.1a1
+3.1a2pre
deleted file mode 100644
--- a/browser/locales/en-US/chrome/help/accessibility.xhtml
+++ /dev/null
@@ -1,277 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
- "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"[
- <!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd" >
- %brandDTD;
- <!ENTITY % platformDTD SYSTEM
- "chrome://browser/locale/help/platformStrings.dtd" >
- %platformDTD;
-]>
-<!--
-Contributors:
- Mark Pilgrim <pilgrim@gmail.com> (original author)
--->
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<title>Accessibility Features of &brandFullName;</title>
-<link rel="stylesheet" type="text/css"
- href="chrome://help/skin/helpFileLayout.css"/>
-</head>
-
-<body>
-
- <h1>Accessibility Features of &brandFullName;</h1>
-
- <p>&brandShortName; includes many features to make the browser and web
- content accessible to all users, including those who have low vision, no
- vision, or limited ability to use a keyboard or mouse.</p>
-
- <div class="contentsBox">In this section:
- <ul>
- <li><a href="#using_a_keyboard">Using a Keyboard</a></li>
- <li><a href="#using_a_mouse">Using a Mouse</a></li>
- <li><a href="#fonts_and_colors">Fonts and Colors</a></li>
- <li><a href="#controlling_web_content">Controlling Web Content</a></li>
- <li><a href="#compatibility_with_assistive_technologies">Compatibility
- with Assistive Technologies</a></li>
- <li><a href="#finding_help_online">Finding Help Online</a></li>
- </ul>
- </div>
-
- <h2 id="using_a_keyboard">Using a Keyboard</h2>
-
- <h3 id="keyboard_shortcuts">Keyboard Shortcuts</h3>
-
- <p>A list of common keyboard shortcuts is available in
- <a href="shortcuts.xhtml">&brandShortName; Keyboard Shortcuts</a>.
- Online, you can find <a target="_blank"
- href="http://www.mozilla.org/support/firefox/keyboard">a comparison
- chart of keyboard shortcuts</a> implemented in &brandShortName;,
- Microsoft Internet Explorer, and Opera.</p>
-
- <h3 id="always_use_cursor_keys">Always use the cursor keys to navigate within
- webpages</h3>
-
- <p><a href="prefs.xhtml#accessibility">Always use the cursor keys to navigate
- within webpages</a> allows you to move through web content as if
- you were inside a read-only editor.
- You can use the keyboard to select web content and copy it to the
- clipboard. You can enable this feature by selecting &pref.menuPath;,
- opening the <em>General</em> tab in the <em>Advanced</em> panel,
- and checking the <em>Always use the cursor keys to navigate within webpages
- </em> &pref.singular;.</p>
-
- <p>You can press <kbd>F7</kbd> at any time to turn this feature on or
- off. When you press <kbd>F7</kbd>, &brandShortName; will
- ask if you really want to turn on this feature. You can disable
- this prompt by selecting <em>Don't show this dialog again.</em></p>
-
- <h3 id="find_as_you_type">Search for text when I start typing</h3>
-
- <p><a href="prefs.xhtml#accessibility">Search for text when I start typing</a>
- allows you to quickly navigate to text or hyperlinks in a web page. This
- feature has two modes. Press <abbr title="forward slash"><kbd>/</kbd></abbr>
- and start typing to search all text on the current page, or press
- <abbr title="apostrophe"><kbd>'</kbd></abbr> before your string to search
- hyperlinks only. &brandShortName; will highlight matching text or hyperlinks
- as you type.</p>
-
- <p>The following keyboard shortcuts control this feature:</p>
-
- <ul>
- <li>Type more characters to narrow your search. &brandShortName;
- will highlight the next matching hyperlink or text or alert you
- that nothing matched.</li>
- <li>Press &accelKey;+<kbd>G</kbd> or <kbd>F3</kbd> to find the next
- occurrence of your current search string.</li>
- <li>Press &accelKey;+&shiftKey;+<kbd>G</kbd> or &shiftKey;+<kbd>F3</kbd>
- to find the previous occurrence of your current search string.</li>
- <li>Press <kbd>Backspace</kbd> to undo the last character you typed.
- &brandShortName; will back up to the previously highlighted text.</li>
- <li>Press <kbd>Esc</kbd> to cancel a search. You can also cancel
- a search by changing focus, scrolling the page with the mouse or
- keyboard, or simply waiting for the timeout.</li>
- </ul>
-
- <p>You can change the default behavior of this feature by selecting
- &pref.menuPath;, opening the <em>General</em> tab of the <em>Advanced</em>
- panel, and checking the <em>Search for text when I start typing</em>
- &pref.singular;. If this option is checked, you can start typing at any
- time to auto-start an inline search. By default auto-started searches look
- for all text on the page. You can still explicitly press
- <abbr title="apostrophe"><kbd>'</kbd></abbr> or
- <abbr title="forward slash"><kbd>/</kbd></abbr> to start finding
- in one mode or the other.</p>
-
- <p>You can use this feature to get to buttons, text boxes and other
- form controls. Search for the text immediately before the form control
- you want and press <kbd>Tab</kbd>. Pressing <kbd>Tab</kbd> automatically
- exits the search and sets focus to the next form field or button
- after the highlighted text.</p>
-
- <h2 id="using_a_mouse">Using a Mouse</h2>
-
- <h3 id="common_mouse_shortcuts">Common Mouse Shortcuts</h3>
-
- <p>A list of common mouse shortcuts is available in
- <a href="mouse_shortcuts.xhtml">&brandShortName; Mouse
- Shortcuts</a>.</p>
-
- <h2 id="fonts_and_colors">Fonts and Colors</h2>
-
- <h3 id="overriding_page_fonts">Overriding Page Fonts</h3>
-
- <p>Some web sites may display text in fonts that are difficult to read,
- and other sites may rely on the browser's default fonts. You can set
- your default fonts by going to &pref.menuPath;, selecting the
- <em>Content</em> panel, and selecting a default font and size in the
- <em>Fonts & Colors</em> section.</p>
-
- <p>You can specify default fonts for different styles, including serif,
- sans-serif, and monospace by clicking the <em>Advanced</em> button.
- However, many web pages specify their own fonts, so your choices
- will have no effect on such pages. To override the fonts defined by
- such pages, uncheck the <em>Allow pages to choose their own fonts, instead
- of my selections above</em> &pref.singular;.</p>
-
- <p>Note that some web pages may display incorrectly depending on your
- choice of a default font.</p>
-
- <h3 id="setting_a_minimum_font_size">Setting a Minimum Font Size</h3>
-
- <p>Some web sites may display text which is too small to read
- comfortably. To make such pages easier to read, you can set a minimum
- font size. On web pages that try to display text smaller than this
- size, &brandShortName; will enlarge the text to your chosen size.</p>
-
- <p>To set a minimum font size, go to &pref.menuPath;, select the
- <em>Content</em> panel, and click the <em>Advanced</em> button in the
- <em>Fonts & Colors</em> section. You can specify a minimum font
- size from the dropdown menu.</p>
-
- <p>Note that some web pages may display incorrectly depending on your
- choice of a minimum font size.</p>
-
- <h3 id="resizing_page_text">Resizing Page Text</h3>
-
- <p>You can temporarily change the size of text on any web page in the
- <span class="menuPath">View > Text Size</span> menu. The new
- size will remain in effect until you close your browser window or
- tab, even if you navigate to a different web site.</p>
-
- <p>The following keyboard shortcuts control text size:</p>
-
- <ul>
- <li>Press &accelKey;+<kbd><abbr title="plus">+</abbr></kbd> to
- increase the text size. This zooms the text to 120% of its original
- size, then 150%, 200%, 300%, 450%, 675%, 1013%, and 1519%.</li>
- <li>Press &accelKey;+<kbd><abbr title="minus">-</abbr></kbd> to
- decrease the text size. This zooms the text to 90% of its original
- size, then 50%, 33%, 22%, 15%, 10%, 7%, 4%, 3%, 2%, and 1%.</li>
- <li>Press &accelKey;+<kbd>0</kbd> to reset the text size to the web
- page's default size.</li>
- </ul>
-
- <p>Note that some web pages may display incorrectly if you increase or
- decrease the text size.</p>
-
- <h3 id="overriding_page_colors">Overriding Page Colors</h3>
-
- <p>Some web sites may display text and background colors that are
- difficult to read, and other sites may rely on the browser's default
- colors. You can set your default colors by going to &pref.menuPath;,
- selecting the <em>Content</em> panel, and clicking the <em>Colors</em>
- button in the <em>Fonts & Colors</em> section. You can set
- default text and background colors, as well as default colors for
- visited and unvisited hyperlinks. You can also specify whether
- hyperlinks should be underlined.</p>
-
- <p>However, many web pages set their own colors, so your choices will
- have no effect. To override the colors defined by web pages, uncheck
- the <em>Allow pages to choose their own colors, instead of my
- selections above</em> &pref.singular;.</p>
-
- <div class="noMac">
-
- <h3 id="using_a_high_contrast_theme">Using a High Contrast Theme</h3>
-
- <p>&brandShortName; automatically detects if you are using a High
- Contrast theme and displays everything in your high contrast color
- scheme. This overrides all other other browser or web page
- settings, and it affects the &brandShortName; interface itself (all
- menus, windows, and dialog boxes) and the content of any web page
- you visit.</p>
-
- <p class="win">To use a High Contrast theme, go to
- <span class="menuPath">Start Menu > Control Panel >
- Accessibility Options > Display</span> and check the
- <em>Use High Contrast</em> &pref.singular;.</p>
-
- </div>
-
- <h2 id="controlling_web_content">Controlling Web Content</h2>
-
- <h3 id="blocking_popup_windows">Blocking Pop-up Windows</h3>
-
- <p>See <a href="popup.xhtml">Controlling Pop-ups</a> for information on
- blocking pop-up windows.</p>
-
- <h3 id="turning_off_java_applets">Turning Off Java Applets</h3>
-
- <p>Some web pages provide a rich interactive experience with Java™
- applets. However, some users that rely on keyboard navigation may
- experience problems with some Java applets that automatically set
- focus and do not provide a way to <q>break out</q> of the applet and
- navigate to the rest of the web page. If this is a problem for you,
- you can disable Java by going to &pref.menuPath;, selecting the
- <em>Content</em> and unchecking the <em>Enable Java</em>
- &pref.singular;.</p>
-
- <h3 id="restricting_javascript_behavior">Restricting JavaScript Behavior</h3>
-
- <p>You can turn off JavaScript entirely by going to &pref.menuPath;,
- selecting the <em>Content</em> panel, and unchecking <em>Enable
- JavaScript</em>. Some web pages rely on JavaScript and may not work
- properly if JavaScript is disabled.</p>
-
- <p>If you do not wish to disable JavaScript entirely, there are also a
- number of advanced JavaScript settings to restrict the behavior of
- scripts. Immediately after the <em>Enable JavaScript</em> checkbox,
- click the <em>Advanced</em> button to open the <em>Advanced JavaScript
- Settings</em> window. You can control whether scripts are allowed
- to move or resize existing windows, raise or lower windows, disable or
- replace context menus, hide the status bar, or change status bar
- text.</p>
-
- <h2 id="compatibility_with_assistive_technologies">Compatibility With
- Assistive Technologies</h2>
-
- <p>The latest information about compatibility with third-party assistive
- technologies is online at
- <a target="_blank" href="http://www.mozilla.org/access/compatibility">Access
- Mozilla: Compatibility with assistive technologies</a>.</p>
-
- <h2 id="finding_help_online">Finding Help Online</h2>
-
- <div class="win">
-
- <p>Freedom Scientific maintains a number of
- <a target="_blank" href="http://www.freedomscientific.com/fs_support/User_Groups.asp">mailing
- lists for JAWS users</a>.</p>
-
- <p>GW Micro maintains a number of
- <a target="_blank" href="http://www.gwmicro.com/Support/Email_Lists/">mailing
- lists for Window Eyes users</a>.</p>
- </div>
-
- <p>You may <span class="win">also</span> post accessibility questions to the
- <a target="_blank" href="http://forums.mozillazine.org/viewforum.php?f=38">&brandShortName;
- Support forum</a>.</p>
-
- <div class="contentsBox"><em>29 Aug 2006</em></div>
-
- <p>Copyright © ©right.years; Contributors to the Mozilla Help Viewer
- Project.</p>
-
-</body>
-</html>
deleted file mode 100644
--- a/browser/locales/en-US/chrome/help/cookies.xhtml
+++ /dev/null
@@ -1,170 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"[
- <!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd" >
- %brandDTD;
- <!ENTITY % platformDTD SYSTEM "chrome://browser/locale/help/platformStrings.dtd" >
- %platformDTD;
-]>
-<!--
-Contributors:
- David Tenser <david.tenser@comhem.se> (original author)
- Steffen Wilberg <steffen.wilberg@web.de>
--->
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
- <title>Managing Cookies</title>
- <link rel="stylesheet" type="text/css" href="chrome://help/skin/helpFileLayout.css"/>
-</head>
-
-<body>
-<h1>Managing Cookies</h1>
-
-<p>This document explains what cookies are, how they are used, and how you can gain
- control over the cookies stored on your computer by using the Cookie Manager in
- &brandFullName;.</p>
-
-<div class="contentsBox">In this section:
- <ul>
- <li><a href="#what_is_a_cookie">What is a Cookie?</a></li>
- <li><a href="#setting_up_cookie_rules">Setting Up Cookie Rules</a></li>
- <li><a href="#accepting_and_blocking_cookies">Accepting and Blocking Cookies</a></li>
- <li><a href="#cookies_exceptions">The Cookies Exceptions Window</a></li>
- <li><a href="#view_cookies">The View Cookies Window</a></li>
- </ul>
-</div>
-
-<h2 id="what_is_a_cookie">What is a Cookie?</h2>
-
-<p>A cookie is a file created by an Internet site to store information on your
- computer, such as your preferences when visiting that site. When you visit a site
- that uses cookies, the site might ask &brandShortName; to place one or more cookies
- on your hard disk.</p>
-
-<p>Later, when you return to the site, &brandShortName; sends back the cookies that
- belong to the site. This allows the site to present you with information customized
- to fit your needs.</p>
-
-<p>Cookies can also store personally identifiable information. Personally identifiable
- information is information that can be used to identify or contact you, such as
- your name, e-mail address, home or work address, or telephone number. However, a
- web site only has access to the personal information that you provide. For
- example, a web site cannot determine your e-mail address unless you provide it. Also,
- a web site cannot gain access to other information on your computer.</p>
-
-<p>When you use the default cookie settings, this activity is invisible to you,
- and you won't know when a web site is setting a cookie or when &brandShortName;
- is sending a web site its cookie. However, you can set your cookies
- &pref.plural; so that you will be asked before a cookie is set. You can also
- restrict the lifetime of cookies to your current &brandShortName; session.</p>
-
-<h2 id="setting_up_cookie_rules">Setting Up Cookie Rules</h2>
-
-<p>By default &brandShortName; accepts all cookies, including cookies which
- would allow a site to recognize you effectively forever. If this doesn't suit
- you, you can tell &brandShortName; to delete all cookies when you close
- &brandShortName;:</p>
-
-<ol>
- <li>Select &pref.menuPath; and open the <em>Privacy</em> panel.</li>
- <li>Select the <em>I close &brandShortName;</em> &pref.singular; from the
- <em>Keep until</em> menu.</li>
-</ol>
-
-<p>If you want to grant sites you trust the ability to store cookies permanently
- (e.g., to allow you to log in automatically to a site), click <a
- href="#cookies_exceptions"><em>Exceptions…</em></a>, enter the site address,
- and click <em>Allow</em>.</p>
-
-<h3 id="all_the_settings">All the Settings</h3>
-
-<p>These are the &pref.plural; that affect how cookies are managed by
- &brandShortName;:</p>
-
-<dl>
- <dt>Accept cookies from sites</dt>
- <dd><p>If you don't want any sites to store cookies on your computer, uncheck
- this &pref.singular;. Note that some sites may not work properly when
- cookies are disabled. If you want to grant certain sites the ability to
- store cookies, open the <a href="#cookies_exceptions">Cookies Exceptions</a>
- window by clicking <em>Exceptions…</em>, enter the site address, and click
- <em>Allow</em> or <em>Allow for Session</em>.</p></dd>
- <dt>Keep until</dt>
- <dd>
- <ul>
- <li><em>they expire</em><br/>
- If this &pref.singular; is selected, each cookie will be removed when the
- site that set it has determined the cookie should expire.</li>
- <li><em>I close &brandShortName;</em><br/>
- If this &pref.singular; is selected, cookies will be removed when you
- restart &brandShortName;. Web sites requiring the use of cookies will
- still work, but if you restart &brandShortName;, the web site will think
- that you logged into the site for the first time again.</li>
- <li><em>ask me every time</em><br/>
- Display an alert every time a web site tries to store a cookie asking you
- if you want that cookie stored.</li>
- </ul>
- </dd>
-</dl>
-
-<h2 id="accepting_and_blocking_cookies">Accepting and Blocking Cookies</h2>
-
-<p>If you've chosen <em>ask me every time</em> from the <em>Keep until</em>
- menu, you'll see a dialog whenever a site tries to store a cookie on your
- computer providing the following options:</p>
-
-<dl>
- <dt>Allow</dt>
- <dd>To allow this particular cookie, just click <em>Allow</em>. Use this if
- you trust the site.</dd>
- <dt>Allow for Session</dt>
- <dd>If you want to allow this cookie for now, but have it deleted when you
- exit &brandShortName;, click <em>Allow for Session</em>. Use this if the
- site doesn't work without cookies, but you don't want to have a permanent
- cookie stored for it.</dd>
- <dt>Deny</dt>
- <dd>If you don't want this cookie to be stored, click <em>Deny</em>. Use this
- if you don't trust the site or suspect that it's compromising your privacy.</dd>
- <dt>Use my choice for all cookies from this site</dt>
- <dd>Select this checkbox before clicking any of the buttons if you want
- &brandShortName; to remember your decision and not ask again. The site will
- be added to the <a href="#cookies_exceptions">Cookie Exceptions</a> window,
- where you can revert your choice should you wish to do so later.</dd>
-</dl>
-
-<h2 id="cookies_exceptions">The Cookies Exceptions Window</h2>
-
-<p>Access this window by clicking the <em>Exceptions…</em> button in cookies
- &pref.plural;. Here you can make exceptions from your general cookies
- &pref.plural; for specific sites. Using exceptions, you can allow all cookies,
- reject all cookies, or allow all cookies but have them deleted when you exit
- &brandShortName;, regardless of your other cookie settings.</p>
-
-<p>To add a site to this list, simply type the site's domain name in the field
- labeled <em>Address of web site</em>. Then click <em>Block</em> to reject
- cookies from the site, click <em>Allow</em> to allow cookies from the site,
- or click <em>Allow for Session</em> to allow cookies from the site but have
- them deleted when you exit &brandShortName;.</p>
-
-<p>To remove a site from this list, select it and click <em>Remove Site</em>. To
- clear the list completely, click <em>Remove All Sites</em>. This will clear
- the exceptions list so your general cookies &pref.plural; apply.</p>
-
-<h2 id="view_cookies">The View Cookies Window</h2>
-
-<p>Use the <em>View Cookies</em> window to view and remove cookies. To access it,
- click the <em>View Cookies</em> button in cookies &pref.plural;.</p>
-
-<p>This window lists all cookies currently stored on your
- computer, grouped by site. You can expand the sites and select a cookie to
- display more information about it. You can also search for a site or a cookie
- name by typing in the search bar.</p>
-
-<p>To remove a cookie from the list, select it and click <em>Remove Cookie</em>.
- To remove a site's cookies, select the site and click <em>Remove
- Cookie(s)</em>. To wipe all cookies, click <em>Remove All Cookies</em>.</p>
-
-<div class="contentsBox"><em>12 September 2006</em></div>
-<p>Copyright © ©right.years; Contributors to the Mozilla Help Viewer Project.</p>
-
-</body>
-</html>
deleted file mode 100644
--- a/browser/locales/en-US/chrome/help/customization.xhtml
+++ /dev/null
@@ -1,189 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"[
- <!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd" >
- %brandDTD;
- <!ENTITY % platformDTD SYSTEM "chrome://browser/locale/help/platformStrings.dtd" >
- %platformDTD;
-]>
-<!--
-Contributors:
- Nilson Cain <nilson@gmail.com> (original author)
- Steffen Wilberg <steffen.wilberg@web.de>
--->
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
- <title>Customizing &brandFullName;</title>
- <link rel="stylesheet" type="text/css" href="chrome://help/skin/helpFileLayout.css"/>
-</head>
-
-<body>
-<h1>Customizing &brandFullName;</h1>
-
-<div class="contentsBox">In this section:
- <ul>
- <li><a href="#toolbars">Toolbars</a></li>
- <li><a href="#add_ons">Add-ons (extensions and themes)</a></li>
- </ul>
-</div>
-<h2 id="toolbars">Toolbars</h2>
-
-<p>This will tell you how to rearrange, hide, add, and remove toolbars in
- &brandShortName;. For those who are unfamiliar with the terminology, a toolbar
- is the (usually gray) box above the area that the web site is displayed.</p>
-
-<ul>
- <li class="noMac"><strong>Menu Bar</strong>: This is the toolbar that contains
- the browser menus (File, Edit, Help, etc.).</li>
- <li><strong>Navigation Bar</strong>: This is the toolbar that contains the
- Location Bar and the buttons used to navigate web sites.</li>
- <li><strong>Bookmarks Toolbar</strong>: This is the toolbar that contains
- your Bookmarks Toolbar Folder bookmarks.</li>
-
-</ul>
-
-<p>There are two basic methods of customizing the toolbars in
- &brandShortName;:</p>
-
-<ul>
- <li><a href="#rearranging_toolbar_items">Rearranging Toolbar Items</a></li>
- <li><a href="#adding_removing_toolbars">Hiding, Adding, and Removing
- Toolbars</a></li>
-</ul>
-
-<h3 id="rearranging_toolbar_items">Rearranging Toolbar Items</h3>
-
-<p>To rearrange the items (icons, buttons, text boxes, etc.) on your toolbar,
- <span class="noMac">right-click</span><span class="mac">press &ctrlKey; and
- click</span> on any part of the toolbar that is not a text box and select
- <span class="menuPath">Customize…</span>. This will bring up the toolbar
- customization dialog.</p>
-
-<p>Drag and drop any items you want to and from the toolbars <span class=
- "noMac">(excluding the menu items)</span>. You can also rearrange icons
- already on the toolbars by dragging and dropping them wherever you wish. When
- the toolbars and items are arranged the way you want them, click
- <em>Done</em>.</p>
-
-<h4 id="special_toolbar_items">Special Toolbar Items</h4>
-
-<p>There are a few special items that are available to you when customizing the
- toolbar. They are as follows:</p>
-
-<ul>
- <li><strong>Separators:</strong> These allow you to separate items on the
- toolbars with a small vertical line.</li>
- <li><strong>Spacers:</strong> These allow you to separate items on the
- toolbars with a fixed-size space, usually around 20 pixels on most
- themes.</li>
- <li><strong>Flexible spacers:</strong> Spacers allow you to separate items
- on the toolbars with a space. These spacers automatically resize to fill
- all of the empty space on the toolbar. These are good for positioning
- items on the right of a toolbar.</li>
-</ul>
-
-<h3 id="adding_removing_toolbars">Hiding, Adding, and Removing Toolbars</h3>
-
-<p>You can hide the Navigation Toolbar and the Bookmarks Toolbar if you do not
- wish to keep them on your screen. <span class="noMac">You cannot hide the Menu
- Bar because you cannot move the menu items (File, Edit, Help, etc.) to a
- different toolbar, and they must stay on the screen at all times.</span></p>
-
-<p>To show or hide a toolbar, select <span class="menuPath">View > Toolbars</span>
- and click the name of the toolbar you want to show or hide.</p>
-
-<p>To add a custom toolbar, select <span class="menuPath">View > Toolbars
- > Customize</span>. Click on <em>Add New Toolbar</em> (in the bottom of the
- dialog). This will give you a dialog to enter a name. If you enter a name and
- click <em>OK</em>, your new toolbar appears. Now you can drag and drop items
- to it. To remove a custom toolbar, drag and drop all the items from it, and
- click Done. You can also hide a custom toolbar as described in the previous
- paragraph.</p>
-
-<h2 id="add_ons">Add-ons (extensions and themes)</h2>
-
-<p>Add-ons are small pieces of software which change or add to the appearance or
- functionality of &brandShortName;. There are two kinds of add-ons: extensions
- and themes.</p>
-
-<dl>
- <dt>Extensions</dt>
- <dd>Extensions add new functionality to &brandShortName;. They can add
- anything from a toolbar button to a completely new feature. They allow the
- application to be customized to fit the personal needs of each user while
- minimizing the size and appearance of the application itself.</dd>
-
- <dt>Themes</dt>
- <dd>Themes modify &brandShortName;'s appearance. They allow you to change the
- look and feel of &brandShortName; and personalize it to your tastes. A
- theme can simply change button images, or it can change every piece of
- &brandShortName; appearance.</dd>
-</dl>
-
-<h3 id="add_ons_installing">Getting and Installing Add-ons</h3>
-
-<p>You can download and install many add-ons from <a
- href="https://addons.mozilla.org/firefox/" target="_blank">&brandShortName;
- Add-ons</a>. Internet searches will find many other add-ons as well.</p>
-
-<p>When you click on a link to install an add-on, &brandShortName; displays a
- dialog asking you for permission to install the add-on. You can choose to
- allow the download and installation or to cancel the process.</p>
-
-<h2 id="add_ons_manager">Using the Add-ons manager</h2>
-<p>Add-ons are managed in the Add-ons manager. Select <span
- class="menuPath">Tools > Add-ons</span> to open it.</p>
-
-<h3 id="add_ons_updating">Updating Add-ons</h3>
-
-<p>By default, &brandShortName; will periodically check when a new version for
- one of your installed add-ons is available. If any are available, it will
- prompt you at the next start to install any updates. You can change this
- behavior in the <a href="prefs.xhtml#advanced_update"><em>Update</em> tab</a>
- of the <em>Advanced</em> panel of &pref.pluralCaps;.</p>
-
-<p>You can check for updates manually by selecting the <em>Extensions</em> or
- <em>Themes</em> panel and clicking the <em>Find Updates</em> button. If
- updates are available, the Add-ons manager displays an <em>Updates</em>
- panel, where you can choose the updates you want to install. Click the
- <em>Install Updates</em> button to update those add-ons.
- You need to restart &brandShortName; for changes to take effect.</p>
-
-<h3 id="add_ons_uninstalling">Disabling, Enabling, and Uninstalling Add-ons</h3>
-
-<p>If you want to get rid of an extension, you can either disable it temporarily,
- so it is easily available should you want to enable it again in the future,
- or uninstall it. Themes can only be uninstalled since all themes except the
- current one are disabled automatically.</p>
-
-<p>To disable or enable an extension, select the extension of your choice and
- click its <em>Disable</em> or <em>Enable</em> button. To remove an add-on from
- &brandShortName;, select the add-on you wish to remove and click its
- <em>Uninstall</em> button. You need to restart &brandShortName; for changes to
- take effect.</p>
-
-<h3 id="add_ons_further">Further functionality</h3>
-
-<p>Further functionality such as <em>Visit Home Page</em> and <em>About</em> is
- available by selecting the add-on of your choice, <span class="mac">pressing
- &ctrlKey; and clicking on</span><span class="noMac">right-clicking</span> the
- add-on and selecting the respective item from the context menu.</p>
-
-<h3 id="add_ons_specific">Tasks specific to extensions or themes</h3>
-<h4 id="add_ons_configuring_extensions">Configuring Extensions</h4>
-
-<p>Extensions often provide a dialog to configure their functionality. To open
- the &pref.plural; dialog of an extension, select the Extensions panel, select
- the extension of your choice, and click its <em>&pref.pluralCaps;</em> button,
- or simply double-click the extension.</p>
-
-<h4 id="add_ons_switching_themes">Switching Themes</h4>
-
-<p>To switch between your installed themes, select the Themes panel, select the
- theme of your choice, and click its <em>Use Theme</em> button. You need to
- restart &brandShortName; for changes to take effect.</p>
-
-<div class="contentsBox"><em>12 September 2006</em></div>
-<p>Copyright © ©right.years; Contributors to the Mozilla Help Viewer Project.</p>
-
-</body>
-</html>
deleted file mode 100644
--- a/browser/locales/en-US/chrome/help/download_manager.xhtml
+++ /dev/null
@@ -1,96 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"[
- <!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd" >
- %brandDTD;
- <!ENTITY % platformDTD SYSTEM "chrome://browser/locale/help/platformStrings.dtd" >
- %platformDTD;
-]>
-<!--
-Contributors:
- Nilson Cain <mybugs@bellsouth.net> (original author)
- Jeff Walden <jwalden+code@mit.edu>
--->
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
- <title>Using &brandFullName;'s Download Manager</title>
- <link rel="stylesheet" type="text/css" href="chrome://help/skin/helpFileLayout.css"/>
-</head>
-
-<body>
-<h1>Using &brandFullName;'s Download Manager</h1>
-
-<div class="contentsBox">In this section:
- <ul>
- <li><a href="#what_is_download_manager">What is the Download Manager?</a></li>
- <li><a href="#do_with_download_manager">What can I do with the Download Manager?</a></li>
- <li><a href="#download_manager_options">Download Manager &pref.pluralCaps;</a></li>
- </ul>
-</div>
-<h2 id="what_is_download_manager">What is the Download Manager?</h2>
-
-<p>The Download Manager is a feature of &brandShortName; that allows you to
- track and manage your past and current file downloads. It is a convenient way
- to escape the clutter of multiple downloading windows while still preserving
- access to download statistics.</p>
-
-<p>The Download Manager will appear when you download files, when you select
- <span class="menuPath">Tools > Downloads</span>, and when you press
- <span class="noUnix">&accelKey;+<kbd>J</kbd></span><span class="unix">&accelKey;+<kbd>Y</kbd></span>.</p>
-
-
-<h2 id="do_with_download_manager">What can I do with the Download Manager?</h2>
-
-<p>In addition to keeping information on all your downloads in one place, the
- Download Manager keeps convenient download actions easily accessible for each
- of your downloads.</p>
-
-<dl>
- <dt>Pause</dt>
- <dd>You can pause any downloads currently in progress by clicking the
- <em>Pause</em> link beside the file entry. This may be useful, for
- example, if you need to open a small download started after a large
- download. Pausing downloads gives you the choice to decide which of your
- downloads are most important. When you want to continue downloading those
- files, simply use the <em>Resume</em> link to finish those downloads.</dd>
-
- <dt>Cancel</dt>
- <dd>If after starting a download you decide you no longer need that file,
- canceling the download is simple: just use the <em>Cancel</em> link beside
- that file entry to cancel it and free up your connection for your browsing
- and other downloads.</dd>
-
- <dt>Open the File</dt>
- <dd>When a download has finished, the <em>Open</em> link will appear
- by the file entry. Use it to open the file.</dd>
-
- <dt>Remove the File's Entry</dt>
- <dd>If you do not wish to store information on a particular download, removing
- the entry is as simple as the click of a mouse. Simply use the
- <em>Remove</em> link beside the file entry to delete it.</dd>
-
- <dt>Retry a Download</dt>
- <dd>If for any reason a download does not complete, it is easy to attempt the
- download again. To recover from a failed download and retry it, just use
- the <em>Retry</em> link next to the file entry and &brandShortName; will
- restart the download for you.</dd>
-
- <dt>Show Download Folder</dt>
- <dd>If you have set &brandShortName; to save all downloads to a folder in
- <a href="#download_manager_options">Download Manager &pref.pluralCaps;</a>,
- you can open this folder by clicking the <em>Folder Name</em> at the
- bottom of the Download Manager window.</dd>
-</dl>
-
-<h2 id="download_manager_options">Download Manager &pref.pluralCaps;</h2>
-
-<p>The &pref.plural; for the Download Manager are accessible by opening the
- Downloads section of the <em>Main</em> panel in the &pref.pluralCaps; window.
- They allow you to change several downloading &pref.plural;. More information
- regarding the various &pref.plural; is available in the <a
- href="prefs.xhtml#downloads">&pref.pluralCaps; page</a>.</p>
-
-<div class="contentsBox"><em>12 September 2006</em></div>
-<p>Copyright © ©right.years; Contributors to the Mozilla Help Viewer Project.</p>
-
-</body>
-</html>
deleted file mode 100644
--- a/browser/locales/en-US/chrome/help/firebird-toc.rdf
+++ /dev/null
@@ -1,491 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!DOCTYPE rdf:RDF [
- <!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
- %brandDTD;
-]>
-
-<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:nc="http://home.netscape.com/NC-rdf#">
-
- <rdf:Description about="urn:root">
- <nc:subheadings>
- <rdf:Seq>
- <rdf:li> <rdf:Description ID="firefox-help" nc:name="Welcome to &brandFullName; Help" nc:link="firefox_welcome.xhtml"/> </rdf:li>
- <rdf:li> <rdf:Description ID="using-firebird" nc:name="Using &brandFullName;" nc:link="using_firebird.xhtml"/> </rdf:li>
- <rdf:li> <rdf:Description ID="using-download-manager" nc:name="Using the Download Manager" nc:link="download_manager.xhtml"/> </rdf:li>
- <rdf:li> <rdf:Description ID="customize-firebird" nc:name="Customization" nc:link="customization.xhtml"/> </rdf:li>
- <rdf:li>
- <rdf:Description ID="prefs-win" nc:name="Options" nc:link="prefs.xhtml" nc:platform="win os2">
- <nc:subheadings rdf:resource="#prefs-tree"/>
- </rdf:Description>
- </rdf:li>
- <rdf:li>
- <rdf:Description ID="prefs-unix" nc:name="Preferences" nc:link="prefs.xhtml" nc:platform="unix mac">
- <nc:subheadings rdf:resource="#prefs-tree"/>
- </rdf:Description>
- </rdf:li>
- <rdf:li> <rdf:Description ID="popup-blocker" nc:name="Controlling Pop-ups" nc:link="popup.xhtml"/> </rdf:li>
- <rdf:li> <rdf:Description ID="cookies" nc:name="Managing Cookies" nc:link="cookies.xhtml"/> </rdf:li>
- <rdf:li> <rdf:Description ID="tabbed-browsing" nc:name="Tabbed Browsing" nc:link="tabbed_browsing.xhtml"/> </rdf:li>
- <rdf:li> <rdf:Description ID="firebird-keyboard-shortcuts" nc:name="Keyboard Shortcuts" nc:link="shortcuts.xhtml"/> </rdf:li>
- <rdf:li> <rdf:Description ID="firebird-mouse-shortcuts" nc:name="Mouse Shortcuts" nc:link="mouse_shortcuts.xhtml"/> </rdf:li>
- <rdf:li> <rdf:Description ID="a11y" nc:name="Accessibility Features" nc:link="accessibility.xhtml"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu" nc:name="Menu Reference" nc:link="menu_reference.xhtml"/> </rdf:li>
- <rdf:li> <rdf:Description ID="ieusers" nc:name="Help for Internet Explorer Users" nc:link="forieusers.xhtml"/> </rdf:li>
- </rdf:Seq>
- </nc:subheadings>
- </rdf:Description>
-
- <rdf:Description about="#using-firebird">
- <nc:subheadings>
- <rdf:Seq>
- <rdf:li> <rdf:Description ID="using-firebird-navigating-web-pages" nc:name="Navigating Web Pages" nc:link="using_firebird.xhtml#navigating_web_pages"/> </rdf:li>
- <rdf:li> <rdf:Description ID="using-firebird-searching" nc:name="Searching" nc:link="using_firebird.xhtml#searching"/> </rdf:li>
- <rdf:li> <rdf:Description ID="using-firebird-copying-saving-and-printing-pages" nc:name="Copying, Saving, and Printing Pages" nc:link="using_firebird.xhtml#copying_saving_and_printing_pages"/> </rdf:li>
- <rdf:li> <rdf:Description ID="using-firebird-improving-speed-and-efficiency" nc:name="Improving Speed and Efficiency" nc:link="using_firebird.xhtml#improving_speed_and_efficiency"/> </rdf:li>
- </rdf:Seq>
- </nc:subheadings>
- </rdf:Description>
-
- <rdf:Description about="#using-download-manager">
- <nc:subheadings>
- <rdf:Seq>
- <rdf:li> <rdf:Description ID="using-download-manager-whatis" nc:name="What is the Download Manager?" nc:link="download_manager.xhtml#what_is_download_manager"/> </rdf:li>
- <rdf:li> <rdf:Description ID="using-download-manager-can-i-do" nc:name="What can I do with the Download Manager?" nc:link="download_manager.xhtml#do_with_download_manager"/> </rdf:li>
- <rdf:li> <rdf:Description ID="using-download-manager-prefs-win" nc:name="Download Manager Options" nc:link="download_manager.xhtml#download_manager_options" nc:platform="win os2"/> </rdf:li>
- <rdf:li> <rdf:Description ID="using-download-manager-prefs-unix" nc:name="Download Manager Preferences" nc:link="download_manager.xhtml#download_manager_options" nc:platform="unix mac"/> </rdf:li>
- </rdf:Seq>
- </nc:subheadings>
- </rdf:Description>
-
- <rdf:Description about="#using-firebird-navigating-web-pages">
- <nc:subheadings>
- <rdf:Seq>
- <rdf:li><rdf:Description ID="using-firebird-viewing-your-home-page" nc:name="Viewing your Home Page" nc:link="using_firebird.xhtml#viewing_your_home_page"/> </rdf:li>
- <rdf:li><rdf:Description ID="using-firebird-moving-to-another-page" nc:name="Moving to Another Page" nc:link="using_firebird.xhtml#moving_to_another_page"/> </rdf:li>
- <rdf:li><rdf:Description ID="using-firebird-clicking-a-link" nc:name="Clicking a Link" nc:link="using_firebird.xhtml#clicking_a_link"/> </rdf:li>
- <rdf:li><rdf:Description ID="using-firebird-retracing-your-steps" nc:name="Retracing Your Steps" nc:link="using_firebird.xhtml#retracing_your_steps"/> </rdf:li>
- <rdf:li><rdf:Description ID="using-firebird-stopping-and-reloading" nc:name="Stopping and Reloading" nc:link="using_firebird.xhtml#stopping_and_reloading"/> </rdf:li>
- <rdf:li><rdf:Description ID="using-firebird-tabbed-browsing" nc:name="Tabbed Browsing" nc:link="tabbed_browsing.xhtml"/> </rdf:li>
- <rdf:li><rdf:Description ID="using-firebird-sidebar" nc:name="Using the Sidebar" nc:link="using_firebird.xhtml#using_the_sidebar"/> </rdf:li>
- </rdf:Seq>
- </nc:subheadings>
- </rdf:Description>
-
- <rdf:Description about="#using-firebird-searching">
- <nc:subheadings>
- <rdf:Seq>
- <rdf:li><rdf:Description ID="use-firebird-searching-the-web" nc:name="Searching the Web" nc:link="using_firebird.xhtml#searching_the_web"/> </rdf:li>
- <rdf:li><rdf:Description ID="use-firebird-searching-on-selected-words-in-a-web-page" nc:name="Searching the Web for Words Selected in a Web Page" nc:link="using_firebird.xhtml#searching_on_selected_words_in_a_web_page"/> </rdf:li>
- <rdf:li><rdf:Description ID="use-firebird-searching-within-a-page" nc:name="Searching Within a Page" nc:link="using_firebird.xhtml#searching_within_a_page"/> </rdf:li>
- </rdf:Seq>
- </nc:subheadings>
- </rdf:Description>
-
- <rdf:Description about="#using-firebird-copying-saving-and-printing-pages">
- <nc:subheadings>
- <rdf:Seq>
- <rdf:li><rdf:Description ID="using-firebird-copying-part-of-a-page" nc:name="Copying Part of a Page" nc:link="using_firebird.xhtml#copying_part_of_a_page"/> </rdf:li>
- <rdf:li><rdf:Description ID="using-firebird-saving-all-or-part-of-a-page" nc:name="Saving a Page" nc:link="using_firebird.xhtml#saving_all_or_part_of_a_page"/> </rdf:li>
- <rdf:li><rdf:Description ID="using-firebird-printing-a-page" nc:name="Printing a Page" nc:link="using_firebird.xhtml#printing_a_page"/> </rdf:li>
- <rdf:li><rdf:Description ID="using-firebird-using-print-preview" nc:name="Using Print Preview" nc:link="using_firebird.xhtml#using_print_preview" nc:platform="win unix os2"/> </rdf:li>
- <rdf:li><rdf:Description ID="using-firebird-using-page-setup" nc:name="Using Page Setup" nc:link="using_firebird.xhtml#using_page_setup"/> </rdf:li>
- </rdf:Seq>
- </nc:subheadings>
- </rdf:Description>
-
- <rdf:Description about="#using-firebird-improving-speed-and-efficiency">
- <nc:subheadings>
- <rdf:Seq>
- <rdf:li> <rdf:Description ID="using-firebird-managing-different-file-types" nc:name="Managing Different File Types" nc:link="using_firebird.xhtml#managing_different_file_types"/> </rdf:li>
- <rdf:li> <rdf:Description ID="using-firebird-making-firebird-default-browser" nc:name="Make Default Browser" nc:link="using_firebird.xhtml#making_firebird_your_default_browser"/> </rdf:li>
- <rdf:li> <rdf:Description ID="using-firebird-cache-prefs-win" nc:name="Cache Options" nc:link="using_firebird.xhtml#changing_cache_settings" nc:platform="win os2"/> </rdf:li>
- <rdf:li> <rdf:Description ID="using-firebird-cache-prefs-unix" nc:name="Cache Preferences" nc:link="using_firebird.xhtml#changing_cache_settings" nc:platform="mac unix"/> </rdf:li>
- </rdf:Seq>
- </nc:subheadings>
- </rdf:Description>
-
- <rdf:Description about="#customize-firebird">
- <nc:subheadings>
- <rdf:Seq>
- <rdf:li> <rdf:Description ID="customize-toolbars" nc:name="Toolbars" nc:link="customization.xhtml#toolbars"/> </rdf:li>
- <rdf:li> <rdf:Description ID="add-ons" nc:name="Add-ons (extensions and themes)" nc:link="customization.xhtml#add_ons"/> </rdf:li>
- </rdf:Seq>
- </nc:subheadings>
- </rdf:Description>
-
- <rdf:Description about="#customize-toolbars">
- <nc:subheadings>
- <rdf:Seq>
- <rdf:li> <rdf:Description ID="customize-toolbar-rearrange" nc:name="Rearranging Toolbar Items" nc:link="customization.xhtml#rearranging_toolbar_items"/> </rdf:li>
- <rdf:li> <rdf:Description ID="customize-toolbars-adding" nc:name="Hiding, Adding, and Removing Toolbars" nc:link="customization.xhtml#adding_removing_toolbars"/> </rdf:li>
- </rdf:Seq>
- </nc:subheadings>
- </rdf:Description>
-
- <rdf:Description about="#add-ons">
- <nc:subheadings>
- <rdf:Seq>
- <rdf:li> <rdf:Description ID="add-ons-installing" nc:name="Getting and Installing Add-ons" nc:link="customization.xhtml#add_ons_installing"/> </rdf:li>
- <rdf:li> <rdf:Description ID="add-ons-manager" nc:name="Using the Add-ons manager" nc:link="customization.xhtml#add_ons_manager"/> </rdf:li>
- </rdf:Seq>
- </nc:subheadings>
- </rdf:Description>
-
- <rdf:Description about="#popup-blocker">
- <nc:subheadings>
- <rdf:Seq>
- <rdf:li> <rdf:Description ID="popup-blocker-what-are-popups" nc:name="What are Pop-ups?" nc:link="popup.xhtml#what_are_popups"/> </rdf:li>
- <rdf:li> <rdf:Description ID="popup-blocker-prefs-win" nc:name="Pop-up Blocker Options" nc:link="popup.xhtml#popup_blocker_preferences" nc:platform="win os2"/> </rdf:li>
- <rdf:li> <rdf:Description ID="popup-blocker-prefs-unix" nc:name="Pop-up Blocker Preferences" nc:link="popup.xhtml#popup_blocker_preferences" nc:platform="unix mac"/> </rdf:li>
- </rdf:Seq>
- </nc:subheadings>
- </rdf:Description>
-
- <rdf:Description about="#cookies">
- <nc:subheadings>
- <rdf:Seq>
- <rdf:li><rdf:Description ID="cookies-what-is-a-cookie" nc:name="What is a Cookie?" nc:link="cookies.xhtml#what_is_a_cookie"/> </rdf:li>
- <rdf:li><rdf:Description ID="cookies-setting-up-cookie-rules" nc:name="Setting Up Cookie Rules" nc:link="cookies.xhtml#setting_up_cookie_rules"/> </rdf:li>
- <rdf:li><rdf:Description ID="cookies-all-the-settings" nc:name="Cookie Settings" nc:link="cookies.xhtml#all_the_settings"/> </rdf:li>
- <rdf:li><rdf:Description ID="cookies-accepting-and-blocking-cookies" nc:name="Accepting and Blocking Cookies" nc:link="cookies.xhtml#accepting_and_blocking_cookies"/> </rdf:li>
- <rdf:li><rdf:Description ID="cookies-exceptions" nc:name="The Cookies Exceptions Window" nc:link="cookies.xhtml#cookies_exceptions"/> </rdf:li>
- <rdf:li><rdf:Description ID="cookies-view" nc:name="The View Cookies Window" nc:link="cookies.xhtml#view_cookies"/> </rdf:li>
- </rdf:Seq>
- </nc:subheadings>
- </rdf:Description>
-
- <rdf:Description about="#tabbed-browsing">
- <nc:subheadings>
- <rdf:Seq>
- <rdf:li> <rdf:Description ID="tabbed-browsing-creating-loading-tabs" nc:name="Creating and Loading Tabs" nc:link="tabbed_browsing.xhtml#creating_loading_tabs"/> </rdf:li>
- <rdf:li> <rdf:Description ID="tabbed-browsing-moving-tabs" nc:name="Moving Tabs Within a Window" nc:link="tabbed_browsing.xhtml#moving_tabs"/> </rdf:li>
- <rdf:li> <rdf:Description ID="tabbed-browsing-closing-tabs" nc:name="Closing and Restoring Tabs" nc:link="tabbed_browsing.xhtml#closing_tabs"/> </rdf:li>
- <rdf:li> <rdf:Description ID="tabbed-browsing-customizing" nc:name="Customizing Tabbed Browsing" nc:link="tabbed_browsing.xhtml#customizing"/> </rdf:li>
- <rdf:li> <rdf:Description ID="tabbed-browsing-tips-tricks" nc:name="Tips and Tricks" nc:link="tabbed_browsing.xhtml#tips_tricks"/> </rdf:li>
- </rdf:Seq>
- </nc:subheadings>
- </rdf:Description>
-
- <rdf:Description about="#a11y">
- <nc:subheadings>
- <rdf:Seq>
- <rdf:li> <rdf:Description ID="a11y-keyboard-navigation" nc:name="Using a Keyboard" nc:link="accessibility.xhtml#using_a_keyboard"/> </rdf:li>
- <rdf:li> <rdf:Description ID="a11y-mouse-navigation" nc:name="Using a Mouse" nc:link="accessibility.xhtml#using_a_mouse"/> </rdf:li>
- <rdf:li> <rdf:Description ID="a11y-fonts-and-colors" nc:name="Fonts and Colors" nc:link="accessibility.xhtml#fonts_and_colors"/> </rdf:li>
- <rdf:li> <rdf:Description ID="a11y-web-content" nc:name="Controlling Web Content" nc:link="accessibility.xhtml#controlling_web_content"/> </rdf:li>
- <rdf:li> <rdf:Description ID="a11y-compatibility" nc:name="Compatibility with Assistive Technologies" nc:link="accessibility.xhtml#compatibility_with_assistive_technologies"/> </rdf:li>
- <rdf:li> <rdf:Description ID="a11y-online" nc:name="Finding Help Online" nc:link="accessibility.xhtml#finding_help_online"/> </rdf:li>
- </rdf:Seq>
- </nc:subheadings>
- </rdf:Description>
-
- <rdf:Description about="#a11y-keyboard-navigation">
- <nc:subheadings>
- <rdf:Seq>
- <rdf:li> <rdf:Description ID="a11y-keyboard-shortcuts" nc:name="Keyboard Shortcuts" nc:link="accessibility.xhtml#keyboard_shortcuts"/> </rdf:li>
- <rdf:li> <rdf:Description ID="a11y-caret-browsing" nc:name="Always Use the Cursor Keys to Navigate Within Webpages" nc:link="accessibility.xhtml#always_use_cursor_keys"/> </rdf:li>
- <rdf:li> <rdf:Description ID="a11y-typeahead-find" nc:name="Search for Text When I Start Typing" nc:link="accessibility.xhtml#find_as_you_type"/> </rdf:li>
- </rdf:Seq>
- </nc:subheadings>
- </rdf:Description>
-
- <rdf:Description about="#a11y-mouse-navigation">
- <nc:subheadings>
- <rdf:Seq>
- <rdf:li> <rdf:Description ID="a11y-mouse-shortcuts" nc:name="Common Mouse Shortcuts" nc:link="accessibility.xhtml#common_mouse_shortcuts"/> </rdf:li>
- </rdf:Seq>
- </nc:subheadings>
- </rdf:Description>
-
- <rdf:Description about="#a11y-fonts-and-colors">
- <nc:subheadings>
- <rdf:Seq>
- <rdf:li> <rdf:Description ID="a11y-override-fonts" nc:name="Overriding Page Fonts" nc:link="accessibility.xhtml#overriding_page_fonts"/> </rdf:li>
- <rdf:li> <rdf:Description ID="a11y-minimum-font-size" nc:name="Setting a Minimum Font Size" nc:link="accessibility.xhtml#setting_a_minimum_font_size"/> </rdf:li>
- <rdf:li> <rdf:Description ID="a11y-text-zoom" nc:name="Resizing Page Text" nc:link="accessibility.xhtml#resizing_page_text"/> </rdf:li>
- <rdf:li> <rdf:Description ID="a11y-override-colors" nc:name="Overriding Page Colors" nc:link="accessibility.xhtml#overriding_page_colors"/> </rdf:li>
- <rdf:li> <rdf:Description ID="a11y-high-contrast" nc:name="Using a High Contrast Theme" nc:link="accessibility.xhtml#using_a_high_contrast_theme" nc:platform="win unix"/> </rdf:li>
- </rdf:Seq>
- </nc:subheadings>
- </rdf:Description>
-
- <rdf:Description about="#a11y-web-content">
- <nc:subheadings>
- <rdf:Seq>
- <rdf:li> <rdf:Description ID="a11y-popup-windows" nc:name="Blocking Pop-up Windows" nc:link="accessibility.xhtml#blocking_popup_windows"/> </rdf:li>
- <rdf:li> <rdf:Description ID="a11y-java" nc:name="Turning Off Java Applets" nc:link="accessibility.xhtml#turning_off_java_applets"/> </rdf:li>
- <rdf:li> <rdf:Description ID="a11y-javascript" nc:name="Restricting JavaScript Behavior" nc:link="accessibility.xhtml#restricting_javascript_behavior"/> </rdf:li>
- </rdf:Seq>
- </nc:subheadings>
- </rdf:Description>
-
- <rdf:Description about="#menu">
- <nc:subheadings>
- <rdf:Seq>
- <rdf:li> <rdf:Description ID="menu-firefox" nc:name="&brandShortName;" nc:link="menu_reference.xhtml#firefox" nc:platform="mac"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-file" nc:name="File" nc:link="menu_reference.xhtml#file"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-edit" nc:name="Edit" nc:link="menu_reference.xhtml#edit"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-view" nc:name="View" nc:link="menu_reference.xhtml#view"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-go" nc:name="History" nc:link="menu_reference.xhtml#go"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-bookmarks" nc:name="Bookmarks" nc:link="menu_reference.xhtml#bookmarks"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-tools" nc:name="Tools" nc:link="menu_reference.xhtml#tools"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-window" nc:name="Window" nc:link="menu_reference.xhtml#window" nc:platform="mac"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-help" nc:name="Help" nc:link="menu_reference.xhtml#help"/> </rdf:li>
- </rdf:Seq>
- </nc:subheadings>
- </rdf:Description>
-
- <rdf:Description about="#menu-firefox">
- <nc:subheadings>
- <rdf:Seq>
- <rdf:li> <rdf:Description ID="menu-firefox-about" nc:name="About &brandFullName;" nc:link="menu_reference.xhtml#about_mac"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-firefox-preferences" nc:name="Preferences…" nc:link="menu_reference.xhtml#prefs_mac"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-firefox-quit" nc:name="Quit &brandShortName;" nc:link="menu_reference.xhtml#quit_mac"/> </rdf:li>
- </rdf:Seq>
- </nc:subheadings>
- </rdf:Description>
-
- <rdf:Description about="#menu-file">
- <nc:subheadings>
- <rdf:Seq>
- <rdf:li> <rdf:Description ID="menu-file-new-window" nc:name="New Window" nc:link="menu_reference.xhtml#new_window"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-file-new-tab" nc:name="New Tab" nc:link="menu_reference.xhtml#new_tab"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-file-open-location" nc:name="Open Location…" nc:link="menu_reference.xhtml#open_location"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-file-open-file" nc:name="Open File…" nc:link="menu_reference.xhtml#open_file"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-file-close" nc:name="Close (Window)" nc:link="menu_reference.xhtml#close"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-file-close-tab" nc:name="Close Tab" nc:link="menu_reference.xhtml#close_tab"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-file-save-page-as" nc:name="Save Page As…" nc:link="menu_reference.xhtml#save_page_as"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-file-send-page" nc:name="Send Link…" nc:link="menu_reference.xhtml#send_page"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-file-page-setup" nc:name="Page Setup…" nc:link="menu_reference.xhtml#page_setup"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-file-print-preview" nc:name="Print Preview" nc:link="menu_reference.xhtml#print_preview" nc:platform="win unix os2"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-file-print" nc:name="Print…" nc:link="menu_reference.xhtml#print"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-file-import" nc:name="Import…" nc:link="menu_reference.xhtml#import"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-file-work-offline" nc:name="Work Offline" nc:link="menu_reference.xhtml#work_offline"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-file-exit-win" nc:name="Exit" nc:link="menu_reference.xhtml#exit" nc:platform="win os2"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-file-exit-unix" nc:name="Quit" nc:link="menu_reference.xhtml#exit" nc:platform="unix"/> </rdf:li>
- </rdf:Seq>
- </nc:subheadings>
- </rdf:Description>
-
- <rdf:Description about="#menu-edit">
- <nc:subheadings>
- <rdf:Seq>
- <rdf:li> <rdf:Description ID="menu-view-undo" nc:name="Undo" nc:link="menu_reference.xhtml#undo"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-view-redo" nc:name="Redo" nc:link="menu_reference.xhtml#redo"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-view-cut" nc:name="Cut" nc:link="menu_reference.xhtml#cut"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-view-copy" nc:name="Copy" nc:link="menu_reference.xhtml#copy"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-view-paste" nc:name="Paste" nc:link="menu_reference.xhtml#paste"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-view-delete" nc:name="Delete" nc:link="menu_reference.xhtml#delete"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-view-select-all" nc:name="Select All" nc:link="menu_reference.xhtml#select_all"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-view-find-in-this-page" nc:name="Find in This Page…" nc:link="menu_reference.xhtml#find_in_this_page"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-view-find-again" nc:name="Find Again" nc:link="menu_reference.xhtml#find_again"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-view-preferences" nc:name="Preferences" nc:link="menu_reference.xhtml#prefs" nc:platform="unix"/> </rdf:li>
- </rdf:Seq>
- </nc:subheadings>
- </rdf:Description>
-
- <rdf:Description about="#menu-view">
- <nc:subheadings>
- <rdf:Seq>
- <rdf:li> <rdf:Description ID="menu-view-toolbars" nc:name="Toolbars" nc:link="menu_reference.xhtml#toolbars"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-view-status-bar" nc:name="Status Bar" nc:link="menu_reference.xhtml#status_bar"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-view-sidebar" nc:name="Sidebar" nc:link="menu_reference.xhtml#sidebar"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-view-stop" nc:name="Stop" nc:link="menu_reference.xhtml#stop"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-view-reload" nc:name="Reload" nc:link="menu_reference.xhtml#reload"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-view-text-size" nc:name="Text Size" nc:link="menu_reference.xhtml#text_size"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-view-page-style" nc:name="Page Style" nc:link="menu_reference.xhtml#page_style"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-view-character-encoding" nc:name="Character Encoding" nc:link="menu_reference.xhtml#character_encoding"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-view-page-source" nc:name="Page Source" nc:link="menu_reference.xhtml#page_source"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-view-full-screen" nc:name="Full Screen" nc:link="menu_reference.xhtml#full_screen" nc:platform="win unix os2"/> </rdf:li>
- </rdf:Seq>
- </nc:subheadings>
- </rdf:Description>
-
- <rdf:Description about="#menu-view-toolbars">
- <nc:subheadings>
- <rdf:Seq>
- <rdf:li> <rdf:Description ID="menu-view-toolbars-navigation" nc:name="Navigation Toolbar" nc:link="menu_reference.xhtml#navigation_toolbar"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-view-toolbars-bookmarks" nc:name="Bookmarks Toolbar" nc:link="menu_reference.xhtml#bookmarks_toolbar"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-view-toolbars-customize" nc:name="Customize" nc:link="menu_reference.xhtml#customize"/> </rdf:li>
- </rdf:Seq>
- </nc:subheadings>
- </rdf:Description>
-
- <rdf:Description about="#menu-view-sidebar">
- <nc:subheadings>
- <rdf:Seq>
- <rdf:li> <rdf:Description ID="menu-view-sidebar-bookmarks" nc:name="Bookmarks" nc:link="menu_reference.xhtml#view_sidebar_bookmarks"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-view-sidebar-history" nc:name="History" nc:link="menu_reference.xhtml#view_sidebar_history"/> </rdf:li>
- </rdf:Seq>
- </nc:subheadings>
- </rdf:Description>
-
- <rdf:Description about="#menu-view-text-size">
- <nc:subheadings>
- <rdf:Seq>
- <rdf:li> <rdf:Description ID="menu-view-text-size-increase" nc:name="Increase" nc:link="menu_reference.xhtml#increase_text_size"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-view-text-size-decrease" nc:name="Decrease" nc:link="menu_reference.xhtml#decrease_text_size"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-view-text-size-reset" nc:name="Normal" nc:link="menu_reference.xhtml#reset_text_size"/> </rdf:li>
- </rdf:Seq>
- </nc:subheadings>
- </rdf:Description>
-
- <rdf:Description about="#menu-view-page-style">
- <nc:subheadings>
- <rdf:Seq>
- <rdf:li> <rdf:Description ID="menu-view-page-style-no-style" nc:name="No Style" nc:link="menu_reference.xhtml#no_style"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-view-page-style-basic-page-style" nc:name="Basic Page Style" nc:link="menu_reference.xhtml#basic_page_style"/> </rdf:li>
- </rdf:Seq>
- </nc:subheadings>
- </rdf:Description>
-
- <rdf:Description about="#menu-go">
- <nc:subheadings>
- <rdf:Seq>
- <rdf:li> <rdf:Description ID="menu-go-back" nc:name="Back" nc:link="menu_reference.xhtml#back"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-go-forward" nc:name="Forward" nc:link="menu_reference.xhtml#forward"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-go-home" nc:name="Home" nc:link="menu_reference.xhtml#home"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-go-closed-tabs" nc:name="Recently Closed Tabs" nc:link="menu_reference.xhtml#closed_tabs"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-go-history" nc:name="Show in Sidebar" nc:link="menu_reference.xhtml#go_history"/> </rdf:li>
- </rdf:Seq>
- </nc:subheadings>
- </rdf:Description>
-
- <rdf:Description about="#menu-bookmarks">
- <nc:subheadings>
- <rdf:Seq>
- <rdf:li> <rdf:Description ID="menu-bookmarks-add-to-bookmarks" nc:name="Bookmark This Page" nc:link="menu_reference.xhtml#add_to_bookmarks"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-bookmarks-subscribe" nc:name="Subscribe to This Page…" nc:link="menu_reference.xhtml#subscribe"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-bookmarks-bookmark-all-tabs" nc:name="Bookmark All Tabs…" nc:link="menu_reference.xhtml#bookmark_all_tabs"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-bookmarks-organize-bookmarks" nc:name="Organize Bookmarks…" nc:link="menu_reference.xhtml#organize_bookmarks"/> </rdf:li>
- </rdf:Seq>
- </nc:subheadings>
- </rdf:Description>
-
- <rdf:Description about="#menu-tools">
- <nc:subheadings>
- <rdf:Seq>
- <rdf:li> <rdf:Description ID="menu-tools-web-search" nc:name="Web Search" nc:link="menu_reference.xhtml#web_search"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-tools-downloads" nc:name="Downloads" nc:link="menu_reference.xhtml#downloads"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-tools-add-ons" nc:name="Add-ons" nc:link="menu_reference.xhtml#add_ons"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-tools-javascript-console" nc:name="Error Console" nc:link="menu_reference.xhtml#javascript_console"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-tools-page-info" nc:name="Page Info" nc:link="menu_reference.xhtml#page_info"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-tools-clear-private-data" nc:name="Clear Private Data…" nc:link="menu_reference.xhtml#clear_private_data"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-tools-options" nc:name="Options" nc:link="menu_reference.xhtml#options" nc:platform="win os2"/> </rdf:li>
- </rdf:Seq>
- </nc:subheadings>
- </rdf:Description>
-
- <rdf:Description about="#menu-window">
- <nc:subheadings>
- <rdf:Seq>
- <rdf:li> <rdf:Description ID="menu-window-minimize" nc:name="Minimize" nc:link="menu_reference.xhtml#minimize"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-window-zoom" nc:name="Zoom" nc:link="menu_reference.xhtml#zoom"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-window-open-windows" nc:name="(Open Windows)" nc:link="menu_reference.xhtml#open-windows"/> </rdf:li>
- </rdf:Seq>
- </nc:subheadings>
- </rdf:Description>
-
- <rdf:Description about="#menu-help">
- <nc:subheadings>
- <rdf:Seq>
- <rdf:li> <rdf:Description ID="menu-help-help-contents" nc:name="Help Contents" nc:link="menu_reference.xhtml#help_contents" nc:platform="win unix os2"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-help-help-contents-mac" nc:name="&brandShortName; Help" nc:link="menu_reference.xhtml#help_contents" nc:platform="mac"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-help-for-ie-users" nc:name="For Internet Explorer Users" nc:link="menu_reference.xhtml#for_ie_users" nc:platform="win"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-help-relnotes" nc:name="Release Notes" nc:link="menu_reference.xhtml#relnotes"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-help-report-broken-web-site" nc:name="Report Broken Web Site…" nc:link="menu_reference.xhtml#reporter"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-help-report-web-forgery" nc:name="Report Web Forgery…" nc:link="menu_reference.xhtml#web_forgery"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-help-check-for-updates" nc:name="Check for Updates…" nc:link="menu_reference.xhtml#check_for_updates"/> </rdf:li>
- <rdf:li> <rdf:Description ID="menu-help-about-mozilla-firebird" nc:name="About &brandFullName;" nc:link="menu_reference.xhtml#about_mozilla_firebird" nc:platform="win unix os2"/> </rdf:li>
- </rdf:Seq>
- </nc:subheadings>
- </rdf:Description>
-
- <rdf:Description about="#ieusers">
- <nc:subheadings>
- <rdf:Seq>
- <rdf:li> <rdf:Description ID="ieusers-firebird-ie-terminology-differences" nc:name="Terminology Differences" nc:link="forieusers.xhtml#firebird_and_internet_explorer_terminology_differences"/> </rdf:li>
- <rdf:li> <rdf:Description ID="ieusers-about-your-ie-settings" nc:name="About Your IE Favorites and Settings" nc:link="forieusers.xhtml#about_your_ie_settings"/> </rdf:li>
- <rdf:li> <rdf:Description ID="ieusers-firebirds-features" nc:name="&brandFullName;'s Features" nc:link="forieusers.xhtml#firebirds_features"/> </rdf:li>
- <rdf:li> <rdf:Description ID="ieusers-keyboard-shortcuts" nc:name="Keyboard Shortcuts" nc:link="forieusers.xhtml#keyboard_shortcuts"/> </rdf:li>
- </rdf:Seq>
- </nc:subheadings>
- </rdf:Description>
-
- <!-- The following nodes are intentionally linkable but not displayable -->
- <Description rdf:ID="prefs-languages" nc:name="Languages" nc:link="prefs.xhtml#languages"/>
- <Description rdf:ID="prefs-fonts-and-colors" nc:name="Fonts & Colors" nc:link="prefs.xhtml#fonts_and_colors"/>
- <Description rdf:ID="prefs-connection-settings" nc:name="Connection Settings" nc:link="prefs.xhtml#connection_settings"/>
-
- <!-- The following nodes are trees used multiple times in the hierarchy
- (for platform-specific reasons). To display one of these trees,
- include an nc:subheadings element with an rdf:ID attribute set to
- "#" plus the value of the rdf:ID for the appropriate tree within
- the appropriate rdf:Description element. -->
-
- <Seq rdf:ID="prefs-tree">
- <li><Description ID="prefs-main" nc:name="Main" nc:link="prefs.xhtml#main_options"/></li>
- <li><Description ID="prefs-tabs" nc:name="Tabs" nc:link="prefs.xhtml#tabs_options"/></li>
- <li><Description ID="prefs-content" nc:name="Content" nc:link="prefs.xhtml#content_options"/></li>
- <li><Description ID="prefs-applications" nc:name="Applications" nc:link="prefs.xhtml#applications_options"/></li>
- <li><Description ID="prefs-privacy" nc:name="Privacy" nc:link="prefs.xhtml#privacy_options"/></li>
- <li><Description ID="prefs-security" nc:name="Security" nc:link="prefs.xhtml#security_options"/></li>
- <li><Description ID="prefs-advanced" nc:name="Advanced" nc:link="prefs.xhtml#advanced_options"/></li>
- </Seq>
-
- <!-- The following are subnodes of trees used multiple times in the hierarchy. -->
-
- <Description rdf:about="#prefs-main">
- <nc:subheadings>
- <Seq>
- <li><Description rdf:ID="prefs-startup" nc:name="Startup" nc:link="prefs.xhtml#startup"/></li>
- <li><Description rdf:ID="prefs-downloads" nc:name="Downloads" nc:link="prefs.xhtml#downloads"/></li>
- <li><Description rdf:ID="prefs-system-defaults" nc:name="System Defaults" nc:link="prefs.xhtml#system_defaults"/></li>
- <li><Description rdf:ID="prefs-addons" nc:name="Add-ons" nc:link="prefs.xhtml#addons"/></li>
- </Seq>
- </nc:subheadings>
- </Description>
-
- <Description rdf:about="#prefs-content">
- <nc:subheadings>
- <Seq>
- <li><Description rdf:ID="prefs-advanced-javascript" nc:name="Advanced Javascript Settings" nc:link="prefs.xhtml#advanced_javascript"/></li>
- <li><Description rdf:ID="prefs-fonts-and-colors" nc:name="Fonts and Colors" nc:link="prefs.xhtml#fonts_and_colors"/></li>
- </Seq>
- </nc:subheadings>
- </Description>
-
- <Description rdf:about="#prefs-privacy">
- <nc:subheadings>
- <rdf:Seq>
- <li><Description rdf:ID="prefs-privacy-history" nc:name="History" nc:link="prefs.xhtml#privacy_history"/></li>
- <li><Description rdf:ID="prefs-privacy-cookies" nc:name="Cookies" nc:link="prefs.xhtml#privacy_cookies"/></li>
- <li><Description rdf:ID="prefs-clear-private-data" nc:name="Private Data" nc:link="prefs.xhtml#private_data"/></li>
- </rdf:Seq>
- </nc:subheadings>
- </Description>
-
- <Description rdf:about="#prefs-security">
- <nc:subheadings>
- <Seq>
- <li><Description rdf:ID="prefs-passwords" nc:name="Passwords" nc:link="prefs.xhtml#security_passwords"/></li>
- <li><Description rdf:ID="prefs-warning-messages" nc:name="Warning Messages" nc:link="prefs.xhtml#warning_messages"/></li>
- </Seq>
- </nc:subheadings>
- </Description>
-
- <Description rdf:about="#prefs-advanced">
- <nc:subheadings>
- <Seq>
- <li><Description rdf:ID="prefs-advanced-general" nc:name="General" nc:link="prefs.xhtml#advanced_general"/></li>
- <li><Description rdf:ID="prefs-advanced-network" nc:name="Network" nc:link="prefs.xhtml#advanced_network"/></li>
- <li><Description rdf:ID="prefs-advanced-update" nc:name="Update" nc:link="prefs.xhtml#advanced_update"/></li>
- <li><Description rdf:ID="prefs-advanced-encryption" nc:name="Encryption" nc:link="prefs.xhtml#advanced_encryption"/></li>
- </Seq>
- </nc:subheadings>
- </Description>
-
-</rdf:RDF>
deleted file mode 100644
--- a/browser/locales/en-US/chrome/help/firebirdhelp.rdf
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!DOCTYPE window [
- <!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
- %brandDTD;
-]>
-
-<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:nc="http://home.netscape.com/NC-rdf#">
-
- <!-- MOZILLA MASTER HELP DOCUMENT -->
- <Description rdf:about="urn:root"
- nc:title="&brandFullName; Help"
- nc:defaulttopic="firefox-help"
- nc:base="chrome://browser/locale/help/">
- <nc:panellist>
- <Seq>
- <li>
- <Description nc:panelid="toc"
- nc:datasources="chrome://help/locale/help-toc.rdf firebird-toc.rdf"/>
- </li>
- <li>
- <Description nc:panelid="search"
- nc:datasources="search-db.rdf"
- nc:emptysearchtext="[No matching items found.]"
- nc:emptysearchlink="chrome://help/locale/welcome.xhtml#search_tips"/>
- </li>
- </Seq>
- </nc:panellist>
- </Description>
-</RDF>
deleted file mode 100644
--- a/browser/locales/en-US/chrome/help/firefox_welcome.xhtml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"[
- <!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd" >
- <!ENTITY % regionDTD SYSTEM "chrome://global-region/locale/region.dtd" >
- <!ENTITY % platformDTD SYSTEM "chrome://browser/locale/help/platformStrings.dtd" >
- %brandDTD;
- %regionDTD;
- %platformDTD;
-]>
-<!--
-Contributors:
- R.J. Keller <rlk@trfenv.com> (original author)
- Jeff Walden <jwalden+code@mit.edu>
- Steffen Wilberg <steffen.wilberg@web.de>
--->
-
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
- <title>&brandFullName; Help</title>
- <link rel="stylesheet" type="text/css" href="chrome://help/skin/helpFileLayout.css"/>
-</head>
-<body>
-
-<h1>Welcome to &brandFullName; Help</h1>
-<p>To display information about &brandFullName; in this window, click topics in
- the <em>Contents</em> sidebar. Click the <span class="noMac">plus icon</span>
- <span class="mac">triangle</span> next to a topic to see its subtopics.</p>
-
-<p>You can also use the <em>Search</em> bar to find specific
- information within &brandShortName; Help. For more information on using
- &brandFullName; Help, see <a href="chrome://help/locale/welcome.xhtml">Using
- the Help Window</a>.</p>
-
-<p>If you can't find what you need in built-in &brandShortName; Help, you can
- find more help and support options online at <a
- href="http://www.mozilla.org/support/firefox/" target="_blank">&brandShortName; Help</a>.</p>
-
-<div class="contentsBox"><em>09 July 2005</em></div>
-<p>Copyright © ©right.years; Contributors to the Mozilla Help Viewer Project.</p>
-
-</body>
-</html>
deleted file mode 100644
--- a/browser/locales/en-US/chrome/help/forieusers.xhtml
+++ /dev/null
@@ -1,115 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"[
- <!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd" >
- %brandDTD;
- <!ENTITY % platformDTD SYSTEM "chrome://browser/locale/help/platformStrings.dtd" >
- %platformDTD;
-]>
-
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
- <title>For Internet Explorer Users</title>
- <link rel="stylesheet" type="text/css" href="chrome://help/skin/helpFileLayout.css"/>
-</head>
-
-<body>
-<h1>For Internet Explorer Users</h1>
-
-<p>If you've been using Microsoft® Internet Explorer, you'll find that
- it's easy to begin using &brandFullName;.</p>
-<p><strong>Note:</strong> This information applies to &brandFullName; for Windows and
- Mac OS.</p>
-
-<div class="contentsBox">In this section:
- <ul>
- <li><a href="#firebird_and_internet_explorer_terminology_differences">
- Terminology Differences</a></li>
- <li><a href="#about_your_ie_settings">About Your IE Favorites and Settings</a></li>
- <li><a href="#firebirds_features">&brandShortName;'s Features</a></li>
- <li><a href="#keyboard_shortcuts">Keyboard Shortcuts</a></li>
- </ul>
-</div>
-
-<h2 id="firebird_and_internet_explorer_terminology_differences">Terminology
- Differences</h2>
-
-<table width="95%" border="1">
- <thead>
- <tr>
- <th>Internet Explorer</th>
- <th>&brandShortName;</th>
- </tr>
- </thead>
- <tbody>
- <tr class="noMac">
- <td>Internet Options</td>
- <td>&pref.pluralCaps;</td>
- </tr>
- <tr class="noMac">
- <td>Temporary Internet Files</td>
- <td>Cache</td>
- </tr>
- <tr>
- <td>Favorites</td>
- <td>Bookmarks</td>
- </tr>
- <tr>
- <td>Address Bar</td>
- <td>Location Bar</td>
- </tr>
- <tr>
- <td>Refresh</td>
- <td>Reload</td>
- </tr>
- <tr>
- <td><span class="noMac">Links Bar</span><span class="mac">Favorites Bar</span></td>
- <td>Bookmarks Toolbar</td>
- </tr>
- <tr>
- <td><span class="noMac">Copy Shortcut</span><span class="mac">Copy Link to Clipboard</span></td>
- <td>Copy Link Location</td>
- </tr>
- <tr>
- <td><span class="noMac">Save Target As</span><span class="mac">Download Link to Disk</span></td>
- <td>Save Link As</td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="about_your_ie_settings">About Your IE Favorites and Settings</h2>
-
-<p>When you first install &brandShortName;, it will import your existing
- Internet Explorer settings, including your Favorites, cookies, stored
- passwords, and a variety of other data. This saves you time customizing
- &brandShortName; to fit your needs.</p>
-
-<h2 id="firebirds_features">&brandShortName;'s Features</h2>
-<ul>
- <li><strong>Tabbed Browsing</strong>: Instead of opening a separate browser
- window for each site you want to visit, you can open multiple sites within
- the same window and tab between them. You can also set a group of tabs as
- your home page. For more information see <a
- href="tabbed_browsing.xhtml">Tabbed Browsing</a>.</li>
- <li><strong>Pop-up Window Controls</strong>: Lets you allow or suppress both
- pop-up and pop-under windows.</li>
- <li><strong>Cookie Manager</strong>: Lets you change what &brandShortName; will
- do when accepting cookies.</li>
- <li><strong>Download Manager</strong>: Organizes your downloads by storing
- them in a single window to minimize clutter. You have full access to
- download statistics without using unnecessary multiple windows for each
- download.</li>
- <li><strong>Image Manager</strong>: Enables you to disable images from certain
- web sites or disable them altogether. This is useful if you wish to decrease
- the amount of time it takes for web sites to load.</li>
-</ul>
-
-<h2 id="keyboard_shortcuts">Keyboard Shortcuts</h2>
-<p>You will notice that Microsoft Internet Explorer and &brandShortName; share many of
- the same shortcut keys. For a full list of shortcut keys, see the
- <a href="shortcuts.xhtml">List of &brandShortName; Keyboard Shortcuts</a>.</p>
-
-<div class="contentsBox"><em>10 December 2004</em></div>
-<p>Copyright © ©right.years; Contributors to the Mozilla Help Viewer Project.</p>
-
-</body>
-</html>
deleted file mode 100644
--- a/browser/locales/en-US/chrome/help/glossary.xhtml
+++ /dev/null
@@ -1,293 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"[
- <!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd" >
- %brandDTD;
- <!ENTITY % platformDTD SYSTEM "chrome://browser/locale/help/platformStrings.dtd" >
- %platformDTD;
-]
->
-
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
- <title>Glossary</title>
- <link rel="stylesheet" type="text/css" href="chrome://help/skin/helpFileLayout.css"/>
-</head>
-
-<body>
-
-<p>This glossary is provided for your information only; it is not meant to be relied
- upon as a complete or authoritative description of the terms defined below or of
- the privacy and/or security ramifications of the technologies described.</p>
-<hr/>
-
-<h1 id="glossary">Glossary</h1>
-
-<dl>
-
-<dt id="authentication">authentication</dt>
-<dd>The use of a password, certificate, personal identification number
- (PIN), or other information to validate an identity over a computer
- network.</dd>
-
-<dt id="bookmark">bookmark</dt>
-<dd>A stored web page address (<a href="#Uniform_Resource_Locator">URL</a>)
- that you can go to easily by clicking a bookmark icon in the Bookmarks Toolbar
- or choosing the bookmark's name from the Bookmarks menu.</dd>
-
-<dt id="Bookmarks_Toolbar">Bookmarks Toolbar</dt>
-<dd>The customizable toolbar that appears just below the Location Bar by
- default in &brandShortName;. It contains buttons for your favorite bookmarks
- (or folders containing groups of bookmarks) that you can add or remove.</dd>
-
-<dt id="cache">cache</dt>
-<dd>A collection of web page copies stored on your computer's hard disk or in
- its random-access memory (RAM). &brandShortName; accumulates these copies as you
- browse the Web. When you click a link or type a
- <a href="#Uniform_Resource_Locator">URL</a> to fetch a particular web page for
- which the cache already contains a copy, &brandShortName; compares the cached copy
- to the original. If there have been no changes, &brandShortName; uses the cached
- copy rather than refetching the original, saving processing and download time.</dd>
-
-<dt id="certificate">certificate</dt>
-<dd>The digital equivalent of an ID card. A certificate specifies the name of an
- individual, company, or other entity and certifies that a public key, which
- is included in the certificate, belongs to that entity. When you digitally
- sign a message or other data, the digital signature for that message is
- created with the aid of the private key that corresponds to the public key
- in your certificate.</dd>
-
-<dt id="client">client</dt>
-<dd>Software (such as an Internet browser) that sends requests to and receives
- information from a <a href="#server">server</a>, which is usually running
- on a different computer. A computer on which client software runs is also
- described as a client.</dd>
-
-<dt id="cookie">cookie</dt>
-<dd>A small bit of information stored on your computer by some web sites. When
- you visit such a site, the site asks &brandShortName; to place one or more cookies
- on your hard disk. Later, when you return to the site, &brandShortName; sends the
- site the cookies that belong to it. Cookies help web sites keep track of
- information about you, such as the contents of your shopping cart. You can set
- your cookies options to control how cookies are used and how much information
- you are willing to let web sites store on them.</dd>
-
-<dt id="cryptography">cryptography</dt>
-<dd>The art and practice of scrambling (encrypting) and unscrambling (decrypting)
- information. For example, cryptographic techniques are used to scramble and unscramble
- information flowing between commercial web sites and &brandShortName;.</dd>
-
-<dt id="decryption">decryption</dt>
-<dd>The process of unscrambling data that has been encrypted. See also
- <a href="#encryption">encryption</a>.</dd>
-
-<dt id="digital_ID">digital ID</dt>
-<dd>See <a href="#certificate">certificate</a>.</dd>
-
-<dt id="encryption">encryption</dt>
-<dd>The process of scrambling information in a way that disguises its meaning.
- For example, encrypted connections between computers make it very difficult
- for third-parties to unscramble, or <em>decrypt,</em> information flowing
- over the connection. Encrypted information can be decrypted only by someone
- who possesses the appropriate key.</dd>
-
-<dt id="XML">Extensible Markup Language (XML)</dt>
-<dd>An open standard for describing data. Unlike HTML, XML allows the
- developer of a web page to define special tags. For more information,
- see the online W3C document <a href="http://www.w3.org/XML/">Extensible
- Markup Language (XML)</a>.</dd>
-
-<dt id="feed">feed</dt>
-<dd>An <a href="#XML">XML</a> web page that contains a list of links to
- other web pages. Special programs can read feeds to create a list
- of headlines from the links, automatically updating the list as it changes.
- News web sites use feeds to quickly publish the latest headlines, and
- personal online journals often use feeds to quickly notify visitors about
- new entries. See also <a href="#live_bookmark">Live Bookmark</a>.</dd>
-
-<dt id="File_Transfer_Protocol">File Transfer Protocol (FTP)</dt>
-<dd>A standard that allows users to transfer files from one computer to
- another over a network. You can use &brandShortName; to fetch files
- using FTP.</dd>
-
-<dt id="FIPS_PUBS_140-1">FIPS PUBS 140-1</dt>
-<dd>Federal Information Processing Standards Publications (FIPS PUBS) 140-1 is
- a US government standard for implementations of cryptographic modules —
- hardware or software that encrypts and decrypts data or performs other
- cryptographic operations (such as creating or verifying digital signatures).
- Many products sold to the US government must comply with one or more of the
- FIPS standards.</dd>
-
-<dt id="home_page">home page</dt>
-<dd>The page &brandShortName; is set to display every time you launch it or when you
- click the <em>Home</em> button. Also used to refer to the main page for a
- web site from which you can explore the rest of the site.</dd>
-
-<dt id="Hypertext_Markup_Language">Hypertext Markup Language (HTML)</dt>
-<dd>The document format used for web pages. The HTML standard defines tags, or
- codes, used to define the text layout, fonts, style, images, and other
- elements that make up a web page.</dd>
-
-<dt id="Internet">Internet</dt>
-<dd>A worldwide network of millions of computers that communicate with each
- other using standard protocols such as
- <a href="#TCP_IP">TCP/IP</a>.
- Originally developed for the US military in 1969, the Internet grew to include
- educational and research institutions and, in the late 1990s, millions of
- businesses, organizations, and individuals. Today the Internet is used for email,
- browsing the <a href="#World_Wide_Web">World Wide Web</a>, instant messaging,
- mailing lists and usegroups, and many other purposes.</dd>
-
-<dt id="Internet_protocol_address">Internet protocol address (IP address)</dt>
-<dd>The address of a computer on a
- <a href="#TCP_IP">TCP/IP</a> network.
- Every computer on the Internet has an IP address. <a href="#client">Clients</a>
- have either a permanent IP address or one that is dynamically assigned to them
- each time they connect with the network.</dd>
-
-<dt id="Java">Java</dt>
-<dd>A programming language developed by Sun Microsystems. A single Java program
- can run on many different kinds of computers, thus avoiding the need for
- programmers to create a separate version of each program for each kind of
- computer. After Java is installed, &brandShortName; can automatically download
- and run Java programs (also called applets).</dd>
-
-<dt id="JavaScript">JavaScript</dt>
-<dd>A scripting language commonly used to construct web pages. Programmers use
- JavaScript to make web pages more interactive; JavaScript is often used to
- dynamically validate forms and select buttons. JavaScript can be used with
- Java, but it is technically a separate language. Java is not required for
- JavaScript to work correctly.</dd>
-
-<dt id="live_bookmark">Live Bookmark</dt>
-<dd>A special type of bookmark that acts as a folder to contain the links in a
- <a href="#feed">feed</a>. You can create a Live Bookmark by visiting a site
- with a feed, clicking on the Live Bookmark icon in the Location Bar, and
- selecting the feed you wish to use.</dd>
-
-<dt id="location_bar">Location Bar</dt>
-<dd>The field (and associated buttons) near the top of a &brandShortName; window
- where you can type a <a href="#Uniform_Resource_Locator">URL</a> or search terms.</dd>
-
-<dt id="master_password">master password</dt>
-<dd>A password used to protect saved passwords and other private data.
- &brandShortName; will prompt you for your master password when you wish to
- access this data. If you have multiple security devices, each security device
- will require a separate master password.</dd>
-
-<dt id="navigation_toolbar">Navigation Toolbar</dt>
-<dd>The toolbar near the top of the &brandShortName; window that includes
- the <em>Back</em> and <em>Forward</em> buttons.</dd>
-
-<dt id="Password_Manager">Password Manager</dt>
-<dd>The part of &brandShortName; that can help you remember some or all of
- your names and passwords by storing them on your computer's hard disk and
- entering them for you automatically when you visit such sites.</dd>
-
-<dt id="PKCS_11">PKCS #11</dt>
-<dd>The public-key cryptography standard that governs security devices such
- as smart cards.</dd>
-
-<dt id="Plugin">Plugin</dt>
-<dd>Plugins add new capabilities to &brandShortName;, such as the ability to
- play audio or video clips. Unlike other kinds of helper applications, a Plugin
- installs itself into the Plugins directory within the main
- &brandShortName; installation directory and typically can be opened within
- &brandShortName; itself (internally). For example, an audio Plugin lets you
- listen to audio files on a web page or in an e-mail message. Macromedia
- Flash Player and Java are both examples of Plugin applications.</dd>
-
-<dt id="private_key">private key</dt>
-<dd>One of a pair of keys used in public-key cryptography. The private key is
-kept secret and is used to decrypt data that has been encrypted with the
-corresponding public key.</dd>
-
-<dt id="proxy">proxy</dt>
-<dd>An intermediary or "go-between" program that acts as both a
- <a href="#server">server</a> and a <a href="#client">client</a> for
- the purpose of making requests on behalf of other clients.</dd>
-
-<dt id="search_engine">search engine</dt>
-<dd>A web-based program that allows users to search for and retrieve
- specific information from the World Wide Web. The search engine may
- search the full text of web documents or a list of keywords; it may
- also use librarians who review web documents and index them manually
- for retrieval. Typically, the user types a word or phrase into a
- search box, and the search engine displays links to relevant web
- pages.</dd>
-
-<dt id="secure_site">secure site</dt>
-<dd>A site that uses <a href="#encryption">encryption</a> in connections
- with &brandShortName; to prevent other malicious Internet users from
- viewing transmitted data. When you visit secure sites, &brandShortName;
- displays a lock icon in the <a href="#Status_Bar">Status Bar</a> and the
- <a href="#location_bar">Location Bar</a>. &brandShortName; also
- displays the site's domain name in the Status Bar (to prevent malicious
- sites from stealing your data) and turns the background of the Location
- Bar to yellow.</dd>
-<dd>Some sites may consist of both secure and insecure data; the insecure data
- usually is non-private, although it isn't guaranteed to be so. For such
- sites &brandShortName; will display a lock icon with a slash through it in
- the Status Bar and Location Bar and will <em>not</em> display the site's
- domain name in the Status Bar so that you know that the current web page
- isn't completely secure.</dd>
-
-<dt id="SSL">Secure Sockets Layer (SSL)</dt>
-<dd>A protocol that allows mutual authentication between a
- <a href="#client">client</a> and a <a href="#server">server</a>
- for the purpose of establishing an authenticated and encrypted
- connection. SSL runs above TCP/IP and below HTTP, LDAP, IMAP, NNTP,
- and other high-level network protocols. The new Internet Engineering
- Task Force (IETF) standard called Transport Layer Security (TLS) is
- based on SSL. See also <a href="#authentication">authentication</a>,
- <a href="#encryption">encryption</a>.</dd>
-
-<dt id="server">server</dt>
-<dd>Software (such as software that serves up web pages) that receives
- requests from and sends information to a <a href="#client">client</a>,
- which is usually running on a different computer. A computer on which
- server software runs is also described as a server.</dd>
-
-<dt id="Status_Bar">Status Bar</dt>
-<dd>The toolbar that appears at the bottom of any &brandShortName; window. It
- shows status icons on the right.</dd>
-
-<dt id="TLS">TLS</dt>
-<dd>See <a href="#SSL">Secure Sockets Layer (SSL)</a>.</dd>
-
-<dt id="TCP_IP">Transmission Control Protocol/Internet Protocol (TCP/IP)</dt>
-<dd>A Unix protocol used to connect computers running a variety of operating systems.
- TCP/IP is an essential Internet protocol and has become a global standard.</dd>
-
-<dt id="Uniform_Resource_Locator">Uniform Resource Locator (URL)</dt>
-<dd>The standardized address that tells &brandShortName; how to locate a file or
- other resource on the Web (for example, <tt>http://www.mozilla.org</tt>).
- Type URLs into &brandShortName;'s Location Bar to access web pages. URLs
- are also used in the links on web pages go to other web pages. Also known
- as an Internet or Web address.</dd>
-
-<dt id="web_page">web page</dt>
-<dd>A single document on the World Wide Web that is specified by a unique
- address or URL. A web page may contain text, hyperlinks, and graphics.</dd>
-
-<dt id="web_site">web site</dt>
-<dd>A group of related web pages linked by hyperlinks and managed by a single
- company, organization, or individual. A web site may include text, graphics,
- audio and video files, and links to other web sites.</dd>
-
-<dt id="World_Wide_Web">World Wide Web</dt>
-<dd>Also known as the Web. A portion of the Internet that is made up of web
- pages stored by web <a href="#server">servers</a> and displayed by
- <a href="#client">clients</a> called web browsers (such as
- &brandShortName;).</dd>
-
-</dl>
-
-<p>
-[ <a href="#glossary">Return to beginning of Glossary</a> ]
-</p>
-
-<div class="contentsBox"><em>07 April 2005</em></div>
-<p>Copyright © ©right.years; Contributors to the Mozilla Help Viewer Project.</p>
-
-</body>
-</html>
deleted file mode 100644
--- a/browser/locales/en-US/chrome/help/menu_reference.xhtml
+++ /dev/null
@@ -1,432 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"[
- <!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd" >
- %brandDTD;
- <!ENTITY % platformDTD SYSTEM "chrome://browser/locale/help/platformStrings.dtd" >
- %platformDTD;
-]>
-<!--
-Contributors:
- David Tenser <david.tenser@comhem.se> (original author)
- R.J. Keller <rlk@trfenv.com>
- Jeff Walden <jwalden+code@mit.edu>
- Steffen Wilberg <steffen.wilberg@web.de>
--->
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
- <title>&brandFullName; Menu Reference</title>
- <link rel="stylesheet" type="text/css" href="chrome://help/skin/helpFileLayout.css"/>
-</head>
-
-<body>
-
-<h1>&brandFullName; Menu Reference</h1>
- <p>This menu reference describes each menu item in the main
- &brandFullName; window.</p>
-
- <div class="contentsBox">In this section:
- <ul>
- <li class="mac"><a href="#firefox">&brandShortName;</a></li>
- <li><a href="#file">File</a></li>
- <li><a href="#edit">Edit</a></li>
- <li><a href="#view">View</a></li>
- <li><a href="#go">History</a></li>
- <li><a href="#bookmarks">Bookmarks</a></li>
- <li><a href="#tools">Tools</a></li>
- <li class="mac"><a href="#window">Window</a></li>
- <li><a href="#help">Help</a></li>
- </ul>
- </div>
-
-<div class="mac">
- <h2 id="firefox">&brandShortName;</h2>
- <h3 id="about_mac">About &brandFullName;</h3>
- <p>Displays a dialog box with information about &brandShortName;, including
- the current version and a brief list of credits.</p>
-
- <h3 id="prefs_mac">Preferences…</h3>
- <p>Displays the <a href="prefs.xhtml">&pref.pluralCaps; window</a>,
- where you can change many &pref.plural; in &brandShortName;.</p>
-
- <h3 id="quit_mac">Quit &brandShortName;</h3>
- <p>Closes all &brandShortName; windows, cancels any active downloads, and exits
- &brandShortName; completely. If you happen to select this menu item with
- more than one tab or window open, &brandShortName; will ask you to confirm
- your choice to prevent accidental exits. You can switch off this warning
- by deselecting the <em>Warn me when closing multiple tabs</em> checkbox in
- the <em>Tabs</em> panel of &pref.menuPath;. &brandShortName; will also
- warn you if you are currently downloading any files.</p>
-</div>
-
-<h2 id="file">File</h2>
-
- <h3 id="new_window">New Window</h3>
- <p>Opens a new &brandShortName; window.</p>
-
- <h3 id="new_tab">New Tab</h3>
- <p>Opens a new browser tab in the current &brandShortName; window.</p>
-
- <h3 id="open_location">Open Location…</h3>
- <p>Focuses on the &brandShortName; URL bar so you can type in a new location to
- visit.</p>
-
- <h3 id="open_file">Open File…</h3>
- <p>Displays an Open File dialog where you can select a file from your
- local disks or network. You can view many file types in &brandShortName;,
- including HTML/XML files, image files, text files and more.</p>
-
- <h3 id="close">Close (Window)</h3>
- <p>Closes the current window.</p>
-
- <h3 id="close_tab">Close Tab</h3>
- <p>Closes the current tab and selects the rightmost tab. This menu item is
- visible only if more than one browser tab is currently open.</p>
-
- <h3 id="save_page_as">Save Page As…</h3>
- <p>Saves the page you are currently browsing. You can choose to save the
- whole page (complete with graphics), just the current HTML page, or the
- page text only.</p>
-
- <h3 id="send_page">Send Link…</h3>
- <p>Opens an email composition window using your computer's default email program
- so you can send a message with a link to the current page.</p>
-
- <h3 id="page_setup">Page Setup…</h3>
- <p>Displays a Page Setup dialog where you can specify printing settings such as
- margins, headers and footers, and page orientation.</p>
-
- <div class="noMac">
- <h3 id="print_preview">Print Preview</h3>
- <p>Displays a preview of how the current document will appear when printed. It
- reflects the settings in the Page Setup dialog and the page author's
- intentions.</p>
- </div>
-
- <h3 id="print">Print…</h3>
- <p>Displays the Print dialog, where you can specify the number of printed copies,
- etc. Click <em>OK</em> to print the page.</p>
-
- <h3 id="import">Import…</h3>
- <p>Opens the Import Wizard dialog, which allows you to import &pref.plural;, bookmarks,
- history, passwords and other data from browsers like Microsoft Internet
- Explorer, Netscape, Mozilla or Opera.</p>
-
- <h3 id="work_offline">Work Offline</h3>
- <p>Toggles between online and offline mode. Offline mode allows you to view
- web pages you've previously visited without being connected to the
- Internet.</p>
-
-<div class="noMac">
- <h3 id="exit">
- <span class="win">Exit</span>
- <span class="noWin">Quit</span>
- </h3>
- <p>Closes all &brandShortName; windows, cancels any active downloads, and exits
- &brandShortName; completely. If you happen to select this menu item with
- more than one tab or window open, &brandShortName; will ask you to confirm
- your choice to prevent accidental exits. You can switch off this warning
- by deselecting the <em>Warn me when closing multiple tabs</em> checkbox in
- the <em>Tabs</em> panel of &pref.menuPath;. &brandShortName; will also
- warn you if you are currently downloading any files.</p>
-</div>
-
-<h2 id="edit">Edit</h2>
-
- <h3 id="undo">Undo</h3>
- <p>Undoes the last action in a text field. If you later decide you don't want to
- undo an action, use the Redo command.</p>
-
- <h3 id="redo">Redo</h3>
- <p>Redoes the last Undo command.</p>
-
- <h3 id="cut">Cut</h3>
- <p>Cuts the selected text from a text field and stores it in the clipboard. Paste
- the text elsewhere by using the Paste command.</p>
-
- <h3 id="copy">Copy</h3>
- <p>Copies the selected text to the clipboard. Paste the text in a text field by
- using the Paste command.</p>
-
- <h3 id="paste">Paste</h3>
- <p>Pastes text stored in the clipboard into a text field.</p>
-
- <h3 id="delete">Delete</h3>
- <p>Deletes the selected text from a text field.</p>
-
- <h3 id="select_all">Select All</h3>
- <p>Selects all text and other items on the page.</p>
-
- <h3 id="find_in_this_page">Find in This Page…</h3>
- <p>Displays the Find Toolbar at the bottom of the browser window. Enter the
- text you wish to find in the toolbar, and as you type &brandShortName; will
- automatically find and select the first occurrence of the entered text on
- the page. Click <em>Find Next</em> or <em>Find Previous</em> to find the
- text at other locations in the page, and click <em>Highlight</em> to
- highlight all occurrences of the text on the page.</p>
-
- <h3 id="find_again">Find Again</h3>
- <p>Searches for the next occurrence of the text specified when using the
- <em>Find in This Page…</em> command.</p>
-
- <h3 class="unix" id="prefs">&pref.pluralCaps;</h3>
- <p class="unix">Displays the <a href="prefs.xhtml">&pref.pluralCaps; window</a>,
- where you can change many &pref.plural; in &brandShortName;.</p>
-
-<h2 id="view">View</h2>
-
- <h3 id="toolbars">Toolbars</h3>
-
- <h4 id="navigation_toolbar">Navigation Toolbar</h4>
- <p>Toggles the visibility of the navigation toolbar, which usually contains
- standard navigation buttons (Back, Forward, Stop, etc.).</p>
-
- <h4 id="bookmarks_toolbar">Bookmarks Toolbar</h4>
- <p>Toggles the visibility of the bookmarks toolbar, which contains bookmarks
- to various sites.</p>
-
- <h4 id="customize">Customize…</h4>
- <p>Displays the toolbar customization dialog. You can drag and drop toolbar
- buttons to or from the toolbars here. You can also <span
- class="noMac">right-click</span><span class="mac">press &ctrlKey;,
- click</span> on the navigation toolbar and select <em>Customize…</em>
- to show this dialog.</p>
-
- <h3 id="status_bar">Status Bar</h3>
- <p>Toggles the visibility of the status bar, located at the bottom of the window.
- The status bar displays useful information about the page but may not be
- needed by everyone.</p>
-
- <h3 id="sidebar">Sidebar</h3>
- <p>The Sidebar can display your bookmarks or the browsing history. You can
- always close the Sidebar by clicking on the X in the upper-right
- corner.</p>
-
- <h4 id="view_sidebar_bookmarks">Bookmarks</h4>
- <p>Displays the Bookmarks Sidebar, which keeps your bookmarks visible all
- the time. This can be very useful if you use bookmarks often.</p>
-
- <h4 id="view_sidebar_history">History</h4>
- <p>Displays the History Sidebar, which keeps track of the sites you have
- visited. To change how many days a site should be remembered, select
- &pref.menuPath; and select the <em>Privacy</em> panel.</p>
-
- <h3 id="stop">Stop</h3>
- <p>Stops loading of the current page you're browsing. This is the same as
- clicking on the <em>Stop</em> button on the toolbar.</p>
-
- <h3 id="reload">Reload</h3>
- <p>Gets the most up-to-date version of the current page. This is the same
- as clicking the <em>Reload</em> button on the toolbar.</p>
-
- <h3 id="text_size">Text Size</h3>
- <p>If the text on a web page is too small or too large, you can change it to
- a more comfortable size.</p>
-
- <h4 id="increase_text_size">Increase</h4>
- <p>Displays the text on the web page one size larger. You can also do this
- with the mouse (see <a href="mouse_shortcuts.xhtml">Mouse Shortcuts</a>
- for instructions).</p>
-
- <h4 id="decrease_text_size">Decrease</h4>
- <p>Displays the text on the web page one size smaller. You can also do this
- with the mouse (see <a href="mouse_shortcuts.xhtml">Mouse Shortcuts</a>
- for instructions).</p>
-
- <h4 id="reset_text_size">Normal</h4>
- <p>Displays the text on the web page at its normal size.</p>
-
- <h3 id="page_style">Page Style</h3>
- <p>Allows you to select a style for the current web page. By default,
- "Basic Page Style" is selected unless the author specifies a
- different default.</p>
-
- <h4 id="no_style">No Style</h4>
- <p>Removes style formatting from the page.</p>
-
- <h4 id="basic_page_style">Basic Page Style</h4>
- <p>Displays the page with a general style specified by the author.</p>
-
- <h4 id="alternate_style"></h4>
- <p>If the author has specified additional page styles, &brandShortName;
- will list them here for you to select.</p>
-
- <h3 id="character_encoding">Character Encoding</h3>
- <p>Allows you to manually change the character encoding on a web page.
- &brandShortName; usually does this automatically.</p>
-
- <h3 id="page_source">Page Source</h3>
- <p>Displays the source code for the current document. <!--A future version of
- &brandShortName; will be capable of launching an external program for
- viewing the source.--></p>
-
- <div class="noMac">
- <h3 id="full_screen">Full Screen</h3>
- <p>Displays the window in full screen. If you have the navigation toolbar
- hidden, you can always restore the window anyway by pressing
- <kbd>F11</kbd>.</p>
- </div>
-<h2 id="go">History</h2>
-
- <p>The History menu contains a list of the most recently visited web sites and
- closed tabs.</p>
-
- <h3 id="back">Back</h3>
- <p>Navigates back one page in history. This is the same as clicking on the
- <em>Back</em> button on the toolbar.</p>
-
- <h3 id="forward">Forward</h3>
- <p>Navigates forward one page in history. This is the same as clicking on
- the <em>Forward</em> button on the toolbar.</p>
-
- <h3 id="home">Home</h3>
- <p>Displays your home page. This is the same as clicking on the
- <em>Home</em> button on the navigation toolbar. To change the home page,
- select &pref.menuPath; and open the <em>Main</em> panel. You
- can specify to use a blank page, the current page (or tab group), a
- bookmark, or a manually entered address.</p>
-
- <h3 id="closed_tabs">Recently Closed Tabs</h3>
- <p>Allows you to restore a tab you closed recently in the current window by
- selecting it from the list. See the <a href=
- "tabbed_browsing.xhtml#closing_tabs">Closing and Restoring Tabs</a> topic
- for more information.</p>
-
- <h3 id="go_history">Show in Sidebar</h3>
- <p>Displays the History Sidebar, which keeps track of the sites you have
- visited. To change how many days a site should be remembered, select
- &pref.menuPath; and select the <em>Privacy</em> panel.</p>
-
-<h2 id="bookmarks">Bookmarks</h2>
-
- <p>This menu contains all your stored bookmarks.</p>
-
- <h3 id="add_to_bookmarks">Bookmark This Page</h3>
- <p>Adds the current page to your bookmarks. A dialog will be displayed,
- allowing you to choose a title for the bookmark and specify where you
- want it to be stored.</p>
-
- <h3 id="subscribe">Subscribe to This Page…</h3>
- <p>Shows a preview of the <a href="glossary.xhtml#feed">feed</a> offered by
- the current site. From the preview page, you can subscribe to the feed using
- a <a href="glossary.xhtml#live_bookmark">Live Bookmark</a>, a feed reader
- on your computer, or a web service. If you have chosen to always subscribe
- using a Live Bookmark or a feed reader in the
- <a href="prefs.xhtml#applications_options">Applications panel</a> of
- &pref.menuPath;, the preview page will be skipped.</p>
-
- <h3 id="bookmark_all_tabs">Bookmark All Tabs…</h3>
- <p>Adds all the tabs in the current window to a new bookmark folder. A dialog
- will be displayed, allowing you to choose the name of the folder and specify
- where you want it to be stored.</p>
-
- <h3 id="organize_bookmarks">Organize Bookmarks…</h3>
- <p>Displays the Bookmarks Manager, a window where you can modify your
- bookmarks. You can sort, rename and change the properties for your
- bookmarks as well as add, remove, and move them.</p>
-
-<h2 id="tools">Tools</h2>
-
- <h3 id="web_search">Web Search</h3>
- <p>Highlights the Web Search box. You can then type in the terms you
- wish to find on the Web.</p>
-
- <h3 id="downloads">Downloads</h3>
- <p>Opens the Download Manager, where you can see the current, as well as
- finished downloads.</p>
-
- <h3 id="add_ons">Add-ons</h3>
- <p>Opens the Add-ons manager, where you can view, install, configure, update,
- and uninstall your extensions and themes. For more information, see the
- <a href="customization.xhtml#add_ons">Add-ons</a> help topic.</p>
-
- <h3 id="javascript_console">Error Console</h3>
- <p>Opens the Error Console, which tracks problems with JavaScript code.
- JavaScript is a scripting language commonly used to construct web pages.
- Programmers use JavaScript to make web pages more interactive; JavaScript
- is often used to dynamically validate forms and select buttons.</p>
-
- <h3 id="page_info">Page Info</h3>
- <p>Displays extensive information about the current web page, such as the
- document type, encoding, size, and security information. The dialog also
- displays lists of the media and links used on the page.</p>
-
- <h3 id="clear_private_data">Clear Private Data…</h3>
- <p>Clears the items which are selected in the Clear Private Data dialog in
- the <em>Privacy</em> panel of &pref.menuPath;.
- Displays a confirmation dialog by default.</p>
-
- <h3 class="win" id="options">&pref.pluralCaps;</h3>
- <p class="win">Displays the <a href="prefs.xhtml">&pref.pluralCaps; window</a>,
- where you can change many &pref.plural; in &brandShortName;.</p>
-
-<div class="mac">
- <h2 id="window">Window</h2>
-
- <h3 id="minimize">Minimize</h3>
- <p>Minimizes the current window.</p>
-
- <h3 id="zoom">Zoom</h3>
- <p>Enlarges or restores the current window.</p>
-
- <h3 id="open-windows">(Open Windows)</h3>
- <p>Displays all the open windows by their title.</p>
-</div>
-
-<h2 id="help">Help</h2>
-
- <h3 id="help_contents">
- <span class="noMac">Help Contents</span>
- <span class="mac">&brandShortName; Help</span>
- </h3>
- <p>Opens the &brandShortName; Help window, which contains useful information
- that can help you browse the web.</p>
-
- <div class="win">
- <h3 id="for_ie_users">For Internet Explorer Users</h3>
- <p>Opens this Help window displaying information that can
- help Internet Explorer users transition to &brandShortName;.</p>
- </div>
-
- <h3 id="relnotes">Release Notes</h3>
- <p>Provides information about installing, uninstalling and configuring
- &brandShortName;, as well as other important information and late-breaking
- notices. Requires an active Internet connection.</p>
-
- <h3 id="reporter">Report Broken Web Site…</h3>
- <p>Allows you to report web sites that do not work correctly in
- &brandShortName; to the &brandShortName; developers.</p>
-
- <h3 id="web_forgery">Report Web Forgery… / This isn't a web forgery…</h3>
- <p><em>Report Web Forgery…</em> allows you to report what you believe are
- forged or "phishing" sites. Phishing sites pretend to be sites you trust,
- like your bank or online shopping or auction sites, to trick you into
- submitting sensitive information (username/password, credit card information,
- etc.) to them.</p>
-
- <p>When displaying sites suspected for "phishing", the menu item is replaced
- by <em>"This isn't a web forgery…"</em>, letting you report legitimate
- sites which have been incorrectly marked as "phishing" sites.</p>
-
- <p>Phishing Protection in &brandShortName; is powered by Google, and the
- information you submit will be sent to Google and used to improve this
- feature. Your report will be anonymous in accordance with Google's privacy
- policy. Requires an active Internet connection.</p>
-
- <h3 id="check_for_updates">Check for Updates…</h3>
- <p>Displays a dialog which checks for updates to &brandShortName; and asks
- you whether you want to download updates if any are available. After an
- update has been downloaded, the dialog asks you to restart &brandShortName;
- so that the update can be installed. Note that the name of this menu item
- will change when an update is being downloaded or is ready to be installed.</p>
-
- <div class="noMac">
- <h3 id="about_mozilla_firebird">About &brandFullName;</h3>
- <p>Displays a dialog box with information about &brandShortName;, including
- the current version and a brief list of credits.</p>
- </div>
-
-<div class="contentsBox"><em>29 September 2007</em></div>
-<p>Copyright © ©right.years; Contributors to the Mozilla Help Viewer Project.</p>
-
-</body>
-</html>
deleted file mode 100644
--- a/browser/locales/en-US/chrome/help/mouse_shortcuts.xhtml
+++ /dev/null
@@ -1,103 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"[
- <!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd" >
- %brandDTD;
- <!ENTITY % platformDTD SYSTEM "chrome://browser/locale/help/platformStrings.dtd" >
- %platformDTD;
-]>
-<!--
-Contributors:
- David Tenser <david.tenser@comhem.se> (original author)
--->
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
- <title>&brandFullName; Mouse Shortcuts</title>
- <link rel="stylesheet" type="text/css"
- href="chrome://help/skin/helpFileLayout.css"/>
-</head>
-
-<body>
-
-<h1>&brandFullName; Mouse Shortcuts</h1>
-
-<p class="noMargin">This is a list of the most common mouse shortcuts in
- &brandFullName;.</p>
-
-<table border="1">
- <thead>
- <tr>
- <th>Command</th>
- <th>Shortcut</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>Back</td>
- <td>
- <span class="mac">&altKey;+Scroll Down</span>
- <span class="noMac">&shiftKey;+Scroll Down</span>
- </td>
- </tr>
- <tr>
- <td>Close Tab</td>
- <td>Middle-click on Tab</td>
- </tr>
- <tr>
- <td>Decrease Text Size</td>
- <td>&ctrlKey;+Scroll up</td>
- </tr>
- <tr>
- <td>Forward</td>
- <td>
- <span class="mac">&altKey;+Scroll up</span>
- <span class="noMac">&shiftKey;+Scroll up</span>
- </td>
- </tr>
- <tr>
- <td>Increase Text Size</td>
- <td>&ctrlKey;+Scroll down</td>
- </tr>
- <tr>
- <td>New Tab</td>
- <td>Double-Click on Tab Bar</td>
- </tr>
- <tr>
- <td>Open in Background Tab</td>
- <td>&accelKey;+Left-click<br/>Middle-click</td>
- </tr>
- <tr>
- <td>Open in Foreground Tab</td>
- <td>&accelKey;+&shiftKey;+Left-click<br/>&shiftKey;+
- Middle-click</td>
- </tr>
- <tr>
- <td>Open in New Window</td>
- <td>&shiftKey;+Left-click</td>
- </tr>
- <tr class="unix">
- <td>Paste URL and Go</td>
- <td>Middle-click on Tab</td>
- </tr>
- <tr>
- <td>Reload (override cache)</td>
- <td>&shiftKey;+Reload button</td>
- </tr>
- <tr>
- <td>Save Page As</td>
- <td>&altKey;+Left-click</td>
- </tr>
- <tr>
- <td>Scroll line by line</td>
- <td>
- <span class="mac">&accelKey;+Scroll</span>
- <span class="noMac">&altKey;+Scroll</span>
- </td>
- </tr>
- </tbody>
-</table>
-
-<div class="contentsBox"><em>14 October 2005</em></div>
-<p>Copyright © ©right.years; Contributors to the Mozilla Help Viewer Project.</p>
-
-</body>
-</html>
deleted file mode 100644
--- a/browser/locales/en-US/chrome/help/platformStrings.dtd
+++ /dev/null
@@ -1,43 +0,0 @@
-<!-- LOCALIZATION NOTE : This file contains platform-specific strings which
- occur in large numbers throughout Help docs.
- Generally, for these strings it's less code to store
- them here than to hard-code the value of the entity
- in every place it's used, or using an entity is less
- confusing than typing a string like the jumbled messes
- used below for "preference" and derivatives. Feel free
- to add more strings here as long as you run them by the
- Help module owner first (to prevent excessive use of
- such strings when other methods are preferable). -->
-
-<!-- Options -->
-
-<!ENTITY pref.menuPath '<span class="win menuPath">Tools > Options</span><span
- class="unix menuPath">Edit > Preferences</span><span
- class="mac menuPath">&brandShortName; > Preferences</span>' >
-<!ENTITY pref.singular '<span class="win">option</span><span
- class="noWin">preference</span>' >
-<!ENTITY pref.plural '<span class="win">options</span><span
- class="noWin">preferences</span>' >
-<!ENTITY pref.singularCaps '<span class="win">Option</span><span
- class="noWin">Preference</span>' >
-<!ENTITY pref.pluralCaps '<span class="win">Options</span><span
- class="noWin">Preferences</span>' >
-
-<!-- Keys -->
-
-<!ENTITY ctrlKey '<kbd>Ctrl</kbd>' >
-<!ENTITY accelKey '<kbd class="noMac">Ctrl</kbd><kbd
- class="mac">Cmd</kbd>' >
-<!ENTITY altKey '<kbd class="noMac">Alt</kbd><kbd
- class="mac">Opt</kbd>' >
-<!ENTITY shiftKey '<kbd>Shift</kbd>' >
-<!ENTITY enterKey '<kbd class="noMac">Enter</kbd><kbd
- class="mac">Return</kbd>' >
-
-<!-- Image Location Base URL -->
-
-<!ENTITY images.baseURL 'http://www.mozilla.org/projects/firefox/help/2.0'>
-
-<!-- Copyright years -->
-
-<!ENTITY copyright.years '2003-2008'>
deleted file mode 100644
--- a/browser/locales/en-US/chrome/help/popup.xhtml
+++ /dev/null
@@ -1,95 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"[
- <!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd" >
- %brandDTD;
- <!ENTITY % platformDTD SYSTEM "chrome://browser/locale/help/platformStrings.dtd" >
- %platformDTD;
-]>
-<!--
-Contributors:
- David Tenser <david.tenser@comhem.se> (original author)
- Steffen Wilberg <steffen.wilberg@web.de>
--->
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
- <title>Controlling Pop-ups</title>
- <link rel="stylesheet" type="text/css" href="chrome://help/skin/helpFileLayout.css"/>
-</head>
-
-<body>
-
-<h1>Controlling Pop-ups</h1>
-<p>This document explains all of the &pref.plural; available in &brandFullName;
- for controlling pop-ups.</p>
-
-<div class="contentsBox">
- In this section:
- <ul>
- <li><a href="#what_are_popups">What are Pop-ups?</a></li>
- <li><a href="#popup_blocker_preferences">Pop-up Blocker &pref.pluralCaps;</a></li>
- </ul>
-</div>
-
-<h2 id="what_are_popups">What are Pop-ups?</h2>
-<p>Pop-up windows, or pop-ups, are windows that appear automatically without your
-permission. They vary in size but usually don't cover the whole screen. Some pop-ups
-open on top of the current &brandShortName; window, while others appear
-underneath &brandShortName; (pop-unders).</p>
-
-<p>&brandShortName; allows you to control both pop-ups and popunders through the
-<a href="prefs.xhtml#content_options">Content panel</a> in &pref.pluralCaps;.
-Pop-up blocking is turned on by default, so you don't have to worry about enabling it
-to prevent pop-ups from appearing in &brandShortName;.</p>
-
-<p>When blocking a pop-up, &brandShortName; displays an information bar, as well
-as an icon <img src="chrome://browser/skin/Info.png" width="16" height="16"
-alt=""/> in the status bar. When you click either the <em>&pref.pluralCaps;</em>
-button in the information bar or the icon in the status bar, a menu is displayed
-with the following choices:</p>
-
-<ul>
- <li>Allow/Block pop-ups for this site</li>
- <li>Edit <a href="#popup_blocker_preferences">Pop-up Blocker
- &pref.pluralCaps;…</a></li>
- <li>Don't show this message (info message) when pop-ups are blocked</li>
- <li>(show a blocked pop-up)</li>
-</ul>
-
-<p><strong>Blocking pop-ups may interfere with some web sites</strong>: Some web sites,
-including some banking sites, use pop-ups for important features. Blocking all pop-ups
-disables such features. To allow specific web sites to use pop-ups, while blocking
-all others, you can add specific web sites to the list of allowed sites.</p>
-
-<p><strong>Blocking pop-ups doesn't always work</strong>: Although &brandShortName; blocks most
-pop-ups, some web sites may show pop-ups using uncovered methods, even when blocked.</p>
-
-<h2 id="popup_blocker_preferences">Pop-up Blocker &pref.pluralCaps;</h2>
-
-<p>The Pop-up Blocker &pref.pluralCaps; are located in the <a
- href="prefs.xhtml#content_options">Content panel</a> of &pref.menuPath;.</p>
-
-<p>From there, you can do the following things:</p>
-
-<ul>
- <li><strong>Block pop-up windows</strong>: Deselect this &pref.singular; to
- disable the pop-up blocker altogether.</li>
- <li><strong>Exceptions dialog</strong>: This is a list of sites that you want to allow
- to display pop-ups. The dialog has the following choices:
- <ul>
- <li><strong>Allow</strong>: Click this to add a web site to the exceptions list.</li>
- <li><strong>Remove Site</strong>: Click this to remove a web site from the exceptions list.</li>
- <li><strong>Remove All Sites</strong>: Click this to remove all of the web sites in
- the exceptions list.</li>
- </ul>
- </li>
-</ul>
-
-<p><strong>Note</strong>: Blocking pop-ups may not always work and may interfere with
-some web sites. For more information about blocking pop-ups, see
-<a href="#what_are_popups">What are Pop-ups</a>.</p>
-
-<div class="contentsBox"><em>12 September 2005</em></div>
-<p>Copyright © ©right.years; Contributors to the Mozilla Help Viewer Project.</p>
-
-</body>
-</html>
deleted file mode 100644
--- a/browser/locales/en-US/chrome/help/prefs.xhtml
+++ /dev/null
@@ -1,697 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"[
- <!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd" >
- %brandDTD;
- <!ENTITY % platformDTD SYSTEM "chrome://browser/locale/help/platformStrings.dtd" >
- %platformDTD;
-]>
-<!--
-Contributors:
- David Tenser <tenser@comhem.se> (original author)
- Steffen Wilberg <steffen.wilberg@web.de>
- Ryan Flint <rflint@dslr.net>
- Jeff Walden <jwalden+code@mit.edu>
- Myk Melez <myk@mozilla.org>
--->
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
- <title>&brandFullName; Options</title>
- <link rel="stylesheet" type="text/css" href="chrome://help/skin/helpFileLayout.css"/>
-</head>
-
-<body>
-
-<h1>&brandFullName; &pref.pluralCaps;</h1>
-<p>This document explains all of the &pref.plural; available in the
- &pref.pluralCaps; window of &brandFullName;.</p>
-
-<div class="contentsBox">In this section:
- <ul>
- <li><a href="#main_options">Main &pref.pluralCaps;</a></li>
- <li><a href="#tabs_options">Tabs &pref.pluralCaps;</a></li>
- <li><a href="#content_options">Content &pref.pluralCaps;</a></li>
- <li><a href="#applications_options">Applications &pref.pluralCaps;</a></li>
- <li><a href="#privacy_options">Privacy &pref.pluralCaps;</a></li>
- <li><a href="#security_options">Security &pref.pluralCaps;</a></li>
- <li><a href="#advanced_options">Advanced &pref.pluralCaps;</a></li>
- </ul>
-</div>
-
-<h2 id="main_options">Main &pref.pluralCaps;</h2>
-
- <h3 id="startup">Startup</h3>
- <p>When you open &brandShortName;, by default your <a
- href="glossary.xhtml#home_page">home page</a> is displayed. Your home page
- might be a commonly-visited web site, a search engine, or perhaps your email
- account, but the choice is up to you. You can change your home page or
- choose to display a different page or set of pages on startup in this
- section.</p>
-
- <p><em>When &brandShortName; starts</em><br/>
- By default, when &brandShortName; starts it opens your home page (listed in
- the textbox immediately below), which corresponds to the <em>Show my home
- page</em> option. Alternately, you can choose to display a blank page on
- startup (perhaps to eliminate the time required to load that page from the
- Internet) by selecting the <em>Show a blank page</em> option.</p>
-
- <p>As a final alternative, you can have &brandShortName; reopen the windows and
- tabs you had open the last time you ran &brandShortName;, effectively
- restoring you to where you were when you last stopped browsing the Internet.
- This can be a handy way of saving what you were doing when you close
- &brandShortName;, perhaps to install an operating system update. You can
- choose this option by selecting <em>Show my windows and tabs from last
- time</em>.</p>
-
- <p><em>Home Page</em><br/>
- If you've set &brandShortName; to show your home page when you start
- &brandShortName;, you specify your home page by typing it here. You can
- also click any of the buttons below the textbox to choose a special home
- page:</p>
-
- <ul>
- <li><em>Use Current Page</em> sets the currently-displayed page (or pages,
- if you have multiple tabs open) as your home page</li>
- <li><em>Use Bookmark</em> sets the selected bookmark (or if you select a
- folder, the set of bookmarks in that folder) as your home page</li>
- <li><em>Restore to Default</em> resets your home page to the default home
- page</li>
- </ul>
-
- <h3 id="downloads">Downloads</h3>
- <p>This section contains &pref.plural; determining how &brandShortName;
- downloads files.</p>
-
- <p><em>Show the Downloads window when downloading a file</em><br/>
- With this &pref.singular; selected, &brandShortName; will open the <a
- href="download_manager.xhtml">Downloads window</a> when you start
- downloading a file.</p>
-
- <p><em>Close it when all downloads are finished</em><br/>
- Select this &pref.singular; to have &brandShortName; close the Downloads
- window when all downloads currently in progress finish.</p>
-
- <p><em id="download_folder">Save files to</em><br/>
- By default downloaded files are automatically saved to the Desktop,
- eliminating the hassle of specifying a download location for every file you
- download. You can choose a different folder by clicking the <em><span
- class="noMac">Browse…</span><span class="mac">Choose…</span></em>
- button.</p>
-
- <p><em>Always ask me where to save files</em><br/>
- With this &pref.singular; selected, &brandShortName; will ask you where
- you would like to save every downloaded file (instead of using the default
- location specified above).</p>
-
- <h3 id="system_defaults">System Defaults</h3>
- <p><em>Always check to see if &brandShortName; is the default browser on
- startup</em><br/>
- Select this option if you want &brandShortName; to check whether it is the
- default browser at startup. This will ensure &brandShortName; is used
- whenever an application tries to display a web page. You can also click the
- <em>Check Now</em> button to do a check right now.</p>
-
- <h3 id="addons">Add-ons</h3>
- <p><em>Manage Add-ons</em><br/>
- To install or uninstall, update or configure add-ons, click the <em>Manage
- Add-ons</em> button to open the Add-ons manager. This is also accessible
- from <span class="menuPath">Tools > Add-ons</span>. A detailed
- description of add-ons and the Add-on manager is available <a href=
- "customization.xhtml#add_ons">here</a>.</p>
-
-<h2 id="tabs_options">Tabs &pref.pluralCaps;</h2>
-<p><em>New pages should be opened in:</em><br/>
- This &pref.singular; controls whether links from other applications or from
- web pages which request to open them in new windows are opened in <em>a new
- window</em> or <em>a new tab</em> in the most recent window.</p>
-
-<p><strong>Note:</strong> If you have chosen to open pages in new tabs,
- &brandShortName; will ignore this &pref.singular; and will open a new window
- from a link if the page author specified that the new window should have a
- specific size, because some pages can only be displayed correctly at a
- specific size.</p>
-
-<p><em>Warn me when closing multiple tabs</em><br/>
- When you close a window with multiple tabs, &brandShortName; will ask you
- to confirm your choice. This prevents you from accidentally closing the
- whole window when you intended to only close the current tab. Uncheck this
- &pref.singular; to disable this warning and have &brandShortName;
- automatically close the window.</p>
-
-<p><em>Warn me when opening multiple tabs might slow down
- &brandShortName;</em><br/>
- When you open a large number of tabs at once, &brandShortName; will ask you
- to confirm your choice. This prevents you from accidentally slowing down
- your system while the pages are loading. Uncheck this &pref.singular; to
- disable this warning.</p>
-
-<p><em>Always show the tab bar</em><br/>
- If you're only viewing one web page in a &brandShortName; window, the tab
- bar is not normally shown. Check this &pref.singular; to always show the tab
- bar, including when only the &brandShortName; window contains only one
- page.</p>
-
-<p><em>When I open a link in a new tab, switch to it immediately</em><br/>
- When you middle-click on a Web link (or hold down &accelKey; while clicking
- with the left mouse button), the page will be opened in a new tab. That page
- will not be displayed and will load in a background tab. Check this
- &pref.singular; to load and display the page in a new foreground tab
- instead.</p>
-
-
-<h2 id="content_options">Content &pref.pluralCaps;</h2>
-<p><em>Block Pop-up Windows</em><br/>
- By default, &brandShortName; blocks annoying pop-up windows on web sites.
- Unchecking this &pref.singular; will disable pop-up blocking.</p>
-
-<p>Some web sites make legitimate use of pop-up windows. Therefore, you can
- allow these sites to open pop-ups anyway. To do so, click
- <em>Exceptions…</em>, enter the site name, and click <em>Allow</em>. To
- remove a web site from the list, select it and then click <em>Remove
- Site</em>. To clear the list completely, click <em>Remove All Sites</em>.</p>
-
-<p><em>Load images automatically</em><br/>
- &brandShortName; displays images in web pages by default. Uncheck this
- &pref.singular; to disable images in web pages.</p>
-
-<p>If you enable loading images automatically, the <em>Exceptions…</em>
- button lets you select sites from which images will not automatically load.
- The <em>Exceptions…</em> button lets you specify web sites that you wish
- to load (or not load) regardless of the setting of this preference. In the
- exceptions list, enter the site from which you want to allow or block images
- and click <em>Allow</em> to allow images, or click <em>Block</em> to block
- the images.</p>
-
-<p><em>Enable JavaScript</em><br/>
- JavaScript is a scripting language commonly used to make web pages
- interactive. However, it also makes certain annoying behaviors much easier to
- perform. To disable JavaScript, uncheck this &pref.singular;. However, note
- that disabling JavaScript may cause some sites to not work properly. For more
- fine-grained control over what JavaScript can and cannot do, click
- <em>Advanced…</em>.</p>
-
- <h4 id="advanced_javascript">Advanced JavaScript Settings</h4>
- <dl>
- <dt>Move or resize existing windows</dt>
- <dd>Uncheck this &pref.singular; to disable moving and resizing windows
- using scripts.</dd>
-
- <dt>Raise or lower windows</dt>
- <dd>Uncheck this &pref.singular; to make sure scripts cannot raise (bring
- to the front) or lower (send to the back) windows.</dd>
-
- <dt>Disable or replace context menus</dt>
- <dd>Uncheck this &pref.singular; to prevent web pages from disabling or
- changing the &brandShortName; context menu.</dd>
-
- <dt>Hide the status bar</dt>
- <dd>Uncheck this &pref.singular; to force the status bar to be displayed in
- pop-up windows.</dd>
-
- <dt>Change status bar text</dt>
- <dd>Uncheck this &pref.singular; to disable changes to status bar text (such
- as displaying scrolling text messages or preventing the link address from
- being displayed while the mouse is over a link).</dd>
- </dl>
-
- <p><em>Enable Java</em><br/>
- Java is a popular programming language for the Web. A single Java program
- can run on many different kinds of computers, thus avoiding the need for
- programmers to create a separate version of a program for each kind of
- computer. Uncheck this &pref.singular; to disable Java applets in
- &brandShortName;. Note that in order for Java applets to work, you must
- install the Java plugin.</p>
-
- <h3 id="fonts_and_colors">Fonts & Colors</h3>
- <p><em>Default font</em> and <em>Size</em><br/>
- Web pages are usually displayed in the font and size specified here.
- However, web pages can override these choices unless you specify otherwise
- in the Fonts dialog. Click the <em>Advanced…</em> button to access the
- Fonts dialog and to change this and other fonts &pref.plural;.</p>
-
- <h4 id="fonts_dialog">Fonts Dialog</h4>
- <ol>
- <li>From the <em>Fonts for</em> drop-down list, choose a language
- group/script. For instance, to set default fonts for the West
- European languages/scripts (Latin), choose <em>Western</em>. For a
- language/script not in the list, choose <em>Other Languages</em>.</li>
- <li>Select whether proportional text should be serif (like "Times
- New Roman") or sans-serif (like "Arial"). Then specify
- the font size you want for proportional text.</li>
- <li>Specify the font to use for Serif, Sans-serif and Monospace fonts.
- You can also change the size for <code>Monospace fonts</code>.</li>
- </ol>
-
- <p>You can also set the minimum web page font size. This is useful to
- prevent sites from use overly small fonts that are barely readable.</p>
-
- <p><em>Allow pages to choose their own fonts, instead of my selections
- above</em><br/>
- By default &brandShortName; uses the fonts specified by the web page
- author. Disabling this &pref.singular; will force all sites to use your
- default fonts instead.</p>
-
- <p><em>Character Encoding</em><br/>
- The character encoding selected here will be used to display pages that
- do not specify which encoding to use.</p>
-
- <h4 id="colors_dialog">Colors Dialog</h4>
- <p><strong>Text and Background</strong><br/>
- Here you can change the default text and background color to be used on
- web pages that haven't specified that information. Click on the color
- samples to select colors.</p>
-
- <p><em>Use system colors</em><br/>
- Check this &pref.singular; to use the colors defined in your operating
- system settings instead of the colors specified above.</p>
-
- <p><strong>Link Colors</strong><br/>
- Here you can change the default colors for Web links. Click on the color
- samples to select colors.</p>
-
- <p><em>Underline links</em><br/>
- By default, links are underlined on web pages. Uncheck this &pref.singular;
- to disable this. Note that many sites specify their own styling rules
- and this &pref.singular; has no effect on those sites.</p>
-
- <p><em>Allow pages to choose their own colors, instead of my selections
- above</em><br/>
- By default, &brandShortName; uses the colors specified by the web page
- author. Disabling this &pref.singular; will force all sites to use your
- default colors instead.</p>
-
- <h3 id="languages">Languages</h3>
- <p>Some web pages are offered in more than one language. Click the
- <em>Choose…</em> button to specify your preferred language or
- languages.</p>
-
- <p><strong>Languages Dialog</strong><br/>
- To add a language, click <em>Select a language to add…</em>, choose the
- language, and click the <em>Add</em> button. Remove a language by
- selecting it in the list of active languages and clicking the
- <em>Remove</em> button. You can also reorder languages using the <em>Move
- Up</em> and <em>Move Down</em> buttons to determine the most preferred one
- in case a page is provided in multiple languages .</p>
-
-<h2 id="applications_options">Applications &pref.pluralCaps;</h2>
-
-<p>The <em>Applications</em> panel lets you choose applications and other
- handlers to handle different types of content (e.g. PDF documents). It shows
- you a list of content types and lets you select a handler for each type.</p>
-
-<p>You can choose a local application to handle any type. For some types,
- you can also choose a web application to handle the type, choose a feature
- (like <a href="glossary.xhtml#live_bookmark">Live Bookmarks</a> for feeds)
- or a <a href="glossary.xhtml#Plugin">plugin</a> in &brandShortName; to handle
- the type, or save the type on your computer.</p>
-
-<p>To choose a handler for a type, select the type from the list. The current
- handler for the type will turn into a menu. Open the menu and select the
- handler you want to handle the type.</p>
-
-<ul>
- <li><em>Choose an application</em><br/>
- To choose a local or web application to handle a type, select the application
- from the menu. If you want a local application that is not in the menu
- to handle the type, select <em>Choose Application…</em> from the menu
- and point &brandShortName; to its location.</li>
-
- <li><em>Choose a feature or plugin</em><br/>
- If you want a feature or a plugin in &brandShortName; to handle the type,
- and one is available, select it from the menu.</li>
-
- <li><em>Save on your computer</em><br/>
- If you want to save the type on your computer, and it is possible to do so,
- select <em>Save File</em> from the menu. If you have selected the <em>Save
- files to</em> &pref.singular; in the <em>Main</em> panel, &brandShortName;
- will save content of the type on your computer automatically. Otherwise,
- when you encounter the type, &brandShortName; will prompt you for a location
- on your computer to save it to.</li>
-</ul>
-
-<p><strong>Note:</strong> When a plugin is available to handle a type, and you
- choose another handler to handle that type, &brandShortName; will only use
- your chosen handler when you access the type directly. When the type is
- embedded inside a web page, &brandShortName; will continue to use the plugin
- to handle the type.</p>
-
-
-<h2 id="privacy_options">Privacy &pref.pluralCaps;</h2>
-
- <h3 id="privacy_history">History</h3>
- <p><em>Remember visited pages for the last … days</em><br/>
- Here you can specify how long you want &brandShortName; to remember what
- pages you have visited. The default is 9 days.</p>
-
- <p><em>Remember what I enter in forms and the search bar</em><br/>
- When you enter information in web forms or the search bar in
- &brandShortName;, that information is saved so that &brandShortName; can
- give suggestions when you enter information in forms in the future. To stop
- this behavior, uncheck this &pref.singular;.</p>
-
- <p><em>Remember what I've downloaded</em><br/>
- This &pref.singular; controls whether or not past downloads show up in the
- Downloads window. The Downloads window (accessible from <span
- class="menuPath">Tools</span> or by pressing <span
- class="noUnix">&accelKey;+<kbd>J</kbd></span><span
- class="unix">&accelKey;+<kbd>Y</kbd></span>) displays a list of your recent
- downloads. Downloads &pref.plural; are available in the <a
- href="#main_options"><em>Main</em></a> panel.</p>
-
- <h3 id="privacy_cookies">Cookies</h3>
- <p>A cookie is a file created by a web site that stores information on your
- computer, such as site-specific preferences when visiting that site.</p>
-
- <p><em>Accept cookies from sites</em><br/>
- By default cookies are enabled. Uncheck this &pref.singular; to disable the
- use of cookies. Note that some sites may not work properly when cookies are
- disabled.</p>
-
- <p><em>Keep until:</em></p>
-
- <ul>
- <li><em>they expire</em><br/>
- This is the default &pref.singular;. When set, this allows websites to
- specify how long a cookie will be stored by &brandShortName;. This makes
- it possible for a site to remember your preferences and login information
- across browser sessions.</li>
- <li><em>I close &brandShortName;</em><br/>
- With this &pref.singular; selected, &brandShortName; will remove all
- stored cookies when closed.</li>
- <li><em>ask me every time</em><br/>
- With this &pref.singular; enabled, &brandShortName; will ask you how long
- you would like to keep a cookie (or refuse it entirely) every time a web
- site attempts to set one.</li>
- </ul>
-
- <p>To control which sites may or may not set cookies, click the
- <em>Exceptions…</em> button.</p>
-
- <p>To display the Cookie Manager click <em>Show Cookies…</em>.</p>
-
- <p>Learn more about cookies, the individual &pref.plural;, and how you can
- gain control over what sites are allowed to store cookies on your computer
- by reading about <a href="cookies.xhtml">Managing Cookies</a>.</p>
-
- <h3 id="private_data">Private Data</h3>
- <p><em>Always clear my private data when I close &brandShortName;</em><br/>
- You can choose to have &brandShortName; clear your private data when you
- close it. To configure what data is cleared, click the <em>Settings…</em>
- button.</p>
-
- <p><em>Ask me before clearing private data</em><br/>
- With this &pref.singular; selected, &brandShortName; will ask you before
- before automatically clearing the data specified by clicking
- <em>Settings…</em>.</p>
-
- <p>If you wish to clear your private data right now, you can click the
- <em>Clear Now…</em> button to do so. To clear your private data from
- outside the preferences dialog, either press &accelKey;+&shiftKey;+<kbd>Del</kbd>
- or select <span class="menuPath">Tools > Clear Private Data…</span>.</p>
-
-
-<h2 id="security_options">Security &pref.pluralCaps;</h2>
-<p><em>Warn me when sites try to install add-ons</em><br/>
- &brandShortName; will always ask you to confirm installations of add-ons.
- To prevent unrequested installation prompts which may lead to accidental
- installations, &brandShortName; warns you when a web site tries to install
- an add-on and blocks the installation prompt. To allow installations from
- a specific site, click <em>Exceptions…</em>, enter the site name, and click
- <em>Allow</em>. Uncheck this &pref.singular; to disable the warning for all
- sites.</p>
-
-<p id="phishing"><em>Tell me if the site I'm visiting is a suspected forgery</em><br/>
- Check this &pref.singular; if you want &brandShortName; to actively check
- whether the site you are visiting may be an attempt to mislead you into
- providing personal information (this is often referred to as <em>phishing</em>).<br/>
- Note that the absence of a warning does not guarantee that a site is trustworthy.
- If you come across a "phishing" site which is not marked as such, please report
- it using <span class="menuPath">Help > Report Web Forgery…</span>, as
- explained in the <a href="menu_reference.xhtml#web_forgery">menu reference</a>.</p>
-
-<p><em>Check using a downloaded list of suspected sites</em><br/>
- With this &pref.singular; selected, &brandShortName; will check the current
- site against a frequently updated list stored on your computer. No data about
- the sites you visit is transferred to third-party anti-phishing providers
- during normal browsing. Since phishing techniques and sites evolve quickly,
- this mode of protection may not be as effective as having an anti-phishing
- provider check every site you visit.</p>
-
-<p><em>Check by asking … about each site I visit</em><br/>
- With this &pref.singular; selected, &brandShortName; will send the address of
- the current page over an encrypted connection to the selected third-party
- anti-phishing provider in order to verify its identity. This method offers the
- greatest protection, but information such as your IP address and browser
- version may be transfered and stored by the selected provider. You will be
- prompted to review and agree to the selected data provider's privacy policy
- after selecting this &pref.singular;.</p>
-
- <h3 id="security_passwords">Passwords</h3>
- <p><em>Remember passwords for sites</em><br/>
- &brandShortName; can securely save passwords you enter in web forms to
- make it easier to log on to web sites. Clear this checkbox to prevent
- &brandShortName; from remembering your passwords.</p>
-
- <p>Even with this &pref.singular; checked, however, you'll still be asked
- whether to save passwords for a site when you first visit it. If you select
- <em>Never for This Site</em>, that site will be added to an exceptions list.
- To access that list or to remove sites from it, click the
- <em>Exceptions…</em> button.</p>
-
- <p id="set_change_master_password"><em>Use a master password</em><br/>
- &brandShortName; can protect sensitive information such as saved passwords
- and certificates by encrypting them using a <a
- href="glossary.xhtml#master_password">master password</a>. If you create a
- master password, each time you start &brandShortName;, it will ask you to enter
- the password the first time it needs to access a certificate or stored
- password. You can set, change, or remove the master password by
- by checking or unchecking this &pref.singular; or by clicking the
- <em>Change Master Password…</em> button. If a master password is already
- set, you will need to enter it in order to change or remove the master password.</p>
-
- <p><em>Saved Passwords…</em><br/>
- You can manage saved passwords and delete individual passwords by clicking
- the <em>Saved Passwords</em> button.</p>
-
- <h3 id="warning_messages">Warning Messages</h3>
- <p>Click the <em>Settings…</em> button to configure the security warnings
- &brandShortName; displays while you browse the web.</p>
-
- <h4>Security Warnings Dialog</h4>
- <!--XXX massive suck! do these provide *any* value whatsoever? -->
- <dl>
- <dt>I am about to view an encrypted page</dt>
- <dd>When this &pref.singular; is enabled, &brandShortName; will notify you
- every time you are about to view an encrypted page.</dd>
-
- <dt>I am about to view a page that uses low-grade encryption</dt>
- <dd>With this &pref.singular; enabled, &brandShortName; will warn you when
- you visit a page which uses low-grade encryption.</dd>
-
- <dt>I leave an encrypted page for one that isn't encrypted</dt>
- <dd>With this &pref.singular; enabled, &brandShortName; will warn you
- every time you move from an encrypted page to an unencrypted page either
- by selecting a link on the page, selecting a bookmark or typing a new
- address into the location bar.</dd>
-
- <dt>I submit information that's not encrypted</dt>
- <dd>When this &pref.singular; is enabled, &brandShortName; will warn you
- when you submit data via a form that's not encrypted.</dd>
-
- <dt>I'm about to view an encrypted page that contains some unencrypted
- information</dt>
- <dd>With this &pref.singular; enabled, &brandShortName; will warn you when
- the page you're viewing contains a mixture of encrypted and
- unencrypted content. If an encrypted page contains unencrypted data,
- you should verify the identity of the page you're viewing prior to
- entering sensitive data.</dd>
- </dl>
-
-
-<h2 id="advanced_options">Advanced &pref.pluralCaps;</h2>
-<p>The advanced panel contains many &pref.plural; that are less likely to be
- used by most people but are useful and sometimes critical &pref.plural; for
- some people.</p>
-
- <h3 id="advanced_general">General tab</h3>
- <h4 id="accessibility">Accessibility</h4>
- <p><em>Always use the cursor keys to navigate within pages</em><br/>
- When this &pref.singular; is enabled, &brandShortName; will display a
- movable cursor in web pages, allowing you to select text with the
- keyboard. You can toggle this mode by pressing <kbd>F7</kbd>.</p>
-
- <p><em>Search for text when I start typing</em><br/>
- When this &pref.singular; is enabled, &brandShortName; will find within
- the current web page what you type as you type it. While you are finding
- typed text in the page, the Find Toolbar will automatically display at the
- bottom of the window to show information about what you've found.</p>
-
- <h4 id="browsing">Browsing</h4>
- <p><em>Use autoscrolling</em><br/>
- Autoscrolling is a useful feature which allows you to scroll the page by
- clicking the middle mouse button (usually the scroll wheel) and moving the
- mouse up or down. Some people find this annoying, so autoscrolling can be
- disabled with this &pref.singular;.</p>
-
- <p><em>Use smooth scrolling</em><br/>
- Smooth scrolling can be very useful if you read a lot of long pages.
- Normally, when you press <kbd>Page Down</kbd>, the view jumps directly
- down one page. With smooth scrolling, it slides down smoothly, so you can
- see how much it scrolls. This makes it easier to resume reading from where
- you were before.</p>
-
- <p><em>Check my spelling as I type</em><br/>
- When this preference is enabled, &brandShortName; will check your spelling
- and offer possible corrections as you type in web forms. Note that you
- may need to download a dictionary; to do so, <span
- class="noMac">right-click</span><span class="mac">press &ctrlKey; and
- click</span> on any text field, enable spellchecking if necessary, and
- then use the provided <span class="menuPath">Languages</span> menu to
- download a dictionary.</p>
-
- <h3 id="advanced_network">Network tab</h3>
-
- <h4 id="connection_settings">Connection</h4>
- <p>Your organization or Internet service provider may offer or require you
- to use a proxy. A proxy acts as an intermediary between your computer and
- the Internet. It intercepts all requests to the Internet to see if it can
- fulfill the request using its cache. Proxies are used to improve
- performance, filter requests, and hide your computer from the Internet to
- improve security. Proxies are often part of corporate firewalls.</p>
-
- <h4>Connection Settings Dialog</h4>
- <dl>
- <dt>Direct connection to the Internet</dt>
- <dd>This is the default &pref.singular;. Choose this if you don't want
- to use a proxy.</dd>
-
- <dt>Auto-detect proxy settings for this network</dt>
- <dd>Choose this if you want &brandShortName; to automatically detect the
- proxy settings for your network.</dd>
-
- <dt>Manual proxy configuration</dt>
- <dd>Choose this if you don't have a proxy location (URL). Ask your
- system administrator for the names and port numbers of the servers
- running proxy software for each network service and enter the
- information in the appropriate fields.</dd>
-
- <dt>Automatic proxy configuration URL</dt>
- <dd>If your workplace has a proxy configuration file, ask the system
- administrator for its URL and enter it here. Click <em>Reload</em> to
- load the settings.</dd>
- </dl>
-
- <h4 id="advanced_cache">Cache</h4>
- <p>Pages you view are normally stored in a special cache folder for quicker
- viewing the next time you visit the same page. You can specify the amount
- of disk space the cache can use here. You can also immediately clear
- the contents of the cache.</p>
-
- <p><em>Use up to … MB of space for the cache</em><br/>
- Allows you to specify the maximum size, in megabytes, of the cache on
- your computer.</p>
-
- <p><em>Clear Now</em><br/>
- Immediately clears the current contents of the cache, freeing the disk
- space used by the cache.</p>
-
- <h3 id="advanced_update">Update tab</h3>
- <p>&brandShortName; can check whether updates to installed add-ons or to
- &brandShortName; itself are available.</p>
-
- <p><em>Automatically check for updates to:</em><br/>
- By default &brandShortName; automatically checks for updates to itself, to
- add-ons, and to search engines so you'll always know you have the most
- up-to-date version. You can change this behavior by changing the
- appropriate checkboxes here.</p>
-
- <p><em>When updates to &brandShortName; are found,</em></p>
-
- <dl>
- <dt>Ask me what I want to do</dt>
- <dd>Updates to &brandShortName; are installed automatically by default.
- Select this &pref.singular; to manually control how and when updates are
- installed.</dd>
- <dt>Automatically download and install the update</dt>
- <dd>When this &pref.singular; is selected, &brandShortName; updates will
- be automatically downloaded and will be installed the next time
- &brandShortName; is restarted. The <em>Warn me if this will disable any
- of my add-ons</em> &pref.singular; determines whether you will be warned
- before the installation of an update which would require an incompatible
- add-on to be disabled because no newer, compatible version exists. The
- warning will allow you to postpone installation of the update, though at
- the expense of improvements included in it.<br/><br/>
- If all extensions and themes are compatible or can be updated to be
- compatible, the &brandShortName; update will be installed. Upon restart
- you will be asked to install any needed add-on updates so that you can
- continue to use them.</dd>
- </dl>
-
- <p><em>Show Update History</em><br/>
- &brandShortName; automatically records the updates you have installed.
- You can view information about these updates by clicking this button.</p>
-
- <p><strong>Note:</strong> You must be running &brandShortName; as
- <span class="win">an administrator</span><span class="noWin">root</span>
- or as the user who originally installed &brandShortName;
- to install &brandShortName; updates.</p>
-
- <h3 id="advanced_encryption">Encryption tab</h3>
-
- <h4 id="protocols">Protocols</h4>
- <p><em>Use SSL 3.0</em><br/>
- Specifies whether you want to send and receive secured information through
- SSL3 (Secure Sockets Layer, Level 3), a standard protocol for
- communicating securely with web sites. Disabling it will prevent you from
- visiting some sites.</p>
-
- <p><em>Use TLS 1.0</em><br/>
- Specifies whether you want to send and receive secured information through
- TLS (Transport Layer Security), a security standard similar to SSL3
- (Secure Sockets Layer). Disabling it will prevent you from visiting some
- sites.</p>
-
- <h4 id="certificates">Certificates</h4>
- <p><a href="glossary.xhtml#certificate">Certificates</a> help perform
- encryption and decryption of connections to <a
- href="glossary.xhtml#secure_site">secure sites</a>.</p>
-
- <p><em>When a web site requires a certificate:</em><br/>
- Some servers ask you to identify yourself with a personal certificate. In
- order to do so, they ask &brandShortName; to generate one for you. When
- you visit the site in the future, &brandShortName; selects the certificate
- without asking you by default. If you wish to manually choose a
- certificate (for example, if you have multiple certificates stored for
- multiple web sites), select the <em>Ask me every time</em> &pref.singular;
- and you'll be in complete control of what certificates are being sent to
- web sites while browsing.</p>
-
- <p><em>View Certificates</em><br/>
- Click this button to view stored certificates, import new certificates,
- and back up or delete old certificates in &brandShortName;.</p>
-
- <p><em>Revocation Lists</em><br/>
- &brandShortName; can use Certificate Revocation Lists (also known as
- CRLs) to ensure that your certificates are always valid. Click the
- <em>Revocation Lists</em> button to manage the CRLs installed on your
- computer.</p>
-
- <p><em>Validation</em><br/>
- &brandShortName; may ask an OCSP (Online Certificate Status Protocol)
- server to confirm that a certificate is still valid. By default,
- &brandShortName; validates a certificate if the certificate provides an
- OCSP server. Alternately, you can choose an OCSP server against which to
- validate all certificates. Click the <em>Validation</em> button to manage
- these &pref.plural;. You will most likely only need to change this if your
- Internet environment requires it.</p>
-
- <p><em>Security Devices</em><br/>
- Security devices can encrypt and decrypt connections and store
- certificates and passwords. If you need to use a security device other
- than the one in &brandShortName;, click the <em>Security Devices</em>
- button.</p>
-
-<div class="contentsBox"><em>09 October 2007</em></div>
-<p>Copyright © ©right.years; Contributors to the Mozilla Help Viewer Project.</p>
-
-</body>
-</html>
deleted file mode 100644
--- a/browser/locales/en-US/chrome/help/search-db.rdf
+++ /dev/null
@@ -1,88 +0,0 @@
-<?xml version="1.0"?>
-
-<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:nc="http://home.netscape.com/NC-rdf#">
-
- <Description rdf:about="urn:root">
- <nc:subheadings>
- <Seq>
- <!--
- These nodes are used for searching purposes; they display in search results but do not
- show up in the default listing displayed when the help viewer loads.
- DO NOT CREATE NAME COLLISIONS BETWEEN THE ITEMS HERE AND THE ITEMS IN THE TOC!
- -->
- <li><Description nc:name="Accessibility Options" nc:link="prefs.xhtml#accessibility" nc:platform="win os2"/></li>
- <li><Description nc:name="Accessibility Preferences" nc:link="prefs.xhtml#accessibility" nc:platform="unix mac"/></li>
- <li><Description nc:name="Anti-Phishing Options" nc:link="prefs.xhtml#phishing" nc:platform="win os2"/></li>
- <li><Description nc:name="Anti-Phishing Preferences" nc:link="prefs.xhtml#phishing" nc:platform="unix mac"/></li>
- <li><Description nc:name="authentication (definition)" nc:link="glossary.xhtml#authentication"/></li>
- <li><Description nc:name="Back Button" nc:link="using_firebird.xhtml#retracing_your_steps"/></li>
- <li><Description nc:name="Block Pop-ups" nc:link="popup.xhtml"/></li>
- <li><Description nc:name="bookmark (definition)" nc:link="glossary.xhtml#bookmark"/></li>
- <li><Description nc:name="Bookmarks Toolbar (definition)" nc:link="glossary.xhtml#Bookmarks_Toolbar"/></li>
- <li><Description nc:name="Browsing" nc:link="using_firebird.xhtml#navigating_web_pages"/></li>
- <li><Description nc:name="cache (definition)" nc:link="glossary.xhtml#cache"/></li>
- <li><Description nc:name="certificate (definition)" nc:link="glossary.xhtml#certificate"/></li>
- <li><Description nc:name="Certificates" nc:link="prefs.xhtml#certificates"/></li>
- <li><Description nc:name="Certificate Revocation Lists" nc:link="prefs.xhtml#certificates"/></li>
- <li><Description nc:name="client (definition)" nc:link="glossary.xhtml#client"/></li>
- <li><Description nc:name="Configuring Extensions" nc:link="customization.xhtml#add_ons_configuring_extensions"/></li>
- <li><Description nc:name="cookie (definition)" nc:link="glossary.xhtml#cookie"/></li>
- <li><Description nc:name="cryptography (definition)" nc:link="glossary.xhtml#cryptography"/></li>
- <li><Description nc:name="decryption (definition)" nc:link="glossary.xhtml#decryption"/></li>
- <li><Description nc:name="digital ID (definition)" nc:link="glossary.xhtml#digital_ID"/></li>
- <li><Description nc:name="Disabling, Enabling, Uninstalling Add-ons" nc:link="customization.xhtml#add_ons_uninstalling"/></li>
- <li><Description nc:name="encryption (definition)" nc:link="glossary.xhtml#encryption"/></li>
- <li><Description nc:name="Extensible Markup Language (XML) (definition)" nc:link="glossary.xhtml#XML"/></li>
- <li><Description nc:name="feed (definition)" nc:link="glossary.xhtml#feed"/></li>
- <li><Description nc:name="File Transfer Protocol (FTP) (definition)" nc:link="glossary.xhtml#File_Transfer_Protocol"/></li>
- <li><Description nc:name="FIPS PUBS 140-1 (definition)" nc:link="glossary.xhtml#FIPS_PUBS_140-1"/></li>
- <li><Description nc:name="Forward Button" nc:link="using_firebird.xhtml#retracing_your_steps"/></li>
- <li><Description nc:name="going back or forward" nc:link="using_firebird.xhtml#retracing_your_steps"/></li>
- <li><Description nc:name="Home Button" nc:link="using_firebird.xhtml#viewing_your_home_page"/></li>
- <li><Description nc:name="Home Page (definition)" nc:link="glossary.xhtml#home_page"/></li>
- <li><Description nc:name="Hypertext Markup Language (HTML) (definition)" nc:link="glossary.xhtml#Hypertext_Markup_Language"/></li>
- <li><Description nc:name="importing Internet Explorer Favorites" nc:link="forieusers.xhtml#about_your_ie_settings"/></li>
- <li><Description nc:name="Internet (definition)" nc:link="glossary.xhtml#Internet"/></li>
- <li><Description nc:name="Internet protocol (IP) address (definition)" nc:link="glossary.xhtml#Internet_protocol_address"/></li>
- <li><Description nc:name="Java (definition)" nc:link="glossary.xhtml#Java"/></li>
- <li><Description nc:name="JavaScript (definition)" nc:link="glossary.xhtml#JavaScript"/></li>
- <li><Description nc:name="Languages" nc:link="prefs.xhtml#languages"/></li>
- <li><Description nc:name="Live Bookmark (definition)" nc:link="glossary.xhtml#live_bookmark"/></li>
- <li><Description nc:name="Location Bar (definition)" nc:link="glossary.xhtml#location_bar"/></li>
- <li><Description nc:name="master password (definition)" nc:link="glossary.xhtml#master_password"/></li>
- <li><Description nc:name="Navigation Toolbar (definition)" nc:link="glossary.xhtml#navigation_toolbar"/></li>
- <li><Description nc:name="Password Manager (definition)" nc:link="glossary.xhtml#Password_Manager"/></li>
- <li><Description nc:name="PKCS #11 (definition)" nc:link="glossary.xhtml#PKCS_11"/></li>
- <li><Description nc:name="Plugin (definition)" nc:link="glossary.xhtml#Plugin"/></li>
- <li><Description nc:name="Plugins" nc:link="using_firebird.xhtml#managing_different_file_types"/></li>
- <li><Description nc:name="private key (definition)" nc:link="glossary.xhtml#private_key"/></li>
- <li><Description nc:name="proxy (definition)" nc:link="glossary.xhtml#proxy"/></li>
- <li><Description nc:name="recently visited web pages" nc:link="using_firebird.xhtml#moving_to_another_page"/></li>
- <li><Description nc:name="Reload Button" nc:link="using_firebird.xhtml#stopping_and_reloading"/></li>
- <li><Description nc:name="search engine (definition)" nc:link="glossary.xhtml#search_engine"/></li>
- <li><Description nc:name="searching using the Location Bar" nc:link="using_firebird.xhtml#moving_to_another_page"/></li>
- <li><Description nc:name="searching using the Search Bar" nc:link="using_firebird.xhtml#searching_the_web"/></li>
- <li><Description nc:name="searching using text from the page" nc:link="using_firebird.xhtml#searching_on_selected_words_in_a_web_page"/></li>
- <li><Description nc:name="secure site (definition)" nc:link="glossary.xhtml#secure_site"/></li>
- <li><Description nc:name="Secure Sockets Layer (SSL) (definition)" nc:link="glossary.xhtml#SSL"/></li>
- <li><Description nc:name="server (definition)" nc:link="glossary.xhtml#server"/></li>
- <li><Description nc:name="Setting or Changing the Master Password" nc:link="prefs.xhtml#set_change_master_password"/></li>
- <li><Description nc:name="Software Updates" nc:link="menu_reference.xhtml#check_for_updates"/></li>
- <li><Description nc:name="Status Bar (definition)" nc:link="glossary.xhtml#Status_Bar"/></li>
- <li><Description nc:name="Stop Button" nc:link="using_firebird.xhtml#stopping_and_reloading"/></li>
- <li><Description nc:name="Switching Themes" nc:link="customization.xhtml#add_ons_switching_themes"/></li>
- <li><Description nc:name="TLS (definition)" nc:link="glossary.xhtml#TLS"/></li>
- <li><Description nc:name="TCP/IP (Transmission Control Protocol/Internet Protocol) (definition)" nc:link="glossary.xhtml#TCP_IP"/></li>
- <li><Description nc:name="Uniform Resource Locator (URL) (definition)" nc:link="glossary.xhtml#Uniform_Resource_Locator"/></li>
- <li><Description nc:name="Updating Add-ons" nc:link="customization.xhtml#add_ons_updating"/></li>
- <li><Description nc:name="Verification" nc:link="prefs.xhtml#certificates"/></li>
- <li><Description nc:name="Viewing HTML Source" nc:link="menu_reference.xhtml#page_source"/></li>
- <li><Description nc:name="web page (definition)" nc:link="glossary.xhtml#web_page"/></li>
- <li><Description nc:name="web site (definition)" nc:link="glossary.xhtml#web_site"/></li>
- <li><Description nc:name="World Wide Web (definition)" nc:link="glossary.xhtml#World_Wide_Web"/></li>
- </Seq>
- </nc:subheadings>
- </Description>
-</RDF>
deleted file mode 100644
--- a/browser/locales/en-US/chrome/help/shortcuts.xhtml
+++ /dev/null
@@ -1,383 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"[
- <!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd" >
- %brandDTD;
- <!ENTITY % platformDTD SYSTEM "chrome://browser/locale/help/platformStrings.dtd" >
- %platformDTD;
-]>
-<!--
-Contributors:
- David Tenser <david.tenser@comhem.se> (original author)
- R.J. Keller <rlk@trfenv.com>
- Sean Umphlet <nosebleed@umphlet.com> (minor bugfixes)
- Jeff Walden <jwalden+code@mit.edu>
- Steffen Wilberg <steffen.wilberg@web.de>
--->
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
- <title>&brandFullName; Keyboard Shortcuts</title>
- <link rel="stylesheet" type="text/css"
- href="chrome://help/skin/helpFileLayout.css"/>
-</head>
-
-<body>
-
-<h1>&brandFullName; Keyboard Shortcuts</h1>
-
-<p>This is a list of the most common keyboard shortcuts in &brandFullName;.
- <span class="unix">If you have enabled Emacs-style text editing shortcuts
- in GNOME, they will also work in &brandShortName;. When an Emacs text
- editing shortcut conflicts with the default shortcuts (as occurs with
- &accelKey;+<kbd>K</kbd>), the Emacs shortcut will take preference if
- focus is inside a textbox (which would include the location bar and search
- bar). In such cases you should use the alternate keyboard shortcut
- if one is listed below.</span></p>
-
-<table border="1">
- <thead>
- <tr>
- <th>Command</th>
- <th>Shortcut</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <th colspan="2">Navigation</th>
- </tr>
- <tr>
- <td>Back</td>
- <td>
- <span class="win">
- &altKey;+<kbd>Left Arrow</kbd><br/>
- <kbd>Backspace</kbd>
- </span>
- <span class="unix">
- &altKey;+<kbd>Left Arrow</kbd><br/>
- &accelKey;+<kbd>[</kbd>
- </span>
- <span class="mac">
- &accelKey;+<kbd>[</kbd><br/>
- &accelKey;+<kbd>Left Arrow</kbd><br/>
- <kbd>Delete</kbd>
- </span>
- </td>
- </tr>
- <tr>
- <td>Forward</td>
- <td>
- <span class="win">
- &altKey;+<kbd>Right Arrow</kbd><br/>
- &shiftKey;+<kbd>Backspace</kbd>
- </span>
- <span class="unix">
- &altKey;+<kbd>Right Arrow</kbd><br/>
- &accelKey;+<kbd>]</kbd>
- </span>
- <span class="mac">
- &accelKey;+<kbd>]</kbd><br/>
- &accelKey;+<kbd>Right Arrow</kbd><br/>
- &shiftKey;+<kbd>Delete</kbd>
- </span>
- </td>
- </tr>
- <tr>
- <td>Home</td>
- <td>&altKey;+<kbd>Home</kbd></td>
- </tr>
- <tr>
- <td>Open File</td>
- <td>&accelKey;+<kbd>O</kbd></td>
- </tr>
- <tr>
- <td>Reload</td>
- <td><kbd>F5<br/></kbd>
- &accelKey;+<kbd>R</kbd></td>
- </tr>
- <tr>
- <td>Reload (override cache)</td>
- <td><span class="noMac">&accelKey;+<kbd>F5</kbd><br/></span>
- &accelKey;+&shiftKey;+<kbd>R</kbd></td>
- </tr>
- <tr>
- <td>Stop</td>
- <td><span class="mac">&accelKey;+<kbd>.</kbd><br/></span>
- <kbd>Esc</kbd></td>
- </tr>
- </tbody>
- <tbody>
- <tr>
- <th colspan="2">Current Page</th>
- </tr>
- <tr>
- <td>Go to Bottom of Page</td>
- <td><kbd>End</kbd></td>
- </tr>
- <tr>
- <td>Go to Top of Page</td>
- <td><kbd>Home</kbd></td>
- </tr>
- <tr>
- <td>Move to Next Frame</td>
- <td><kbd>F6</kbd></td>
- </tr>
- <tr>
- <td>Move to Previous Frame</td>
- <td>&shiftKey;+<kbd>F6</kbd></td>
- </tr>
- <tr class="noWin">
- <td>Page Info</td>
- <td>&accelKey;+<kbd>I</kbd></td>
- </tr>
- <tr>
- <td>Page Source</td>
- <td>&accelKey;+<kbd>U</kbd></td>
- </tr>
- <tr>
- <td>Print</td>
- <td>&accelKey;+<kbd>P</kbd></td>
- </tr>
- <tr>
- <td>Save Page As</td>
- <td>&accelKey;+<kbd>S</kbd></td>
- </tr>
- <tr>
- <td>Text Size: Decrease</td>
- <td>&accelKey;+<kbd>-</kbd></td>
- </tr>
- <tr>
- <td>Text Size: Increase</td>
- <td>&accelKey;+<kbd>+</kbd></td>
- </tr>
- <tr>
- <td>Text Size: Restore</td>
- <td>&accelKey;+<kbd>0</kbd></td>
- </tr>
- </tbody>
- <tbody>
- <tr>
- <th colspan="2">Editing</th>
- </tr>
- <tr>
- <td>Copy</td>
- <td>&accelKey;+<kbd>C</kbd></td>
- </tr>
- <tr>
- <td>Cut</td>
- <td>&accelKey;+<kbd>X</kbd></td>
- </tr>
- <tr>
- <td>Delete</td>
- <td><kbd>Delete</kbd></td>
- </tr>
- <tr>
- <td>Paste</td>
- <td>&accelKey;+<kbd>V</kbd></td>
- </tr>
- <tr>
- <td>Redo</td>
- <td><span class="win">&accelKey;+<kbd>Y</kbd></span>
- <span class="noWin">&accelKey;+&shiftKey;+<kbd>Z</kbd></span></td>
- </tr>
- <tr>
- <td>Select All</td>
- <td>&accelKey;+<kbd>A</kbd></td>
- </tr>
- <tr>
- <td>Undo</td>
- <td>&accelKey;+<kbd>Z</kbd></td>
- </tr>
- </tbody>
- <tbody>
- <tr>
- <th colspan="2">Search</th>
- </tr>
- <tr>
- <td>Find</td>
- <td>&accelKey;+<kbd>F</kbd></td>
- </tr>
- <tr>
- <td>Find Again</td>
- <td><kbd>F3</kbd><br/>
- &accelKey;+<kbd>G</kbd></td>
- </tr>
- <tr>
- <td>Find As You Type Link</td>
- <td><kbd>'</kbd></td>
- </tr>
- <tr>
- <td>Find As You Type Text</td>
- <td><kbd>/</kbd></td>
- </tr>
- <tr>
- <td>Find Previous</td>
- <td>&shiftKey;+<kbd>F3</kbd></td>
- </tr>
- <tr>
- <td>Web Search</td>
- <td>&accelKey;+<kbd>K</kbd>
- <span class="win"><br/>&accelKey;+<kbd>E</kbd></span>
- <span class="unix"><br/>&accelKey;+<kbd>J</kbd></span></td>
- </tr>
- </tbody>
- <tbody id="windows_tabs">
- <tr>
- <th colspan="2">Windows & Tabs</th>
- </tr>
- <tr>
- <td>Close Tab</td>
- <td>&accelKey;+<kbd>W</kbd>
- <span class="noMac"><br/>&ctrlKey;+<kbd>F4</kbd></span></td>
- </tr>
- <tr>
- <td>Close Window</td>
- <td>&accelKey;+&shiftKey;+<kbd>W</kbd>
- <span class="noMac"><br/>&altKey;+<kbd>F4</kbd></span></td>
- </tr>
- <!-- LOCALIZATION NOTE:
- "Left"/"Up" and "Right"/"Down" might need special treatment
- for bidi locales, as used in the following two entries.
- -->
- <tr>
- <td>Move Tab Left<br/>
- (when tab is focused)</td>
- <td>&accelKey;+<kbd>Left Arrow</kbd><br/>
- &accelKey;+<kbd>Up Arrow</kbd></td>
- </tr>
- <tr>
- <td>Move Tab Right<br/>
- (when tab is focused)</td>
- <td>&accelKey;+<kbd>Right Arrow</kbd><br/>
- &accelKey;+<kbd>Down Arrow</kbd></td>
- </tr>
- <tr>
- <td>Move Tab to Beginning<br/>
- (when tab is focused)</td>
- <td>&accelKey;+<kbd>Home</kbd></td>
- </tr>
- <tr>
- <td>Move Tab to End<br/>
- (when tab is focused)</td>
- <td>&accelKey;+<kbd>End</kbd></td>
- </tr>
- <tr>
- <td>New Tab</td>
- <td>&accelKey;+<kbd>T</kbd></td>
- </tr>
- <tr>
- <td>New Window</td>
- <td>&accelKey;+<kbd>N</kbd></td>
- </tr>
- <tr>
- <td>Next Tab</td>
- <td>&ctrlKey;+<kbd>Tab</kbd><br/>
- <span class="mac">&accelKey;+&altKey;+Right Arrow<br/></span>
- &ctrlKey;+<kbd>Page Down</kbd></td>
- </tr>
- <tr>
- <td>Open Address in New Tab<br/>
- (from Location Bar or Search Bar)</td>
- <td>&altKey;+&enterKey;</td>
- </tr>
- <tr>
- <td>Previous Tab</td>
- <td>&ctrlKey;+&shiftKey;+<kbd>Tab</kbd><br/>
- <span class="mac">&accelKey;+&altKey;+Left Arrow<br/></span>
- &ctrlKey;+<kbd>Page Up</kbd></td>
- </tr>
- <tr>
- <td>Restore Recently Closed Tab</td>
- <td>&accelKey;+&shiftKey;+<kbd>T</kbd></td>
- </tr>
- <tr>
- <td>Select Tab (1 to 8)</td>
- <td><span class="noUnix">&accelKey;</span><span
- class="unix">&altKey;</span>+(<kbd>1</kbd> to <kbd>8</kbd>)</td>
- </tr>
- <tr>
- <td>Select Last Tab</td>
- <td><span class="noUnix">&accelKey;</span><span
- class="unix">&altKey;</span>+<kbd>9</kbd></td>
- </tr>
- </tbody>
- <tbody>
- <tr>
- <th colspan="2">Tools</th>
- </tr>
- <tr class="noUnix">
- <td>Bookmark All Tabs</td>
- <td>&accelKey;+&shiftKey;+<kbd>D</kbd></td>
- </tr>
- <tr>
- <td>Bookmark This Page</td>
- <td>&accelKey;+<kbd>D</kbd></td>
- </tr>
- <tr>
- <td>Bookmarks</td>
- <td>&accelKey;+<kbd>B</kbd>
- <span class="win"><br/>&accelKey;+<kbd>I</kbd></span></td>
- </tr>
- <tr>
- <td>Caret Browsing</td>
- <td><kbd>F7</kbd></td>
- </tr>
- <tr>
- <td>Downloads</td>
- <td><span class="noUnix">&accelKey;+<kbd>J</kbd></span>
- <span class="unix">&accelKey;+<kbd>Y</kbd></span></td>
- </tr>
- <tr>
- <td>History</td>
- <td><span class="noMac">&accelKey;+<kbd>H</kbd></span>
- <span class="mac">&accelKey;+&shiftKey;+<kbd>H</kbd></span></td>
- </tr>
- <tr>
- <td>Clear Private Data</td>
- <td>&accelKey;+&shiftKey;+<kbd>Del</kbd></td>
- </tr>
- </tbody>
- <tbody>
- <tr>
- <th colspan="2">Miscellaneous</th>
- </tr>
- <tr>
- <td>Complete .com Address</td>
- <td>&accelKey;+&enterKey;</td>
- </tr>
- <tr>
- <td>Complete .net Address</td>
- <td>&shiftKey;+&enterKey;</td>
- </tr>
- <tr>
- <td>Complete .org Address</td>
- <td>&accelKey;+&shiftKey;+&enterKey;</td>
- </tr>
- <tr>
- <td>Delete Selected Autocomplete Entry</td>
- <td><span class="noMac"><kbd>Del</kbd></span>
- <span class="mac">&shiftKey;+<kbd>Del</kbd></span></td>
- </tr>
- <tr class="noMac">
- <td>Full Screen</td>
- <td><kbd>F11</kbd></td>
- </tr>
- <tr>
- <td>Select Location Bar</td>
- <td><span class="noMac">&altKey;+<kbd>D</kbd><br/></span>
- <kbd>F6</kbd><br />
- &accelKey;+<kbd>L</kbd></td>
- </tr>
- <tr>
- <td>Select or Manage Search Engines<br/>
- (when Search Bar is focused)</td>
- <td>&altKey;+<kbd>Up Arrow</kbd><br/>
- &altKey;+<kbd>Down Arrow</kbd><span class="noMac"><br/>
- <kbd>F4</kbd></span></td>
- </tr>
- </tbody>
-</table>
-
-<div class="contentsBox"><em>07 October 2007</em></div>
-<p>Copyright © ©right.years; Contributors to the Mozilla Help Viewer Project.</p>
-
-</body>
-</html>
deleted file mode 100644
--- a/browser/locales/en-US/chrome/help/tabbed_browsing.xhtml
+++ /dev/null
@@ -1,137 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"[
- <!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd" >
- %brandDTD;
- <!ENTITY % platformDTD SYSTEM "chrome://browser/locale/help/platformStrings.dtd" >
- %platformDTD;
-]>
-<!--
-Contributors:
- Daniel Wang (original author)
- Jeff Walden <jwalden+code@mit.edu> (minor editorial nits, XHTML conversion)
- Steffen Wilberg <steffen.wilberg@web.de> (minor editorial nits)
--->
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
- <title>Tabbed Browsing</title>
- <link rel="stylesheet" type="text/css" href="chrome://help/skin/helpFileLayout.css"/>
-</head>
-
-<body>
-<h1>Tabbed Browsing</h1>
-
-<p>Tabbed browsing lets you open tabs, each displaying a web page, within a
- single &brandShortName; window. You can open links in new tabs, where they
- will load while you read the current page. You don't have to use tabbed
- browsing, but if you do you might find tabbed browsing is a better, faster
- way to browse the Web.</p>
-
-<div class="contentsBox">In this section:
- <ul>
- <li><a href="#creating_loading_tabs">Creating and Loading Tabs</a></li>
- <li><a href="#moving_tabs">Moving Tabs Within a Window</a></li>
- <li><a href="#closing_tabs">Closing Tabs</a></li>
- <li><a href="#customizing">Customizing Tabbed Browsing</a></li>
- <li><a href="#tips_tricks">Tips and Tricks</a></li>
- </ul>
-</div>
-
-<h2 id="creating_loading_tabs">Creating and Loading Tabs</h2>
-
-<p>To open a new tab, press &accelKey;+<kbd>T</kbd>, select <span
- class="menuPath">File > New Tab</span>, or double-click an empty space in
- the Tab Bar.</p>
-
-<p>To load a link in a tab, you can do one of the following:</p>
-
-<ul>
- <li>Middle-click the link. (If you have a mouse wheel, clicking the wheel is
- equivalent to middle-clicking.)</li>
- <li>Drag the link and drop it on an empty space in the Tab Bar. (If only one
- web page is open, the Tab Bar may be hidden. See <a
- href="#customizing">Customizing Tabbed Browsing</a> for information on how
- to change this.)</li>
- <li>Drag and drop the link onto a tab to open the link in that tab.</li>
- <li><span class="noMac">Right-click</span><span class="mac">Press &ctrlKey;,
- click on</span> the link, and choose <span
- class="menuPath">Open Link in New Tab</span> from the context menu.</li>
-</ul>
-
-<p>To open a URL in the Location Bar in a new tab, enter the URL and press
- &altKey;+&enterKey;.</p>
-
-<h2 id="moving_tabs">Moving Tabs Within a Window</h2>
-
-<p>Tabs are displayed in the order you open them, which may not always be what
- you want. To move a tab to a different location within a &brandShortName;
- window, simply drag it there using your mouse. While you are dragging the
- tab, &brandShortName; displays a small indicator to show where the tab will be
- moved. Alternately, you can use <a
- href="shortcuts.xhtml#windows_tabs">keyboard shortcuts</a> to move tabs within
- a window if desired.</p>
-
-<h2 id="closing_tabs">Closing and Restoring Tabs</h2>
-
-<p>To close the current tab, press &accelKey;+<kbd>W</kbd>, click the Close Tab
- button, middle-click the tab, or select <span class="menuPath">File >
- Close Tab</span>. To close all tabs other than the current one, <span
- class="noMac">right-click</span><span class="mac">press &ctrlKey;,
- click</span> on the tab and choose <span class="menuPath">Close Other
- Tabs</span>.</p>
-
-<p>&brandShortName; windows keep a list of tabs you closed recently. You can
- restore any tab by selecting it from <span class="menuPath">History >
- Recently Closed Tabs</span>. You can restore all tabs by selecting <span
- class="menuPath">History > Recently Closed Tabs > Open All in Tabs
- </span>. Press &accelKey;+&shiftKey;+<kbd>T</kbd> to open them one by one in
- reverse order.</p>
-
-<h2 id="customizing">Customizing Tabbed Browsing</h2>
- <p>To change tabbed browsing &pref.plural; select &pref.menuPath; and open the
- <a href="prefs.xhtml#tabs_options"><em>Tabs</em> panel</a>.</p>
-
-<h2 id="tips_tricks">Tips and Tricks</h2>
-
-<dl>
-
- <dt id="bookmarking_tabbed_browsing">Bookmarks and Tabbed Browsing</dt>
- <dd>To bookmark a set of tabs:</dd>
- <dd>
- <ol>
- <li><span class="noUnix">Press &accelKey;+&shiftKey;+<kbd>D</kbd> or
- select</span><span class="unix">Select</span>
- <span class="menuPath">Bookmarks > Bookmark All Tabs</span> to add
- all the tabs in the current window to a new bookmark folder.</li>
- <li>To open bookmarks in tabs, open a bookmark folder menu and choose
- <span class="menuPath">Open in Tabs</span>. You can also middle-click
- on the folder to open its contents in tabs. The bookmarks will open in
- existing tabs, not new ones.</li>
- </ol>
- </dd>
-
- <dt id="home_page_as_tabs">Home Page as Tabs</dt>
- <dd>Instead of using only one web page as your homepage, you can make your
- home page a set of tabs. Select your favorite web sites and open them in
- tabs in a single window. Select &pref.menuPath; and open the <a
- href="prefs.xhtml#main_options"><em>Main</em> panel</a>. Under
- <em>Startup</em>, press the <em>Use Current Pages</em> button. Now
- when you press the Home button, your favorite web sites will load with just
- a click.</dd>
-
- <dt>Adding a New Tab Toolbar Button</dt>
- <dd>You can add a New Tab button on the toolbar to easily open new tabs by <a
- href="customization.xhtml#rearranging_toolbar_items">customizing your
- toolbars</a>.</dd>
-
- <dt id="keyboard_shortcuts">Keyboard shortcuts</dt>
- <dd>&brandShortName; has an extensive set of shortcuts related to tabbed
- browsing; see the full list in <a
- href="shortcuts.xhtml#windows_tabs">Keyboard Shortcuts</a>.</dd>
-
-</dl>
-
-<div class="contentsBox"><em>12 September 2006</em></div>
-<p>Copyright © ©right.years; Contributors to the Mozilla Help Viewer Project.</p>
-
-</body>
-</html>
deleted file mode 100644
--- a/browser/locales/en-US/chrome/help/using_firebird.xhtml
+++ /dev/null
@@ -1,558 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"[
- <!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd" >
- %brandDTD;
- <!ENTITY % platformDTD SYSTEM "chrome://browser/locale/help/platformStrings.dtd" >
- %platformDTD;
-]>
-<!--
-Contributors:
- R.J. Keller <rlk@trfenv.com> (original author)
- Nilson Cain <nilson@gmail.com>
- Steffen Wilberg <steffen.wilberg@web.de>
--->
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
- <title>Using &brandFullName;</title>
- <link rel="stylesheet" type="text/css"
- href="chrome://help/skin/helpFileLayout.css"/>
-</head>
-
-<body>
-
-<h1>Using &brandFullName;</h1>
-<p>Welcome to &brandFullName;! &brandShortName; is an Internet browser that
- you can use to visit web pages and search the Web.</p>
-
-<div class="contentsBox">In this section:
- <ul>
- <li><a href="#navigating_web_pages">Navigating Web Pages</a></li>
- <li><a href="#searching">Searching</a></li>
- <li><a href="#copying_saving_and_printing_pages">Copying, Saving, and
- Printing Pages</a></li>
- <li><a href="#improving_speed_and_efficiency">Improving Speed and
- Efficiency</a></li>
- </ul>
-</div>
-
-<h2 id="navigating_web_pages">Navigating Web Pages</h2>
-
-<h3 id="viewing_your_home_page">Viewing Your Home Page</h3>
-<p>When you start &brandShortName;, you will see your home page. By default,
- you will see &brandShortName;'s home page.</p>
-
-<div class="noMac"><p><strong>Tips</strong>:</p>
-<ul>
- <li>To display more web content on the screen, you can use Full Screen mode.
- Full Screen mode condenses the &brandShortName;'s Toolbars into one small
- toolbar. To enable Full Screen mode, simply select
- <span class="menuPath">View > Full Screen</span> or press
- <kbd>F11</kbd>.</li>
- <li>To go to your home page quickly, press &altKey;+<kbd>Home</kbd>.</li>
-</ul></div>
-
-<h3><strong id="moving_to_another_page">Moving to Another Page</strong></h3>
-<p>You can move to a new web page by typing in its Internet address or URL
- into the Location Bar. URLs normally begin with "http://" followed
- by one or more names that identify the address. One example is
- "http://www.mozilla.org/".</p>
-
-<ol>
- <li>Click the Location Bar to select the URL that is already there.</li>
- <li>Type the URL of the page you want to visit. The URL you type replaces
- any text already in the Location Bar.</li>
- <li>Press &enterKey;.</li>
-</ol>
-
-<p><strong>Tip:</strong> To quickly select the URL of the Location Bar, press
- &accelKey;+<kbd>L</kbd>.</p>
-
-<p><img src="&images.baseURL;/urlbar.png" alt=""/></p>
-
-<p><strong>Don't know a URL</strong>? Try typing something specific to the page
- you want to visit, e.g. a name, into the Location Bar and hit &enterKey;.
- This will take you to the top result in Google for that term.</p>
-
-<h3 id="clicking_a_link">Clicking a Link</h3>
-<p>Most web pages contain links you can click to move to other pages.</p>
-
-<ol>
- <li>Move the mouse pointer until it changes to a pointing finger. This
- happens whenever the pointer is over a link. Most links are underlined
- text, but buttons and pictures can also be links.</li>
- <li>Click the link once. While the network locates the link's page, status
- messages will appear at the bottom of the window.</li>
-</ol>
-
-<h3 id="retracing_your_steps">Retracing Your Steps</h3>
-<p>There are several ways to revisit pages:</p>
-
-<ul>
- <li>To go back or forward one page, click the <em>Back</em> or
- <em>Forward</em> button.</li>
- <li>To go back or forward more than one page, click the small triangles on
- the <em>Back</em> and <em>Forward</em> buttons. You'll see a list of pages
- you've recently visited; to return to a page, choose it from the list.</li>
- <li>To see a list of any URLs you've typed into the Location Bar, click the
- down arrow at the right end of the Location Bar. To view a page, choose it
- from the list.<br/>
- <img src="&images.baseURL;/urlbar.png" alt=""/></li>
- <li>To choose from pages you've visited during the current session, open the
- History menu and use the list in the bottom section of the menu.</li>
- <li>To choose from pages you've visited during the past several sessions,
- open the <em>History</em> menu and choose <em>Show in Sidebar</em>. You will see the
- History Sidebar. The History Sidebar displays a list of folders.
- Clicking the folders displays subfolders or titles of web pages.
- You can click a page's title to view that page.</li>
-</ul>
-
-<h3 id="stopping_and_reloading">Stopping and Reloading</h3>
-<p>If a page is loading too slowly or you no longer wish to view a page,
- click the <em>Stop</em> button.</p>
-
-<p>To reload the current page or to get the most up-to-date version, click
- the <em>Reload</em> button or press &accelKey;+<kbd>R</kbd>.</p>
-
-<h3 id="tabbed_browsing">Tabbed Browsing</h3>
-<p>When you visit more than one web page at a time, you can use Tabbed
- Browsing to navigate the Web faster and easier.</p>
-
-<p>Tabbed Browsing lets you open tabs, each displaying a web page, within a
- single &brandShortName; window. You don't have to have several windows open
- to visit several different web pages. This frees up space on your desktop.
- You can open, close, and reload web pages conveniently in one place without
- having to switch to another window.</p>
-
-<p>For more info, see <a href="tabbed_browsing.xhtml">Tabbed Browsing</a>.</p>
-
-<h3 id="using_the_sidebar">Using the Sidebar</h3>
-<p>The Sidebar is an area on the left side of the screen that you can use for
- viewing bookmarks or history. Extensions may add new ways to use the Sidebar
- as well.</p>
-
-<p>To view an item in the Sidebar, select <span class="menuPath">View >
- Sidebar</span>. From there you can select the Sidebar tab you want.</p>
-
-<h2 id="searching">Searching</h2>
-
-<h3 id="searching_the_web">Searching the Web</h3>
-
-<p>Searching for web pages on a particular topic is as easy as typing a few
- words into &brandShortName;'s Search Bar.<br/>
- <img src="&images.baseURL;/searchbar.png" alt=""/></p>
-
-<p>For example, if you want to find information about baby dolls:</p>
-<ol>
- <li>Click in the Search Bar.</li>
- <li>Type the phrase <kbd>baby doll</kbd>. Your typing replaces any text
- currently in the search bar.</li>
- <li>Hit &enterKey; to search.</li>
-</ol>
-
-<p>Search results for "baby doll" appear in the &brandShortName; window.</p>
-
-<h4 id="selecting_the_search_engine">Selecting the Search Engine</h4>
-
-<p>You can switch the Search Engine by clicking on its icon and selecting the
- Search Engine of your choice. Some Search Engines, like Google, search the
- whole web; others, like Amazon.com, only search specific sites.</p>
-
-<h4 id="manage_search_engines">Manage Search Engines</h4>
-<p>Click on the icon of the Search Engine and select <em>Manage Search
- Engines…</em> to add, reorder, remove, or restore the default Search Engines.
- Select a Search Engine and click the appropriate button to to move
- it around within the list or remove it. You can install new search engines by
- clicking the <em>Get more search engines…</em> link.</p>
-
-<h3 id="searching_on_selected_words_in_a_web_page">Searching the Web for
- Words Selected in a Web Page</h3>
-
-<p>&brandShortName; allows you to search the web for words you select within
- a web page:</p>
-
-<ol>
- <li>Select (highlight) any words in a web page.</li>
- <li><span class="noMac">Right-click</span><span class="mac">Press &ctrlKey;,
- click the mouse button,</span> and choose <em>Search [Search Engine] for
- "[your selected words]"</em> from the pop-up menu.</li>
-</ol>
-
-<p>&brandShortName; opens a new tab and uses the currently selected Search
- Engine to search for your selected words.</p>
-
-<h3 id="searching_within_a_page">Searching Within a Page</h3>
-
-<p>To find text within the page you are currently viewing in
- &brandShortName;:</p>
-
-<ol>
- <li>Press &accelKey;+<kbd>F</kbd> or select <span class="menuPath">Edit >
- Find in This Page…</span> to open the Find Toolbar at the bottom of
- &brandShortName;.</li>
- <li>Type the text you want to find. The search automatically begins as soon as
- you type something into the search box.</li>
- <li>The Find Toolbar offers the following choices:
- <ul>
- <li><strong>Next</strong>: find text in the page that is below the current
- cursor position.</li>
- <li><strong>Previous</strong>: find text that is above the current cursor
- position.</li>
- <li><strong>Highlight all</strong>: highlight occurrences of your search
- string in the current page.</li>
- <li><strong>Match case</strong>: limit the search to text that has the
- same capitalization as your search string.</li>
- </ul>
- </li>
-</ol>
-
-<p>To find the same word or phrase again, press <kbd>F3</kbd> or select
- <span class="menuPath">Edit > Find Again</span>.</p>
-
-<p><strong>Tip</strong>: Enable the <em>Search for text when I start typing</em>
- &pref.singular; in the <em>General</em> tab of the <em>Advanced</em> panel of
- &pref.menuPath; to enable the <em>Quick Find</em> mode of the Find Toolbar.
- When enabled, the <em>Quick Find</em> toolbar automatically opens and starts
- searching as soon as you type something. Unlike the Find Toolbar, the
- <em>Quick Find</em> toolbar will close automatically after a few seconds of
- inactivity.</p>
-
-<h2 id="copying_saving_and_printing_pages">Copying, Saving, and Printing
- Pages</h2>
-
-<h3 id="copying_part_of_a_page">Copying Part of a Page</h3>
-
-<p>To copy text from a page:</p>
-<ol>
- <li>Select the text.</li>
- <li>Select <span class="menuPath">Edit > Copy</span> from the Menu
- Bar.</li>
-</ol>
-
-<p>You can paste the text into other programs.</p>
-
-<p>To copy a link (URL) or an image link from a page:</p>
-
-<ol>
- <li>Position the pointer over the link or image.</li>
- <li><span class="noMac">Right-click</span><span class="mac">Press &ctrlKey;
- and click on</span> the link or image to display a pop-up menu.</li>
- <li>Choose Copy Link Location or Copy Image Location. If an image is also a
- link, you can choose either menu item.</li>
-</ol>
-
-<p>You can paste the link into other programs or into &brandShortName;'s
- Location Bar.</p>
-
-<h3 id="saving_all_or_part_of_a_page">Saving All or Part of a Page</h3>
-
-<p>To save an entire page in &brandShortName;:</p>
-
-<ol>
- <li>Select <span class="menuPath">File > Save Page As</span>. You will see
- the Save As dialog box.</li>
- <li>Choose a location for the saved page.</li>
- <li>Choose a format for the page you want to save:
- <ul>
- <li><strong>Web Page, Complete</strong>: Save the whole web page along
- with pictures. This choice allows you to view it as originally shown
- with pictures, but it may not keep the HTML link structure of the
- original page. &brandShortName; creates a new directory where the
- page is saved to save pictures and other files necessary to show the
- whole web page.</li>
- <li><strong>Web Page, HTML Only</strong>: Save the original page
- without pictures. This choice preserves the original HTML link
- structure in one file.</li>
- <li><strong>Text file</strong>: Save the original page as a text file.
- This choice will not preserve the original HTML link structure, but
- will allow you to see a text version of the web page in any text
- editor.</li>
- </ul>
- </li>
- <li>Type a file name for the page and click <em>Save</em>.</li>
-</ol>
-
-<p>To save a frame from within a web page:</p>
-
-<ol>
- <li>Position the mouse pointer within the frame.</li>
- <li><span class="mac">Press &ctrlKey; and click on</span><span
- class="noMac">Right-click</span> the frame to display a pop-up menu.</li>
- <li>Select <span class="menuPath">This Frame > Save Frame As</span> from
- the submenu. You will see the Save As dialog box.</li>
- <li>Choose a location for the saved page.</li>
- <li>Choose a format for the page you want to save.</li>
- <li>Type a file name for the page and click <em>Save</em>.</li>
-</ol>
-
-<p>Saving a file onto your hard drive lets you view the page when you aren't
- connected to the Internet.</p>
-
-<p>To save an image from a page:</p>
-<ol>
- <li>Position the mouse pointer over the image.</li>
- <li><span class="noMac">Right-click</span><span class="mac">Press &ctrlKey;
- and click on</span> the image to display a pop-up menu.</li>
- <li>Select <span class="menuPath">Save Image As</span>. You will see the
- Save Image dialog box.</li>
- <li>Choose a location for the saved image.</li>
- <li>Type a file name for the image and click <em>Save</em>.</li>
-</ol>
-
-<p>To save a page without displaying it (which is useful for retrieving a
- nonformatted page that isn't intended for viewing):</p>
-
-<ol>
- <li>Position the mouse pointer over a link to the page.</li>
- <li><span class="noMac">Right-click</span><span class="mac">Press &ctrlKey;
- and click on</span> the link to display a pop-up menu.</li>
- <li>Select <span class="menuPath">Save Link to Disk</span>. You will see the
- Save As dialog box.</li>
- <li>Choose a location for the saved page.</li>
- <li>Type a file name for the page and click <em>Save</em>.</li>
-</ol>
-
-<p><strong>Important</strong>: Some links automatically download and save files
- to your hard drive after you click them. The URLs for these links often
- begin with "ftp" or end with a file-type extension such as
- "au" or "mpeg." These links might transmit software,
- sound, or movie files and can launch helper applications that support the
- files.</p>
-
-<p><strong>Tip</strong>: To set an image as your desktop background,
- <span class="noMac">right-click</span><span class="mac">press &ctrlKey;,
- click the mouse button</span> on an image and choose <em>Set As Desktop
- Background…</em> from the pop-up menu.</p>
-
-<h3 id="printing_a_page">Printing a Page</h3>
-
-<p>To print the current page:</p>
-
-<ul>
- <li>Select <span class="menuPath">File > Print</span>.</li>
-</ul>
-
-<p>To print selected text:</p>
-<ul>
- <li>Select the text in the current page.</li>
- <li>Select <span class="menuPath">File > Print</span>. The print dialog
- box will appear.</li>
- <li>Under <em>Print Range</em>, click <em>Selection</em>.</li>
-</ul>
-
-<p>The web page's author and the size of the printed page, not the size of the
- onscreen window, determine placement of content on the printed page. Text is
- wrapped and graphics are repositioned to accommodate paper size.</p>
-
-<h3 id="using_print_preview">Using Print Preview</h3>
-
-<p>To have an early look at how a page will look before it is printed, you can
- use Print Preview:</p>
-
-<ul>
- <li>Select <span class="menuPath">File > Print Preview</span>.</li>
-</ul>
-
-<p>In Print Preview, you can do the following with pages you want to print:</p>
-<ul>
- <li><strong>View a preview of each page</strong>: Click the
- Next <img alt="" src="chrome://global/skin/arrow/arrow-rit-sharp.gif"/>,
- Previous <img alt="" src="chrome://global/skin/arrow/arrow-lft-sharp.gif"/>,
- First <img alt="" src="chrome://global/skin/arrow/arrow-lft-sharp-end.gif"/>,
- or Last <img alt="" src="chrome://global/skin/arrow/arrow-rit-sharp-end.gif"/>
- button to move between pages.</li>
- <li><strong>Change the scale (size) of pages</strong>: In the <em>Scale</em>
- drop-down menu, choose "50%" to make each page half the size of
- the original page. To automatically resize pages so that they fit the width
- of the paper, choose "Shrink to Fit". You can also type in your
- own percentage by choosing "Custom…".</li>
- <li><strong>Change the orientation of the page</strong>: Choose
- <em>Portrait</em> <img alt="" src="chrome://global/skin/icons/Portrait.png"/>
- to position the page with the shorter side facing up. Choose
- <em>Landscape</em> <img alt="" src="chrome://global/skin/icons/Landscape.png"/>
- to position the page sideways with the longer side facing up.</li>
- <li><strong>Go to Page Setup</strong>: Click <em>Page Setup</em> to further
- customize pages you want to print.</li>
- <li><strong>Go to Print</strong>: Click <em>Print</em> to print the
- pages.</li>
-</ul>
-
-<p class="noWin"><strong>Note</strong>: Some Print Preview functions are different or
- unavailable on Mac OS and Linux.</p>
-
-<h3 id="using_page_setup">Using Page Setup</h3>
-<p class="noWin"><strong>Note</strong>: Some Page Setup functions are different or
- unavailable on Mac OS and Linux.</p>
-
-<p>To customize how pages are printed in &brandShortName;, you can use Page Setup:</p>
-
-<ul>
- <li>Select <span class="menuPath">File > Page Setup</span>.</li>
-</ul>
-
-<p>In Page Setup, you can change the following settings for pages you want to
- print:</p>
-
-<ul>
- <li><strong>Format & Options</strong>: Choose the orientation, scale, and other
- options:
- <ul>
- <li><strong>Orientation</strong>:
- <ul>
- <li><strong>Portrait</strong>: Choose this <img alt=""
- src="chrome://global/skin/icons/Portrait.png"/> to position the page
- normally, with the shorter side facing up.</li>
- <li><strong>Landscape</strong>: Choose this <img alt=""
- src="chrome://global/skin/icons/Landscape.png"/> to position the page
- sideways, with the longer side facing up.</li>
- </ul>
- </li>
- <li><strong>Scale</strong>: Type in a percentage of the original size. For example,
- type "50" to make each page half the size of the original page.
- <ul>
- <li><strong>Shrink To Fit Page Width</strong>: Select this to automatically
- resize the page to the width of the paper.</li>
- </ul>
- </li>
- <li><strong>Options</strong>:
- <ul>
- <li><strong>Print Background (colors and images)</strong>: Select this to
- print background images and colors. If unselected only pictures and color in the
- foreground (in front) are printed.</li>
- </ul>
- </li>
- </ul>
- </li>
- <li><strong>Margins & Header/Footer</strong>: Click this tab to set up margins,
- headers, and footers:
- <ul>
- <li><strong>Margins:</strong>
- <ul>
- <li><strong>Top, Bottom, Left, Right</strong>: Type a margin in the given units
- for the top, bottom, left, and right margins.</li>
- </ul>
- </li>
- <li><strong>Headers & Footers</strong>: Each drop-down list represents either
- a header or a footer area. The top row of drop-down lists are for the left, center, and
- right header areas. The bottom row are for the left, center, and right footer areas. In
- each drop-down list, choose one of the following options:
- <ul>
- <li><strong>--blank--</strong>: Show nothing in this area.</li>
- <li><strong>Title</strong>: Show the web page title.</li>
- <li><strong>URL</strong>: Show the web page URL (URL's usually start with
- "http://").</li>
- <li><strong>Date/Time</strong>: Show the date and time when the web page is
- printed.</li>
- <li><strong>Page #</strong>: Show the page number of each page.</li>
- <li><strong>Page # of #</strong>: Show the page number along with the total number
- of pages. For example, if you print a five page web page, "3 of 5" would
- be shown on the third page.</li>
- <li><strong>Custom</strong>: Type your own text. You can include any of the
- following codes to print specific information:
- <ul>
- <li><strong>&PT</strong>: Page Number with Total (Example: "3 of
- 5")</li>
- <li><strong>&P</strong>: Page Number</li>
- <li><strong>&D</strong>: Date</li>
- <li><strong>&U</strong>: URL</li>
- <li><strong>&T</strong>: Page Title</li>
- </ul>
- </li>
- </ul>
- </li>
- </ul>
- </li>
-</ul>
-
-<p><strong>Tip</strong>: To see a preview of changes made to Page Setup, use
- <a href="using_firebird.xhtml#using_print_preview">Print Preview</a>.</p>
-
-<h2 id="improving_speed_and_efficiency">Improving Speed and Efficiency</h2>
-
-<h3 id="managing_different_file_types">Managing Different File Types</h3>
-<p>&brandShortName; can handle many types of files. However, for some files such
- as movies or music, &brandShortName; needs Plugins or external applications
- that can handle those files. If &brandShortName; doesn't have the needed
- Plugin or doesn't know what application to use to open the file, it can still
- save the file to your hard disk. When saving files, you can keep track of them
- using the Download Manager.</p>
-
-<p>Plugins extend &brandShortName;'s functionality and run within it.
- Plugins like Sun Java, Macromedia Flash, and RealNetworks RealPlayer allow
- &brandShortName; to show multimedia files and run small applications such as
- movies, animations, and games. You can find common Plugins on the <a href=
- "https://pfs.mozilla.org/plugins/" target="_blank">Plugins page</a>
- at Mozilla Update.</p>
-
-<p>When files cannot be opened within &brandShortName;, you can choose to open
- them with applications outside of &brandShortName;. For example, you can use
- the media player of your choice to play MP3 files.</p>
-
-<p>You can specify how &brandShortName; handles files it can't display in the
- <em>Download Actions</em> dialog. To open this dialog, select &pref.menuPath;,
- open the <em>Content</em> panel, and click the <em>Manage…</em> button in
- the <em>File Types</em> section. You can change the action for a file type or
- remove it.
- More information about this dialog is available in <a
- href="prefs.xhtml#file_types">File Types &pref.plural;</a>.</p>
-
-<p>When you click on a file and &brandShortName; doesn't know how to handle it,
- an <em>Opening</em> dialog box is displayed, offering these choices:</p>
-
-<ul>
- <li><strong>Open with</strong>: &brandShortName; opens the file using the
- default program in your system settings. You can also choose a different
- program by selecting <em>Other…</em> in the drop-down list.</li>
- <li><strong>Save to Disk</strong>: &brandShortName; allows you to select a
- location to save the file. If you have selected <em>Save all files to (this
- folder)</em> in the <em>Main</em> panel of &pref.pluralCaps;,
- the file will automatically be saved to the default folder; otherwise
- &brandShortName; will ask you where to save it.</li>
- <li><strong>Do this automatically for files like this from now on</strong>:
- When this is selected, &brandShortName; will automatically perform the
- selected action the next time you download a file of this type.</li>
-</ul>
-
-<p><strong>Tip</strong>: You can clear your saved &pref.plural; for <em>Do this
- automatically for files like this from now on</em> in the <em>Download
- Actions</em> dialog.</p>
-
-<h3 id="making_firebird_your_default_browser">Making &brandShortName; Your
- Default Browser</h3>
-
-<p>&brandShortName; displays web pages on the Internet and
- on your computer. To easily open web pages, you can make &brandShortName;
- your default browser.</p>
-
-<p>To make &brandShortName; your default web browser, select &pref.menuPath;
- and click the <em>Check Now</em> button in the <em>Main</em> panel.</p>
-
-<h3 id="changing_cache_settings">Changing Cache Settings</h3>
-<p>&brandShortName; stores copies of frequently accessed pages in the cache.
- By doing this &brandShortName; doesn't have to retrieve the page from the
- network each time you view the web page.</p>
-
-<p>To set the size of the cache:</p>
-
-<ol>
- <li>Select &pref.menuPath;.</li>
- <li>Open the <em>Advanced</em> panel and click the <em>Network</em> tab.</li>
- <li>Enter a number in the <em>Use up to</em> field to specify the size of the
- cache. The default size is 50MB.</li>
-</ol>
-
-<p><strong>Important</strong>: A larger cache allows more data to be quickly
- retrieved, but more of your hard disk space is used.</p>
-
-<p>When you quit &brandShortName;, it performs cache maintenance. If
- maintenance takes longer than you wish, try reducing the size of the disk
- cache.</p>
-
-<p>To reload a page at any time, click the <em>Reload</em> button in
- &brandShortName;'s <em>Navigation Toolbar</em>. &brandShortName; then loads
- and displays the latest version of the page.</p>
-
-<div class="contentsBox"><em>12 September 2006</em></div>
-<p>Copyright © ©right.years; Contributors to the Mozilla Help Viewer Project.</p>
-
-</body>
-</html>
deleted file mode 100644
--- a/browser/locales/en-US/extra-jar.mn
+++ /dev/null
@@ -1,4 +0,0 @@
-# this is an empty file
-# locales can ship "extra" files from here, to ship a custom set
-# of files for the help system
-# do not put any blank lines in this file
--- a/browser/locales/jar.mn
+++ b/browser/locales/jar.mn
@@ -63,41 +63,20 @@
locale/browser/preferences/preferences.properties (%chrome/browser/preferences/preferences.properties)
locale/browser/preferences/privacy.dtd (%chrome/browser/preferences/privacy.dtd)
locale/browser/preferences/security.dtd (%chrome/browser/preferences/security.dtd)
locale/browser/preferences/securityWarnings.dtd (%chrome/browser/preferences/securityWarnings.dtd)
locale/browser/preferences/tabs.dtd (%chrome/browser/preferences/tabs.dtd)
locale/browser/sidebar/sidebar.properties (%chrome/browser/sidebar/sidebar.properties)
% locale browser-region @AB_CD@ %locale/browser-region/
locale/browser-region/region.properties (%chrome/browser-region/region.properties)
-#ifdef MOZ_HELP_VIEWER
- locale/browser/help/help.rdf (%chrome/help/firebirdhelp.rdf)
- locale/browser/help/firebird-toc.rdf (%chrome/help/firebird-toc.rdf)
- locale/browser/help/search-db.rdf (%chrome/help/search-db.rdf)
- locale/browser/help/accessibility.xhtml (%chrome/help/accessibility.xhtml)
- locale/browser/help/cookies.xhtml (%chrome/help/cookies.xhtml)
- locale/browser/help/forieusers.xhtml (%chrome/help/forieusers.xhtml)
- locale/browser/help/menu_reference.xhtml (%chrome/help/menu_reference.xhtml)
- locale/browser/help/mouse_shortcuts.xhtml (%chrome/help/mouse_shortcuts.xhtml)
- locale/browser/help/popup.xhtml (%chrome/help/popup.xhtml)
- locale/browser/help/prefs.xhtml (%chrome/help/prefs.xhtml)
- locale/browser/help/shortcuts.xhtml (%chrome/help/shortcuts.xhtml)
- locale/browser/help/using_firebird.xhtml (%chrome/help/using_firebird.xhtml)
- locale/browser/help/customization.xhtml (%chrome/help/customization.xhtml)
- locale/browser/help/firefox_welcome.xhtml (%chrome/help/firefox_welcome.xhtml)
- locale/browser/help/download_manager.xhtml (%chrome/help/download_manager.xhtml)
- locale/browser/help/platformStrings.dtd (%chrome/help/platformStrings.dtd)
- locale/browser/help/tabbed_browsing.xhtml (%chrome/help/tabbed_browsing.xhtml)
- locale/browser/help/glossary.xhtml (%chrome/help/glossary.xhtml)
-#endif
# the following files are browser-specific overrides
* locale/browser/netError.dtd (%chrome/overrides/netError.dtd)
* locale/browser/appstrings.properties (%chrome/overrides/appstrings.properties)
* locale/browser/downloads/settingsChange.dtd (%chrome/overrides/settingsChange.dtd)
% override chrome://global/locale/netErrorApp.dtd chrome://browser/locale/netError.dtd
% override chrome://global/locale/appstrings.properties chrome://browser/locale/appstrings.properties
% override chrome://mozapps/locale/downloads/settingsChange.dtd chrome://browser/locale/downloads/settingsChange.dtd
#ifdef MOZ_USE_GENERIC_BRANDING
% locale branding @AB_CD@ %locale/branding/
locale/branding/brand.dtd (%chrome/branding/brand.dtd)
locale/branding/brand.properties (%chrome/branding/brand.properties)
#endif
-#includesubst @LOCALE_SRCDIR@/extra-jar.mn
--- a/config/doxygen.cfg.in
+++ b/config/doxygen.cfg.in
@@ -1,24 +1,32 @@
-# Doxyfile 1.2.8.1
+# Doxyfile 1.5.5
# This file describes the settings to be used by the documentation system
# doxygen (www.doxygen.org) for a project
#
# All text after a hash (#) is considered a comment and will be ignored
# The format is:
# TAG = value [value, ...]
# For lists items can also be appended using:
# TAG += value [value, ...]
# Values that contain spaces should be placed between quotes (" ")
#---------------------------------------------------------------------------
-# General configuration options
+# Project related configuration options
#---------------------------------------------------------------------------
+# This tag specifies the encoding used for all characters in the config file
+# that follow. The default is UTF-8 which is also the encoding used for all
+# text before the first occurrence of this tag. Doxygen uses libiconv (or the
+# iconv built into libc) for the transcoding. See
+# http://www.gnu.org/software/libiconv for the list of possible encodings.
+
+DOXYFILE_ENCODING = UTF-8
+
# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
# by quotes) that should identify the project.
PROJECT_NAME = "Mozilla"
# The PROJECT_NUMBER tag can be used to enter a project or revision number.
# This could be handy for archiving the generated documentation or
# if some version control system is used.
@@ -27,194 +35,367 @@ PROJECT_NUMBER =
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
# base path where the generated documentation will be put.
# If a relative path is entered, it will be relative to the location
# where doxygen was started. If left blank the current directory will be used.
OUTPUT_DIRECTORY = @MOZ_DOC_OUTPUT_DIR@
+# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
+# 4096 sub-directories (in 2 levels) under the output directory of each output
+# format and will distribute the generated files over these directories.
+# Enabling this option can be useful when feeding doxygen a huge amount of
+# source files, where putting all generated files in the same directory would
+# otherwise cause performance problems for the file system.
+
+CREATE_SUBDIRS = NO
+
# The OUTPUT_LANGUAGE tag is used to specify the language in which all
# documentation generated by doxygen is written. Doxygen will use this
# information to generate all constant output in the proper language.
# The default language is English, other supported languages are:
-# Brazilian, Chinese, Croatian, Czech, Danish, Dutch, Finnish, French,
-# German, Hungarian, Italian, Japanese, Korean, Norwegian, Polish,
-# Portuguese, Romanian, Russian, Slovak, Slovene, Spanish and Swedish.
+# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,
+# Croatian, Czech, Danish, Dutch, Farsi, Finnish, French, German, Greek,
+# Hungarian, Italian, Japanese, Japanese-en (Japanese with English messages),
+# Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, Polish,
+# Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish, Swedish,
+# and Ukrainian.
OUTPUT_LANGUAGE = English
-# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
-# documentation are documented, even if no documentation was available.
-# Private class members and static file members will be hidden unless
-# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
-
-EXTRACT_ALL = NO
-
-# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
-# will be included in the documentation.
-
-EXTRACT_PRIVATE = NO
-
-# If the EXTRACT_STATIC tag is set to YES all static members of a file
-# will be included in the documentation.
-
-EXTRACT_STATIC = NO
-
-# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
-# undocumented members of documented classes, files or namespaces.
-# If set to NO (the default) these members will be included in the
-# various overviews, but no documentation section is generated.
-# This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_MEMBERS = NO
-
-# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
-# undocumented classes that are normally visible in the class hierarchy.
-# If set to NO (the default) these class will be included in the various
-# overviews. This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_CLASSES = NO
-
# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
# include brief member descriptions after the members that are listed in
# the file and class documentation (similar to JavaDoc).
# Set to NO to disable this.
BRIEF_MEMBER_DESC = YES
# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
# the brief description of a member or function before the detailed description.
# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
# brief descriptions will be completely suppressed.
REPEAT_BRIEF = YES
+# This tag implements a quasi-intelligent brief description abbreviator
+# that is used to form the text in various listings. Each string
+# in this list, if found as the leading text of the brief description, will be
+# stripped from the text and the result after processing the whole list, is
+# used as the annotated text. Otherwise, the brief description is used as-is.
+# If left blank, the following values are used ("$name" is automatically
+# replaced with the name of the entity): "The $name class" "The $name widget"
+# "The $name file" "is" "provides" "specifies" "contains"
+# "represents" "a" "an" "the"
+
+ABBREVIATE_BRIEF =
+
# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
# Doxygen will generate a detailed section even if there is only a brief
# description.
ALWAYS_DETAILED_SEC = NO
+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
+# inherited members of a class in the documentation of that class as if those
+# members were ordinary class members. Constructors, destructors and assignment
+# operators of the base classes will not be shown.
+
+INLINE_INHERITED_MEMB = NO
+
# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
# path before files name in the file list and in the header files. If set
# to NO the shortest path that makes the file name unique will be used.
FULL_PATH_NAMES = NO
# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
-# can be used to strip a user defined part of the path. Stripping is
+# can be used to strip a user-defined part of the path. Stripping is
# only done if one of the specified strings matches the left-hand part of
-# the path. It is allowed to use relative paths in the argument list.
+# the path. The tag can be used to show relative paths in the file list.
+# If left blank the directory from which doxygen is run is used as the
+# path to strip.
STRIP_FROM_PATH =
+# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
+# the path mentioned in the documentation of a class, which tells
+# the reader which header file to include in order to use a class.
+# If left blank only the name of the header file containing the class
+# definition is used. Otherwise one should specify the include paths that
+# are normally passed to the compiler using the -I flag.
+
+STRIP_FROM_INC_PATH =
+
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
+# (but less readable) file names. This can be useful is your file systems
+# doesn't support long names like on DOS, Mac, or CD-ROM.
+
+SHORT_NAMES = NO
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
+# will interpret the first line (until the first dot) of a JavaDoc-style
+# comment as the brief description. If set to NO, the JavaDoc
+# comments will behave just like regular Qt-style comments
+# (thus requiring an explicit @brief command for a brief description.)
+
+JAVADOC_AUTOBRIEF = YES
+
+# If the QT_AUTOBRIEF tag is set to YES then Doxygen will
+# interpret the first line (until the first dot) of a Qt-style
+# comment as the brief description. If set to NO, the comments
+# will behave just like regular Qt-style comments (thus requiring
+# an explicit \brief command for a brief description.)
+
+QT_AUTOBRIEF = NO
+
+# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
+# treat a multi-line C++ special comment block (i.e. a block of //! or ///
+# comments) as a brief description. This used to be the default behaviour.
+# The new default is to treat a multi-line C++ comment block as a detailed
+# description. Set this tag to YES if you prefer the old behaviour instead.
+
+MULTILINE_CPP_IS_BRIEF = NO
+
+# If the DETAILS_AT_TOP tag is set to YES then Doxygen
+# will output the detailed description near the top, like JavaDoc.
+# If set to NO, the detailed description appears after the member
+# documentation.
+
+DETAILS_AT_TOP = NO
+
+# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
+# member inherits the documentation from any documented member that it
+# re-implements.
+
+INHERIT_DOCS = YES
+
+# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
+# a new page for each member. If set to NO, the documentation of a member will
+# be part of the file/class/namespace that contains it.
+
+SEPARATE_MEMBER_PAGES = NO
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab.
+# Doxygen uses this value to replace tabs by spaces in code fragments.
+
+TAB_SIZE = 4
+
+# This tag can be used to specify a number of aliases that acts
+# as commands in the documentation. An alias has the form "name=value".
+# For example adding "sideeffect=\par Side Effects:\n" will allow you to
+# put the command \sideeffect (or @sideeffect) in the documentation, which
+# will result in a user-defined paragraph with heading "Side Effects:".
+# You can put \n's in the value part of an alias to insert newlines.
+
+ALIASES = "status=\par Status:\n"
+
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
+# sources only. Doxygen will then generate output that is more tailored for C.
+# For instance, some of the names that are used will be different. The list
+# of all members will be omitted, etc.
+
+OPTIMIZE_OUTPUT_FOR_C = NO
+
+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java
+# sources only. Doxygen will then generate output that is more tailored for
+# Java. For instance, namespaces will be presented as packages, qualified
+# scopes will look different, etc.
+
+OPTIMIZE_OUTPUT_JAVA = NO
+
+# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
+# sources only. Doxygen will then generate output that is more tailored for
+# Fortran.
+
+OPTIMIZE_FOR_FORTRAN = NO
+
+# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
+# sources. Doxygen will then generate output that is tailored for
+# VHDL.
+
+OPTIMIZE_OUTPUT_VHDL = NO
+
+# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
+# to include (a tag file for) the STL sources as input, then you should
+# set this tag to YES in order to let doxygen match functions declarations and
+# definitions whose arguments contain STL classes (e.g. func(std::string); v.s.
+# func(std::string) {}). This also make the inheritance and collaboration
+# diagrams that involve STL classes more complete and accurate.
+
+BUILTIN_STL_SUPPORT = NO
+
+# If you use Microsoft's C++/CLI language, you should set this option to YES to
+# enable parsing support.
+
+CPP_CLI_SUPPORT = NO
+
+# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only.
+# Doxygen will parse them like normal C++ but will assume all classes use public
+# instead of private inheritance when no explicit protection keyword is present.
+
+SIP_SUPPORT = NO
+
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
+# tag is set to YES, then doxygen will reuse the documentation of the first
+# member in the group (if any) for the other members of the group. By default
+# all members of a group must be documented explicitly.
+
+DISTRIBUTE_GROUP_DOC = YES
+
+# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
+# the same type (for instance a group of public functions) to be put as a
+# subgroup of that type (e.g. under the Public Functions section). Set it to
+# NO to prevent subgrouping. Alternatively, this can be done per class using
+# the \nosubgrouping command.
+
+SUBGROUPING = YES
+
+# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
+# is documented as struct, union, or enum with the name of the typedef. So
+# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
+# with name TypeT. When disabled the typedef will appear as a member of a file,
+# namespace, or class. And the struct will be named TypeS. This can typically
+# be useful for C code in case the coding convention dictates that all compound
+# types are typedef'ed and only the typedef is referenced, never the tag name.
+
+TYPEDEF_HIDES_STRUCT = NO
+
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+
+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
+# documentation are documented, even if no documentation was available.
+# Private class members and static file members will be hidden unless
+# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
+
+EXTRACT_ALL = YES
+
+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
+# will be included in the documentation.
+
+EXTRACT_PRIVATE = NO
+
+# If the EXTRACT_STATIC tag is set to YES all static members of a file
+# will be included in the documentation.
+
+EXTRACT_STATIC = NO
+
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
+# defined locally in source files will be included in the documentation.
+# If set to NO only classes defined in header files are included.
+
+EXTRACT_LOCAL_CLASSES = YES
+
+# This flag is only useful for Objective-C code. When set to YES local
+# methods, which are defined in the implementation section but not in
+# the interface are included in the documentation.
+# If set to NO (the default) only methods in the interface are included.
+
+EXTRACT_LOCAL_METHODS = NO
+
+# If this flag is set to YES, the members of anonymous namespaces will be
+# extracted and appear in the documentation as a namespace called
+# 'anonymous_namespace{file}', where file will be replaced with the base
+# name of the file that contains the anonymous namespace. By default
+# anonymous namespace are hidden.
+
+EXTRACT_ANON_NSPACES = NO
+
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
+# undocumented members of documented classes, files or namespaces.
+# If set to NO (the default) these members will be included in the
+# various overviews, but no documentation section is generated.
+# This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_MEMBERS = NO
+
+# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
+# undocumented classes that are normally visible in the class hierarchy.
+# If set to NO (the default) these classes will be included in the various
+# overviews. This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_CLASSES = NO
+
+# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
+# friend (class|struct|union) declarations.
+# If set to NO (the default) these declarations will be included in the
+# documentation.
+
+HIDE_FRIEND_COMPOUNDS = NO
+
+# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
+# documentation blocks found inside the body of a function.
+# If set to NO (the default) these blocks will be appended to the
+# function's detailed documentation block.
+
+HIDE_IN_BODY_DOCS = NO
+
# The INTERNAL_DOCS tag determines if documentation
# that is typed after a \internal command is included. If the tag is set
# to NO (the default) then the documentation will be excluded.
# Set it to YES to include the internal documentation.
INTERNAL_DOCS = NO
-# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
-# generate a class diagram (in Html and LaTeX) for classes with base or
-# super classes. Setting the tag to NO turns the diagrams off.
-
-CLASS_DIAGRAMS = YES
-
-# If the SOURCE_BROWSER tag is set to YES then a list of source files will
-# be generated. Documented entities will be cross-referenced with these sources.
-
-SOURCE_BROWSER = NO
-
-# Setting the INLINE_SOURCES tag to YES will include the body
-# of functions and classes directly in the documentation.
-
-INLINE_SOURCES = NO
-
-# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
-# doxygen to hide any special comment blocks from generated source code
-# fragments. Normal C and C++ comments will always remain visible.
-
-STRIP_CODE_COMMENTS = YES
-
# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
-# file names in lower case letters. If set to YES upper case letters are also
+# file names in lower-case letters. If set to YES upper-case letters are also
# allowed. This is useful if you have classes or files whose names only differ
# in case and if your file system supports case sensitive file names. Windows
-# users are adviced to set this option to NO.
+# and Mac users are advised to set this option to NO.
CASE_SENSE_NAMES = YES
-# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
-# (but less readable) file names. This can be useful is your file systems
-# doesn't support long names like on DOS, Mac, or CD-ROM.
-
-SHORT_NAMES = NO
-
# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
# will show members with their full class and namespace scopes in the
# documentation. If set to YES the scope will be hidden.
HIDE_SCOPE_NAMES = NO
-# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
-# will generate a verbatim copy of the header file for each class for
-# which an include is specified. Set to NO to disable this.
-
-VERBATIM_HEADERS = YES
-
# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
-# will put list of the files that are included by a file in the documentation
+# will put a list of the files that are included by a file in the documentation
# of that file.
SHOW_INCLUDE_FILES = YES
-# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
-# will interpret the first line (until the first dot) of a JavaDoc-style
-# comment as the brief description. If set to NO, the JavaDoc
-# comments will behave just like the Qt-style comments (thus requiring an
-# explict @brief command for a brief description.
-
-JAVADOC_AUTOBRIEF = YES
-
-# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
-# member inherits the documentation from any documented member that it
-# reimplements.
-
-INHERIT_DOCS = YES
-
# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
# is inserted in the documentation for inline members.
INLINE_INFO = YES
# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
# will sort the (detailed) documentation of file and class members
# alphabetically by member name. If set to NO the members will appear in
# declaration order.
SORT_MEMBER_DOCS = YES
-# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
-# tag is set to YES, then doxygen will reuse the documentation of the first
-# member in the group (if any) for the other members of the group. By default
-# all members of a group must be documented explicitly.
+# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
+# brief documentation of file, namespace and class members alphabetically
+# by member name. If set to NO (the default) the members will appear in
+# declaration order.
-DISTRIBUTE_GROUP_DOC = NO
+SORT_BRIEF_DOCS = NO
+
+# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the
+# hierarchy of group names into alphabetical order. If set to NO (the default)
+# the group names will appear in their defined order.
-# The TAB_SIZE tag can be used to set the number of spaces in a tab.
-# Doxygen uses this value to replace tabs by spaces in code fragments.
-
-TAB_SIZE = 4
+SORT_GROUP_NAMES = NO
-# The ENABLED_SECTIONS tag can be used to enable conditional
-# documentation sections, marked by \if sectionname ... \endif.
+# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
+# sorted by fully-qualified names, including namespaces. If set to
+# NO (the default), the class list will be sorted only by class name,
+# not including the namespace part.
+# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
+# Note: This option applies only to the class list, not to the
+# alphabetical list.
-ENABLED_SECTIONS =
+SORT_BY_SCOPE_NAME = NO
# The GENERATE_TODOLIST tag can be used to enable (YES) or
# disable (NO) the todo list. This list is created by putting \todo
# commands in the documentation.
GENERATE_TODOLIST = YES
# The GENERATE_TESTLIST tag can be used to enable (YES) or
@@ -224,48 +405,59 @@ GENERATE_TODOLIST = YES
GENERATE_TESTLIST = YES
# The GENERATE_BUGLIST tag can be used to enable (YES) or
# disable (NO) the bug list. This list is created by putting \bug
# commands in the documentation.
GENERATE_BUGLIST = NO
-# This tag can be used to specify a number of aliases that acts
-# as commands in the documentation. An alias has the form "name=value".
-# For example adding "sideeffect=\par Side Effects:\n" will allow you to
-# put the command \sideeffect (or @sideeffect) in the documentation, which
-# will result in a user defined paragraph with heading "Side Effects:".
-# You can put \n's in the value part of an alias to insert newlines.
+# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
+# disable (NO) the deprecated list. This list is created by putting
+# \deprecated commands in the documentation.
-ALIASES = "status=\par Status:\n"
+GENERATE_DEPRECATEDLIST= YES
+
+# The ENABLED_SECTIONS tag can be used to enable conditional
+# documentation sections, marked by \if sectionname ... \endif.
+
+ENABLED_SECTIONS =
# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
-# the initial value of a variable or define consist of for it to appear in
+# the initial value of a variable or define consists of for it to appear in
# the documentation. If the initializer consists of more lines than specified
# here it will be hidden. Use a value of 0 to hide initializers completely.
# The appearance of the initializer of individual variables and defines in the
# documentation can be controlled using \showinitializer or \hideinitializer
# command in the documentation regardless of this setting.
MAX_INITIALIZER_LINES = 30
-# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
-# only. Doxygen will then generate output that is more tailored for C.
-# For instance some of the names that are used will be different. The list
-# of all members will be omitted, etc.
-
-OPTIMIZE_OUTPUT_FOR_C = NO
-
# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
# at the bottom of the documentation of classes and structs. If set to YES the
# list will mention the files that were used to generate the documentation.
SHOW_USED_FILES = YES
+# If the sources in your project are distributed over multiple directories
+# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
+# in the documentation. The default is NO.
+
+SHOW_DIRECTORIES = NO
+
+# The FILE_VERSION_FILTER tag can be used to specify a program or script that
+# doxygen should invoke to get the current version for each file (typically from
+# the version control system). Doxygen will invoke the program by executing (via
+# popen()) the command <command> <input-file>, where <command> is the value of
+# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file
+# provided by doxygen. Whatever the program writes to standard output
+# is used as the file version. See the manual for examples.
+
+FILE_VERSION_FILTER =
+
#---------------------------------------------------------------------------
# configuration options related to warning and progress messages
#---------------------------------------------------------------------------
# The QUIET tag can be used to turn on/off the messages that are generated
# by doxygen. Possible values are YES and NO. If left blank NO is used.
QUIET = NO
@@ -275,22 +467,39 @@ QUIET = NO
# NO is used.
WARNINGS = YES
# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
# automatically be disabled.
-WARN_IF_UNDOCUMENTED = YES
+WARN_IF_UNDOCUMENTED = NO
+
+# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
+# potential errors in the documentation, such as not documenting some
+# parameters in a documented function, or documenting parameters that
+# don't exist or using markup commands wrongly.
+
+WARN_IF_DOC_ERROR = YES
+
+# This WARN_NO_PARAMDOC option can be abled to get warnings for
+# functions that are documented, but have no documentation for their parameters
+# or return value. If set to NO (the default) doxygen will only warn about
+# wrong or incomplete parameter documentation, but not about the absence of
+# documentation.
+
+WARN_NO_PARAMDOC = NO
# The WARN_FORMAT tag determines the format of the warning messages that
# doxygen can produce. The string should contain the $file, $line, and $text
# tags, which will be replaced by the file and line number from which the
-# warning originated and the warning text.
+# warning originated and the warning text. Optionally the format may contain
+# $version, which will be replaced by the version of the file (if it could
+# be obtained via FILE_VERSION_FILTER)
WARN_FORMAT =
# The WARN_LOGFILE tag can be used to specify a file to which warning
# and error messages should be written. If left blank the output is written
# to stderr.
WARN_LOGFILE =
@@ -301,76 +510,176 @@ WARN_LOGFILE =
# The INPUT tag can be used to specify the files and/or directories that contain
# documented source files. You may enter file names like "myfile.cpp" or
# directories like "/usr/src/myproject". Separate the files or directories
# with spaces.
INPUT = @MOZ_DOC_INPUT_DIRS@
+# This tag can be used to specify the character encoding of the source files
+# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
+# also the default input encoding. Doxygen uses libiconv (or the iconv built
+# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for
+# the list of possible encodings.
+
+INPUT_ENCODING = UTF-8
+
# If the value of the INPUT tag contains directories, you can use the
# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
# and *.h) to filter out the source-files in the directories. If left
-# blank all files are included.
+# blank the following patterns are tested:
+# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx
+# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90
-FILE_PATTERNS = *.idl *.cpp *.h
+FILE_PATTERNS = *.idl \
+ *.cpp \
+ *.h
# The RECURSIVE tag can be used to turn specify whether or not subdirectories
# should be searched for input files as well. Possible values are YES and NO.
# If left blank NO is used.
RECURSIVE = YES
# The EXCLUDE tag can be used to specify files and/or directories that should
# excluded from the INPUT source files. This way you can easily exclude a
# subdirectory from a directory tree whose root is specified with the INPUT tag.
EXCLUDE =
+# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
+# directories that are symbolic links (a Unix filesystem feature) are excluded
+# from the input.
+
+EXCLUDE_SYMLINKS = NO
+
# If the value of the INPUT tag contains directories, you can use the
# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
-# certain files from those directories.
+# certain files from those directories. Note that the wildcards are matched
+# against the file with absolute path, so to exclude all test directories
+# for example use the pattern */test/*
+
+EXCLUDE_PATTERNS = nsI*.h mozI*.h imgI*.h
-EXCLUDE_PATTERNS = nsI*.h
+# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
+# (namespaces, classes, functions, etc.) that should be excluded from the
+# output. The symbol name can be a fully qualified name, a word, or if the
+# wildcard * is used, a substring. Examples: ANamespace, AClass,
+# AClass::ANamespace, ANamespace::*Test
+
+EXCLUDE_SYMBOLS = nsCOMPtr_base
# The EXAMPLE_PATH tag can be used to specify one or more files or
# directories that contain example code fragments that are included (see
# the \include command).
EXAMPLE_PATH =
# If the value of the EXAMPLE_PATH tag contains directories, you can use the
# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
# and *.h) to filter out the source-files in the directories. If left
# blank all files are included.
EXAMPLE_PATTERNS =
+# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
+# searched for input files to be used with the \include or \dontinclude
+# commands irrespective of the value of the RECURSIVE tag.
+# Possible values are YES and NO. If left blank NO is used.
+
+EXAMPLE_RECURSIVE = NO
+
# The IMAGE_PATH tag can be used to specify one or more files or
# directories that contain image that are included in the documentation (see
# the \image command).
IMAGE_PATH =
# The INPUT_FILTER tag can be used to specify a program that doxygen should
# invoke to filter for each input file. Doxygen will invoke the filter program
# by executing (via popen()) the command <filter> <input-file>, where <filter>
# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
# input file. Doxygen will then use the output that the filter program writes
-# to standard output.
+# to standard output. If FILTER_PATTERNS is specified, this tag will be
+# ignored.
INPUT_FILTER =
+# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
+# basis. Doxygen will compare the file name with each pattern and apply the
+# filter if there is a match. The filters are a list of the form:
+# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
+# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER
+# is applied to all files.
+
+FILTER_PATTERNS =
+
# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
# INPUT_FILTER) will be used to filter the input files when producing source
-# files to browse.
+# files to browse (i.e. when SOURCE_BROWSER is set to YES).
FILTER_SOURCE_FILES = NO
#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will
+# be generated. Documented entities will be cross-referenced with these sources.
+# Note: To get rid of all source code in the generated output, make sure also
+# VERBATIM_HEADERS is set to NO.
+
+SOURCE_BROWSER = NO
+
+# Setting the INLINE_SOURCES tag to YES will include the body
+# of functions and classes directly in the documentation.
+
+INLINE_SOURCES = NO
+
+# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
+# doxygen to hide any special comment blocks from generated source code
+# fragments. Normal C and C++ comments will always remain visible.
+
+STRIP_CODE_COMMENTS = YES
+
+# If the REFERENCED_BY_RELATION tag is set to YES (the default)
+# then for each documented function all documented
+# functions referencing it will be listed.
+
+REFERENCED_BY_RELATION = NO
+
+# If the REFERENCES_RELATION tag is set to YES (the default)
+# then for each documented function all documented entities
+# called/used by that function will be listed.
+
+REFERENCES_RELATION = NO
+
+# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
+# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
+# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
+# link to the source code. Otherwise they will link to the documentstion.
+
+REFERENCES_LINK_SOURCE = NO
+
+# If the USE_HTAGS tag is set to YES then the references to source code
+# will point to the HTML generated by the htags(1) tool instead of doxygen
+# built-in source browser. The htags tool is part of GNU's global source
+# tagging system (see http://www.gnu.org/software/global/global.html). You
+# will need version 4.8.6 or higher.
+
+USE_HTAGS = NO
+
+# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
+# will generate a verbatim copy of the header file for each class for
+# which an include is specified. Set to NO to disable this.
+
+VERBATIM_HEADERS = NO
+
+#---------------------------------------------------------------------------
# configuration options related to the alphabetical class index
#---------------------------------------------------------------------------
# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
# of all compounds will be generated. Enable this if the project
# contains a lot of classes, structs, unions or interfaces.
ALPHABETICAL_INDEX = YES
@@ -381,79 +690,136 @@ ALPHABETICAL_INDEX = YES
COLS_IN_ALPHA_INDEX = 5
# In case all classes in a project start with a common prefix, all
# classes will be put under the same header in the alphabetical index.
# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
# should be ignored while generating the index headers.
-IGNORE_PREFIX = ns moz img in
+IGNORE_PREFIX = nsI ns \
+ mozI moz \
+ imgI img
#---------------------------------------------------------------------------
# configuration options related to the HTML output
#---------------------------------------------------------------------------
# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
# generate HTML output.
GENERATE_HTML = YES
# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
# If a relative path is entered the value of OUTPUT_DIRECTORY will be
# put in front of it. If left blank `html' will be used as the default path.
HTML_OUTPUT =
+# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
+# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
+# doxygen will generate files with .html extension.
+
+HTML_FILE_EXTENSION = .html
+
# The HTML_HEADER tag can be used to specify a personal HTML header for
# each generated HTML page. If it is left blank doxygen will generate a
# standard header.
HTML_HEADER =
# The HTML_FOOTER tag can be used to specify a personal HTML footer for
# each generated HTML page. If it is left blank doxygen will generate a
# standard footer.
HTML_FOOTER =
-# The HTML_STYLESHEET tag can be used to specify a user defined cascading
+# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
# style sheet that is used by each HTML page. It can be used to
# fine-tune the look of the HTML output. If the tag is left blank doxygen
-# will generate a default style sheet
+# will generate a default style sheet. Note that doxygen will try to copy
+# the style sheet file to the HTML output directory, so don't put your own
+# stylesheet in the HTML output directory as well, or it will be erased!
HTML_STYLESHEET =
# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
# files or namespaces will be aligned in HTML using tables. If set to
# NO a bullet list will be used.
HTML_ALIGN_MEMBERS = YES
# If the GENERATE_HTMLHELP tag is set to YES, additional index files
# will be generated that can be used as input for tools like the
-# Microsoft HTML help workshop to generate a compressed HTML help file (.chm)
+# Microsoft HTML help workshop to generate a compiled HTML help file (.chm)
# of the generated HTML documentation.
GENERATE_HTMLHELP = NO
+# If the GENERATE_DOCSET tag is set to YES, additional index files
+# will be generated that can be used as input for Apple's Xcode 3
+# integrated development environment, introduced with OSX 10.5 (Leopard).
+# To create a documentation set, doxygen will generate a Makefile in the
+# HTML output directory. Running make will produce the docset in that
+# directory and running "make install" will install the docset in
+# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find
+# it at startup.
+
+GENERATE_DOCSET = NO
+
+# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the
+# feed. A documentation feed provides an umbrella under which multiple
+# documentation sets from a single provider (such as a company or product suite)
+# can be grouped.
+
+DOCSET_FEEDNAME = "Doxygen generated docs"
+
+# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that
+# should uniquely identify the documentation set bundle. This should be a
+# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen
+# will append .docset to the name.
+
+DOCSET_BUNDLE_ID = org.doxygen.Project
+
+# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
+# documentation will contain sections that can be hidden and shown after the
+# page has loaded. For this to work a browser that supports
+# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox
+# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
+
+HTML_DYNAMIC_SECTIONS = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
+# be used to specify the file name of the resulting .chm file. You
+# can add a path in front of the file if the result should not be
+# written to the html output directory.
+
+CHM_FILE =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
+# be used to specify the location (absolute path including file name) of
+# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
+# the HTML help compiler on the generated index.hhp.
+
+HHC_LOCATION =
+
# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
# controls if a separate .chi index file is generated (YES) or that
# it should be included in the master .chm file (NO).
GENERATE_CHI = NO
# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
# controls whether a binary table of contents is generated (YES) or a
# normal table of contents (NO) in the .chm file.
BINARY_TOC = NO
# The TOC_EXPAND flag can be set to YES to add extra items for group members
-# to the contents of the Html help documentation and to the tree view.
+# to the contents of the HTML help documentation and to the tree view.
TOC_EXPAND = NO
# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
# top of each HTML page. The value NO (the default) enables the index and
# the value YES disables it.
DISABLE_INDEX = NO
@@ -461,18 +827,19 @@ DISABLE_INDEX = NO
# This tag can be used to set the number of enum values (range [1..20])
# that doxygen will group on one line in the generated HTML documentation.
ENUM_VALUES_PER_LINE = 4
# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be
# generated containing a tree-like index structure (just like the one that
# is generated for HTML Help). For this to work a browser that supports
-# JavaScript and frames is required (for instance Netscape 4.0+
-# or Internet explorer 4.0+).
+# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+,
+# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are
+# probably better off using the HTML help feature.
GENERATE_TREEVIEW = NO
# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
# used to set the initial width (in pixels) of the frame in which the tree
# is shown.
TREEVIEW_WIDTH = 250
@@ -487,16 +854,27 @@ TREEVIEW_WIDTH = 250
GENERATE_LATEX = NO
# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
# If a relative path is entered the value of OUTPUT_DIRECTORY will be
# put in front of it. If left blank `latex' will be used as the default path.
LATEX_OUTPUT =
+# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
+# invoked. If left blank `latex' will be used as the default command name.
+
+LATEX_CMD_NAME = latex
+
+# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
+# generate index for LaTeX. If left blank `makeindex' will be used as the
+# default command name.
+
+MAKEINDEX_CMD_NAME = makeindex
+
# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
# LaTeX documents. This may be useful for small projects and may help to
# save some trees in general.
COMPACT_LATEX = NO
# The PAPER_TYPE tag can be used to set the paper type that is used
# by the printer. Possible values are: a4, a4wide, letter, legal and
@@ -531,22 +909,28 @@ USE_PDFLATEX = NO
# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
# command to the generated LaTeX files. This will instruct LaTeX to keep
# running if errors occur, instead of asking the user for help.
# This option is also used when generating formulas in HTML.
LATEX_BATCHMODE = NO
+# If LATEX_HIDE_INDICES is set to YES then doxygen will not
+# include the index chapters (such as File Index, Compound Index, etc.)
+# in the output.
+
+LATEX_HIDE_INDICES = NO
+
#---------------------------------------------------------------------------
# configuration options related to the RTF output
#---------------------------------------------------------------------------
# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
-# The RTF output is optimised for Word 97 and may not look very pretty with
+# The RTF output is optimized for Word 97 and may not look very pretty with
# other RTF readers or editors.
GENERATE_RTF = NO
# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
# If a relative path is entered the value of OUTPUT_DIRECTORY will be
# put in front of it. If left blank `rtf' will be used as the default path.
@@ -563,17 +947,17 @@ COMPACT_RTF = NO
# contain links (just like the HTML output) instead of page references.
# This makes the output suitable for online browsing using WORD or other
# programs which support those fields.
# Note: wordpad (write) and others do not support links.
RTF_HYPERLINKS = NO
# Load stylesheet definitions from file. Syntax is similar to doxygen's
-# config file, i.e. a series of assigments. You only have to provide
+# config file, i.e. a series of assignments. You only have to provide
# replacements, missing definitions are set to their default value.
RTF_STYLESHEET_FILE =
# Set optional variables used in the generation of an rtf document.
# Syntax is similar to doxygen's config file.
RTF_EXTENSIONS_FILE =
@@ -593,44 +977,124 @@ GENERATE_MAN = NO
MAN_OUTPUT =
# The MAN_EXTENSION tag determines the extension that is added to
# the generated man pages (default is the subroutine's section .3)
MAN_EXTENSION =
-# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
-# then it will generate one additional man file for each entity
-# documented in the real man page(s). These additional files
-# only source the real man page, but without them the man command
+# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
+# then it will generate one additional man file for each entity
+# documented in the real man page(s). These additional files
+# only source the real man page, but without them the man command
# would be unable to find the correct page. The default is NO.
MAN_LINKS = NO
#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_XML tag is set to YES Doxygen will
+# generate an XML file that captures the structure of
+# the code including all documentation.
+
+GENERATE_XML = NO
+
+# The XML_OUTPUT tag is used to specify where the XML pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `xml' will be used as the default path.
+
+XML_OUTPUT = xml
+
+# The XML_SCHEMA tag can be used to specify an XML schema,
+# which can be used by a validating XML parser to check the
+# syntax of the XML files.
+
+XML_SCHEMA =
+
+# The XML_DTD tag can be used to specify an XML DTD,
+# which can be used by a validating XML parser to check the
+# syntax of the XML files.
+
+XML_DTD =
+
+# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
+# dump the program listings (including syntax highlighting
+# and cross-referencing information) to the XML output. Note that
+# enabling this will significantly increase the size of the XML output.
+
+XML_PROGRAMLISTING = YES
+
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
+# generate an AutoGen Definitions (see autogen.sf.net) file
+# that captures the structure of the code including all
+# documentation. Note that this feature is still experimental
+# and incomplete at the moment.
+
+GENERATE_AUTOGEN_DEF = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_PERLMOD tag is set to YES Doxygen will
+# generate a Perl module file that captures the structure of
+# the code including all documentation. Note that this
+# feature is still experimental and incomplete at the
+# moment.
+
+GENERATE_PERLMOD = NO
+
+# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
+# the necessary Makefile rules, Perl scripts and LaTeX code to be able
+# to generate PDF and DVI output from the Perl module output.
+
+PERLMOD_LATEX = NO
+
+# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
+# nicely formatted so it can be parsed by a human reader. This is useful
+# if you want to understand what is going on. On the other hand, if this
+# tag is set to NO the size of the Perl module output will be much smaller
+# and Perl will parse it just the same.
+
+PERLMOD_PRETTY = YES
+
+# The names of the make variables in the generated doxyrules.make file
+# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
+# This is useful so different doxyrules.make files included by the same
+# Makefile don't overwrite each other's variables.
+
+PERLMOD_MAKEVAR_PREFIX =
+
+#---------------------------------------------------------------------------
# Configuration options related to the preprocessor
#---------------------------------------------------------------------------
# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
# evaluate all C-preprocessor directives found in the sources and include
# files.
-ENABLE_PREPROCESSING = NO
+ENABLE_PREPROCESSING = YES
# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
# names in the source code. If set to NO (the default) only conditional
# compilation will be performed. Macro expansion can be done in a controlled
# way by setting EXPAND_ONLY_PREDEF to YES.
-MACRO_EXPANSION = NO
+MACRO_EXPANSION = YES
# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
# then the macro expansion is limited to the macros specified with the
-# PREDEFINED and EXPAND_AS_PREDEFINED tags.
+# PREDEFINED and EXPAND_AS_DEFINED tags.
EXPAND_ONLY_PREDEF = NO
# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
# in the INCLUDE_PATH (see below) will be search if a #include is found.
SEARCH_INCLUDES = YES
@@ -640,169 +1104,257 @@ SEARCH_INCLUDES = YES
INCLUDE_PATH = @MOZ_DOC_INCLUDE_DIRS@
# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
# patterns (like *.h and *.hpp) to filter out the header-files in the
# directories. If left blank, the patterns specified with FILE_PATTERNS will
# be used.
-INCLUDE_FILE_PATTERNS =
+INCLUDE_FILE_PATTERNS = *.h
# The PREDEFINED tag can be used to specify one or more macro names that
# are defined before the preprocessor is started (similar to the -D option of
# gcc). The argument of the tag is a list of macros of the form: name
# or name=definition (no spaces). If the definition and the = are
-# omitted =1 is assumed.
+# omitted =1 is assumed. To prevent a macro definition from being
+# undefined via #undef or recursively expanded use the := operator
+# instead of the = operator.
PREDEFINED =
-# If the MACRO_EXPANSION and EXPAND_PREDEF_ONLY tags are set to YES then
+# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
# this tag can be used to specify a list of macro names that should be expanded.
# The macro definition that is found in the sources will be used.
# Use the PREDEFINED tag if you want to use a different macro definition.
EXPAND_AS_DEFINED =
+# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
+# doxygen's preprocessor will remove all function-like macros that are alone
+# on a line, have an all uppercase name, and do not end with a semicolon. Such
+# function macros are typically used for boiler-plate code, and will confuse
+# the parser if not removed.
+
+SKIP_FUNCTION_MACROS = YES
+
#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
+# Configuration::additions related to external references
#---------------------------------------------------------------------------
-# The TAGFILES tag can be used to specify one or more tagfiles.
+# The TAGFILES option can be used to specify one or more tagfiles.
+# Optionally an initial location of the external documentation
+# can be added for each tagfile. The format of a tag file without
+# this location is as follows:
+# TAGFILES = file1 file2 ...
+# Adding location for the tag files is done as follows:
+# TAGFILES = file1=loc1 "file2 = loc2" ...
+# where "loc1" and "loc2" can be relative or absolute paths or
+# URLs. If a location is present for each tag, the installdox tool
+# does not have to be run to correct the links.
+# Note that each tag file must have a unique name
+# (where the name does NOT include the path)
+# If a tag file is not located in the directory in which doxygen
+# is run, you must also specify the path to the tagfile here.
TAGFILES =
# When a file name is specified after GENERATE_TAGFILE, doxygen will create
# a tag file that is based on the input files it reads.
GENERATE_TAGFILE =
# If the ALLEXTERNALS tag is set to YES all external classes will be listed
# in the class index. If set to NO only the inherited external classes
# will be listed.
ALLEXTERNALS = NO
+# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
+# in the modules index. If set to NO, only the current project's groups will
+# be listed.
+
+EXTERNAL_GROUPS = YES
+
# The PERL_PATH should be the absolute path and name of the perl script
# interpreter (i.e. the result of `which perl').
PERL_PATH =
#---------------------------------------------------------------------------
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
+# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
+# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base
+# or super classes. Setting the tag to NO turns the diagrams off. Note that
+# this option is superseded by the HAVE_DOT option below. This is only a
+# fallback. It is recommended to install and use dot, since it yields more
+# powerful graphs.
+
+CLASS_DIAGRAMS = YES
+
+# You can define message sequence charts within doxygen comments using the \msc
+# command. Doxygen will then run the mscgen tool (see
+# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the
+# documentation. The MSCGEN_PATH tag allows you to specify the directory where
+# the mscgen tool resides. If left empty the tool is assumed to be found in the
+# default search path.
+
+MSCGEN_PATH =
+
+# If set to YES, the inheritance and collaboration graphs will hide
+# inheritance and usage relations if the target is undocumented
+# or is not a class.
+
+HIDE_UNDOC_RELATIONS = YES
+
# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
# available from the path. This tool is part of Graphviz, a graph visualization
# toolkit from AT&T and Lucent Bell Labs. The other options in this section
# have no effect if this option is set to NO (the default)
-HAVE_DOT = NO
+HAVE_DOT = YES
# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
# will generate a graph for each documented class showing the direct and
# indirect inheritance relations. Setting this tag to YES will force the
# the CLASS_DIAGRAMS tag to NO.
CLASS_GRAPH = YES
# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
# will generate a graph for each documented class showing the direct and
# indirect implementation dependencies (inheritance, containment, and
# class references variables) of the class with other documented classes.
COLLABORATION_GRAPH = YES
+# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for groups, showing the direct groups dependencies
+
+GROUP_GRAPHS = YES
+
+# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
+# collaboration diagrams in a style similar to the OMG's Unified Modeling
+# Language.
+
+UML_LOOK = NO
+
+# If set to YES, the inheritance and collaboration graphs will show the
+# relations between templates and their instances.
+
+TEMPLATE_RELATIONS = NO
+
# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
# tags are set to YES then doxygen will generate a graph for each documented
# file showing the direct and indirect include dependencies of the file with
# other documented files.
INCLUDE_GRAPH = YES
# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
# documented header file showing the documented files that directly or
# indirectly include this file.
INCLUDED_BY_GRAPH = YES
+# If the CALL_GRAPH and HAVE_DOT options are set to YES then
+# doxygen will generate a call dependency graph for every global function
+# or class method. Note that enabling this option will significantly increase
+# the time of a run. So in most cases it will be better to enable call graphs
+# for selected functions only using the \callgraph command.
+
+CALL_GRAPH = NO
+
+# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then
+# doxygen will generate a caller dependency graph for every global function
+# or class method. Note that enabling this option will significantly increase
+# the time of a run. So in most cases it will be better to enable caller
+# graphs for selected functions only using the \callergraph command.
+
+CALLER_GRAPH = NO
+
# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
# will graphical hierarchy of all classes instead of a textual one.
GRAPHICAL_HIERARCHY = YES
+# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES
+# then doxygen will show the dependencies a directory has on other directories
+# in a graphical way. The dependency relations are determined by the #include
+# relations between the files in the directories.
+
+DIRECTORY_GRAPH = YES
+
+# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
+# generated by dot. Possible values are png, jpg, or gif
+# If left blank png will be used.
+
+DOT_IMAGE_FORMAT = png
+
# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found on the path.
+# found. If left blank, it is assumed the dot tool can be found in the path.
DOT_PATH =
-# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width
-# (in pixels) of the graphs generated by dot. If a graph becomes larger than
-# this value, doxygen will try to truncate the graph, so that it fits within
-# the specified constraint. Beware that most browsers cannot cope with very
-# large images.
+# The DOTFILE_DIRS tag can be used to specify one or more directories that
+# contain dot files that are included in the documentation (see the
+# \dotfile command).
+
+DOTFILE_DIRS =
-MAX_DOT_GRAPH_WIDTH = 1024
+# The MAX_DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of
+# nodes that will be shown in the graph. If the number of nodes in a graph
+# becomes larger than this value, doxygen will truncate the graph, which is
+# visualized by representing a node as a red box. Note that doxygen if the
+# number of direct children of the root node in a graph is already larger than
+# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note
+# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
+
+DOT_GRAPH_MAX_NODES = 50
-# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height
-# (in pixels) of the graphs generated by dot. If a graph becomes larger than
-# this value, doxygen will try to truncate the graph, so that it fits within
-# the specified constraint. Beware that most browsers cannot cope with very
-# large images.
+# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
+# graphs generated by dot. A depth value of 3 means that only nodes reachable
+# from the root by following a path via at most 3 edges will be shown. Nodes
+# that lay further from the root node will be omitted. Note that setting this
+# option to 1 or 2 may greatly reduce the computation time needed for large
+# code bases. Also note that the size of a graph can be further restricted by
+# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
+
+MAX_DOT_GRAPH_DEPTH = 3
-MAX_DOT_GRAPH_HEIGHT = 1024
+# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
+# background. This is enabled by default, which results in a transparent
+# background. Warning: Depending on the platform used, enabling this option
+# may lead to badly anti-aliased labels on the edges of a graph (i.e. they
+# become hard to read).
+
+DOT_TRANSPARENT = YES
+
+# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
+# files in one run (i.e. multiple -o and -T options on the command line). This
+# makes dot run faster, but since only newer versions of dot (>1.8.10)
+# support this, this feature is disabled by default.
+
+DOT_MULTI_TARGETS = NO
# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
# generate a legend page explaining the meaning of the various boxes and
# arrows in the dot generated graphs.
GENERATE_LEGEND = YES
# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
-# remove the intermedate dot files that are used to generate
+# remove the intermediate dot files that are used to generate
# the various graphs.
DOT_CLEANUP = YES
#---------------------------------------------------------------------------
-# Configuration::addtions related to the search engine
+# Configuration::additions related to the search engine
#---------------------------------------------------------------------------
# The SEARCHENGINE tag specifies whether or not a search engine should be
# used. If set to NO the values of all tags below this one will be ignored.
SEARCHENGINE = NO
-
-# The CGI_NAME tag should be the name of the CGI script that
-# starts the search engine (doxysearch) with the correct parameters.
-# A script with this name will be generated by doxygen.
-
-CGI_NAME =
-
-# The CGI_URL tag should be the absolute URL to the directory where the
-# cgi binaries are located. See the documentation of your http daemon for
-# details.
-
-CGI_URL =
-
-# The DOC_URL tag should be the absolute URL to the directory where the
-# documentation is located. If left blank the absolute path to the
-# documentation, with file:// prepended to it, will be used.
-
-DOC_URL =
-
-# The DOC_ABSPATH tag should be the absolute path to the directory where the
-# documentation is located. If left blank the directory on the local machine
-# will be used.
-
-DOC_ABSPATH =
-
-# The BIN_ABSPATH tag must point to the directory where the doxysearch binary
-# is installed.
-
-BIN_ABSPATH =
-
-# The EXT_DOC_PATHS tag can be used to specify one or more paths to
-# documentation generated for other projects. This allows doxysearch to search
-# the documentation for these projects as well.
-
-EXT_DOC_PATHS =
--- a/config/milestone.txt
+++ b/config/milestone.txt
@@ -5,9 +5,9 @@
# x.x.x.x
# x.x.x+
#
# Referenced by milestone.pl.
# Hopefully I'll be able to automate replacement of *all*
# hardcoded milestones in the tree from these two files.
#--------------------------------------------------------
-1.9.1a1
+1.9.1a2pre
--- a/config/system-headers
+++ b/config/system-headers
@@ -191,16 +191,17 @@ files.h
Files.h
FindDirectory.h
Finder.h
FinderRegistry.h
FixMath.h
float.h
Folders.h
fontconfig/fontconfig.h
+fontconfig/fcfreetype.h
Font.h
Fonts.h
fp.h
fpieee.h
frame/log.h
frame/req.h
freetype/freetype.h
freetype/ftcache.h
--- a/configure.in
+++ b/configure.in
@@ -6009,16 +6009,19 @@ dnl ====================================
MOZ_ARG_ENABLE_BOOL(help-viewer,
[ --enable-help-viewer Enable help viewer],
MOZ_HELP_VIEWER=1,
MOZ_HELP_VIEWER= )
if test -n "$MOZ_HELP_VIEWER"; then
AC_DEFINE(MOZ_HELP_VIEWER)
fi
AC_SUBST(MOZ_HELP_VIEWER)
+if test "$MOZ_BUILD_APP" = "browser" -a $MOZ_HELP_VIEWER; then
+ AC_MSG_ERROR([Cannot build Firefox with --enable-help-viewer.])
+fi
dnl ========================================================
dnl = Enable safe browsing (anti-phishing)
dnl ========================================================
MOZ_ARG_ENABLE_BOOL(safe-browsing,
[ --enable-safe-browsing Enable safe browsing (anti-phishing) implementation],
MOZ_SAFE_BROWSING=1,
MOZ_SAFE_BROWSING= )
--- a/content/base/public/nsIContent.h
+++ b/content/base/public/nsIContent.h
@@ -141,17 +141,17 @@ public:
return GetCurrentDoc();
}
/**
* Get whether this content is C++-generated anonymous content
* @see nsIAnonymousContentCreator
* @return whether this content is anonymous
*/
- PRBool IsNativeAnonymous() const
+ PRBool IsRootOfNativeAnonymousSubtree() const
{
return HasFlag(NODE_IS_ANONYMOUS);
}
/**
* Makes this content anonymous
* @see nsIAnonymousContentCreator
*/
@@ -172,29 +172,54 @@ public:
PRBool IsInNativeAnonymousSubtree() const
{
#ifdef DEBUG
if (HasFlag(NODE_IS_IN_ANONYMOUS_SUBTREE)) {
return PR_TRUE;
}
nsIContent* content = GetBindingParent();
while (content) {
- if (content->IsNativeAnonymous()) {
+ if (content->IsRootOfNativeAnonymousSubtree()) {
NS_ERROR("Element not marked to be in native anonymous subtree!");
break;
}
content = content->GetBindingParent();
}
return PR_FALSE;
#else
return HasFlag(NODE_IS_IN_ANONYMOUS_SUBTREE);
#endif
}
/**
+ * Returns true if and only if this node has a parent, but is not in
+ * its parent's child list.
+ */
+ PRBool IsRootOfAnonymousSubtree() const
+ {
+ NS_ASSERTION(!IsRootOfNativeAnonymousSubtree() ||
+ (GetParent() && GetBindingParent() == GetParent()),
+ "root of native anonymous subtree must have parent equal "
+ "to binding parent");
+ nsIContent *bindingParent = GetBindingParent();
+ return bindingParent && bindingParent == GetParent();
+ }
+
+ /**
+ * Returns true if and only if there is NOT a path through child lists
+ * from the top of this node's parent chain back to this node.
+ */
+ PRBool IsInAnonymousSubtree() const
+ {
+ NS_ASSERTION(!IsInNativeAnonymousSubtree() || GetBindingParent(),
+ "must have binding parent when in native anonymous subtree");
+ return GetBindingParent() != nsnull;
+ }
+
+ /**
* Get the namespace that this element's tag is defined in
* @return the namespace
*/
PRInt32 GetNameSpaceID() const
{
return mNodeInfo->NamespaceID();
}
@@ -558,19 +583,22 @@ public:
editableAncestor = parent;
// This is in another editable content, use the result of it.
if (editableAncestor)
return editableAncestor->GetDesiredIMEState();
return IME_STATUS_ENABLE;
}
/**
- * Gets content node with the binding responsible for our construction (and
- * existence). Used by anonymous content (XBL-generated). null for all
- * explicit content.
+ * Gets content node with the binding (or native code, possibly on the
+ * frame) responsible for our construction (and existence). Used by
+ * anonymous content (both XBL-generated and native-anonymous).
+ *
+ * null for all explicit content (i.e., content reachable from the top
+ * of its GetParent() chain via child lists).
*
* @return the binding parent
*/
virtual nsIContent *GetBindingParent() const = 0;
/**
* Get the base URI for any relative URIs within this piece of
* content. Generally, this is the document's base URI, but certain
--- a/content/base/src/nsContentUtils.cpp
+++ b/content/base/src/nsContentUtils.cpp
@@ -1885,17 +1885,17 @@ nsContentUtils::GenerateStateKey(nsICont
KeyAppendInt(aID, aKey);
return NS_OK;
}
// We must have content if we're not using a special state id
NS_ENSURE_TRUE(aContent, NS_ERROR_FAILURE);
// Don't capture state for anonymous content
- if (aContent->IsNativeAnonymous() || aContent->GetBindingParent()) {
+ if (aContent->IsInAnonymousSubtree()) {
return NS_OK;
}
nsCOMPtr<nsIDOMElement> element(do_QueryInterface(aContent));
if (element && IsAutocompleteOff(element)) {
return NS_OK;
}
--- a/content/base/src/nsDocument.cpp
+++ b/content/base/src/nsDocument.cpp
@@ -2140,18 +2140,18 @@ nsDocument::ElementFromPoint(PRInt32 aX,
return NS_OK;
}
// If we have an anonymous element (such as an internal div from a textbox),
// or a node that isn't an element (such as a text frame node),
// replace it with the first non-anonymous parent node of type element.
while (ptContent &&
!ptContent->IsNodeOfType(nsINode::eELEMENT) ||
- ptContent->GetBindingParent() ||
- ptContent->IsNativeAnonymous()) {
+ ptContent->IsInAnonymousSubtree()) {
+ // XXXldb: Faster to jump to GetBindingParent if non-null?
ptContent = ptContent->GetParent();
}
if (ptContent)
CallQueryInterface(ptContent, aReturn);
return NS_OK;
}
--- a/content/base/src/nsGenericDOMDataNode.cpp
+++ b/content/base/src/nsGenericDOMDataNode.cpp
@@ -587,36 +587,40 @@ nsGenericDOMDataNode::BindToTree(nsIDocu
// only assert if our parent is _changing_ while we have a parent.
NS_PRECONDITION(!GetParent() || aParent == GetParent(),
"Already have a parent. Unbind first!");
NS_PRECONDITION(!GetBindingParent() ||
aBindingParent == GetBindingParent() ||
(!aBindingParent && aParent &&
aParent->GetBindingParent() == GetBindingParent()),
"Already have a binding parent. Unbind first!");
- NS_PRECONDITION(aBindingParent != this || IsNativeAnonymous(),
- "Only native anonymous content should have itself as its "
+ NS_PRECONDITION(aBindingParent != this,
+ "Content must not be its own binding parent");
+ NS_PRECONDITION(!IsRootOfNativeAnonymousSubtree() ||
+ aBindingParent == aParent,
+ "Native anonymous content must have its parent as its "
"own binding parent");
if (!aBindingParent && aParent) {
aBindingParent = aParent->GetBindingParent();
}
// First set the binding parent
if (aBindingParent) {
nsDataSlots *slots = GetDataSlots();
NS_ENSURE_TRUE(slots, NS_ERROR_OUT_OF_MEMORY);
- NS_ASSERTION(IsNativeAnonymous() || !HasFlag(NODE_IS_IN_ANONYMOUS_SUBTREE) ||
+ NS_ASSERTION(IsRootOfNativeAnonymousSubtree() ||
+ !HasFlag(NODE_IS_IN_ANONYMOUS_SUBTREE) ||
aBindingParent->IsInNativeAnonymousSubtree(),
"Trying to re-bind content from native anonymous subtree to"
"non-native anonymous parent!");
slots->mBindingParent = aBindingParent; // Weak, so no addref happens.
- if (IsNativeAnonymous() ||
- aBindingParent->IsInNativeAnonymousSubtree()) {
+ if (IsRootOfNativeAnonymousSubtree() ||
+ aParent->IsInNativeAnonymousSubtree()) {
SetFlags(NODE_IS_IN_ANONYMOUS_SUBTREE);
}
}
// Set parent
if (aParent) {
mParentPtrBits =
reinterpret_cast<PtrBits>(aParent) | PARENT_BIT_PARENT_IS_CONTENT;
@@ -903,62 +907,75 @@ nsGenericDOMDataNode::CreateSlots()
return new nsDataSlots(mFlagsOrSlots);
}
//----------------------------------------------------------------------
// Implementation of the nsIDOMText interface
nsresult
-nsGenericDOMDataNode::SplitText(PRUint32 aOffset, nsIDOMText** aReturn)
+nsGenericDOMDataNode::SplitData(PRUint32 aOffset, nsIContent** aReturn,
+ PRBool aCloneAfterOriginal)
{
+ *aReturn = nsnull;
nsresult rv = NS_OK;
nsAutoString cutText;
PRUint32 length = TextLength();
if (aOffset > length) {
return NS_ERROR_DOM_INDEX_SIZE_ERR;
}
- rv = SubstringData(aOffset, length - aOffset, cutText);
+ PRUint32 cutStartOffset = aCloneAfterOriginal ? aOffset : 0;
+ PRUint32 cutLength = aCloneAfterOriginal ? length - aOffset : aOffset;
+ rv = SubstringData(cutStartOffset, cutLength, cutText);
if (NS_FAILED(rv)) {
return rv;
}
- rv = DeleteData(aOffset, length - aOffset);
+ rv = DeleteData(cutStartOffset, cutLength);
if (NS_FAILED(rv)) {
return rv;
}
/*
* Use Clone for creating the new node so that the new node is of same class
* as this node!
*/
nsCOMPtr<nsIContent> newContent = CloneDataNode(mNodeInfo, PR_FALSE);
if (!newContent) {
return NS_ERROR_OUT_OF_MEMORY;
}
newContent->SetText(cutText, PR_TRUE);
- nsIContent* parent = GetParent();
+ nsCOMPtr<nsINode> parent = GetNodeParent();
if (parent) {
- PRInt32 index = parent->IndexOf(this);
-
- nsCOMPtr<nsIContent> content(do_QueryInterface(newContent));
-
- parent->InsertChildAt(content, index+1, PR_TRUE);
+ PRInt32 insertionIndex = parent->IndexOf(this);
+ if (aCloneAfterOriginal) {
+ ++insertionIndex;
+ }
+ parent->InsertChildAt(newContent, insertionIndex, PR_TRUE);
}
- // No need to handle the case of document being the parent since text
- // isn't allowed as direct child of documents
+ newContent.swap(*aReturn);
+ return rv;
+}
- return CallQueryInterface(newContent, aReturn);
+nsresult
+nsGenericDOMDataNode::SplitText(PRUint32 aOffset, nsIDOMText** aReturn)
+{
+ nsCOMPtr<nsIContent> newChild;
+ nsresult rv = SplitData(aOffset, getter_AddRefs(newChild));
+ if (NS_SUCCEEDED(rv)) {
+ rv = CallQueryInterface(newChild, aReturn);
+ }
+ return rv;
}
//----------------------------------------------------------------------
// Implementation of the nsGenericDOMDataNode nsIDOM3Text tearoff
NS_IMPL_CYCLE_COLLECTION_CLASS(nsText3Tearoff)
--- a/content/base/src/nsGenericDOMDataNode.h
+++ b/content/base/src/nsGenericDOMDataNode.h
@@ -264,16 +264,19 @@ public:
return NS_ERROR_OUT_OF_MEMORY;
}
NS_ADDREF(*aResult);
return NS_OK;
}
+ nsresult SplitData(PRUint32 aOffset, nsIContent** aReturn,
+ PRBool aCloneAfterOriginal = PR_TRUE);
+
//----------------------------------------
#ifdef DEBUG
void ToCString(nsAString& aBuf, PRInt32 aOffset, PRInt32 aLen) const;
#endif
NS_DECL_CYCLE_COLLECTION_CLASS(nsGenericDOMDataNode)
--- a/content/base/src/nsGenericElement.cpp
+++ b/content/base/src/nsGenericElement.cpp
@@ -430,28 +430,25 @@ nsIContent::UpdateEditableState()
SetEditableFlag(parent && parent->HasFlag(NODE_IS_EDITABLE));
}
nsIContent*
nsIContent::FindFirstNonNativeAnonymous() const
{
// This handles also nested native anonymous content.
- nsIContent* content = GetBindingParent();
- nsIContent* possibleResult =
- !IsNativeAnonymous() ? const_cast<nsIContent*>(this) : nsnull;
- while (content) {
- if (content->IsNativeAnonymous()) {
- content = possibleResult = content->GetParent();
- } else {
- content = content->GetBindingParent();
+ for (const nsIContent *content = this; content;
+ content = content->GetBindingParent()) {
+ if (!content->IsInNativeAnonymousSubtree()) {
+ // Oops, this function signature allows casting const to
+ // non-const. (Then again, so does GetChildAt(0)->GetParent().)
+ return const_cast<nsIContent*>(content);
}
}
-
- return possibleResult;
+ return nsnull;
}
//----------------------------------------------------------------------
nsChildContentList::~nsChildContentList()
{
MOZ_COUNT_DTOR(nsChildContentList);
}
@@ -2086,21 +2083,21 @@ nsGenericElement::BindToTree(nsIDocument
NS_PRECONDITION(!GetBindingParent() ||
aBindingParent == GetBindingParent() ||
(!aBindingParent && aParent &&
aParent->GetBindingParent() == GetBindingParent()),
"Already have a binding parent. Unbind first!");
NS_PRECONDITION(!aParent || !aDocument ||
!aParent->HasFlag(NODE_FORCE_XBL_BINDINGS),
"Parent in document but flagged as forcing XBL");
- NS_PRECONDITION(aBindingParent != this || IsNativeAnonymous(),
- "Only native anonymous content should have itself as its "
- "own binding parent");
- NS_PRECONDITION(!IsNativeAnonymous() || aBindingParent == this,
- "Native anonymous content must have itself as its "
+ NS_PRECONDITION(aBindingParent != this,
+ "Content must not be its own binding parent");
+ NS_PRECONDITION(!IsRootOfNativeAnonymousSubtree() ||
+ aBindingParent == aParent,
+ "Native anonymous content must have its parent as its "
"own binding parent");
if (!aBindingParent && aParent) {
aBindingParent = aParent->GetBindingParent();
}
#ifdef MOZ_XUL
// First set the binding parent
@@ -2116,23 +2113,23 @@ nsGenericElement::BindToTree(nsIDocument
if (!slots) {
return NS_ERROR_OUT_OF_MEMORY;
}
slots->mBindingParent = aBindingParent; // Weak, so no addref happens.
}
}
- NS_ASSERTION(!aBindingParent || IsNativeAnonymous() ||
+ NS_ASSERTION(!aBindingParent || IsRootOfNativeAnonymousSubtree() ||
!HasFlag(NODE_IS_IN_ANONYMOUS_SUBTREE) ||
aBindingParent->IsInNativeAnonymousSubtree(),
"Trying to re-bind content from native anonymous subtree to"
"non-native anonymous parent!");
- if (IsNativeAnonymous() ||
- aBindingParent && aBindingParent->IsInNativeAnonymousSubtree()) {
+ if (IsRootOfNativeAnonymousSubtree() ||
+ aParent && aParent->IsInNativeAnonymousSubtree()) {
SetFlags(NODE_IS_IN_ANONYMOUS_SUBTREE);
}
PRBool hadForceXBL = HasFlag(NODE_FORCE_XBL_BINDINGS);
// Now set the parent and set the "Force attach xbl" flag if needed.
if (aParent) {
mParentPtrBits = reinterpret_cast<PtrBits>(aParent) | PARENT_BIT_PARENT_IS_CONTENT;
@@ -2297,33 +2294,33 @@ nsGenericElement::PreHandleEvent(nsEvent
}
static nsIContent*
FindNativeAnonymousSubtreeOwner(nsIContent* aContent)
{
if (aContent->IsInNativeAnonymousSubtree()) {
PRBool isNativeAnon = PR_FALSE;
while (aContent && !isNativeAnon) {
- isNativeAnon = aContent->IsNativeAnonymous();
+ isNativeAnon = aContent->IsRootOfNativeAnonymousSubtree();
aContent = aContent->GetParent();
}
}
return aContent;
}
nsresult
nsGenericElement::doPreHandleEvent(nsIContent* aContent,
nsEventChainPreVisitor& aVisitor)
{
//FIXME! Document how this event retargeting works, Bug 329124.
aVisitor.mCanHandle = PR_TRUE;
// Don't propagate mouseover and mouseout events when mouse is moving
// inside native anonymous content.
- PRBool isAnonForEvents = aContent->IsNativeAnonymous();
+ PRBool isAnonForEvents = aContent->IsRootOfNativeAnonymousSubtree();
if ((aVisitor.mEvent->message == NS_MOUSE_ENTER_SYNTH ||
aVisitor.mEvent->message == NS_MOUSE_EXIT_SYNTH) &&
// This is an optimization - try to stop event propagation when
// event has just possibly been retargeted.
static_cast<nsISupports*>(aContent) == aVisitor.mEvent->target) {
nsCOMPtr<nsIContent> relatedTarget =
do_QueryInterface(static_cast<nsMouseEvent*>
(aVisitor.mEvent)->relatedTarget);
--- a/content/base/src/nsRange.cpp
+++ b/content/base/src/nsRange.cpp
@@ -51,16 +51,17 @@
#include "nsIContent.h"
#include "nsIDocument.h"
#include "nsIDOMText.h"
#include "nsDOMError.h"
#include "nsIContentIterator.h"
#include "nsIDOMNodeList.h"
#include "nsGkAtoms.h"
#include "nsContentUtils.h"
+#include "nsGenericDOMDataNode.h"
nsresult NS_NewContentIterator(nsIContentIterator** aInstancePtrResult);
nsresult NS_NewContentSubtreeIterator(nsIContentIterator** aInstancePtrResult);
/******************************************************
* stack based utilty class for managing monitor
******************************************************/
@@ -1093,49 +1094,120 @@ CollapseRangeAfterDelete(nsIDOMRange *aR
return NS_ERROR_FAILURE; // This should never happen!
res = aRange->SelectNode(nodeToSelect);
if (NS_FAILED(res)) return res;
return aRange->Collapse(PR_FALSE);
}
-nsresult nsRange::DeleteContents()
+/**
+ * Remove a node from the DOM entirely.
+ *
+ * @param aNode The node to remove.
+ */
+static nsresult
+RemoveNode(nsIDOMNode* aNode)
+{
+ nsCOMPtr<nsINode> node = do_QueryInterface(aNode);
+ nsCOMPtr<nsINode> parent = node->GetNodeParent();
+ return parent ? parent->RemoveChildAt(parent->IndexOf(node), PR_TRUE) : NS_OK;
+}
+
+/**
+ * Split a data node into two or three parts.
+ *
+ * @param aStartNode The original node we are trying to split,
+ * and first of three.
+ * @param aStartIndex The index at which to split the first and second
+ * parts.
+ * @param aEndIndex The index at which to split the second and third
+ * parts.
+ * @param aMiddleNode The second node of three.
+ * @param aEndNode The third node of three. May be null to indicate
+ * aEndIndex doesn't apply.
+ * @param aCloneAfterOriginal Set PR_FALSE if the original node should be the
+ * latter one after split.
+ */
+static nsresult SplitDataNode(nsIDOMCharacterData* aStartNode,
+ PRUint32 aStartIndex,
+ PRUint32 aEndIndex,
+ nsIDOMCharacterData** aMiddleNode,
+ nsIDOMCharacterData** aEndNode,
+ PRBool aCloneAfterOriginal = PR_TRUE)
+{
+ nsresult rv;
+ nsCOMPtr<nsINode> node = do_QueryInterface(aStartNode);
+ NS_ENSURE_STATE(node && node->IsNodeOfType(nsINode::eDATA_NODE));
+ nsGenericDOMDataNode* dataNode = static_cast<nsGenericDOMDataNode*>(node.get());
+ // Split the main node, starting with the end.
+ if (aEndNode && aEndIndex > aStartIndex) {
+ nsCOMPtr<nsIContent> newData;
+ rv = dataNode->SplitData(aEndIndex, getter_AddRefs(newData),
+ aCloneAfterOriginal);
+ NS_ENSURE_SUCCESS(rv, rv);
+ rv = CallQueryInterface(newData, aEndNode);
+ NS_ENSURE_SUCCESS(rv, rv);
+ }
+
+ nsCOMPtr<nsIContent> newData;
+ rv = dataNode->SplitData(aStartIndex, getter_AddRefs(newData),
+ aCloneAfterOriginal);
+ NS_ENSURE_SUCCESS(rv, rv);
+ return CallQueryInterface(newData, aMiddleNode);
+}
+
+nsresult nsRange::CutContents(nsIDOMDocumentFragment** aFragment)
{
- if(IsDetached())
+ if (IsDetached())
return NS_ERROR_DOM_INVALID_STATE_ERR;
+ nsresult rv;
+
+ nsCOMPtr<nsIDocument> doc =
+ do_QueryInterface(mStartParent->GetOwnerDoc());
+ if (!doc) return NS_ERROR_UNEXPECTED;
+
+ // If aFragment isn't null, create a temporary fragment to hold our return.
+ nsCOMPtr<nsIDOMDocumentFragment> retval;
+ if (aFragment) {
+ rv = NS_NewDocumentFragment(getter_AddRefs(retval),
+ doc->NodeInfoManager());
+ NS_ENSURE_SUCCESS(rv, rv);
+ }
+
// Batch possible DOMSubtreeModified events.
mozAutoSubtreeModified subtree(mRoot ? mRoot->GetOwnerDoc(): nsnull, nsnull);
// Save the range end points locally to avoid interference
// of Range gravity during our edits!
nsCOMPtr<nsIDOMNode> startContainer = do_QueryInterface(mStartParent);
PRInt32 startOffset = mStartOffset;
nsCOMPtr<nsIDOMNode> endContainer = do_QueryInterface(mEndParent);
PRInt32 endOffset = mEndOffset;
// Create and initialize a subtree iterator that will give
// us all the subtrees within the range.
RangeSubtreeIterator iter;
- nsresult res = iter.Init(this);
- if (NS_FAILED(res)) return res;
+ rv = iter.Init(this);
+ if (NS_FAILED(rv)) return rv;
if (iter.IsDone())
{
// There's nothing for us to delete.
return CollapseRangeAfterDelete(this);
}
// We delete backwards to avoid iterator problems!
iter.Last();
+ nsCOMPtr<nsIDOMNode> lastFragmentNode = nsnull;
PRBool handled = PR_FALSE;
// With the exception of text nodes that contain one of the range
// end points, the subtree iterator should only give us back subtrees
// that are completely contained between the range's end points.
while (!iter.IsDone())
@@ -1161,86 +1233,151 @@ nsresult nsRange::DeleteContents()
{
PRUint32 dataLength = 0;
if (node == startContainer)
{
if (node == endContainer)
{
// This range is completely contained within a single text node.
- // Delete the data between startOffset and endOffset.
+ // Delete or extract the data between startOffset and endOffset.
if (endOffset > startOffset)
{
- res = charData->DeleteData(startOffset, endOffset - startOffset);
- if (NS_FAILED(res)) return res;
+ nsCOMPtr<nsIDOMCharacterData> cutNode;
+ nsCOMPtr<nsIDOMCharacterData> endNode;
+ rv = SplitDataNode(charData, startOffset, endOffset,
+ getter_AddRefs(cutNode),
+ getter_AddRefs(endNode));
+ NS_ENSURE_SUCCESS(rv, rv);
+ nsCOMPtr<nsIDOMNode> returnedNode;
+
+ if (retval) {
+ // Add to fragment.
+ rv = retval->InsertBefore(cutNode, lastFragmentNode,
+ getter_AddRefs(returnedNode));
+ NS_ENSURE_SUCCESS(rv, rv);
+ lastFragmentNode = returnedNode;
+ } else {
+ rv = RemoveNode(cutNode);
+ NS_ENSURE_SUCCESS(rv, rv);
+ }
}
handled = PR_TRUE;
}
else
{
- // Delete everything after startOffset.
+ // Delete or extract everything after startOffset.
- res = charData->GetLength(&dataLength);
- if (NS_FAILED(res)) return res;
+ rv = charData->GetLength(&dataLength);
+ NS_ENSURE_SUCCESS(rv, rv);
if (dataLength > (PRUint32)startOffset)
{
- res = charData->DeleteData(startOffset, dataLength - startOffset);
- if (NS_FAILED(res)) return res;
+ nsCOMPtr<nsIDOMCharacterData> cutNode;
+ rv = SplitDataNode(charData, startOffset, dataLength,
+ getter_AddRefs(cutNode), nsnull);
+ NS_ENSURE_SUCCESS(rv, rv);
+
+ if (retval) {
+ // Add to fragment.
+ nsCOMPtr<nsIDOMNode> returnedNode;
+ rv = retval->InsertBefore(cutNode, lastFragmentNode,
+ getter_AddRefs(returnedNode));
+ NS_ENSURE_SUCCESS(rv, rv);
+ lastFragmentNode = returnedNode;
+ } else {
+ rv = RemoveNode(cutNode);
+ NS_ENSURE_SUCCESS(rv, rv);
+ }
}
handled = PR_TRUE;
}
}
else if (node == endContainer)
{
- // Delete the data between 0 and endOffset.
+ // Delete or extract everything before endOffset.
if (endOffset > 0)
{
- res = charData->DeleteData(0, endOffset);
- if (NS_FAILED(res)) return res;
+ nsCOMPtr<nsIDOMCharacterData> cutNode;
+ /* The Range spec clearly states clones get cut and original nodes
+ remain behind, so use PR_FALSE as the last parameter.
+ */
+ rv = SplitDataNode(charData, endOffset, endOffset,
+ getter_AddRefs(cutNode), nsnull, PR_FALSE);
+ NS_ENSURE_SUCCESS(rv, rv);
+
+ if (retval) {
+ // Add to fragment.
+ nsCOMPtr<nsIDOMNode> aReturnedNode;
+ rv = retval->InsertBefore(cutNode, lastFragmentNode,
+ getter_AddRefs(aReturnedNode));
+ NS_ENSURE_SUCCESS(rv, rv);
+ lastFragmentNode = aReturnedNode;
+ } else {
+ rv = RemoveNode(cutNode);
+ NS_ENSURE_SUCCESS(rv, rv);
+ }
}
handled = PR_TRUE;
}
}
if (!handled)
{
// node was not handled above, so it must be completely contained
// within the range. Just remove it from the tree!
-
- nsCOMPtr<nsIDOMNode> parent, tmpNode;
-
- node->GetParentNode(getter_AddRefs(parent));
-
- if (parent) {
- res = parent->RemoveChild(node, getter_AddRefs(tmpNode));
- if (NS_FAILED(res)) return res;
+ if (retval) {
+ // Add to fragment.
+ nsCOMPtr<nsIDOMNode> aReturnedNode;
+ rv = retval->InsertBefore(node, lastFragmentNode,
+ getter_AddRefs(aReturnedNode));
+ if (NS_FAILED(rv)) return rv;
+ lastFragmentNode = aReturnedNode;
+ } else {
+ rv = RemoveNode(node);
+ if (NS_FAILED(rv)) return rv;
}
}
}
// XXX_kin: At this point we should be checking for the case
// XXX_kin: where we have 2 adjacent text nodes left, each
// XXX_kin: containing one of the range end points. The spec
// XXX_kin: says the 2 nodes should be merged in that case,
// XXX_kin: and to use Normalize() to do the merging, but
// XXX_kin: calling Normalize() on the common parent to accomplish
// XXX_kin: this might also normalize nodes that are outside the
// XXX_kin: range but under the common parent. Need to verify
// XXX_kin: with the range commitee members that this was the
// XXX_kin: desired behavior. For now we don't merge anything!
+ // XXX ajvincent Filed as https://bugzilla.mozilla.org/show_bug.cgi?id=401276
+
+ if (aFragment) {
+ NS_ADDREF(*aFragment = retval);
+ }
return CollapseRangeAfterDelete(this);
}
+nsresult nsRange::DeleteContents()
+{
+ return CutContents(nsnull);
+}
+
+nsresult nsRange::ExtractContents(nsIDOMDocumentFragment** aReturn)
+{
+ NS_ENSURE_ARG_POINTER(aReturn);
+ return CutContents(aReturn);
+}
+
NS_IMETHODIMP
nsRange::CompareBoundaryPoints(PRUint16 aHow, nsIDOMRange* aOtherRange,
PRInt16* aCmpRet)
{
nsCOMPtr<nsIRange> otherRange = do_QueryInterface(aOtherRange);
NS_ENSURE_TRUE(otherRange, NS_ERROR_NULL_POINTER);
if(mIsDetached || otherRange->IsDetached())
@@ -1285,36 +1422,17 @@ nsRange::CompareBoundaryPoints(PRUint16
return NS_ERROR_DOM_WRONG_DOCUMENT_ERR;
*aCmpRet = nsContentUtils::ComparePoints(ourNode, ourOffset,
otherNode, otherOffset);
return NS_OK;
}
-nsresult nsRange::ExtractContents(nsIDOMDocumentFragment** aReturn)
-{
- if(mIsDetached)
- return NS_ERROR_DOM_INVALID_STATE_ERR;
- // Batch possible DOMSubtreeModified events.
- mozAutoSubtreeModified subtree(mRoot ? mRoot->GetOwnerDoc(): nsnull, nsnull);
-
- // XXX_kin: The spec says that nodes that are completely in the
- // XXX_kin: range should be moved into the document fragment, not
- // XXX_kin: copied. This method will have to be rewritten using
- // XXX_kin: DeleteContents() as a template, with the charData cloning
- // XXX_kin: code from CloneContents() merged in.
-
- nsresult res = CloneContents(aReturn);
- if (NS_FAILED(res))
- return res;
- res = DeleteContents();
- return res;
-}
static nsresult
CloneParentsBetween(nsIDOMNode *aAncestor,
nsIDOMNode *aNode,
nsIDOMNode **aClosestAncestor,
nsIDOMNode **aFarthestAncestor)
{
NS_ENSURE_ARG_POINTER((aAncestor && aNode && aClosestAncestor && aFarthestAncestor));
--- a/content/base/src/nsRange.h
+++ b/content/base/src/nsRange.h
@@ -114,16 +114,25 @@ public:
private:
// no copy's or assigns
nsRange(const nsRange&);
nsRange& operator=(const nsRange&);
nsINode* IsValidBoundary(nsINode* aNode);
+ /**
+ * Cut or delete the range's contents.
+ *
+ * @param aFragment nsIDOMDocumentFragment containing the nodes.
+ * May be null to indicate the caller doesn't want a fragment.
+ */
+ nsresult CutContents(nsIDOMDocumentFragment** frag);
+
+
public:
/******************************************************************************
* Utility routine to detect if a content node starts before a range and/or
* ends after a range. If neither it is contained inside the range.
*
* XXX - callers responsibility to ensure node in same doc as range!
*
*****************************************************************************/
--- a/content/base/test/file_bug416317.xhtml
+++ b/content/base/test/file_bug416317.xhtml
@@ -254,42 +254,42 @@
undefined,
];
interfaceCheck(root, "Element");
runTest( css, "Element", root, true );
check( "Inside Element", root, true, false );
cacheCheck( "Element", root );
check( "Outside Element", root2, passed === 0 ? "autofail" : false, false );
- runTest( ecss, "Syntax Error: Element", root, false );
+ runTest( ecss, "SyntaxError: Element", root, false );
jqTests("Element", root3, "querySelectorAll");
var root4 = root2.cloneNode(true);
interfaceCheck(root4, "Disconnected Element");
runTest( css, "Disconnected Element", root4, true );
check( "Disconnected Element", root4, true, true );
cacheCheck( "Disconnected Element", root4 );
- runTest( ecss, "Syntax Error: Disconnected Element", root4, false );
+ runTest( ecss, "SyntaxError: Disconnected Element", root4, false );
jqTests("Disconnected Element", root3.cloneNode(true), "querySelectorAll");
var fragment = document.createDocumentFragment();
fragment.appendChild( root2.cloneNode(true) );
interfaceCheck(fragment, "Fragment");
runTest( css, "Fragment", fragment, true );
check( "Fragment", fragment, true, true );
- runTest( ecss, "Syntax Error: Fragment", fragment, false );
+ runTest( ecss, "SyntaxError: Fragment", fragment, false );
cacheCheck( "Fragment", fragment );
root.parentNode.removeChild( root );
interfaceCheck(document, "Document");
runTest( css, "Document", document, true );
check( "Document", document, true, false );
- runTest( ecss, "Syntax Error: Document", document, false );
+ runTest( ecss, "SyntaxError: Document", document, false );
jqTests("Document", document, "querySelectorAll");
cacheCheck( "Document", document );
done();
function interfaceCheck(obj, type){
var q = typeof obj.querySelector === "function";
assert( q, type + " supports querySelector" );
--- a/content/canvas/src/Makefile.in
+++ b/content/canvas/src/Makefile.in
@@ -58,17 +58,16 @@ REQUIRES = \
unicharutil \
webshell \
necko \
pref \
docshell \
xpconnect \
caps \
imglib2 \
- cairo \
thebes \
view \
$(NULL)
# XXX some platforms can't handle building
# an empty .a/lib. Remove this dummy.cpp
# whenever w have a rendering context
# that doesn't depend on any non-default
--- a/content/canvas/src/nsCanvasRenderingContext2D.cpp
+++ b/content/canvas/src/nsCanvasRenderingContext2D.cpp
@@ -90,17 +90,16 @@
#include "nsIDocShellTreeItem.h"
#include "nsIDocShellTreeNode.h"
#include "nsIXPConnect.h"
#include "jsapi.h"
#include "jsnum.h"
#include "nsTArray.h"
-#include "cairo.h"
#include "imgIEncoder.h"
#include "gfxContext.h"
#include "gfxASurface.h"
#include "gfxImageSurface.h"
#include "gfxPlatform.h"
#include "gfxFont.h"
#include "gfxTextRunCache.h"
@@ -162,28 +161,23 @@ static PRBool FloatValidate (double f1,
**/
#define NS_CANVASGRADIENT_PRIVATE_IID \
{ 0x491d39d8, 0x4058, 0x42bd, { 0xac, 0x76, 0x70, 0xd5, 0x62, 0x7f, 0x02, 0x10 } }
class nsCanvasGradient : public nsIDOMCanvasGradient
{
public:
NS_DECLARE_STATIC_IID_ACCESSOR(NS_CANVASGRADIENT_PRIVATE_IID)
- nsCanvasGradient(cairo_pattern_t *cpat, nsICSSParser *cssparser)
- : mPattern(cpat), mCSSParser(cssparser)
+ nsCanvasGradient(gfxPattern* pat, nsICSSParser* cssparser)
+ : mPattern(pat), mCSSParser(cssparser)
{
}
- ~nsCanvasGradient() {
- if (mPattern)
- cairo_pattern_destroy(mPattern);
- }
-
- void Apply(cairo_t *cairo) {
- cairo_set_source(cairo, mPattern);
+ void Apply(gfxContext* ctx) {
+ ctx->SetPattern(mPattern);
}
/* nsIDOMCanvasGradient */
NS_IMETHOD AddColorStop (float offset,
const nsAString& colorstr)
{
nscolor color;
@@ -192,28 +186,25 @@ public:
if (offset < 0.0 || offset > 1.0)
return NS_ERROR_DOM_INDEX_SIZE_ERR;
nsresult rv = mCSSParser->ParseColorString(nsString(colorstr), nsnull, 0, &color);
if (NS_FAILED(rv))
return NS_ERROR_DOM_SYNTAX_ERR;
- cairo_pattern_add_color_stop_rgba (mPattern, (double) offset,
- NS_GET_R(color) / 255.0,
- NS_GET_G(color) / 255.0,
- NS_GET_B(color) / 255.0,
- NS_GET_A(color) / 255.0);
+ mPattern->AddColorStop(offset, gfxRGBA(color));
+
return NS_OK;
}
NS_DECL_ISUPPORTS
protected:
- cairo_pattern_t *mPattern;
+ nsRefPtr<gfxPattern> mPattern;
nsCOMPtr<nsICSSParser> mCSSParser;
};
NS_DEFINE_STATIC_IID_ACCESSOR(nsCanvasGradient, NS_CANVASGRADIENT_PRIVATE_IID)
NS_IMPL_ADDREF(nsCanvasGradient)
NS_IMPL_RELEASE(nsCanvasGradient)
@@ -229,43 +220,37 @@ NS_INTERFACE_MAP_END
**/
#define NS_CANVASPATTERN_PRIVATE_IID \
{ 0xb85c6c8a, 0x0624, 0x4530, { 0xb8, 0xee, 0xff, 0xdf, 0x42, 0xe8, 0x21, 0x6d } }
class nsCanvasPattern : public nsIDOMCanvasPattern
{
public:
NS_DECLARE_STATIC_IID_ACCESSOR(NS_CANVASPATTERN_PRIVATE_IID)
- nsCanvasPattern(cairo_pattern_t *cpat,
+ nsCanvasPattern(gfxPattern* pat,
nsIPrincipal* principalForSecurityCheck,
PRBool forceWriteOnly)
- : mPattern(cpat),
+ : mPattern(pat),
mPrincipal(principalForSecurityCheck),
mForceWriteOnly(forceWriteOnly)
{
NS_PRECONDITION(mPrincipal, "Must have a principal");
}
- ~nsCanvasPattern() {
- if (mPattern)
- cairo_pattern_destroy(mPattern);
- }
-
- void Apply(cairo_t *cairo) {
- cairo_set_source(cairo, mPattern);
+ void Apply(gfxContext* ctx) {
+ ctx->SetPattern(mPattern);
}
nsIPrincipal* Principal() { return mPrincipal; }
PRBool GetForceWriteOnly() { return mForceWriteOnly; }
NS_DECL_ISUPPORTS
protected:
- cairo_pattern_t *mPattern;
- PRUint8 *mData;
+ nsRefPtr<gfxPattern> mPattern;
nsCOMPtr<nsIPrincipal> mPrincipal;
PRPackedBool mForceWriteOnly;
};
NS_DEFINE_STATIC_IID_ACCESSOR(nsCanvasPattern, NS_CANVASPATTERN_PRIVATE_IID)
NS_IMPL_ADDREF(nsCanvasPattern)
NS_IMPL_RELEASE(nsCanvasPattern)
@@ -323,17 +308,17 @@ class nsCanvasRenderingContext2D :
public nsIDOMCanvasRenderingContext2D,
public nsICanvasRenderingContextInternal
{
public:
nsCanvasRenderingContext2D();
virtual ~nsCanvasRenderingContext2D();
nsresult Redraw();
- void SetCairoColor(nscolor c);
+ void SetThebesColor(nscolor c);
// nsICanvasRenderingContextInternal
NS_IMETHOD SetCanvasElement(nsICanvasElement* aParentCanvas);
NS_IMETHOD SetDimensions(PRInt32 width, PRInt32 height);
NS_IMETHOD Render(gfxContext *ctx);
NS_IMETHOD GetInputStream(const char* aMimeType,
const PRUnichar* aEncoderOptions,
nsIInputStream **aStream);
@@ -342,35 +327,32 @@ public:
// nsISupports interface
NS_DECL_ISUPPORTS
// nsIDOMCanvasRenderingContext2D interface
NS_DECL_NSIDOMCANVASRENDERINGCONTEXT2D
protected:
- // destroy cairo/image stuff, in preparation for possibly recreating
+ // destroy thebes/image stuff, in preparation for possibly recreating
void Destroy();
// Some helpers. Doesn't modify acolor on failure.
- enum {
+ enum Style {
STYLE_STROKE = 0,
STYLE_FILL,
- STYLE_SHADOW
- //STYLE_MAX
+ STYLE_SHADOW,
+ STYLE_MAX
};
- // VC6 sucks
-#define STYLE_MAX 3
-
- nsresult SetStyleFromVariant(nsIVariant* aStyle, PRInt32 aWhichStyle);
+ nsresult SetStyleFromVariant(nsIVariant* aStyle, Style aWhichStyle);
void StyleColorToString(const nscolor& aColor, nsAString& aStr);
void DirtyAllStyles();
- void ApplyStyle(PRInt32 aWhichStyle);
+ void ApplyStyle(Style aWhichStyle);
// If aPrincipal is not subsumed by this canvas element, then
// we make the canvas write-only so bad guys can't extract the pixel
// data. If forceWriteOnly is set, we force write only to be set
// and ignore aPrincipal. (This is used for when the original data came
// from a <canvas> that had write-only set.)
void DoDrawImageSecurityCheck(nsIPrincipal* aPrincipal,
PRBool forceWriteOnly);
@@ -382,23 +364,26 @@ protected:
// the canvas element informs us when it's going away,
// so these are not nsCOMPtrs
nsICanvasElement* mCanvasElement;
// our CSS parser, for colors and whatnot
nsCOMPtr<nsICSSParser> mCSSParser;
- // yay cairo
- nsRefPtr<gfxContext> mThebesContext;
- nsRefPtr<gfxASurface> mThebesSurface;
+ // yay thebes
+ nsRefPtr<gfxContext> mThebes;
+ nsRefPtr<gfxASurface> mSurface;
PRUint32 mSaveCount;
- cairo_t *mCairo;
- cairo_surface_t *mSurface;
+
+ /**
+ * Draws a rectangle in the given style; used by FillRect and StrokeRect.
+ */
+ nsresult DrawRect(const gfxRect& rect, Style style);
// text
enum TextAlign {
TEXT_ALIGN_START,
TEXT_ALIGN_END,
TEXT_ALIGN_LEFT,
TEXT_ALIGN_RIGHT,
TEXT_ALIGN_CENTER
@@ -428,17 +413,21 @@ protected:
nsresult DrawOrMeasureText(const nsAString& text,
float x,
float y,
float maxWidth,
TextDrawOperation op,
float* aWidth);
// style handling
- PRInt32 mLastStyle;
+ /*
+ * The previous set style. Is equal to STYLE_MAX when there is no valid
+ * previous style.
+ */
+ Style mLastStyle;
PRPackedBool mDirtyStyle[STYLE_MAX];
// state stack handling
class ContextState {
public:
ContextState() : globalAlpha(1.0),
textAlign(TEXT_ALIGN_START),
textBaseline(TEXT_BASELINE_ALPHABETIC) { }
@@ -452,28 +441,28 @@ protected:
{
for (int i = 0; i < STYLE_MAX; i++) {
colorStyles[i] = other.colorStyles[i];
gradientStyles[i] = other.gradientStyles[i];
patternStyles[i] = other.patternStyles[i];
}
}
- inline void SetColorStyle(int whichStyle, nscolor color) {
+ inline void SetColorStyle(Style whichStyle, nscolor color) {
colorStyles[whichStyle] = color;
gradientStyles[whichStyle] = nsnull;
patternStyles[whichStyle] = nsnull;
}
- inline void SetPatternStyle(int whichStyle, nsCanvasPattern* pat) {
+ inline void SetPatternStyle(Style whichStyle, nsCanvasPattern* pat) {
gradientStyles[whichStyle] = nsnull;
patternStyles[whichStyle] = pat;
}
- inline void SetGradientStyle(int whichStyle, nsCanvasGradient* grad) {
+ inline void SetGradientStyle(Style whichStyle, nsCanvasGradient* grad) {
gradientStyles[whichStyle] = grad;
patternStyles[whichStyle] = nsnull;
}
float globalAlpha;
nsString font;
nsRefPtr<gfxFontGroup> fontGroup;
@@ -494,23 +483,23 @@ protected:
// stolen from nsJSUtils
static PRBool ConvertJSValToUint32(PRUint32* aProp, JSContext* aContext,
jsval aValue);
static PRBool ConvertJSValToXPCObject(nsISupports** aSupports, REFNSIID aIID,
JSContext* aContext, jsval aValue);
static PRBool ConvertJSValToDouble(double* aProp, JSContext* aContext,
jsval aValue);
- // cairo helpers
- nsresult CairoSurfaceFromElement(nsIDOMElement *imgElt,
- PRBool forceCopy,
- cairo_surface_t **aCairoSurface,
- PRInt32 *widthOut, PRInt32 *heightOut,
- nsIPrincipal **prinOut,
- PRBool *forceWriteOnlyOut);
+ // thebes helpers
+ nsresult ThebesSurfaceFromElement(nsIDOMElement *imgElt,
+ PRBool forceCopy,
+ gfxASurface **aSurface,
+ PRInt32 *widthOut, PRInt32 *heightOut,
+ nsIPrincipal **prinOut,
+ PRBool *forceWriteOnlyOut);
// other helpers
void GetAppUnitsValues(PRUint32 *perDevPixel, PRUint32 *perCSSPixel) {
// If we don't have a canvas element, we just return something generic.
PRUint32 devPixel = 60;
PRUint32 cssPixel = 60;
nsCOMPtr<nsINode> elem = do_QueryInterface(mCanvasElement);
@@ -547,49 +536,45 @@ NS_INTERFACE_MAP_END
/**
** CanvasRenderingContext2D impl
**/
nsresult
NS_NewCanvasRenderingContext2D(nsIDOMCanvasRenderingContext2D** aResult)
{
- nsIDOMCanvasRenderingContext2D* ctx = new nsCanvasRenderingContext2D();
+ nsRefPtr<nsIDOMCanvasRenderingContext2D> ctx = new nsCanvasRenderingContext2D();
if (!ctx)
return NS_ERROR_OUT_OF_MEMORY;
- NS_ADDREF(*aResult = ctx);
+ *aResult = ctx.forget().get();
return NS_OK;
}
nsCanvasRenderingContext2D::nsCanvasRenderingContext2D()
: mValid(PR_FALSE), mOpaque(PR_FALSE), mCanvasElement(nsnull),
- mSaveCount(0), mCairo(nsnull), mSurface(nsnull), mStyleStack(20)
+ mSaveCount(0), mStyleStack(20)
{
}
nsCanvasRenderingContext2D::~nsCanvasRenderingContext2D()
{
Destroy();
}
void
nsCanvasRenderingContext2D::Destroy()
{
mSurface = nsnull;
- mThebesSurface = nsnull;
-
- mCairo = nsnull;
- mThebesContext = nsnull;
-
+ mThebes = nsnull;
mValid = PR_FALSE;
}
nsresult
-nsCanvasRenderingContext2D::SetStyleFromVariant(nsIVariant* aStyle, PRInt32 aWhichStyle)
+nsCanvasRenderingContext2D::SetStyleFromVariant(nsIVariant* aStyle, Style aWhichStyle)
{
nsresult rv;
nscolor color;
PRUint16 paramType;
rv = aStyle->GetDataType(¶mType);
NS_ENSURE_SUCCESS(rv, rv);
@@ -710,17 +695,17 @@ nsCanvasRenderingContext2D::DoDrawImageS
return;
}
}
mCanvasElement->SetWriteOnly();
}
void
-nsCanvasRenderingContext2D::ApplyStyle(PRInt32 aWhichStyle)
+nsCanvasRenderingContext2D::ApplyStyle(Style aWhichStyle)
{
if (mLastStyle == aWhichStyle &&
!mDirtyStyle[aWhichStyle])
{
// nothing to do, this is already the set style
return;
}
@@ -729,107 +714,102 @@ nsCanvasRenderingContext2D::ApplyStyle(P
nsCanvasPattern* pattern = CurrentState().patternStyles[aWhichStyle];
if (pattern) {
if (!mCanvasElement)
return;
DoDrawImageSecurityCheck(pattern->Principal(),
pattern->GetForceWriteOnly());
- pattern->Apply(mCairo);
+ pattern->Apply(mThebes);
return;
}
if (CurrentState().gradientStyles[aWhichStyle]) {
- CurrentState().gradientStyles[aWhichStyle]->Apply(mCairo);
+ CurrentState().gradientStyles[aWhichStyle]->Apply(mThebes);
return;
}
- SetCairoColor(CurrentState().colorStyles[aWhichStyle]);
+ SetThebesColor(CurrentState().colorStyles[aWhichStyle]);
}
nsresult
nsCanvasRenderingContext2D::Redraw()
{
if (!mCanvasElement)
- return nsnull;
+ return NS_OK;
return mCanvasElement->InvalidateFrame();
}
void
-nsCanvasRenderingContext2D::SetCairoColor(nscolor c)
+nsCanvasRenderingContext2D::SetThebesColor(nscolor c)
{
- double r = double(NS_GET_R(c) / 255.0);
- double g = double(NS_GET_G(c) / 255.0);
- double b = double(NS_GET_B(c) / 255.0);
- double a = double(NS_GET_A(c) / 255.0) * CurrentState().globalAlpha;
-
- cairo_set_source_rgba (mCairo, r, g, b, a);
+ gfxRGBA color(c);
+ color.a *= CurrentState().globalAlpha;
+
+ mThebes->SetColor(color);
}
NS_IMETHODIMP
nsCanvasRenderingContext2D::SetDimensions(PRInt32 width, PRInt32 height)
{
Destroy();
mWidth = width;
mHeight = height;
// Check that the dimensions are sane
if (gfxASurface::CheckSurfaceSize(gfxIntSize(width, height), 0xffff)) {
gfxASurface::gfxImageFormat format = gfxASurface::ImageFormatARGB32;
if (mOpaque)
format = gfxASurface::ImageFormatRGB24;
- mThebesSurface = gfxPlatform::GetPlatform()->CreateOffscreenSurface
+ mSurface = gfxPlatform::GetPlatform()->CreateOffscreenSurface
(gfxIntSize(width, height), format);
- if (mThebesSurface->CairoStatus() == 0) {
- mThebesContext = new gfxContext(mThebesSurface);
+ if (mSurface->CairoStatus() == 0) {
+ mThebes = new gfxContext(mSurface);
}
}
/* Create dummy surfaces here */
- if (mThebesSurface == nsnull || mThebesSurface->CairoStatus() != 0 ||
- mThebesContext == nsnull || mThebesContext->HasError())
+ if (mSurface == nsnull || mSurface->CairoStatus() != 0 ||
+ mThebes == nsnull || mThebes->HasError())
{
- mThebesSurface = new gfxImageSurface(gfxIntSize(1,1), gfxASurface::ImageFormatARGB32);
- mThebesContext = new gfxContext(mThebesSurface);
+ mSurface = new gfxImageSurface(gfxIntSize(1,1), gfxASurface::ImageFormatARGB32);
+ mThebes = new gfxContext(mSurface);
} else {
mValid = PR_TRUE;
}
- mSurface = mThebesSurface->CairoSurface();
- mCairo = mThebesContext->GetCairo();
-
// set up the initial canvas defaults
mStyleStack.Clear();
mSaveCount = 0;
ContextState *state = mStyleStack.AppendElement();
state->globalAlpha = 1.0;
for (int i = 0; i < STYLE_MAX; i++)
state->colorStyles[i] = NS_RGB(0,0,0);
- mLastStyle = -1;
+ mLastStyle = STYLE_MAX;
DirtyAllStyles();
- cairo_set_operator(mCairo, CAIRO_OPERATOR_CLEAR);
- cairo_new_path(mCairo);
- cairo_rectangle(mCairo, 0, 0, mWidth, mHeight);
- cairo_fill(mCairo);
-
- cairo_set_line_width(mCairo, 1.0);
- cairo_set_operator(mCairo, CAIRO_OPERATOR_OVER);
- cairo_set_miter_limit(mCairo, 10.0);
- cairo_set_line_cap(mCairo, CAIRO_LINE_CAP_BUTT);
- cairo_set_line_join(mCairo, CAIRO_LINE_JOIN_MITER);
-
- cairo_new_path(mCairo);
+ mThebes->SetOperator(gfxContext::OPERATOR_CLEAR);
+ mThebes->NewPath();
+ mThebes->Rectangle(gfxRect(0, 0, mWidth, mHeight));
+ mThebes->Fill();
+
+ mThebes->SetLineWidth(1.0);
+ mThebes->SetOperator(gfxContext::OPERATOR_OVER);
+ mThebes->SetMiterLimit(10.0);
+ mThebes->SetLineCap(gfxContext::LINE_CAP_BUTT);
+ mThebes->SetLineJoin(gfxContext::LINE_JOIN_MITER);
+
+ mThebes->NewPath();
return NS_OK;
}
NS_IMETHODIMP
nsCanvasRenderingContext2D::SetIsOpaque(PRBool isOpaque)
{
if (isOpaque == mOpaque)
@@ -847,25 +827,25 @@ nsCanvasRenderingContext2D::SetIsOpaque(
return NS_OK;
}
NS_IMETHODIMP
nsCanvasRenderingContext2D::Render(gfxContext *ctx)
{
nsresult rv = NS_OK;
- if (!mValid || !mSurface || !mCairo ||
- cairo_surface_status(mSurface) != CAIRO_STATUS_SUCCESS ||
- cairo_status(mCairo) != CAIRO_STATUS_SUCCESS)
+ if (!mValid || !mSurface ||
+ mSurface->CairoStatus() ||
+ mThebes->HasError())
return NS_ERROR_FAILURE;
- if (!mThebesSurface)
+ if (!mSurface)
return NS_ERROR_FAILURE;
- nsRefPtr<gfxPattern> pat = new gfxPattern(mThebesSurface);
+ nsRefPtr<gfxPattern> pat = new gfxPattern(mSurface);
gfxContext::GraphicsOperator op = ctx->CurrentOperator();
if (mOpaque)
ctx->SetOperator(gfxContext::OPERATOR_SOURCE);
// XXX I don't want to use PixelSnapped here, but layout doesn't guarantee
// pixel alignment for this stuff!
ctx->NewPath();
@@ -879,18 +859,18 @@ nsCanvasRenderingContext2D::Render(gfxCo
}
NS_IMETHODIMP
nsCanvasRenderingContext2D::GetInputStream(const char *aMimeType,
const PRUnichar *aEncoderOptions,
nsIInputStream **aStream)
{
if (!mValid || !mSurface ||
- cairo_status(mCairo) != CAIRO_STATUS_SUCCESS ||
- cairo_surface_status(mSurface) != CAIRO_STATUS_SUCCESS)
+ mSurface->CairoStatus() ||
+ mThebes->HasError())
return NS_ERROR_FAILURE;
nsresult rv;
const char encoderPrefix[] = "@mozilla.org/image/encoder;2?type=";
nsAutoArrayPtr<char> conid(new (std::nothrow) char[strlen(encoderPrefix) + strlen(aMimeType) + 1]);
if (!conid)
return NS_ERROR_OUT_OF_MEMORY;
@@ -901,29 +881,32 @@ nsCanvasRenderingContext2D::GetInputStre
nsCOMPtr<imgIEncoder> encoder = do_CreateInstance(conid);
if (!encoder)
return NS_ERROR_FAILURE;
nsAutoArrayPtr<PRUint8> imageBuffer(new (std::nothrow) PRUint8[mWidth * mHeight * 4]);
if (!imageBuffer)
return NS_ERROR_OUT_OF_MEMORY;
- cairo_surface_t *imgsurf = cairo_image_surface_create_for_data (imageBuffer.get(),
- CAIRO_FORMAT_ARGB32,
- mWidth, mHeight, mWidth * 4);
- if (!imgsurf || cairo_surface_status(imgsurf))
+ nsRefPtr<gfxImageSurface> imgsurf = new gfxImageSurface(imageBuffer.get(),
+ gfxIntSize(mWidth, mHeight),
+ mWidth * 4,
+ gfxASurface::ImageFormatARGB32);
+
+ if (!imgsurf || imgsurf->CairoStatus())
return NS_ERROR_FAILURE;
- cairo_t *cr = cairo_create(imgsurf);
- cairo_surface_destroy (imgsurf);
-
- cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
- cairo_set_source_surface (cr, mSurface, 0, 0);
- cairo_paint (cr);
- cairo_destroy (cr);
+ nsRefPtr<gfxContext> ctx = new gfxContext(imgsurf);
+
+ if (!ctx || ctx->HasError())
+ return NS_ERROR_FAILURE;
+
+ ctx->SetOperator(gfxContext::OPERATOR_SOURCE);
+ ctx->SetSource(mSurface, gfxPoint(0, 0));
+ ctx->Paint();
rv = encoder->InitFromData(imageBuffer.get(),
mWidth * mHeight * 4, mWidth, mHeight, mWidth * 4,
imgIEncoder::INPUT_FORMAT_HOSTARGB,
nsDependentString(aEncoderOptions));
NS_ENSURE_SUCCESS(rv, rv);
return CallQueryInterface(encoder, aStream);
@@ -962,94 +945,94 @@ nsCanvasRenderingContext2D::GetCanvas(ns
// state
//
NS_IMETHODIMP
nsCanvasRenderingContext2D::Save()
{
ContextState state = CurrentState();
mStyleStack.AppendElement(state);
- cairo_save (mCairo);
+ mThebes->Save();
mSaveCount++;
return NS_OK;
}
NS_IMETHODIMP
nsCanvasRenderingContext2D::Restore()
{
if (mSaveCount == 0)
return NS_OK;
if (mSaveCount < 0)
return NS_ERROR_DOM_INVALID_STATE_ERR;
mStyleStack.RemoveElementAt(mSaveCount);
- cairo_restore (mCairo);
-
- mLastStyle = -1;
+ mThebes->Restore();
+
+ mLastStyle = STYLE_MAX;
DirtyAllStyles();
mSaveCount--;
return NS_OK;
}
//
// transformations
//
NS_IMETHODIMP
nsCanvasRenderingContext2D::Scale(float x, float y)
{
if (!FloatValidate(x,y))
return NS_ERROR_DOM_SYNTAX_ERR;
- cairo_scale (mCairo, x, y);
+ mThebes->Scale(x, y);
return NS_OK;
}
NS_IMETHODIMP
nsCanvasRenderingContext2D::Rotate(float angle)
{
if (!FloatValidate(angle))
return NS_ERROR_DOM_SYNTAX_ERR;
- cairo_rotate (mCairo, angle);
+ mThebes->Rotate(angle);
return NS_OK;
}
NS_IMETHODIMP
nsCanvasRenderingContext2D::Translate(float x, float y)
{
if (!FloatValidate(x,y))
return NS_ERROR_DOM_SYNTAX_ERR;
- cairo_translate (mCairo, x, y);
+ mThebes->Translate(gfxPoint(x, y));
return NS_OK;
}
NS_IMETHODIMP
nsCanvasRenderingContext2D::Transform(float m11, float m12, float m21, float m22, float dx, float dy)
{
if (!FloatValidate(m11,m12,m21,m22,dx,dy))
return NS_ERROR_DOM_SYNTAX_ERR;
- cairo_matrix_t mat;
- cairo_matrix_init (&mat, m11, m12, m21, m22, dx, dy);
- cairo_transform (mCairo, &mat);
+ gfxMatrix matrix(m11, m12, m21, m22, dx, dy);
+ mThebes->Multiply(matrix);
+
return NS_OK;
}
NS_IMETHODIMP
nsCanvasRenderingContext2D::SetTransform(float m11, float m12, float m21, float m22, float dx, float dy)
{
if (!FloatValidate(m11,m12,m21,m22,dx,dy))
return NS_ERROR_DOM_SYNTAX_ERR;
- cairo_matrix_t mat;
- cairo_matrix_init (&mat, m11, m12, m21, m22, dx, dy);
- cairo_set_matrix (mCairo, &mat);
+ gfxMatrix matrix(m11, m12, m21, m22, dx, dy);
+ mThebes->SetMatrix(matrix);
+
return NS_OK;
}
//
// colors
//
NS_IMETHODIMP
@@ -1101,17 +1084,17 @@ nsCanvasRenderingContext2D::GetStrokeSty
} else {
nsString styleStr;
StyleColorToString(CurrentState().colorStyles[STYLE_STROKE], styleStr);
rv = var->SetAsDOMString(styleStr);
NS_ENSURE_SUCCESS(rv, rv);
}
- NS_ADDREF(*aStyle = var);
+ *aStyle = var.forget().get();
return NS_OK;
}
NS_IMETHODIMP
nsCanvasRenderingContext2D::SetFillStyle(nsIVariant* aStyle)
{
return SetStyleFromVariant(aStyle, STYLE_FILL);
}
@@ -1136,108 +1119,104 @@ nsCanvasRenderingContext2D::GetFillStyle
} else {
nsString styleStr;
StyleColorToString(CurrentState().colorStyles[STYLE_FILL], styleStr);
rv = var->SetAsDOMString(styleStr);
NS_ENSURE_SUCCESS(rv, rv);
}
- NS_ADDREF(*aStyle = var);
+ *aStyle = var.forget().get();
return NS_OK;
}
//
// gradients and patterns
//
NS_IMETHODIMP
nsCanvasRenderingContext2D::CreateLinearGradient(float x0, float y0, float x1, float y1,
nsIDOMCanvasGradient **_retval)
{
if (!FloatValidate(x0,y0,x1,y1))
return NS_ERROR_DOM_SYNTAX_ERR;
- cairo_pattern_t *gradpat = nsnull;
- gradpat = cairo_pattern_create_linear ((double) x0, (double) y0, (double) x1, (double) y1);
- nsCanvasGradient *grad = new nsCanvasGradient(gradpat, mCSSParser);
- if (!grad) {
- cairo_pattern_destroy(gradpat);
+ nsRefPtr<gfxPattern> gradpat = new gfxPattern(x0, y0, x1, y1);
+ if (!gradpat)
return NS_ERROR_OUT_OF_MEMORY;
- }
-
- NS_ADDREF(*_retval = grad);
+
+ nsRefPtr<nsIDOMCanvasGradient> grad = new nsCanvasGradient(gradpat, mCSSParser);
+ if (!grad)
+ return NS_ERROR_OUT_OF_MEMORY;
+
+ *_retval = grad.forget().get();
return NS_OK;
}
NS_IMETHODIMP
nsCanvasRenderingContext2D::CreateRadialGradient(float x0, float y0, float r0, float x1, float y1, float r1,
nsIDOMCanvasGradient **_retval)
{
if (!FloatValidate(x0,y0,r0,x1,y1,r1))
return NS_ERROR_DOM_SYNTAX_ERR;
- cairo_pattern_t *gradpat = nsnull;
- gradpat = cairo_pattern_create_radial ((double) x0, (double) y0, (double) r0,
- (double) x1, (double) y1, (double) r1);
- nsCanvasGradient *grad = new nsCanvasGradient(gradpat, mCSSParser);
- if (!grad) {
- cairo_pattern_destroy(gradpat);
+ nsRefPtr<gfxPattern> gradpat = new gfxPattern(x0, y0, r0, x1, y1, r1);
+ if (!gradpat)
return NS_ERROR_OUT_OF_MEMORY;
- }
-
- NS_ADDREF(*_retval = grad);
+
+ nsRefPtr<nsIDOMCanvasGradient> grad = new nsCanvasGradient(gradpat, mCSSParser);
+ if (!grad)
+ return NS_ERROR_OUT_OF_MEMORY;
+
+ *_retval = grad.forget().get();
return NS_OK;
}
NS_IMETHODIMP
nsCanvasRenderingContext2D::CreatePattern(nsIDOMHTMLElement *image,
const nsAString& repeat,
nsIDOMCanvasPattern **_retval)
{
nsresult rv;
- cairo_extend_t extend;
+ gfxPattern::GraphicsExtend extend;
if (repeat.IsEmpty() || repeat.EqualsLiteral("repeat")) {
- extend = CAIRO_EXTEND_REPEAT;
+ extend = gfxPattern::EXTEND_REPEAT;
} else if (repeat.EqualsLiteral("repeat-x")) {
// XX
- extend = CAIRO_EXTEND_REPEAT;
+ extend = gfxPattern::EXTEND_REPEAT;
} else if (repeat.EqualsLiteral("repeat-y")) {
// XX
- extend = CAIRO_EXTEND_REPEAT;
+ extend = gfxPattern::EXTEND_REPEAT;
} else if (repeat.EqualsLiteral("no-repeat")) {
- extend = CAIRO_EXTEND_NONE;
+ extend = gfxPattern::EXTEND_NONE;
} else {
// XXX ERRMSG we need to report an error to developers here! (bug 329026)
return NS_ERROR_DOM_SYNTAX_ERR;
}
- cairo_surface_t *imgSurf = nsnull;
PRInt32 imgWidth, imgHeight;
nsCOMPtr<nsIPrincipal> principal;
PRBool forceWriteOnly = PR_FALSE;
- rv = CairoSurfaceFromElement(image, PR_TRUE,
- &imgSurf, &imgWidth, &imgHeight,
- getter_AddRefs(principal), &forceWriteOnly);
+ nsRefPtr<gfxASurface> imgsurf;
+ rv = ThebesSurfaceFromElement(image, PR_TRUE,
+ getter_AddRefs(imgsurf), &imgWidth, &imgHeight,
+ getter_AddRefs(principal), &forceWriteOnly);
if (NS_FAILED(rv))
return rv;
- cairo_pattern_t *cairopat = cairo_pattern_create_for_surface(imgSurf);
- cairo_surface_destroy(imgSurf);
-
- cairo_pattern_set_extend (cairopat, extend);
-
- nsCanvasPattern *pat = new nsCanvasPattern(cairopat, principal,
- forceWriteOnly);
- if (!pat) {
- cairo_pattern_destroy(cairopat);
+ nsRefPtr<gfxPattern> thebespat = new gfxPattern(imgsurf);
+
+ thebespat->SetExtend(extend);
+
+ nsRefPtr<nsCanvasPattern> pat = new nsCanvasPattern(thebespat, principal,
+ forceWriteOnly);
+ if (!pat)
return NS_ERROR_OUT_OF_MEMORY;
- }
-
- NS_ADDREF(*_retval = pat);
+
+ *_retval = pat.forget().get();
return NS_OK;
}
//
// shadows
//
NS_IMETHODIMP
nsCanvasRenderingContext2D::SetShadowOffsetX(float x)
@@ -1306,163 +1285,156 @@ nsCanvasRenderingContext2D::GetShadowCol
//
NS_IMETHODIMP
nsCanvasRenderingContext2D::ClearRect(float x, float y, float w, float h)
{
if (!FloatValidate(x,y,w,h))
return NS_ERROR_DOM_SYNTAX_ERR;
- cairo_path_t *old_path = cairo_copy_path (mCairo);
- cairo_save (mCairo);
- cairo_set_operator (mCairo, CAIRO_OPERATOR_CLEAR);
- cairo_new_path (mCairo);
- cairo_rectangle (mCairo, x, y, w, h);
- cairo_fill (mCairo);
- cairo_restore (mCairo);
- cairo_new_path (mCairo);
- if (old_path->status == CAIRO_STATUS_SUCCESS && old_path->num_data != 0)
- cairo_append_path (mCairo, old_path);
- cairo_path_destroy (old_path);
+ nsRefPtr<gfxPath> path = mThebes->CopyPath();
+
+ mThebes->Save();
+ mThebes->SetOperator(gfxContext::OPERATOR_CLEAR);
+ mThebes->NewPath();
+ mThebes->Rectangle(gfxRect(x, y, w, h));
+ mThebes->Fill();
+ mThebes->Restore();
+
+ mThebes->NewPath();
+ mThebes->AppendPath(path);
+
+ return Redraw();
+}
+
+nsresult
+nsCanvasRenderingContext2D::DrawRect(const gfxRect& rect, Style style)
+{
+ if (!FloatValidate(rect.pos.x, rect.pos.y, rect.size.width, rect.size.height))
+ return NS_ERROR_DOM_SYNTAX_ERR;
+
+ nsRefPtr<gfxPath> path = mThebes->CopyPath();
+
+ mThebes->NewPath();
+ mThebes->Rectangle(rect);
+
+ ApplyStyle(style);
+ if (style == STYLE_FILL)
+ mThebes->Fill();
+ else // STYLE_STROKE
+ mThebes->Stroke();
+
+ mThebes->NewPath();
+ mThebes->AppendPath(path);
return Redraw();
}
NS_IMETHODIMP
nsCanvasRenderingContext2D::FillRect(float x, float y, float w, float h)
{
- if (!FloatValidate(x,y,w,h))
- return NS_ERROR_DOM_SYNTAX_ERR;
-
- cairo_path_t *old_path = cairo_copy_path (mCairo);
- cairo_new_path (mCairo);
- cairo_rectangle (mCairo, x, y, w, h);
-
- ApplyStyle(STYLE_FILL);
- cairo_fill (mCairo);
- cairo_new_path (mCairo);
- if (old_path->status == CAIRO_STATUS_SUCCESS && old_path->num_data != 0)
- cairo_append_path (mCairo, old_path);
- cairo_path_destroy (old_path);
-
- return Redraw();
+ return DrawRect(gfxRect(x, y, w, h), STYLE_FILL);
}
NS_IMETHODIMP
nsCanvasRenderingContext2D::StrokeRect(float x, float y, float w, float h)
{
- if (!FloatValidate(x,y,w,h))
- return NS_ERROR_DOM_SYNTAX_ERR;
-
- cairo_path_t *old_path = cairo_copy_path (mCairo);
- cairo_new_path (mCairo);
- cairo_rectangle (mCairo, x, y, w, h);
-
- ApplyStyle(STYLE_STROKE);
- cairo_stroke (mCairo);
- cairo_new_path (mCairo);
- if (old_path->status == CAIRO_STATUS_SUCCESS && old_path->num_data != 0)
- cairo_append_path (mCairo, old_path);
- cairo_path_destroy (old_path);
-
- return Redraw();
+ return DrawRect(gfxRect(x, y, w, h), STYLE_STROKE);
}
//
// path bits
//
NS_IMETHODIMP
nsCanvasRenderingContext2D::BeginPath()
{
- cairo_new_path(mCairo);
+ mThebes->NewPath();
return NS_OK;
}
NS_IMETHODIMP
nsCanvasRenderingContext2D::ClosePath()
{
- cairo_close_path(mCairo);
+ mThebes->ClosePath();
return NS_OK;
}
NS_IMETHODIMP
nsCanvasRenderingContext2D::Fill()
{
ApplyStyle(STYLE_FILL);
- cairo_fill_preserve(mCairo);
+ mThebes->Fill();
return Redraw();
}
NS_IMETHODIMP
nsCanvasRenderingContext2D::Stroke()
{
ApplyStyle(STYLE_STROKE);
- cairo_stroke_preserve(mCairo);
+ mThebes->Stroke();
return Redraw();
}
NS_IMETHODIMP
nsCanvasRenderingContext2D::Clip()
{
- cairo_clip_preserve(mCairo);
+ mThebes->Clip();
return Redraw();
}
NS_IMETHODIMP
nsCanvasRenderingContext2D::MoveTo(float x, float y)
{
if (!FloatValidate(x,y))
return NS_ERROR_DOM_SYNTAX_ERR;
- cairo_move_to(mCairo, x, y);
+ mThebes->MoveTo(gfxPoint(x, y));
return NS_OK;
}
NS_IMETHODIMP
nsCanvasRenderingContext2D::LineTo(float x, float y)
{
if (!FloatValidate(x,y))
return NS_ERROR_DOM_SYNTAX_ERR;
- cairo_line_to(mCairo, x, y);
+ mThebes->LineTo(gfxPoint(x, y));
return NS_OK;
}
NS_IMETHODIMP
nsCanvasRenderingContext2D::QuadraticCurveTo(float cpx, float cpy, float x, float y)
{
if (!FloatValidate(cpx,cpy,x,y))
return NS_ERROR_DOM_SYNTAX_ERR;
- double cx, cy;
-
// we will always have a current point, since beginPath forces
// a moveto(0,0)
- cairo_get_current_point(mCairo, &cx, &cy);
- cairo_curve_to(mCairo,
- (cx + cpx * 2.0) / 3.0,
- (cy + cpy * 2.0) / 3.0,
- (cpx * 2.0 + x) / 3.0,
- (cpy * 2.0 + y) / 3.0,
- x,
- y);
+ gfxPoint c = mThebes->CurrentPoint();
+ gfxPoint p(x,y);
+ gfxPoint cp(cpx, cpy);
+
+ mThebes->CurveTo((c+cp*2)/3.0, (p+cp*2)/3.0, p);
return NS_OK;
}
NS_IMETHODIMP
nsCanvasRenderingContext2D::BezierCurveTo(float cp1x, float cp1y,
float cp2x, float cp2y,
float x, float y)
{
if (!FloatValidate(cp1x,cp1y,cp2x,cp2y,x,y))
return NS_ERROR_DOM_SYNTAX_ERR;
- cairo_curve_to(mCairo, cp1x, cp1y, cp2x, cp2y, x, y);
+ mThebes->CurveTo(gfxPoint(cp1x, cp1y),
+ gfxPoint(cp2x, cp2y),
+ gfxPoint(x, y));
+
return NS_OK;
}
NS_IMETHODIMP
nsCanvasRenderingContext2D::ArcTo(float x1, float y1, float x2, float y2, float radius)
{
if (!FloatValidate(x1,y1,x2,y2,radius))
return NS_ERROR_DOM_SYNTAX_ERR;
@@ -1470,52 +1442,51 @@ nsCanvasRenderingContext2D::ArcTo(float
if (radius <= 0)
return NS_ERROR_DOM_INDEX_SIZE_ERR;
/* This is an adaptation of the cairo_arc_to patch from Behdad
* Esfahbod; once that patch is accepted, we should remove this
* and just call cairo_arc_to() directly.
*/
- double x0, y0;
double angle0, angle1, angle2, angled;
double d0, d2;
double sin_, cos_;
- double xc, yc, dc;
+ double dc;
int forward;
- cairo_get_current_point(mCairo, &x0, &y0);
-
- angle0 = atan2 (y0 - y1, x0 - x1); /* angle from (x1,y1) to (x0,y0) */
+ gfxPoint p0 = mThebes->CurrentPoint();
+
+ angle0 = atan2 (p0.y - y1, p0.x - x1); /* angle from (x1,y1) to (p0.x,p0.y) */
angle2 = atan2 (y2 - y1, x2 - x1); /* angle from (x1,y1) to (x2,y2) */
angle1 = (angle0 + angle2) / 2; /* angle from (x1,y1) to (xc,yc) */
- angled = angle2 - angle0; /* the angle (x0,y0)--(x1,y1)--(x2,y2) */
+ angled = angle2 - angle0; /* the angle (p0.x,p0.y)--(x1,y1)--(x2,y2) */
/* Shall we go forward or backward? */
if (angled > M_PI || (angled < 0 && angled > -M_PI)) {
angle1 += M_PI;
angled = 2 * M_PI - angled;
forward = 1;
} else {
double tmp;
tmp = angle0;
angle0 = angle2;
angle2 = tmp;
forward = 0;
}
- angle0 += M_PI_2; /* angle from (xc,yc) to (x0,y0) */
+ angle0 += M_PI_2; /* angle from (xc,yc) to (p0.x,p0.y) */
angle2 -= M_PI_2; /* angle from (xc,yc) to (x2,y2) */
- angled /= 2; /* the angle (x0,y0)--(x1,y1)--(xc,yc) */
-
-
- /* distance from (x1,y1) to (x0,y0) */
- d0 = sqrt ((x0-x1)*(x0-x1)+(y0-y1)*(y0-y1));
- /* distance from (x2,y2) to (x0,y0) */
+ angled /= 2; /* the angle (p0.x,p0.y)--(x1,y1)--(xc,yc) */
+
+
+ /* distance from (x1,y1) to (p0.x,p0.y) */
+ d0 = sqrt ((p0.x-x1)*(p0.x-x1)+(p0.y-y1)*(p0.y-y1));
+ /* distance from (x2,y2) to (p0.x,p0.y) */
d2 = sqrt ((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));
dc = -1;
sin_ = sin(angled);
cos_ = cos(angled);
if (fabs(cos_) >= 1e-5) { /* the arc may not fit */
/* min distance of end-points from corner */
double min_d = d0 < d2 ? d0 : d2;
@@ -1529,53 +1500,53 @@ nsCanvasRenderingContext2D::ArcTo(float
}
}
if (dc < 0)
dc = radius / sin_; /* distance of (xc,yc) from (x1,y1) */
/* find (cx,cy), the center of the arc */
- xc = x1 + sin(angle1) * dc;
- yc = y1 + cos(angle1) * dc;
-
-
- /* the arc operation draws the line from current point (x0,y0)
+ gfxPoint c(x1 + sin(angle1) * dc, y1 + cos(angle1) * dc);
+
+ /* the arc operation draws the line from current point (p0.x,p0.y)
* to arc center too. */
if (forward)
- cairo_arc (mCairo, xc, yc, radius, angle0, angle2);