зеркало из https://github.com/mozilla/pjs.git
Merge mozilla-central and mozilla-inbound
This commit is contained in:
Коммит
f23ca13279
|
@ -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
|
||||
|
|
11
configure.in
11
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
|
||||
|
|
|
@ -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;
|
||||
|
|
Загрузка…
Ссылка в новой задаче