Turn on WebIDL binding generation for Document and hook it up to quickstubs

RESOLVED FIXED in mozilla20

Status

()

defect
RESOLVED FIXED
7 years ago
4 months ago

People

(Reporter: bzbarsky, Assigned: bzbarsky)

Tracking

(Blocks 1 bug)

unspecified
mozilla20
x86
macOS
Points:
---
Dependency tree / graph
Bug Flags:
in-testsuite +

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(2 attachments)

Just Do It.
Blocks: 816421
Depends on: 818379
Blocks: 819239
Blocks: 816180
Comment on attachment 686442 [details] [diff] [review]
part 1.  Hook up the WebIDL bindings for Document.

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

::: dom/base/nsDOMClassInfoID.h
@@ +55,1 @@
>  DOMCI_CASTABLE_INTERFACE(nsDocument, nsIDocument, 5, _extra)                  \

So I think you're going to have to add

NEW_BINDING(nsIDocument, Document)

and

NEW_BINDING(nsDocument, Document)

to nsDOMQS.h so that we can unwrap new binding objects for documents to nsIDocument and nsDocument by checking for the prototype id for Document.
Attachment #686442 - Flags: review?(peterv) → review+
Attachment #686444 - Flags: review?(peterv) → review+
> So I think you're going to have to add

Yeah, indeed.  Done.
So I ran into one test failure with this, which I don't recall, but can't see why it would have failed to happen before.  Specifically, we have a test that does this:

  var l3 = document.createTouchList();

but the spec IDL doesn't quite allow that... though there has been talk of changing the spec to accept "Touch... touch", which would allow no args.  Doing that as I land this is trivial; should I just do so?  Matt?
Flags: needinfo?(mbrubeck)
Oh, the failing test is content/events/test/test_bug648573.html

Also, I guess I need to make this [PrefControlled] just like we did HTMLElement, right, Peter?
Flags: needinfo?(peterv)
(In reply to Boris Zbarsky (:bz) from comment #6)
> Also, I guess I need to make this [PrefControlled] just like we did
> HTMLElement, right, Peter?

Ah, I forgot about that. Yes, for now you'll also need to comment out all the touch properties and methods because the quickstubs hook up doesn't deal with pref controlled things. And uncomment them again in bug 803542.
Flags: needinfo?(peterv)
Oh, right.  Ok, I'll comment those out for now and we can figure out what to do with createTouchList() with no args in bug 803542.
And https://hg.mozilla.org/integration/mozilla-inbound/rev/9db20066eb63 to fix the orange because more things got added to the imptest .json files that needed to go away.
(In reply to Boris Zbarsky (:bz) from comment #5)
> So I ran into one test failure with this, which I don't recall, but can't
> see why it would have failed to happen before.  Specifically, we have a test
> that does this:
> 
>   var l3 = document.createTouchList();
> 
> but the spec IDL doesn't quite allow that... though there has been talk of
> changing the spec to accept "Touch... touch", which would allow no args. 
> Doing that as I land this is trivial; should I just do so?  Matt?

Yes, changing our IDL to accept "Touch... touch" is a good thing, and matches WebKit.  We will change the spec too, or publish errata, or something.
Flags: needinfo?(mbrubeck)
Matt, thanks!

Filed bug 824824 on that.
Blocks: 842726
Component: DOM → DOM: Core & HTML
You need to log in before you can comment on or make changes to this bug.