Tests that evaluating V8-embedder callbacks allows side-effect-free attribute getters. Should not crash. Expression `document.title = "foo"` has side effect: true, expected: true Expression `document.domain` has side effect: false, expected: false Expression `document.referrer` has side effect: false, expected: false Expression `document.cookie` has side effect: false, expected: false Expression `document.title` has side effect: false, expected: false Expression `document.documentElement` has side effect: false, expected: false Expression `document.scrollingElement` has side effect: false, expected: false Expression `document.body` has side effect: false, expected: false Expression `document.head` has side effect: false, expected: false Expression `document.location` has side effect: false, expected: false Expression `document.defaultView` has side effect: false, expected: false Expression `document.activeElement` has side effect: false, expected: false Expression `div.tagName` has side effect: false, expected: false Expression `div.id` has side effect: false, expected: false Expression `div.className` has side effect: false, expected: false Expression `div.classList` has side effect: false, expected: false Expression `div.attributes` has side effect: false, expected: false Expression `shadowContainer.shadowRoot` has side effect: false, expected: false Expression `div.innerHTML` has side effect: false, expected: false Expression `div.outerHTML` has side effect: false, expected: false Expression `div.hidden` has side effect: false, expected: false Expression `div.tabIndex` has side effect: false, expected: false Expression `div.style` has side effect: false, expected: false Expression `location.href` has side effect: false, expected: false Expression `navigator.userAgent` has side effect: false, expected: false Expression `div.nodeType` has side effect: false, expected: false Expression `div.nodeName` has side effect: false, expected: false Expression `div.nodeValue` has side effect: false, expected: false Expression `div.textContent` has side effect: false, expected: false Expression `div.isConnected` has side effect: false, expected: false Expression `div.parentNode` has side effect: false, expected: false Expression `div.parentElement` has side effect: false, expected: false Expression `div.childNodes` has side effect: false, expected: false Expression `div.firstChild` has side effect: false, expected: false Expression `div.lastChild` has side effect: false, expected: false Expression `div.previousSibling` has side effect: false, expected: false Expression `div.nextSibling` has side effect: false, expected: false Expression `div.ownerDocument` has side effect: false, expected: false Expression `document.nodeType` has side effect: false, expected: false Expression `document.nodeName` has side effect: false, expected: false Expression `document.nodeValue` has side effect: false, expected: false Expression `document.textContent` has side effect: false, expected: false Expression `document.isConnected` has side effect: false, expected: false Expression `document.parentNode` has side effect: false, expected: false Expression `document.parentElement` has side effect: false, expected: false Expression `document.childNodes` has side effect: false, expected: false Expression `document.firstChild` has side effect: false, expected: false Expression `document.lastChild` has side effect: false, expected: false Expression `document.previousSibling` has side effect: false, expected: false Expression `document.nextSibling` has side effect: false, expected: false Expression `document.ownerDocument` has side effect: false, expected: false Expression `textNode.nodeType` has side effect: false, expected: false Expression `textNode.nodeName` has side effect: false, expected: false Expression `textNode.nodeValue` has side effect: false, expected: false Expression `textNode.textContent` has side effect: false, expected: false Expression `textNode.isConnected` has side effect: false, expected: false Expression `textNode.parentNode` has side effect: false, expected: false Expression `textNode.parentElement` has side effect: false, expected: false Expression `textNode.childNodes` has side effect: false, expected: false Expression `textNode.firstChild` has side effect: false, expected: false Expression `textNode.lastChild` has side effect: false, expected: false Expression `textNode.previousSibling` has side effect: false, expected: false Expression `textNode.nextSibling` has side effect: false, expected: false Expression `textNode.ownerDocument` has side effect: false, expected: false Expression `div.childElementCount` has side effect: false, expected: false Expression `div.children` has side effect: false, expected: false Expression `div.firstElementChild` has side effect: false, expected: false Expression `div.lastElementChild` has side effect: false, expected: false Expression `document.childElementCount` has side effect: false, expected: false Expression `document.children` has side effect: false, expected: false Expression `document.firstElementChild` has side effect: false, expected: false Expression `document.lastElementChild` has side effect: false, expected: false Expression `textNode.childElementCount` has side effect: false, expected: false Expression `textNode.children` has side effect: false, expected: false Expression `textNode.firstElementChild` has side effect: false, expected: false Expression `textNode.lastElementChild` has side effect: false, expected: false Expression `url.hash` has side effect: false, expected: false Expression `url.host` has side effect: false, expected: false Expression `url.hostname` has side effect: false, expected: false Expression `url.origin` has side effect: false, expected: false Expression `url.password` has side effect: false, expected: false Expression `url.pathname` has side effect: false, expected: false Expression `url.port` has side effect: false, expected: false Expression `url.protocol` has side effect: false, expected: false Expression `url.search` has side effect: false, expected: false Expression `url.searchParams` has side effect: false, expected: false Expression `url.username` has side effect: false, expected: false Expression `devicePixelRatio` has side effect: false, expected: false Expression `screenX` has side effect: false, expected: false Expression `screenY` has side effect: false, expected: false Expression `document` has side effect: false, expected: false Expression `history` has side effect: false, expected: false Expression `navigator` has side effect: false, expected: false Expression `performance` has side effect: false, expected: false Expression `window` has side effect: false, expected: false Expression `location` has side effect: false, expected: false Expression `div.scrollTop` has side effect: false, expected: false Expression `div.scrollLeft` has side effect: false, expected: false Expression `div.scrollWidth` has side effect: false, expected: false Expression `div.scrollHeight` has side effect: false, expected: false Expression `div.clientTop` has side effect: false, expected: false Expression `div.clientLeft` has side effect: false, expected: false Expression `div.clientWidth` has side effect: false, expected: false Expression `div.clientHeight` has side effect: false, expected: false Expression `innerWidth` has side effect: false, expected: false Expression `innerHeight` has side effect: false, expected: false Expression `outerWidth` has side effect: false, expected: false Expression `outerHeight` has side effect: false, expected: false Expression `div.offsetParent` has side effect: false, expected: false Expression `div.offsetTop` has side effect: false, expected: false Expression `div.offsetLeft` has side effect: false, expected: false Expression `div.offsetWidth` has side effect: false, expected: false Expression `div.offsetHeight` has side effect: false, expected: false Expression `div.innerText` has side effect: false, expected: false Expression `div.outerText` has side effect: false, expected: false Expression `div.style.border` has side effect: false, expected: false