diff --git a/accessible/public/nsIAccessNode.idl b/accessible/public/nsIAccessNode.idl index c49adf26570..a3cdc0b1182 100644 --- a/accessible/public/nsIAccessNode.idl +++ b/accessible/public/nsIAccessNode.idl @@ -54,7 +54,7 @@ interface nsIDOMCSSPrimitiveValue; * If the DOM node for this access node is "accessible", * then a QueryInterface to nsIAccessible will succeed. */ -[scriptable, uuid(ef16ff42-0256-4b48-ae87-b18a95b7f7d6)] +[scriptable, uuid(bbbd5a68-bad2-48c1-ab09-beb6c34f03d9)] interface nsIAccessNode : nsISupports { /** @@ -99,12 +99,6 @@ interface nsIAccessNode : nsISupports */ void scrollToPoint(in unsigned long aCoordinateType, in long aX, in long aY); - /** - * The OS window handle for the window this node - * is being displayed in. - */ - [noscript] readonly attribute voidPtr ownerWindow; - /** * A unique ID calculated for this DOM node, for the * purposes of caching and referencing this object. diff --git a/accessible/src/base/nsAccessNode.cpp b/accessible/src/base/nsAccessNode.cpp index 5bba5fd44a2..32f204bfd2f 100644 --- a/accessible/src/base/nsAccessNode.cpp +++ b/accessible/src/base/nsAccessNode.cpp @@ -161,19 +161,6 @@ nsAccessNode::GetUniqueID(void **aUniqueID) return NS_OK; } -// nsIAccessNode -NS_IMETHODIMP -nsAccessNode::GetOwnerWindow(void **aWindow) -{ - NS_ENSURE_ARG_POINTER(aWindow); - *aWindow = nsnull; - - if (IsDefunct()) - return NS_ERROR_FAILURE; - - return GetDocAccessible()->GetWindowHandle(aWindow); -} - nsApplicationAccessible* nsAccessNode::GetApplicationAccessible() { diff --git a/accessible/src/base/nsApplicationAccessible.cpp b/accessible/src/base/nsApplicationAccessible.cpp index 2486f7e6bd6..d4a5f116083 100644 --- a/accessible/src/base/nsApplicationAccessible.cpp +++ b/accessible/src/base/nsApplicationAccessible.cpp @@ -483,14 +483,6 @@ nsApplicationAccessible::ScrollToPoint(PRUint32 aCoordinateType, return NS_OK; } -NS_IMETHODIMP -nsApplicationAccessible::GetOwnerWindow(void **aOwnerWindow) -{ - NS_ENSURE_ARG_POINTER(aOwnerWindow); - *aOwnerWindow = nsnull; - return NS_OK; -} - NS_IMETHODIMP nsApplicationAccessible::GetComputedStyleValue(const nsAString &aPseudoElt, const nsAString &aPropertyName, diff --git a/accessible/src/base/nsApplicationAccessible.h b/accessible/src/base/nsApplicationAccessible.h index 39bac37fc17..ad51804fee1 100644 --- a/accessible/src/base/nsApplicationAccessible.h +++ b/accessible/src/base/nsApplicationAccessible.h @@ -76,7 +76,6 @@ public: NS_SCRIPTABLE NS_IMETHOD GetInnerHTML(nsAString& aInnerHTML); NS_SCRIPTABLE NS_IMETHOD ScrollTo(PRUint32 aScrollType); NS_SCRIPTABLE NS_IMETHOD ScrollToPoint(PRUint32 aCoordinateType, PRInt32 aX, PRInt32 aY); - NS_IMETHOD GetOwnerWindow(void **aOwnerWindow); NS_SCRIPTABLE NS_IMETHOD GetComputedStyleValue(const nsAString& aPseudoElt, const nsAString& aPropertyName, nsAString& aValue NS_OUTPARAM); diff --git a/accessible/src/msaa/nsWinUtils.cpp b/accessible/src/msaa/nsWinUtils.cpp index ef4c3dee5d4..8c25afc35bb 100644 --- a/accessible/src/msaa/nsWinUtils.cpp +++ b/accessible/src/msaa/nsWinUtils.cpp @@ -176,10 +176,13 @@ nsWinUtils::HideNativeWindow(HWND aWnd) bool nsWinUtils::IsWindowEmulationFor(LPCWSTR kModuleHandle) { +#ifdef MOZ_E10S_COMPAT // Window emulation is always enabled in multiprocess Firefox. + return kModuleHandle ? ::GetModuleHandleW(kModuleHandle) : true; +#else return kModuleHandle ? ::GetModuleHandleW(kModuleHandle) : - XRE_GetProcessType() == GeckoProcessType_Content || ::GetModuleHandleW(kJAWSModuleHandle) || ::GetModuleHandleW(kWEModuleHandle) || ::GetModuleHandleW(kDolphinModuleHandle); +#endif } diff --git a/accessible/tests/mochitest/attributes/test_obj_group.xul b/accessible/tests/mochitest/attributes/test_obj_group.xul index a8fb69561d3..30511b511d0 100644 --- a/accessible/tests/mochitest/attributes/test_obj_group.xul +++ b/accessible/tests/mochitest/attributes/test_obj_group.xul @@ -13,11 +13,66 @@ + + @@ -148,5 +188,8 @@ + + + diff --git a/browser/app/blocklist.xml b/browser/app/blocklist.xml index 5af334dd031..cb4478830b1 100644 --- a/browser/app/blocklist.xml +++ b/browser/app/blocklist.xml @@ -1,6 +1,10 @@ - + + + + + @@ -25,6 +29,10 @@ + + + + @@ -52,6 +60,10 @@ + + + + diff --git a/build/Makefile.in b/build/Makefile.in index dcb4bf4408e..0c056e70e41 100644 --- a/build/Makefile.in +++ b/build/Makefile.in @@ -102,6 +102,7 @@ GARBAGE += leaktest.py libs:: $(_LEAKTEST_FILES) $(INSTALL) $^ $(_LEAKTEST_DIR) +ifdef MOZ_VALGRIND _VALGRIND_DIR = $(DEPTH)/_valgrind GARBAGE_DIRS += $(_VALGRIND_DIR) @@ -112,6 +113,7 @@ _VALGRIND_FILES = \ libs:: $(_VALGRIND_FILES) $(INSTALL) $^ $(_VALGRIND_DIR) +endif ifdef ENABLE_TESTS libs:: $(topsrcdir)/tools/rb/fix_stack_using_bpsyms.py diff --git a/configure.in b/configure.in index 1b79cb92c2b..b63a95734a5 100644 --- a/configure.in +++ b/configure.in @@ -1842,7 +1842,9 @@ if test -n "$MOZ_VALGRIND"; then AC_MSG_ERROR( [--enable-valgrind specified but Valgrind is not installed])) AC_DEFINE(MOZ_VALGRIND) + MOZ_VALGRIND=1 fi +AC_SUBST(MOZ_VALGRIND) dnl ======================================================== dnl jprof @@ -6152,7 +6154,7 @@ if test -n "$MOZ_ANGLE"; then fi if test -n "`echo $MOZ_DIRECTX_SDK_REG_KEY | grep 'February 2010'`" ; then - AC_MSG_WARN([Found the February 2010 DirectX SDK. This is too old. We now require the June 2010 DirectX SDK, or newer.]) + AC_MSG_ERROR([Found the February 2010 DirectX SDK. This is too old. We now require the June 2010 DirectX SDK, or newer. Upgrade your SDK or to explicitly build without ANGLE, reconfigure with --disable-angle.]) else MOZ_DIRECTX_SDK_PATH=`reg query "$MOZ_DIRECTX_SDK_REG_KEY" //v InstallPath | grep REG_SZ | sed 's/.*\([[a-zA-Z]]\)\\:\\\\/\\1\\:\\\\/'` fi @@ -6167,8 +6169,7 @@ if test -n "$MOZ_ANGLE"; then fi if test -z "$MOZ_ANGLE" ; then - AC_MSG_WARN([Couldn't find the DirectX SDK, needed for ANGLE. Please install it (June 2010 or newer). To explicitly build without ANGLE, reconfigure with --disable-angle.]) - AC_MSG_WARN([This will become an error in the future.]) + AC_MSG_ERROR([Couldn't find the DirectX SDK, needed for ANGLE. Please install it (June 2010 or newer). To explicitly build without ANGLE, reconfigure with --disable-angle.]) fi if test -n "$MOZ_ANGLE" ; then @@ -6176,9 +6177,7 @@ if test -n "$MOZ_ANGLE"; then MOZ_D3DX9_VERSION=`dumpbin //headers "$MOZ_DIRECTX_SDK_PATH"/lib/$MOZ_DIRECTX_SDK_CPU_SUFFIX/d3dx9.lib | egrep d3dx9_[[0-9]][[0-9]]\.dll | head -n1 | sed 's/.*\([[0-9]][[0-9]]\).*/\\1/g'` if test -z "$MOZ_D3DX9_VERSION" ; then - MOZ_ANGLE= - AC_MSG_WARN([Couldn't determine the D3DX9 version! Disabling ANGLE.]) - AC_MSG_WARN([This will become an error in the future.]) + AC_MSG_ERROR([Couldn't determine the D3DX9 version, needed for ANGLE. To explicitly build without ANGLE, reconfigure with --disable-angle.]) fi if test -n "$MOZ_ANGLE" ; then diff --git a/content/base/src/CSPUtils.jsm b/content/base/src/CSPUtils.jsm index 6db4ee651ba..13cb7e8abae 100644 --- a/content/base/src/CSPUtils.jsm +++ b/content/base/src/CSPUtils.jsm @@ -126,7 +126,7 @@ function CSPPolicyURIListener(policyURI, docRequest, csp) { this._policy = ""; // contents fetched from policyURI this._wrapper = null; // nsIScriptableInputStream this._docURI = docRequest.QueryInterface(Components.interfaces.nsIChannel) - .originalURI; // parent document URI (to be used as 'self') + .URI; // parent document URI (to be used as 'self') } CSPPolicyURIListener.prototype = { diff --git a/content/base/src/nsGkAtomList.h b/content/base/src/nsGkAtomList.h index 77c30802ec0..313a5ebc393 100644 --- a/content/base/src/nsGkAtomList.h +++ b/content/base/src/nsGkAtomList.h @@ -480,7 +480,6 @@ GK_ATOM(integer, "integer") GK_ATOM(intersection, "intersection") GK_ATOM(iscontainer, "iscontainer") GK_ATOM(isempty, "isempty") -GK_ATOM(isindex, "isindex") GK_ATOM(ismap, "ismap") GK_ATOM(itemid, "itemid") GK_ATOM(itemprop, "itemprop") diff --git a/content/html/content/src/nsGenericHTMLElement.h b/content/html/content/src/nsGenericHTMLElement.h index 6ddb3eee1ae..a26af618795 100644 --- a/content/html/content/src/nsGenericHTMLElement.h +++ b/content/html/content/src/nsGenericHTMLElement.h @@ -1544,7 +1544,6 @@ NS_DECLARE_NS_NEW_HTML_ELEMENT_AS_SHARED(Html) NS_DECLARE_NS_NEW_HTML_ELEMENT(IFrame) NS_DECLARE_NS_NEW_HTML_ELEMENT(Image) NS_DECLARE_NS_NEW_HTML_ELEMENT(Input) -NS_DECLARE_NS_NEW_HTML_ELEMENT(IsIndex) NS_DECLARE_NS_NEW_HTML_ELEMENT(LI) NS_DECLARE_NS_NEW_HTML_ELEMENT(Label) NS_DECLARE_NS_NEW_HTML_ELEMENT(Legend) diff --git a/content/html/content/src/nsHTMLSharedElement.cpp b/content/html/content/src/nsHTMLSharedElement.cpp index 863029ce995..a8304e28ead 100644 --- a/content/html/content/src/nsHTMLSharedElement.cpp +++ b/content/html/content/src/nsHTMLSharedElement.cpp @@ -34,7 +34,7 @@ * the terms of any one of the MPL, the GPL or the LGPL. * * ***** END LICENSE BLOCK ***** */ -#include "nsIDOMHTMLIsIndexElement.h" + #include "nsIDOMHTMLParamElement.h" #include "nsIDOMHTMLBaseElement.h" #include "nsIDOMHTMLDirectoryElement.h" @@ -56,7 +56,6 @@ extern nsAttrValue::EnumTable kListTypeTable[]; class nsHTMLSharedElement : public nsGenericHTMLElement, - public nsIDOMHTMLIsIndexElement, public nsIDOMHTMLParamElement, public nsIDOMHTMLBaseElement, public nsIDOMHTMLDirectoryElement, @@ -81,9 +80,6 @@ public: // nsIDOMHTMLElement NS_FORWARD_NSIDOMHTMLELEMENT(nsGenericHTMLElement::) - // nsIDOMHTMLIsIndexElement - NS_DECL_NSIDOMHTMLISINDEXELEMENT - // nsIDOMHTMLParamElement NS_DECL_NSIDOMHTMLPARAMELEMENT @@ -143,22 +139,6 @@ public: NS_IMPL_NS_NEW_HTML_ELEMENT(Shared) -/** - * When creating a isindex element, we should create a nsHTMLElement if the html5 - * parser is enabled. Otherwise, a nsHTMLSharedElement should be created. - */ -nsGenericHTMLElement* -NS_NewHTMLIsIndexElement(already_AddRefed aNodeInfo, - mozilla::dom::FromParser aFromParser) -{ - if (nsHtml5Module::sEnabled) { - return NS_NewHTMLElement(aNodeInfo, aFromParser); - } else { - return NS_NewHTMLSharedElement(aNodeInfo, aFromParser); - } -} - - nsHTMLSharedElement::nsHTMLSharedElement(already_AddRefed aNodeInfo) : nsGenericHTMLElement(aNodeInfo) @@ -175,7 +155,6 @@ NS_IMPL_RELEASE_INHERITED(nsHTMLSharedElement, nsGenericElement) DOMCI_DATA(HTMLParamElement, nsHTMLSharedElement) -DOMCI_DATA(HTMLIsIndexElement, nsHTMLSharedElement) DOMCI_DATA(HTMLBaseElement, nsHTMLSharedElement) DOMCI_DATA(HTMLDirectoryElement, nsHTMLSharedElement) DOMCI_DATA(HTMLMenuElement, nsHTMLSharedElement) @@ -189,9 +168,6 @@ nsHTMLSharedElement::GetClassInfoInternal() if (mNodeInfo->Equals(nsGkAtoms::param)) { return NS_GetDOMClassInfoInstance(eDOMClassInfo_HTMLParamElement_id); } - if (mNodeInfo->Equals(nsGkAtoms::isindex)) { - return NS_GetDOMClassInfoInstance(eDOMClassInfo_HTMLIsIndexElement_id); - } if (mNodeInfo->Equals(nsGkAtoms::base)) { return NS_GetDOMClassInfoInstance(eDOMClassInfo_HTMLBaseElement_id); } @@ -225,7 +201,6 @@ NS_INTERFACE_TABLE_HEAD(nsHTMLSharedElement) nsGenericHTMLElement, nsIDOMHTMLParamElement) NS_INTERFACE_MAP_ENTRY_IF_TAG(nsIDOMHTMLParamElement, param) - NS_INTERFACE_MAP_ENTRY_IF_TAG(nsIDOMHTMLIsIndexElement, isindex) NS_INTERFACE_MAP_ENTRY_IF_TAG(nsIDOMHTMLBaseElement, base) NS_INTERFACE_MAP_ENTRY_IF_TAG(nsIDOMHTMLDirectoryElement, dir) NS_INTERFACE_MAP_ENTRY_IF_TAG(nsIDOMHTMLMenuElement, menu) @@ -246,16 +221,6 @@ NS_IMPL_STRING_ATTR(nsHTMLSharedElement, Type, type) NS_IMPL_STRING_ATTR(nsHTMLSharedElement, Value, value) NS_IMPL_STRING_ATTR(nsHTMLSharedElement, ValueType, valuetype) -// nsIDOMHTMLIsIndexElement -NS_IMPL_STRING_ATTR(nsHTMLSharedElement, Prompt, prompt) -NS_IMETHODIMP -nsHTMLSharedElement::GetForm(nsIDOMHTMLFormElement** aForm) -{ - NS_IF_ADDREF(*aForm = FindAncestorForm()); - - return NS_OK; -} - // nsIDOMHTMLDirectoryElement NS_IMPL_BOOL_ATTR(nsHTMLSharedElement, Compact, compact) diff --git a/content/html/content/test/test_bug389797.html b/content/html/content/test/test_bug389797.html index 182f3b19739..d915c936147 100644 --- a/content/html/content/test/test_bug389797.html +++ b/content/html/content/test/test_bug389797.html @@ -93,7 +93,6 @@ objectIfaces2.push("nsIImageLoadingContent"); dir dl embed - isindex menu ol param @@ -168,7 +167,6 @@ HTML_TAG("input", "Input", [], [ "imgIDecoderObserver", "nsIImageLoadingContent", "nsIDOMNSEditableElement" ]); HTML_TAG("ins", "Mod"); -HTML_TAG("isindex", ""); HTML_TAG("kbd", ""); HTML_TAG("keygen", "Span"); HTML_TAG("label", "Label"); diff --git a/dom/base/nsDOMClassInfo.cpp b/dom/base/nsDOMClassInfo.cpp index 54d4ad6aa7f..56323433012 100644 --- a/dom/base/nsDOMClassInfo.cpp +++ b/dom/base/nsDOMClassInfo.cpp @@ -279,7 +279,6 @@ #include "nsIDOMHTMLIFrameElement.h" #include "nsIDOMHTMLImageElement.h" #include "nsIDOMHTMLInputElement.h" -#include "nsIDOMHTMLIsIndexElement.h" #include "nsIDOMHTMLLIElement.h" #include "nsIDOMHTMLLabelElement.h" #include "nsIDOMHTMLLegendElement.h" @@ -828,8 +827,6 @@ static nsDOMClassInfoData sClassInfoData[] = { ELEMENT_SCRIPTABLE_FLAGS) NS_DEFINE_CLASSINFO_DATA(HTMLInputElement, nsElementSH, ELEMENT_SCRIPTABLE_FLAGS) - NS_DEFINE_CLASSINFO_DATA(HTMLIsIndexElement, nsElementSH, - ELEMENT_SCRIPTABLE_FLAGS) NS_DEFINE_CLASSINFO_DATA(HTMLLIElement, nsElementSH, ELEMENT_SCRIPTABLE_FLAGS) NS_DEFINE_CLASSINFO_DATA(HTMLLabelElement, nsElementSH, @@ -2815,11 +2812,6 @@ nsDOMClassInfo::Init() DOM_CLASSINFO_GENERIC_HTML_MAP_ENTRIES DOM_CLASSINFO_MAP_END - DOM_CLASSINFO_MAP_BEGIN(HTMLIsIndexElement, nsIDOMHTMLIsIndexElement) - DOM_CLASSINFO_MAP_ENTRY(nsIDOMHTMLIsIndexElement) - DOM_CLASSINFO_GENERIC_HTML_MAP_ENTRIES - DOM_CLASSINFO_MAP_END - DOM_CLASSINFO_MAP_BEGIN(HTMLLIElement, nsIDOMHTMLLIElement) DOM_CLASSINFO_MAP_ENTRY(nsIDOMHTMLLIElement) DOM_CLASSINFO_GENERIC_HTML_MAP_ENTRIES diff --git a/dom/base/nsDOMClassInfoClasses.h b/dom/base/nsDOMClassInfoClasses.h index 3e0513ff9eb..71c05163afd 100644 --- a/dom/base/nsDOMClassInfoClasses.h +++ b/dom/base/nsDOMClassInfoClasses.h @@ -114,7 +114,6 @@ DOMCI_CLASS(HTMLHtmlElement) DOMCI_CLASS(HTMLIFrameElement) DOMCI_CLASS(HTMLImageElement) DOMCI_CLASS(HTMLInputElement) -DOMCI_CLASS(HTMLIsIndexElement) DOMCI_CLASS(HTMLLIElement) DOMCI_CLASS(HTMLLabelElement) DOMCI_CLASS(HTMLLegendElement) diff --git a/dom/interfaces/html/Makefile.in b/dom/interfaces/html/Makefile.in index ffe7db48196..e0b55765e91 100644 --- a/dom/interfaces/html/Makefile.in +++ b/dom/interfaces/html/Makefile.in @@ -74,7 +74,6 @@ SDK_XPIDLSRCS = \ nsIDOMHTMLIFrameElement.idl \ nsIDOMHTMLImageElement.idl \ nsIDOMHTMLInputElement.idl \ - nsIDOMHTMLIsIndexElement.idl \ nsIDOMHTMLLIElement.idl \ nsIDOMHTMLLabelElement.idl \ nsIDOMHTMLLegendElement.idl \ diff --git a/dom/interfaces/html/nsIDOMHTMLIsIndexElement.idl b/dom/interfaces/html/nsIDOMHTMLIsIndexElement.idl deleted file mode 100644 index 28f2134c81d..00000000000 --- a/dom/interfaces/html/nsIDOMHTMLIsIndexElement.idl +++ /dev/null @@ -1,58 +0,0 @@ -/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* ***** 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 mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 2000 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * Vidur Apparao (original author) - * Johnny Stenback - * - * Alternatively, the contents of this file may be used under the terms of - * either of 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 ***** */ - -#include "nsIDOMHTMLElement.idl" - -/** - * The nsIDOMHTMLIsIndexElement interface is the interface to a - * [X]HTML isindex element. - * - * This interface is trying to follow the DOM Level 2 HTML specification: - * http://www.w3.org/TR/DOM-Level-2-HTML/ - * - * with changes from the work-in-progress WHATWG HTML specification: - * http://www.whatwg.org/specs/web-apps/current-work/ - */ - -[scriptable, uuid(e630b11e-ffc1-4666-b7dd-823e9077ef89)] -interface nsIDOMHTMLIsIndexElement : nsIDOMHTMLElement -{ - readonly attribute nsIDOMHTMLFormElement form; - attribute DOMString prompt; -}; diff --git a/editor/composer/src/res/EditorOverride.css b/editor/composer/src/res/EditorOverride.css index 1af76bceff5..3f8b9c1e712 100644 --- a/editor/composer/src/res/EditorOverride.css +++ b/editor/composer/src/res/EditorOverride.css @@ -59,7 +59,7 @@ img, img[usemap], area, object, object[usemap], -applet, hr, button, input, isindex, textarea, select, +applet, hr, button, input, textarea, select, a:link img, a:visited img, a:active img, a[name]:-moz-only-whitespace { cursor: default; @@ -97,13 +97,6 @@ select, input[disabled], input[type="checkbox"], input[type="radio"], input[type -moz-user-focus: none !important; } -isindex[prompt] -{ - -moz-user-select: none !important; - -moz-user-input: none !important; - -moz-user-focus: none !important; -} - input[type="hidden"] { border: 1px solid black !important; visibility: visible !important; diff --git a/editor/libeditor/html/nsHTMLEditUtils.cpp b/editor/libeditor/html/nsHTMLEditUtils.cpp index 7bd26d38ea9..333c8a34352 100644 --- a/editor/libeditor/html/nsHTMLEditUtils.cpp +++ b/editor/libeditor/html/nsHTMLEditUtils.cpp @@ -477,7 +477,7 @@ nsHTMLEditUtils::SupportsAlignAttr(nsIDOMNode * aNode) // body, head, html #define GROUP_TOPLEVEL (1 << 1) -// base, isindex, link, meta, script, style, title +// base, link, meta, script, style, title #define GROUP_HEAD_CONTENT (1 << 2) // b, big, i, s, small, strike, tt, u @@ -496,7 +496,7 @@ nsHTMLEditUtils::SupportsAlignAttr(nsIDOMNode * aNode) // address, applet, article, aside, blockquote, button, center, del, dir, div, // dl, fieldset, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, -// hr, iframe, ins, isindex, map, menu, nav, noframes, noscript, object, ol, p, +// hr, iframe, ins, map, menu, nav, noframes, noscript, object, ol, p, // pre, table, section, ul #define GROUP_BLOCK (1 << 7) @@ -652,8 +652,6 @@ static const nsElementInfo kElements[eHTMLTag_userdefined] = { ELEM(img, PR_FALSE, PR_FALSE, GROUP_SPECIAL, GROUP_NONE), ELEM(input, PR_FALSE, PR_FALSE, GROUP_FORMCONTROL, GROUP_NONE), ELEM(ins, PR_TRUE, PR_TRUE, GROUP_PHRASE | GROUP_BLOCK, GROUP_FLOW_ELEMENT), - ELEM(isindex, PR_FALSE, PR_FALSE, GROUP_BLOCK | GROUP_HEAD_CONTENT, - GROUP_NONE), ELEM(kbd, PR_TRUE, PR_TRUE, GROUP_PHRASE, GROUP_INLINE_ELEMENT), ELEM(keygen, PR_FALSE, PR_FALSE, GROUP_FORMCONTROL, GROUP_NONE), ELEM(label, PR_TRUE, PR_FALSE, GROUP_FORMCONTROL, GROUP_INLINE_ELEMENT), @@ -766,7 +764,6 @@ nsHTMLEditUtils::CanContain(PRInt32 aParent, PRInt32 aChild) eHTMLTag_form, eHTMLTag_iframe, eHTMLTag_input, - eHTMLTag_isindex, eHTMLTag_select, eHTMLTag_textarea }; diff --git a/js/src/configure.in b/js/src/configure.in index 63b25d7aa15..32e506941a0 100644 --- a/js/src/configure.in +++ b/js/src/configure.in @@ -5006,7 +5006,9 @@ if test -n "$MOZ_VALGRIND"; then AC_MSG_ERROR( [--enable-valgrind specified but Valgrind is not installed])) AC_DEFINE(MOZ_VALGRIND) + MOZ_VALGRIND=1 fi +AC_SUBST(MOZ_VALGRIND) dnl ======================================================== dnl jprof diff --git a/layout/generic/nsFrame.cpp b/layout/generic/nsFrame.cpp index 51615a3e92f..e30e3e20dd8 100644 --- a/layout/generic/nsFrame.cpp +++ b/layout/generic/nsFrame.cpp @@ -2842,12 +2842,12 @@ nsFrame::HandleRelease(nsPresContext* aPresContext, nsGUIEvent* aEvent, nsEventStatus* aEventStatus) { - nsCOMPtr captureContent = nsIPresShell::GetCapturingContent(); - - // We can unconditionally stop capturing because - // we should never be capturing when the mouse button is up - nsIPresShell::SetCapturingContent(nsnull, 0); - + // NOTE: You don't need to release mouse capture here. It'll be done + // in PresShell automatically. If you need to do it here, you must + // do it after nsFrame::EndSelectionChangeByMouse() because we need + // to call nsFrameSelection::SetMouseDownState(PR_FALSE) first. + // If we release mouse event capture first, it doesn't cause + // MOUSEUP_REASON selection change event. nsFrame* targetFrame; nsRefPtr fs = FindDraggingFrameSelection(aPresContext->PresShell(), &targetFrame); diff --git a/layout/generic/test/Makefile.in b/layout/generic/test/Makefile.in index d7b3d9ec3ba..3484206dd2e 100644 --- a/layout/generic/test/Makefile.in +++ b/layout/generic/test/Makefile.in @@ -140,6 +140,7 @@ _CHROME_FILES = \ test_bug670058.html \ test_bug670508.html \ test_bug671319.html \ + test_bug673315-1.html \ $(NULL) libs:: $(_TEST_FILES) diff --git a/layout/generic/test/test_bug673315-1.html b/layout/generic/test/test_bug673315-1.html new file mode 100644 index 00000000000..21c878a999f --- /dev/null +++ b/layout/generic/test/test_bug673315-1.html @@ -0,0 +1,64 @@ + + + +test for bug 673315 part.1 + + + + + + +

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

+
+
+
+ + diff --git a/layout/xul/base/src/nsSliderFrame.cpp b/layout/xul/base/src/nsSliderFrame.cpp index 7bb773ccb6c..006b483045d 100644 --- a/layout/xul/base/src/nsSliderFrame.cpp +++ b/layout/xul/base/src/nsSliderFrame.cpp @@ -587,8 +587,19 @@ nsSliderFrame::HandleEvent(nsPresContext* aPresContext, // if (aEvent->message == NS_MOUSE_EXIT_SYNTH || aEvent->message == NS_MOUSE_RIGHT_BUTTON_UP || aEvent->message == NS_MOUSE_LEFT_BUTTON_UP) // HandleRelease(aPresContext, aEvent, aEventStatus); - if (aEvent->message == NS_MOUSE_EXIT_SYNTH && mChange) - HandleRelease(aPresContext, aEvent, aEventStatus); + if (aEvent->message == NS_MOUSE_EXIT_SYNTH && mChange) { + // XXX This is wrong behavior. We shouldn't stop handling dragging by + // mouseexit event. + // On Windows, can continue to change the value when mouse cursor is + // moved back to the slider button. + // On Linux (GTK), even if the mouse cursor existed from slider button, + // kept to change the value. (confirmed on Ubuntu 10.10) + // On Mac, like Windows, when mouse cursor is moved back to the button, + // restart to change the value. However, Mac's slider can use the other + // direction button too. + HandleRelease(aPresContext, aEvent, aEventStatus); + nsIPresShell::SetCapturingContent(nsnull, 0); + } return nsFrame::HandleEvent(aPresContext, aEvent, aEventStatus); } diff --git a/parser/htmlparser/public/nsHTMLTagList.h b/parser/htmlparser/public/nsHTMLTagList.h index 898edf1615c..1dcccfc38db 100644 --- a/parser/htmlparser/public/nsHTMLTagList.h +++ b/parser/htmlparser/public/nsHTMLTagList.h @@ -129,7 +129,6 @@ HTML_TAG(image, Span) HTML_TAG(img, Image) HTML_TAG(input, Input) HTML_TAG(ins, Mod) -HTML_TAG(isindex, IsIndex) HTML_HTMLELEMENT_TAG(kbd) HTML_TAG(keygen, Span) HTML_TAG(label, Label) diff --git a/parser/htmlparser/src/nsElementTable.cpp b/parser/htmlparser/src/nsElementTable.cpp index b01a4944785..fc8bc76c586 100644 --- a/parser/htmlparser/src/nsElementTable.cpp +++ b/parser/htmlparser/src/nsElementTable.cpp @@ -757,15 +757,6 @@ const nsHTMLElement gHTMLElements[] = { /*special props, prop-range*/ 0, kDefaultPropRange, /*special parents,kids*/ 0,0, }, - { - /*tag*/ eHTMLTag_isindex, - /*requiredAncestor*/ eHTMLTag_unknown,eHTMLTag_unknown, - /*rootnodes,endrootnodes*/ &gRootTags,&gRootTags, - /*autoclose starttags and endtags*/ 0,0,0,0, - /*parent,incl,exclgroups*/ kBlock, kFlowEntity, kNone, - /*special props, prop-range*/ kNonContainer|kRequiresBody,kDefaultPropRange, - /*special parents,kids*/ &gInBody,0, - }, { /*tag*/ eHTMLTag_kbd, /*req-parent excl-parent*/ eHTMLTag_unknown,eHTMLTag_unknown, diff --git a/parser/htmlparser/src/nsHTMLTags.cpp b/parser/htmlparser/src/nsHTMLTags.cpp index 0ed6b74154f..e672382c35f 100644 --- a/parser/htmlparser/src/nsHTMLTags.cpp +++ b/parser/htmlparser/src/nsHTMLTags.cpp @@ -173,8 +173,6 @@ static const PRUnichar sHTMLTagUnicodeName_input[] = {'i', 'n', 'p', 'u', 't', '\0'}; static const PRUnichar sHTMLTagUnicodeName_ins[] = {'i', 'n', 's', '\0'}; -static const PRUnichar sHTMLTagUnicodeName_isindex[] = - {'i', 's', 'i', 'n', 'd', 'e', 'x', '\0'}; static const PRUnichar sHTMLTagUnicodeName_kbd[] = {'k', 'b', 'd', '\0'}; static const PRUnichar sHTMLTagUnicodeName_keygen[] = diff --git a/toolkit/content/widgets/findbar.xml b/toolkit/content/widgets/findbar.xml index 9902622ee7e..a297cb70256 100644 --- a/toolkit/content/widgets/findbar.xml +++ b/toolkit/content/widgets/findbar.xml @@ -1359,7 +1359,6 @@ if (elt instanceof HTMLTextAreaElement || elt instanceof HTMLSelectElement || - elt instanceof HTMLIsIndexElement || elt instanceof HTMLObjectElement || elt instanceof HTMLEmbedElement) return false;