diff --git a/.hgignore b/.hgignore index e7c33f9d30d..6c043f2fdb5 100644 --- a/.hgignore +++ b/.hgignore @@ -29,4 +29,4 @@ _OPT\.OBJ/ ^js/src/autom4te.cache$ # Java HTML5 parser classes -^parser/html/java/.*\.class$ +^parser/html/java/(html|java)parser/ diff --git a/Makefile.in b/Makefile.in index 5e973b0c822..7f77084973e 100644 --- a/Makefile.in +++ b/Makefile.in @@ -105,6 +105,9 @@ export:: ifdef ENABLE_TESTS # Additional makefile targets to call automated test suites include $(topsrcdir)/testing/testsuite-targets.mk +else +# OS X Universal builds will want to call this, so stub it out +package-tests: endif include $(topsrcdir)/config/rules.mk diff --git a/accessible/build/Makefile.in b/accessible/build/Makefile.in index d5e842f2eff..60cc9c1ced7 100644 --- a/accessible/build/Makefile.in +++ b/accessible/build/Makefile.in @@ -46,15 +46,12 @@ include $(DEPTH)/config/autoconf.mk MODULE = accessibility LIBRARY_NAME = accessibility EXPORT_LIBRARY = 1 -ifneq ($(OS_ARCH),WINNT) SHORT_LIBNAME = access -endif IS_COMPONENT = 1 MODULE_NAME = nsAccessibilityModule GRE_MODULE = 1 LIBXUL_LIBRARY = 1 - CPPSRCS = nsAccessibilityFactory.cpp LOCAL_INCLUDES = -I$(srcdir)/../src diff --git a/accessible/src/base/nsAccessibilityService.cpp b/accessible/src/base/nsAccessibilityService.cpp index 713ce9dbf21..82cf73650bd 100644 --- a/accessible/src/base/nsAccessibilityService.cpp +++ b/accessible/src/base/nsAccessibilityService.cpp @@ -1453,7 +1453,7 @@ NS_IMETHODIMP nsAccessibilityService::GetAccessible(nsIDOMNode *aNode, return InitAccessible(newAcc, aAccessible, nsnull); } - PRBool isHTML = content->IsNodeOfType(nsINode::eHTML); + PRBool isHTML = content->IsHTML(); if (isHTML && content->Tag() == nsAccessibilityAtoms::map) { // Create hyper text accessible for HTML map if it is used to group links // (see http://www.w3.org/TR/WCAG10-HTML-TECHS/#group-bypass). If the HTML diff --git a/accessible/src/base/nsAccessible.cpp b/accessible/src/base/nsAccessible.cpp index 6688bc4c530..4c25cfa5de0 100644 --- a/accessible/src/base/nsAccessible.cpp +++ b/accessible/src/base/nsAccessible.cpp @@ -298,9 +298,9 @@ nsAccessible::GetName(nsAString& aName) nsIAtom *tooltipAttr = nsnull; - if (content->IsNodeOfType(nsINode::eHTML)) + if (content->IsHTML()) tooltipAttr = nsAccessibilityAtoms::title; - else if (content->IsNodeOfType(nsINode::eXUL)) + else if (content->IsXUL()) tooltipAttr = nsAccessibilityAtoms::tooltiptext; else return NS_OK; @@ -342,7 +342,7 @@ NS_IMETHODIMP nsAccessible::GetDescription(nsAString& aDescription) NS_ENSURE_SUCCESS(rv, rv); if (description.IsEmpty()) { - PRBool isXUL = content->IsNodeOfType(nsINode::eXUL); + PRBool isXUL = content->IsXUL(); if (isXUL) { // Try XUL description text nsIContent *descriptionContent = @@ -1009,7 +1009,7 @@ nsAccessible::GetStateInternal(PRUint32 *aState, PRUint32 *aExtraState) // if someone sets it on another attribute, // it seems reasonable to consider it unavailable PRBool isDisabled; - if (content->IsNodeOfType(nsINode::eHTML)) { + if (content->IsHTML()) { // In HTML, just the presence of the disabled attribute means it is disabled, // therefore disabled="false" indicates disabled! isDisabled = content->HasAttr(kNameSpaceID_None, nsAccessibilityAtoms::disabled); @@ -1049,7 +1049,7 @@ nsAccessible::GetStateInternal(PRUint32 *aState, PRUint32 *aExtraState) *aState |= nsIAccessibleStates::STATE_FLOATING; // Check if a XUL element has the popup attribute (an attached popup menu). - if (content->IsNodeOfType(nsINode::eXUL)) + if (content->IsXUL()) if (content->HasAttr(kNameSpaceID_None, nsAccessibilityAtoms::popup)) *aState |= nsIAccessibleStates::STATE_HASPOPUP; @@ -2413,7 +2413,7 @@ nsAccessible::GetRelationByType(PRUint32 aRelationType, case nsIAccessibleRelation::RELATION_LABEL_FOR: { if (content->Tag() == nsAccessibilityAtoms::label) { - nsIAtom *IDAttr = content->IsNodeOfType(nsINode::eHTML) ? + nsIAtom *IDAttr = content->IsHTML() ? nsAccessibilityAtoms::_for : nsAccessibilityAtoms::control; rv = nsRelUtils:: AddTargetFromIDRefAttr(aRelationType, aRelation, content, IDAttr); @@ -2470,7 +2470,7 @@ nsAccessible::GetRelationByType(PRUint32 aRelationType, return NS_OK; // XXX bug 381599, avoid performance problems if (content->Tag() == nsAccessibilityAtoms::description && - content->IsNodeOfType(nsINode::eXUL)) { + content->IsXUL()) { // This affectively adds an optional control attribute to xul:description, // which only affects accessibility, by allowing the description to be // tied to a control. @@ -2554,7 +2554,7 @@ nsAccessible::GetRelationByType(PRUint32 aRelationType, case nsIAccessibleRelation::RELATION_DEFAULT_BUTTON: { - if (content->IsNodeOfType(nsINode::eHTML)) { + if (content->IsHTML()) { // HTML form controls implements nsIFormControl interface. nsCOMPtr control(do_QueryInterface(content)); if (control) { @@ -3101,10 +3101,10 @@ nsAccessible::GetNameInternal(nsAString& aName) if (!content) return NS_OK; - if (content->IsNodeOfType(nsINode::eHTML)) + if (content->IsHTML()) return GetHTMLName(aName); - if (content->IsNodeOfType(nsINode::eXUL)) + if (content->IsXUL()) return GetXULName(aName); return NS_OK; @@ -3231,7 +3231,7 @@ nsAccessible::GetActionRule(PRUint32 aStates) return eJumpAction; // Return "click" action on elements that have an attached popup menu. - if (content->IsNodeOfType(nsINode::eXUL)) + if (content->IsXUL()) if (content->HasAttr(kNameSpaceID_None, nsAccessibilityAtoms::popup)) return eClickAction; diff --git a/accessible/src/base/nsAccessibleTreeWalker.cpp b/accessible/src/base/nsAccessibleTreeWalker.cpp index c32613b75ab..e3672edeb78 100644 --- a/accessible/src/base/nsAccessibleTreeWalker.cpp +++ b/accessible/src/base/nsAccessibleTreeWalker.cpp @@ -75,7 +75,7 @@ nsAccessibleTreeWalker::~nsAccessibleTreeWalker() void nsAccessibleTreeWalker::GetKids(nsIDOMNode *aParentNode) { nsCOMPtr parentContent(do_QueryInterface(aParentNode)); - if (!parentContent || !parentContent->IsNodeOfType(nsINode::eHTML)) { + if (!parentContent || !parentContent->IsHTML()) { mState.frame = nsnull; // Don't walk frames in non-HTML content, just walk the DOM. } diff --git a/accessible/src/base/nsCoreUtils.cpp b/accessible/src/base/nsCoreUtils.cpp index c4ab3461ced..11a9282625d 100644 --- a/accessible/src/base/nsCoreUtils.cpp +++ b/accessible/src/base/nsCoreUtils.cpp @@ -760,7 +760,7 @@ nsCoreUtils::FindDescendantPointingToIDImpl(nsCString& aIdWithSpaces, nsIContent* nsCoreUtils::GetLabelContent(nsIContent *aForNode) { - if (aForNode->IsNodeOfType(nsINode::eXUL)) + if (aForNode->IsXUL()) return FindNeighbourPointingToNode(aForNode, nsAccessibilityAtoms::control, nsAccessibilityAtoms::label); diff --git a/accessible/src/base/nsDocAccessible.cpp b/accessible/src/base/nsDocAccessible.cpp index 08edd93daca..7196ded2f4d 100644 --- a/accessible/src/base/nsDocAccessible.cpp +++ b/accessible/src/base/nsDocAccessible.cpp @@ -383,8 +383,7 @@ NS_IMETHODIMP nsDocAccessible::TakeFocus() nsCOMPtr fm = do_GetService(FOCUSMANAGER_CONTRACTID); if (fm) { - nsCOMPtr domDocument; - mDOMNode->GetOwnerDocument(getter_AddRefs(domDocument)); + nsCOMPtr domDocument(do_QueryInterface(mDOMNode)); nsCOMPtr document(do_QueryInterface(domDocument)); if (document) { // focus the document diff --git a/accessible/src/base/nsTextEquivUtils.cpp b/accessible/src/base/nsTextEquivUtils.cpp index a1ca0c23a4d..d2f297832be 100644 --- a/accessible/src/base/nsTextEquivUtils.cpp +++ b/accessible/src/base/nsTextEquivUtils.cpp @@ -219,7 +219,7 @@ nsTextEquivUtils::AppendTextEquivFromTextContent(nsIContent *aContent, return NS_OK; } - if (aContent->IsNodeOfType(nsINode::eHTML) && + if (aContent->IsHTML() && aContent->NodeInfo()->Equals(nsAccessibilityAtoms::br)) { aString->AppendLiteral("\r\n"); return NS_OK; @@ -393,7 +393,7 @@ nsTextEquivUtils::AppendFromDOMNode(nsIContent *aContent, nsAString *aString) if (rv != NS_OK_NO_NAME_CLAUSE_HANDLED) return NS_OK; - if (aContent->IsNodeOfType(nsINode::eXUL)) { + if (aContent->IsXUL()) { nsAutoString textEquivalent; nsCOMPtr labeledEl = do_QueryInterface(aContent); diff --git a/accessible/src/html/nsHTMLSelectAccessible.cpp b/accessible/src/html/nsHTMLSelectAccessible.cpp index 650efedaf9b..a6873f55dbd 100644 --- a/accessible/src/html/nsHTMLSelectAccessible.cpp +++ b/accessible/src/html/nsHTMLSelectAccessible.cpp @@ -408,7 +408,7 @@ nsHTMLSelectListAccessible::CacheOptSiblings(nsIAccessibilityService *aAccServic for (PRUint32 count = 0; count < numChildren; count ++) { nsIContent *childContent = aParentContent->GetChildAt(count); - if (!childContent->IsNodeOfType(nsINode::eHTML)) { + if (!childContent->IsHTML()) { continue; } nsCOMPtr tag = childContent->Tag(); @@ -835,7 +835,7 @@ nsresult nsHTMLSelectOptionAccessible::GetFocusedOptionNode(nsIDOMNode *aListNod void nsHTMLSelectOptionAccessible::SelectionChangedIfOption(nsIContent *aPossibleOption) { if (!aPossibleOption || aPossibleOption->Tag() != nsAccessibilityAtoms::option || - !aPossibleOption->IsNodeOfType(nsINode::eHTML)) { + !aPossibleOption->IsHTML()) { return; } diff --git a/accessible/src/html/nsHyperTextAccessible.cpp b/accessible/src/html/nsHyperTextAccessible.cpp index 738f55b0d14..3eb42ef4728 100644 --- a/accessible/src/html/nsHyperTextAccessible.cpp +++ b/accessible/src/html/nsHyperTextAccessible.cpp @@ -633,7 +633,7 @@ nsresult nsHyperTextAccessible::DOMPointToHypertextOffset(nsIDOMNode* aNode, PRI nsCOMPtr descendantAccessible; if (findNode) { nsCOMPtr findContent = do_QueryInterface(findNode); - if (findContent->IsNodeOfType(nsINode::eHTML) && + if (findContent->IsHTML() && findContent->NodeInfo()->Equals(nsAccessibilityAtoms::br)) { nsIContent *parent = findContent->GetParent(); if (parent && diff --git a/accessible/src/msaa/nsWinUtils.cpp b/accessible/src/msaa/nsWinUtils.cpp index 4109994fe66..1fe7626a8e9 100644 --- a/accessible/src/msaa/nsWinUtils.cpp +++ b/accessible/src/msaa/nsWinUtils.cpp @@ -51,11 +51,17 @@ nsWinUtils::ConvertToIA2Array(nsIArray *aGeckoArray, IUnknown ***aIA2Array, *aIA2Array = NULL; *aIA2ArrayLen = 0; + if (!aGeckoArray) + return S_FALSE; + PRUint32 length = 0; nsresult rv = aGeckoArray->GetLength(&length); if (NS_FAILED(rv)) return GetHRESULT(rv); + if (length == 0) + return S_FALSE; + *aIA2Array = static_cast(nsMemory::Alloc((length) * sizeof(IUnknown*))); if (!*aIA2Array) diff --git a/browser/app/Makefile.in b/browser/app/Makefile.in index 4901bc4b7f6..aba9b393771 100644 --- a/browser/app/Makefile.in +++ b/browser/app/Makefile.in @@ -86,13 +86,12 @@ include $(topsrcdir)/config/rules.mk else # Build a binary bootstrapping with XRE_main -ifeq ($(USE_SHORT_LIBNAME), 1) +ifneq (,$(filter OS2 WINCE WINNT,$(OS_ARCH))) PROGRAM = $(MOZ_APP_NAME)$(BIN_SUFFIX) else PROGRAM = $(MOZ_APP_NAME)-bin$(BIN_SUFFIX) endif - CPPSRCS = nsBrowserApp.cpp LOCAL_INCLUDES += -I$(topsrcdir)/toolkit/xre @@ -344,8 +343,10 @@ else rm -f $(DIST)/$(APP_NAME).app/Contents/MacOS/$(PROGRAM) rsync -aL $(PROGRAM) $(DIST)/$(APP_NAME).app/Contents/MacOS endif +ifndef MOZ_COCOA_PRINTING mkdir -p $(DIST)/$(APP_NAME).app/Contents/Plug-Ins rsync -a --copy-unsafe-links $(LIBXUL_DIST)/package/PrintPDE.plugin $(DIST)/$(APP_NAME).app/Contents/Plug-Ins +endif -cp -L $(DIST)/bin/mangle $(DIST)/bin/shlibsign $(DIST)/$(APP_NAME).app/Contents/$(APPFILES) cp -RL $(DIST)/branding/firefox.icns $(DIST)/$(APP_NAME).app/Contents/Resources/firefox.icns cp -RL $(DIST)/branding/document.icns $(DIST)/$(APP_NAME).app/Contents/Resources/document.icns diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js index 0eef9f75cf0..f7377bc135d 100644 --- a/browser/app/profile/firefox.js +++ b/browser/app/profile/firefox.js @@ -568,8 +568,12 @@ pref("plugin.default_plugin_disabled", true); // plugin finder service url pref("pfs.datasource.url", "https://pfs.mozilla.org/plugins/PluginFinderService.php?mimetype=%PLUGIN_MIMETYPE%&appID=%APP_ID%&appVersion=%APP_VERSION%&clientOS=%CLIENT_OS%&chromeLocale=%CHROME_LOCALE%&appRelease=%APP_RELEASE%"); -// by default we show an infobar message when pages require plugins the user has not installed +// by default we show an infobar message when pages require plugins the user has not installed, or are outdated pref("plugins.hide_infobar_for_missing_plugin", false); +pref("plugins.hide_infobar_for_outdated_plugin", false); + +pref("plugins.update.url", "https://www.mozilla.com/%LOCALE%/plugins/"); +pref("plugins.update.notifyUser", false); #ifdef XP_WIN pref("browser.preferences.instantApply", false); diff --git a/browser/base/content/aboutSupport.xhtml b/browser/base/content/aboutSupport.xhtml new file mode 100644 index 00000000000..47cc4cb3269 --- /dev/null +++ b/browser/base/content/aboutSupport.xhtml @@ -0,0 +1,452 @@ + + +# ***** BEGIN LICENSE BLOCK ***** +# Version: MPL 1.1/GPL 2.0/LGPL 2.1 +# +# The contents of this file are subject to the Mozilla Public License Version +# 1.1 (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS IS" basis, +# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License +# for the specific language governing rights and limitations under the +# License. +# +# The Original Code is aboutSupport.xhtml. +# +# The Initial Developer of the Original Code is +# Mozilla Corporation +# Portions created by the Initial Developer are Copyright (C) 2009 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Curtis Bartley +# +# Alternatively, the contents of this file may be used under the terms of +# either the GNU General Public License Version 2 or later (the "GPL"), or +# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), +# in which case the provisions of the GPL or the LGPL are applicable instead +# of those above. If you wish to allow use of your version of this file only +# under the terms of either the GPL or the LGPL, and not to allow others to +# use your version of this file under the terms of the MPL, indicate your +# decision by deleting the provisions above and replace them with the notice +# and other provisions required by the GPL or the LGPL. If you do not delete +# the provisions above, a recipient may use your version of this file under +# the terms of any one of the MPL, the GPL or the LGPL. +# +# ***** END LICENSE BLOCK ***** + + %htmlDTD; + %globalDTD; + %brandDTD; + %aboutSupportDTD; +]> + + + + &aboutSupport.pageTitle; + + + + + + + + + +

+ &aboutSupport.pageTitle; +

+ +
+ &aboutSupport.pageSubtitle; +
+ +
+ +
+ +
+ + + +

+ &aboutSupport.appBasicsTitle; +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ &aboutSupport.appBasicsName; + +
+ &aboutSupport.appBasicsVersion; + +
+ &aboutSupport.appBasicsProfileDir; + +
+ &aboutSupport.appBasicsPlugins; + + about:plugins +
+ &aboutSupport.appBasicsBuildConfig; + + about:buildconfig +
+ + + +

+ &aboutSupport.extensionsTitle; +

+ + + + + + + + + + + + +
+ &aboutSupport.extensionName; + + &aboutSupport.extensionVersion; + + &aboutSupport.extensionEnabled; + + &aboutSupport.extensionId; +
+ + + +

+ &aboutSupport.modifiedPrefsTitle; +

+ + + + + + + + + + +
+ &aboutSupport.modifiedPrefsName; + + &aboutSupport.modifiedPrefsValue; +
+ + + +
+ + + + diff --git a/browser/base/content/baseMenuOverlay.xul b/browser/base/content/baseMenuOverlay.xul index 14c0d303812..7e2735a384f 100644 --- a/browser/base/content/baseMenuOverlay.xul +++ b/browser/base/content/baseMenuOverlay.xul @@ -91,6 +91,11 @@ accesskey="&helpForIEUsers.accesskey;" oncommand="openHelpLink('ieusers');"/> #endif + diff --git a/browser/base/content/browser-context.inc b/browser/base/content/browser-context.inc index 63cfa2774f7..d05a2a9d9c1 100644 --- a/browser/base/content/browser-context.inc +++ b/browser/base/content/browser-context.inc @@ -102,6 +102,10 @@ label="&mediaHideControls.label;" accesskey="&mediaHideControls.accesskey;" oncommand="gContextMenu.mediaCommand('hidecontrols');"/> + - + -