Bug 698381 – My Work So Far

When compared to bugs 698384 and 698385, this one is very similar. The problems I am finding myself having aren’t to do with how IDL defined optional arguments are handled but following the massive inheritance chain of nsIDOMNode. Compound that with the complexities of a code base like Mozilla and it can be pretty difficult at times really trying to figure out where or what you should be looking for.

Various helpful mxr searches have helped me find where cloneNode actually has been implemented (at least from what I can tell) however it seems to be more complicated than simply updating those methods to the new definition of cloneNode. Currently when compiling I get these errors:


/Users/matthewschranz/Sites/repos/mozilla-central/content/html/content/src/nsHTMLOptionElement.h:70:3: error: 
      too many arguments to function call, expected 2, have 3
  NS_FORWARD_NSIDOMNODE(nsGenericHTMLElement::) 
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../dist/include/nsIDOMNode.h:225:135: note: instantiated from:
  ...* *_retval NS_OUTPARAM) { return _to CloneNode(deep, _argc, _retval); } \
                                                                 ^~~~~~~
/Users/matthewschranz/Sites/repos/mozilla-central/content/base/src/nsGenericElement.h:437:3: note: 
      'CloneNode' declared here
  nsresult CloneNode(bool aDeep, nsIDOMNode **aResult)
  ^
In file included from /Users/matthewschranz/Sites/repos/mozilla-central/js/xpconnect/src/dombindings.cpp:1206:
In file included from ./dombindings_gen.cpp:3:
In file included from /Users/matthewschranz/Sites/repos/mozilla-central/content/html/content/src/nsHTMLSelectElement.h:61:

/Users/matthewschranz/Sites/repos/mozilla-central/content/html/content/src/nsHTMLFormElement.h:109:3: error: 
      too many arguments to function call, expected 2, have 3
  NS_FORWARD_NSIDOMNODE(nsGenericHTMLElement::) 
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../dist/include/nsIDOMNode.h:225:135: note: instantiated from:
  ...* *_retval NS_OUTPARAM) { return _to CloneNode(deep, _argc, _retval); } \
                                                                 ^~~~~~~
/Users/matthewschranz/Sites/repos/mozilla-central/content/base/src/nsGenericElement.h:437:3: note: 
      'CloneNode' declared here
  nsresult CloneNode(bool aDeep, nsIDOMNode **aResult)
  ^
In file included from /Users/matthewschranz/Sites/repos/mozilla-central/js/xpconnect/src/dombindings.cpp:1206:
In file included from ./dombindings_gen.cpp:3:


/Users/matthewschranz/Sites/repos/mozilla-central/content/html/content/src/nsHTMLSelectElement.h:262:3: error: 
      too many arguments to function call, expected 2, have 3
  NS_FORWARD_NSIDOMNODE(nsGenericHTMLFormElement::) 
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../dist/include/nsIDOMNode.h:225:135: note: instantiated from:
  ...* *_retval NS_OUTPARAM) { return _to CloneNode(deep, _argc, _retval); }

The troubles I am having is attempting to figure out what those two forward declarations are calling.

Honestly this is the only thing that’s leaving me stuck at this point. For now I think I’ll go get myself level 1 Try server access so I can finish another ticket.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: