Merge mozilla-central and mozilla-inbound

This commit is contained in:
Ehsan Akhgari 2011-07-24 12:52:51 -04:00
Родитель 5da45080b6 c96e7ab8a3
Коммит f23ca13279
29 изменённых файлов: 183 добавлений и 204 удалений

Просмотреть файл

@ -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.

Просмотреть файл

@ -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()
{

Просмотреть файл

@ -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,

Просмотреть файл

@ -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);

Просмотреть файл

@ -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
}

Просмотреть файл

@ -13,11 +13,66 @@
<script type="application/javascript"
src="../common.js" />
<script type="application/javascript"
src="../events.js" />
<script type="application/javascript"
src="../attributes.js" />
<script type="application/javascript">
<![CDATA[
function openMenu(aID)
{
this.menuNode = getNode(aID);
this.eventSeq = [
new invokerChecker(EVENT_FOCUS, this.menuNode)
];
this.invoke = function openMenu_invoke()
{
this.menuNode.open = true;
}
this.finalCheck = function openMenu_finalCheck()
{
testGroupAttrs("menu_item1.1", 1, 1);
testGroupAttrs("menu_item1.2", 1, 3);
testGroupAttrs("menu_item1.4", 2, 3);
testGroupAttrs("menu_item2", 3, 3);
}
this.getID = function openMenu_getID()
{
return "open menu " + prettyName(aID);
}
}
function openSubMenu(aID)
{
this.menuNode = getNode(aID);
this.eventSeq = [
new invokerChecker(EVENT_FOCUS, this.menuNode)
];
this.invoke = function openSubMenu_invoke()
{
this.menuNode.open = true;
}
this.finalCheck = function openSubMenu_finalCheck()
{
testGroupAttrs("menu_item2.1", 1, 2, 1);
testGroupAttrs("menu_item2.2", 2, 2, 1);
}
this.getID = function openSubMenu_getID()
{
return "open submenu " + prettyName(aID);
}
}
var gQueue = null;
function doTest()
{
//////////////////////////////////////////////////////////////////////////
@ -25,30 +80,6 @@
testGroupAttrs("item1", 1, 2);
testGroupAttrs("item2", 2, 2);
//////////////////////////////////////////////////////////////////////////
// xul:menu (bug 443881)
var menu1 = document.getElementById("menu_item1");
menu1.open = true;
menu1.addEventListener("popupshown", function() {
var menu2 = document.getElementById("menu_item2");
menu2.open = true;
menu2.addEventListener("popupshown", function() {
testGroupAttrs("menu_item1.1", 1, 1);
testGroupAttrs("menu_item1.2", 1, 3);
testGroupAttrs("menu_item1.4", 2, 3);
testGroupAttrs("menu_item2", 3, 3);
testGroupAttrs("menu_item2.1", 1, 2, 1);
testGroupAttrs("menu_item2.2", 2, 2, 1);
menu1.open = false;
menu2.open = false;
SimpleTest.finish();
}, false);
}, false);
//////////////////////////////////////////////////////////////////////////
// xul:tab
testGroupAttrs("tab1", 1, 2);
@ -65,6 +96,13 @@
testGroupAttrs("aria-menuitemcheckbox", 2, 3);
testGroupAttrs("aria-menuitemradio", 3, 3);
testGroupAttrs("aria-menuitem2", 1, 1);
//////////////////////////////////////////////////////////////////////////
// xul:menu (bug 443881)
gQueue = new eventQueue();
gQueue.push(new openMenu("menu_item1"));
gQueue.push(new openSubMenu("menu_item2"));
gQueue.invoke(); // SimpleTest.finish();
}
SimpleTest.waitForExplicitFinish();
@ -72,6 +110,7 @@
]]>
</script>
<hbox flex="1" style="overflow: auto;">
<body xmlns="http://www.w3.org/1999/xhtml">
<a target="_blank"
href="https://bugzilla.mozilla.org/show_bug.cgi?id=417317"
@ -96,6 +135,7 @@
</pre>
</body>
<vbox flex="1">
<listbox>
<listitem label="item1" id="item1"/>
<listitem label="item2" id="item2"/>
@ -148,5 +188,8 @@
<description role="menuitem" id="aria-menuitem2"
value="conventional menuitem"/>
</vbox>
</vbox>
</hbox>
</window>

Просмотреть файл

@ -1,6 +1,10 @@
<?xml version="1.0"?>
<blocklist xmlns="http://www.mozilla.org/2006/addons-blocklist" lastupdate="1306529826000">
<blocklist xmlns="http://www.mozilla.org/2006/addons-blocklist" lastupdate="1311096050000">
<emItems>
<emItem blockID="i41" id="{99079a25-328f-4bd4-be04-00955acaa0a7}">
<versionRange minVersion="0.1" maxVersion="4.3.0.00" severity="1">
</versionRange>
</emItem>
<emItem blockID="i8" id="{B13721C7-F507-4982-B2E5-502A71474FED}">
<versionRange minVersion=" " severity="1">
</versionRange>
@ -25,6 +29,10 @@
<versionRange minVersion="1.0" maxVersion="1.0">
</versionRange>
</emItem>
<emItem blockID="i39" id="{c2d64ff7-0ab8-4263-89c9-ea3b0f8f050c}">
<versionRange minVersion="0.1" maxVersion="4.3.0.00" severity="1">
</versionRange>
</emItem>
<emItem blockID="i10" id="{8CE11043-9A15-4207-A565-0C94C42D590D}">
</emItem>
<emItem blockID="i1" id="mozilla_cc@internetdownloadmanager.com">
@ -52,6 +60,10 @@
</targetApplication>
</versionRange>
</emItem>
<emItem blockID="i40" id="{28387537-e3f9-4ed7-860c-11e69af4a8a0}">
<versionRange minVersion="0.1" maxVersion="4.3.0.00" severity="1">
</versionRange>
</emItem>
<emItem blockID="i23" id="firefox@bandoo.com">
<versionRange minVersion="5.0" maxVersion="5.0" severity="1">
<targetApplication id="{ec8030f7-c20a-464f-9b0e-13a3a9e97384}">

Просмотреть файл

@ -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

Просмотреть файл

@ -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

Просмотреть файл

@ -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 = {

Просмотреть файл

@ -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")

Просмотреть файл

@ -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)

Просмотреть файл

@ -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<nsINodeInfo> aNodeInfo,
mozilla::dom::FromParser aFromParser)
{
if (nsHtml5Module::sEnabled) {
return NS_NewHTMLElement(aNodeInfo, aFromParser);
} else {
return NS_NewHTMLSharedElement(aNodeInfo, aFromParser);
}
}
nsHTMLSharedElement::nsHTMLSharedElement(already_AddRefed<nsINodeInfo> 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)

Просмотреть файл

@ -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");

Просмотреть файл

@ -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

Просмотреть файл

@ -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)

Просмотреть файл

@ -74,7 +74,6 @@ SDK_XPIDLSRCS = \
nsIDOMHTMLIFrameElement.idl \
nsIDOMHTMLImageElement.idl \
nsIDOMHTMLInputElement.idl \
nsIDOMHTMLIsIndexElement.idl \
nsIDOMHTMLLIElement.idl \
nsIDOMHTMLLabelElement.idl \
nsIDOMHTMLLegendElement.idl \

Просмотреть файл

@ -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 <vidur@netscape.com> (original author)
* Johnny Stenback <jst@netscape.com>
*
* 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;
};

Просмотреть файл

@ -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;

Просмотреть файл

@ -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
};

Просмотреть файл

@ -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

Просмотреть файл

@ -2842,12 +2842,12 @@ nsFrame::HandleRelease(nsPresContext* aPresContext,
nsGUIEvent* aEvent,
nsEventStatus* aEventStatus)
{
nsCOMPtr<nsIContent> 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<nsFrameSelection> fs =
FindDraggingFrameSelection(aPresContext->PresShell(), &targetFrame);

Просмотреть файл

@ -140,6 +140,7 @@ _CHROME_FILES = \
test_bug670058.html \
test_bug670508.html \
test_bug671319.html \
test_bug673315-1.html \
$(NULL)
libs:: $(_TEST_FILES)

Просмотреть файл

@ -0,0 +1,64 @@
<!DOCTYPE>
<html>
<head>
<title>test for bug 673315 part.1</title>
<script type="text/javascript"
src="chrome://mochikit/content/MochiKit/packed.js"></script>
<script type="text/javascript"
src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
<script type="text/javascript"
src="chrome://mochikit/content/tests/SimpleTest/EventUtils.js"></script>
<link rel="stylesheet" type="text/css"
href="chrome://mochikit/content/tests/SimpleTest/test.css" />
</head>
<body>
<p id="p">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</p>
<pre id="test">
<script class="testbody" type="text/javascript">
SimpleTest.waitForExplicitFinish();
var gSelectionListener = {
reason: 0,
reset: function () { this.reason = 0; },
notifySelectionChanged: function (doc, sel, reason)
{
this.reason |= reason;
}
}
function doTest() {
var p = document.getElementById("p");
const nsISelectionPrivate = Components.interfaces.nsISelectionPrivate;
const nsISelectionListener = Components.interfaces.nsISelectionListener;
var selPrivate =
window.getSelection().QueryInterface(nsISelectionPrivate);
selPrivate.addSelectionListener(gSelectionListener);
gSelectionListener.reset();
synthesizeMouse(p, 10, 10, { type: "mousedown", button: 0 });
is(gSelectionListener.reason,
nsISelectionListener.DRAG_REASON | nsISelectionListener.MOUSEDOWN_REASON,
"the reason isn't drag and mosuedown after mousedown event");
gSelectionListener.reset();
synthesizeMouse(p, 10, 50, { type: "mousemove" });
is(gSelectionListener.reason,
nsISelectionListener.DRAG_REASON | nsISelectionListener.MOUSEDOWN_REASON,
"the reason isn't drag and mosuedown after mousemove event");
gSelectionListener.reset();
synthesizeMouse(p, 10, 50, { type: "mouseup", button: 0 });
is(gSelectionListener.reason,
nsISelectionListener.MOUSEUP_REASON,
"the reason isn't mosueup after mouseup event");
selPrivate.addSelectionListener(gSelectionListener);
SimpleTest.finish();
}
SimpleTest.waitForFocus(doTest, window);
</script>
</pre>
</body>
</html>

Просмотреть файл

@ -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);
}

Просмотреть файл

@ -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)

Просмотреть файл

@ -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,

Просмотреть файл

@ -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[] =

Просмотреть файл

@ -1359,7 +1359,6 @@
if (elt instanceof HTMLTextAreaElement ||
elt instanceof HTMLSelectElement ||
elt instanceof HTMLIsIndexElement ||
elt instanceof HTMLObjectElement ||
elt instanceof HTMLEmbedElement)
return false;