Changeset 207280 in webkit
- Timestamp:
- Oct 13, 2016 2:22:38 AM (8 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 3 deleted
- 27 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r207277 r207280 1 2016-10-13 Antti Koivisto <antti@apple.com> 2 3 Support scoped style for user agent shadow trees 4 https://bugs.webkit.org/show_bug.cgi?id=163212 5 <rdar://problem/28715318> 6 7 Reviewed by Ryosuke Niwa and Andreas Kling. 8 9 * fast/dom/HTMLMeterElement/meter-clone-expected.txt: 10 * fast/dom/HTMLMeterElement/meter-clone.html: 11 * fast/dom/HTMLMeterElement/meter-element-markup-expected.txt: 12 * platform/mac/fast/dom/HTMLMeterElement/meter-element-repaint-on-update-value-expected.txt: 13 * platform/mac/fast/dom/HTMLMeterElement/meter-styles-changing-pseudo-expected.txt: 14 * platform/mac/fast/dom/HTMLMeterElement/meter-styles-expected.txt: 15 1 16 2016-10-12 Chris Dumez <cdumez@apple.com> 2 17 -
trunk/LayoutTests/fast/dom/HTMLMeterElement/meter-clone-expected.txt
r125659 r207280 1 1 PASS cloned.value is target.value 2 PASS internals.shadowPseudoId(cloned ShadowRoot.firstChild) is internals.shadowPseudoId(targetShadowRoot.firstChild)3 PASS internals.shadowPseudoId(cloned ShadowRoot.firstChild.firstChild) is internals.shadowPseudoId(targetShadowRoot.firstChild.firstChild)4 PASS internals.shadowPseudoId(cloned ShadowRoot.firstChild.firstChild.firstChild) is internals.shadowPseudoId(targetShadowRoot.firstChild.firstChild.firstChild)5 PASS cloned ShadowRoot.firstChild.firstChild.firstChild.style.width is "70%"6 PASS target ShadowRoot.firstChild.firstChild.firstChild.style.width is "50%"2 PASS internals.shadowPseudoId(clonedInnerElement) is internals.shadowPseudoId(targetInnerElement) 3 PASS internals.shadowPseudoId(clonedInnerElement.firstChild) is internals.shadowPseudoId(targetInnerElement.firstChild) 4 PASS internals.shadowPseudoId(clonedInnerElement.firstChild.firstChild) is internals.shadowPseudoId(targetInnerElement.firstChild.firstChild) 5 PASS clonedInnerElement.firstChild.firstChild.style.width is "70%" 6 PASS targetInnerElement.firstChild.firstChild.style.width is "50%" 7 7 PASS successfullyParsed is true 8 8 -
trunk/LayoutTests/fast/dom/HTMLMeterElement/meter-clone.html
r155265 r207280 18 18 targetShadowRoot = internals.shadowRoot(target); 19 19 clonedShadowRoot = internals.shadowRoot(cloned); 20 20 targetInnerElement = targetShadowRoot.querySelector("#inner"); 21 clonedInnerElement = clonedShadowRoot.querySelector("#inner"); 22 21 23 shouldBe("cloned.value", "target.value"); 22 shouldBe("internals.shadowPseudoId(cloned ShadowRoot.firstChild)", "internals.shadowPseudoId(targetShadowRoot.firstChild)");23 shouldBe("internals.shadowPseudoId(cloned ShadowRoot.firstChild.firstChild)", "internals.shadowPseudoId(targetShadowRoot.firstChild.firstChild)");24 shouldBe("internals.shadowPseudoId(cloned ShadowRoot.firstChild.firstChild.firstChild)", "internals.shadowPseudoId(targetShadowRoot.firstChild.firstChild.firstChild)");24 shouldBe("internals.shadowPseudoId(clonedInnerElement)", "internals.shadowPseudoId(targetInnerElement)"); 25 shouldBe("internals.shadowPseudoId(clonedInnerElement.firstChild)", "internals.shadowPseudoId(targetInnerElement.firstChild)"); 26 shouldBe("internals.shadowPseudoId(clonedInnerElement.firstChild.firstChild)", "internals.shadowPseudoId(targetInnerElement.firstChild.firstChild)"); 25 27 26 28 cloned.value = 70; 27 shouldBe("cloned ShadowRoot.firstChild.firstChild.firstChild.style.width", '"70%"');28 shouldBe("target ShadowRoot.firstChild.firstChild.firstChild.style.width", '"50%"');29 shouldBe("clonedInnerElement.firstChild.firstChild.style.width", '"70%"'); 30 shouldBe("targetInnerElement.firstChild.firstChild.style.width", '"50%"'); 29 31 })(); 30 32 </script> -
trunk/LayoutTests/fast/dom/HTMLMeterElement/meter-element-markup-expected.txt
r134420 r207280 7 7 | value="70" 8 8 | <shadow:root> 9 | <style> 10 | "div#inner { -webkit-appearance: inherit; box-sizing: inherit; height: 100%; width: 100%; } div#bar { background: -webkit-gradient(linear, left top, left bottom, from(#ddd), to(#ddd), color-stop(0.20, #eee), color-stop(0.45, #ccc), color-stop(0.55, #ccc)); height: 100%; width: 100%; box-sizing: border-box; } div#value { height: 100%; box-sizing: border-box; } div#value.optimum { background: -webkit-gradient(linear, left top, left bottom, from(#ad7), to(#ad7), color-stop(0.20, #cea), color-stop(0.45, #7a3), color-stop(0.55, #7a3)); } div#value.suboptimum { background: -webkit-gradient(linear, left top, left bottom, from(#fe7), to(#fe7), color-stop(0.20, #ffc), color-stop(0.45, #db3), color-stop(0.55, #db3)); height: 100%; box-sizing: border-box; } div#value.even-less-good { background: -webkit-gradient(linear, left top, left bottom, from(#f77), to(#f77), color-stop(0.20, #fcc), color-stop(0.45, #d44), color-stop(0.55, #d44)); height: 100%; box-sizing: border-box; " 9 11 | <div> 12 | id="inner" 10 13 | pseudo="-webkit-meter-inner-element" 11 14 | shadow:pseudoId="-webkit-meter-inner-element" 12 15 | <div> 16 | id="bar" 13 17 | pseudo="-webkit-meter-bar" 14 18 | shadow:pseudoId="-webkit-meter-bar" 15 19 | <div> 20 | class="optimum" 21 | id="value" 16 22 | pseudo="-webkit-meter-optimum-value" 17 23 | style="width: 70%;" … … 27 33 | value="10" 28 34 | <shadow:root> 35 | <style> 36 | "div#inner { -webkit-appearance: inherit; box-sizing: inherit; height: 100%; width: 100%; } div#bar { background: -webkit-gradient(linear, left top, left bottom, from(#ddd), to(#ddd), color-stop(0.20, #eee), color-stop(0.45, #ccc), color-stop(0.55, #ccc)); height: 100%; width: 100%; box-sizing: border-box; } div#value { height: 100%; box-sizing: border-box; } div#value.optimum { background: -webkit-gradient(linear, left top, left bottom, from(#ad7), to(#ad7), color-stop(0.20, #cea), color-stop(0.45, #7a3), color-stop(0.55, #7a3)); } div#value.suboptimum { background: -webkit-gradient(linear, left top, left bottom, from(#fe7), to(#fe7), color-stop(0.20, #ffc), color-stop(0.45, #db3), color-stop(0.55, #db3)); height: 100%; box-sizing: border-box; } div#value.even-less-good { background: -webkit-gradient(linear, left top, left bottom, from(#f77), to(#f77), color-stop(0.20, #fcc), color-stop(0.45, #d44), color-stop(0.55, #d44)); height: 100%; box-sizing: border-box; " 29 37 | <div> 38 | id="inner" 30 39 | pseudo="-webkit-meter-inner-element" 31 40 | shadow:pseudoId="-webkit-meter-inner-element" 32 41 | <div> 42 | id="bar" 33 43 | pseudo="-webkit-meter-bar" 34 44 | shadow:pseudoId="-webkit-meter-bar" 35 45 | <div> 46 | class="suboptimum" 47 | id="value" 36 48 | pseudo="-webkit-meter-suboptimum-value" 37 49 | style="width: 100%;" … … 47 59 | value="10" 48 60 | <shadow:root> 61 | <style> 62 | "div#inner { -webkit-appearance: inherit; box-sizing: inherit; height: 100%; width: 100%; } div#bar { background: -webkit-gradient(linear, left top, left bottom, from(#ddd), to(#ddd), color-stop(0.20, #eee), color-stop(0.45, #ccc), color-stop(0.55, #ccc)); height: 100%; width: 100%; box-sizing: border-box; } div#value { height: 100%; box-sizing: border-box; } div#value.optimum { background: -webkit-gradient(linear, left top, left bottom, from(#ad7), to(#ad7), color-stop(0.20, #cea), color-stop(0.45, #7a3), color-stop(0.55, #7a3)); } div#value.suboptimum { background: -webkit-gradient(linear, left top, left bottom, from(#fe7), to(#fe7), color-stop(0.20, #ffc), color-stop(0.45, #db3), color-stop(0.55, #db3)); height: 100%; box-sizing: border-box; } div#value.even-less-good { background: -webkit-gradient(linear, left top, left bottom, from(#f77), to(#f77), color-stop(0.20, #fcc), color-stop(0.45, #d44), color-stop(0.55, #d44)); height: 100%; box-sizing: border-box; " 49 63 | <div> 64 | id="inner" 50 65 | pseudo="-webkit-meter-inner-element" 51 66 | shadow:pseudoId="-webkit-meter-inner-element" 52 67 | <div> 68 | id="bar" 53 69 | pseudo="-webkit-meter-bar" 54 70 | shadow:pseudoId="-webkit-meter-bar" 55 71 | <div> 72 | class="even-less-good" 73 | id="value" 56 74 | pseudo="-webkit-meter-even-less-good-value" 57 75 | style="width: 100%;" -
trunk/LayoutTests/platform/ios-simulator/fast/dom/HTMLMeterElement/meter-appearances-capacity-expected.txt
r205579 r207280 17 17 text run at (0,0) width 88: "value=10/10:" 18 18 RenderBlock (floating) {METER} at (664,0) size 80x16 19 Render Meter{DIV} at (0,0) size 80x1619 RenderBlock {DIV} at (0,0) size 80x16 20 20 RenderBlock {DIV} at (0,0) size 80x16 21 21 RenderBlock {DIV} at (0,0) size 80x16 … … 25 25 text run at (0,0) width 80: "value=8/10:" 26 26 RenderBlock (floating) {METER} at (664,0) size 80x16 27 Render Meter{DIV} at (0,0) size 80x1627 RenderBlock {DIV} at (0,0) size 80x16 28 28 RenderBlock {DIV} at (0,0) size 80x16 29 29 RenderBlock {DIV} at (0,0) size 64x16 … … 33 33 text run at (0,0) width 80: "value=5/10:" 34 34 RenderBlock (floating) {METER} at (664,0) size 80x16 35 Render Meter{DIV} at (0,0) size 80x1635 RenderBlock {DIV} at (0,0) size 80x16 36 36 RenderBlock {DIV} at (0,0) size 80x16 37 37 RenderBlock {DIV} at (0,0) size 40x16 … … 41 41 text run at (0,0) width 80: "value=2/10:" 42 42 RenderBlock (floating) {METER} at (664,0) size 80x16 43 Render Meter{DIV} at (0,0) size 80x1643 RenderBlock {DIV} at (0,0) size 80x16 44 44 RenderBlock {DIV} at (0,0) size 80x16 45 45 RenderBlock {DIV} at (0,0) size 16x16 … … 49 49 text run at (0,0) width 80: "value=0/10:" 50 50 RenderBlock (floating) {METER} at (664,0) size 80x16 51 Render Meter{DIV} at (0,0) size 80x1651 RenderBlock {DIV} at (0,0) size 80x16 52 52 RenderBlock {DIV} at (0,0) size 80x16 53 53 RenderBlock {DIV} at (0,0) size 0x16 … … 57 57 text run at (0,0) width 38: "RTL:" 58 58 RenderBlock (floating) {METER} at (664,0) size 80x16 59 Render Meter{DIV} at (0,0) size 80x1659 RenderBlock {DIV} at (0,0) size 80x16 60 60 RenderBlock {DIV} at (0,0) size 80x16 61 61 RenderBlock {DIV} at (40,0) size 40x16 … … 65 65 text run at (0,0) width 32: "Tall:" 66 66 RenderBlock (floating) {METER} at (664,0) size 80x50 67 Render Meter{DIV} at (0,0) size 80x5067 RenderBlock {DIV} at (0,0) size 80x50 68 68 RenderBlock {DIV} at (0,0) size 80x50 69 69 RenderBlock {DIV} at (0,0) size 40x50 … … 73 73 text run at (0,0) width 44: "Short:" 74 74 RenderBlock (floating) {METER} at (664,0) size 80x5 75 Render Meter{DIV} at (0,0) size 80x575 RenderBlock {DIV} at (0,0) size 80x5 76 76 RenderBlock {DIV} at (0,0) size 80x5 77 77 RenderBlock {DIV} at (0,0) size 24x5 … … 81 81 text run at (0,0) width 42: "Wide:" 82 82 RenderBlock (floating) {METER} at (444,0) size 300x16 83 Render Meter{DIV} at (0,0) size 300x1683 RenderBlock {DIV} at (0,0) size 300x16 84 84 RenderBlock {DIV} at (0,0) size 300x16 85 85 RenderBlock {DIV} at (0,0) size 150x16 … … 89 89 text run at (0,0) width 59: "Narrow:" 90 90 RenderBlock (floating) {METER} at (714,0) size 30x16 91 Render Meter{DIV} at (0,0) size 30x1691 RenderBlock {DIV} at (0,0) size 30x16 92 92 RenderBlock {DIV} at (0,0) size 30x16 93 93 RenderBlock {DIV} at (0,0) size 15x16 … … 102 102 text run at (0,0) width 88: "value=10/10:" 103 103 RenderBlock (floating) {METER} at (664,0) size 80x16 104 Render Meter{DIV} at (0,0) size 80x16104 RenderBlock {DIV} at (0,0) size 80x16 105 105 RenderBlock {DIV} at (0,0) size 80x16 106 106 RenderBlock {DIV} at (0,0) size 80x16 … … 110 110 text run at (0,0) width 80: "value=8/10:" 111 111 RenderBlock (floating) {METER} at (664,0) size 80x16 112 Render Meter{DIV} at (0,0) size 80x16112 RenderBlock {DIV} at (0,0) size 80x16 113 113 RenderBlock {DIV} at (0,0) size 80x16 114 114 RenderBlock {DIV} at (0,0) size 64x16 … … 118 118 text run at (0,0) width 80: "value=5/10:" 119 119 RenderBlock (floating) {METER} at (664,0) size 80x16 120 Render Meter{DIV} at (0,0) size 80x16120 RenderBlock {DIV} at (0,0) size 80x16 121 121 RenderBlock {DIV} at (0,0) size 80x16 122 122 RenderBlock {DIV} at (0,0) size 40x16 … … 126 126 text run at (0,0) width 80: "value=2/10:" 127 127 RenderBlock (floating) {METER} at (664,0) size 80x16 128 Render Meter{DIV} at (0,0) size 80x16128 RenderBlock {DIV} at (0,0) size 80x16 129 129 RenderBlock {DIV} at (0,0) size 80x16 130 130 RenderBlock {DIV} at (0,0) size 16x16 … … 134 134 text run at (0,0) width 80: "value=0/10:" 135 135 RenderBlock (floating) {METER} at (664,0) size 80x16 136 Render Meter{DIV} at (0,0) size 80x16136 RenderBlock {DIV} at (0,0) size 80x16 137 137 RenderBlock {DIV} at (0,0) size 80x16 138 138 RenderBlock {DIV} at (0,0) size 0x16 … … 142 142 text run at (0,0) width 38: "RTL:" 143 143 RenderBlock (floating) {METER} at (664,0) size 80x16 144 Render Meter{DIV} at (0,0) size 80x16144 RenderBlock {DIV} at (0,0) size 80x16 145 145 RenderBlock {DIV} at (0,0) size 80x16 146 146 RenderBlock {DIV} at (40,0) size 40x16 … … 150 150 text run at (0,0) width 32: "Tall:" 151 151 RenderBlock (floating) {METER} at (664,0) size 80x50 152 Render Meter{DIV} at (0,0) size 80x50152 RenderBlock {DIV} at (0,0) size 80x50 153 153 RenderBlock {DIV} at (0,0) size 80x50 154 154 RenderBlock {DIV} at (0,0) size 40x50 … … 158 158 text run at (0,0) width 44: "Short:" 159 159 RenderBlock (floating) {METER} at (664,0) size 80x5 160 Render Meter{DIV} at (0,0) size 80x5160 RenderBlock {DIV} at (0,0) size 80x5 161 161 RenderBlock {DIV} at (0,0) size 80x5 162 162 RenderBlock {DIV} at (0,0) size 24x5 … … 166 166 text run at (0,0) width 42: "Wide:" 167 167 RenderBlock (floating) {METER} at (444,0) size 300x16 168 Render Meter{DIV} at (0,0) size 300x16168 RenderBlock {DIV} at (0,0) size 300x16 169 169 RenderBlock {DIV} at (0,0) size 300x16 170 170 RenderBlock {DIV} at (0,0) size 150x16 … … 174 174 text run at (0,0) width 59: "Narrow:" 175 175 RenderBlock (floating) {METER} at (714,0) size 30x16 176 Render Meter{DIV} at (0,0) size 30x16176 RenderBlock {DIV} at (0,0) size 30x16 177 177 RenderBlock {DIV} at (0,0) size 30x16 178 178 RenderBlock {DIV} at (0,0) size 15x16 -
trunk/LayoutTests/platform/ios-simulator/fast/dom/HTMLMeterElement/meter-appearances-rating-relevancy-expected.txt
r205579 r207280 17 17 text run at (0,0) width 88: "value=10/10:" 18 18 RenderBlock (floating) {METER} at (664,0) size 80x16 19 Render Meter{DIV} at (0,0) size 80x1619 RenderBlock {DIV} at (0,0) size 80x16 20 20 RenderBlock {DIV} at (0,0) size 80x16 21 21 RenderBlock {DIV} at (0,0) size 80x16 … … 25 25 text run at (0,0) width 80: "value=8/10:" 26 26 RenderBlock (floating) {METER} at (664,0) size 80x16 27 Render Meter{DIV} at (0,0) size 80x1627 RenderBlock {DIV} at (0,0) size 80x16 28 28 RenderBlock {DIV} at (0,0) size 80x16 29 29 RenderBlock {DIV} at (0,0) size 64x16 … … 33 33 text run at (0,0) width 80: "value=5/10:" 34 34 RenderBlock (floating) {METER} at (664,0) size 80x16 35 Render Meter{DIV} at (0,0) size 80x1635 RenderBlock {DIV} at (0,0) size 80x16 36 36 RenderBlock {DIV} at (0,0) size 80x16 37 37 RenderBlock {DIV} at (0,0) size 40x16 … … 41 41 text run at (0,0) width 80: "value=2/10:" 42 42 RenderBlock (floating) {METER} at (664,0) size 80x16 43 Render Meter{DIV} at (0,0) size 80x1643 RenderBlock {DIV} at (0,0) size 80x16 44 44 RenderBlock {DIV} at (0,0) size 80x16 45 45 RenderBlock {DIV} at (0,0) size 16x16 … … 49 49 text run at (0,0) width 80: "value=0/10:" 50 50 RenderBlock (floating) {METER} at (664,0) size 80x16 51 Render Meter{DIV} at (0,0) size 80x1651 RenderBlock {DIV} at (0,0) size 80x16 52 52 RenderBlock {DIV} at (0,0) size 80x16 53 53 RenderBlock {DIV} at (0,0) size 0x16 … … 57 57 text run at (0,0) width 38: "RTL:" 58 58 RenderBlock (floating) {METER} at (664,0) size 80x16 59 Render Meter{DIV} at (0,0) size 80x1659 RenderBlock {DIV} at (0,0) size 80x16 60 60 RenderBlock {DIV} at (0,0) size 80x16 61 61 RenderBlock {DIV} at (40,0) size 40x16 … … 65 65 text run at (0,0) width 32: "Tall:" 66 66 RenderBlock (floating) {METER} at (664,0) size 80x50 67 Render Meter{DIV} at (0,0) size 80x5067 RenderBlock {DIV} at (0,0) size 80x50 68 68 RenderBlock {DIV} at (0,0) size 80x50 69 69 RenderBlock {DIV} at (0,0) size 40x50 … … 73 73 text run at (0,0) width 44: "Short:" 74 74 RenderBlock (floating) {METER} at (664,0) size 80x5 75 Render Meter{DIV} at (0,0) size 80x575 RenderBlock {DIV} at (0,0) size 80x5 76 76 RenderBlock {DIV} at (0,0) size 80x5 77 77 RenderBlock {DIV} at (0,0) size 24x5 … … 81 81 text run at (0,0) width 42: "Wide:" 82 82 RenderBlock (floating) {METER} at (444,0) size 300x16 83 Render Meter{DIV} at (0,0) size 300x1683 RenderBlock {DIV} at (0,0) size 300x16 84 84 RenderBlock {DIV} at (0,0) size 300x16 85 85 RenderBlock {DIV} at (0,0) size 150x16 … … 89 89 text run at (0,0) width 59: "Narrow:" 90 90 RenderBlock (floating) {METER} at (714,0) size 30x16 91 Render Meter{DIV} at (0,0) size 30x1691 RenderBlock {DIV} at (0,0) size 30x16 92 92 RenderBlock {DIV} at (0,0) size 30x16 93 93 RenderBlock {DIV} at (0,0) size 15x16 … … 102 102 text run at (0,0) width 88: "value=10/10:" 103 103 RenderBlock (floating) {METER} at (664,0) size 80x16 104 Render Meter{DIV} at (0,0) size 80x16104 RenderBlock {DIV} at (0,0) size 80x16 105 105 RenderBlock {DIV} at (0,0) size 80x16 106 106 RenderBlock {DIV} at (0,0) size 80x16 … … 110 110 text run at (0,0) width 80: "value=8/10:" 111 111 RenderBlock (floating) {METER} at (664,0) size 80x16 112 Render Meter{DIV} at (0,0) size 80x16112 RenderBlock {DIV} at (0,0) size 80x16 113 113 RenderBlock {DIV} at (0,0) size 80x16 114 114 RenderBlock {DIV} at (0,0) size 64x16 … … 118 118 text run at (0,0) width 80: "value=5/10:" 119 119 RenderBlock (floating) {METER} at (664,0) size 80x16 120 Render Meter{DIV} at (0,0) size 80x16120 RenderBlock {DIV} at (0,0) size 80x16 121 121 RenderBlock {DIV} at (0,0) size 80x16 122 122 RenderBlock {DIV} at (0,0) size 40x16 … … 126 126 text run at (0,0) width 80: "value=2/10:" 127 127 RenderBlock (floating) {METER} at (664,0) size 80x16 128 Render Meter{DIV} at (0,0) size 80x16128 RenderBlock {DIV} at (0,0) size 80x16 129 129 RenderBlock {DIV} at (0,0) size 80x16 130 130 RenderBlock {DIV} at (0,0) size 16x16 … … 134 134 text run at (0,0) width 80: "value=0/10:" 135 135 RenderBlock (floating) {METER} at (664,0) size 80x16 136 Render Meter{DIV} at (0,0) size 80x16136 RenderBlock {DIV} at (0,0) size 80x16 137 137 RenderBlock {DIV} at (0,0) size 80x16 138 138 RenderBlock {DIV} at (0,0) size 0x16 … … 142 142 text run at (0,0) width 38: "RTL:" 143 143 RenderBlock (floating) {METER} at (664,0) size 80x16 144 Render Meter{DIV} at (0,0) size 80x16144 RenderBlock {DIV} at (0,0) size 80x16 145 145 RenderBlock {DIV} at (0,0) size 80x16 146 146 RenderBlock {DIV} at (40,0) size 40x16 … … 150 150 text run at (0,0) width 32: "Tall:" 151 151 RenderBlock (floating) {METER} at (664,0) size 80x50 152 Render Meter{DIV} at (0,0) size 80x50152 RenderBlock {DIV} at (0,0) size 80x50 153 153 RenderBlock {DIV} at (0,0) size 80x50 154 154 RenderBlock {DIV} at (0,0) size 40x50 … … 158 158 text run at (0,0) width 44: "Short:" 159 159 RenderBlock (floating) {METER} at (664,0) size 80x5 160 Render Meter{DIV} at (0,0) size 80x5160 RenderBlock {DIV} at (0,0) size 80x5 161 161 RenderBlock {DIV} at (0,0) size 80x5 162 162 RenderBlock {DIV} at (0,0) size 24x5 … … 166 166 text run at (0,0) width 42: "Wide:" 167 167 RenderBlock (floating) {METER} at (444,0) size 300x16 168 Render Meter{DIV} at (0,0) size 300x16168 RenderBlock {DIV} at (0,0) size 300x16 169 169 RenderBlock {DIV} at (0,0) size 300x16 170 170 RenderBlock {DIV} at (0,0) size 150x16 … … 174 174 text run at (0,0) width 59: "Narrow:" 175 175 RenderBlock (floating) {METER} at (714,0) size 30x16 176 Render Meter{DIV} at (0,0) size 30x16176 RenderBlock {DIV} at (0,0) size 30x16 177 177 RenderBlock {DIV} at (0,0) size 30x16 178 178 RenderBlock {DIV} at (0,0) size 15x16 -
trunk/LayoutTests/platform/ios-simulator/fast/dom/HTMLMeterElement/meter-boundary-values-expected.txt
r205579 r207280 20 20 text run at (8,0) width 108: "|10,20,30,40,50: " 21 21 RenderBlock {METER} at (115,2) size 81x17 22 Render Meter{DIV} at (0,0) size 80x1622 RenderBlock {DIV} at (0,0) size 80x16 23 23 RenderBlock {DIV} at (0,0) size 80x16 24 24 RenderBlock {DIV} at (0,0) size 0x16 … … 31 31 text run at (16,0) width 89: ",20,30,40,50: " 32 32 RenderBlock {METER} at (104,2) size 81x17 33 Render Meter{DIV} at (0,0) size 80x1633 RenderBlock {DIV} at (0,0) size 80x16 34 34 RenderBlock {DIV} at (0,0) size 80x16 35 35 RenderBlock {DIV} at (0,0) size 0x16 … … 44 44 text run at (36,0) width 69: ",30,40,50: " 45 45 RenderBlock {METER} at (104,2) size 81x17 46 Render Meter{DIV} at (0,0) size 80x1646 RenderBlock {DIV} at (0,0) size 80x16 47 47 RenderBlock {DIV} at (0,0) size 80x16 48 48 RenderBlock {DIV} at (0,0) size 20x16 … … 59 59 text run at (56,0) width 49: ",40,50: " 60 60 RenderBlock {METER} at (104,2) size 81x17 61 Render Meter{DIV} at (0,0) size 80x1661 RenderBlock {DIV} at (0,0) size 80x16 62 62 RenderBlock {DIV} at (0,0) size 80x16 63 63 RenderBlock {DIV} at (0,0) size 40x16 … … 74 74 text run at (76,0) width 29: ",50: " 75 75 RenderBlock {METER} at (104,2) size 81x17 76 Render Meter{DIV} at (0,0) size 80x1676 RenderBlock {DIV} at (0,0) size 80x16 77 77 RenderBlock {DIV} at (0,0) size 80x16 78 78 RenderBlock {DIV} at (0,0) size 60x16 … … 89 89 text run at (96,0) width 9: ": " 90 90 RenderBlock {METER} at (104,2) size 81x17 91 Render Meter{DIV} at (0,0) size 80x1691 RenderBlock {DIV} at (0,0) size 80x16 92 92 RenderBlock {DIV} at (0,0) size 80x16 93 93 RenderBlock {DIV} at (0,0) size 80x16 … … 104 104 text run at (115,0) width 9: ": " 105 105 RenderBlock {METER} at (123,2) size 81x17 106 Render Meter{DIV} at (0,0) size 80x16106 RenderBlock {DIV} at (0,0) size 80x16 107 107 RenderBlock {DIV} at (0,0) size 80x16 108 108 RenderBlock {DIV} at (0,0) size 80x16 … … 119 119 text run at (36,0) width 69: ",30,40,50: " 120 120 RenderBlock {METER} at (104,2) size 81x17 121 Render Meter{DIV} at (0,0) size 80x16121 RenderBlock {DIV} at (0,0) size 80x16 122 122 RenderBlock {DIV} at (0,0) size 80x16 123 123 RenderBlock {DIV} at (0,0) size 0x16 … … 132 132 text run at (76,0) width 29: ",40: " 133 133 RenderBlock {METER} at (104,2) size 81x17 134 Render Meter{DIV} at (0,0) size 80x16134 RenderBlock {DIV} at (0,0) size 80x16 135 135 RenderBlock {DIV} at (0,0) size 80x16 136 136 RenderBlock {DIV} at (0,0) size 80x16 … … 145 145 text run at (8,0) width 108: "|10,10,10,20,30: " 146 146 RenderBlock {METER} at (115,2) size 81x17 147 Render Meter{DIV} at (0,0) size 80x16147 RenderBlock {DIV} at (0,0) size 80x16 148 148 RenderBlock {DIV} at (0,0) size 80x16 149 149 RenderBlock {DIV} at (0,0) size 0x16 … … 158 158 text run at (56,0) width 49: ",20,30: " 159 159 RenderBlock {METER} at (104,2) size 81x17 160 Render Meter{DIV} at (0,0) size 80x16160 RenderBlock {DIV} at (0,0) size 80x16 161 161 RenderBlock {DIV} at (0,0) size 80x16 162 162 RenderBlock {DIV} at (0,0) size 0x16 … … 171 171 text run at (56,0) width 49: ",30,30: " 172 172 RenderBlock {METER} at (104,2) size 81x17 173 Render Meter{DIV} at (0,0) size 80x16173 RenderBlock {DIV} at (0,0) size 80x16 174 174 RenderBlock {DIV} at (0,0) size 80x16 175 175 RenderBlock {DIV} at (0,0) size 80x16 … … 186 186 text run at (115,0) width 9: ": " 187 187 RenderBlock {METER} at (123,2) size 81x17 188 Render Meter{DIV} at (0,0) size 80x16188 RenderBlock {DIV} at (0,0) size 80x16 189 189 RenderBlock {DIV} at (0,0) size 80x16 190 190 RenderBlock {DIV} at (0,0) size 80x16 … … 201 201 text run at (56,0) width 49: ",20,30: " 202 202 RenderBlock {METER} at (104,2) size 81x17 203 Render Meter{DIV} at (0,0) size 80x16203 RenderBlock {DIV} at (0,0) size 80x16 204 204 RenderBlock {DIV} at (0,0) size 80x16 205 205 RenderBlock {DIV} at (0,0) size 40x16 -
trunk/LayoutTests/platform/ios-simulator/fast/dom/HTMLMeterElement/meter-element-repaint-on-update-value-expected.txt
r205579 r207280 5 5 RenderBody {BODY} at (8,8) size 784x584 6 6 RenderBlock {METER} at (0,2) size 80x17 7 Render Meter{DIV} at (0,0) size 80x167 RenderBlock {DIV} at (0,0) size 80x16 8 8 RenderBlock {DIV} at (0,0) size 80x16 9 9 RenderBlock {DIV} at (0,0) size 40x16 … … 11 11 text run at (80,0) width 4: " " 12 12 RenderBlock {METER} at (84,2) size 80x17 13 Render Meter{DIV} at (0,0) size 80x1613 RenderBlock {DIV} at (0,0) size 80x16 14 14 RenderBlock {DIV} at (0,0) size 80x16 15 15 RenderBlock {DIV} at (0,0) size 40x16 -
trunk/LayoutTests/platform/ios-simulator/fast/dom/HTMLMeterElement/meter-optimums-expected.txt
r205579 r207280 19 19 text run at (0,0) width 77: "value=150: " 20 20 RenderBlock {METER} at (76,2) size 81x17 21 Render Meter{DIV} at (0,0) size 80x1621 RenderBlock {DIV} at (0,0) size 80x16 22 22 RenderBlock {DIV} at (0,0) size 80x16 23 23 RenderBlock {DIV} at (0,0) size 20x16 … … 27 27 text run at (0,0) width 77: "value=450: " 28 28 RenderBlock {METER} at (76,2) size 81x17 29 Render Meter{DIV} at (0,0) size 80x1629 RenderBlock {DIV} at (0,0) size 80x16 30 30 RenderBlock {DIV} at (0,0) size 80x16 31 31 RenderBlock {DIV} at (0,0) size 36x16 … … 35 35 text run at (0,0) width 77: "value=750: " 36 36 RenderBlock {METER} at (76,2) size 81x17 37 Render Meter{DIV} at (0,0) size 80x1637 RenderBlock {DIV} at (0,0) size 80x16 38 38 RenderBlock {DIV} at (0,0) size 80x16 39 39 RenderBlock {DIV} at (0,0) size 60x16 … … 43 43 text run at (0,0) width 61: "value=0: " 44 44 RenderBlock {METER} at (60,2) size 81x17 45 Render Meter{DIV} at (0,0) size 80x1645 RenderBlock {DIV} at (0,0) size 80x16 46 46 RenderBlock {DIV} at (0,0) size 80x16 47 47 RenderBlock {DIV} at (0,0) size 0x16 … … 51 51 text run at (0,0) width 85: "value=1000: " 52 52 RenderBlock {METER} at (84,2) size 81x17 53 Render Meter{DIV} at (0,0) size 80x1653 RenderBlock {DIV} at (0,0) size 80x16 54 54 RenderBlock {DIV} at (0,0) size 80x16 55 55 RenderBlock {DIV} at (0,0) size 80x16 … … 63 63 text run at (0,0) width 77: "value=150: " 64 64 RenderBlock {METER} at (76,2) size 81x17 65 Render Meter{DIV} at (0,0) size 80x1665 RenderBlock {DIV} at (0,0) size 80x16 66 66 RenderBlock {DIV} at (0,0) size 80x16 67 67 RenderBlock {DIV} at (0,0) size 20x16 … … 71 71 text run at (0,0) width 77: "value=450: " 72 72 RenderBlock {METER} at (76,2) size 81x17 73 Render Meter{DIV} at (0,0) size 80x1673 RenderBlock {DIV} at (0,0) size 80x16 74 74 RenderBlock {DIV} at (0,0) size 80x16 75 75 RenderBlock {DIV} at (0,0) size 36x16 … … 79 79 text run at (0,0) width 77: "value=750: " 80 80 RenderBlock {METER} at (76,2) size 81x17 81 Render Meter{DIV} at (0,0) size 80x1681 RenderBlock {DIV} at (0,0) size 80x16 82 82 RenderBlock {DIV} at (0,0) size 80x16 83 83 RenderBlock {DIV} at (0,0) size 60x16 … … 87 87 text run at (0,0) width 61: "value=0: " 88 88 RenderBlock {METER} at (60,2) size 81x17 89 Render Meter{DIV} at (0,0) size 80x1689 RenderBlock {DIV} at (0,0) size 80x16 90 90 RenderBlock {DIV} at (0,0) size 80x16 91 91 RenderBlock {DIV} at (0,0) size 0x16 … … 95 95 text run at (0,0) width 85: "value=1000: " 96 96 RenderBlock {METER} at (84,2) size 81x17 97 Render Meter{DIV} at (0,0) size 80x1697 RenderBlock {DIV} at (0,0) size 80x16 98 98 RenderBlock {DIV} at (0,0) size 80x16 99 99 RenderBlock {DIV} at (0,0) size 80x16 … … 107 107 text run at (0,0) width 77: "value=150: " 108 108 RenderBlock {METER} at (76,2) size 81x17 109 Render Meter{DIV} at (0,0) size 80x16109 RenderBlock {DIV} at (0,0) size 80x16 110 110 RenderBlock {DIV} at (0,0) size 80x16 111 111 RenderBlock {DIV} at (0,0) size 20x16 … … 115 115 text run at (0,0) width 77: "value=450: " 116 116 RenderBlock {METER} at (76,2) size 81x17 117 Render Meter{DIV} at (0,0) size 80x16117 RenderBlock {DIV} at (0,0) size 80x16 118 118 RenderBlock {DIV} at (0,0) size 80x16 119 119 RenderBlock {DIV} at (0,0) size 36x16 … … 123 123 text run at (0,0) width 77: "value=750: " 124 124 RenderBlock {METER} at (76,2) size 81x17 125 Render Meter{DIV} at (0,0) size 80x16125 RenderBlock {DIV} at (0,0) size 80x16 126 126 RenderBlock {DIV} at (0,0) size 80x16 127 127 RenderBlock {DIV} at (0,0) size 60x16 … … 131 131 text run at (0,0) width 61: "value=0: " 132 132 RenderBlock {METER} at (60,2) size 81x17 133 Render Meter{DIV} at (0,0) size 80x16133 RenderBlock {DIV} at (0,0) size 80x16 134 134 RenderBlock {DIV} at (0,0) size 80x16 135 135 RenderBlock {DIV} at (0,0) size 0x16 … … 139 139 text run at (0,0) width 85: "value=1000: " 140 140 RenderBlock {METER} at (84,2) size 81x17 141 Render Meter{DIV} at (0,0) size 80x16141 RenderBlock {DIV} at (0,0) size 80x16 142 142 RenderBlock {DIV} at (0,0) size 80x16 143 143 RenderBlock {DIV} at (0,0) size 80x16 -
trunk/LayoutTests/platform/ios-simulator/fast/dom/HTMLMeterElement/meter-styles-changing-pseudo-expected.txt
r205579 r207280 12 12 RenderBlock (anonymous) at (0,95) size 784x16 13 13 RenderBlock {METER} at (0,-1) size 80x17 14 Render Meter{DIV} at (0,0) size 80x1614 RenderBlock {DIV} at (0,0) size 80x16 15 15 RenderBlock {DIV} at (0,0) size 80x16 [bgcolor=#808080] 16 16 RenderBlock {DIV} at (0,0) size 72x16 [bgcolor=#008000] -
trunk/LayoutTests/platform/ios-simulator/fast/dom/HTMLMeterElement/meter-styles-expected.txt
r205579 r207280 10 10 RenderListItem {LI} at (43,0) size 732x20 11 11 RenderBlock {METER} at (0,2) size 80x17 12 Render Meter{DIV} at (0,0) size 80x1612 RenderBlock {DIV} at (0,0) size 80x16 13 13 RenderBlock {DIV} at (0,0) size 80x16 14 14 RenderBlock {DIV} at (0,0) size 20x16 … … 16 16 text run at (80,0) width 4: " " 17 17 RenderBlock {METER} at (84,2) size 80x17 18 Render Meter{DIV} at (0,0) size 80x1618 RenderBlock {DIV} at (0,0) size 80x16 19 19 RenderBlock {DIV} at (0,0) size 80x16 20 20 RenderBlock {DIV} at (0,0) size 36x16 … … 22 22 text run at (164,0) width 4: " " 23 23 RenderBlock {METER} at (168,2) size 80x17 24 Render Meter{DIV} at (0,0) size 80x1624 RenderBlock {DIV} at (0,0) size 80x16 25 25 RenderBlock {DIV} at (0,0) size 80x16 26 26 RenderBlock {DIV} at (0,0) size 60x16 27 27 RenderListItem {LI} at (43,23) size 732x42 28 28 RenderBlock {METER} at (0,-1) size 30x41 29 Render Meter{DIV} at (0,0) size 30x4029 RenderBlock {DIV} at (0,0) size 30x40 30 30 RenderBlock {DIV} at (0,0) size 30x40 31 31 RenderBlock {DIV} at (0,0) size 8x40 … … 33 33 text run at (30,21) width 4: " " 34 34 RenderBlock {METER} at (34,-1) size 30x41 35 Render Meter{DIV} at (0,0) size 30x4035 RenderBlock {DIV} at (0,0) size 30x40 36 36 RenderBlock {DIV} at (0,0) size 30x40 37 37 RenderBlock {DIV} at (0,0) size 14x40 … … 39 39 text run at (64,21) width 4: " " 40 40 RenderBlock {METER} at (68,-1) size 30x41 41 Render Meter{DIV} at (0,0) size 30x4041 RenderBlock {DIV} at (0,0) size 30x40 42 42 RenderBlock {DIV} at (0,0) size 30x40 43 43 RenderBlock {DIV} at (0,0) size 23x40 … … 49 49 RenderListItem {LI} at (43,0) size 732x20 50 50 RenderBlock {METER} at (0,2) size 80x17 [bgcolor=#AAAACC] [border: (5px solid #222244) (20px solid #222244) (5px solid #222244) (10px solid #222244)] 51 Render Meter{DIV} at (10,5) size 50x651 RenderBlock {DIV} at (10,5) size 50x6 52 52 RenderBlock {DIV} at (0,0) size 50x6 53 53 RenderBlock {DIV} at (0,0) size 40x6 … … 56 56 RenderListItem {LI} at (43,23) size 732x21 57 57 RenderBlock {METER} at (0,2) size 80x17 [bgcolor=#AAAACC] 58 Render Meter{DIV} at (10,5) size 50x658 RenderBlock {DIV} at (10,5) size 50x6 59 59 RenderBlock {DIV} at (0,0) size 50x6 60 60 RenderBlock {DIV} at (0,0) size 40x6 … … 63 63 RenderListItem {LI} at (43,46) size 732x28 64 64 RenderBlock {METER} at (10,4) size 80x17 [bgcolor=#AAAACC] 65 Render Meter{DIV} at (0,0) size 80x1665 RenderBlock {DIV} at (0,0) size 80x16 66 66 RenderBlock {DIV} at (0,0) size 80x16 67 67 RenderBlock {DIV} at (0,0) size 64x16 … … 78 78 RenderListItem {LI} at (43,23) size 732x21 79 79 RenderBlock {METER} at (0,2) size 80x17 80 Render Meter{DIV} at (0,0) size 80x1680 RenderBlock {DIV} at (0,0) size 80x16 81 81 RenderBlock {DIV} at (0,0) size 80x16 82 82 RenderBlock {DIV} at (0,0) size 64x16 [bgcolor=#008000] [border: (2px solid #77CC77)] … … 85 85 RenderListItem {LI} at (43,46) size 732x21 86 86 RenderBlock {METER} at (0,2) size 80x17 87 Render Meter{DIV} at (0,0) size 80x1687 RenderBlock {DIV} at (0,0) size 80x16 88 88 RenderBlock {DIV} at (0,0) size 80x16 [bgcolor=#808080] [border: (2px solid #222222)] 89 89 RenderBlock {DIV} at (2,2) size 61x12 … … 92 92 RenderListItem {LI} at (43,69) size 732x21 93 93 RenderBlock {METER} at (0,2) size 80x17 94 Render Meter{DIV} at (0,0) size 80x1694 RenderBlock {DIV} at (0,0) size 80x16 95 95 RenderBlock {DIV} at (0,0) size 80x16 [bgcolor=#808080] [border: (2px solid #222222)] 96 96 RenderBlock {DIV} at (2,2) size 61x12 [bgcolor=#008000] [border: (2px solid #77CC77)] … … 103 103 RenderListItem {LI} at (43,23) size 732x21 104 104 RenderBlock {METER} at (0,2) size 80x17 105 Render Meter{DIV} at (0,0) size 80x16105 RenderBlock {DIV} at (0,0) size 80x16 106 106 RenderBlock {DIV} at (0,0) size 80x16 107 107 RenderBlock {DIV} at (0,0) size 64x16 [bgcolor=#008000] [border: (2px solid #77CC77)] … … 110 110 RenderListItem {LI} at (43,46) size 732x21 111 111 RenderBlock {METER} at (0,2) size 80x17 112 Render Meter{DIV} at (0,0) size 80x16112 RenderBlock {DIV} at (0,0) size 80x16 113 113 RenderBlock {DIV} at (0,0) size 80x16 [bgcolor=#808080] [border: (2px solid #222222)] 114 114 RenderBlock {DIV} at (2,2) size 61x12 … … 117 117 RenderListItem {LI} at (43,69) size 732x21 118 118 RenderBlock {METER} at (0,2) size 80x17 119 Render Meter{DIV} at (0,0) size 80x16119 RenderBlock {DIV} at (0,0) size 80x16 120 120 RenderBlock {DIV} at (0,0) size 80x16 [bgcolor=#808080] [border: (2px solid #222222)] 121 121 RenderBlock {DIV} at (2,2) size 61x12 [bgcolor=#008000] [border: (2px solid #77CC77)] … … 129 129 RenderListItem {LI} at (43,0) size 732x20 130 130 RenderBlock {METER} at (0,2) size 80x17 131 Render Meter{DIV} at (0,0) size 80x16131 RenderBlock {DIV} at (0,0) size 80x16 132 132 RenderBlock {DIV} at (0,0) size 80x16 133 133 RenderBlock {DIV} at (0,0) size 64x16 … … 136 136 RenderListItem {LI} at (43,23) size 732x21 137 137 RenderBlock {METER} at (0,2) size 80x17 138 Render Meter{DIV} at (0,0) size 80x16138 RenderBlock {DIV} at (0,0) size 80x16 139 139 RenderBlock {DIV} at (0,0) size 80x16 140 140 RenderBlock {DIV} at (0,0) size 64x16 … … 146 146 RenderBlock {DIV} at (0,491) size 784x21 [bgcolor=#EEEEEE] 147 147 RenderBlock {METER} at (0,2) size 80x17 148 Render Meter{DIV} at (0,0) size 80x16148 RenderBlock {DIV} at (0,0) size 80x16 149 149 RenderBlock {DIV} at (0,0) size 80x16 150 150 RenderBlock {DIV} at (5,5) size 35x6 -
trunk/LayoutTests/platform/mac/fast/dom/HTMLMeterElement/meter-element-repaint-on-update-value-expected.txt
r161884 r207280 8 8 text run at (80,0) width 4: " " 9 9 RenderBlock {METER} at (84,1) size 80x17 10 Render Meter{DIV} at (0,0) size 80x1610 RenderBlock {DIV} at (0,0) size 80x16 11 11 RenderBlock {DIV} at (0,0) size 80x16 12 12 RenderBlock {DIV} at (0,0) size 40x16 -
trunk/LayoutTests/platform/mac/fast/dom/HTMLMeterElement/meter-styles-changing-pseudo-expected.txt
r177774 r207280 12 12 RenderBlock (anonymous) at (0,92) size 784x16 13 13 RenderBlock {METER} at (0,-1) size 80x17 14 Render Meter{DIV} at (0,0) size 80x1614 RenderBlock {DIV} at (0,0) size 80x16 15 15 RenderBlock {DIV} at (0,0) size 80x16 [bgcolor=#808080] 16 16 RenderBlock {DIV} at (0,0) size 72x16 [bgcolor=#008000] -
trunk/LayoutTests/platform/mac/fast/dom/HTMLMeterElement/meter-styles-expected.txt
r177774 r207280 10 10 RenderListItem {LI} at (43,0) size 732x18 11 11 RenderBlock {METER} at (0,1) size 80x17 12 Render Meter{DIV} at (0,0) size 80x1612 RenderBlock {DIV} at (0,0) size 80x16 13 13 RenderBlock {DIV} at (0,0) size 80x16 14 14 RenderBlock {DIV} at (0,0) size 20x16 … … 16 16 text run at (80,0) width 4: " " 17 17 RenderBlock {METER} at (84,1) size 80x17 18 Render Meter{DIV} at (0,0) size 80x1618 RenderBlock {DIV} at (0,0) size 80x16 19 19 RenderBlock {DIV} at (0,0) size 80x16 20 20 RenderBlock {DIV} at (0,0) size 36x16 … … 22 22 text run at (164,0) width 4: " " 23 23 RenderBlock {METER} at (168,1) size 80x17 24 Render Meter{DIV} at (0,0) size 80x1624 RenderBlock {DIV} at (0,0) size 80x16 25 25 RenderBlock {DIV} at (0,0) size 80x16 26 26 RenderBlock {DIV} at (0,0) size 60x16 27 27 RenderListItem {LI} at (43,21) size 732x41 28 28 RenderBlock {METER} at (0,-1) size 30x41 29 Render Meter{DIV} at (0,0) size 30x4029 RenderBlock {DIV} at (0,0) size 30x40 30 30 RenderBlock {DIV} at (0,0) size 30x40 31 31 RenderBlock {DIV} at (0,0) size 8x40 … … 33 33 text run at (30,22) width 4: " " 34 34 RenderBlock {METER} at (34,-1) size 30x41 35 Render Meter{DIV} at (0,0) size 30x4035 RenderBlock {DIV} at (0,0) size 30x40 36 36 RenderBlock {DIV} at (0,0) size 30x40 37 37 RenderBlock {DIV} at (0,0) size 14x40 … … 39 39 text run at (64,22) width 4: " " 40 40 RenderBlock {METER} at (68,-1) size 30x41 41 Render Meter{DIV} at (0,0) size 30x4041 RenderBlock {DIV} at (0,0) size 30x40 42 42 RenderBlock {DIV} at (0,0) size 30x40 43 43 RenderBlock {DIV} at (0,0) size 23x40 … … 49 49 RenderListItem {LI} at (43,0) size 732x18 50 50 RenderBlock {METER} at (0,1) size 80x17 [bgcolor=#AAAACC] [border: (5px solid #222244) (20px solid #222244) (5px solid #222244) (10px solid #222244)] 51 Render Meter{DIV} at (10,5) size 50x651 RenderBlock {DIV} at (10,5) size 50x6 52 52 RenderBlock {DIV} at (0,0) size 50x6 53 53 RenderBlock {DIV} at (0,0) size 40x6 … … 56 56 RenderListItem {LI} at (43,21) size 732x19 57 57 RenderBlock {METER} at (0,1) size 80x17 [bgcolor=#AAAACC] 58 Render Meter{DIV} at (10,5) size 50x658 RenderBlock {DIV} at (10,5) size 50x6 59 59 RenderBlock {DIV} at (0,0) size 50x6 60 60 RenderBlock {DIV} at (0,0) size 40x6 … … 63 63 RenderListItem {LI} at (43,42) size 732x27 64 64 RenderBlock {METER} at (10,4) size 80x17 [bgcolor=#AAAACC] 65 Render Meter{DIV} at (0,0) size 80x1665 RenderBlock {DIV} at (0,0) size 80x16 66 66 RenderBlock {DIV} at (0,0) size 80x16 67 67 RenderBlock {DIV} at (0,0) size 64x16 … … 94 94 RenderListItem {LI} at (43,21) size 732x19 95 95 RenderBlock {METER} at (0,1) size 80x17 96 Render Meter{DIV} at (0,0) size 80x1696 RenderBlock {DIV} at (0,0) size 80x16 97 97 RenderBlock {DIV} at (0,0) size 80x16 98 98 RenderBlock {DIV} at (0,0) size 64x16 [bgcolor=#008000] [border: (2px solid #77CC77)] … … 101 101 RenderListItem {LI} at (43,42) size 732x19 102 102 RenderBlock {METER} at (0,1) size 80x17 103 Render Meter{DIV} at (0,0) size 80x16103 RenderBlock {DIV} at (0,0) size 80x16 104 104 RenderBlock {DIV} at (0,0) size 80x16 [bgcolor=#808080] [border: (2px solid #222222)] 105 105 RenderBlock {DIV} at (2,2) size 61x12 … … 108 108 RenderListItem {LI} at (43,63) size 732x19 109 109 RenderBlock {METER} at (0,1) size 80x17 110 Render Meter{DIV} at (0,0) size 80x16110 RenderBlock {DIV} at (0,0) size 80x16 111 111 RenderBlock {DIV} at (0,0) size 80x16 [bgcolor=#808080] [border: (2px solid #222222)] 112 112 RenderBlock {DIV} at (2,2) size 61x12 [bgcolor=#008000] [border: (2px solid #77CC77)] … … 120 120 RenderListItem {LI} at (43,0) size 732x18 121 121 RenderBlock {METER} at (0,1) size 80x17 122 Render Meter{DIV} at (0,0) size 80x16122 RenderBlock {DIV} at (0,0) size 80x16 123 123 RenderBlock {DIV} at (0,0) size 80x16 124 124 RenderBlock {DIV} at (0,0) size 64x16 … … 134 134 RenderBlock {DIV} at (0,453) size 784x19 [bgcolor=#EEEEEE] 135 135 RenderBlock {METER} at (0,1) size 80x17 136 Render Meter{DIV} at (0,0) size 80x16136 RenderBlock {DIV} at (0,0) size 80x16 137 137 RenderBlock {DIV} at (0,0) size 80x16 138 138 RenderBlock {DIV} at (5,5) size 35x6 -
trunk/Source/WebCore/CMakeLists.txt
r207265 r207280 1850 1850 html/shadow/MediaControlElements.cpp 1851 1851 html/shadow/MediaControls.cpp 1852 html/shadow/MeterShadowElement.cpp1853 1852 html/shadow/ProgressShadowElement.cpp 1854 1853 html/shadow/SliderThumbElement.cpp … … 2988 2987 ${WEBCORE_DIR}/css/quirks.css 2989 2988 ${WEBCORE_DIR}/css/svg.css 2989 ${WEBCORE_DIR}/html/shadow/meterElementShadow.css 2990 2990 ) 2991 2991 -
trunk/Source/WebCore/ChangeLog
r207279 r207280 1 2016-10-13 Antti Koivisto <antti@apple.com> 2 3 Support scoped style for user agent shadow trees 4 https://bugs.webkit.org/show_bug.cgi?id=163212 5 <rdar://problem/28715318> 6 7 Reviewed by Ryosuke Niwa and Andreas Kling. 8 9 This patch adds support for user agent shadow trees that have scoped style. This means 10 that the shadows can be styled via <style> elements contained in the tree instead of 11 using pseudo elements on the global UA sheet. Since the style is scoped it can use 12 normal id and class selectors. 13 14 Elements in the shadow tree can still be exposed for author styling if needed by giving 15 them pseudo ids 16 17 The patch also uses the new mechanism for the <meter> element. 18 19 The mechanism is not optimized yet, each shadow tree gets its own copy of style-related data 20 structures. This can be improved later. 21 22 * CMakeLists.txt: 23 * DerivedSources.make: 24 * WebCore.xcodeproj/project.pbxproj: 25 * css/ElementRuleCollector.cpp: 26 (WebCore::MatchRequest::MatchRequest): 27 (WebCore::ElementRuleCollector::addMatchedRule): 28 (WebCore::ElementRuleCollector::matchAuthorShadowPseudoElementRules): 29 30 Make treeContextOrdinal an int so we can use negative ordinals. This is used to allow author pseudo 31 elements from earlier tree context to win over the shadow tree (matching CSS scoping spec language). 32 33 * css/ElementRuleCollector.h: 34 * css/StyleResolver.cpp: 35 (WebCore::StyleResolver::MatchResult::addMatchedProperties): 36 (WebCore::StyleResolver::CascadedProperties::addImportantMatches): 37 * css/StyleResolver.h: 38 * css/html.css: 39 (meter::-webkit-meter-inner-element): Deleted. 40 (meter::-webkit-meter-bar): Deleted. 41 (meter::-webkit-meter-optimum-value): Deleted. 42 (meter::-webkit-meter-suboptimum-value): Deleted. 43 (meter::-webkit-meter-even-less-good-value): Deleted. 44 45 Remove meter pseudo elements from the UA sheet. 46 47 * html/HTMLMeterElement.cpp: 48 (WebCore::HTMLMeterElement::childShouldCreateRenderer): 49 50 Don't create shadow renderers when we have appearance (are using RenderMeter). 51 52 (WebCore::setValueClass): 53 54 Move this logic here from MeterShadowElement.cpp. 55 Set both class and pseudo id. The latter is needed to keep author styling working. 56 57 (WebCore::HTMLMeterElement::didElementStateChange): 58 (WebCore::HTMLMeterElement::renderMeter): 59 60 RenderMeter is now only instantiated when appearance is enabled. 61 62 (WebCore::HTMLMeterElement::didAddUserAgentShadowRoot): 63 64 Build the shadow tree out of <div>s instead of special shadow elements. 65 66 * html/HTMLMeterElement.h: 67 * html/shadow/MeterShadowElement.cpp: Removed. 68 * html/shadow/MeterShadowElement.h: Removed. 69 70 Not needed anymore. 71 72 * html/shadow/meterElementShadow.css: Added. 73 (div#inner): 74 (div#bar): 75 (div#value): 76 (div#value.optimum): 77 (div#value.suboptimum): 78 (div#value.even-less-good): 79 80 Stylesheet for meter element shadow tree using normal id and class selectors. 81 82 * style/StyleScope.cpp: 83 (WebCore::Style::Scope::shouldUseSharedUserAgentShadowTreeStyleResolver): 84 85 Switch to per-scope style resolver for UA shadow trees if there is stylesheets in the tree. 86 87 (WebCore::Style::Scope::resolver): 88 (WebCore::Style::Scope::resolverIfExists): 89 * style/StyleScope.h: 90 1 91 2016-10-12 Chris Dumez <cdumez@apple.com> 2 92 -
trunk/Source/WebCore/DerivedSources.make
r207054 r207280 1019 1019 endif 1020 1020 1021 ifeq ($(findstring ENABLE_METER_ELEMENT,$(FEATURE_DEFINES)), ENABLE_METER_ELEMENT) 1022 USER_AGENT_STYLE_SHEETS := $(USER_AGENT_STYLE_SHEETS) $(WebCore)/html/shadow/meterElementShadow.css 1023 endif 1024 1021 1025 UserAgentStyleSheets.h : css/make-css-file-arrays.pl bindings/scripts/preprocessor.pm $(USER_AGENT_STYLE_SHEETS) $(PLATFORM_FEATURE_DEFINES) 1022 1026 $(PERL) $< --defines "$(FEATURE_DEFINES)" $@ UserAgentStyleSheetsData.cpp $(USER_AGENT_STYLE_SHEETS) -
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
r207265 r207280 3916 3916 A781C6A713828B5D0012A62A /* DocumentMarker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A781C6A613828B5D0012A62A /* DocumentMarker.cpp */; }; 3917 3917 A784941B0B5FE507001E237A /* DataTransfer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A784941A0B5FE507001E237A /* DataTransfer.cpp */; }; 3918 A78E526F1346BD1700AD9C31 /* MeterShadowElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A78E526D1346BD1700AD9C31 /* MeterShadowElement.cpp */; };3919 A78E52701346BD1700AD9C31 /* MeterShadowElement.h in Headers */ = {isa = PBXBuildFile; fileRef = A78E526E1346BD1700AD9C31 /* MeterShadowElement.h */; };3920 3918 A78FE13B12366B1000ACE8D0 /* SpellChecker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A78FE13912366B1000ACE8D0 /* SpellChecker.cpp */; }; 3921 3919 A78FE13C12366B1000ACE8D0 /* SpellChecker.h in Headers */ = {isa = PBXBuildFile; fileRef = A78FE13A12366B1000ACE8D0 /* SpellChecker.h */; settings = {ATTRIBUTES = (Private, ); }; }; … … 6294 6292 E4DEAA1717A93DC3000E0430 /* StyleTreeResolver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4DEAA1517A93DC3000E0430 /* StyleTreeResolver.cpp */; }; 6295 6293 E4DEAA1817A93DC3000E0430 /* StyleTreeResolver.h in Headers */ = {isa = PBXBuildFile; fileRef = E4DEAA1617A93DC3000E0430 /* StyleTreeResolver.h */; settings = {ATTRIBUTES = (Private, ); }; }; 6294 E4E243831DAB953E00C26E4B /* meterElementShadow.css in Resources */ = {isa = PBXBuildFile; fileRef = E4E243821DAB953E00C26E4B /* meterElementShadow.css */; }; 6296 6295 E4E39AFB1330EFA8003AB274 /* LegacyTileLayerPool.h in Headers */ = {isa = PBXBuildFile; fileRef = E4E39AFA1330EFA8003AB274 /* LegacyTileLayerPool.h */; }; 6297 6296 E4E39AFD1330EFC6003AB274 /* LegacyTileLayerPool.mm in Sources */ = {isa = PBXBuildFile; fileRef = E4E39AFC1330EFC5003AB274 /* LegacyTileLayerPool.mm */; }; … … 11216 11215 A781C6A613828B5D0012A62A /* DocumentMarker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DocumentMarker.cpp; sourceTree = "<group>"; }; 11217 11216 A784941A0B5FE507001E237A /* DataTransfer.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = DataTransfer.cpp; sourceTree = "<group>"; }; 11218 A78E526D1346BD1700AD9C31 /* MeterShadowElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MeterShadowElement.cpp; sourceTree = "<group>"; };11219 A78E526E1346BD1700AD9C31 /* MeterShadowElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MeterShadowElement.h; sourceTree = "<group>"; };11220 11217 A78FE13912366B1000ACE8D0 /* SpellChecker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SpellChecker.cpp; sourceTree = "<group>"; }; 11221 11218 A78FE13A12366B1000ACE8D0 /* SpellChecker.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; path = SpellChecker.h; sourceTree = "<group>"; }; … … 13943 13940 E4DEAA1517A93DC3000E0430 /* StyleTreeResolver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StyleTreeResolver.cpp; sourceTree = "<group>"; }; 13944 13941 E4DEAA1617A93DC3000E0430 /* StyleTreeResolver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StyleTreeResolver.h; sourceTree = "<group>"; }; 13942 E4E243821DAB953E00C26E4B /* meterElementShadow.css */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.css; path = meterElementShadow.css; sourceTree = "<group>"; }; 13945 13943 E4E39AFA1330EFA8003AB274 /* LegacyTileLayerPool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LegacyTileLayerPool.h; sourceTree = "<group>"; }; 13946 13944 E4E39AFC1330EFC5003AB274 /* LegacyTileLayerPool.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = LegacyTileLayerPool.mm; sourceTree = "<group>"; }; … … 15987 15985 4157AF7F12F1FB0400A8C6F5 /* MediaControlsApple.cpp */, 15988 15986 4157AF7E12F1FB0400A8C6F5 /* MediaControlsApple.h */, 15989 A78E526D1346BD1700AD9C31 /* MeterShadowElement.cpp */, 15990 A78E526E1346BD1700AD9C31 /* MeterShadowElement.h */, 15987 E4E243821DAB953E00C26E4B /* meterElementShadow.css */, 15991 15988 A715E650134BBBEC00D8E713 /* ProgressShadowElement.cpp */, 15992 15989 A715E651134BBBEC00D8E713 /* ProgressShadowElement.h */, … … 25845 25842 E1ADECBF0E76ACF1004A1A5E /* MessagePort.h in Headers */, 25846 25843 41BF700C0FE86F49005E8DEC /* MessagePortChannel.h in Headers */, 25847 A78E52701346BD1700AD9C31 /* MeterShadowElement.h in Headers */,25848 25844 37DDCDA51384501C0008B793 /* MHTMLArchive.h in Headers */, 25849 25845 37DDCDA71384501C0008B793 /* MHTMLParser.h in Headers */, … … 27495 27491 01E6C2E41194B2820050821C /* SpellingDot@2x.png in Resources */, 27496 27492 1C2417BA1992C04100EF9938 /* SpellingDot@3x.png in Resources */, 27493 E4E243831DAB953E00C26E4B /* meterElementShadow.css in Resources */, 27497 27494 93153BDC141959BC00FCF5BE /* textAreaResizeCorner.png in Resources */, 27498 27495 9370918D1416D86B00477333 /* textAreaResizeCorner@2x.png in Resources */, … … 29577 29574 75793E830D0CE0B3007FC0AC /* MessageEvent.cpp in Sources */, 29578 29575 E1ADECC00E76ACF1004A1A5E /* MessagePort.cpp in Sources */, 29579 A78E526F1346BD1700AD9C31 /* MeterShadowElement.cpp in Sources */,29580 29576 CB8CF0181A9358D4000D510B /* Microtasks.cpp in Sources */, 29581 29577 37DDCD9413844FD50008B793 /* MIMEHeader.cpp in Sources */, -
trunk/Source/WebCore/css/ElementRuleCollector.cpp
r207077 r207280 71 71 class MatchRequest { 72 72 public: 73 MatchRequest(const RuleSet* ruleSet, bool includeEmptyRules = false, unsignedtreeContextOrdinal = 0)73 MatchRequest(const RuleSet* ruleSet, bool includeEmptyRules = false, int treeContextOrdinal = 0) 74 74 : ruleSet(ruleSet) 75 75 , includeEmptyRules(includeEmptyRules) … … 79 79 const RuleSet* ruleSet; 80 80 const bool includeEmptyRules; 81 unsignedtreeContextOrdinal;81 int treeContextOrdinal; 82 82 }; 83 83 … … 111 111 } 112 112 113 inline void ElementRuleCollector::addMatchedRule(const RuleData& ruleData, unsigned specificity, unsignedtreeContextOrdinal, StyleResolver::RuleRange& ruleRange)113 inline void ElementRuleCollector::addMatchedRule(const RuleData& ruleData, unsigned specificity, int treeContextOrdinal, StyleResolver::RuleRange& ruleRange) 114 114 { 115 115 // Update our first/last rule indices in the matched rules array. … … 233 233 // Look up shadow pseudo elements also from the host scope author style as they are web-exposed. 234 234 auto& hostAuthorRules = Style::Scope::forNode(*shadowRoot.host()).resolver().ruleSets().authorStyle(); 235 MatchRequest hostAuthorRequest { &hostAuthorRules, matchRequest.includeEmptyRules };235 MatchRequest hostAuthorRequest { &hostAuthorRules, matchRequest.includeEmptyRules, matchRequest.treeContextOrdinal - 1 }; 236 236 collectMatchingShadowPseudoElementRules(hostAuthorRequest, ruleRange); 237 237 } -
trunk/Source/WebCore/css/ElementRuleCollector.h
r207077 r207280 42 42 const RuleData* ruleData; 43 43 unsigned specificity; 44 unsignedtreeContextOrdinal;44 int treeContextOrdinal; 45 45 }; 46 46 … … 92 92 void sortAndTransferMatchedRules(); 93 93 94 void addMatchedRule(const RuleData&, unsigned specificity, unsignedtreeContextOrdinal, StyleResolver::RuleRange&);94 void addMatchedRule(const RuleData&, unsigned specificity, int treeContextOrdinal, StyleResolver::RuleRange&); 95 95 96 96 const Element& m_element; -
trunk/Source/WebCore/css/StyleResolver.cpp
r206395 r207280 193 193 } 194 194 195 void StyleResolver::MatchResult::addMatchedProperties(const StyleProperties& properties, StyleRule* rule, unsigned linkMatchType, PropertyWhitelistType propertyWhitelistType, unsignedtreeContextOrdinal)195 void StyleResolver::MatchResult::addMatchedProperties(const StyleProperties& properties, StyleRule* rule, unsigned linkMatchType, PropertyWhitelistType propertyWhitelistType, int treeContextOrdinal) 196 196 { 197 197 m_matchedProperties.grow(m_matchedProperties.size() + 1); … … 2033 2033 2034 2034 inline StyleResolver::MatchedProperties::MatchedProperties() 2035 : possiblyPaddedMember(nullptr)2036 2035 { 2037 2036 } … … 2197 2196 struct IndexAndOrdinal { 2198 2197 int index; 2199 unsignedordinal;2198 int ordinal; 2200 2199 }; 2201 2200 Vector<IndexAndOrdinal> shadowTreeMatches; -
trunk/Source/WebCore/css/StyleResolver.h
r206538 r207280 246 246 247 247 RefPtr<StyleProperties> properties; 248 union { 249 struct { 250 unsigned linkMatchType : 2; 251 unsigned whitelistType : 2; 252 unsigned treeContextOrdinal : 28; 253 }; 254 // Used to make sure all memory is zero-initialized since we compute the hash over the bytes of this object. 255 void* possiblyPaddedMember; 256 }; 248 uint16_t linkMatchType; 249 uint16_t whitelistType; 250 int treeContextOrdinal; 257 251 }; 258 252 … … 265 259 const Vector<MatchedProperties, 64>& matchedProperties() const { return m_matchedProperties; } 266 260 267 void addMatchedProperties(const StyleProperties&, StyleRule* = nullptr, unsigned linkMatchType = SelectorChecker::MatchAll, PropertyWhitelistType = PropertyWhitelistNone, unsignedtreeContextOrdinal = 0);261 void addMatchedProperties(const StyleProperties&, StyleRule* = nullptr, unsigned linkMatchType = SelectorChecker::MatchAll, PropertyWhitelistType = PropertyWhitelistNone, int treeContextOrdinal = 0); 268 262 private: 269 263 Vector<MatchedProperties, 64> m_matchedProperties; -
trunk/Source/WebCore/css/html.css
r205858 r207280 1000 1000 } 1001 1001 1002 meter::-webkit-meter-inner-element {1003 -webkit-appearance: inherit;1004 box-sizing: inherit;1005 height: 100%;1006 width: 100%;1007 }1008 1009 meter::-webkit-meter-bar {1010 background: -webkit-gradient(linear, left top, left bottom, from(#ddd), to(#ddd), color-stop(0.20, #eee), color-stop(0.45, #ccc), color-stop(0.55, #ccc));1011 height: 100%;1012 width: 100%;1013 box-sizing: border-box;1014 }1015 1016 meter::-webkit-meter-optimum-value {1017 background: -webkit-gradient(linear, left top, left bottom, from(#ad7), to(#ad7), color-stop(0.20, #cea), color-stop(0.45, #7a3), color-stop(0.55, #7a3));1018 height: 100%;1019 box-sizing: border-box;1020 }1021 1022 meter::-webkit-meter-suboptimum-value {1023 background: -webkit-gradient(linear, left top, left bottom, from(#fe7), to(#fe7), color-stop(0.20, #ffc), color-stop(0.45, #db3), color-stop(0.55, #db3));1024 height: 100%;1025 box-sizing: border-box;1026 }1027 1028 meter::-webkit-meter-even-less-good-value {1029 background: -webkit-gradient(linear, left top, left bottom, from(#f77), to(#f77), color-stop(0.20, #fcc), color-stop(0.45, #d44), color-stop(0.55, #d44));1030 height: 100%;1031 box-sizing: border-box;1032 }1033 1002 #endif 1034 1003 -
trunk/Source/WebCore/html/HTMLMeterElement.cpp
r206243 r207280 28 28 #include "ExceptionCode.h" 29 29 #include "FormDataList.h" 30 #include "HTMLDivElement.h" 30 31 #include "HTMLFormElement.h" 31 32 #include "HTMLNames.h" 32 33 #include "HTMLParserIdioms.h" 33 #include " MeterShadowElement.h"34 #include "HTMLStyleElement.h" 34 35 #include "Page.h" 35 36 #include "RenderMeter.h" 36 37 #include "RenderTheme.h" 37 38 #include "ShadowRoot.h" 39 #include "UserAgentStyleSheets.h" 38 40 39 41 namespace WebCore { … … 68 70 bool HTMLMeterElement::childShouldCreateRenderer(const Node& child) const 69 71 { 70 return hasShadowRootParent(child) && HTMLElement::childShouldCreateRenderer(child);72 return !is<RenderMeter>(renderer()) && HTMLElement::childShouldCreateRenderer(child); 71 73 } 72 74 … … 187 189 } 188 190 191 static void setValueClass(HTMLElement& element, HTMLMeterElement::GaugeRegion gaugeRegion) 192 { 193 switch (gaugeRegion) { 194 case HTMLMeterElement::GaugeRegionOptimum: 195 element.setAttribute(HTMLNames::classAttr, "optimum"); 196 element.setPseudo("-webkit-meter-optimum-value"); 197 return; 198 case HTMLMeterElement::GaugeRegionSuboptimal: 199 element.setAttribute(HTMLNames::classAttr, "suboptimum"); 200 element.setPseudo("-webkit-meter-suboptimum-value"); 201 return; 202 case HTMLMeterElement::GaugeRegionEvenLessGood: 203 element.setAttribute(HTMLNames::classAttr, "even-less-good"); 204 element.setPseudo("-webkit-meter-even-less-good-value"); 205 return; 206 default: 207 ASSERT_NOT_REACHED(); 208 } 209 } 210 189 211 void HTMLMeterElement::didElementStateChange() 190 212 { 191 m_value->setWidthPercentage(valueRatio()*100); 192 m_value->updatePseudo(); 213 m_value->setInlineStyleProperty(CSSPropertyWidth, valueRatio()*100, CSSPrimitiveValue::CSS_PERCENTAGE); 214 setValueClass(*m_value, gaugeRegion()); 215 193 216 if (RenderMeter* render = renderMeter()) 194 217 render->updateFromElement(); … … 199 222 if (is<RenderMeter>(renderer())) 200 223 return downcast<RenderMeter>(renderer()); 201 return downcast<RenderMeter>(descendantsOfType<Element>(*userAgentShadowRoot()).first()->renderer());224 return nullptr; 202 225 } 203 226 … … 206 229 ASSERT(!m_value); 207 230 208 auto inner = MeterInnerElement::create(document()); 231 static NeverDestroyed<String> shadowStyle(meterElementShadowUserAgentStyleSheet, String::ConstructFromLiteral); 232 233 auto style = HTMLStyleElement::create(HTMLNames::styleTag, document(), false); 234 style->setTextContent(shadowStyle, IGNORE_EXCEPTION); 235 root->appendChild(style); 236 237 // Pseudos are set to allow author styling. 238 auto inner = HTMLDivElement::create(document()); 239 inner->setIdAttribute("inner"); 240 inner->setPseudo("-webkit-meter-inner-element"); 209 241 root->appendChild(inner); 210 242 211 auto bar = MeterBarElement::create(document()); 212 m_value = MeterValueElement::create(document()); 213 m_value->setWidthPercentage(0); 214 m_value->updatePseudo(); 243 auto bar = HTMLDivElement::create(document()); 244 bar->setIdAttribute("bar"); 245 bar->setPseudo("-webkit-meter-bar"); 246 inner->appendChild(bar, ASSERT_NO_EXCEPTION); 247 248 m_value = HTMLDivElement::create(document()); 249 m_value->setIdAttribute("value"); 215 250 bar->appendChild(*m_value, ASSERT_NO_EXCEPTION); 216 251 217 inner->appendChild(bar, ASSERT_NO_EXCEPTION);252 didElementStateChange(); 218 253 } 219 254 -
trunk/Source/WebCore/html/HTMLMeterElement.h
r206243 r207280 78 78 void didAddUserAgentShadowRoot(ShadowRoot*) final; 79 79 80 RefPtr< MeterValueElement> m_value;80 RefPtr<HTMLElement> m_value; 81 81 }; 82 82 -
trunk/Source/WebCore/style/StyleScope.cpp
r207077 r207280 72 72 } 73 73 74 bool Scope::shouldUseSharedUserAgentShadowTreeStyleResolver() const 75 { 76 if (!m_shadowRoot) 77 return false; 78 if (m_shadowRoot->mode() != ShadowRoot::Mode::UserAgent) 79 return false; 80 // If we have stylesheets in the user agent shadow tree use per-scope resolver. 81 if (!m_styleSheetCandidateNodes.isEmpty()) 82 return false; 83 return true; 84 } 85 74 86 StyleResolver& Scope::resolver() 75 87 { 76 if ( m_shadowRoot && m_shadowRoot->mode() == ShadowRoot::Mode::UserAgent)88 if (shouldUseSharedUserAgentShadowTreeStyleResolver()) 77 89 return m_document.userAgentShadowTreeStyleResolver(); 78 90 … … 86 98 StyleResolver* Scope::resolverIfExists() 87 99 { 88 if ( m_shadowRoot && m_shadowRoot->mode() == ShadowRoot::Mode::UserAgent)100 if (shouldUseSharedUserAgentShadowTreeStyleResolver()) 89 101 return &m_document.userAgentShadowTreeStyleResolver(); 90 102 -
trunk/Source/WebCore/style/StyleScope.h
r206951 r207280 97 97 98 98 private: 99 bool shouldUseSharedUserAgentShadowTreeStyleResolver() const; 100 99 101 enum class UpdateType { ActiveSet, ContentsOrInterpretation }; 100 102 void updateActiveStyleSheets(UpdateType);
Note: See TracChangeset
for help on using the changeset viewer.