--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAORodQi_LSUFXWxpfAKQKKVhRzK1UvGVz%2B4unQUN2qskFSSafw%40mail.gmail.com.
Thank you Philip.Since this accessibility support function is called for all renderer types (in ChromeOS including Arc++ and Ash), there would be a better consistency if we have the snapshotting code in the renderer. Therefore I am trying to avoid using the browser side ui::GrabViewSnapshot (as in DevTools), unless the alternative approach proves to be too complicated or unnecessarily heavy.I tried using DataTransfer::NodeImage in this draft CL, but my understanding is that since it triggers a repaint, we should make sure it is not in the middle of a lifecycle update to avoid conflicts. Is there a notification of a signal that tells when it's safe to request it?
I assume it's the same for the SpoolSinglePage as it also redraws the image. And performance wise, can we say that as this approach triggers a repaint, it's heavier than the browser based snapshotting (using ui::GrabViewSnapshot), as the latter is using the already painted output and does not require a repaint?
Thank you very much Philip,About the concern that a repaint based approach (similar to NodeImage) will not have the backgrounds or other higher level effects, can we say that on the other hand (specially since this function is explicitly querying the image for a certain node) the full-page-paint+crop approach also suffers from the possibility that the node maybe be partially covered by another node, or being out of the screen's visible area (needing scroll), or even being covered by a dialog box?
Thank you very much Philip. I will write a 1-pager on this discussion for posteriority and will proceed with the inside blink approach.Just as the concluding question, I have a draft CL on it (crrev.com/c/3370381). Would you suggest that I take a (possibly simplified) copy of the DataTransfer::NodeImage in third_party/blink/renderer/modules/accessibility, or refactor the existing code in DataTransfer to fit the existing and the new use case. I prefer the latter as it is a very delicate and complex process. If you agree with that, do you have any suggestions on the refactoring or I would just go with it and ask you to take a look after?