From 10de29569ebbdf9307429ff1d8a825db75532a62 Mon Sep 17 00:00:00 2001 From: Rail Aliiev Date: Mon, 11 Apr 2011 12:23:26 -0400 Subject: [PATCH 1/5] bug 313956: expand installer .exe contents to make complete mar. r=ted --- toolkit/locales/l10n.mk | 12 +++++++++--- toolkit/mozapps/installer/packager.mk | 2 +- tools/update-packaging/Makefile.in | 16 ++++++++++++++-- 3 files changed, 24 insertions(+), 6 deletions(-) diff --git a/toolkit/locales/l10n.mk b/toolkit/locales/l10n.mk index 883915793b06..3acd247370c4 100644 --- a/toolkit/locales/l10n.mk +++ b/toolkit/locales/l10n.mk @@ -63,8 +63,6 @@ run_for_effects := $(shell if test ! -d $(DIST); then $(NSINSTALL) -D $(DIST); fi) -_ABS_DIST := $(shell cd $(DIST) && pwd) - # This makefile uses variable overrides from the libs-% target to # build non-default locales to non-default dist/ locations. Be aware! @@ -130,6 +128,14 @@ unpack: $(STAGEDIST) # may be overridden if necessary. MOZDEPTH ?= $(DEPTH) +ifdef MOZ_MAKE_COMPLETE_MAR +MAKE_COMPLETE_MAR = 1 +ifeq ($(OS_ARCH), WINNT) +ifneq ($(MOZ_PKG_FORMAT), SFX7Z) +MAKE_COMPLETE_MAR = +endif +endif +endif repackage-zip: UNPACKAGE="$(ZIP_IN)" repackage-zip: libs-$(AB_CD) # Adjust jar logs with the new locale (can't use sed -i because of bug 373784) @@ -153,7 +159,7 @@ ifeq (WINCE,$(OS_ARCH)) cd $(DIST)/l10n-stage; \ $(MAKE_CAB) endif -ifdef MOZ_MAKE_COMPLETE_MAR +ifdef MAKE_COMPLETE_MAR $(MAKE) -C $(MOZDEPTH)/tools/update-packaging full-update AB_CD=$(AB_CD) \ MOZ_PKG_PRETTYNAMES=$(MOZ_PKG_PRETTYNAMES) \ PACKAGE_BASE_DIR="$(_ABS_DIST)/l10n-stage" \ diff --git a/toolkit/mozapps/installer/packager.mk b/toolkit/mozapps/installer/packager.mk index 86f7284cba13..b8a9490c00f5 100644 --- a/toolkit/mozapps/installer/packager.mk +++ b/toolkit/mozapps/installer/packager.mk @@ -140,7 +140,7 @@ INNER_MAKE_PACKAGE = rm -f app.7z && \ mv core $(MOZ_PKG_DIR) && \ cat $(SFX_HEADER) app.7z > $(PACKAGE) && \ chmod 0755 $(PACKAGE) -INNER_UNMAKE_PACKAGE = $(CYGWIN_WRAPPER) 7z x $(UNPACKAGE) && \ +INNER_UNMAKE_PACKAGE = $(CYGWIN_WRAPPER) 7z x $(UNPACKAGE) core && \ mv core $(MOZ_PKG_DIR) endif diff --git a/tools/update-packaging/Makefile.in b/tools/update-packaging/Makefile.in index d9e760fd9d83..4b74c343a48e 100644 --- a/tools/update-packaging/Makefile.in +++ b/tools/update-packaging/Makefile.in @@ -44,8 +44,6 @@ VPATH = @srcdir@ include $(DEPTH)/config/autoconf.mk -include $(topsrcdir)/toolkit/mozapps/installer/package-name.mk - # input location for the build, usually $(DIST) # set this to $(DIST)/l10n-stage per override for L10n builds PACKAGE_BASE_DIR = $(DIST) @@ -72,7 +70,20 @@ MBSDIFF_BIN = $(LIBXUL_DIST)/host/bin/mbsdiff$(HOST_BIN_SUFFIX) full-update:: complete-patch +ifeq ($(OS_TARGET), WINNT) +MOZ_PKG_FORMAT := SFX7Z +UNPACKAGE = "$(subst $(DIST),$(_ABS_DIST),$(INSTALLER_PACKAGE))" +ifdef AB_CD +UNPACKAGE = "$(PACKAGE_BASE_DIR)/$(PACKAGE)" +endif +endif + complete-patch:: +ifeq ($(OS_TARGET), WINNT) + test -f $(UNPACKAGE) + $(RM) -rf "$(PACKAGE_DIR)" + cd $(PACKAGE_BASE_DIR) && $(INNER_UNMAKE_PACKAGE) +endif mkdir -p $(STAGE_DIR) MAR=$(MAR_BIN) \ $(srcdir)/make_full_update.sh \ @@ -89,3 +100,4 @@ partial-patch:: "$(DST_BUILD)" include $(topsrcdir)/config/rules.mk +include $(topsrcdir)/toolkit/mozapps/installer/packager.mk From ada3b698b450f768c4aae3f918496b23ec3bc848 Mon Sep 17 00:00:00 2001 From: Doug Turner Date: Mon, 11 Apr 2011 09:25:59 -0700 Subject: [PATCH 2/5] Backing out Bug 598736 - Use bilinear image scaling on mobile. Perf regression caused. r=me --- gfx/thebes/gfxDrawable.cpp | 3 +++ layout/base/nsLayoutUtils.cpp | 4 ++++ mobile/chrome/content/content.css | 7 ------- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/gfx/thebes/gfxDrawable.cpp b/gfx/thebes/gfxDrawable.cpp index 6edb2e8a3463..c9d8ca3269af 100644 --- a/gfx/thebes/gfxDrawable.cpp +++ b/gfx/thebes/gfxDrawable.cpp @@ -172,6 +172,9 @@ gfxSurfaceDrawable::Draw(gfxContext* aContext, PreparePatternForUntiledDrawing(pattern, deviceSpaceToImageSpace, surfaceType, currentTarget, filter); } +#ifdef MOZ_GFX_OPTIMIZE_MOBILE + pattern->SetFilter(gfxPattern::FILTER_FAST); +#endif pattern->SetMatrix(gfxMatrix(aTransform).Multiply(mTransform)); aContext->NewPath(); aContext->SetPattern(pattern); diff --git a/layout/base/nsLayoutUtils.cpp b/layout/base/nsLayoutUtils.cpp index 5769a4090276..7d3b417dd3b6 100644 --- a/layout/base/nsLayoutUtils.cpp +++ b/layout/base/nsLayoutUtils.cpp @@ -3065,7 +3065,11 @@ nsLayoutUtils::GetClosestLayer(nsIFrame* aFrame) GraphicsFilter nsLayoutUtils::GetGraphicsFilterForFrame(nsIFrame* aForFrame) { +#ifdef MOZ_GFX_OPTIMIZE_MOBILE + GraphicsFilter defaultFilter = gfxPattern::FILTER_NEAREST; +#else GraphicsFilter defaultFilter = gfxPattern::FILTER_GOOD; +#endif #ifdef MOZ_SVG nsIFrame *frame = nsCSSRendering::IsCanvasFrame(aForFrame) ? nsCSSRendering::FindBackgroundStyleFrame(aForFrame) : aForFrame; diff --git a/mobile/chrome/content/content.css b/mobile/chrome/content/content.css index 3a3bd8736109..35fa5c0b4301 100644 --- a/mobile/chrome/content/content.css +++ b/mobile/chrome/content/content.css @@ -353,10 +353,3 @@ input > .anonymous-div:after { margin: 16px; } -/* - * Enforce nearest scaling for video in order not to lose too much performance - * after fixing bug 598736 ("Use higher-quality imageinterpolation on mobile") - */ -video { - image-rendering: -moz-crisp-edges; -} From 9472cbe06e30c778f789f48d60738149df188f5d Mon Sep 17 00:00:00 2001 From: Robert O'Callahan Date: Mon, 11 Apr 2011 09:39:49 -0700 Subject: [PATCH 3/5] Backed out changeset 082a9df5c6f7 --- layout/base/nsIPresShell.h | 7 +++---- layout/base/nsPresShell.cpp | 14 ++++---------- 2 files changed, 7 insertions(+), 14 deletions(-) diff --git a/layout/base/nsIPresShell.h b/layout/base/nsIPresShell.h index 3b49d50f84c3..7a90912e51b8 100644 --- a/layout/base/nsIPresShell.h +++ b/layout/base/nsIPresShell.h @@ -139,8 +139,8 @@ typedef struct CapturingContentInfo { } CapturingContentInfo; #define NS_IPRESSHELL_IID \ - { 0xfd4ba6e3, 0x921c, 0x4058, \ - { 0xa6, 0x1b, 0xc7, 0x14, 0x5e, 0x80, 0x50, 0x1f } } + { 0x3a8030b5, 0x8d2c, 0x4cb3, \ + { 0xb5, 0xae, 0xb2, 0x43, 0xa9, 0x28, 0x02, 0x82 } } // Constants for ScrollContentIntoView() function #define NS_PRESSHELL_SCROLL_TOP 0 @@ -573,8 +573,7 @@ public: enum { SCROLL_FIRST_ANCESTOR_ONLY = 0x01, SCROLL_OVERFLOW_HIDDEN = 0x02, - SCROLL_NO_PARENT_FRAMES = 0x04, - SCROLL_ALLOW_SMOOTH = 0x08 + SCROLL_NO_PARENT_FRAMES = 0x04 }; /** * Scrolls the view of the document so that the given area of a frame diff --git a/layout/base/nsPresShell.cpp b/layout/base/nsPresShell.cpp index 6d4df2dbc5cf..c6a62928bc04 100644 --- a/layout/base/nsPresShell.cpp +++ b/layout/base/nsPresShell.cpp @@ -224,10 +224,7 @@ #define NS_TIME_FUNCTION_WITH_DOCURL do{} while(0) #endif -static const PRUint32 ANCHOR_SCROLL_FLAGS = - nsIPresShell::SCROLL_OVERFLOW_HIDDEN | - nsIPresShell::SCROLL_NO_PARENT_FRAMES | - nsIPresShell::SCROLL_ALLOW_SMOOTH; +#define ANCHOR_SCROLL_FLAGS (SCROLL_OVERFLOW_HIDDEN | SCROLL_NO_PARENT_FRAMES) #include "nsContentCID.h" static NS_DEFINE_IID(kRangeCID, NS_RANGE_CID); @@ -1196,9 +1193,8 @@ protected: // Information needed to properly handle scrolling content into view if the // pre-scroll reflow flush can be interrupted. mContentToScrollTo is // non-null between the initial scroll attempt and the first time we finish - // processing all our dirty roots. mContentScrollVPosition, - // mContentScrollHPosition and mContentToScrollToFlags are only used when - // it's non-null. + // processing all our dirty roots. mContentScrollVPosition and + // mContentScrollHPosition are only used when it's non-null. nsCOMPtr mContentToScrollTo; PRIntn mContentScrollVPosition; PRIntn mContentScrollHPosition; @@ -4152,9 +4148,7 @@ static void ScrollToShowRect(nsIScrollableFrame* aScrollFrame, } } - aScrollFrame->ScrollTo(scrollPt, - (aFlags & nsIPresShell::SCROLL_ALLOW_SMOOTH) ? nsIScrollableFrame::SMOOTH : - nsIScrollableFrame::INSTANT); + aScrollFrame->ScrollTo(scrollPt, nsIScrollableFrame::INSTANT); } nsresult From 43bf08bc710dc10c3e22da2d33db6468cb6f95c0 Mon Sep 17 00:00:00 2001 From: David Zbarsky Date: Mon, 11 Apr 2011 18:56:37 +0200 Subject: [PATCH 4/5] Bug 583514 - implement click and accesskey for all HTML elements r=smaug --- .../src/html/nsHTMLFormControlAccessible.cpp | 2 +- content/base/public/nsINode.h | 5 +- content/events/test/test_bug409604.html | 168 +++++++++++++----- .../html/content/reftests/409604-1-ref.html | 6 + content/html/content/reftests/409604-1.html | 15 ++ .../html/content/reftests/583514-1-ref.html | 3 + content/html/content/reftests/583514-1.html | 24 +++ .../html/content/reftests/583514-2-ref.html | 2 + content/html/content/reftests/583514-2.html | 13 ++ content/html/content/reftests/reftest.list | 3 + .../html/content/src/nsGenericHTMLElement.cpp | 56 ++++++ .../html/content/src/nsGenericHTMLElement.h | 21 ++- .../html/content/src/nsHTMLAnchorElement.cpp | 38 ---- .../html/content/src/nsHTMLAreaElement.cpp | 31 +--- .../html/content/src/nsHTMLButtonElement.cpp | 50 ------ .../html/content/src/nsHTMLInputElement.cpp | 71 +------- content/html/content/src/nsHTMLInputElement.h | 34 ++-- .../html/content/src/nsHTMLLabelElement.cpp | 54 ++---- .../html/content/src/nsHTMLLegendElement.cpp | 67 ++----- .../html/content/src/nsHTMLLegendElement.h | 11 +- .../html/content/src/nsHTMLSelectElement.cpp | 12 -- .../content/src/nsHTMLTextAreaElement.cpp | 13 -- content/html/content/test/test_bug583514.html | 61 +++++++ .../html/nsIDOMHTMLAnchorElement.idl | 5 +- .../html/nsIDOMHTMLAppletElement.idl | 2 +- dom/interfaces/html/nsIDOMHTMLAreaElement.idl | 3 +- .../html/nsIDOMHTMLAudioElement.idl | 2 +- dom/interfaces/html/nsIDOMHTMLBRElement.idl | 2 +- dom/interfaces/html/nsIDOMHTMLBaseElement.idl | 2 +- dom/interfaces/html/nsIDOMHTMLBodyElement.idl | 2 +- .../html/nsIDOMHTMLButtonElement.idl | 9 +- .../html/nsIDOMHTMLCanvasElement.idl | 2 +- dom/interfaces/html/nsIDOMHTMLCollection.idl | 2 +- .../html/nsIDOMHTMLDListElement.idl | 2 +- .../html/nsIDOMHTMLDataListElement.idl | 2 +- .../html/nsIDOMHTMLDirectoryElement.idl | 2 +- dom/interfaces/html/nsIDOMHTMLDivElement.idl | 2 +- dom/interfaces/html/nsIDOMHTMLElement.idl | 8 +- .../html/nsIDOMHTMLEmbedElement.idl | 2 +- .../html/nsIDOMHTMLFieldSetElement.idl | 2 +- dom/interfaces/html/nsIDOMHTMLFontElement.idl | 2 +- dom/interfaces/html/nsIDOMHTMLFormElement.idl | 2 +- .../html/nsIDOMHTMLFrameElement.idl | 2 +- .../html/nsIDOMHTMLFrameSetElement.idl | 2 +- dom/interfaces/html/nsIDOMHTMLHRElement.idl | 2 +- dom/interfaces/html/nsIDOMHTMLHeadElement.idl | 2 +- .../html/nsIDOMHTMLHeadingElement.idl | 2 +- dom/interfaces/html/nsIDOMHTMLHtmlElement.idl | 2 +- .../html/nsIDOMHTMLIFrameElement.idl | 2 +- .../html/nsIDOMHTMLImageElement.idl | 2 +- .../html/nsIDOMHTMLInputElement.idl | 7 +- .../html/nsIDOMHTMLIsIndexElement.idl | 2 +- dom/interfaces/html/nsIDOMHTMLLIElement.idl | 2 +- .../html/nsIDOMHTMLLabelElement.idl | 4 +- .../html/nsIDOMHTMLLegendElement.idl | 3 +- dom/interfaces/html/nsIDOMHTMLLinkElement.idl | 2 +- dom/interfaces/html/nsIDOMHTMLMapElement.idl | 2 +- .../html/nsIDOMHTMLMediaElement.idl | 2 +- dom/interfaces/html/nsIDOMHTMLMenuElement.idl | 2 +- dom/interfaces/html/nsIDOMHTMLMetaElement.idl | 2 +- dom/interfaces/html/nsIDOMHTMLModElement.idl | 2 +- .../html/nsIDOMHTMLOListElement.idl | 2 +- .../html/nsIDOMHTMLObjectElement.idl | 2 +- .../html/nsIDOMHTMLOptGroupElement.idl | 2 +- .../html/nsIDOMHTMLOptionElement.idl | 2 +- .../html/nsIDOMHTMLOutputElement.idl | 2 +- .../html/nsIDOMHTMLParagraphElement.idl | 2 +- .../html/nsIDOMHTMLParamElement.idl | 2 +- dom/interfaces/html/nsIDOMHTMLPreElement.idl | 2 +- .../html/nsIDOMHTMLQuoteElement.idl | 2 +- .../html/nsIDOMHTMLScriptElement.idl | 2 +- .../html/nsIDOMHTMLSelectElement.idl | 6 +- .../html/nsIDOMHTMLSourceElement.idl | 2 +- .../html/nsIDOMHTMLStyleElement.idl | 2 +- .../html/nsIDOMHTMLTableCaptionElem.idl | 2 +- .../html/nsIDOMHTMLTableCellElement.idl | 2 +- .../html/nsIDOMHTMLTableColElement.idl | 2 +- .../html/nsIDOMHTMLTableElement.idl | 2 +- .../html/nsIDOMHTMLTableRowElement.idl | 2 +- .../html/nsIDOMHTMLTableSectionElem.idl | 2 +- .../html/nsIDOMHTMLTextAreaElement.idl | 5 +- .../html/nsIDOMHTMLTitleElement.idl | 2 +- .../html/nsIDOMHTMLUListElement.idl | 2 +- .../html/nsIDOMHTMLUnknownElement.idl | 2 +- .../html/nsIDOMHTMLVideoElement.idl | 2 +- dom/interfaces/html/nsIDOMNSHTMLElement.idl | 5 +- dom/interfaces/html/nsIDOMNSHTMLHRElement.idl | 2 +- 87 files changed, 459 insertions(+), 464 deletions(-) create mode 100644 content/html/content/reftests/409604-1-ref.html create mode 100644 content/html/content/reftests/409604-1.html create mode 100644 content/html/content/reftests/583514-1-ref.html create mode 100644 content/html/content/reftests/583514-1.html create mode 100644 content/html/content/reftests/583514-2-ref.html create mode 100644 content/html/content/reftests/583514-2.html create mode 100644 content/html/content/test/test_bug583514.html diff --git a/accessible/src/html/nsHTMLFormControlAccessible.cpp b/accessible/src/html/nsHTMLFormControlAccessible.cpp index 1c586beeb7c8..d76d6e4644a8 100644 --- a/accessible/src/html/nsHTMLFormControlAccessible.cpp +++ b/accessible/src/html/nsHTMLFormControlAccessible.cpp @@ -526,7 +526,7 @@ NS_IMETHODIMP nsHTMLTextFieldAccessible::GetActionName(PRUint8 aIndex, nsAString NS_IMETHODIMP nsHTMLTextFieldAccessible::DoAction(PRUint8 index) { if (index == 0) { - nsCOMPtr element(do_QueryInterface(mContent)); + nsCOMPtr element(do_QueryInterface(mContent)); if ( element ) { return element->Focus(); } diff --git a/content/base/public/nsINode.h b/content/base/public/nsINode.h index 9399fe85c6b7..cf740dca7673 100644 --- a/content/base/public/nsINode.h +++ b/content/base/public/nsINode.h @@ -162,11 +162,14 @@ enum { // Set if the node has the accesskey attribute set. NODE_HAS_ACCESSKEY = 0x00020000U, + // Set if the node is handling a click. + NODE_HANDLING_CLICK = 0x00040000U, + // Two bits for the script-type ID. Not enough to represent all // nsIProgrammingLanguage values, but we don't care. In practice, // we can represent the ones we want, and we can fail the others at // runtime. - NODE_SCRIPT_TYPE_OFFSET = 18, + NODE_SCRIPT_TYPE_OFFSET = 19, NODE_SCRIPT_TYPE_SIZE = 2, diff --git a/content/events/test/test_bug409604.html b/content/events/test/test_bug409604.html index abfc829d1d43..96342cb22185 100644 --- a/content/events/test/test_bug409604.html +++ b/content/events/test/test_bug409604.html @@ -22,14 +22,11 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=409604 var modifier = Components.interfaces.nsIDOMNSEvent.ALT_MASK | Components.interfaces.nsIDOMNSEvent.SHIFT_MASK; - var expectedFocus = "d,g,h,k,l,m,n"; + var expectedFocus = "a,c,d,e,f,g,h,i,j,k,l,m,n,p,x,y"; // XXX the "map" test is causing trouble, see bug 433089 - // var expectedClick = "a,b,c,e,f,i,j"; - var expectedClick = "a,c,e,f,i,j"; var focusArray = expectedFocus.split(","); - var clickArray = expectedClick.split(","); - var invalidElementId = "invalid"; - var invalidTags = [ + var unfocusableElementId = "invalid"; + var unfocusableTags = [ {tag: "abbr", content: "text", attribs: {title: "something"}}, {tag: "acronym", content: "text", attribs: {title: "something"}}, {tag: "address", content: "text"}, @@ -63,7 +60,6 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=409604 {tag: "li", content: "text", parent: "ol"}, {tag: "li", content: "text", parent: "ul"}, {tag: "noscript", content: "text"}, - {tag: "object", content: "text"}, {tag: "ol", content: "
  • text
  • "}, {tag: "optgroup", content: "", attribs: {label: "some label"}, parent: "select"}, {tag: "option", content: "text", parent: "select"}, @@ -71,7 +67,6 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=409604 {tag: "pre", content: "text"}, {tag: "q", content: "text"}, {tag: "samp", content: "text"}, - {tag: "select", content: ""}, {tag: "small", content: "text"}, {tag: "span", content: "text"}, {tag: "strong", content: "text"}, @@ -133,9 +128,6 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=409604 function handleClick(e) { ok("accessKey" in e, "(click) accesskey property not found on element"); - var expected = clickArray.shift(); - ok(expected == e.accessKey, "(click) unexpected element: " + e.accessKey + - " expected: " + expected); } function handleInvalid(e) { @@ -154,19 +146,18 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=409604 utils.sendKeyEvent("keyup", key, key, modifier); } - function testValidElements() { - for (var code = "a".charCodeAt(0); code <= "o".charCodeAt(0); ++ code) { + function testFocusableElements() { + for (var code = "a".charCodeAt(0); code <= "y".charCodeAt(0); ++ code) { // XXX the "map" test is causing trouble, see bug 433089 if (code == "b".charCodeAt(0)) continue; pressAccessKey(code); } ok(focusArray.length == 0, "(focus) unhandled elements remaining: " + focusArray.join(",")); - ok(clickArray.length == 0, "(click) unhandled elements remaining: " + clickArray.join(",")); } - function createInvalidElement(elem, accesskey) { - ok("tag" in elem, "invalid object passed to createInvalidElement: " + elem.toString()); + function createUnfocusableElement(elem, accesskey) { + ok("tag" in elem, "invalid object passed to createUnfocusableElement: " + elem.toString()); var e = document.createElement(elem.tag); if ("content" in elem) { e.innerHTML = elem.content; @@ -177,7 +168,7 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=409604 } } e.setAttribute("accesskey", accesskey); - e.setAttribute("onclick", "handleInvalid(event.target); event.preventDefault();"); + e.setAttribute("onclick", "handleClick(event.target); event.preventDefault();"); e.setAttribute("onfocus", "handleInvalid(event.target);"); var parent = null; var elementToInsert = null; @@ -196,7 +187,7 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=409604 } ok(parent != null, "parent element not specified for element: " + elem.tag); ok(elementToInsert != null, "elementToInsert not specified for element: " + elem.tag); - elementToInsert.setAttribute("id", invalidElementId); + elementToInsert.setAttribute("id", unfocusableElementId); if ("where" in elem) { if (elem.where == "first") { parent.insertBefore(elementToInsert, parent.firstChild); @@ -208,25 +199,25 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=409604 } } - function destroyInvalidElement() { - var el = document.getElementById(invalidElementId); - ok(el != null, "invalid element not found"); + function destroyUnfocusableElement() { + var el = document.getElementById(unfocusableElementId); + ok(el != null, "unfocusable element not found"); el.parentNode.removeChild(el); - ok(document.getElementById(invalidElementId) == null, "invalid element not properly removed"); + ok(document.getElementById(unfocusableElementId) == null, "unfocusable element not properly removed"); } - function testInvalidElements() { + function testUnfocusableElements() { var i, e; - for (i = 0; i < invalidTags.length; ++ i) { - createInvalidElement(invalidTags[i], "z"); + for (i = 0; i < unfocusableTags.length; ++ i) { + createUnfocusableElement(unfocusableTags[i], "z"); pressAccessKey("z".charCodeAt(0)); - destroyInvalidElement(); + destroyUnfocusableElement(); } for (i = 0; i < invalidElements.length; ++ i) { e = document.getElementById(invalidElements[i]); ok(e != null, "element with ID " + invalidElements[i] + " not found"); e.setAttribute("accesskey", "z"); - e.setAttribute("onclick", "handleInvalid(event.target); event.preventDefault();"); + e.setAttribute("onclick", "handleClick(event.target); event.preventDefault();"); e.setAttribute("onfocus", "handleInvalid(event.target);"); pressAccessKey("z".charCodeAt(0)); e.removeAttribute("accesskey"); @@ -236,8 +227,8 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=409604 } function start() { - testValidElements(); - testInvalidElements(); + testFocusableElements(); + testUnfocusableElements(); setOrRestoreContentAccess(0); SimpleTest.finish(); } @@ -265,7 +256,7 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=409604 - atest link + atest link" - button + button - input type="text" + input type="text" - input type="button" + input type="button" - input type="checkbox" + input type="checkbox" - input type="radio" + input type="radio" - input type="password" + input type="password" - input type="submit" + input type="submit" - input type="reset" + input type="reset" - label + label legend
    test legend -
    + - textarea + textarea - label (label invisible) - + label (label invisible) + - label (control invisible) - + label (control invisible) + + + select + + + + + + object + + an object + + + + a without href + + an object + + + + disabled button + + + + + + disabled input + + + + + + hidden input + + disabled + + + + disabled select + + + + + + disabled textarea + + + + + + scrollable div(focusable) + +
    + The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy + + dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the + + lazy dog. The quick brown fox jumps over the lazy dog. + The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy + + dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the + + lazy dog. The quick brown fox jumps over the lazy dog. + The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy + + dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the + + lazy dog. The quick brown fox jumps over the lazy dog. +
    + + + + contenteditable div(focusable) + +
    + Test text..... +
    + +
    diff --git a/content/html/content/reftests/409604-1-ref.html b/content/html/content/reftests/409604-1-ref.html new file mode 100644 index 000000000000..f079d76789a6 --- /dev/null +++ b/content/html/content/reftests/409604-1-ref.html @@ -0,0 +1,6 @@ + + + +
    pass
    + + diff --git a/content/html/content/reftests/409604-1.html b/content/html/content/reftests/409604-1.html new file mode 100644 index 000000000000..d06b59d29e20 --- /dev/null +++ b/content/html/content/reftests/409604-1.html @@ -0,0 +1,15 @@ + + + + +
    + + diff --git a/content/html/content/reftests/583514-1-ref.html b/content/html/content/reftests/583514-1-ref.html new file mode 100644 index 000000000000..e4777912bf5a --- /dev/null +++ b/content/html/content/reftests/583514-1-ref.html @@ -0,0 +1,3 @@ + + +
    Results: div clicked body clicked input clicked div clicked body clicked input focused diff --git a/content/html/content/reftests/583514-1.html b/content/html/content/reftests/583514-1.html new file mode 100644 index 000000000000..4df5458aa0ec --- /dev/null +++ b/content/html/content/reftests/583514-1.html @@ -0,0 +1,24 @@ + + + + + +
    +
    +
    Results: diff --git a/content/html/content/reftests/583514-2-ref.html b/content/html/content/reftests/583514-2-ref.html new file mode 100644 index 000000000000..95aec3d4e4b2 --- /dev/null +++ b/content/html/content/reftests/583514-2-ref.html @@ -0,0 +1,2 @@ + +Pass diff --git a/content/html/content/reftests/583514-2.html b/content/html/content/reftests/583514-2.html new file mode 100644 index 000000000000..17479f7471c6 --- /dev/null +++ b/content/html/content/reftests/583514-2.html @@ -0,0 +1,13 @@ + + + + + +
    Fail
    + \ No newline at end of file diff --git a/content/html/content/reftests/reftest.list b/content/html/content/reftests/reftest.list index 5150ac68e6c8..27800d3ab9e2 100644 --- a/content/html/content/reftests/reftest.list +++ b/content/html/content/reftests/reftest.list @@ -21,6 +21,9 @@ include autofocus/reftest.list == 596455-2a.html 596455-ref-2.html == 596455-2b.html 596455-ref-2.html == 610935.html 610935-ref.html +== 583514-1.html 583514-1-ref.html +== 583514-2.html 583514-2-ref.html +== 409604-1.html 409604-1-ref.html == hidden-1a.html hidden-1-ref.html == hidden-1b.html hidden-1-ref.html == hidden-1c.html hidden-1-ref.html diff --git a/content/html/content/src/nsGenericHTMLElement.cpp b/content/html/content/src/nsGenericHTMLElement.cpp index c9ceb1c27b54..6277b3700e38 100644 --- a/content/html/content/src/nsGenericHTMLElement.cpp +++ b/content/html/content/src/nsGenericHTMLElement.cpp @@ -466,6 +466,8 @@ nsGenericHTMLElement::SetClassName(const nsAString& aClassName) return NS_OK; } +NS_IMPL_STRING_ATTR(nsGenericHTMLElement, AccessKey, accesskey) + static PRBool IsBody(nsIContent *aContent) { @@ -946,6 +948,7 @@ nsGenericHTMLElement::BindToTree(nsIDocument* aDocument, nsIContent* aParent, NS_ENSURE_SUCCESS(rv, rv); if (aDocument) { + RegAccessKey(); if (HasName()) { aDocument-> AddToNameTable(this, GetParsedAttr(nsGkAtoms::name)->GetAtomValue()); @@ -964,6 +967,10 @@ nsGenericHTMLElement::BindToTree(nsIDocument* aDocument, nsIContent* aParent, void nsGenericHTMLElement::UnbindFromTree(PRBool aDeep, PRBool aNullParent) { + if (IsInDoc()) { + UnregAccessKey(); + } + RemoveFromNameTable(); if (GetContentEditableValue() == eTrue) { @@ -1183,12 +1190,19 @@ nsGenericHTMLElement::SetAttr(PRInt32 aNameSpaceID, nsIAtom* aName, { PRBool contentEditable = aNameSpaceID == kNameSpaceID_None && aName == nsGkAtoms::contenteditable; + PRBool accessKey = aName == nsGkAtoms::accesskey && + aNameSpaceID == kNameSpaceID_None; + PRInt32 change; if (contentEditable) { change = GetContentEditableValue() == eTrue ? -1 : 0; SetMayHaveContentEditableAttr(); } + if (accessKey) { + UnregAccessKey(); + } + nsresult rv = nsStyledElement::SetAttr(aNameSpaceID, aName, aPrefix, aValue, aNotify); NS_ENSURE_SUCCESS(rv, rv); @@ -1201,6 +1215,11 @@ nsGenericHTMLElement::SetAttr(PRInt32 aNameSpaceID, nsIAtom* aName, ChangeEditableState(change); } + if (accessKey && !aValue.IsEmpty()) { + SetFlags(NODE_HAS_ACCESSKEY); + RegAccessKey(); + } + return NS_OK; } @@ -1222,6 +1241,11 @@ nsGenericHTMLElement::UnsetAttr(PRInt32 aNameSpaceID, nsIAtom* aAttribute, contentEditable = PR_TRUE; contentEditableChange = GetContentEditableValue() == eTrue ? -1 : 0; } + else if (aAttribute == nsGkAtoms::accesskey) { + // Have to unregister before clearing flag. See UnregAccessKey + UnregAccessKey(); + UnsetFlags(NODE_HAS_ACCESSKEY); + } else if (nsContentUtils::IsEventAttributeName(aAttribute, EventNameType_HTML)) { nsIEventListenerManager* manager = GetListenerManager(PR_FALSE); @@ -3229,6 +3253,38 @@ nsGenericHTMLElement::Focus() return fm ? fm->SetFocus(elem, 0) : NS_OK; } +nsresult nsGenericHTMLElement::Click() +{ + if (HasFlag(NODE_HANDLING_CLICK)) + return NS_OK; + + // Strong in case the event kills it + nsCOMPtr doc = GetCurrentDoc(); + + nsCOMPtr shell = nsnull; + nsRefPtr context = nsnull; + if (doc) { + shell = doc->GetShell(); + if (shell) { + context = shell->GetPresContext(); + } + } + + SetFlags(NODE_HANDLING_CLICK); + + // Click() is never called from native code, but it may be + // called from chrome JS. Mark this event trusted if Click() + // is called from chrome code. + nsMouseEvent event(nsContentUtils::IsCallerChrome(), + NS_MOUSE_CLICK, nsnull, nsMouseEvent::eReal); + event.inputSource = nsIDOMNSMouseEvent::MOZ_SOURCE_UNKNOWN; + + nsEventDispatcher::Dispatch(this, context, &event); + + UnsetFlags(NODE_HANDLING_CLICK); + return NS_OK; +} + PRBool nsGenericHTMLElement::IsHTMLFocusable(PRBool aWithMouse, PRBool *aIsFocusable, diff --git a/content/html/content/src/nsGenericHTMLElement.h b/content/html/content/src/nsGenericHTMLElement.h index f82c0636495d..6a346b1d4e5a 100644 --- a/content/html/content/src/nsGenericHTMLElement.h +++ b/content/html/content/src/nsGenericHTMLElement.h @@ -140,6 +140,7 @@ public: // classes that inherit interfaces with those methods properly override them. NS_IMETHOD Focus(); NS_IMETHOD Blur(); + NS_IMETHOD Click(); NS_IMETHOD GetTabIndex(PRInt32 *aTabIndex); NS_IMETHOD SetTabIndex(PRInt32 aTabIndex); NS_IMETHOD GetHidden(PRBool* aHidden); @@ -148,7 +149,9 @@ public: NS_IMETHOD SetSpellcheck(PRBool aSpellcheck); NS_IMETHOD GetDraggable(PRBool* aDraggable); NS_IMETHOD SetDraggable(PRBool aDraggable); - nsresult GetContentEditable(nsAString &aContentEditable); + NS_IMETHOD GetAccessKey(nsAString &aAccessKey); + NS_IMETHOD SetAccessKey(const nsAString& aAccessKey); + nsresult GetContentEditable(nsAString& aContentEditable); nsresult GetIsContentEditable(PRBool* aContentEditable); nsresult SetContentEditable(const nsAString &aContentEditable); @@ -1480,6 +1483,22 @@ protected: NS_INTERFACE_TABLE_ENTRY(_class, _i10) \ NS_OFFSET_AND_INTERFACE_TABLE_END +/* Use this macro to declare functions that forward the behavior of this interface to another object. + This macro doesn't forward Focus or Click because sometimes elements will want to override them. */ +#define NS_FORWARD_NSIDOMHTMLELEMENT_NOFOCUSCLICK(_to) \ + NS_SCRIPTABLE NS_IMETHOD GetId(nsAString & aId) { return _to GetId(aId); } \ + NS_SCRIPTABLE NS_IMETHOD SetId(const nsAString & aId) { return _to SetId(aId); } \ + NS_SCRIPTABLE NS_IMETHOD GetTitle(nsAString & aTitle) { return _to GetTitle(aTitle); } \ + NS_SCRIPTABLE NS_IMETHOD SetTitle(const nsAString & aTitle) { return _to SetTitle(aTitle); } \ + NS_SCRIPTABLE NS_IMETHOD GetLang(nsAString & aLang) { return _to GetLang(aLang); } \ + NS_SCRIPTABLE NS_IMETHOD SetLang(const nsAString & aLang) { return _to SetLang(aLang); } \ + NS_SCRIPTABLE NS_IMETHOD GetDir(nsAString & aDir) { return _to GetDir(aDir); } \ + NS_SCRIPTABLE NS_IMETHOD SetDir(const nsAString & aDir) { return _to SetDir(aDir); } \ + NS_SCRIPTABLE NS_IMETHOD GetClassName(nsAString & aClassName) { return _to GetClassName(aClassName); } \ + NS_SCRIPTABLE NS_IMETHOD SetClassName(const nsAString & aClassName) { return _to SetClassName(aClassName); } \ + NS_SCRIPTABLE NS_IMETHOD GetAccessKey(nsAString & aAccessKey) { return _to GetAccessKey(aAccessKey); } \ + NS_SCRIPTABLE NS_IMETHOD SetAccessKey(const nsAString & aAccessKey) { return _to SetAccessKey(aAccessKey); } \ + NS_SCRIPTABLE NS_IMETHOD Blur(void) { return _to Blur(); } /** * A macro to declare the NS_NewHTMLXXXElement() functions. diff --git a/content/html/content/src/nsHTMLAnchorElement.cpp b/content/html/content/src/nsHTMLAnchorElement.cpp index 6331126d40b9..8602bad4a079 100644 --- a/content/html/content/src/nsHTMLAnchorElement.cpp +++ b/content/html/content/src/nsHTMLAnchorElement.cpp @@ -167,7 +167,6 @@ NS_IMPL_STRING_ATTR(nsHTMLAnchorElement, Rev, rev) NS_IMPL_STRING_ATTR(nsHTMLAnchorElement, Shape, shape) NS_IMPL_INT_ATTR(nsHTMLAnchorElement, TabIndex, tabindex) NS_IMPL_STRING_ATTR(nsHTMLAnchorElement, Type, type) -NS_IMPL_STRING_ATTR(nsHTMLAnchorElement, AccessKey, accesskey) NS_IMETHODIMP nsHTMLAnchorElement::GetDraggable(PRBool* aDraggable) @@ -196,10 +195,6 @@ nsHTMLAnchorElement::BindToTree(nsIDocument* aDocument, nsIContent* aParent, aCompileEventHandlers); NS_ENSURE_SUCCESS(rv, rv); - if (aDocument) { - RegAccessKey(); - } - // Prefetch links if (aDocument && nsHTMLDNSPrefetch::IsAllowed(GetOwnerDoc())) { nsHTMLDNSPrefetch::PrefetchLow(this); @@ -214,25 +209,9 @@ nsHTMLAnchorElement::UnbindFromTree(PRBool aDeep, PRBool aNullParent) // be under a different xml:base, so forget the cached state now. Link::ResetLinkState(false); - if (IsInDoc()) { - UnregAccessKey(); - } - nsGenericHTMLElement::UnbindFromTree(aDeep, aNullParent); } -NS_IMETHODIMP -nsHTMLAnchorElement::Blur() -{ - return nsGenericHTMLElement::Blur(); -} - -NS_IMETHODIMP -nsHTMLAnchorElement::Focus() -{ - return nsGenericHTMLElement::Focus(); -} - PRBool nsHTMLAnchorElement::IsHTMLFocusable(PRBool aWithMouse, PRBool *aIsFocusable, PRInt32 *aTabIndex) @@ -401,10 +380,6 @@ nsHTMLAnchorElement::SetAttr(PRInt32 aNameSpaceID, nsIAtom* aName, nsIAtom* aPrefix, const nsAString& aValue, PRBool aNotify) { - if (aName == nsGkAtoms::accesskey && kNameSpaceID_None == aNameSpaceID) { - UnregAccessKey(); - } - bool reset = false; if (aName == nsGkAtoms::href && kNameSpaceID_None == aNameSpaceID) { // If we do not have a cached URI, we have some value here so we must reset @@ -434,12 +409,6 @@ nsHTMLAnchorElement::SetAttr(PRInt32 aNameSpaceID, nsIAtom* aName, Link::ResetLinkState(!!aNotify); } - if (aName == nsGkAtoms::accesskey && kNameSpaceID_None == aNameSpaceID && - !aValue.IsEmpty()) { - SetFlags(NODE_HAS_ACCESSKEY); - RegAccessKey(); - } - return rv; } @@ -447,13 +416,6 @@ nsresult nsHTMLAnchorElement::UnsetAttr(PRInt32 aNameSpaceID, nsIAtom* aAttribute, PRBool aNotify) { - if (aAttribute == nsGkAtoms::accesskey && - kNameSpaceID_None == aNameSpaceID) { - // Have to unregister before clearing flag. See UnregAccessKey - UnregAccessKey(); - UnsetFlags(NODE_HAS_ACCESSKEY); - } - nsresult rv = nsGenericHTMLElement::UnsetAttr(aNameSpaceID, aAttribute, aNotify); diff --git a/content/html/content/src/nsHTMLAreaElement.cpp b/content/html/content/src/nsHTMLAreaElement.cpp index 3521117f62da..2f5e85a1d064 100644 --- a/content/html/content/src/nsHTMLAreaElement.cpp +++ b/content/html/content/src/nsHTMLAreaElement.cpp @@ -140,7 +140,6 @@ NS_HTML_CONTENT_INTERFACE_TABLE_TAIL_CLASSINFO(HTMLAreaElement) NS_IMPL_ELEMENT_CLONE(nsHTMLAreaElement) -NS_IMPL_STRING_ATTR(nsHTMLAreaElement, AccessKey, accesskey) NS_IMPL_STRING_ATTR(nsHTMLAreaElement, Alt, alt) NS_IMPL_STRING_ATTR(nsHTMLAreaElement, Coords, coords) NS_IMPL_URI_ATTR(nsHTMLAreaElement, Href, href) @@ -197,16 +196,9 @@ nsHTMLAreaElement::BindToTree(nsIDocument* aDocument, nsIContent* aParent, { Link::ResetLinkState(false); - nsresult rv = nsGenericHTMLElement::BindToTree(aDocument, aParent, + return nsGenericHTMLElement::BindToTree(aDocument, aParent, aBindingParent, aCompileEventHandlers); - NS_ENSURE_SUCCESS(rv, rv); - - if (aDocument) { - RegAccessKey(); - } - - return rv; } void @@ -216,10 +208,6 @@ nsHTMLAreaElement::UnbindFromTree(PRBool aDeep, PRBool aNullParent) // be under a different xml:base, so forget the cached state now. Link::ResetLinkState(false); - if (IsInDoc()) { - UnregAccessKey(); - } - nsGenericHTMLElement::UnbindFromTree(aDeep, aNullParent); } @@ -228,10 +216,6 @@ nsHTMLAreaElement::SetAttr(PRInt32 aNameSpaceID, nsIAtom* aName, nsIAtom* aPrefix, const nsAString& aValue, PRBool aNotify) { - if (aName == nsGkAtoms::accesskey && aNameSpaceID == kNameSpaceID_None) { - UnregAccessKey(); - } - nsresult rv = nsGenericHTMLElement::SetAttr(aNameSpaceID, aName, aPrefix, aValue, aNotify); @@ -244,12 +228,6 @@ nsHTMLAreaElement::SetAttr(PRInt32 aNameSpaceID, nsIAtom* aName, Link::ResetLinkState(!!aNotify); } - if (aName == nsGkAtoms::accesskey && aNameSpaceID == kNameSpaceID_None && - !aValue.IsEmpty()) { - SetFlags(NODE_HAS_ACCESSKEY); - RegAccessKey(); - } - return rv; } @@ -257,13 +235,6 @@ nsresult nsHTMLAreaElement::UnsetAttr(PRInt32 aNameSpaceID, nsIAtom* aAttribute, PRBool aNotify) { - if (aAttribute == nsGkAtoms::accesskey && - aNameSpaceID == kNameSpaceID_None) { - // Have to unregister before clearing flag. See UnregAccessKey - UnregAccessKey(); - UnsetFlags(NODE_HAS_ACCESSKEY); - } - nsresult rv = nsGenericHTMLElement::UnsetAttr(aNameSpaceID, aAttribute, aNotify); diff --git a/content/html/content/src/nsHTMLButtonElement.cpp b/content/html/content/src/nsHTMLButtonElement.cpp index 3b1a06bd775e..6804fa70edd8 100644 --- a/content/html/content/src/nsHTMLButtonElement.cpp +++ b/content/html/content/src/nsHTMLButtonElement.cpp @@ -138,7 +138,6 @@ public: protected: PRUint8 mType; - PRPackedBool mHandlingClick; PRPackedBool mDisabledChanged; PRPackedBool mInInternalActivate; @@ -158,7 +157,6 @@ NS_IMPL_NS_NEW_HTML_ELEMENT(Button) nsHTMLButtonElement::nsHTMLButtonElement(already_AddRefed aNodeInfo) : nsGenericHTMLFormElement(aNodeInfo), mType(kButtonDefaultType->value), - mHandlingClick(PR_FALSE), mDisabledChanged(PR_FALSE), mInInternalActivate(PR_FALSE) { @@ -204,7 +202,6 @@ nsHTMLButtonElement::GetForm(nsIDOMHTMLFormElement** aForm) return nsGenericHTMLFormElement::GetForm(aForm); } -NS_IMPL_STRING_ATTR(nsHTMLButtonElement, AccessKey, accesskey) NS_IMPL_BOOL_ATTR(nsHTMLButtonElement, Autofocus, autofocus) NS_IMPL_BOOL_ATTR(nsHTMLButtonElement, Disabled, disabled) NS_IMPL_ACTION_ATTR(nsHTMLButtonElement, FormAction, formaction) @@ -220,53 +217,6 @@ NS_IMPL_STRING_ATTR(nsHTMLButtonElement, Value, value) NS_IMPL_ENUM_ATTR_DEFAULT_VALUE(nsHTMLButtonElement, Type, type, kButtonDefaultType->tag) -NS_IMETHODIMP -nsHTMLButtonElement::Blur() -{ - return nsGenericHTMLElement::Blur(); -} - -NS_IMETHODIMP -nsHTMLButtonElement::Focus() -{ - return nsGenericHTMLElement::Focus(); -} - -NS_IMETHODIMP -nsHTMLButtonElement::Click() -{ - if (mHandlingClick) - return NS_OK; - - mHandlingClick = PR_TRUE; - // Hold on to the document in case one of the events makes it die or - // something... - nsCOMPtr doc = GetCurrentDoc(); - - if (doc) { - nsIPresShell *shell = doc->GetShell(); - if (shell) { - nsRefPtr context = shell->GetPresContext(); - if (context) { - // Click() is never called from native code, but it may be - // called from chrome JS. Mark this event trusted if Click() - // is called from chrome code. - nsMouseEvent event(nsContentUtils::IsCallerChrome(), - NS_MOUSE_CLICK, nsnull, - nsMouseEvent::eReal); - event.inputSource = nsIDOMNSMouseEvent::MOZ_SOURCE_UNKNOWN; - nsEventStatus status = nsEventStatus_eIgnore; - nsEventDispatcher::Dispatch(static_cast(this), context, - &event, nsnull, &status); - } - } - } - - mHandlingClick = PR_FALSE; - - return NS_OK; -} - PRBool nsHTMLButtonElement::IsHTMLFocusable(PRBool aWithMouse, PRBool *aIsFocusable, PRInt32 *aTabIndex) { diff --git a/content/html/content/src/nsHTMLInputElement.cpp b/content/html/content/src/nsHTMLInputElement.cpp index 8313099c4734..8a3b8c0235d2 100644 --- a/content/html/content/src/nsHTMLInputElement.cpp +++ b/content/html/content/src/nsHTMLInputElement.cpp @@ -973,7 +973,6 @@ nsHTMLInputElement::GetForm(nsIDOMHTMLFormElement** aForm) NS_IMPL_STRING_ATTR(nsHTMLInputElement, DefaultValue, value) NS_IMPL_BOOL_ATTR(nsHTMLInputElement, DefaultChecked, checked) NS_IMPL_STRING_ATTR(nsHTMLInputElement, Accept, accept) -NS_IMPL_STRING_ATTR(nsHTMLInputElement, AccessKey, accesskey) NS_IMPL_STRING_ATTR(nsHTMLInputElement, Align, align) NS_IMPL_STRING_ATTR(nsHTMLInputElement, Alt, alt) NS_IMPL_ENUM_ATTR_DEFAULT_VALUE(nsHTMLInputElement, Autocomplete, autocomplete, @@ -1746,12 +1745,6 @@ nsHTMLInputElement::SetCheckedInternal(PRBool aChecked, PRBool aNotify) } } -NS_IMETHODIMP -nsHTMLInputElement::Blur() -{ - return nsGenericHTMLElement::Blur(); -} - NS_IMETHODIMP nsHTMLInputElement::Focus() { @@ -1855,68 +1848,10 @@ nsHTMLInputElement::SelectAll(nsPresContext* aPresContext) NS_IMETHODIMP nsHTMLInputElement::Click() { - nsresult rv = NS_OK; + if (mType == NS_FORM_INPUT_FILE) + FireAsyncClickHandler(); - if (GET_BOOLBIT(mBitField, BF_HANDLING_CLICK)) // Fixes crash as in bug 41599 - return rv; // --heikki@netscape.com - - // first see if we are disabled or not. If disabled then do nothing. - nsAutoString disabled; - if (IsDisabled()) { - return NS_OK; - } - - // see what type of input we are. Only click button, checkbox, radio, - // reset, submit, & image - if (mType == NS_FORM_INPUT_BUTTON || - mType == NS_FORM_INPUT_CHECKBOX || - mType == NS_FORM_INPUT_RADIO || - mType == NS_FORM_INPUT_RESET || - mType == NS_FORM_INPUT_SUBMIT || - mType == NS_FORM_INPUT_IMAGE || - mType == NS_FORM_INPUT_FILE) { - - // Strong in case the event kills it - nsCOMPtr doc = GetCurrentDoc(); - if (!doc) { - return rv; - } - - nsCOMPtr shell = doc->GetShell(); - nsRefPtr context = nsnull; - if (shell) { - context = shell->GetPresContext(); - } - - if (!context) { - doc->FlushPendingNotifications(Flush_Frames); - shell = doc->GetShell(); - if (shell) { - context = shell->GetPresContext(); - } - } - - if (context) { - // Click() is never called from native code, but it may be - // called from chrome JS. Mark this event trusted if Click() - // is called from chrome code. - nsMouseEvent event(nsContentUtils::IsCallerChrome(), - NS_MOUSE_CLICK, nsnull, nsMouseEvent::eReal); - event.inputSource = nsIDOMNSMouseEvent::MOZ_SOURCE_UNKNOWN; - nsEventStatus status = nsEventStatus_eIgnore; - - SET_BOOLBIT(mBitField, BF_HANDLING_CLICK, PR_TRUE); - if (mType == NS_FORM_INPUT_FILE){ - FireAsyncClickHandler(); - } - nsEventDispatcher::Dispatch(static_cast(this), context, - &event, nsnull, &status); - - SET_BOOLBIT(mBitField, BF_HANDLING_CLICK, PR_FALSE); - } - } - - return NS_OK; + return nsGenericHTMLElement::Click(); } NS_IMETHODIMP diff --git a/content/html/content/src/nsHTMLInputElement.h b/content/html/content/src/nsHTMLInputElement.h index 110c361397a7..b200f141d02d 100644 --- a/content/html/content/src/nsHTMLInputElement.h +++ b/content/html/content/src/nsHTMLInputElement.h @@ -55,19 +55,18 @@ // Accessors for mBitField // #define BF_DISABLED_CHANGED 0 -#define BF_HANDLING_CLICK 1 -#define BF_VALUE_CHANGED 2 -#define BF_CHECKED_CHANGED 3 -#define BF_CHECKED 4 -#define BF_HANDLING_SELECT_EVENT 5 -#define BF_SHOULD_INIT_CHECKED 6 -#define BF_PARSER_CREATING 7 -#define BF_IN_INTERNAL_ACTIVATE 8 -#define BF_CHECKED_IS_TOGGLED 9 -#define BF_INDETERMINATE 10 -#define BF_INHIBIT_RESTORATION 11 -#define BF_CAN_SHOW_INVALID_UI 12 -#define BF_CAN_SHOW_VALID_UI 13 +#define BF_VALUE_CHANGED 1 +#define BF_CHECKED_CHANGED 2 +#define BF_CHECKED 3 +#define BF_HANDLING_SELECT_EVENT 4 +#define BF_SHOULD_INIT_CHECKED 5 +#define BF_PARSER_CREATING 6 +#define BF_IN_INTERNAL_ACTIVATE 7 +#define BF_CHECKED_IS_TOGGLED 8 +#define BF_INDETERMINATE 9 +#define BF_INHIBIT_RESTORATION 10 +#define BF_CAN_SHOW_INVALID_UI 11 +#define BF_CAN_SHOW_VALID_UI 12 #define GET_BOOLBIT(bitfield, field) (((bitfield) & (0x01 << (field))) \ ? PR_TRUE : PR_FALSE) @@ -136,9 +135,6 @@ public: // nsIDOMElement NS_FORWARD_NSIDOMELEMENT(nsGenericHTMLFormElement::) - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT(nsGenericHTMLFormElement::) - // nsIDOMHTMLInputElement NS_DECL_NSIDOMHTMLINPUTELEMENT @@ -150,6 +146,12 @@ public: { return nsGenericHTMLElement::GetEditor(aEditor); } + + // Forward nsIDOMHTMLElement + NS_FORWARD_NSIDOMHTMLELEMENT_NOFOCUSCLICK(nsGenericHTMLFormElement::) + NS_IMETHOD Focus(); + NS_IMETHOD Click(); + NS_IMETHOD SetUserInput(const nsAString& aInput); // Overriden nsIFormControl methods diff --git a/content/html/content/src/nsHTMLLabelElement.cpp b/content/html/content/src/nsHTMLLabelElement.cpp index 73f7fac960c4..76f678036296 100644 --- a/content/html/content/src/nsHTMLLabelElement.cpp +++ b/content/html/content/src/nsHTMLLabelElement.cpp @@ -68,19 +68,21 @@ public: // nsIDOMElement NS_FORWARD_NSIDOMELEMENT(nsGenericHTMLFormElement::) - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT(nsGenericHTMLFormElement::) - // nsIDOMHTMLLabelElement NS_DECL_NSIDOMHTMLLABELELEMENT + // Forward nsIDOMHTMLElement -- We don't override Click() + NS_FORWARD_NSIDOMHTMLELEMENT_NOFOCUSCLICK(nsGenericHTMLFormElement::) + NS_IMETHOD Click() { + return nsGenericHTMLFormElement::Click(); + } + NS_IMETHOD Focus(); + // nsIFormControl NS_IMETHOD_(PRUint32) GetType() const { return NS_FORM_LABEL; } NS_IMETHOD Reset(); NS_IMETHOD SubmitNamesValues(nsFormSubmission* aFormSubmission); - NS_IMETHOD Focus(); - virtual bool IsDisabled() const { return PR_FALSE; } // nsIContent @@ -174,7 +176,6 @@ nsHTMLLabelElement::GetControl(nsIDOMHTMLElement** aElement) } -NS_IMPL_STRING_ATTR(nsHTMLLabelElement, AccessKey, accesskey) NS_IMPL_STRING_ATTR(nsHTMLLabelElement, HtmlFor, _for) NS_IMETHODIMP @@ -198,25 +199,14 @@ nsHTMLLabelElement::BindToTree(nsIDocument* aDocument, nsIContent* aParent, nsIContent* aBindingParent, PRBool aCompileEventHandlers) { - nsresult rv = nsGenericHTMLFormElement::BindToTree(aDocument, aParent, - aBindingParent, - aCompileEventHandlers); - NS_ENSURE_SUCCESS(rv, rv); - - if (aDocument) { - RegAccessKey(); - } - - return rv; + return nsGenericHTMLFormElement::BindToTree(aDocument, aParent, + aBindingParent, + aCompileEventHandlers); } void nsHTMLLabelElement::UnbindFromTree(PRBool aDeep, PRBool aNullParent) { - if (IsInDoc()) { - UnregAccessKey(); - } - nsGenericHTMLFormElement::UnbindFromTree(aDeep, aNullParent); } @@ -356,34 +346,14 @@ nsresult nsHTMLLabelElement::SetAttr(PRInt32 aNameSpaceID, nsIAtom* aName, nsIAtom* aPrefix, const nsAString& aValue, PRBool aNotify) { - if (aName == nsGkAtoms::accesskey && kNameSpaceID_None == aNameSpaceID) { - UnregAccessKey(); - } - - nsresult rv = - nsGenericHTMLFormElement::SetAttr(aNameSpaceID, aName, aPrefix, aValue, - aNotify); - - if (aName == nsGkAtoms::accesskey && kNameSpaceID_None == aNameSpaceID && - !aValue.IsEmpty()) { - SetFlags(NODE_HAS_ACCESSKEY); - RegAccessKey(); - } - - return rv; + return nsGenericHTMLFormElement::SetAttr(aNameSpaceID, aName, aPrefix, aValue, + aNotify); } nsresult nsHTMLLabelElement::UnsetAttr(PRInt32 aNameSpaceID, nsIAtom* aAttribute, PRBool aNotify) { - if (aAttribute == nsGkAtoms::accesskey && - kNameSpaceID_None == aNameSpaceID) { - // Have to unregister before clearing flag. See UnregAccessKey - UnregAccessKey(); - UnsetFlags(NODE_HAS_ACCESSKEY); - } - return nsGenericHTMLFormElement::UnsetAttr(aNameSpaceID, aAttribute, aNotify); } diff --git a/content/html/content/src/nsHTMLLegendElement.cpp b/content/html/content/src/nsHTMLLegendElement.cpp index bb18b3bfaab7..1750e588caa7 100644 --- a/content/html/content/src/nsHTMLLegendElement.cpp +++ b/content/html/content/src/nsHTMLLegendElement.cpp @@ -90,7 +90,6 @@ nsHTMLLegendElement::GetForm(nsIDOMHTMLFormElement** aForm) } -NS_IMPL_STRING_ATTR(nsHTMLLegendElement, AccessKey, accesskey) NS_IMPL_STRING_ATTR(nsHTMLLegendElement, Align, align) // this contains center, because IE4 does @@ -141,66 +140,34 @@ nsHTMLLegendElement::GetAttributeChangeHint(const nsIAtom* aAttribute, return retval; } -nsresult -nsHTMLLegendElement::SetAttr(PRInt32 aNameSpaceID, nsIAtom* aAttribute, - nsIAtom* aPrefix, const nsAString& aValue, - PRBool aNotify) -{ - PRBool accesskey = (aAttribute == nsGkAtoms::accesskey && - aNameSpaceID == kNameSpaceID_None); - if (accesskey) { - UnregAccessKey(); - } - - nsresult rv = nsGenericHTMLElement::SetAttr(aNameSpaceID, aAttribute, - aPrefix, aValue, aNotify); - - if (accesskey && !aValue.IsEmpty()) { - SetFlags(NODE_HAS_ACCESSKEY); - RegAccessKey(); - } - - return rv; -} - -nsresult -nsHTMLLegendElement::UnsetAttr(PRInt32 aNameSpaceID, nsIAtom* aAttribute, - PRBool aNotify) -{ - if (aAttribute == nsGkAtoms::accesskey && - aNameSpaceID == kNameSpaceID_None) { - // Have to unregister before clearing flag. See UnregAccessKey - UnregAccessKey(); - UnsetFlags(NODE_HAS_ACCESSKEY); - } - - return nsGenericHTMLElement::UnsetAttr(aNameSpaceID, aAttribute, aNotify); -} +nsresult +nsHTMLLegendElement::SetAttr(PRInt32 aNameSpaceID, nsIAtom* aAttribute, + nsIAtom* aPrefix, const nsAString& aValue, + PRBool aNotify) +{ + return nsGenericHTMLElement::SetAttr(aNameSpaceID, aAttribute, + aPrefix, aValue, aNotify); +} +nsresult +nsHTMLLegendElement::UnsetAttr(PRInt32 aNameSpaceID, nsIAtom* aAttribute, + PRBool aNotify) +{ + return nsGenericHTMLElement::UnsetAttr(aNameSpaceID, aAttribute, aNotify); +} nsresult nsHTMLLegendElement::BindToTree(nsIDocument* aDocument, nsIContent* aParent, nsIContent* aBindingParent, PRBool aCompileEventHandlers) { - nsresult rv = nsGenericHTMLElement::BindToTree(aDocument, aParent, - aBindingParent, - aCompileEventHandlers); - NS_ENSURE_SUCCESS(rv, rv); - - if (aDocument) { - RegAccessKey(); - } - - return rv; + return nsGenericHTMLElement::BindToTree(aDocument, aParent, + aBindingParent, + aCompileEventHandlers); } void nsHTMLLegendElement::UnbindFromTree(PRBool aDeep, PRBool aNullParent) { - if (IsInDoc()) { - UnregAccessKey(); - } - nsGenericHTMLElement::UnbindFromTree(aDeep, aNullParent); } diff --git a/content/html/content/src/nsHTMLLegendElement.h b/content/html/content/src/nsHTMLLegendElement.h index 0ce378a33af6..78464b46b738 100644 --- a/content/html/content/src/nsHTMLLegendElement.h +++ b/content/html/content/src/nsHTMLLegendElement.h @@ -64,14 +64,15 @@ public: // nsIDOMElement NS_FORWARD_NSIDOMELEMENT(nsGenericHTMLElement::) - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT(nsGenericHTMLElement::) - // nsIDOMHTMLLegendElement NS_DECL_NSIDOMHTMLLEGENDELEMENT - // nsGenericHTMLElement - NS_IMETHODIMP Focus(); + // Forward nsIDOMHTMLElement -- We don't override Click() + NS_FORWARD_NSIDOMHTMLELEMENT_NOFOCUSCLICK(nsGenericHTMLElement::) + NS_IMETHOD Click() { + return nsGenericHTMLElement::Click(); + } + NS_IMETHOD Focus(); virtual void PerformAccesskey(PRBool aKeyCausesActivation, PRBool aIsTrustedEvent); diff --git a/content/html/content/src/nsHTMLSelectElement.cpp b/content/html/content/src/nsHTMLSelectElement.cpp index 26d30c1e7e27..c4d8c82e3181 100644 --- a/content/html/content/src/nsHTMLSelectElement.cpp +++ b/content/html/content/src/nsHTMLSelectElement.cpp @@ -1272,18 +1272,6 @@ NS_IMPL_BOOL_ATTR(nsHTMLSelectElement, Required, required) NS_IMPL_NON_NEGATIVE_INT_ATTR_DEFAULT_VALUE(nsHTMLSelectElement, Size, size, 0) NS_IMPL_INT_ATTR(nsHTMLSelectElement, TabIndex, tabindex) -NS_IMETHODIMP -nsHTMLSelectElement::Blur() -{ - return nsGenericHTMLElement::Blur(); -} - -NS_IMETHODIMP -nsHTMLSelectElement::Focus() -{ - return nsGenericHTMLElement::Focus(); -} - PRBool nsHTMLSelectElement::IsHTMLFocusable(PRBool aWithMouse, PRBool *aIsFocusable, PRInt32 *aTabIndex) diff --git a/content/html/content/src/nsHTMLTextAreaElement.cpp b/content/html/content/src/nsHTMLTextAreaElement.cpp index 548e4f2a1fe9..1aae5adcc7b2 100644 --- a/content/html/content/src/nsHTMLTextAreaElement.cpp +++ b/content/html/content/src/nsHTMLTextAreaElement.cpp @@ -366,18 +366,6 @@ nsHTMLTextAreaElement::GetForm(nsIDOMHTMLFormElement** aForm) // nsIContent -NS_IMETHODIMP -nsHTMLTextAreaElement::Blur() -{ - return nsGenericHTMLElement::Blur(); -} - -NS_IMETHODIMP -nsHTMLTextAreaElement::Focus() -{ - return nsGenericHTMLElement::Focus(); -} - NS_IMETHODIMP nsHTMLTextAreaElement::Select() { @@ -449,7 +437,6 @@ nsHTMLTextAreaElement::IsHTMLFocusable(PRBool aWithMouse, return PR_FALSE; } -NS_IMPL_STRING_ATTR(nsHTMLTextAreaElement, AccessKey, accesskey) NS_IMPL_BOOL_ATTR(nsHTMLTextAreaElement, Autofocus, autofocus) NS_IMPL_UINT_ATTR_NON_ZERO_DEFAULT_VALUE(nsHTMLTextAreaElement, Cols, cols, DEFAULT_COLS) NS_IMPL_BOOL_ATTR(nsHTMLTextAreaElement, Disabled, disabled) diff --git a/content/html/content/test/test_bug583514.html b/content/html/content/test/test_bug583514.html new file mode 100644 index 000000000000..427cc89b822e --- /dev/null +++ b/content/html/content/test/test_bug583514.html @@ -0,0 +1,61 @@ + + + + + Test for Bug 583514 + + + + + +
    Mozilla Bug 583514 +

    +
    +
    + +
    +
    +
    +
    +
    + + diff --git a/dom/interfaces/html/nsIDOMHTMLAnchorElement.idl b/dom/interfaces/html/nsIDOMHTMLAnchorElement.idl index f454fb94b4c9..a002862d3baa 100644 --- a/dom/interfaces/html/nsIDOMHTMLAnchorElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLAnchorElement.idl @@ -50,7 +50,7 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(99419cf8-5835-4c2a-b013-189b17f0423f)] +[scriptable, uuid(768bfb39-f0ce-4f17-bad7-f0f722dc293a)] interface nsIDOMHTMLAnchorElement : nsIDOMHTMLElement { attribute DOMString href; @@ -78,7 +78,6 @@ interface nsIDOMHTMLAnchorElement : nsIDOMHTMLElement attribute DOMString hash; - attribute DOMString accessKey; attribute DOMString charset; attribute DOMString coords; attribute DOMString name; @@ -87,6 +86,4 @@ interface nsIDOMHTMLAnchorElement : nsIDOMHTMLElement attribute long tabIndex; DOMString toString(); - void blur(); - void focus(); }; diff --git a/dom/interfaces/html/nsIDOMHTMLAppletElement.idl b/dom/interfaces/html/nsIDOMHTMLAppletElement.idl index f88f8195c8d2..2cc64403e5e7 100644 --- a/dom/interfaces/html/nsIDOMHTMLAppletElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLAppletElement.idl @@ -50,7 +50,7 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(a70cc757-4640-4c73-b73b-eb07cf43d90b)] +[scriptable, uuid(1840a15d-618e-4e22-a53e-56a3624b8ae3)] interface nsIDOMHTMLAppletElement : nsIDOMHTMLElement { attribute DOMString align; diff --git a/dom/interfaces/html/nsIDOMHTMLAreaElement.idl b/dom/interfaces/html/nsIDOMHTMLAreaElement.idl index a1e74b61e502..7f353c70d6d5 100644 --- a/dom/interfaces/html/nsIDOMHTMLAreaElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLAreaElement.idl @@ -50,7 +50,7 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(89547ef1-f349-4c4f-ada7-5d51234de0c0)] +[scriptable, uuid(eeae849e-d9f6-4e66-a838-44deb9594bc1)] interface nsIDOMHTMLAreaElement : nsIDOMHTMLElement { attribute DOMString alt; @@ -71,7 +71,6 @@ interface nsIDOMHTMLAreaElement : nsIDOMHTMLElement attribute DOMString hash; - attribute DOMString accessKey; attribute long tabIndex; attribute boolean noHref; DOMString toString(); diff --git a/dom/interfaces/html/nsIDOMHTMLAudioElement.idl b/dom/interfaces/html/nsIDOMHTMLAudioElement.idl index d35538093c74..a0f44339e585 100644 --- a/dom/interfaces/html/nsIDOMHTMLAudioElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLAudioElement.idl @@ -52,7 +52,7 @@ * @status UNDER_DEVELOPMENT */ -[scriptable, uuid(8cb32fc5-d302-46ab-ac91-5bcb21d05023)] +[scriptable, uuid(f0d4977c-9632-4fab-bc9b-91c250a6ef96)] interface nsIDOMHTMLAudioElement : nsIDOMHTMLMediaElement { // Setup the audio stream for writing diff --git a/dom/interfaces/html/nsIDOMHTMLBRElement.idl b/dom/interfaces/html/nsIDOMHTMLBRElement.idl index d957b5d464b2..e88623b56c64 100644 --- a/dom/interfaces/html/nsIDOMHTMLBRElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLBRElement.idl @@ -50,7 +50,7 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(e7ecc247-4f30-4de2-835f-642ad76af28f)] +[scriptable, uuid(e8252870-aa63-4eaf-9d59-5e5ea014fdf3)] interface nsIDOMHTMLBRElement : nsIDOMHTMLElement { attribute DOMString clear; diff --git a/dom/interfaces/html/nsIDOMHTMLBaseElement.idl b/dom/interfaces/html/nsIDOMHTMLBaseElement.idl index 5ab8a31b5452..34997891275f 100644 --- a/dom/interfaces/html/nsIDOMHTMLBaseElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLBaseElement.idl @@ -50,7 +50,7 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(43fc71aa-f089-4056-b3a6-2259d13fb11a)] +[scriptable, uuid(84ee3ce6-ea9c-4443-93a2-359c259ef218)] interface nsIDOMHTMLBaseElement : nsIDOMHTMLElement { attribute DOMString href; diff --git a/dom/interfaces/html/nsIDOMHTMLBodyElement.idl b/dom/interfaces/html/nsIDOMHTMLBodyElement.idl index a870dabaa0fd..d7d3fd0db38c 100644 --- a/dom/interfaces/html/nsIDOMHTMLBodyElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLBodyElement.idl @@ -50,7 +50,7 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(22c641f6-f39b-4f6b-b1f5-8271a200bf01)] +[scriptable, uuid(87db4ba2-367d-4604-ad36-b97cc09bf3f1)] interface nsIDOMHTMLBodyElement : nsIDOMHTMLElement { attribute DOMString aLink; diff --git a/dom/interfaces/html/nsIDOMHTMLButtonElement.idl b/dom/interfaces/html/nsIDOMHTMLButtonElement.idl index 212f2b6958e4..b12b18eb3528 100644 --- a/dom/interfaces/html/nsIDOMHTMLButtonElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLButtonElement.idl @@ -52,7 +52,7 @@ interface nsIDOMValidityState; -[scriptable, uuid(e158abd8-2521-4ce9-af68-26b70ada7614)] +[scriptable, uuid(7a40902e-d0ce-41f2-bc46-e247e9662ea8)] interface nsIDOMHTMLButtonElement : nsIDOMHTMLElement { attribute boolean autofocus; @@ -68,14 +68,9 @@ interface nsIDOMHTMLButtonElement : nsIDOMHTMLElement attribute DOMString type; attribute DOMString value; - - attribute DOMString accessKey; attribute long tabIndex; - void blur(); - void focus(); - void click(); - // The following lines are parte of the constraint validation API, see: + // The following lines are part of the constraint validation API, see: // http://www.whatwg.org/specs/web-apps/current-work/#the-constraint-validation-api readonly attribute boolean willValidate; readonly attribute nsIDOMValidityState validity; diff --git a/dom/interfaces/html/nsIDOMHTMLCanvasElement.idl b/dom/interfaces/html/nsIDOMHTMLCanvasElement.idl index b68161f2ac7d..cdc0d91a429f 100644 --- a/dom/interfaces/html/nsIDOMHTMLCanvasElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLCanvasElement.idl @@ -54,7 +54,7 @@ interface nsIDOMFile; -[scriptable, uuid(f11cc1ae-3c8d-46b9-90cd-7b3f3395b2dd)] +[scriptable, uuid(2e98cd39-2269-493a-a3bb-abe85be2523c)] interface nsIDOMHTMLCanvasElement : nsIDOMHTMLElement { attribute unsigned long width; diff --git a/dom/interfaces/html/nsIDOMHTMLCollection.idl b/dom/interfaces/html/nsIDOMHTMLCollection.idl index 9b5d67b8897a..8f9fda469672 100644 --- a/dom/interfaces/html/nsIDOMHTMLCollection.idl +++ b/dom/interfaces/html/nsIDOMHTMLCollection.idl @@ -50,7 +50,7 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(a6cf9083-15b3-11d2-932e-00805f8add32)] +[scriptable, uuid(1af9e026-011d-4d0e-91db-09bcfa3e9622)] interface nsIDOMHTMLCollection : nsISupports { readonly attribute unsigned long length; diff --git a/dom/interfaces/html/nsIDOMHTMLDListElement.idl b/dom/interfaces/html/nsIDOMHTMLDListElement.idl index 9e139e81c0d7..bca93a895e6b 100644 --- a/dom/interfaces/html/nsIDOMHTMLDListElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLDListElement.idl @@ -50,7 +50,7 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(a291df4d-ee6f-46f7-b1d8-9680a387c23e)] +[scriptable, uuid(8c2e26d3-8ed4-4e13-abc8-46d7d2f7d300)] interface nsIDOMHTMLDListElement : nsIDOMHTMLElement { attribute boolean compact; diff --git a/dom/interfaces/html/nsIDOMHTMLDataListElement.idl b/dom/interfaces/html/nsIDOMHTMLDataListElement.idl index 6a9988b91561..82e634c5baa0 100644 --- a/dom/interfaces/html/nsIDOMHTMLDataListElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLDataListElement.idl @@ -49,7 +49,7 @@ interface nsIDOMHTMLCollection; -[scriptable, uuid(cbea212b-8dda-42a5-b2c4-5942f55e1dfe)] +[scriptable, uuid(11dacc1f-4abc-44a5-9c57-c0c3e833e387)] interface nsIDOMHTMLDataListElement : nsIDOMHTMLElement { readonly attribute nsIDOMHTMLCollection options; diff --git a/dom/interfaces/html/nsIDOMHTMLDirectoryElement.idl b/dom/interfaces/html/nsIDOMHTMLDirectoryElement.idl index 684bdb150780..bf50289e5430 100644 --- a/dom/interfaces/html/nsIDOMHTMLDirectoryElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLDirectoryElement.idl @@ -50,7 +50,7 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(65f89019-bcf9-4661-8211-f52dbb9a7fe5)] +[scriptable, uuid(3531a90c-cd39-4619-abad-71a961a58c54)] interface nsIDOMHTMLDirectoryElement : nsIDOMHTMLElement { attribute boolean compact; diff --git a/dom/interfaces/html/nsIDOMHTMLDivElement.idl b/dom/interfaces/html/nsIDOMHTMLDivElement.idl index 967d387a48f6..214795b0f3d1 100644 --- a/dom/interfaces/html/nsIDOMHTMLDivElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLDivElement.idl @@ -50,7 +50,7 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(06b50d6a-611e-4f3c-baa6-3af81155f0bb)] +[scriptable, uuid(616223f7-014d-4805-b524-ad6cf8536ac0)] interface nsIDOMHTMLDivElement : nsIDOMHTMLElement { attribute DOMString align; diff --git a/dom/interfaces/html/nsIDOMHTMLElement.idl b/dom/interfaces/html/nsIDOMHTMLElement.idl index 32589ad9a08c..da3a1cfa50ab 100644 --- a/dom/interfaces/html/nsIDOMHTMLElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLElement.idl @@ -51,7 +51,7 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(092ef5f6-3f54-468a-a1a5-ca922f8ef547)] +[scriptable, uuid(164c7ebd-2245-42d2-a96f-2bf2d01c1697)] interface nsIDOMHTMLElement : nsIDOMElement { attribute DOMString id; @@ -59,4 +59,10 @@ interface nsIDOMHTMLElement : nsIDOMElement attribute DOMString lang; attribute DOMString dir; attribute DOMString className; + + attribute DOMString accessKey; + + void blur(); + void focus(); + void click(); }; diff --git a/dom/interfaces/html/nsIDOMHTMLEmbedElement.idl b/dom/interfaces/html/nsIDOMHTMLEmbedElement.idl index 4a7f72f79862..872cfc4f9af2 100644 --- a/dom/interfaces/html/nsIDOMHTMLEmbedElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLEmbedElement.idl @@ -47,7 +47,7 @@ * http://www.whatwg.org/specs/web-apps/current-work/#the-embed-element */ -[scriptable, uuid(6eebf0ac-b388-4942-ad83-3e43b327c360)] +[scriptable, uuid(dec16079-b0e7-46b9-aafa-c7f0ebc9abc1)] interface nsIDOMHTMLEmbedElement : nsIDOMHTMLElement { attribute DOMString align; diff --git a/dom/interfaces/html/nsIDOMHTMLFieldSetElement.idl b/dom/interfaces/html/nsIDOMHTMLFieldSetElement.idl index 672d3ba12ab1..edab4b7a4710 100644 --- a/dom/interfaces/html/nsIDOMHTMLFieldSetElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLFieldSetElement.idl @@ -52,7 +52,7 @@ interface nsIDOMValidityState; -[scriptable, uuid(1bcb97d2-47f6-403f-ae10-65e00ad728f5)] +[scriptable, uuid(c989a733-40a6-4712-b0f0-944dd5ec4344)] interface nsIDOMHTMLFieldSetElement : nsIDOMHTMLElement { attribute boolean disabled; diff --git a/dom/interfaces/html/nsIDOMHTMLFontElement.idl b/dom/interfaces/html/nsIDOMHTMLFontElement.idl index ee54830b42a8..b8a8b574950d 100644 --- a/dom/interfaces/html/nsIDOMHTMLFontElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLFontElement.idl @@ -50,7 +50,7 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(a2e78525-ade0-41bb-8bf0-041a32dc467e)] +[scriptable, uuid(99875201-4f50-4e8a-a58e-dd39b9ff51e1)] interface nsIDOMHTMLFontElement : nsIDOMHTMLElement { attribute DOMString color; diff --git a/dom/interfaces/html/nsIDOMHTMLFormElement.idl b/dom/interfaces/html/nsIDOMHTMLFormElement.idl index e4f43ce1c696..aa7d817a2f77 100644 --- a/dom/interfaces/html/nsIDOMHTMLFormElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLFormElement.idl @@ -50,7 +50,7 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(746363ef-0164-4868-8cf4-e6a695bd4cc7)] +[scriptable, uuid(e8624d8a-0e9c-49d4-848c-75afcfd6f048)] interface nsIDOMHTMLFormElement : nsIDOMHTMLElement { attribute DOMString name; diff --git a/dom/interfaces/html/nsIDOMHTMLFrameElement.idl b/dom/interfaces/html/nsIDOMHTMLFrameElement.idl index 9bd3f0e1564a..3fc3d6e5ca02 100644 --- a/dom/interfaces/html/nsIDOMHTMLFrameElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLFrameElement.idl @@ -50,7 +50,7 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(74a61421-d692-4f51-aee8-2409daebde0d)] +[scriptable, uuid(e3f42587-847f-4743-8891-490b2066493d)] interface nsIDOMHTMLFrameElement : nsIDOMHTMLElement { attribute DOMString frameBorder; diff --git a/dom/interfaces/html/nsIDOMHTMLFrameSetElement.idl b/dom/interfaces/html/nsIDOMHTMLFrameSetElement.idl index 86f244378a66..6abc76da8d4c 100644 --- a/dom/interfaces/html/nsIDOMHTMLFrameSetElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLFrameSetElement.idl @@ -50,7 +50,7 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(dd600777-2812-4986-859a-8e9090aee1da)] +[scriptable, uuid(a827ecd2-472d-4cf7-ae3b-21bca7e5c6aa)] interface nsIDOMHTMLFrameSetElement : nsIDOMHTMLElement { attribute DOMString cols; diff --git a/dom/interfaces/html/nsIDOMHTMLHRElement.idl b/dom/interfaces/html/nsIDOMHTMLHRElement.idl index c9a6b7cd5e35..e4e1685454c1 100644 --- a/dom/interfaces/html/nsIDOMHTMLHRElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLHRElement.idl @@ -50,7 +50,7 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(95573fb0-58eb-4740-ab11-a0e84ab67d3a)] +[scriptable, uuid(b72f9f2d-4c6c-4264-a713-4423724379c0)] interface nsIDOMHTMLHRElement : nsIDOMHTMLElement { attribute DOMString align; diff --git a/dom/interfaces/html/nsIDOMHTMLHeadElement.idl b/dom/interfaces/html/nsIDOMHTMLHeadElement.idl index 5758cb4b8a9c..82dbae082375 100644 --- a/dom/interfaces/html/nsIDOMHTMLHeadElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLHeadElement.idl @@ -50,7 +50,7 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(97c0fbe3-f79c-4fe3-b891-dfabcf74a614)] +[scriptable, uuid(0d91b09d-0de9-4d9b-a53d-ce9b4c462f5a)] interface nsIDOMHTMLHeadElement : nsIDOMHTMLElement { [noscript] attribute DOMString profile; diff --git a/dom/interfaces/html/nsIDOMHTMLHeadingElement.idl b/dom/interfaces/html/nsIDOMHTMLHeadingElement.idl index b2349a6698c3..94e58ca51095 100644 --- a/dom/interfaces/html/nsIDOMHTMLHeadingElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLHeadingElement.idl @@ -50,7 +50,7 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(2f103fa6-27ae-409a-95a9-a842dd2feeba)] +[scriptable, uuid(0515a456-2545-4865-9a5b-f744a8e16101)] interface nsIDOMHTMLHeadingElement : nsIDOMHTMLElement { attribute DOMString align; diff --git a/dom/interfaces/html/nsIDOMHTMLHtmlElement.idl b/dom/interfaces/html/nsIDOMHTMLHtmlElement.idl index ebfbee86df0c..162330f24413 100644 --- a/dom/interfaces/html/nsIDOMHTMLHtmlElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLHtmlElement.idl @@ -50,7 +50,7 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(3947d0f1-6b16-4bf7-a7e5-e042c5ce5975)] +[scriptable, uuid(a8500f4c-3314-4049-bb79-f782663e7273)] interface nsIDOMHTMLHtmlElement : nsIDOMHTMLElement { attribute DOMString version; diff --git a/dom/interfaces/html/nsIDOMHTMLIFrameElement.idl b/dom/interfaces/html/nsIDOMHTMLIFrameElement.idl index fa8b8b8a845c..059e6b420771 100644 --- a/dom/interfaces/html/nsIDOMHTMLIFrameElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLIFrameElement.idl @@ -50,7 +50,7 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(9cad6a82-1ffe-4990-9f32-37634e2873ff)] +[scriptable, uuid(33dfbcdc-4edf-4e6a-acf4-c6b5bbb61caf)] interface nsIDOMHTMLIFrameElement : nsIDOMHTMLElement { attribute DOMString align; diff --git a/dom/interfaces/html/nsIDOMHTMLImageElement.idl b/dom/interfaces/html/nsIDOMHTMLImageElement.idl index ee505369089c..ac42fa257574 100644 --- a/dom/interfaces/html/nsIDOMHTMLImageElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLImageElement.idl @@ -50,7 +50,7 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(e5747c9e-c805-4dfd-ae15-827a331533ba)] +[scriptable, uuid(c4ef8a40-dd56-4b95-a007-630a0ac04341)] interface nsIDOMHTMLImageElement : nsIDOMHTMLElement { attribute DOMString alt; diff --git a/dom/interfaces/html/nsIDOMHTMLInputElement.idl b/dom/interfaces/html/nsIDOMHTMLInputElement.idl index ada7b7670a7d..b88314af3789 100644 --- a/dom/interfaces/html/nsIDOMHTMLInputElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLInputElement.idl @@ -54,7 +54,7 @@ interface nsIDOMValidityState; * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(bcf00efc-5217-4350-9fbc-e3059190830a)] +[scriptable, uuid(a59ba6b8-6f8b-4003-a8a4-184a51a05050)] interface nsIDOMHTMLInputElement : nsIDOMHTMLElement { attribute DOMString accept; @@ -87,7 +87,6 @@ interface nsIDOMHTMLInputElement : nsIDOMHTMLElement attribute boolean readOnly; attribute boolean required; - attribute DOMString accessKey; attribute DOMString align; attribute unsigned long size; @@ -126,8 +125,4 @@ interface nsIDOMHTMLInputElement : nsIDOMHTMLElement * element is a text field. */ boolean mozIsTextField(in boolean aExcludePassword); - - void blur(); - void focus(); - void click(); }; diff --git a/dom/interfaces/html/nsIDOMHTMLIsIndexElement.idl b/dom/interfaces/html/nsIDOMHTMLIsIndexElement.idl index e641021d1b39..28f2134c81d6 100644 --- a/dom/interfaces/html/nsIDOMHTMLIsIndexElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLIsIndexElement.idl @@ -50,7 +50,7 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(9d1384b5-d70c-455d-929c-f422f89fcb7e)] +[scriptable, uuid(e630b11e-ffc1-4666-b7dd-823e9077ef89)] interface nsIDOMHTMLIsIndexElement : nsIDOMHTMLElement { readonly attribute nsIDOMHTMLFormElement form; diff --git a/dom/interfaces/html/nsIDOMHTMLLIElement.idl b/dom/interfaces/html/nsIDOMHTMLLIElement.idl index aa4e3a21de6f..c7c26e2533c4 100644 --- a/dom/interfaces/html/nsIDOMHTMLLIElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLLIElement.idl @@ -50,7 +50,7 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(e48b4094-9858-4aff-8e83-901fae94cd60)] +[scriptable, uuid(9c31bd99-1412-49a2-954c-6c1be575decc)] interface nsIDOMHTMLLIElement : nsIDOMHTMLElement { attribute DOMString type; diff --git a/dom/interfaces/html/nsIDOMHTMLLabelElement.idl b/dom/interfaces/html/nsIDOMHTMLLabelElement.idl index c2f5a5b837d9..84387050b06d 100644 --- a/dom/interfaces/html/nsIDOMHTMLLabelElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLLabelElement.idl @@ -50,12 +50,10 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(1a36591e-2538-4685-bb23-cb80300539db)] +[scriptable, uuid(0b4f3766-e6e8-4578-9d4e-f1fb4861c956)] interface nsIDOMHTMLLabelElement : nsIDOMHTMLElement { readonly attribute nsIDOMHTMLFormElement form; attribute DOMString htmlFor; readonly attribute nsIDOMHTMLElement control; - - attribute DOMString accessKey; }; diff --git a/dom/interfaces/html/nsIDOMHTMLLegendElement.idl b/dom/interfaces/html/nsIDOMHTMLLegendElement.idl index 607b3465e065..15580bfb3bf8 100644 --- a/dom/interfaces/html/nsIDOMHTMLLegendElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLLegendElement.idl @@ -50,10 +50,9 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(e68756ab-a35b-41b8-b9e7-bf0c0c1fa953)] +[scriptable, uuid(d84fcdd0-5962-42aa-ab83-dc92321553aa)] interface nsIDOMHTMLLegendElement : nsIDOMHTMLElement { readonly attribute nsIDOMHTMLFormElement form; - attribute DOMString accessKey; attribute DOMString align; }; diff --git a/dom/interfaces/html/nsIDOMHTMLLinkElement.idl b/dom/interfaces/html/nsIDOMHTMLLinkElement.idl index cb8da3663913..26923fc163b5 100644 --- a/dom/interfaces/html/nsIDOMHTMLLinkElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLLinkElement.idl @@ -50,7 +50,7 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(efceac0d-dc51-4c03-8658-7225c8cba4d3)] +[scriptable, uuid(b60dc7dd-30d1-40aa-a306-02a2ebb30f12)] interface nsIDOMHTMLLinkElement : nsIDOMHTMLElement { attribute boolean disabled; diff --git a/dom/interfaces/html/nsIDOMHTMLMapElement.idl b/dom/interfaces/html/nsIDOMHTMLMapElement.idl index af93fa6ca88d..9536cfaffcf7 100644 --- a/dom/interfaces/html/nsIDOMHTMLMapElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLMapElement.idl @@ -50,7 +50,7 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(dcf3850e-700e-4ef0-a67f-1e3dd9cdce9a)] +[scriptable, uuid(1fe0dac9-564d-4f20-9933-e77bef7853cc)] interface nsIDOMHTMLMapElement : nsIDOMHTMLElement { readonly attribute nsIDOMHTMLCollection areas; diff --git a/dom/interfaces/html/nsIDOMHTMLMediaElement.idl b/dom/interfaces/html/nsIDOMHTMLMediaElement.idl index 68e6eb6a1a2b..dcbcad76c3a8 100644 --- a/dom/interfaces/html/nsIDOMHTMLMediaElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLMediaElement.idl @@ -57,7 +57,7 @@ #endif %} -[scriptable, uuid(b1a6e147-6934-43dc-b07e-8d1b40980b90)] +[scriptable, uuid(d8213322-46d8-47ca-a15c-2abae47ddfde)] interface nsIDOMHTMLMediaElement : nsIDOMHTMLElement { // error state diff --git a/dom/interfaces/html/nsIDOMHTMLMenuElement.idl b/dom/interfaces/html/nsIDOMHTMLMenuElement.idl index 1755a4f495e1..2b0cc66b4c2c 100644 --- a/dom/interfaces/html/nsIDOMHTMLMenuElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLMenuElement.idl @@ -50,7 +50,7 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(df6c8120-e52e-4ea9-b49e-b83928487e75)] +[scriptable, uuid(318d9314-f97b-4b7e-96ff-95f0cb203fdf)] interface nsIDOMHTMLMenuElement : nsIDOMHTMLElement { attribute boolean compact; diff --git a/dom/interfaces/html/nsIDOMHTMLMetaElement.idl b/dom/interfaces/html/nsIDOMHTMLMetaElement.idl index 4b0ed84764e3..d26be13219d6 100644 --- a/dom/interfaces/html/nsIDOMHTMLMetaElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLMetaElement.idl @@ -50,7 +50,7 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(2cde45b3-1cc8-4a91-af52-a05ff8e78e3e)] +[scriptable, uuid(43232acb-397c-46ce-8cd7-7fb2c286e851)] interface nsIDOMHTMLMetaElement : nsIDOMHTMLElement { attribute DOMString content; diff --git a/dom/interfaces/html/nsIDOMHTMLModElement.idl b/dom/interfaces/html/nsIDOMHTMLModElement.idl index 2b9edfae1eab..2dccacf6e64f 100644 --- a/dom/interfaces/html/nsIDOMHTMLModElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLModElement.idl @@ -50,7 +50,7 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(9164daf4-974e-4862-b913-e0e73372df86)] +[scriptable, uuid(9ee75a83-0acb-42e4-8fe7-dac88fcec547)] interface nsIDOMHTMLModElement : nsIDOMHTMLElement { attribute DOMString cite; diff --git a/dom/interfaces/html/nsIDOMHTMLOListElement.idl b/dom/interfaces/html/nsIDOMHTMLOListElement.idl index cbdf8473df8b..e9635612a747 100644 --- a/dom/interfaces/html/nsIDOMHTMLOListElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLOListElement.idl @@ -50,7 +50,7 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(5efcd7a0-8ca1-4efa-83fa-ea8f5fd29e76)] +[scriptable, uuid(e0bc10a7-46c7-4d6a-99a7-621827594efe)] interface nsIDOMHTMLOListElement : nsIDOMHTMLElement { attribute boolean compact; diff --git a/dom/interfaces/html/nsIDOMHTMLObjectElement.idl b/dom/interfaces/html/nsIDOMHTMLObjectElement.idl index ec7968e06be9..7431d44f3019 100644 --- a/dom/interfaces/html/nsIDOMHTMLObjectElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLObjectElement.idl @@ -52,7 +52,7 @@ interface nsIDOMValidityState; -[scriptable, uuid(b11e44f3-c15c-494a-a89f-879fe9814cda)] +[scriptable, uuid(700d3c7b-cbc2-4ab4-9aa3-fedd0b09fe89)] interface nsIDOMHTMLObjectElement : nsIDOMHTMLElement { readonly attribute nsIDOMHTMLFormElement form; diff --git a/dom/interfaces/html/nsIDOMHTMLOptGroupElement.idl b/dom/interfaces/html/nsIDOMHTMLOptGroupElement.idl index 11d499b9275a..c8f7fbd8ed6f 100644 --- a/dom/interfaces/html/nsIDOMHTMLOptGroupElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLOptGroupElement.idl @@ -50,7 +50,7 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(a47a2815-3115-46fb-915a-1ce3eea13a1a)] +[scriptable, uuid(98694f29-5a2a-4da3-8a0f-3351bafe1fea)] interface nsIDOMHTMLOptGroupElement : nsIDOMHTMLElement { attribute boolean disabled; diff --git a/dom/interfaces/html/nsIDOMHTMLOptionElement.idl b/dom/interfaces/html/nsIDOMHTMLOptionElement.idl index 56130e1a9a93..dac91801e60d 100644 --- a/dom/interfaces/html/nsIDOMHTMLOptionElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLOptionElement.idl @@ -50,7 +50,7 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(40465e21-dd35-4d8b-8d07-70a51b4fb9d1)] +[scriptable, uuid(f289fdb9-fe0f-41d3-bbdb-5c4e21f0a4d2)] interface nsIDOMHTMLOptionElement : nsIDOMHTMLElement { attribute boolean disabled; diff --git a/dom/interfaces/html/nsIDOMHTMLOutputElement.idl b/dom/interfaces/html/nsIDOMHTMLOutputElement.idl index 062858464fe3..7ed1f4279561 100644 --- a/dom/interfaces/html/nsIDOMHTMLOutputElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLOutputElement.idl @@ -50,7 +50,7 @@ interface nsIDOMDOMSettableTokenList; interface nsIDOMValidityState; -[scriptable, uuid(8c46bfd3-c4cb-4b97-b011-2c8fd2811aca)] +[scriptable, uuid(546ce012-e7ce-4490-8530-75f2b1b135b6)] interface nsIDOMHTMLOutputElement : nsIDOMHTMLElement { readonly attribute nsIDOMDOMSettableTokenList htmlFor; diff --git a/dom/interfaces/html/nsIDOMHTMLParagraphElement.idl b/dom/interfaces/html/nsIDOMHTMLParagraphElement.idl index 8a1b2d51af70..14d1f3291f2b 100644 --- a/dom/interfaces/html/nsIDOMHTMLParagraphElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLParagraphElement.idl @@ -50,7 +50,7 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(4e83739e-1756-40dd-9bdf-eab1bf515239)] +[scriptable, uuid(7a324f4d-c264-4978-9d0c-5fdaac33a3ee)] interface nsIDOMHTMLParagraphElement : nsIDOMHTMLElement { attribute DOMString align; diff --git a/dom/interfaces/html/nsIDOMHTMLParamElement.idl b/dom/interfaces/html/nsIDOMHTMLParamElement.idl index e88f988828fc..13fa876af3c3 100644 --- a/dom/interfaces/html/nsIDOMHTMLParamElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLParamElement.idl @@ -50,7 +50,7 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(3d42b355-2e24-4b2f-8221-69e7a9fe373e)] +[scriptable, uuid(20ac93e9-4ac8-40b0-a1f3-38948f6ca6ab)] interface nsIDOMHTMLParamElement : nsIDOMHTMLElement { attribute DOMString name; diff --git a/dom/interfaces/html/nsIDOMHTMLPreElement.idl b/dom/interfaces/html/nsIDOMHTMLPreElement.idl index 31370ba6434c..feb9d29bd6cc 100644 --- a/dom/interfaces/html/nsIDOMHTMLPreElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLPreElement.idl @@ -50,7 +50,7 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(b069f384-b2bf-4b8f-887d-427389c02e53)] +[scriptable, uuid(3459e9d4-40a0-4b55-a018-db287561feab)] interface nsIDOMHTMLPreElement : nsIDOMHTMLElement { attribute long width; diff --git a/dom/interfaces/html/nsIDOMHTMLQuoteElement.idl b/dom/interfaces/html/nsIDOMHTMLQuoteElement.idl index 234d700e8449..755abb9b66a4 100644 --- a/dom/interfaces/html/nsIDOMHTMLQuoteElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLQuoteElement.idl @@ -50,7 +50,7 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(b09051e3-a24c-4912-b6f3-a53d050e4439)] +[scriptable, uuid(c9c87e61-dc16-47b9-acdd-641dd220557b)] interface nsIDOMHTMLQuoteElement : nsIDOMHTMLElement { attribute DOMString cite; diff --git a/dom/interfaces/html/nsIDOMHTMLScriptElement.idl b/dom/interfaces/html/nsIDOMHTMLScriptElement.idl index 5591cde09ce5..b1b7dc217668 100644 --- a/dom/interfaces/html/nsIDOMHTMLScriptElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLScriptElement.idl @@ -50,7 +50,7 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(8143a6fa-58f0-43fa-a300-e590fcf5f2f1)] +[scriptable, uuid(c623ecc4-381b-4fa7-9016-a29f0a06230b)] interface nsIDOMHTMLScriptElement : nsIDOMHTMLElement { attribute DOMString src; diff --git a/dom/interfaces/html/nsIDOMHTMLSelectElement.idl b/dom/interfaces/html/nsIDOMHTMLSelectElement.idl index 0f4a23745e62..5ae36c7ca4ec 100644 --- a/dom/interfaces/html/nsIDOMHTMLSelectElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLSelectElement.idl @@ -53,7 +53,7 @@ interface nsIDOMValidityState; -[scriptable, uuid(438a6680-f9e2-4f98-875e-b6083cbe3e77)] +[scriptable, uuid(58cd01b8-c3f2-4e58-b39d-8a0ba941717e)] interface nsIDOMHTMLSelectElement : nsIDOMHTMLElement { attribute boolean autofocus; @@ -78,10 +78,8 @@ interface nsIDOMHTMLSelectElement : nsIDOMHTMLElement attribute DOMString value; attribute long tabIndex; - void blur(); - void focus(); - // The following lines are parte of the constraint validation API, see: + // The following lines are part of the constraint validation API, see: // http://www.whatwg.org/specs/web-apps/current-work/#the-constraint-validation-api readonly attribute boolean willValidate; readonly attribute nsIDOMValidityState validity; diff --git a/dom/interfaces/html/nsIDOMHTMLSourceElement.idl b/dom/interfaces/html/nsIDOMHTMLSourceElement.idl index 7f150c71d5b5..fe34118b9ead 100644 --- a/dom/interfaces/html/nsIDOMHTMLSourceElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLSourceElement.idl @@ -48,7 +48,7 @@ * @status UNDER_DEVELOPMENT */ -[scriptable, uuid(23ab8a3e-d6e5-4ed3-8c89-7a1ac31c67f2)] +[scriptable, uuid(ee69ccd4-5216-46cc-bfb4-b612d197ce29)] interface nsIDOMHTMLSourceElement : nsIDOMHTMLElement { attribute DOMString src; diff --git a/dom/interfaces/html/nsIDOMHTMLStyleElement.idl b/dom/interfaces/html/nsIDOMHTMLStyleElement.idl index fd0ee1cb30e6..dde808662940 100644 --- a/dom/interfaces/html/nsIDOMHTMLStyleElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLStyleElement.idl @@ -50,7 +50,7 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(7cfe7566-5b1b-4931-9969-3d64c4a8cee1)] +[scriptable, uuid(675aff34-07c5-491f-b92f-ccaf616ef8b3)] interface nsIDOMHTMLStyleElement : nsIDOMHTMLElement { attribute boolean disabled; diff --git a/dom/interfaces/html/nsIDOMHTMLTableCaptionElem.idl b/dom/interfaces/html/nsIDOMHTMLTableCaptionElem.idl index d20b47078d81..c96189b26b2c 100644 --- a/dom/interfaces/html/nsIDOMHTMLTableCaptionElem.idl +++ b/dom/interfaces/html/nsIDOMHTMLTableCaptionElem.idl @@ -50,7 +50,7 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(d8d86ab3-6bc2-4615-a7ee-24be42a44a46)] +[scriptable, uuid(0e843cc7-ff12-49b5-8c8d-939dc5b66b6b)] interface nsIDOMHTMLTableCaptionElement : nsIDOMHTMLElement { attribute DOMString align; diff --git a/dom/interfaces/html/nsIDOMHTMLTableCellElement.idl b/dom/interfaces/html/nsIDOMHTMLTableCellElement.idl index ce0efcaf06d4..bda89aa35dc6 100644 --- a/dom/interfaces/html/nsIDOMHTMLTableCellElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLTableCellElement.idl @@ -50,7 +50,7 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(8b44d956-4da8-4b61-a0ee-2ae6773bd2ce)] +[scriptable, uuid(042957a7-8680-4ed4-9a45-40108e73701b)] interface nsIDOMHTMLTableCellElement : nsIDOMHTMLElement { readonly attribute long cellIndex; diff --git a/dom/interfaces/html/nsIDOMHTMLTableColElement.idl b/dom/interfaces/html/nsIDOMHTMLTableColElement.idl index dc806dfb8580..1c31b721e3be 100644 --- a/dom/interfaces/html/nsIDOMHTMLTableColElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLTableColElement.idl @@ -50,7 +50,7 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(3ce8cdfa-9bb0-4a42-a483-c3cb978f7864)] +[scriptable, uuid(b0c8daa0-6b74-4436-b1ca-2de5d6d3fe33)] interface nsIDOMHTMLTableColElement : nsIDOMHTMLElement { attribute DOMString align; diff --git a/dom/interfaces/html/nsIDOMHTMLTableElement.idl b/dom/interfaces/html/nsIDOMHTMLTableElement.idl index 9284708a096e..24f191663c13 100644 --- a/dom/interfaces/html/nsIDOMHTMLTableElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLTableElement.idl @@ -50,7 +50,7 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(5287af67-bcac-4db7-8dd7-6a60cde335b0)] +[scriptable, uuid(1927df94-db16-4e28-a491-4279eccc539d)] interface nsIDOMHTMLTableElement : nsIDOMHTMLElement { // Modified in DOM Level 2: diff --git a/dom/interfaces/html/nsIDOMHTMLTableRowElement.idl b/dom/interfaces/html/nsIDOMHTMLTableRowElement.idl index 8456aaca39b7..e2ae3832d70a 100644 --- a/dom/interfaces/html/nsIDOMHTMLTableRowElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLTableRowElement.idl @@ -50,7 +50,7 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(32cba7ef-5cda-49a3-b1a8-f6defb13aa4e)] +[scriptable, uuid(0f614ba0-5ee1-494b-ade8-14c29f416798)] interface nsIDOMHTMLTableRowElement : nsIDOMHTMLElement { // Modified in DOM Level 2: diff --git a/dom/interfaces/html/nsIDOMHTMLTableSectionElem.idl b/dom/interfaces/html/nsIDOMHTMLTableSectionElem.idl index e2383b5870f8..fe56be6990e2 100644 --- a/dom/interfaces/html/nsIDOMHTMLTableSectionElem.idl +++ b/dom/interfaces/html/nsIDOMHTMLTableSectionElem.idl @@ -50,7 +50,7 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(669bdaf8-f3c5-4925-a054-fbd11d63de59)] +[scriptable, uuid(76400ad3-725a-45c1-bb98-5a6cdb91af11)] interface nsIDOMHTMLTableSectionElement : nsIDOMHTMLElement { attribute DOMString align; diff --git a/dom/interfaces/html/nsIDOMHTMLTextAreaElement.idl b/dom/interfaces/html/nsIDOMHTMLTextAreaElement.idl index d326f9e663c6..54adad77ca12 100644 --- a/dom/interfaces/html/nsIDOMHTMLTextAreaElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLTextAreaElement.idl @@ -50,13 +50,12 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(cbc46753-1e54-43cd-afc9-068501abffb9)] +[scriptable, uuid(905edd3e-c0b3-4d54-8a2c-0eaab6ccb3cf)] interface nsIDOMHTMLTextAreaElement : nsIDOMHTMLElement { // Modified in DOM Level 2: attribute DOMString defaultValue; readonly attribute nsIDOMHTMLFormElement form; - attribute DOMString accessKey; attribute unsigned long cols; attribute boolean disabled; attribute DOMString name; @@ -65,7 +64,5 @@ interface nsIDOMHTMLTextAreaElement : nsIDOMHTMLElement attribute long tabIndex; readonly attribute DOMString type; attribute DOMString value; - void blur(); - void focus(); void select(); }; diff --git a/dom/interfaces/html/nsIDOMHTMLTitleElement.idl b/dom/interfaces/html/nsIDOMHTMLTitleElement.idl index 79878437338e..334211fd362b 100644 --- a/dom/interfaces/html/nsIDOMHTMLTitleElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLTitleElement.idl @@ -50,7 +50,7 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(df203632-8ff0-4435-966f-449b11ce4d48)] +[scriptable, uuid(487748c0-31c0-4985-93c6-588b64f8ed2d)] interface nsIDOMHTMLTitleElement : nsIDOMHTMLElement { attribute DOMString text; diff --git a/dom/interfaces/html/nsIDOMHTMLUListElement.idl b/dom/interfaces/html/nsIDOMHTMLUListElement.idl index 8b17fd00e337..991ba71bde5d 100644 --- a/dom/interfaces/html/nsIDOMHTMLUListElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLUListElement.idl @@ -50,7 +50,7 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(ee2d4c7c-6f45-4746-8f07-67012dd41b9e)] +[scriptable, uuid(49610fd6-bf9e-4a13-beb3-09ac74540077)] interface nsIDOMHTMLUListElement : nsIDOMHTMLElement { attribute boolean compact; diff --git a/dom/interfaces/html/nsIDOMHTMLUnknownElement.idl b/dom/interfaces/html/nsIDOMHTMLUnknownElement.idl index 67377041257c..0cce80d395ba 100644 --- a/dom/interfaces/html/nsIDOMHTMLUnknownElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLUnknownElement.idl @@ -43,7 +43,7 @@ * * @see */ -[scriptable, uuid(3ed18057-6dc0-43f4-834e-25118c840482)] +[scriptable, uuid(9d094117-9937-4ae4-a325-1761d7a9f3bc)] interface nsIDOMHTMLUnknownElement : nsIDOMHTMLElement { }; diff --git a/dom/interfaces/html/nsIDOMHTMLVideoElement.idl b/dom/interfaces/html/nsIDOMHTMLVideoElement.idl index 4123209cc844..ac0f5d07e790 100644 --- a/dom/interfaces/html/nsIDOMHTMLVideoElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLVideoElement.idl @@ -48,7 +48,7 @@ * @status UNDER_DEVELOPMENT */ -[scriptable, uuid(59b7aa25-7857-4f2c-a11e-ab921a76e6c7)] +[scriptable, uuid(00c757ec-db7b-477e-95cd-b2a03b0f8634)] interface nsIDOMHTMLVideoElement : nsIDOMHTMLMediaElement { attribute long width; diff --git a/dom/interfaces/html/nsIDOMNSHTMLElement.idl b/dom/interfaces/html/nsIDOMNSHTMLElement.idl index f4b35f096b1d..d48e9674ff6f 100644 --- a/dom/interfaces/html/nsIDOMNSHTMLElement.idl +++ b/dom/interfaces/html/nsIDOMNSHTMLElement.idl @@ -38,7 +38,7 @@ #include "domstubs.idl" -[scriptable, uuid(f0ffe1d2-9615-492b-aae1-05428ebc2a70)] +[scriptable, uuid(4738f75d-9c6f-40f8-81d0-84b2e4726a8f)] interface nsIDOMNSHTMLElement : nsISupports { readonly attribute long offsetTop; @@ -63,9 +63,6 @@ interface nsIDOMNSHTMLElement : nsISupports // for WHAT-WG drag and drop attribute boolean draggable; - void blur(); - void focus(); - [optional_argc] void scrollIntoView([optional] in boolean top); attribute boolean spellcheck; diff --git a/dom/interfaces/html/nsIDOMNSHTMLHRElement.idl b/dom/interfaces/html/nsIDOMNSHTMLHRElement.idl index 42e2de217070..f19b1f176f3f 100644 --- a/dom/interfaces/html/nsIDOMNSHTMLHRElement.idl +++ b/dom/interfaces/html/nsIDOMNSHTMLHRElement.idl @@ -42,7 +42,7 @@ * interface for [X]HTML hr elements, for compatibility with IE. */ -[scriptable, uuid(19b5879f-c125-447c-aaaf-719de3ef221a)] +[scriptable, uuid(63c0ae1b-8aa7-4e72-82a1-aff486bfdaf5)] interface nsIDOMNSHTMLHRElement : nsISupports { attribute DOMString color; From 01671ed6dd6fb2ffd4b4428161bf4ed2b5893ff5 Mon Sep 17 00:00:00 2001 From: Ed Morley Date: Mon, 11 Apr 2011 19:00:32 +0200 Subject: [PATCH 5/5] Bug 523316 - Remove unused MOZ_PLACES_BOOKMARKS define; r=mak --- config/autoconf.mk.in | 1 - configure.in | 1 - 2 files changed, 2 deletions(-) diff --git a/config/autoconf.mk.in b/config/autoconf.mk.in index 3a2ecd39b24c..0fb700b15381 100644 --- a/config/autoconf.mk.in +++ b/config/autoconf.mk.in @@ -142,7 +142,6 @@ MOZ_PROFILELOCKING = @MOZ_PROFILELOCKING@ MOZ_FEEDS = @MOZ_FEEDS@ MOZ_TOOLKIT_SEARCH = @MOZ_TOOLKIT_SEARCH@ MOZ_PLACES = @MOZ_PLACES@ -MOZ_PLACES_BOOKMARKS = @MOZ_PLACES_BOOKMARKS@ MOZ_STORAGE = @MOZ_STORAGE@ MOZ_SAFE_BROWSING = @MOZ_SAFE_BROWSING@ MOZ_FASTSTART = @MOZ_FASTSTART@ diff --git a/configure.in b/configure.in index 26e870f07041..f551a0bcfa1a 100644 --- a/configure.in +++ b/configure.in @@ -8951,7 +8951,6 @@ AC_SUBST(MOZ_PROFILING) AC_SUBST(MOZ_QUANTIFY) AC_SUBST(LIBICONV) AC_SUBST(MOZ_PLACES) -AC_SUBST(MOZ_PLACES_BOOKMARKS) AC_SUBST(MOZ_STORAGE) AC_SUBST(MOZ_TOOLKIT_SEARCH) AC_SUBST(MOZ_FEEDS)