mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 795610 - Part c: Prepare HTMLElement.draggable for WebIDL bindings; r=mounir
This commit is contained in:
parent
93441dfdf1
commit
44a7b29613
@ -1656,22 +1656,6 @@ nsGenericHTMLElement::SetSpellcheck(bool aSpellcheck)
|
||||
return SetAttrHelper(nsGkAtoms::spellcheck, NS_LITERAL_STRING("false"));
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsGenericHTMLElement::GetDraggable(bool* aDraggable)
|
||||
{
|
||||
*aDraggable = AttrValueIs(kNameSpaceID_None, nsGkAtoms::draggable,
|
||||
nsGkAtoms::_true, eIgnoreCase);
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsGenericHTMLElement::SetDraggable(bool aDraggable)
|
||||
{
|
||||
return SetAttrHelper(nsGkAtoms::draggable,
|
||||
aDraggable ? NS_LITERAL_STRING("true")
|
||||
: NS_LITERAL_STRING("false"));
|
||||
}
|
||||
|
||||
bool
|
||||
nsGenericHTMLElement::InNavQuirksMode(nsIDocument* aDoc)
|
||||
{
|
||||
|
@ -93,6 +93,17 @@ public:
|
||||
{
|
||||
aError = SetIntAttr(nsGkAtoms::tabindex, aTabIndex);
|
||||
}
|
||||
virtual bool Draggable() const
|
||||
{
|
||||
return AttrValueIs(kNameSpaceID_None, nsGkAtoms::draggable,
|
||||
nsGkAtoms::_true, eIgnoreCase);
|
||||
}
|
||||
void SetDraggable(bool aDraggable, mozilla::ErrorResult& aError)
|
||||
{
|
||||
aError = SetAttrHelper(nsGkAtoms::draggable,
|
||||
aDraggable ? NS_LITERAL_STRING("true")
|
||||
: NS_LITERAL_STRING("false"));
|
||||
}
|
||||
|
||||
// nsIDOMHTMLElement methods. Note that these are non-virtual
|
||||
// methods, implementations are expected to forward calls to these
|
||||
@ -119,6 +130,17 @@ public:
|
||||
SetTabIndex(aTabIndex, rv);
|
||||
return rv.ErrorCode();
|
||||
}
|
||||
nsresult GetDraggable(bool* aDraggable)
|
||||
{
|
||||
*aDraggable = Draggable();
|
||||
return NS_OK;
|
||||
}
|
||||
nsresult SetDraggable(bool aDraggable)
|
||||
{
|
||||
mozilla::ErrorResult rv;
|
||||
SetDraggable(aDraggable, rv);
|
||||
return rv.ErrorCode();
|
||||
}
|
||||
|
||||
nsresult GetOffsetTop(int32_t* aOffsetTop);
|
||||
nsresult GetOffsetLeft(int32_t* aOffsetLeft);
|
||||
@ -132,9 +154,9 @@ public:
|
||||
NS_IMETHOD InsertAdjacentHTML(const nsAString& aPosition,
|
||||
const nsAString& aText);
|
||||
nsresult ScrollIntoView(bool aTop, uint8_t optional_argc);
|
||||
// Declare Focus(), Blur(), GetHidden(), SetHidden(), GetSpellcheck(),
|
||||
// SetSpellcheck(), and GetDraggable() such that classes that inherit
|
||||
// interfaces with those methods properly override them.
|
||||
// Declare Focus(), Blur(), GetHidden(), SetHidden(), GetSpellcheck(), and
|
||||
// SetSpellcheck() such that classes that inherit interfaces with those
|
||||
// methods properly override them.
|
||||
NS_IMETHOD Focus();
|
||||
NS_IMETHOD Blur();
|
||||
NS_IMETHOD Click();
|
||||
@ -142,8 +164,6 @@ public:
|
||||
NS_IMETHOD SetHidden(bool aHidden);
|
||||
NS_IMETHOD GetSpellcheck(bool* aSpellcheck);
|
||||
NS_IMETHOD SetSpellcheck(bool aSpellcheck);
|
||||
NS_IMETHOD GetDraggable(bool* aDraggable);
|
||||
NS_IMETHOD SetDraggable(bool aDraggable);
|
||||
NS_IMETHOD GetItemScope(bool* aItemScope);
|
||||
NS_IMETHOD SetItemScope(bool aItemScope);
|
||||
NS_IMETHOD GetItemValue(nsIVariant** aValue);
|
||||
@ -1378,7 +1398,6 @@ protected:
|
||||
* This macro doesn't forward
|
||||
* - Click
|
||||
* - Focus
|
||||
* - GetDraggable
|
||||
* - GetInnerHTML
|
||||
* - SetInnerHTML
|
||||
* because sometimes elements want to override them.
|
||||
@ -1480,6 +1499,9 @@ protected:
|
||||
NS_IMETHOD GetAccessKeyLabel(nsAString& aAccessKeyLabel) { \
|
||||
return _to GetAccessKeyLabel(aAccessKeyLabel); \
|
||||
} \
|
||||
NS_IMETHOD GetDraggable(bool* aDraggable) { \
|
||||
return _to GetDraggable(aDraggable); \
|
||||
} \
|
||||
NS_IMETHOD SetDraggable(bool aDraggable) { \
|
||||
return _to SetDraggable(aDraggable); \
|
||||
} \
|
||||
|
@ -41,21 +41,9 @@ public:
|
||||
NS_FORWARD_NSIDOMELEMENT(nsGenericHTMLElement::)
|
||||
|
||||
// nsIDOMHTMLElement
|
||||
NS_FORWARD_NSIDOMHTMLELEMENT_BASIC(nsGenericHTMLElement::)
|
||||
NS_IMETHOD Click() {
|
||||
return nsGenericHTMLElement::Click();
|
||||
}
|
||||
NS_IMETHOD Focus() {
|
||||
return nsGenericHTMLElement::Focus();
|
||||
}
|
||||
NS_IMETHOD GetDraggable(bool* aDraggable);
|
||||
NS_IMETHOD GetInnerHTML(nsAString& aInnerHTML) {
|
||||
return nsGenericHTMLElement::GetInnerHTML(aInnerHTML);
|
||||
}
|
||||
NS_IMETHOD SetInnerHTML(const nsAString& aInnerHTML) {
|
||||
return nsGenericHTMLElement::SetInnerHTML(aInnerHTML);
|
||||
}
|
||||
NS_FORWARD_NSIDOMHTMLELEMENT(nsGenericHTMLElement::)
|
||||
virtual int32_t TabIndexDefault() MOZ_OVERRIDE;
|
||||
virtual bool Draggable() const MOZ_OVERRIDE;
|
||||
|
||||
// nsIDOMHTMLAnchorElement
|
||||
NS_DECL_NSIDOMHTMLANCHORELEMENT
|
||||
@ -190,19 +178,18 @@ nsHTMLAnchorElement::SetItemValueText(const nsAString& aValue)
|
||||
SetHref(aValue);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsHTMLAnchorElement::GetDraggable(bool* aDraggable)
|
||||
bool
|
||||
nsHTMLAnchorElement::Draggable() const
|
||||
{
|
||||
// links can be dragged as long as there is an href and the
|
||||
// draggable attribute isn't false
|
||||
if (HasAttr(kNameSpaceID_None, nsGkAtoms::href)) {
|
||||
*aDraggable = !AttrValueIs(kNameSpaceID_None, nsGkAtoms::draggable,
|
||||
nsGkAtoms::_false, eIgnoreCase);
|
||||
return NS_OK;
|
||||
if (!HasAttr(kNameSpaceID_None, nsGkAtoms::href)) {
|
||||
// no href, so just use the same behavior as other elements
|
||||
return nsGenericHTMLElement::Draggable();
|
||||
}
|
||||
|
||||
// no href, so just use the same behavior as other elements
|
||||
return nsGenericHTMLElement::GetDraggable(aDraggable);
|
||||
return !AttrValueIs(kNameSpaceID_None, nsGkAtoms::draggable,
|
||||
nsGkAtoms::_false, eIgnoreCase);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -34,9 +34,6 @@ public:
|
||||
NS_IMETHOD Focus() {
|
||||
return nsGenericHTMLElement::Focus();
|
||||
}
|
||||
NS_IMETHOD GetDraggable(bool* aDraggable) {
|
||||
return nsGenericHTMLElement::GetDraggable(aDraggable);
|
||||
}
|
||||
NS_IMETHOD GetInnerHTML(nsAString& aInnerHTML);
|
||||
NS_IMETHOD SetInnerHTML(const nsAString& aInnerHTML) {
|
||||
return nsGenericHTMLElement::SetInnerHTML(aInnerHTML);
|
||||
|
@ -132,13 +132,12 @@ nsHTMLImageElement::SetItemValueText(const nsAString& aValue)
|
||||
// just a string attr purposes of the DOM crossOrigin property.
|
||||
NS_IMPL_STRING_ATTR(nsHTMLImageElement, CrossOrigin, crossorigin)
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsHTMLImageElement::GetDraggable(bool* aDraggable)
|
||||
bool
|
||||
nsHTMLImageElement::Draggable() const
|
||||
{
|
||||
// images may be dragged unless the draggable attribute is false
|
||||
*aDraggable = !AttrValueIs(kNameSpaceID_None, nsGkAtoms::draggable,
|
||||
nsGkAtoms::_false, eIgnoreCase);
|
||||
return NS_OK;
|
||||
return !AttrValueIs(kNameSpaceID_None, nsGkAtoms::draggable,
|
||||
nsGkAtoms::_false, eIgnoreCase);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
|
@ -30,20 +30,8 @@ public:
|
||||
NS_FORWARD_NSIDOMELEMENT(nsGenericHTMLElement::)
|
||||
|
||||
// nsIDOMHTMLElement
|
||||
NS_FORWARD_NSIDOMHTMLELEMENT_BASIC(nsGenericHTMLElement::)
|
||||
NS_IMETHOD Click() {
|
||||
return nsGenericHTMLElement::Click();
|
||||
}
|
||||
NS_IMETHOD Focus() {
|
||||
return nsGenericHTMLElement::Focus();
|
||||
}
|
||||
NS_IMETHOD GetDraggable(bool* aDraggable);
|
||||
NS_IMETHOD GetInnerHTML(nsAString& aInnerHTML) {
|
||||
return nsGenericHTMLElement::GetInnerHTML(aInnerHTML);
|
||||
}
|
||||
NS_IMETHOD SetInnerHTML(const nsAString& aInnerHTML) {
|
||||
return nsGenericHTMLElement::SetInnerHTML(aInnerHTML);
|
||||
}
|
||||
NS_FORWARD_NSIDOMHTMLELEMENT(nsGenericHTMLElement::)
|
||||
virtual bool Draggable() const MOZ_OVERRIDE;
|
||||
|
||||
// nsIDOMHTMLImageElement
|
||||
NS_DECL_NSIDOMHTMLIMAGEELEMENT
|
||||
|
@ -78,9 +78,6 @@ public:
|
||||
NS_FORWARD_NSIDOMHTMLELEMENT_BASIC(nsGenericHTMLFormElement::)
|
||||
NS_IMETHOD Click();
|
||||
NS_IMETHOD Focus();
|
||||
NS_IMETHOD GetDraggable(bool* aDraggable) {
|
||||
return nsGenericHTMLFormElement::GetDraggable(aDraggable);
|
||||
}
|
||||
NS_IMETHOD GetInnerHTML(nsAString& aInnerHTML) {
|
||||
return nsGenericHTMLFormElement::GetInnerHTML(aInnerHTML);
|
||||
}
|
||||
|
@ -46,9 +46,6 @@ public:
|
||||
return nsGenericHTMLFormElement::Click();
|
||||
}
|
||||
NS_IMETHOD Focus();
|
||||
NS_IMETHOD GetDraggable(bool* aDraggable) {
|
||||
return nsGenericHTMLFormElement::GetDraggable(aDraggable);
|
||||
}
|
||||
NS_IMETHOD GetInnerHTML(nsAString& aInnerHTML) {
|
||||
return nsGenericHTMLFormElement::GetInnerHTML(aInnerHTML);
|
||||
}
|
||||
|
@ -41,9 +41,6 @@ public:
|
||||
return nsGenericHTMLElement::Click();
|
||||
}
|
||||
NS_IMETHOD Focus();
|
||||
NS_IMETHOD GetDraggable(bool* aDraggable) {
|
||||
return nsGenericHTMLElement::GetDraggable(aDraggable);
|
||||
}
|
||||
NS_IMETHOD GetInnerHTML(nsAString& aInnerHTML) {
|
||||
return nsGenericHTMLElement::GetInnerHTML(aInnerHTML);
|
||||
}
|
||||
|
@ -56,9 +56,6 @@ public:
|
||||
NS_IMETHOD Focus() {
|
||||
return nsGenericHTMLElement::Focus();
|
||||
}
|
||||
NS_IMETHOD GetDraggable(bool* aDraggable) {
|
||||
return nsGenericHTMLElement::GetDraggable(aDraggable);
|
||||
}
|
||||
NS_IMETHOD GetInnerHTML(nsAString& aInnerHTML);
|
||||
NS_IMETHOD SetInnerHTML(const nsAString& aInnerHTML);
|
||||
|
||||
|
@ -44,9 +44,6 @@ public:
|
||||
NS_IMETHOD Focus() {
|
||||
return nsGenericHTMLElement::Focus();
|
||||
}
|
||||
NS_IMETHOD GetDraggable(bool* aDraggable) {
|
||||
return nsGenericHTMLElement::GetDraggable(aDraggable);
|
||||
}
|
||||
NS_IMETHOD GetInnerHTML(nsAString& aInnerHTML);
|
||||
NS_IMETHOD SetInnerHTML(const nsAString& aInnerHTML);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user