Tests DOMSnapshot.captureSnapshot exports layout tree nodes associated with pseudo elements. { documents : [ [0] : { baseURL : contentHeight : 600 contentLanguage : -1 contentWidth : 800 documentURL : encodingName : 1 frameId : layout : { bounds : [ [0] : [ [0] : 0 [1] : 0 [2] : 800 [3] : 600 ] [1] : [ [0] : 0 [1] : 0 [2] : 800 [3] : 600 ] [2] : [ [0] : 8 [1] : 8 [2] : 784 [3] : 582 ] [3] : [ [0] : 8 [1] : 18 [2] : 200 [3] : 200 ] [4] : [ [0] : 8 [1] : 18 [2] : 10 [3] : 10 ] [5] : [ [0] : 8 [1] : 18 [2] : 10 [3] : 10 ] [6] : [ [0] : 8 [1] : 18 [2] : 140 [3] : 20 ] [7] : [ [0] : 8 [1] : 18 [2] : 200 [3] : 200 ] [8] : [ [0] : 8 [1] : 18 [2] : 10 [3] : 10 ] [9] : [ [0] : 8 [1] : 18 [2] : 10 [3] : 10 ] [10] : [ [0] : 8 [1] : 18 [2] : 200 [3] : 30 ] [11] : [ [0] : 8 [1] : 18 [2] : 200 [3] : 30 ] [12] : [ [0] : 8 [1] : 18 [2] : 200 [3] : 200 ] [13] : [ [0] : 8 [1] : 110 [2] : 10 [3] : 10 ] [14] : [ [0] : 8 [1] : 110 [2] : 10 [3] : 10 ] [15] : [ [0] : 8 [1] : 110 [2] : 200 [3] : 10 ] [16] : [ [0] : 18 [1] : 110 [2] : 70 [3] : 10 ] [17] : [ [0] : 88 [1] : 110 [2] : 10 [3] : 10 ] [18] : [ [0] : 98 [1] : 18 [2] : 100 [3] : 100 ] [19] : [ [0] : 198 [1] : 110 [2] : 10 [3] : 10 ] [20] : [ [0] : 8 [1] : 120 [2] : 190 [3] : 30 ] [21] : [ [0] : 8 [1] : 8 [2] : 784 [3] : 40 ] [22] : [ [0] : 48 [1] : 8 [2] : 744 [3] : 10 ] [23] : [ [0] : 35 [1] : 8 [2] : 5 [3] : 10 ] [24] : [ [0] : 35 [1] : 8 [2] : 5 [3] : 10 ] [25] : [ [0] : 48 [1] : 8 [2] : 50 [3] : 10 ] [26] : [ [0] : 48 [1] : 18 [2] : 744 [3] : 10 ] [27] : [ [0] : 35 [1] : 18 [2] : 5 [3] : 10 ] [28] : [ [0] : 35 [1] : 18 [2] : 5 [3] : 10 ] [29] : [ [0] : 48 [1] : 18 [2] : 40 [3] : 10 ] [30] : [ [0] : 48 [1] : 28 [2] : 744 [3] : 10 ] [31] : [ [0] : 35 [1] : 28 [2] : 5 [3] : 10 ] [32] : [ [0] : 35 [1] : 28 [2] : 5 [3] : 10 ] [33] : [ [0] : 48 [1] : 28 [2] : 40 [3] : 10 ] [34] : [ [0] : 48 [1] : 38 [2] : 744 [3] : 10 ] [35] : [ [0] : 35 [1] : 38 [2] : 5 [3] : 10 ] [36] : [ [0] : 35 [1] : 38 [2] : 5 [3] : 10 ] [37] : [ [0] : 48 [1] : 38 [2] : 50 [3] : 10 ] ] nodeIndex : [ [0] : 0 [1] : 1 [2] : 8 [3] : 10 [4] : 11 [5] : 11 [6] : 12 [7] : 14 [8] : 15 [9] : 15 [10] : 16 [11] : 17 [12] : 19 [13] : 20 [14] : 20 [15] : 21 [16] : 21 [17] : 21 [18] : 21 [19] : 21 [20] : 22 [21] : 24 [22] : 25 [23] : 26 [24] : 26 [25] : 27 [26] : 28 [27] : 29 [28] : 29 [29] : 30 [30] : 31 [31] : 32 [32] : 32 [33] : 33 [34] : 34 [35] : 35 [36] : 35 [37] : 36 ] stackingContexts : { index : [ [0] : 0 [1] : 1 ] } styles : [ [0] : [ ] [1] : [ [0] : 5 [1] : 6 ] [2] : [ [0] : 5 [1] : 6 ] [3] : [ [0] : 5 [1] : 6 ] [4] : [ [0] : 21 [1] : 22 ] [5] : [ [0] : 21 [1] : 22 ] [6] : [ [0] : 5 [1] : 6 ] [7] : [ [0] : 5 [1] : 6 ] [8] : [ [0] : 21 [1] : 22 ] [9] : [ [0] : 21 [1] : 22 ] [10] : [ [0] : 5 [1] : 6 ] [11] : [ [0] : 5 [1] : 6 ] [12] : [ [0] : 5 [1] : 6 ] [13] : [ [0] : 31 [1] : 32 ] [14] : [ [0] : 31 [1] : 32 ] [15] : [ [0] : 5 [1] : 6 ] [16] : [ [0] : 5 [1] : 6 ] [17] : [ [0] : 5 [1] : 6 ] [18] : [ [0] : 5 [1] : 6 ] [19] : [ [0] : 5 [1] : 6 ] [20] : [ [0] : 5 [1] : 6 ] [21] : [ [0] : 5 [1] : 6 ] [22] : [ [0] : 5 [1] : 6 ] [23] : [ [0] : 5 [1] : 6 ] [24] : [ [0] : 5 [1] : 6 ] [25] : [ [0] : 5 [1] : 6 ] [26] : [ [0] : 5 [1] : 6 ] [27] : [ [0] : 5 [1] : 6 ] [28] : [ [0] : 5 [1] : 6 ] [29] : [ [0] : 5 [1] : 6 ] [30] : [ [0] : 5 [1] : 6 ] [31] : [ [0] : 5 [1] : 6 ] [32] : [ [0] : 5 [1] : 6 ] [33] : [ [0] : 5 [1] : 6 ] [34] : [ [0] : 5 [1] : 6 ] [35] : [ [0] : 5 [1] : 6 ] [36] : [ [0] : 5 [1] : 6 ] [37] : [ [0] : 5 [1] : 6 ] ] text : [ [0] : -1 [1] : -1 [2] : -1 [3] : -1 [4] : -1 [5] : 23 [6] : 26 [7] : -1 [8] : -1 [9] : 23 [10] : -1 [11] : 29 [12] : -1 [13] : -1 [14] : 33 [15] : -1 [16] : 35 [17] : 36 [18] : -1 [19] : 37 [20] : 39 [21] : -1 [22] : -1 [23] : -1 [24] : 43 [25] : 45 [26] : -1 [27] : -1 [28] : 43 [29] : 46 [30] : -1 [31] : -1 [32] : 43 [33] : 47 [34] : -1 [35] : -1 [36] : 43 [37] : 48 ] } nodes : { attributes : [ [0] : [ ] [1] : [ ] [2] : [ ] [3] : [ ] [4] : [ ] [5] : [ ] [6] : [ [0] : 13 [1] : 14 ] [7] : [ ] [8] : [ ] [9] : [ ] [10] : [ [0] : 18 [1] : 19 ] [11] : [ ] [12] : [ ] [13] : [ ] [14] : [ [0] : 18 [1] : 19 ] [15] : [ ] [16] : [ ] [17] : [ ] [18] : [ ] [19] : [ [0] : 18 [1] : 30 ] [20] : [ ] [21] : [ ] [22] : [ ] [23] : [ ] [24] : [ ] [25] : [ ] [26] : [ ] [27] : [ ] [28] : [ ] [29] : [ ] [30] : [ ] [31] : [ ] [32] : [ ] [33] : [ ] [34] : [ ] [35] : [ ] [36] : [ ] [37] : [ ] ] backendNodeId : contentDocumentIndex : { index : [ ] value : [ ] } currentSourceURL : { index : [ ] value : [ ] } inputChecked : { index : [ ] } inputValue : { index : [ ] value : [ ] } isClickable : { index : [ ] } nodeName : [ [0] : 3 [1] : 4 [2] : 7 [3] : 8 [4] : 9 [5] : 9 [6] : 12 [7] : 9 [8] : 15 [9] : 9 [10] : 17 [11] : 20 [12] : 9 [13] : 9 [14] : 17 [15] : 20 [16] : 27 [17] : 9 [18] : 9 [19] : 17 [20] : 20 [21] : 34 [22] : 9 [23] : 9 [24] : 40 [25] : 41 [26] : 42 [27] : 9 [28] : 41 [29] : 42 [30] : 9 [31] : 41 [32] : 42 [33] : 9 [34] : 41 [35] : 42 [36] : 9 [37] : 9 ] nodeType : [ [0] : 9 [1] : 1 [2] : 1 [3] : 1 [4] : 3 [5] : 3 [6] : 1 [7] : 3 [8] : 1 [9] : 3 [10] : 1 [11] : 1 [12] : 3 [13] : 3 [14] : 1 [15] : 1 [16] : 1 [17] : 3 [18] : 3 [19] : 1 [20] : 1 [21] : 1 [22] : 3 [23] : 3 [24] : 1 [25] : 1 [26] : 1 [27] : 3 [28] : 1 [29] : 1 [30] : 3 [31] : 1 [32] : 1 [33] : 3 [34] : 1 [35] : 1 [36] : 3 [37] : 3 ] nodeValue : [ [0] : -1 [1] : -1 [2] : -1 [3] : -1 [4] : 10 [5] : 11 [6] : -1 [7] : 11 [8] : -1 [9] : 16 [10] : -1 [11] : -1 [12] : 25 [13] : 16 [14] : -1 [15] : -1 [16] : -1 [17] : 28 [18] : 16 [19] : -1 [20] : -1 [21] : -1 [22] : 39 [23] : 16 [24] : -1 [25] : -1 [26] : -1 [27] : 45 [28] : -1 [29] : -1 [30] : 46 [31] : -1 [32] : -1 [33] : 47 [34] : -1 [35] : -1 [36] : 48 [37] : 49 ] optionSelected : { index : [ ] } originURL : { index : [ ] value : [ ] } parentIndex : [ [0] : -1 [1] : 0 [2] : 1 [3] : 2 [4] : 3 [5] : 2 [6] : 2 [7] : 2 [8] : 1 [9] : 8 [10] : 8 [11] : 10 [12] : 10 [13] : 8 [14] : 8 [15] : 14 [16] : 14 [17] : 16 [18] : 8 [19] : 8 [20] : 19 [21] : 19 [22] : 19 [23] : 8 [24] : 8 [25] : 24 [26] : 25 [27] : 25 [28] : 24 [29] : 28 [30] : 28 [31] : 24 [32] : 31 [33] : 31 [34] : 24 [35] : 34 [36] : 34 [37] : 8 ] pseudoIdentifier : { index : [ ] value : [ ] } pseudoType : { index : [ [0] : 11 [1] : 15 [2] : 20 [3] : 21 [4] : 26 [5] : 29 [6] : 32 [7] : 35 ] value : [ [0] : 24 [1] : 24 [2] : 24 [3] : 38 [4] : 44 [5] : 44 [6] : 44 [7] : 44 ] } shadowRootType : textValue : { index : [ ] value : [ ] } } publicId : -1 scrollOffsetX : 0 scrollOffsetY : 0 systemId : -1 textBoxes : { bounds : [ [0] : [ [0] : 8 [1] : 18 [2] : 10 [3] : 10 ] [1] : [ [0] : 18 [1] : 18 [2] : 130 [3] : 10 ] [2] : [ [0] : 8 [1] : 28 [2] : 70 [3] : 10 ] [3] : [ [0] : 8 [1] : 18 [2] : 10 [3] : 10 ] [4] : [ [0] : 18 [1] : 18 [2] : 130 [3] : 10 ] [5] : [ [0] : 8 [1] : 28 [2] : 200 [3] : 10 ] [6] : [ [0] : 8 [1] : 38 [2] : 70 [3] : 10 ] [7] : [ [0] : 8 [1] : 110 [2] : 10 [3] : 10 ] [8] : [ [0] : 18 [1] : 110 [2] : 70 [3] : 10 ] [9] : [ [0] : 88 [1] : 110 [2] : 10 [3] : 10 ] [10] : [ [0] : 198 [1] : 110 [2] : 10 [3] : 10 ] [11] : [ [0] : 8 [1] : 120 [2] : 190 [3] : 10 ] [12] : [ [0] : 8 [1] : 130 [2] : 160 [3] : 10 ] [13] : [ [0] : 8 [1] : 140 [2] : 130 [3] : 10 ] [14] : [ [0] : 35 [1] : 8 [2] : 5 [3] : 10 ] [15] : [ [0] : 48 [1] : 8 [2] : 50 [3] : 10 ] [16] : [ [0] : 35 [1] : 18 [2] : 5 [3] : 10 ] [17] : [ [0] : 48 [1] : 18 [2] : 40 [3] : 10 ] [18] : [ [0] : 35 [1] : 28 [2] : 5 [3] : 10 ] [19] : [ [0] : 48 [1] : 28 [2] : 40 [3] : 10 ] [20] : [ [0] : 35 [1] : 38 [2] : 5 [3] : 10 ] [21] : [ [0] : 48 [1] : 38 [2] : 50 [3] : 10 ] ] layoutIndex : [ [0] : 5 [1] : 6 [2] : 6 [3] : 9 [4] : 11 [5] : 11 [6] : 11 [7] : 14 [8] : 16 [9] : 17 [10] : 19 [11] : 20 [12] : 20 [13] : 20 [14] : 24 [15] : 25 [16] : 28 [17] : 29 [18] : 32 [19] : 33 [20] : 36 [21] : 37 ] length : [ [0] : 1 [1] : 13 [2] : 7 [3] : 1 [4] : 13 [5] : 20 [6] : 7 [7] : 1 [8] : 7 [9] : 1 [10] : 1 [11] : 19 [12] : 16 [13] : 13 [14] : 2 [15] : 5 [16] : 2 [17] : 4 [18] : 2 [19] : 4 [20] : 2 [21] : 5 ] start : [ [0] : 0 [1] : 0 [2] : 14 [3] : 0 [4] : 0 [5] : 14 [6] : 35 [7] : 0 [8] : 0 [9] : 0 [10] : 0 [11] : 0 [12] : 20 [13] : 37 [14] : 0 [15] : 0 [16] : 0 [17] : 0 [18] : 0 [19] : 0 [20] : 0 [21] : 0 ] } title : -1 } ] strings : [ [0] : [1] : windows-1252 [2] : [3] : #document [4] : HTML [5] : 400 [6] : rgb(0, 0, 0) [7] : HEAD [8] : STYLE [9] : #text [10] : p { position: absolute; height: 200px; width: 200px; font: 10px Ahem; } .c1::first-letter { font-weight: lighter; color: green; } .c2::first-letter { font-weight: bold; color: blue; } .c2::before { counter-increment: square; content: 'square: ' counter(square) url(square.png) '! '; } ul { font: 10px Ahem; } [11] : [12] : SCRIPT [13] : src [14] : ../../resources/ahem.js [15] : BODY [16] : [17] : P [18] : class [19] : c1 [20] : ::first-letter [21] : 100 [22] : rgb(0, 128, 0) [23] : I [24] : first-letter [25] : I have a first letter. [26] : have a first letter. [27] : SPAN [28] : I have a first letter because of my parent. [29] : have a first letter because of my parent. [30] : c2 [31] : 700 [32] : rgb(0, 0, 255) [33] : s [34] : ::before [35] : quare: [36] : 1 [37] : ! [38] : before [39] : I have some content before me with a first letter. [40] : UL [41] : LI [42] : ::marker [43] : • [44] : marker [45] : water [46] : malt [47] : hops [48] : yeast [49] : ] }