Closed Bug 1418085 Opened 7 years ago Closed 6 years ago

Remove nsIDOMHTMLElement

Categories

(Core :: DOM: Core & HTML, enhancement, P3)

enhancement

Tracking

()

RESOLVED FIXED
mozilla60
Tracking Status
firefox60 --- fixed

People

(Reporter: qdot, Assigned: bzbarsky)

References

(Blocks 1 open bug)

Details

Attachments

(6 files, 3 obsolete files)

Continuing post-addon-deprecation XPCOM interface cleanup
Priority: -- → P3
Depends on: 1432977
Depends on: 1433542
MozReview-Commit-ID: 6J0wWzMCfWP
Attachment #8945925 - Flags: review?(continuation)
Assignee: kyle → bzbarsky
Status: NEW → ASSIGNED
MozReview-Commit-ID: 6YddkxqB5Bv
Attachment #8945926 - Flags: review?(surkov.alexander)
MozReview-Commit-ID: Ax7RUZQCosr
Attachment #8945928 - Flags: review?(continuation)
MozReview-Commit-ID: GsSnXNXGrHg
Attachment #8945929 - Flags: review?(continuation)
MozReview-Commit-ID: JbWMti82q3R
Attachment #8945931 - Flags: review?(continuation)
MozReview-Commit-ID: 5QUyFeAQYZQ
Attachment #8945933 - Flags: review?(continuation)
MozReview-Commit-ID: 6YddkxqB5Bv
Attachment #8945964 - Flags: review?(surkov.alexander)
Attachment #8945926 - Attachment is obsolete: true
Attachment #8945926 - Flags: review?(surkov.alexander)
Comment on attachment 8945964 [details] [diff] [review]
part 2.  Stop using nsIDOMHTMLElement in accessibility code

Review of attachment 8945964 [details] [diff] [review]:
-----------------------------------------------------------------

::: accessible/tests/mochitest/events.js
@@ +1059,5 @@
>      }
>  
>      // Scroll the node into view, otherwise synth click may fail.
> +    if (isHTMLElement(targetNode)) {
> +      // XXXbz scrollIntoView is on Element; can we just use it unconditionally?

yes, we should be able

@@ +1068,5 @@
>      }
>  
>      var x = 1, y = 1;
>      if (aArgs && ("where" in aArgs) && aArgs.where == "right") {
> +      if (isHTMLElement(targetNode))

getBoundingClientRect() probably can help to get rid the check too
Attachment #8945964 - Flags: review?(surkov.alexander) → review+
Attachment #8945925 - Flags: review?(continuation) → review?(nika)
Attachment #8945928 - Flags: review?(continuation) → review?(nika)
Attachment #8945929 - Flags: review?(continuation) → review?(nika)
Attachment #8945931 - Flags: review?(continuation) → review?(nika)
Attachment #8945933 - Flags: review?(continuation) → review?(nika)
Comment on attachment 8945925 [details] [diff] [review]
part 1.  Stop using nsIDOMHTMLElement in editor code

Review of attachment 8945925 [details] [diff] [review]:
-----------------------------------------------------------------

::: editor/libeditor/HTMLEditor.cpp
@@ +353,5 @@
>  {
>    // Use the HTML documents body element as the editor root if we didn't
>    // get a root element during initialization.
>  
> +  Element* bodyElement = GetBodyElement();

Why not do:

mRootElement = GetBodyElement();
if (!mRootElement) {
  nsCOMPtr<nsIDocument> doc = GetDocument();
  if (doc) {
    mRootElement = doc->GetDocumentElement();
  }
}

@@ +368,2 @@
>      }
> +  }    

nit: trailing whitespace.
Attachment #8945925 - Flags: review?(nika) → review+
> Why not do:

Because I didn't think to.  ;)  Fixed.

> nit: trailing whitespace.

Fixed.
Attachment #8945928 - Flags: review?(nika) → review+
Comment on attachment 8945929 [details] [diff] [review]
part 4.  Stop using nsIDOMHTMLElement in JS code

Review of attachment 8945929 [details] [diff] [review]:
-----------------------------------------------------------------

::: devtools/server/actors/object.js
@@ +1853,5 @@
>          }
>        }
>      } else if (rawObj instanceof Ci.nsIDOMElement) {
>        // Add preview for DOM element attributes.
> +      if (rawObj.namespaceURI == "http://www.w3.org/1999/xhtml") {

I would like an explanation as to why this change is correct - it doesn't seem necessarily incorrect but it also isn't super clear as to what you're checking.
Attachment #8945929 - Flags: review?(nika)
Comment on attachment 8945931 [details] [diff] [review]
part 5.  Remove nsIDOMHTMLInputElement::GetList

Review of attachment 8945931 [details] [diff] [review]:
-----------------------------------------------------------------

::: dom/interfaces/html/nsIDOMHTMLInputElement.idl
@@ +34,5 @@
>             attribute DOMString             name;
>  
>             attribute boolean               readOnly;
>  
>    readonly attribute nsIControllers        controllers;	

Maybe clean up this whitespace while you're here?
Attachment #8945931 - Flags: review?(nika) → review+
Attachment #8945933 - Flags: review?(nika) → review+
Attachment #8946347 - Flags: review?(nika)
Attachment #8945929 - Attachment is obsolete: true
> Maybe clean up this whitespace while you're here?

Done.
Attachment #8946347 - Attachment is obsolete: true
Attachment #8946347 - Flags: review?(nika)
Comment on attachment 8946349 [details] [diff] [review]
Part 4 with comments explaining what it's doing

Review of attachment 8946349 [details] [diff] [review]:
-----------------------------------------------------------------

thanks
Attachment #8946349 - Flags: review?(nika) → review+
Pushed by bzbarsky@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/2c852fd27256
part 1.  Stop using nsIDOMHTMLElement in editor code.  r=mystor
https://hg.mozilla.org/integration/mozilla-inbound/rev/09cb8eececa7
part 2.  Stop using nsIDOMHTMLElement in accessibility code.  r=surkov
https://hg.mozilla.org/integration/mozilla-inbound/rev/0ff82b4a39e1
part 3.  Stop using nsIDOMHTMLElement in form fill.  r=mystor
https://hg.mozilla.org/integration/mozilla-inbound/rev/8f73def3b816
part 4.  Stop using nsIDOMHTMLElement in JS code.  r=mystor
https://hg.mozilla.org/integration/mozilla-inbound/rev/86ea8b042827
part 5.  Remove nsIDOMHTMLInputElement::GetList.  r=mystor
https://hg.mozilla.org/integration/mozilla-inbound/rev/09e8b8497618
part 6.  Remove nsIDOMHTMLElement.  r=mystor
Pushed by bzbarsky@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/6e2d37b1b955
followup.  Try to fix the Mac-only a11y orange.  r=bustage
Either scrollIntoView or getBoundingClientRect didn't do the right thing on Mac....
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: