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 00000000000..4df5458aa0e
--- /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 00000000000..95aec3d4e4b
--- /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 00000000000..17479f7471c
--- /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 5150ac68e6c..27800d3ab9e 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 c9ceb1c27b5..6277b3700e3 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 f82c0636495..6a346b1d4e5 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 6331126d40b..8602bad4a07 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 3521117f62d..2f5e85a1d06 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 3b1a06bd775..6804fa70edd 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 8313099c473..8a3b8c0235d 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 110c361397a..b200f141d02 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 73f7fac960c..76f67803629 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 bb18b3bfaab..1750e588caa 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 0ce378a33af..78464b46b73 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 26d30c1e7e2..c4d8c82e318 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 548e4f2a1fe..1aae5adcc7b 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 00000000000..427cc89b822
--- /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 f454fb94b4c..a002862d3ba 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 f88f8195c8d..2cc64403e5e 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 a1e74b61e50..7f353c70d6d 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 d35538093c7..a0f44339e58 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 d957b5d464b..e88623b56c6 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 5ab8a31b545..34997891275 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 a870dabaa0f..d7d3fd0db38 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 212f2b6958e..b12b18eb352 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 b68161f2ac7..cdc0d91a429 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 9b5d67b8897..8f9fda46967 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 9e139e81c0d..bca93a895e6 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 6a9988b9156..82e634c5baa 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 684bdb15078..bf50289e543 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 967d387a48f..214795b0f3d 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 32589ad9a08..da3a1cfa50a 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 4a7f72f7986..872cfc4f9af 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 672d3ba12ab..edab4b7a471 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 ee54830b42a..b8a8b574950 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 e4f43ce1c69..aa7d817a2f7 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 9bd3f0e1564..3fc3d6e5ca0 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 86f244378a6..6abc76da8d4 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 c9a6b7cd5e3..e4e1685454c 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 5758cb4b8a9..82dbae08237 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 b2349a6698c..94e58ca5109 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 ebfbee86df0..162330f2441 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 fa8b8b8a845..059e6b42077 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 ee505369089..ac42fa25757 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 ada7b7670a7..b88314af378 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 e641021d1b3..28f2134c81d 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 aa4e3a21de6..c7c26e2533c 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 c2f5a5b837d..84387050b06 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 607b3465e06..15580bfb3bf 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 cb8da366391..26923fc163b 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 af93fa6ca88..9536cfaffcf 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 68e6eb6a1a2..dcbcad76c3a 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 1755a4f495e..2b0cc66b4c2 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 4b0ed84764e..d26be13219d 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 2b9edfae1ea..2dccacf6e64 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 cbdf8473df8..e9635612a74 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 ec7968e06be..7431d44f301 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 11d499b9275..c8f7fbd8ed6 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 56130e1a9a9..dac91801e60 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 062858464fe..7ed1f427956 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 8a1b2d51af7..14d1f3291f2 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 e88f988828f..13fa876af3c 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 31370ba6434..feb9d29bd6c 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 234d700e844..755abb9b66a 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 5591cde09ce..b1b7dc21766 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 0f4a23745e6..5ae36c7ca4e 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 7f150c71d5b..fe34118b9ea 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 fd0ee1cb30e..dde80866294 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 d20b47078d8..c96189b26b2 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 ce0efcaf06d..bda89aa35dc 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 dc806dfb858..1c31b721e3b 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 9284708a096..24f191663c1 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 8456aaca39b..e2ae3832d70 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 e2383b5870f..fe56be6990e 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 d326f9e663c..54adad77ca1 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 79878437338..334211fd362 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 8b17fd00e33..991ba71bde5 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 67377041257..0cce80d395b 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 4123209cc84..ac0f5d07e79 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 f4b35f096b1..d48e9674ff6 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 42e2de21707..f19b1f176f3 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;
diff --git a/gfx/thebes/gfxDrawable.cpp b/gfx/thebes/gfxDrawable.cpp
index 6edb2e8a346..c9d8ca3269a 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/nsIPresShell.h b/layout/base/nsIPresShell.h
index 3b49d50f84c..7a90912e51b 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/nsLayoutUtils.cpp b/layout/base/nsLayoutUtils.cpp
index 5769a409027..7d3b417dd3b 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/layout/base/nsPresShell.cpp b/layout/base/nsPresShell.cpp
index 6d4df2dbc5c..c6a62928bc0 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
diff --git a/mobile/chrome/content/content.css b/mobile/chrome/content/content.css
index 3a3bd873610..35fa5c0b430 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;
-}
diff --git a/toolkit/locales/l10n.mk b/toolkit/locales/l10n.mk
index 883915793b0..3acd247370c 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 86f7284cba1..b8a9490c00f 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 d9e760fd9d8..4b74c343a48 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