Tests DOMSnapshot.getSnapshot method on a mobile page. Emulating device: 600x600x1 { computedStyles : [ ] domNodes : [ [0] : { backendNodeId : baseURL : childNodeIndexes : [ [0] : 1 [1] : 2 [2] : 3 ] documentEncoding : windows-1252 documentURL : frameId : layoutNodeIndex : 0 nodeName : #document nodeType : 9 nodeValue : scrollOffsetX : 0 scrollOffsetY : 0 } [1] : { backendNodeId : nodeName : html nodeType : 10 nodeValue : publicId : systemId : } [2] : { backendNodeId : nodeName : #comment nodeType : 8 nodeValue : domSnapshot test for a document with a viewport. } [3] : { backendNodeId : childNodeIndexes : [ [0] : 4 [1] : 15 ] frameId : layoutNodeIndex : 1 nodeName : HTML nodeType : 1 nodeValue : } [4] : { backendNodeId : childNodeIndexes : [ [0] : 5 [1] : 6 [2] : 7 [3] : 9 [4] : 10 [5] : 12 [6] : 13 [7] : 14 ] nodeName : HEAD nodeType : 1 nodeValue : } [5] : { attributes : [ [0] : { name : name value : viewport } [1] : { name : content value : width=300 } ] backendNodeId : nodeName : META nodeType : 1 nodeValue : } [6] : { backendNodeId : nodeName : #text nodeType : 3 nodeValue : } [7] : { backendNodeId : childNodeIndexes : [ [0] : 8 ] nodeName : STYLE nodeType : 1 nodeValue : } [8] : { backendNodeId : nodeName : #text nodeType : 3 nodeValue : @font-face { font-family: 'ahem'; src: url(../../resources/Ahem.ttf); } } [9] : { backendNodeId : nodeName : #text nodeType : 3 nodeValue : } [10] : { backendNodeId : childNodeIndexes : [ [0] : 11 ] nodeName : STYLE nodeType : 1 nodeValue : } [11] : { backendNodeId : nodeName : #text nodeType : 3 nodeValue : * { margin: 0; padding: 0; } div { position: absolute; top: 100px; left: 100px; width: 100px; height: 100px; background-color: green; } } [12] : { backendNodeId : nodeName : #text nodeType : 3 nodeValue : } [13] : { backendNodeId : nodeName : #comment nodeType : 8 nodeValue : The div's box should have size and position of 100x100 to match the computed style, even though it's visually scaled by the viewport. The text's box should also be inside the div's box, not outside it. } [14] : { backendNodeId : nodeName : #text nodeType : 3 nodeValue : } [15] : { backendNodeId : childNodeIndexes : [ [0] : 16 [1] : 18 ] layoutNodeIndex : 2 nodeName : BODY nodeType : 1 nodeValue : } [16] : { attributes : [ [0] : { name : style value : font-family: ahem; } [1] : { name : id value : 100x100 } ] backendNodeId : childNodeIndexes : [ [0] : 17 ] layoutNodeIndex : 3 nodeName : DIV nodeType : 1 nodeValue : } [17] : { backendNodeId : layoutNodeIndex : 4 nodeName : #text nodeType : 3 nodeValue : Boxes! } [18] : { backendNodeId : nodeName : #text nodeType : 3 nodeValue : } ] layoutTreeNodes : [ [0] : { boundingBox : { height : 300 width : 300 x : 0 y : 0 } domNodeIndex : 0 isStackingContext : true } [1] : { boundingBox : { height : 0 width : 300 x : 0 y : 0 } domNodeIndex : 3 isStackingContext : true } [2] : { boundingBox : { height : 0 width : 300 x : 0 y : 0 } domNodeIndex : 15 } [3] : { boundingBox : { height : 100 width : 100 x : 100 y : 100 } domNodeIndex : 16 } [4] : { boundingBox : { height : 16 width : 96 x : 100 y : 100 } domNodeIndex : 17 inlineTextNodes : [ [0] : { boundingBox : { height : 16 width : 96 x : 100 y : 100 } numCharacters : 6 startCharacterIndex : 0 } ] layoutText : Boxes! } ] }