We derrived the SectionenView class in our own plugin to support updates via ajax refresh (used jelly-includes for minimum dependencies).
The usecase is: we're showing some results on a monitor hanging on the wall which is connected with a small banana-pi. This one has no cpu power so normal jenkins-site-refresh will cause displaying blank sites for some millies. Using ajax refresh's will prevent this kind of flickering.
We know, there are some memleaks mentionen in JENKINS-41100 for which we found some workarounds. But still, after some time the chromium browser crashes while displaying the site.
We figured out: the DOM tree is growing larger and larger over the time until the browser is not able to handle it anymore.
Reason: the TestResult-Section renders its view to the normal dom-position (see attachted screenshot: section.png) but for the clickable area overlay at the diagram-image is added as div container to the body element (see picture body.png).
Problem: using ajax replaces the "section-div" with the new content, but cannot prevent adding additional divs to the body node. And the your plugin will add more... and more.. and more. The behavior is reproducable under each browser.
Task: do not attach the result-maps to body, attach it e.g. to the section-root node (e.g. as suggested in section.png), so when replacing the "section-div" also the "map-div" will be replaced.