Re: Include out of viewport frames in display list

[email protected] Tue, 19 Jul 2016 07:00:21 -0700 (PDT)
Newsgroups gmane.comp.mozilla.devel.layout
Message-ID <[email protected]>
Hi,

I'm still working on this and ran into a new problem. I'd like to return the elements in a list, but with additional metadata. Essentially an array with objects.

My function now works like elementsFromPoint() and returns sequence<Element> which is defined in source/release/dom/webidl/Document.webidl.

So instead of this:
[referenceToHtmlNode,referenceToHtmlNode,referenceToHtmlNode,referenceToHtmlNode]

I'd like my function to return something like this:
[{node:referenceToHtmlNode,number1:aNumber,number2:aNumber,number3:aNumber},
{node:referenceToHtmlNode,number1:aNumber,number2:aNumber,number3:aNumber},
{node:referenceToHtmlNode,number1:aNumber,number2:aNumber,number3:aNumber},
{node:referenceToHtmlNode,number1:aNumber,number2:aNumber,number3:aNumber}]

Actually even better would be an array of these arrays...
[[{node:referenceToHtmlNode,number1:aNumber,number2:aNumber,number3:aNumber},
{node:referenceToHtmlNode,number1:aNumber,number2:aNumber,number3:aNumber},
{node:referenceToHtmlNode,number1:aNumber,number2:aNumber,number3:aNumber},
{node:referenceToHtmlNode,number1:aNumber,number2:aNumber,number3:aNumber}],

[{node:referenceToHtmlNode,number1:aNumber,number2:aNumber,number3:aNumber},
{node:referenceToHtmlNode,number1:aNumber,number2:aNumber,number3:aNumber},
{node:referenceToHtmlNode,number1:aNumber,number2:aNumber,number3:aNumber},
{node:referenceToHtmlNode,number1:aNumber,number2:aNumber,number3:aNumber}],

[{node:referenceToHtmlNode,number1:aNumber,number2:aNumber,number3:aNumber},
{node:referenceToHtmlNode,number1:aNumber,number2:aNumber,number3:aNumber},
{node:referenceToHtmlNode,number1:aNumber,number2:aNumber,number3:aNumber},
{node:referenceToHtmlNode,number1:aNumber,number2:aNumber,number3:aNumber}]]

What kind of type would I use for this? I'd also have to change to the corresponding type in nsDocument.cpp, currently it looks like this:

nsIDocument::myFunction(nsTArray<RefPtr<Element>>& aElements){
...
}

Hopefully you don't think it's a silly question!