Re: Include out of viewport frames in display list

[email protected]
Newsgroups gmane.comp.mozilla.devel.layout
Message-ID <[email protected]>
Sorry for the delayed response! I'm not actually subscribed to this list, and I thought replies would be automatically cc'd to me.

On Sunday, April 24, 2016 at 6:12:31 AM UTC-4, [email protected] wrote:
> I'm still stuck with a few things. Just like elementsFromPoint() my function currently ignores nodes with pointer-events:none; or visibility:hidden; (and maybe more). I only want to ignore nodes with display:none; Where can I override this?

It looks like visibility:none is checked here [1] and pointer-events:none is checked here [2].

Both of those functions have an nsDisplayListBuilder* argument, so you could do something like this:

  - add a flag to nsDisplayListBuilder, whether it should ignore
    visibility:none and pointer-events:none
  - condition the above checks on the flag not being set
  - add a corresponding option to GetFramesForArea()
  - when GetFramesForArea() constructs the nsDisplayListBuilder,
    set the flag is the option is set
  - for your call to GetFramesForArea(), set the option

Hope that made sense.

If you give some more details about your end goal, we may be able to suggest solutions that are easier / involve writing less custom code.

Cheers,
Botond

[1] https://dxr.mozilla.org/mozilla-central/rev/1461a4071341c282afcf7b72e33036412d2251d4/layout/generic/nsFrame.cpp#6295
[2] https://dxr.mozilla.org/mozilla-central/rev/1461a4071341c282afcf7b72e33036412d2251d4/layout/base/nsDisplayList.cpp#2061
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.