Changeset 165472 in webkit
- Timestamp:
- Mar 12, 2014 8:41:55 AM (10 years ago)
- Location:
- trunk
- Files:
-
- 33 deleted
- 85 edited
- 6 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r165470 r165472 1 2014-03-12 Bem Jones-Bey <bjonesbe@adobe.com> 2 3 [CSS Shapes] Remove deprecated shapes 4 https://bugs.webkit.org/show_bug.cgi?id=125235 5 6 Reviewed by Dirk Schulze. 7 8 Remove tests for deprecated shape syntax. 9 10 There are also a few shape-inside tests that have been removed because 11 they were very difficult to make work without the rectangle shape, and 12 the future of the current shape-inside implementation is questionable 13 at best. 14 15 * animations/resources/animation-test-helpers.js: 16 (parseBasicShape): 17 * compositing/contents-opaque/opaque-with-clip-path-expected.html: 18 * compositing/contents-opaque/opaque-with-clip-path.html: 19 * css3/masking/clip-path-animation-expected.txt: 20 * css3/masking/clip-path-animation.html: 21 * css3/masking/clip-path-rectangle-expected.txt: Removed. 22 * css3/masking/clip-path-rectangle.html: Removed. 23 * csswg/contributors/adobe/submitted/shapes/shape-outside/resources/rounded-rectangle.js: Removed. 24 * csswg/contributors/adobe/submitted/shapes/shape-outside/resources/subpixel-utils.js: Removed. 25 * csswg/contributors/adobe/submitted/shapes/shape-outside/resources/w3c-import.log: Removed. 26 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-circle-000-expected.html: Removed. 27 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-circle-000.html: Removed. 28 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-circle-001-expected.html: Removed. 29 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-circle-001.html: Removed. 30 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-000-expected.html: Removed. 31 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-000.html: Removed. 32 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-001-expected.html: Removed. 33 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-001-ref-expected.html: Removed. 34 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-001-ref.html: Removed. 35 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-001.html: Removed. 36 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-002-expected.html: Removed. 37 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-002.html: Removed. 38 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-003-expected.html: Removed. 39 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-003.html: Removed. 40 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-004-expected.html: Removed. 41 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-004.html: Removed. 42 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-005-expected.html: Removed. 43 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-005.html: Removed. 44 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-006-expected.html: Removed. 45 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-006.html: Removed. 46 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-ellipse-000-expected.html: Removed. 47 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-ellipse-000.html: Removed. 48 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-000-expected.html: Removed. 49 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-000.html: Removed. 50 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-001-expected.html: Removed. 51 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-001.html: Removed. 52 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-002-expected.html: Removed. 53 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-002.html: Removed. 54 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-003-expected.html: Removed. 55 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-003.html: Removed. 56 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-004-expected.html: Removed. 57 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-004.html: Removed. 58 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-000-expected.html: Removed. 59 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-000.html: Removed. 60 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-001-expected.html: Removed. 61 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-001.html: Removed. 62 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-002-expected.html: Removed. 63 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-002.html: Removed. 64 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-000-expected.html: Removed. 65 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-000.html: Removed. 66 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-001-expected.html: Removed. 67 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-001.html: Removed. 68 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-002-expected.html: Removed. 69 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-002.html: Removed. 70 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-003-expected.html: Removed. 71 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-003.html: Removed. 72 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-004-expected.html: Removed. 73 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-004.html: Removed. 74 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-005-expected.html: Removed. 75 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-005.html: Removed. 76 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-006-expected.html: Removed. 77 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-006.html: Removed. 78 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-007-expected.html: Removed. 79 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-007.html: Removed. 80 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-008-expected.html: Removed. 81 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-008.html: Removed. 82 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-009-expected.html: Removed. 83 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-009.html: Removed. 84 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-010-expected.html: Removed. 85 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-010.html: Removed. 86 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-011-expected.html: Removed. 87 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-011.html: Removed. 88 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-012-expected.html: Removed. 89 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-012.html: Removed. 90 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-013-expected.html: Removed. 91 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-013.html: Removed. 92 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-014-expected.html: Removed. 93 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-014.html: Removed. 94 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-015-expected.html: Removed. 95 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-015.html: Removed. 96 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-016-expected.html: Removed. 97 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-016.html: Removed. 98 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-017-expected.html: Removed. 99 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-017.html: Removed. 100 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-018-expected.html: Removed. 101 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-018.html: Removed. 102 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-019-expected.html: Removed. 103 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-019.html: Removed. 104 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-020-expected.html: Removed. 105 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-020.html: Removed. 106 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-021-expected.html: Removed. 107 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-021.html: Removed. 108 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-000-expected.html: Removed. 109 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-000.html: Removed. 110 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-001-expected.html: Removed. 111 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-001.html: Removed. 112 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-002-expected.html: Removed. 113 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-002.html: Removed. 114 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-003-expected.html: Removed. 115 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-003.html: Removed. 116 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-004-expected.html: Removed. 117 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-004.html: Removed. 118 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-005-expected.html: Removed. 119 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-005.html: Removed. 120 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-006-expected.html: Removed. 121 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-006.html: Removed. 122 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-007-expected.html: Removed. 123 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-007.html: Removed. 124 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-008-expected.html: Removed. 125 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-008.html: Removed. 126 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-009-expected.html: Removed. 127 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-009.html: Removed. 128 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-001-expected.html: Removed. 129 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-001.html: Removed. 130 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-002-expected.html: Removed. 131 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-002.html: Removed. 132 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-003-expected.html: Removed. 133 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-003.html: Removed. 134 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-004-expected.html: Removed. 135 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-004.html: Removed. 136 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-shape-margin-000-expected.html: Removed. 137 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-shape-margin-000.html: Removed. 138 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-shape-margin-001-expected.html: Removed. 139 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-shape-margin-001.html: Removed. 140 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-square-000-expected.html: Removed. 141 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-square-000.html: Removed. 142 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-square-border-000-expected.html: Removed. 143 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-square-border-000.html: Removed. 144 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-stacked-000-expected.html: Removed. 145 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-stacked-000.html: Removed. 146 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-vertical-rectangle-000-expected.html: Removed. 147 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-vertical-rectangle-000.html: Removed. 148 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-vertical-rectangle-001-expected.html: Removed. 149 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-vertical-rectangle-001.html: Removed. 150 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-vertical-rectangle-002-expected.html: Removed. 151 * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-vertical-rectangle-002.html: Removed. 152 * csswg/contributors/adobe/submitted/shapes/shape-outside/w3c-import.log: Removed. 153 * fast/masking/parsing-clip-path-shape-expected.txt: 154 * fast/masking/parsing-clip-path-shape.html: 155 * fast/regions/shape-inside/shape-inside-on-additional-regions.html: 156 * fast/regions/shape-inside/shape-inside-on-first-region-block-content.html: 157 * fast/regions/shape-inside/shape-inside-on-first-region-inline-content.html: 158 * fast/regions/shape-inside/shape-inside-on-multiple-autoheight-regions.html: 159 * fast/regions/shape-inside/shape-inside-on-multiple-regions-with-negative-shape-top-expected.html: Removed. 160 * fast/regions/shape-inside/shape-inside-on-multiple-regions-with-negative-shape-top.html: Removed. 161 * fast/regions/shape-inside/shape-inside-on-regions-block-content-basic-overflow-shape-top-offset.html: 162 * fast/regions/shape-inside/shape-inside-on-regions-block-content-overflow-bottom-positioned-multiple-shapes.html: 163 * fast/regions/shape-inside/shape-inside-on-regions-block-content-overflow-multiple-shapes.html: 164 * fast/regions/shape-inside/shape-inside-on-regions-expected.html: 165 * fast/regions/shape-inside/shape-inside-on-regions-inline-content-basic-overflow-shape-top-offset.html: 166 * fast/regions/shape-inside/shape-inside-on-regions-inline-content-overflow-bottom-positioned-multiple-shapes.html: 167 * fast/regions/shape-inside/shape-inside-on-regions-inline-content-overflow-multiple-shapes.html: 168 * fast/regions/shape-inside/shape-inside-on-regions-inline-content.html: 169 * fast/regions/shape-inside/shape-inside-on-regions.html: 170 * fast/regions/shape-inside/shape-inside-on-second-region-block-content.html: 171 * fast/regions/shape-inside/shape-inside-on-second-region-inline-content.html: 172 * fast/regions/shape-inside/shape-inside-recursive-layout-expected.html: 173 * fast/regions/shape-inside/shape-inside-recursive-layout.html: 174 * fast/regions/shape-inside/shape-inside-with-region-borders.html: 175 * fast/regions/shape-inside/shape-inside-with-region-padding.html: 176 * fast/shapes/css-shapes-disabled-expected.txt: 177 * fast/shapes/css-shapes-disabled.html: 178 * fast/shapes/css-shapes-enabled-expected.txt: 179 * fast/shapes/css-shapes-enabled.html: 180 * fast/shapes/parsing/parsing-shape-inside-expected.txt: 181 * fast/shapes/parsing/parsing-shape-inside.html: 182 * fast/shapes/parsing/parsing-shape-lengths-expected.txt: 183 * fast/shapes/parsing/parsing-shape-lengths.html: 184 * fast/shapes/parsing/parsing-shape-outside-expected.txt: 185 * fast/shapes/parsing/parsing-shape-outside.html: 186 * fast/shapes/parsing/parsing-test-utils.js: 187 * fast/shapes/resources/simple-rectangle.js: 188 (drawTextRectangle): 189 * fast/shapes/shape-inside/shape-inside-animation-expected.txt: 190 * fast/shapes/shape-inside/shape-inside-animation.html: 191 * fast/shapes/shape-inside/shape-inside-bottom-edge-expected.html: 192 * fast/shapes/shape-inside/shape-inside-bottom-edge.html: 193 * fast/shapes/shape-inside/shape-inside-box-sizing.html: 194 * fast/shapes/shape-inside/shape-inside-dynamic-nested-expected.html: 195 * fast/shapes/shape-inside/shape-inside-dynamic-nested.html: 196 * fast/shapes/shape-inside/shape-inside-dynamic-shape.html: 197 * fast/shapes/shape-inside/shape-inside-dynamic-text.html: 198 * fast/shapes/shape-inside/shape-inside-empty-expected.html: 199 * fast/shapes/shape-inside/shape-inside-empty.html: 200 * fast/shapes/shape-inside/shape-inside-inline-elements-expected.html: Removed. 201 * fast/shapes/shape-inside/shape-inside-inline-elements.html: Removed. 202 * fast/shapes/shape-inside/shape-inside-multiple-blocks-vertical.html: 203 * fast/shapes/shape-inside/shape-inside-multiple-blocks.html: 204 * fast/shapes/shape-inside/shape-inside-on-nested-container-with-unresolved-height.html: 205 * fast/shapes/shape-inside/shape-inside-outside-shape.html: 206 * fast/shapes/shape-inside/shape-inside-overflow-fixed-dimensions-block-content.html: 207 * fast/shapes/shape-inside/shape-inside-overflow-fixed-dimensions.html: 208 * fast/shapes/shape-inside/shape-inside-overflow.html: 209 * fast/shapes/shape-inside/shape-inside-percentage-auto.html: 210 * fast/shapes/shape-inside/shape-inside-percentage.html: 211 * fast/shapes/shape-inside/shape-inside-rectangle-padding-expected.html: Removed. 212 * fast/shapes/shape-inside/shape-inside-rectangle-padding.html: Removed. 213 * fast/shapes/shape-inside/shape-inside-rounded-rectangle-001-expected.html: Removed. 214 * fast/shapes/shape-inside/shape-inside-rounded-rectangle-001.html: Removed. 215 * fast/shapes/shape-inside/shape-inside-rounded-rectangle-002-expected.html: Removed. 216 * fast/shapes/shape-inside/shape-inside-rounded-rectangle-002.html: Removed. 217 * fast/shapes/shape-inside/shape-inside-rounded-rectangle-003-expected.html: Removed. 218 * fast/shapes/shape-inside/shape-inside-rounded-rectangle-003.html: Removed. 219 * fast/shapes/shape-inside/shape-inside-rounded-rectangle-004-expected.html: Removed. 220 * fast/shapes/shape-inside/shape-inside-rounded-rectangle-004.html: Removed. 221 * fast/shapes/shape-inside/shape-inside-rounded-rectangle-fit-001-expected.html: Removed. 222 * fast/shapes/shape-inside/shape-inside-rounded-rectangle-fit-001.html: Removed. 223 * fast/shapes/shape-inside/shape-inside-rounded-rectangle-fit-002-expected.html: Removed. 224 * fast/shapes/shape-inside/shape-inside-rounded-rectangle-fit-002.html: Removed. 225 * fast/shapes/shape-inside/shape-inside-rounded-rectangle-fit-003-expected.html: Removed. 226 * fast/shapes/shape-inside/shape-inside-rounded-rectangle-fit-003.html: Removed. 227 * fast/shapes/shape-inside/shape-inside-rounded-rectangle-large-radius-expected.html: Removed. 228 * fast/shapes/shape-inside/shape-inside-rounded-rectangle-large-radius.html: Removed. 229 * fast/shapes/shape-inside/shape-inside-rounded-rectangle-padding-expected.html: Removed. 230 * fast/shapes/shape-inside/shape-inside-rounded-rectangle-padding.html: Removed. 231 * fast/shapes/shape-inside/shape-inside-subpixel-rectangle-top.html: 232 * fast/shapes/shape-inside/shape-inside-text.html: 233 * fast/shapes/shape-inside/shape-inside-vertical-text.html: 234 * fast/shapes/shape-outside-floats/shape-outside-animation-expected.txt: 235 * fast/shapes/shape-outside-floats/shape-outside-animation.html: 236 * fast/shapes/shape-outside-floats/shape-outside-dynamic-shape-margin.html: 237 * fast/shapes/shape-outside-floats/shape-outside-dynamic-shape-overhang.html: 238 * fast/shapes/shape-outside-floats/shape-outside-dynamic-shape.html: 239 * fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-modes.html: 240 * fast/shapes/shape-outside-floats/shape-outside-floats-ellipse-margin-bottom.html: 241 * fast/shapes/shape-outside-floats/shape-outside-floats-ellipse-margin-left.html: 242 * fast/shapes/shape-outside-floats/shape-outside-floats-ellipse-margin-right.html: 243 * fast/shapes/shape-outside-floats/shape-outside-floats-img-inset-rectangle-negative-width-crash-expected.txt: Removed. 244 * fast/shapes/shape-outside-floats/shape-outside-floats-img-inset-rectangle-negative-width-crash.html: Removed. 245 * fast/shapes/shape-outside-floats/shape-outside-floats-layout-after-initial-layout-pass.html: 246 * fast/shapes/shape-outside-floats/shape-outside-floats-not-a-layer.html: 247 * fast/shapes/shape-outside-floats/shape-outside-floats-outermost.html: 248 * fast/shapes/shape-outside-floats/shape-outside-floats-polygon-000-expected.html: Renamed from LayoutTests/csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-polygon-000-expected.html. 249 * fast/shapes/shape-outside-floats/shape-outside-floats-polygon-000.html: Renamed from LayoutTests/csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-polygon-000.html. 250 * fast/shapes/shape-outside-floats/shape-outside-floats-polygon-001-expected.html: Renamed from LayoutTests/csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-polygon-001-expected.html. 251 * fast/shapes/shape-outside-floats/shape-outside-floats-polygon-001.html: Renamed from LayoutTests/csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-polygon-001.html. 252 * fast/shapes/shape-outside-floats/shape-outside-floats-polygon-002-expected.html: Renamed from LayoutTests/csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-polygon-002-expected.html. 253 * fast/shapes/shape-outside-floats/shape-outside-floats-polygon-002.html: Renamed from LayoutTests/csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-polygon-002.html. 254 * fast/shapes/shape-outside-floats/shape-outside-shape-margin-animation.html: 255 * svg/clip-path/clip-path-shape-rounded-rect-1-expected.svg: Removed. 256 * svg/clip-path/clip-path-shape-rounded-rect-1.svg: Removed. 257 * svg/clip-path/clip-path-shape-rounded-rect-2-expected.svg: Removed. 258 * svg/clip-path/clip-path-shape-rounded-rect-2.svg: Removed. 259 1 260 2014-03-12 Zalan Bujtas <zalan@apple.com> 2 261 -
trunk/LayoutTests/animations/resources/animation-test-helpers.js
r162644 r165472 182 182 var matches; 183 183 switch (shapeFunction[1]) { 184 case " rectangle":185 matches = s.match(" rectangle\\((.*)\\s*,\\s*(.*)\\s*,\\s*(.*)\\,\\s*(.*)\\)");184 case "inset": 185 matches = s.match("inset\\((.*)\\s+(.*)\\s+(.*)\\s+(.*)\\s+round\\s+(.*)\\s+(.*)\\s+(.*)\\s+(.*)\\s+/\\s+(.*)\\s+(.*)\\s+(.*)\\s+(.*)\\)"); 186 186 break; 187 187 case "circle": -
trunk/LayoutTests/compositing/contents-opaque/opaque-with-clip-path-expected.html
r164246 r165472 6 6 background: blue; 7 7 border: solid red 20px; 8 -webkit-clip-path: rectangle(50px, 0, 80%, 100%) border-box;8 -webkit-clip-path: inset(0 20% 0 50px) border-box; 9 9 } 10 10 </style> -
trunk/LayoutTests/compositing/contents-opaque/opaque-with-clip-path.html
r164246 r165472 6 6 background: blue; 7 7 border: solid red 20px; 8 -webkit-clip-path: rectangle(50px, 0, 80%, 100%) border-box;8 -webkit-clip-path: inset(0 20% 0 50px) border-box; 9 9 } 10 10 -
trunk/LayoutTests/css3/masking/clip-path-animation-expected.txt
r160007 r165472 1 1 2 PASS - "webkitClipPath" property for " rectangle-box" element at 1s saw something close to: rectangle(10%, 10%, 80%, 80%, 0px,0px)2 PASS - "webkitClipPath" property for "inset-box" element at 1s saw something close to: inset(10% 10% 10% 10% round 0px 0px 0px 0px / 0px 0px 0px 0px) 3 3 PASS - "webkitClipPath" property for "circle-box" element at 1s saw something close to: circle(35% at 35% 35%) 4 4 PASS - "webkitClipPath" property for "ellipse-box" element at 1s saw something close to: ellipse(35% 30% at 35% 35%) -
trunk/LayoutTests/css3/masking/clip-path-animation.html
r160007 r165472 12 12 } 13 13 14 # rectangle-box {15 -webkit-animation: rectangle-anim 2s linear14 #inset-box { 15 -webkit-animation: inset-anim 2s linear 16 16 } 17 17 … … 32 32 } 33 33 34 @-webkit-keyframes rectangle-anim {35 from { -webkit-clip-path: rectangle(0%, 0%, 100%, 100%); }36 to { -webkit-clip-path: rectangle(20%, 20%, 60%, 60%); }34 @-webkit-keyframes inset-anim { 35 from { -webkit-clip-path: inset(0); } 36 to { -webkit-clip-path: inset(20%); } 37 37 } 38 38 … … 63 63 const expectedValues = [ 64 64 // [animation-name, time, element-id, property, expected-value, tolerance] 65 [" rectangle-anim", 1, "rectangle-box", "webkitClipPath", "rectangle(10%, 10%, 80%, 80%, 0px,0px)", 0.05],65 ["inset-anim", 1, "inset-box", "webkitClipPath", "inset(10% 10% 10% 10% round 0px 0px 0px 0px / 0px 0px 0px 0px)", 0.05], 66 66 ["circle-anim", 1, "circle-box", "webkitClipPath", "circle(35% at 35% 35%)", 0.05], 67 67 ["ellipse-anim", 1, "ellipse-box", "webkitClipPath", "ellipse(35% 30% at 35% 35%)", 0.05], … … 75 75 <body> 76 76 77 <div class="box" id=" rectangle-box"></div>77 <div class="box" id="inset-box"></div> 78 78 <div class="box" id="circle-box"></div> 79 79 <div class="box" id="ellipse-box"></div> -
trunk/LayoutTests/fast/masking/parsing-clip-path-shape-expected.txt
r164998 r165472 4 4 5 5 6 PASS innerStyle("-webkit-clip-path", "circle(0, 0, 0)") is "circle(0px, 0px, 0px)"7 PASS innerStyle("-webkit-clip-path", "circle(-1px, +1px, 1px)") is "circle(-1px, 1px, 1px)"8 PASS innerStyle("-webkit-clip-path", "circle(-1.5px, +1.5px, 1.5px)") is "circle(-1.5px, 1.5px, 1.5px)"9 PASS innerStyle("-webkit-clip-path", "circle(-.5px, +.5px, .5px)") is "circle(-0.5px, 0.5px, 0.5px)"10 6 PASS innerStyle("-webkit-clip-path", "circle(0 at 0 0)") is "circle(0px at 0% 0%)" 11 7 PASS innerStyle("-webkit-clip-path", "circle(1px at -1px +1px)") is "circle(1px at -1px 1px)" 12 8 PASS innerStyle("-webkit-clip-path", "circle(1.5px at -1.5px +1.5px)") is "circle(1.5px at -1.5px 1.5px)" 13 9 PASS innerStyle("-webkit-clip-path", "circle(.5px at -.5px +.5px)") is "circle(0.5px at -0.5px 0.5px)" 14 PASS innerStyle("-webkit-clip-path", "rectangle(1cm, 1mm, 1in, 1px, 1pt, 1pc)") is "rectangle(1cm, 1mm, 1in, 1px, 1pt, 1pc)"15 PASS innerStyle("-webkit-clip-path", "circle(-1em, +1em, 1em)") is "circle(-1em, 1em, 1em)"16 PASS innerStyle("-webkit-clip-path", "circle(-1.5em, +1.5em, 1.5em)") is "circle(-1.5em, 1.5em, 1.5em)"17 PASS innerStyle("-webkit-clip-path", "circle(-.5em, +.5em, .5em)") is "circle(-0.5em, 0.5em, 0.5em)"18 PASS innerStyle("-webkit-clip-path", "circle(1ex, 1ex, 1ex)") is "circle(1ex, 1ex, 1ex)"19 PASS innerStyle("-webkit-clip-path", "circle(1rem, 1rem, 1rem)") is "circle(1rem, 1rem, 1rem)"20 PASS computedStyle("-webkit-clip-path", "circle(.5em, 1em, 1.5em)") is "circle(4px, 8px, 12px)"21 PASS computedStyle("-webkit-clip-path", "circle(.5rem, 1rem, 1.5rem)") is "circle(8px, 16px, 24px)"22 10 PASS innerStyle("-webkit-clip-path", "circle(1em at -1em +1em)") is "circle(1em at -1em 1em)" 23 11 PASS innerStyle("-webkit-clip-path", "circle(1.5em at -1.5em +1.5em)") is "circle(1.5em at -1.5em 1.5em)" … … 27 15 PASS computedStyle("-webkit-clip-path", "circle(1.5em at .5em 1em)") is "circle(12px at 4px 8px)" 28 16 PASS computedStyle("-webkit-clip-path", "circle(1.5rem at .5rem 1rem)") is "circle(24px at 8px 16px)" 29 PASS innerStyle("-webkit-clip-path", "circle(1vw, 1vw, 1vw)") is "circle(1vw, 1vw, 1vw)"30 PASS innerStyle("-webkit-clip-path", "circle(1vh, 1vh, 1vh)") is "circle(1vh, 1vh, 1vh)"31 PASS innerStyle("-webkit-clip-path", "circle(1vmin, 1vmin, 1vmin)") is "circle(1vmin, 1vmin, 1vmin)"32 PASS computedStyle("-webkit-clip-path", "circle(.5vw, 1vw, 1.5vw)") is "circle(0.5vw, 1vw, 1.5vw)"33 PASS computedStyle("-webkit-clip-path", "circle(.5vh, 1vh, 1.5vh)") is "circle(0.5vh, 1vh, 1.5vh)"34 PASS computedStyle("-webkit-clip-path", "circle(.5vmin, 1vmin, 1.5vmin)") is "circle(0.5vmin, 1vmin, 1.5vmin)"35 17 PASS innerStyle("-webkit-clip-path", "circle(1vw at 1vw 1vw)") is "circle(1vw at 1vw 1vw)" 36 18 PASS innerStyle("-webkit-clip-path", "circle(1vh at 1vh 1vh)") is "circle(1vh at 1vh 1vh)" … … 39 21 PASS computedStyle("-webkit-clip-path", "circle(1.5vh at .5vh 1vh)") is "circle(1.5vh at 0.5vh 1vh)" 40 22 PASS computedStyle("-webkit-clip-path", "circle(1.5vmin at .5vmin 1vmin)") is "circle(1.5vmin at 0.5vmin 1vmin)" 41 PASS innerStyle("-webkit-clip-path", "circle(100%, 100%, 100%)") is "circle(100%, 100%, 100%)"42 PASS innerStyle("-webkit-clip-path", "circle(100% at 100% 100%)") is "circle(100% at 100% 100%)"43 PASS innerStyle("-webkit-clip-path", "rectangle(45%, 45%, 90%, 60%, 25%, 10%)") is "rectangle(45%, 45%, 90%, 60%, 25%, 10%)"44 PASS innerStyle("-webkit-clip-path", "ellipse(100%, 100%, 100%, 100%)") is "ellipse(100%, 100%, 100%, 100%)"45 PASS innerStyle("-webkit-clip-path", "polygon(10% 20%, 30% 40%, 40% 50%)") is "polygon(nonzero, 10% 20%, 30% 40%, 40% 50%)"46 PASS computedStyle("-webkit-clip-path", "circle(50%, 100%, 150%)") is "circle(50%, 100%, 150%)"47 23 PASS computedStyle("-webkit-clip-path", "circle(150% at 50% 100%)") is "circle(150% at 50% 100%)" 48 PASS computedStyle("-webkit-clip-path", " rectangle(45%, 45%, 90%, 60%, 25%, 10%)") is "rectangle(45%, 45%, 90%, 60%, 25%,10%)"49 PASS computedStyle("-webkit-clip-path", "ellipse(100% , 100%, 100%, 100%)") is "ellipse(100%, 100%, 100%,100%)"24 PASS computedStyle("-webkit-clip-path", "inset(45% 45% 90% 60% round 25% 10%)") is "inset(45% 45% 90% 60% round 25% 10% 25% 10% / 25% 10% 25% 10%)" 25 PASS computedStyle("-webkit-clip-path", "ellipse(100% 100% at 100% 100%)") is "ellipse(100% 100% at 100% 100%)" 50 26 PASS computedStyle("-webkit-clip-path", "polygon(10% 20%, 30% 40%, 40% 50%)") is "polygon(nonzero, 10% 20%, 30% 40%, 40% 50%)" 51 27 PASS innerStyle("-webkit-clip-path", "content-box") is "content-box" … … 73 49 PASS computedStyle("-webkit-clip-path", "border-box circle(50% at 50% 50%)") is "circle(50% at 50% 50%) border-box" 74 50 PASS computedStyle("-webkit-clip-path", "circle(50% at 50% 50%) fill") is "circle(50% at 50% 50%) fill" 75 PASS innerStyle("-webkit-clip-path", "circle(1px, 1px, 1)") is null76 PASS computedStyle("-webkit-clip-path", "circle(1px, 1px, 1)") is "none"77 PASS innerStyle("-webkit-clip-path", "circle(1px, 1px, px)") is null78 PASS computedStyle("-webkit-clip-path", "circle(1px, 1px, px)") is "none"79 PASS innerStyle("-webkit-clip-path", "circle(1px, 1px, 1p)") is null80 PASS computedStyle("-webkit-clip-path", "circle(1px, 1px, 1p)") is "none"81 PASS innerStyle("-webkit-clip-path", "circle(1px, 1px, calc())") is null82 PASS computedStyle("-webkit-clip-path", "circle(1px, 1px, calc())") is "none"83 51 PASS innerStyle("-webkit-clip-path", "circle(1 at 1px 1px)") is null 84 52 PASS computedStyle("-webkit-clip-path", "circle(1 at 1px 1px)") is "none" … … 89 57 PASS innerStyle("-webkit-clip-path", "circle(calc() at 1px 1px)") is null 90 58 PASS computedStyle("-webkit-clip-path", "circle(calc() at 1px 1px)") is "none" 91 PASS innerStyle("-webkit-clip-path", "circle(-1.5px, +1.5px, -1.5px)") is null92 PASS computedStyle("-webkit-clip-path", "circle(-1.5px, +1.5px, -1.5px)") is "none"93 59 PASS innerStyle("-webkit-clip-path", "circle(-1.5px at -1.5px +1.5px)") is null 94 60 PASS computedStyle("-webkit-clip-path", "circle(-1.5px at -1.5px +1.5px)") is "none" 95 PASS innerStyle("-webkit-clip-path", "rectangle(1cm, 1mm, 1in, 1px, -1pt, 1pc)") is null 96 PASS computedStyle("-webkit-clip-path", "rectangle(1cm, 1mm, 1in, 1px, -1pt, 1pc)") is "none" 97 PASS innerStyle("-webkit-clip-path", "rectangle(1cm, 1mm, 1in, 1px, 1pt, -1pc)") is null 98 PASS computedStyle("-webkit-clip-path", "rectangle(1cm, 1mm, 1in, 1px, 1pt, -1pc)") is "none" 99 PASS innerStyle("-webkit-clip-path", "ellipse(1em, 1em, -1em, 1em)") is null 100 PASS computedStyle("-webkit-clip-path", "ellipse(1em, 1em, -1em, 1em)") is "none" 101 PASS innerStyle("-webkit-clip-path", "ellipse(1em, 1em, 1em, -1em)") is null 102 PASS computedStyle("-webkit-clip-path", "ellipse(1em, 1em, 1em, -1em)") is "none" 103 PASS innerStyle("-webkit-clip-path", "rectangle(1cm, 1mm, -1in, 1px, 1pt, 1pc)") is null 104 PASS computedStyle("-webkit-clip-path", "rectangle(1cm, 1mm, -1in, 1px, 1pt, 1pc)") is "none" 105 PASS innerStyle("-webkit-clip-path", "rectangle(1cm, 1mm, 1in, -1px, 1pt, 1pc)") is null 106 PASS computedStyle("-webkit-clip-path", "rectangle(1cm, 1mm, 1in, -1px, 1pt, 1pc)") is "none" 61 PASS innerStyle("-webkit-clip-path", "inset(1cm 1mm 1in 1px round -1pt, 1pc)") is null 62 PASS computedStyle("-webkit-clip-path", "inset(1cm 1mm 1in 1px round -1pt, 1pc)") is "none" 63 PASS innerStyle("-webkit-clip-path", "inset(1cm 1mm 1in 1px round 1pt -1pc)") is null 64 PASS computedStyle("-webkit-clip-path", "inset(1cm 1mm 1in 1px round 1pt -1pc)") is "none" 65 PASS innerStyle("-webkit-clip-path", "ellipse(-1em 1em at 1em 1em)") is null 66 PASS computedStyle("-webkit-clip-path", "ellipse(-1em 1em at 1em 1em)") is "none" 67 PASS innerStyle("-webkit-clip-path", "ellipse(1em -1em at 1em 1em)") is null 68 PASS computedStyle("-webkit-clip-path", "ellipse(1em -1em at 1em 1em)") is "none" 107 69 PASS innerStyle("-webkit-clip-path", "fill circle(50% at 50% 50%) content-box") is null 108 70 PASS computedStyle("-webkit-clip-path", "fill circle(50% at 50% 50%) content-box") is "none" … … 119 81 PASS innerStyle("-webkit-clip-path", "url(#test) padding-box") is null 120 82 PASS computedStyle("-webkit-clip-path", "url(#test) padding-box") is "none" 121 PASS innerStyle("-webkit-clip-path", "circle(0, 0)") is null122 PASS computedStyle("-webkit-clip-path", "circle(0, 0)") is "none"123 83 PASS innerStyle("-webkit-clip-path", "polygon(0, 0)") is null 124 84 PASS computedStyle("-webkit-clip-path", "polygon(0, 0)") is "none" -
trunk/LayoutTests/fast/masking/parsing-clip-path-shape.html
r164998 r165472 42 42 43 43 // absolute lengths - number serialization, units 44 testInner("-webkit-clip-path", "circle(0, 0, 0)", "circle(0px, 0px, 0px)");45 testInner("-webkit-clip-path", "circle(-1px, +1px, 1px)", "circle(-1px, 1px, 1px)");46 testInner("-webkit-clip-path", "circle(-1.5px, +1.5px, 1.5px)", "circle(-1.5px, 1.5px, 1.5px)");47 testInner("-webkit-clip-path", "circle(-.5px, +.5px, .5px)", "circle(-0.5px, 0.5px, 0.5px)");48 49 44 testInner("-webkit-clip-path", "circle(0 at 0 0)", "circle(0px at 0% 0%)"); 50 45 testInner("-webkit-clip-path", "circle(1px at -1px +1px)", "circle(1px at -1px 1px)"); … … 52 47 testInner("-webkit-clip-path", "circle(.5px at -.5px +.5px)", "circle(0.5px at -0.5px 0.5px)"); 53 48 54 testInner("-webkit-clip-path", "rectangle(1cm, 1mm, 1in, 1px, 1pt, 1pc)", "rectangle(1cm, 1mm, 1in, 1px, 1pt, 1pc)");55 56 49 // font-relative lengths - number serialization, units, resolution 57 testInner("-webkit-clip-path", "circle(-1em, +1em, 1em)", "circle(-1em, 1em, 1em)");58 testInner("-webkit-clip-path", "circle(-1.5em, +1.5em, 1.5em)", "circle(-1.5em, 1.5em, 1.5em)");59 testInner("-webkit-clip-path", "circle(-.5em, +.5em, .5em)", "circle(-0.5em, 0.5em, 0.5em)");60 61 testInner("-webkit-clip-path", "circle(1ex, 1ex, 1ex)", "circle(1ex, 1ex, 1ex)");62 // FIXME: Add ch test when it is supported63 testInner("-webkit-clip-path", "circle(1rem, 1rem, 1rem)", "circle(1rem, 1rem, 1rem)");64 65 testComputed("-webkit-clip-path", "circle(.5em, 1em, 1.5em)", "circle(4px, 8px, 12px)");66 testComputed("-webkit-clip-path", "circle(.5rem, 1rem, 1.5rem)", "circle(8px, 16px, 24px)");67 68 50 testInner("-webkit-clip-path", "circle(1em at -1em +1em)", "circle(1em at -1em 1em)"); 69 51 testInner("-webkit-clip-path", "circle(1.5em at -1.5em +1.5em)", "circle(1.5em at -1.5em 1.5em)"); … … 78 60 79 61 // viewport-percentage lengths - units, resolution 80 testInner("-webkit-clip-path", "circle(1vw, 1vw, 1vw)", "circle(1vw, 1vw, 1vw)");81 testInner("-webkit-clip-path", "circle(1vh, 1vh, 1vh)", "circle(1vh, 1vh, 1vh)");82 testInner("-webkit-clip-path", "circle(1vmin, 1vmin, 1vmin)", "circle(1vmin, 1vmin, 1vmin)");83 84 testComputed("-webkit-clip-path", "circle(.5vw, 1vw, 1.5vw)", "circle(0.5vw, 1vw, 1.5vw)");85 testComputed("-webkit-clip-path", "circle(.5vh, 1vh, 1.5vh)", "circle(0.5vh, 1vh, 1.5vh)");86 testComputed("-webkit-clip-path", "circle(.5vmin, 1vmin, 1.5vmin)", "circle(0.5vmin, 1vmin, 1.5vmin)");87 88 62 testInner("-webkit-clip-path", "circle(1vw at 1vw 1vw)", "circle(1vw at 1vw 1vw)"); 89 63 testInner("-webkit-clip-path", "circle(1vh at 1vh 1vh)", "circle(1vh at 1vh 1vh)"); … … 95 69 96 70 // percentage lengths - units 97 testInner("-webkit-clip-path", "circle(100%, 100%, 100%)", "circle(100%, 100%, 100%)");98 testInner("-webkit-clip-path", "circle(100% at 100% 100%)", "circle(100% at 100% 100%)");99 testInner("-webkit-clip-path", "rectangle(45%, 45%, 90%, 60%, 25%, 10%)", "rectangle(45%, 45%, 90%, 60%, 25%, 10%)");100 testInner("-webkit-clip-path", "ellipse(100%, 100%, 100%, 100%)", "ellipse(100%, 100%, 100%, 100%)");101 testInner("-webkit-clip-path", "polygon(10% 20%, 30% 40%, 40% 50%)", "polygon(nonzero, 10% 20%, 30% 40%, 40% 50%)");102 103 testComputed("-webkit-clip-path", "circle(50%, 100%, 150%)", "circle(50%, 100%, 150%)");104 71 testComputed("-webkit-clip-path", "circle(150% at 50% 100%)", "circle(150% at 50% 100%)"); 105 testComputed("-webkit-clip-path", " rectangle(45%, 45%, 90%, 60%, 25%, 10%)", "rectangle(45%, 45%, 90%, 60%, 25%,10%)");106 testComputed("-webkit-clip-path", "ellipse(100% , 100%, 100%, 100%)", "ellipse(100%, 100%, 100%,100%)");72 testComputed("-webkit-clip-path", "inset(45% 45% 90% 60% round 25% 10%)", "inset(45% 45% 90% 60% round 25% 10% 25% 10% / 25% 10% 25% 10%)"); 73 testComputed("-webkit-clip-path", "ellipse(100% 100% at 100% 100%)", "ellipse(100% 100% at 100% 100%)"); 107 74 testComputed("-webkit-clip-path", "polygon(10% 20%, 30% 40%, 40% 50%)", "polygon(nonzero, 10% 20%, 30% 40%, 40% 50%)"); 108 75 … … 135 102 136 103 // reject non-lengths 137 negativeTest("-webkit-clip-path", "circle(1px, 1px, 1)");138 negativeTest("-webkit-clip-path", "circle(1px, 1px, px)");139 negativeTest("-webkit-clip-path", "circle(1px, 1px, 1p)");140 negativeTest("-webkit-clip-path", "circle(1px, 1px, calc())");141 142 104 negativeTest("-webkit-clip-path", "circle(1 at 1px 1px)"); 143 105 negativeTest("-webkit-clip-path", "circle(px at 1px 1px)"); … … 146 108 147 109 // reject negative radiuses 148 negativeTest("-webkit-clip-path", "circle(-1.5px, +1.5px, -1.5px)");149 110 negativeTest("-webkit-clip-path", "circle(-1.5px at -1.5px +1.5px)"); 150 negativeTest("-webkit-clip-path", "rectangle(1cm, 1mm, 1in, 1px, -1pt, 1pc)"); 151 negativeTest("-webkit-clip-path", "rectangle(1cm, 1mm, 1in, 1px, 1pt, -1pc)"); 152 negativeTest("-webkit-clip-path", "ellipse(1em, 1em, -1em, 1em)"); 153 negativeTest("-webkit-clip-path", "ellipse(1em, 1em, 1em, -1em)"); 154 155 // reject negative height and width 156 negativeTest("-webkit-clip-path", "rectangle(1cm, 1mm, -1in, 1px, 1pt, 1pc)"); 157 negativeTest("-webkit-clip-path", "rectangle(1cm, 1mm, 1in, -1px, 1pt, 1pc)"); 111 negativeTest("-webkit-clip-path", "inset(1cm 1mm 1in 1px round -1pt, 1pc)"); 112 negativeTest("-webkit-clip-path", "inset(1cm 1mm 1in 1px round 1pt -1pc)"); 113 negativeTest("-webkit-clip-path", "ellipse(-1em 1em at 1em 1em)"); 114 negativeTest("-webkit-clip-path", "ellipse(1em -1em at 1em 1em)"); 158 115 159 116 // reject multiple <box> values … … 167 124 168 125 // general negative tests 169 negativeTest("-webkit-clip-path", "circle(0, 0)");170 126 negativeTest("-webkit-clip-path", "polygon(0, 0)"); 171 127 negativeTest("-webkit-clip-path", "polygon(0 0, 0)"); -
trunk/LayoutTests/fast/regions/shape-inside/shape-inside-on-additional-regions.html
r154500 r165472 18 18 #region_with_shape_inside { 19 19 border: 1px solid black; 20 -webkit-shape-inside: rectangle(50px, 0px, 250px,300px);20 -webkit-shape-inside: polygon(50px 0px, 300px 0px, 300px 300px, 50px 300px); 21 21 overflow: hidden; 22 22 background-color: orange; -
trunk/LayoutTests/fast/regions/shape-inside/shape-inside-on-first-region-block-content.html
r154500 r165472 18 18 } 19 19 #shape_inside { 20 -webkit-shape-inside: rectangle(50px, 0px, 250px,300px);20 -webkit-shape-inside: polygon(50px 0px, 300px 0px, 300px 300px, 50px 300px); 21 21 background-color: orange; 22 22 } -
trunk/LayoutTests/fast/regions/shape-inside/shape-inside-on-first-region-inline-content.html
r154500 r165472 18 18 } 19 19 #shape_inside { 20 -webkit-shape-inside: rectangle(50px, 0px, 250px,300px);20 -webkit-shape-inside: polygon(50px 0px, 300px 0px, 300px 300px, 50px 300px); 21 21 background-color: orange; 22 22 } -
trunk/LayoutTests/fast/regions/shape-inside/shape-inside-on-multiple-autoheight-regions.html
r157729 r165472 6 6 .regions { 7 7 -webkit-flow-from: article; 8 -webkit-shape-inside: rectangle(90px, 0px, 100%,100%);8 -webkit-shape-inside: polygon(90px 0px, 140px 0px, 140px 100%, 90px 100%); 9 9 width: 250px; 10 10 background-color: #dedede; -
trunk/LayoutTests/fast/regions/shape-inside/shape-inside-on-regions-block-content-basic-overflow-shape-top-offset.html
r154500 r165472 12 12 width: 200px; 13 13 height: 200px; 14 -webkit-shape-inside: rectangle(50px, 50px, 100px, 100px);14 -webkit-shape-inside: polygon(50px 50px, 150px 50px, 150px 150px, 50px 150px); 15 15 border: 2px solid green; 16 16 } -
trunk/LayoutTests/fast/regions/shape-inside/shape-inside-on-regions-block-content-overflow-bottom-positioned-multiple-shapes.html
r154500 r165472 15 15 padding: 10px; 16 16 } 17 #region1 { -webkit-shape-inside: rectangle(50px, 100px, 100px, 100px); }17 #region1 { -webkit-shape-inside: polygon(50px 100px, 150px 100px, 150px 200px, 50px 200px); } 18 18 #region2 { 19 19 margin-top: 10px; 20 -webkit-shape-inside: rectangle(25px, 100px, 150px, 100px);20 -webkit-shape-inside: polygon(25px 100px, 175px 100px, 175px 200px, 25px 200px); 21 21 } 22 22 #border1 { -
trunk/LayoutTests/fast/regions/shape-inside/shape-inside-on-regions-block-content-overflow-multiple-shapes.html
r154500 r165472 14 14 border: 2px solid green; 15 15 } 16 #region1 { -webkit-shape-inside: rectangle(50px, 50px, 100px, 100px); }16 #region1 { -webkit-shape-inside: polygon(50px 50px, 150px 50px, 150px 150px, 50px 150px); } 17 17 #region2 { 18 18 margin-top: 10px; 19 19 border-bottom: 10px solid yellow; 20 -webkit-shape-inside: rectangle(25px, 50px, 150px, 100px);20 -webkit-shape-inside: polygon(25px 50px, 175px 50px, 175px 150px, 25px 150px); 21 21 } 22 22 #border1 { -
trunk/LayoutTests/fast/regions/shape-inside/shape-inside-on-regions-expected.html
r154500 r165472 8 8 width: 180px; 9 9 height: 100px; 10 -webkit-shape-inside: rectangle(0, 0, 130px,100px);10 -webkit-shape-inside: polygon(0px 0px, 130px 0px, 130px 100px, 0px 100px); 11 11 margin-top: 10px; 12 12 } … … 14 14 width: 300px; 15 15 height: 150px; 16 -webkit-shape-inside: rectangle(0, 0, 220px,150px);16 -webkit-shape-inside: polygon(0px 0px, 220px 0px, 200px 150px, 0px 150px); 17 17 margin-top: 60px; 18 18 } -
trunk/LayoutTests/fast/regions/shape-inside/shape-inside-on-regions-inline-content-basic-overflow-shape-top-offset.html
r154500 r165472 12 12 width: 200px; 13 13 height: 200px; 14 -webkit-shape-inside: rectangle(50px, 50px, 100px, 100px);14 -webkit-shape-inside: polygon(50px 50px, 150px 50px, 150px 150px, 50px 150px); 15 15 border: 2px solid green; 16 16 } -
trunk/LayoutTests/fast/regions/shape-inside/shape-inside-on-regions-inline-content-overflow-bottom-positioned-multiple-shapes.html
r154500 r165472 15 15 padding: 10px; 16 16 } 17 #region1 { -webkit-shape-inside: rectangle(50px, 100px, 100px, 100px); }17 #region1 { -webkit-shape-inside: polygon(50px 100px, 150px 100px, 150px 200px, 50px 200px); } 18 18 #region2 { 19 19 margin-top: 10px; 20 -webkit-shape-inside: rectangle(25px, 100px, 140px, 100px);20 -webkit-shape-inside: polygon(25px 100px, 165px 100px, 165px 200px, 25px 200px); 21 21 } 22 22 #border1 { -
trunk/LayoutTests/fast/regions/shape-inside/shape-inside-on-regions-inline-content-overflow-multiple-shapes.html
r154500 r165472 14 14 border: 2px solid green; 15 15 } 16 #region1 { -webkit-shape-inside: rectangle(50px, 50px, 100px, 100px); }16 #region1 { -webkit-shape-inside: polygon(50px 50px, 150px 50px, 150px 150px, 50px 150px); } 17 17 #region2 { 18 18 margin-top: 10px; 19 -webkit-shape-inside: rectangle(25px, 50px, 140px, 100px);19 -webkit-shape-inside: polygon(25px 50px, 165px 50px, 165px 150px, 25px 150px); 20 20 } 21 21 #border1 { -
trunk/LayoutTests/fast/regions/shape-inside/shape-inside-on-regions-inline-content.html
r154500 r165472 14 14 height: 100px; 15 15 border: 1px solid green; 16 -webkit-shape-inside: rectangle(0, 0, 130px,100px);16 -webkit-shape-inside: polygon(0px 0px, 130px 0px, 130px 100px, 0px 100px); 17 17 margin-top: 10px; 18 18 } … … 21 21 height: 150px; 22 22 border: 1px solid green; 23 -webkit-shape-inside: rectangle(0, 0, 220px,150px);23 -webkit-shape-inside: polygon(0px 0px, 220px 0px, 220px 150px, 0px 150px); 24 24 margin-top: 60px; 25 25 } -
trunk/LayoutTests/fast/regions/shape-inside/shape-inside-on-regions.html
r154500 r165472 13 13 width: 180px; 14 14 height: 100px; 15 -webkit-shape-inside: rectangle(0, 0, 130px,100px);15 -webkit-shape-inside: polygon(0px 0px, 130px 0px, 130px 100px, 0px 100px); 16 16 margin-top: 10px; 17 17 } … … 19 19 width: 300px; 20 20 height: 150px; 21 -webkit-shape-inside: rectangle(0, 0, 220px,150px);21 -webkit-shape-inside: polygon(0px 0px, 220px 0px, 200px 150px, 0px 150px); 22 22 margin-top: 60px; 23 23 } -
trunk/LayoutTests/fast/regions/shape-inside/shape-inside-on-second-region-block-content.html
r154500 r165472 19 19 } 20 20 #shape_inside { 21 -webkit-shape-inside: rectangle(50px, 0px, 250px,300px);21 -webkit-shape-inside: polygon(50px 0px, 300px 0px, 300px 300px, 50px 300px); 22 22 background-color: orange; 23 23 } -
trunk/LayoutTests/fast/regions/shape-inside/shape-inside-on-second-region-inline-content.html
r154500 r165472 18 18 } 19 19 #shape_inside { 20 -webkit-shape-inside: rectangle(50px, 0px, 250px,300px);20 -webkit-shape-inside: polygon(50px 0px, 300px 0px, 300px 300px, 50px 300px); 21 21 background-color: orange; 22 22 } -
trunk/LayoutTests/fast/regions/shape-inside/shape-inside-recursive-layout-expected.html
r148920 r165472 9 9 width: 100px; 10 10 height: 100px; 11 -webkit-shape-inside: rectangle(0, 0, 100%,100%);11 -webkit-shape-inside: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%); 12 12 } 13 13 .content * { -
trunk/LayoutTests/fast/regions/shape-inside/shape-inside-recursive-layout.html
r154500 r165472 9 9 width: 100px; 10 10 height: 100px; 11 -webkit-shape-inside: rectangle(0, 0, 100%,100%);11 -webkit-shape-inside: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%); 12 12 } 13 13 .content * { -
trunk/LayoutTests/fast/regions/shape-inside/shape-inside-with-region-borders.html
r154500 r165472 18 18 } 19 19 #shape_inside { 20 -webkit-shape-inside: rectangle(50px, 0px, 200px,300px);20 -webkit-shape-inside: polygon(50px 0px, 250px 0px, 250px 300px, 50px 300px); 21 21 background-color: orange; 22 22 } -
trunk/LayoutTests/fast/regions/shape-inside/shape-inside-with-region-padding.html
r154500 r165472 20 20 } 21 21 #shape_inside { 22 -webkit-shape-inside: rectangle(50px, 0px, 200px,300px);22 -webkit-shape-inside: polygon(50px 0px, 250px 0px, 250px 300px, 50px 300px); 23 23 background-color: orange; 24 24 } -
trunk/LayoutTests/fast/shapes/css-shapes-disabled-expected.txt
r161436 r165472 8 8 PASS testInlineStyle("-webkit-shape-padding", "10px") is null 9 9 PASS testComputedStyle("-webkit-shape-padding", "10px") is "0px" 10 PASS testInlineStyle("-webkit-shape-outside", "circle(10px , 10px,10px)") is null11 PASS testComputedStyle("-webkit-shape-outside", "circle(10px , 10px,10px)") is "none"12 PASS testInlineStyle("-webkit-shape-inside", "circle(10px , 10px,10px)") is null13 PASS testComputedStyle("-webkit-shape-inside", "circle(10px , 10px,10px)") is "none"10 PASS testInlineStyle("-webkit-shape-outside", "circle(10px at 10px 10px)") is null 11 PASS testComputedStyle("-webkit-shape-outside", "circle(10px at 10px 10px)") is "none" 12 PASS testInlineStyle("-webkit-shape-inside", "circle(10px at 10px 10px)") is null 13 PASS testComputedStyle("-webkit-shape-inside", "circle(10px at 10px 10px)") is "none" 14 14 PASS successfullyParsed is true 15 15 -
trunk/LayoutTests/fast/shapes/css-shapes-disabled.html
r161436 r165472 33 33 testStyle("-webkit-shape-padding", "10px", "0px"); 34 34 35 testStyle("-webkit-shape-outside", "circle(10px , 10px,10px)", "none");36 testStyle("-webkit-shape-inside", "circle(10px , 10px,10px)", "none");35 testStyle("-webkit-shape-outside", "circle(10px at 10px 10px)", "none"); 36 testStyle("-webkit-shape-inside", "circle(10px at 10px 10px)", "none"); 37 37 38 38 </script> -
trunk/LayoutTests/fast/shapes/css-shapes-enabled-expected.txt
r152800 r165472 8 8 PASS testInlineStyle("-webkit-shape-padding", "10px") is "10px" 9 9 PASS testComputedStyle("-webkit-shape-padding", "10px") is "10px" 10 PASS testInlineStyle("-webkit-shape-outside", "circle(10px , 10px, 10px)") is "circle(10px, 10px,10px)"11 PASS testComputedStyle("-webkit-shape-outside", "circle(10px , 10px, 10px)") is "circle(10px, 10px,10px)"12 PASS testInlineStyle("-webkit-shape-inside", "circle(10px , 10px, 10px)") is "circle(10px, 10px,10px)"13 PASS testComputedStyle("-webkit-shape-inside", "circle(10px , 10px, 10px)") is "circle(10px, 10px,10px)"10 PASS testInlineStyle("-webkit-shape-outside", "circle(10px at 10px 10px)") is "circle(10px at 10px 10px)" 11 PASS testComputedStyle("-webkit-shape-outside", "circle(10px at 10px 10px)") is "circle(10px at 10px 10px)" 12 PASS testInlineStyle("-webkit-shape-inside", "circle(10px at 10px 10px)") is "circle(10px at 10px 10px)" 13 PASS testComputedStyle("-webkit-shape-inside", "circle(10px at 10px 10px)") is "circle(10px at 10px 10px)" 14 14 PASS successfullyParsed is true 15 15 -
trunk/LayoutTests/fast/shapes/css-shapes-enabled.html
r155272 r165472 30 30 testStyle("-webkit-shape-padding", "10px", "10px"); 31 31 32 testStyle("-webkit-shape-outside", "circle(10px , 10px, 10px)", "circle(10px, 10px,10px)");33 testStyle("-webkit-shape-inside", "circle(10px , 10px, 10px)", "circle(10px, 10px,10px)");32 testStyle("-webkit-shape-outside", "circle(10px at 10px 10px)", "circle(10px at 10px 10px)"); 33 testStyle("-webkit-shape-inside", "circle(10px at 10px 10px)", "circle(10px at 10px 10px)"); 34 34 35 35 </script> -
trunk/LayoutTests/fast/shapes/parsing/parsing-shape-inside-expected.txt
r165277 r165472 6 6 PASS getCSSText("-webkit-shape-inside", "none") is "none" 7 7 PASS getComputedStyleValue("-webkit-shape-inside", "none") is "none" 8 PASS getCSSText("-webkit-shape-inside", "rectangle(10px, 20px, 30px, 40px)") is "rectangle(10px, 20px, 30px, 40px)"9 PASS getComputedStyleValue("-webkit-shape-inside", "rectangle(10px, 20px, 30px, 40px)") is "rectangle(10px, 20px, 30px, 40px, 0px, 0px)"10 PASS getCSSText("-webkit-shape-inside", "rectangle(10px, 20px, 30px, 40px, 5px)") is "rectangle(10px, 20px, 30px, 40px, 5px)"11 PASS getComputedStyleValue("-webkit-shape-inside", "rectangle(10px, 20px, 30px, 40px, 5px)") is "rectangle(10px, 20px, 30px, 40px, 5px, 5px)"12 PASS getCSSText("-webkit-shape-inside", "rectangle(10px, 20px, 30px, 40px, 5px, 10px)") is "rectangle(10px, 20px, 30px, 40px, 5px, 10px)"13 PASS getComputedStyleValue("-webkit-shape-inside", "rectangle(10px, 20px, 30px, 40px, 5px, 10px)") is "rectangle(10px, 20px, 30px, 40px, 5px, 10px)"14 PASS getCSSText("-webkit-shape-inside", "inset-rectangle(10px, 20px, 30px, 40px)") is "inset-rectangle(10px, 20px, 30px, 40px)"15 PASS getComputedStyleValue("-webkit-shape-inside", "inset-rectangle(10px, 20px, 30px, 40px)") is "inset-rectangle(10px, 20px, 30px, 40px, 0px, 0px)"16 PASS getCSSText("-webkit-shape-inside", "inset-rectangle(10px, 20px, 30px, 40px, 5px)") is "inset-rectangle(10px, 20px, 30px, 40px, 5px)"17 PASS getComputedStyleValue("-webkit-shape-inside", "inset-rectangle(10px, 20px, 30px, 40px, 5px)") is "inset-rectangle(10px, 20px, 30px, 40px, 5px, 5px)"18 PASS getCSSText("-webkit-shape-inside", "inset-rectangle(10px, 20px, 30px, 40px, 5px, 10px)") is "inset-rectangle(10px, 20px, 30px, 40px, 5px, 10px)"19 PASS getComputedStyleValue("-webkit-shape-inside", "inset-rectangle(10px, 20px, 30px, 40px, 5px, 10px)") is "inset-rectangle(10px, 20px, 30px, 40px, 5px, 10px)"20 8 PASS getCSSText("-webkit-shape-inside", "inset(10px)") is "inset(10px 10px 10px 10px)" 21 9 PASS getComputedStyleValue("-webkit-shape-inside", "inset(10px)") is "inset(10px 10px 10px 10px round 0px 0px 0px 0px / 0px 0px 0px 0px)" … … 68 56 PASS getCSSText("-webkit-shape-inside", "inset(10px 20px 30px 40px round 5px 6px 7px 8px / 50px 60px 70px 80px)") is "inset(10px 20px 30px 40px round 5px 6px 7px 8px / 50px 60px 70px 80px)" 69 57 PASS getComputedStyleValue("-webkit-shape-inside", "inset(10px 20px 30px 40px round 5px 6px 7px 8px / 50px 60px 70px 80px)") is "inset(10px 20px 30px 40px round 5px 6px 7px 8px / 50px 60px 70px 80px)" 70 PASS getCSSText("-webkit-shape-inside", "circle(10px, 20px, 30px)") is "circle(10px, 20px, 30px)"71 PASS getComputedStyleValue("-webkit-shape-inside", "circle(10px, 20px, 30px)") is "circle(10px, 20px, 30px)"72 58 PASS getCSSText("-webkit-shape-inside", "circle()") is "circle(at 50% 50%)" 73 59 PASS getComputedStyleValue("-webkit-shape-inside", "circle()") is "circle(closest-side at 50% 50%)" … … 100 86 PASS getCSSText("-webkit-shape-inside", "circle(10px at right 10px bottom 10px)") is "circle(10px at right 10px bottom 10px)" 101 87 PASS getComputedStyleValue("-webkit-shape-inside", "circle(10px at right 10px bottom 10px)") is "circle(10px at right 10px bottom 10px)" 102 PASS getCSSText("-webkit-shape-inside", "ellipse(10px, 20px, 30px, 40px)") is "ellipse(10px, 20px, 30px, 40px)"103 PASS getComputedStyleValue("-webkit-shape-inside", "ellipse(10px, 20px, 30px, 40px)") is "ellipse(10px, 20px, 30px, 40px)"104 88 PASS getCSSText("-webkit-shape-inside", "ellipse()") is "ellipse(at 50% 50%)" 105 89 PASS getComputedStyleValue("-webkit-shape-inside", "ellipse()") is "ellipse(closest-side closest-side at 50% 50%)" … … 176 160 PASS getCSSText("-webkit-shape-inside", "auto") is "" 177 161 PASS getComputedStyleValue("-webkit-shape-inside", "auto") is "none" 178 PASS getCSSText("-webkit-shape-inside", "rectangle()") is ""179 PASS getComputedStyleValue("-webkit-shape-inside", "rectangle()") is "none"180 PASS getCSSText("-webkit-shape-inside", "rectangle(10px)") is ""181 PASS getComputedStyleValue("-webkit-shape-inside", "rectangle(10px)") is "none"182 PASS getCSSText("-webkit-shape-inside", "rectangle(10px, 10px)") is ""183 PASS getComputedStyleValue("-webkit-shape-inside", "rectangle(10px, 10px)") is "none"184 PASS getCSSText("-webkit-shape-inside", "rectangle(10px, 20px, 30px)") is ""185 PASS getComputedStyleValue("-webkit-shape-inside", "rectangle(10px, 20px, 30px)") is "none"186 PASS getCSSText("-webkit-shape-inside", "rectangle(10px 20px 30px 40px)") is ""187 PASS getComputedStyleValue("-webkit-shape-inside", "rectangle(10px 20px 30px 40px)") is "none"188 PASS getCSSText("-webkit-shape-inside", "rectangle(10px, 20px, 30px, 40px, 50px, 60px, 70px)") is ""189 PASS getComputedStyleValue("-webkit-shape-inside", "rectangle(10px, 20px, 30px, 40px, 50px, 60px, 70px)") is "none"190 PASS getCSSText("-webkit-shape-inside", "inset-rectangle()") is ""191 PASS getComputedStyleValue("-webkit-shape-inside", "inset-rectangle()") is "none"192 PASS getCSSText("-webkit-shape-inside", "inset-rectangle(10px)") is ""193 PASS getComputedStyleValue("-webkit-shape-inside", "inset-rectangle(10px)") is "none"194 PASS getCSSText("-webkit-shape-inside", "inset-rectangle(10px, 10px)") is ""195 PASS getComputedStyleValue("-webkit-shape-inside", "inset-rectangle(10px, 10px)") is "none"196 PASS getCSSText("-webkit-shape-inside", "inset-rectangle(10px, 20px, 30px)") is ""197 PASS getComputedStyleValue("-webkit-shape-inside", "inset-rectangle(10px, 20px, 30px)") is "none"198 PASS getCSSText("-webkit-shape-inside", "inset-rectangle(10px 20px 30px 40px)") is ""199 PASS getComputedStyleValue("-webkit-shape-inside", "inset-rectangle(10px 20px 30px 40px)") is "none"200 PASS getCSSText("-webkit-shape-inside", "inset-rectangle(10px, 20px, 30px, 40px, 50px, 60px, 70px)") is ""201 PASS getComputedStyleValue("-webkit-shape-inside", "inset-rectangle(10px, 20px, 30px, 40px, 50px, 60px, 70px)") is "none"202 162 PASS getCSSText("-webkit-shape-inside", "inset()") is "" 203 163 PASS getComputedStyleValue("-webkit-shape-inside", "inset()") is "none" … … 230 190 PASS getCSSText("-webkit-shape-inside", "inset(round /)") is "" 231 191 PASS getComputedStyleValue("-webkit-shape-inside", "inset(round /)") is "none" 232 PASS getCSSText("-webkit-shape-inside", "circle(10px, 20px)") is ""233 PASS getComputedStyleValue("-webkit-shape-inside", "circle(10px, 20px)") is "none"234 PASS getCSSText("-webkit-shape-inside", "circle(10px 20px 30px)") is ""235 PASS getComputedStyleValue("-webkit-shape-inside", "circle(10px 20px 30px)") is "none"236 PASS getCSSText("-webkit-shape-inside", "circle(10px, 20px, 30px, 40px)") is ""237 PASS getComputedStyleValue("-webkit-shape-inside", "circle(10px, 20px, 30px, 40px)") is "none"238 192 PASS getCSSText("-webkit-shape-inside", "circle(10px 20px)") is "" 239 193 PASS getComputedStyleValue("-webkit-shape-inside", "circle(10px 20px)") is "none" … … 252 206 PASS getCSSText("-webkit-shape-inside", "circle(at center center 10px)") is "" 253 207 PASS getComputedStyleValue("-webkit-shape-inside", "circle(at center center 10px)") is "none" 254 PASS getCSSText("-webkit-shape-inside", "ellipse(10px, 20px)") is ""255 PASS getComputedStyleValue("-webkit-shape-inside", "ellipse(10px, 20px)") is "none"256 PASS getCSSText("-webkit-shape-inside", "ellipse(10px, 20px, 30px)") is ""257 PASS getComputedStyleValue("-webkit-shape-inside", "ellipse(10px, 20px, 30px)") is "none"258 PASS getCSSText("-webkit-shape-inside", "ellipse(10px 20px 30px 40px)") is ""259 PASS getComputedStyleValue("-webkit-shape-inside", "ellipse(10px 20px 30px 40px)") is "none"260 208 PASS getCSSText("-webkit-shape-inside", "ellipse(10px 20px 30px)") is "" 261 209 PASS getComputedStyleValue("-webkit-shape-inside", "ellipse(10px 20px 30px)") is "none" … … 306 254 PASS getCSSText("-webkit-shape-inside", "url('shape.svg') polygon(nonzero, 0 0, 10px 10px, 10px 0)") is "" 307 255 PASS getComputedStyleValue("-webkit-shape-inside", "url('shape.svg') polygon(nonzero, 0 0, 10px 10px, 10px 0)") is "none" 308 PASS getParentAndChildComputedStylesString("-webkit-shape-inside", "none", " rectangle(10px, 20px, 30px, 40px)") is "parent: none, child: rectangle(10px, 20px, 30px, 40px, 0px,0px)"309 PASS getParentAndChildComputedStylesString("-webkit-shape-inside", "outside-shape", " rectangle(10px, 20px, 30px, 40px)") is "parent: outside-shape, child: rectangle(10px, 20px, 30px, 40px, 0px,0px)"310 PASS getParentAndChildComputedStylesString("-webkit-shape-inside", " rectangle(10px, 20px, 30px, 40px)", "initial") is "parent: rectangle(10px, 20px, 30px, 40px, 0px,0px), child: none"311 PASS getParentAndChildComputedStylesString("-webkit-shape-inside", " rectangle(10px, 20px, 30px, 40px)", "") is "parent: rectangle(10px, 20px, 30px, 40px, 0px,0px), child: none"312 PASS getParentAndChildComputedStylesString("-webkit-shape-inside", " rectangle(10px, 20px, 30px, 40px)", "inherit") is "parent: rectangle(10px, 20px, 30px, 40px, 0px, 0px), child: rectangle(10px, 20px, 30px, 40px, 0px,0px)"256 PASS getParentAndChildComputedStylesString("-webkit-shape-inside", "none", "circle(30px at 10px 20px)") is "parent: none, child: circle(30px at 10px 20px)" 257 PASS getParentAndChildComputedStylesString("-webkit-shape-inside", "outside-shape", "circle(30px at 10px 20px)") is "parent: outside-shape, child: circle(30px at 10px 20px)" 258 PASS getParentAndChildComputedStylesString("-webkit-shape-inside", "circle(30px at 10px 20px)", "initial") is "parent: circle(30px at 10px 20px), child: none" 259 PASS getParentAndChildComputedStylesString("-webkit-shape-inside", "circle(30px at 10px 20px)", "") is "parent: circle(30px at 10px 20px), child: none" 260 PASS getParentAndChildComputedStylesString("-webkit-shape-inside", "circle(30px at 10px 20px)", "inherit") is "parent: circle(30px at 10px 20px), child: circle(30px at 10px 20px)" 313 261 PASS getParentAndChildComputedStylesString("-webkit-shape-inside", "", "inherit") is "parent: none, child: none" 314 262 PASS getParentAndChildComputedStylesString("-webkit-shape-inside", "none", "inherit") is "parent: none, child: none" -
trunk/LayoutTests/fast/shapes/parsing/parsing-shape-inside.html
r161436 r165472 28 28 testNotInheritedShapeProperty, 29 29 [// [property, parentValue, childValue, expectedValue] 30 ["-webkit-shape-inside", "none", " rectangle(10px, 20px, 30px, 40px)", "parent: none, child: rectangle(10px, 20px, 30px, 40px, 0px,0px)"],31 ["-webkit-shape-inside", "outside-shape", " rectangle(10px, 20px, 30px, 40px)", "parent: outside-shape, child: rectangle(10px, 20px, 30px, 40px, 0px,0px)"],32 ["-webkit-shape-inside", " rectangle(10px, 20px, 30px, 40px)", "initial", "parent: rectangle(10px, 20px, 30px, 40px, 0px,0px), child: none"],33 ["-webkit-shape-inside", " rectangle(10px, 20px, 30px, 40px)", "", "parent: rectangle(10px, 20px, 30px, 40px, 0px,0px), child: none"],34 ["-webkit-shape-inside", " rectangle(10px, 20px, 30px, 40px)", "inherit", "parent: rectangle(10px, 20px, 30px, 40px, 0px, 0px), child: rectangle(10px, 20px, 30px, 40px, 0px,0px)"],30 ["-webkit-shape-inside", "none", "circle(30px at 10px 20px)", "parent: none, child: circle(30px at 10px 20px)"], 31 ["-webkit-shape-inside", "outside-shape", "circle(30px at 10px 20px)", "parent: outside-shape, child: circle(30px at 10px 20px)"], 32 ["-webkit-shape-inside", "circle(30px at 10px 20px)", "initial", "parent: circle(30px at 10px 20px), child: none"], 33 ["-webkit-shape-inside", "circle(30px at 10px 20px)", "", "parent: circle(30px at 10px 20px), child: none"], 34 ["-webkit-shape-inside", "circle(30px at 10px 20px)", "inherit", "parent: circle(30px at 10px 20px), child: circle(30px at 10px 20px)"], 35 35 ["-webkit-shape-inside", "", "inherit", "parent: none, child: none"], 36 36 ["-webkit-shape-inside", "none", "inherit", "parent: none, child: none"]] -
trunk/LayoutTests/fast/shapes/parsing/parsing-shape-lengths-expected.txt
r162871 r165472 4 4 5 5 6 PASS getStyleValue("-webkit-shape-inside", "circle(0, 0, 0)") is "circle(0px, 0px, 0px)" 7 PASS getStyleValue("-webkit-shape-inside", "circle(-1px, +1px, 1px)") is "circle(-1px, 1px, 1px)" 8 PASS getStyleValue("-webkit-shape-inside", "circle(-1.5px, +1.5px, 1.5px)") is "circle(-1.5px, 1.5px, 1.5px)" 9 PASS getStyleValue("-webkit-shape-inside", "circle(-.5px, +.5px, .5px)") is "circle(-0.5px, 0.5px, 0.5px)" 10 PASS getStyleValue("-webkit-shape-inside", "rectangle(1cm, 1mm, 1in, 1px, 1pt, 1pc)") is "rectangle(1cm, 1mm, 1in, 1px, 1pt, 1pc)" 11 PASS getStyleValue("-webkit-shape-inside", "inset-rectangle(1cm, 1mm, 1in, 1px, 1pt, 1pc)") is "inset-rectangle(1cm, 1mm, 1in, 1px, 1pt, 1pc)" 6 PASS getStyleValue("-webkit-shape-inside", "circle(0 at 0 0)") is "circle(0px at 0% 0%)" 7 PASS getStyleValue("-webkit-shape-inside", "circle(1px at +1px -1px)") is "circle(1px at 1px -1px)" 8 PASS getStyleValue("-webkit-shape-inside", "circle(1.5px at -1.5px +1.5px)") is "circle(1.5px at -1.5px 1.5px)" 9 PASS getStyleValue("-webkit-shape-inside", "circle(.5px at -.5px +.5px)") is "circle(0.5px at -0.5px 0.5px)" 12 10 PASS getStyleValue("-webkit-shape-inside", "inset(1cm 1mm 1in 1px round 1pt 1pc)") is "inset(1cm 1mm 1in 1px round 1pt 1pc 1pt 1pc / 1pt 1pc 1pt 1pc)" 13 11 PASS getStyleValue("-webkit-shape-inside", "inset(-1px 1px 1px 1px round 1px 1px 1px 1px)") is "inset(-1px 1px 1px 1px round 1px 1px 1px 1px / 1px 1px 1px 1px)" … … 15 13 PASS getStyleValue("-webkit-shape-inside", "inset(1px 1px -1px 1px round 1px 1px 1px 1px)") is "inset(1px 1px -1px 1px round 1px 1px 1px 1px / 1px 1px 1px 1px)" 16 14 PASS getStyleValue("-webkit-shape-inside", "inset(1px 1px 1px -1px round 1px 1px 1px 1px)") is "inset(1px 1px 1px -1px round 1px 1px 1px 1px / 1px 1px 1px 1px)" 17 PASS getStyleValue("-webkit-shape-inside", "circle(-1em, +1em, 1em)") is "circle(-1em, 1em, 1em)" 18 PASS getStyleValue("-webkit-shape-inside", "circle(-1.5em, +1.5em, 1.5em)") is "circle(-1.5em, 1.5em, 1.5em)" 19 PASS getStyleValue("-webkit-shape-inside", "circle(-.5em, +.5em, .5em)") is "circle(-0.5em, 0.5em, 0.5em)" 20 PASS getStyleValue("-webkit-shape-inside", "circle(1ex, 1ex, 1ex)") is "circle(1ex, 1ex, 1ex)" 21 PASS getStyleValue("-webkit-shape-inside", "circle(1rem, 1rem, 1rem)") is "circle(1rem, 1rem, 1rem)" 22 PASS getComputedStyleValue("-webkit-shape-inside", "circle(.5em, 1em, 1.5em)") is "circle(4px, 8px, 12px)" 23 PASS getComputedStyleValue("-webkit-shape-inside", "circle(.5rem, 1rem, 1.5rem)") is "circle(8px, 16px, 24px)" 24 PASS getStyleValue("-webkit-shape-inside", "circle(1vw, 1vw, 1vw)") is "circle(1vw, 1vw, 1vw)" 25 PASS getStyleValue("-webkit-shape-inside", "circle(1vh, 1vh, 1vh)") is "circle(1vh, 1vh, 1vh)" 26 PASS getStyleValue("-webkit-shape-inside", "circle(1vmin, 1vmin, 1vmin)") is "circle(1vmin, 1vmin, 1vmin)" 27 PASS getComputedStyleValue("-webkit-shape-inside", "circle(.5vw, 1vw, 1.5vw)") is "circle(0.5vw, 1vw, 1.5vw)" 28 PASS getComputedStyleValue("-webkit-shape-inside", "circle(.5vh, 1vh, 1.5vh)") is "circle(0.5vh, 1vh, 1.5vh)" 29 PASS getComputedStyleValue("-webkit-shape-inside", "circle(.5vmin, 1vmin, 1.5vmin)") is "circle(0.5vmin, 1vmin, 1.5vmin)" 30 PASS getStyleValue("-webkit-shape-inside", "circle(100%, 100%, 100%)") is "circle(100%, 100%, 100%)" 31 PASS getStyleValue("-webkit-shape-inside", "rectangle(45%, 45%, 90%, 60%, 25%, 10%)") is "rectangle(45%, 45%, 90%, 60%, 25%, 10%)" 32 PASS getStyleValue("-webkit-shape-inside", "inset-rectangle(45%, 45%, 90%, 60%, 25%, 10%)") is "inset-rectangle(45%, 45%, 90%, 60%, 25%, 10%)" 15 PASS getStyleValue("-webkit-shape-inside", "circle(1em at -1em +1em)") is "circle(1em at -1em 1em)" 16 PASS getStyleValue("-webkit-shape-inside", "circle(1.5em at -1.5em +1.5em)") is "circle(1.5em at -1.5em 1.5em)" 17 PASS getStyleValue("-webkit-shape-inside", "circle(.5em at -.5em +.5em)") is "circle(0.5em at -0.5em 0.5em)" 18 PASS getStyleValue("-webkit-shape-inside", "circle(1ex at 1ex 1ex)") is "circle(1ex at 1ex 1ex)" 19 PASS getStyleValue("-webkit-shape-inside", "circle(1rem at 1rem 1rem)") is "circle(1rem at 1rem 1rem)" 20 PASS getComputedStyleValue("-webkit-shape-inside", "circle(1.5em at .5em 1em)") is "circle(12px at 4px 8px)" 21 PASS getComputedStyleValue("-webkit-shape-inside", "circle(1.5rem at .5rem 1rem)") is "circle(24px at 8px 16px)" 22 PASS getStyleValue("-webkit-shape-inside", "circle(1vw at 1vw 1vw)") is "circle(1vw at 1vw 1vw)" 23 PASS getStyleValue("-webkit-shape-inside", "circle(1vh at 1vh 1vh)") is "circle(1vh at 1vh 1vh)" 24 PASS getStyleValue("-webkit-shape-inside", "circle(1vmin at 1vmin 1vmin)") is "circle(1vmin at 1vmin 1vmin)" 25 PASS getComputedStyleValue("-webkit-shape-inside", "circle(1.5vw at .5vw 1vw)") is "circle(1.5vw at 0.5vw 1vw)" 26 PASS getComputedStyleValue("-webkit-shape-inside", "circle(1.5vh at .5vh 1vh)") is "circle(1.5vh at 0.5vh 1vh)" 27 PASS getComputedStyleValue("-webkit-shape-inside", "circle(1.5vmin at .5vmin 1vmin)") is "circle(1.5vmin at 0.5vmin 1vmin)" 28 PASS getStyleValue("-webkit-shape-inside", "circle(100% at 100% 100%)") is "circle(100% at 100% 100%)" 33 29 PASS getStyleValue("-webkit-shape-inside", "inset(45% 45% 90% 60% round 25% 10%)") is "inset(45% 45% 90% 60% round 25% 10% 25% 10% / 25% 10% 25% 10%)" 34 PASS getStyleValue("-webkit-shape-inside", "ellipse(100% , 100%, 100%, 100%)") is "ellipse(100%, 100%, 100%,100%)"30 PASS getStyleValue("-webkit-shape-inside", "ellipse(100% 100% at 100% 100%)") is "ellipse(100% 100% at 100% 100%)" 35 31 PASS getStyleValue("-webkit-shape-inside", "polygon(10% 20%, 30% 40%, 40% 50%)") is "polygon(nonzero, 10% 20%, 30% 40%, 40% 50%)" 36 PASS getComputedStyleValue("-webkit-shape-inside", "circle(50%, 100%, 150%)") is "circle(50%, 100%, 150%)" 37 PASS getComputedStyleValue("-webkit-shape-inside", "rectangle(45%, 45%, 90%, 60%, 25%, 10%)") is "rectangle(45%, 45%, 90%, 60%, 25%, 10%)" 38 PASS getComputedStyleValue("-webkit-shape-inside", "inset-rectangle(45%, 45%, 90%, 60%, 25%, 10%)") is "inset-rectangle(45%, 45%, 90%, 60%, 25%, 10%)" 32 PASS getComputedStyleValue("-webkit-shape-inside", "circle(150% at 50% 100%)") is "circle(150% at 50% 100%)" 39 33 PASS getComputedStyleValue("-webkit-shape-inside", "inset(45% 45% 90% 60% round 25% 10%)") is "inset(45% 45% 90% 60% round 25% 10% 25% 10% / 25% 10% 25% 10%)" 40 PASS getComputedStyleValue("-webkit-shape-inside", "ellipse(100% , 100%, 100%, 100%)") is "ellipse(100%, 100%, 100%,100%)"34 PASS getComputedStyleValue("-webkit-shape-inside", "ellipse(100% 100% at 100% 100%)") is "ellipse(100% 100% at 100% 100%)" 41 35 PASS getComputedStyleValue("-webkit-shape-inside", "polygon(10% 20%, 30% 40%, 40% 50%)") is "polygon(nonzero, 10% 20%, 30% 40%, 40% 50%)" 42 PASS getStyleValue("-webkit-shape-inside", "circle(1px, 1px, 1)") is null 43 PASS getComputedStyleValue("-webkit-shape-inside", "circle(1px, 1px, 1)") is "none" 44 PASS getStyleValue("-webkit-shape-inside", "circle(1px, 1px, px)") is null 45 PASS getComputedStyleValue("-webkit-shape-inside", "circle(1px, 1px, px)") is "none" 46 PASS getStyleValue("-webkit-shape-inside", "circle(1px, 1px, 1p)") is null 47 PASS getComputedStyleValue("-webkit-shape-inside", "circle(1px, 1px, 1p)") is "none" 48 PASS getStyleValue("-webkit-shape-inside", "circle(1px, 1px, calc())") is null 49 PASS getComputedStyleValue("-webkit-shape-inside", "circle(1px, 1px, calc())") is "none" 50 PASS getStyleValue("-webkit-shape-inside", "circle(-1.5px, +1.5px, -1.5px)") is null 51 PASS getComputedStyleValue("-webkit-shape-inside", "circle(-1.5px, +1.5px, -1.5px)") is "none" 52 PASS getStyleValue("-webkit-shape-inside", "rectangle(1cm, 1mm, 1in, 1px, -1pt, 1pc)") is null 53 PASS getComputedStyleValue("-webkit-shape-inside", "rectangle(1cm, 1mm, 1in, 1px, -1pt, 1pc)") is "none" 54 PASS getStyleValue("-webkit-shape-inside", "rectangle(1cm, 1mm, 1in, 1px, 1pt, -1pc)") is null 55 PASS getComputedStyleValue("-webkit-shape-inside", "rectangle(1cm, 1mm, 1in, 1px, 1pt, -1pc)") is "none" 56 PASS getStyleValue("-webkit-shape-inside", "inset-rectangle(1cm, 1mm, 1in, 1px, -1pt, 1pc)") is null 57 PASS getComputedStyleValue("-webkit-shape-inside", "inset-rectangle(1cm, 1mm, 1in, 1px, -1pt, 1pc)") is "none" 58 PASS getStyleValue("-webkit-shape-inside", "inset-rectangle(1cm, 1mm, 1in, 1px, 1pt, -1pc)") is null 59 PASS getComputedStyleValue("-webkit-shape-inside", "inset-rectangle(1cm, 1mm, 1in, 1px, 1pt, -1pc)") is "none" 36 PASS getStyleValue("-webkit-shape-inside", "circle(1 at 1px 1px)") is null 37 PASS getComputedStyleValue("-webkit-shape-inside", "circle(1 at 1px 1px)") is "none" 38 PASS getStyleValue("-webkit-shape-inside", "circle(px at 1px 1px)") is null 39 PASS getComputedStyleValue("-webkit-shape-inside", "circle(px at 1px 1px)") is "none" 40 PASS getStyleValue("-webkit-shape-inside", "circle(1p at 1px 1px)") is null 41 PASS getComputedStyleValue("-webkit-shape-inside", "circle(1p at 1px 1px)") is "none" 42 PASS getStyleValue("-webkit-shape-inside", "circle(calc( at 1px 1px))") is null 43 PASS getComputedStyleValue("-webkit-shape-inside", "circle(calc( at 1px 1px))") is "none" 44 PASS getStyleValue("-webkit-shape-inside", "circle(-1.5px at -1.5px +1.5px)") is null 45 PASS getComputedStyleValue("-webkit-shape-inside", "circle(-1.5px at -1.5px +1.5px)") is "none" 60 46 PASS getStyleValue("-webkit-shape-inside", "inset(1cm 1mm 1in 1px round 1pt -1pc)") is null 61 47 PASS getComputedStyleValue("-webkit-shape-inside", "inset(1cm 1mm 1in 1px round 1pt -1pc)") is "none" 62 PASS getStyleValue("-webkit-shape-inside", "ellipse(1em, 1em, -1em, 1em)") is null 63 PASS getComputedStyleValue("-webkit-shape-inside", "ellipse(1em, 1em, -1em, 1em)") is "none" 64 PASS getStyleValue("-webkit-shape-inside", "ellipse(1em, 1em, 1em, -1em)") is null 65 PASS getComputedStyleValue("-webkit-shape-inside", "ellipse(1em, 1em, 1em, -1em)") is "none" 66 PASS getStyleValue("-webkit-shape-inside", "rectangle(1cm, 1mm, -1in, 1px, 1pt, 1pc)") is null 67 PASS getComputedStyleValue("-webkit-shape-inside", "rectangle(1cm, 1mm, -1in, 1px, 1pt, 1pc)") is "none" 68 PASS getStyleValue("-webkit-shape-inside", "rectangle(1cm, 1mm, 1in, -1px, 1pt, 1pc)") is null 69 PASS getComputedStyleValue("-webkit-shape-inside", "rectangle(1cm, 1mm, 1in, -1px, 1pt, 1pc)") is "none" 70 PASS getStyleValue("-webkit-shape-inside", "inset-rectangle(-1cm, 1mm, 1in, 1px, 1pt, 1pc)") is null 71 PASS getComputedStyleValue("-webkit-shape-inside", "inset-rectangle(-1cm, 1mm, 1in, 1px, 1pt, 1pc)") is "none" 72 PASS getStyleValue("-webkit-shape-inside", "inset-rectangle(1cm, -1mm, 1in, 1px, 1pt, 1pc)") is null 73 PASS getComputedStyleValue("-webkit-shape-inside", "inset-rectangle(1cm, -1mm, 1in, 1px, 1pt, 1pc)") is "none" 74 PASS getStyleValue("-webkit-shape-inside", "inset-rectangle(1cm, 1mm, -1in, 1px, 1pt, 1pc)") is null 75 PASS getComputedStyleValue("-webkit-shape-inside", "inset-rectangle(1cm, 1mm, -1in, 1px, 1pt, 1pc)") is "none" 76 PASS getStyleValue("-webkit-shape-inside", "inset-rectangle(1cm, 1mm, 1in, -1px, 1pt, 1pc)") is null 77 PASS getComputedStyleValue("-webkit-shape-inside", "inset-rectangle(1cm, 1mm, 1in, -1px, 1pt, 1pc)") is "none" 48 PASS getStyleValue("-webkit-shape-inside", "ellipse(-1em 1em at 1em 1em)") is null 49 PASS getComputedStyleValue("-webkit-shape-inside", "ellipse(-1em 1em at 1em 1em)") is "none" 50 PASS getStyleValue("-webkit-shape-inside", "ellipse(1em -1em at 1em 1em)") is null 51 PASS getComputedStyleValue("-webkit-shape-inside", "ellipse(1em -1em at 1em 1em)") is "none" 78 52 PASS successfullyParsed is true 79 53 -
trunk/LayoutTests/fast/shapes/parsing/parsing-shape-lengths.html
r162871 r165472 37 37 38 38 // absolute lengths - number serialization, units 39 testStyleValue("circle(0 , 0, 0)", "circle(0px, 0px, 0px)");40 testStyleValue("circle( -1px, +1px, 1px)", "circle(-1px, 1px,1px)");41 testStyleValue("circle( -1.5px, +1.5px, 1.5px)", "circle(-1.5px, 1.5px,1.5px)");42 testStyleValue("circle( -.5px, +.5px, .5px)", "circle(-0.5px, 0.5px,0.5px)");39 testStyleValue("circle(0 at 0 0)", "circle(0px at 0% 0%)"); 40 testStyleValue("circle(1px at +1px -1px)", "circle(1px at 1px -1px)"); 41 testStyleValue("circle(1.5px at -1.5px +1.5px)", "circle(1.5px at -1.5px 1.5px)"); 42 testStyleValue("circle(.5px at -.5px +.5px)", "circle(0.5px at -0.5px 0.5px)"); 43 43 44 testStyleValue("rectangle(1cm, 1mm, 1in, 1px, 1pt, 1pc)", "rectangle(1cm, 1mm, 1in, 1px, 1pt, 1pc)");45 testStyleValue("inset-rectangle(1cm, 1mm, 1in, 1px, 1pt, 1pc)", "inset-rectangle(1cm, 1mm, 1in, 1px, 1pt, 1pc)");46 44 testStyleValue("inset(1cm 1mm 1in 1px round 1pt 1pc)", "inset(1cm 1mm 1in 1px round 1pt 1pc 1pt 1pc / 1pt 1pc 1pt 1pc)"); 47 45 testStyleValue("inset(-1px 1px 1px 1px round 1px 1px 1px 1px)", "inset(-1px 1px 1px 1px round 1px 1px 1px 1px / 1px 1px 1px 1px)"); … … 51 49 52 50 // font-relative lengths - number serialization, units, resolution 53 testStyleValue("circle( -1em, +1em, 1em)", "circle(-1em, 1em,1em)");54 testStyleValue("circle( -1.5em, +1.5em, 1.5em)", "circle(-1.5em, 1.5em,1.5em)");55 testStyleValue("circle( -.5em, +.5em, .5em)", "circle(-0.5em, 0.5em,0.5em)");51 testStyleValue("circle(1em at -1em +1em)", "circle(1em at -1em 1em)"); 52 testStyleValue("circle(1.5em at -1.5em +1.5em)", "circle(1.5em at -1.5em 1.5em)"); 53 testStyleValue("circle(.5em at -.5em +.5em)", "circle(0.5em at -0.5em 0.5em)"); 56 54 57 testStyleValue("circle(1ex , 1ex, 1ex)", "circle(1ex, 1ex,1ex)");55 testStyleValue("circle(1ex at 1ex 1ex)", "circle(1ex at 1ex 1ex)"); 58 56 // FIXME: Add ch test when it is supported 59 testStyleValue("circle(1rem , 1rem, 1rem)", "circle(1rem, 1rem,1rem)");57 testStyleValue("circle(1rem at 1rem 1rem)", "circle(1rem at 1rem 1rem)"); 60 58 61 testComputedStyleValue("circle( .5em, 1em, 1.5em)", "circle(4px, 8px, 12px)");62 testComputedStyleValue("circle( .5rem, 1rem, 1.5rem)", "circle(8px, 16px, 24px)");59 testComputedStyleValue("circle(1.5em at .5em 1em)", "circle(12px at 4px 8px)"); 60 testComputedStyleValue("circle(1.5rem at .5rem 1rem)", "circle(24px at 8px 16px)"); 63 61 64 62 // viewport-percentage lengths - units, resolution 65 testStyleValue("circle(1vw , 1vw, 1vw)", "circle(1vw, 1vw,1vw)");66 testStyleValue("circle(1vh , 1vh, 1vh)", "circle(1vh, 1vh,1vh)");67 testStyleValue("circle(1vmin , 1vmin, 1vmin)", "circle(1vmin, 1vmin,1vmin)");63 testStyleValue("circle(1vw at 1vw 1vw)", "circle(1vw at 1vw 1vw)"); 64 testStyleValue("circle(1vh at 1vh 1vh)", "circle(1vh at 1vh 1vh)"); 65 testStyleValue("circle(1vmin at 1vmin 1vmin)", "circle(1vmin at 1vmin 1vmin)"); 68 66 69 testComputedStyleValue("circle( .5vw, 1vw, 1.5vw)", "circle(0.5vw, 1vw, 1.5vw)");70 testComputedStyleValue("circle( .5vh, 1vh, 1.5vh)", "circle(0.5vh, 1vh, 1.5vh)");71 testComputedStyleValue("circle( .5vmin, 1vmin, 1.5vmin)", "circle(0.5vmin, 1vmin, 1.5vmin)");67 testComputedStyleValue("circle(1.5vw at .5vw 1vw)", "circle(1.5vw at 0.5vw 1vw)"); 68 testComputedStyleValue("circle(1.5vh at .5vh 1vh)", "circle(1.5vh at 0.5vh 1vh)"); 69 testComputedStyleValue("circle(1.5vmin at .5vmin 1vmin)", "circle(1.5vmin at 0.5vmin 1vmin)"); 72 70 73 71 // percentage lengths - units 74 testStyleValue("circle(100%, 100%, 100%)", "circle(100%, 100%, 100%)"); 75 testStyleValue("rectangle(45%, 45%, 90%, 60%, 25%, 10%)", "rectangle(45%, 45%, 90%, 60%, 25%, 10%)"); 76 testStyleValue("inset-rectangle(45%, 45%, 90%, 60%, 25%, 10%)", "inset-rectangle(45%, 45%, 90%, 60%, 25%, 10%)"); 72 testStyleValue("circle(100% at 100% 100%)", "circle(100% at 100% 100%)"); 77 73 testStyleValue("inset(45% 45% 90% 60% round 25% 10%)", "inset(45% 45% 90% 60% round 25% 10% 25% 10% / 25% 10% 25% 10%)"); 78 testStyleValue("ellipse(100% , 100%, 100%, 100%)", "ellipse(100%, 100%, 100%,100%)");74 testStyleValue("ellipse(100% 100% at 100% 100%)", "ellipse(100% 100% at 100% 100%)"); 79 75 testStyleValue("polygon(10% 20%, 30% 40%, 40% 50%)", "polygon(nonzero, 10% 20%, 30% 40%, 40% 50%)"); 80 76 81 testComputedStyleValue("circle(50%, 100%, 150%)", "circle(50%, 100%, 150%)"); 82 testComputedStyleValue("rectangle(45%, 45%, 90%, 60%, 25%, 10%)", "rectangle(45%, 45%, 90%, 60%, 25%, 10%)"); 83 testComputedStyleValue("inset-rectangle(45%, 45%, 90%, 60%, 25%, 10%)", "inset-rectangle(45%, 45%, 90%, 60%, 25%, 10%)"); 77 testComputedStyleValue("circle(150% at 50% 100%)", "circle(150% at 50% 100%)"); 84 78 testComputedStyleValue("inset(45% 45% 90% 60% round 25% 10%)", "inset(45% 45% 90% 60% round 25% 10% 25% 10% / 25% 10% 25% 10%)"); 85 testComputedStyleValue("ellipse(100% , 100%, 100%, 100%)", "ellipse(100%, 100%, 100%,100%)");79 testComputedStyleValue("ellipse(100% 100% at 100% 100%)", "ellipse(100% 100% at 100% 100%)"); 86 80 testComputedStyleValue("polygon(10% 20%, 30% 40%, 40% 50%)", "polygon(nonzero, 10% 20%, 30% 40%, 40% 50%)"); 87 81 88 82 // reject non-lengths 89 testInvalidValue("-webkit-shape- inside", "circle(1px, 1px, 1)");90 testInvalidValue("-webkit-shape- inside", "circle(1px, 1px,px)");91 testInvalidValue("-webkit-shape- inside", "circle(1px, 1px, 1p)");92 testInvalidValue("-webkit-shape- inside", "circle(1px, 1px, calc())");83 testInvalidValue("-webkit-shape-outside", "circle(1 at 1px 1px)"); 84 testInvalidValue("-webkit-shape-outside", "circle(px at 1px 1px)"); 85 testInvalidValue("-webkit-shape-outside", "circle(1p at 1px 1px)"); 86 testInvalidValue("-webkit-shape-outside", "circle(calc( at 1px 1px))"); 93 87 94 88 // reject negative radiuses 95 testInvalidValue("-webkit-shape-inside", "circle(-1.5px, +1.5px, -1.5px)"); 96 testInvalidValue("-webkit-shape-inside", "rectangle(1cm, 1mm, 1in, 1px, -1pt, 1pc)"); 97 testInvalidValue("-webkit-shape-inside", "rectangle(1cm, 1mm, 1in, 1px, 1pt, -1pc)"); 98 testInvalidValue("-webkit-shape-inside", "inset-rectangle(1cm, 1mm, 1in, 1px, -1pt, 1pc)"); 99 testInvalidValue("-webkit-shape-inside", "inset-rectangle(1cm, 1mm, 1in, 1px, 1pt, -1pc)"); 100 testInvalidValue("-webkit-shape-inside", "inset(1cm 1mm 1in 1px round 1pt -1pc)"); 101 testInvalidValue("-webkit-shape-inside", "ellipse(1em, 1em, -1em, 1em)"); 102 testInvalidValue("-webkit-shape-inside", "ellipse(1em, 1em, 1em, -1em)"); 103 104 // reject negative height and width 105 testInvalidValue("-webkit-shape-inside", "rectangle(1cm, 1mm, -1in, 1px, 1pt, 1pc)"); 106 testInvalidValue("-webkit-shape-inside", "rectangle(1cm, 1mm, 1in, -1px, 1pt, 1pc)"); 107 108 // reject negative top, right, bottom, and left 109 testInvalidValue("-webkit-shape-inside", "inset-rectangle(-1cm, 1mm, 1in, 1px, 1pt, 1pc)"); 110 testInvalidValue("-webkit-shape-inside", "inset-rectangle(1cm, -1mm, 1in, 1px, 1pt, 1pc)"); 111 testInvalidValue("-webkit-shape-inside", "inset-rectangle(1cm, 1mm, -1in, 1px, 1pt, 1pc)"); 112 testInvalidValue("-webkit-shape-inside", "inset-rectangle(1cm, 1mm, 1in, -1px, 1pt, 1pc)"); 89 testInvalidValue("-webkit-shape-outside", "circle(-1.5px at -1.5px +1.5px)"); 90 testInvalidValue("-webkit-shape-outside", "inset(1cm 1mm 1in 1px round 1pt -1pc)"); 91 testInvalidValue("-webkit-shape-outside", "ellipse(-1em 1em at 1em 1em)"); 92 testInvalidValue("-webkit-shape-outside", "ellipse(1em -1em at 1em 1em)"); 113 93 114 94 </script> -
trunk/LayoutTests/fast/shapes/parsing/parsing-shape-outside-expected.txt
r165277 r165472 6 6 PASS getCSSText("-webkit-shape-outside", "none") is "none" 7 7 PASS getComputedStyleValue("-webkit-shape-outside", "none") is "none" 8 PASS getCSSText("-webkit-shape-outside", "rectangle(10px, 20px, 30px, 40px)") is "rectangle(10px, 20px, 30px, 40px)"9 PASS getComputedStyleValue("-webkit-shape-outside", "rectangle(10px, 20px, 30px, 40px)") is "rectangle(10px, 20px, 30px, 40px, 0px, 0px)"10 PASS getCSSText("-webkit-shape-outside", "rectangle(10px, 20px, 30px, 40px, 5px)") is "rectangle(10px, 20px, 30px, 40px, 5px)"11 PASS getComputedStyleValue("-webkit-shape-outside", "rectangle(10px, 20px, 30px, 40px, 5px)") is "rectangle(10px, 20px, 30px, 40px, 5px, 5px)"12 PASS getCSSText("-webkit-shape-outside", "rectangle(10px, 20px, 30px, 40px, 5px, 10px)") is "rectangle(10px, 20px, 30px, 40px, 5px, 10px)"13 PASS getComputedStyleValue("-webkit-shape-outside", "rectangle(10px, 20px, 30px, 40px, 5px, 10px)") is "rectangle(10px, 20px, 30px, 40px, 5px, 10px)"14 PASS getCSSText("-webkit-shape-outside", "inset-rectangle(10px, 20px, 30px, 40px)") is "inset-rectangle(10px, 20px, 30px, 40px)"15 PASS getComputedStyleValue("-webkit-shape-outside", "inset-rectangle(10px, 20px, 30px, 40px)") is "inset-rectangle(10px, 20px, 30px, 40px, 0px, 0px)"16 PASS getCSSText("-webkit-shape-outside", "inset-rectangle(10px, 20px, 30px, 40px, 5px)") is "inset-rectangle(10px, 20px, 30px, 40px, 5px)"17 PASS getComputedStyleValue("-webkit-shape-outside", "inset-rectangle(10px, 20px, 30px, 40px, 5px)") is "inset-rectangle(10px, 20px, 30px, 40px, 5px, 5px)"18 PASS getCSSText("-webkit-shape-outside", "inset-rectangle(10px, 20px, 30px, 40px, 5px, 10px)") is "inset-rectangle(10px, 20px, 30px, 40px, 5px, 10px)"19 PASS getComputedStyleValue("-webkit-shape-outside", "inset-rectangle(10px, 20px, 30px, 40px, 5px, 10px)") is "inset-rectangle(10px, 20px, 30px, 40px, 5px, 10px)"20 8 PASS getCSSText("-webkit-shape-outside", "inset(10px)") is "inset(10px 10px 10px 10px)" 21 9 PASS getComputedStyleValue("-webkit-shape-outside", "inset(10px)") is "inset(10px 10px 10px 10px round 0px 0px 0px 0px / 0px 0px 0px 0px)" … … 68 56 PASS getCSSText("-webkit-shape-outside", "inset(10px 20px 30px 40px round 5px 6px 7px 8px / 50px 60px 70px 80px)") is "inset(10px 20px 30px 40px round 5px 6px 7px 8px / 50px 60px 70px 80px)" 69 57 PASS getComputedStyleValue("-webkit-shape-outside", "inset(10px 20px 30px 40px round 5px 6px 7px 8px / 50px 60px 70px 80px)") is "inset(10px 20px 30px 40px round 5px 6px 7px 8px / 50px 60px 70px 80px)" 70 PASS getCSSText("-webkit-shape-outside", "circle(10px, 20px, 30px)") is "circle(10px, 20px, 30px)"71 PASS getComputedStyleValue("-webkit-shape-outside", "circle(10px, 20px, 30px)") is "circle(10px, 20px, 30px)"72 58 PASS getCSSText("-webkit-shape-outside", "circle()") is "circle(at 50% 50%)" 73 59 PASS getComputedStyleValue("-webkit-shape-outside", "circle()") is "circle(closest-side at 50% 50%)" … … 100 86 PASS getCSSText("-webkit-shape-outside", "circle(10px at right 10px bottom 10px)") is "circle(10px at right 10px bottom 10px)" 101 87 PASS getComputedStyleValue("-webkit-shape-outside", "circle(10px at right 10px bottom 10px)") is "circle(10px at right 10px bottom 10px)" 102 PASS getCSSText("-webkit-shape-outside", "ellipse(10px, 20px, 30px, 40px)") is "ellipse(10px, 20px, 30px, 40px)"103 PASS getComputedStyleValue("-webkit-shape-outside", "ellipse(10px, 20px, 30px, 40px)") is "ellipse(10px, 20px, 30px, 40px)"104 88 PASS getCSSText("-webkit-shape-outside", "ellipse()") is "ellipse(at 50% 50%)" 105 89 PASS getComputedStyleValue("-webkit-shape-outside", "ellipse()") is "ellipse(closest-side closest-side at 50% 50%)" … … 174 158 PASS getCSSText("-webkit-shape-outside", "auto") is "" 175 159 PASS getComputedStyleValue("-webkit-shape-outside", "auto") is "none" 176 PASS getCSSText("-webkit-shape-outside", "rectangle()") is ""177 PASS getComputedStyleValue("-webkit-shape-outside", "rectangle()") is "none"178 PASS getCSSText("-webkit-shape-outside", "rectangle(10px)") is ""179 PASS getComputedStyleValue("-webkit-shape-outside", "rectangle(10px)") is "none"180 PASS getCSSText("-webkit-shape-outside", "rectangle(10px, 10px)") is ""181 PASS getComputedStyleValue("-webkit-shape-outside", "rectangle(10px, 10px)") is "none"182 PASS getCSSText("-webkit-shape-outside", "rectangle(10px, 20px, 30px)") is ""183 PASS getComputedStyleValue("-webkit-shape-outside", "rectangle(10px, 20px, 30px)") is "none"184 PASS getCSSText("-webkit-shape-outside", "rectangle(10px 20px 30px 40px)") is ""185 PASS getComputedStyleValue("-webkit-shape-outside", "rectangle(10px 20px 30px 40px)") is "none"186 PASS getCSSText("-webkit-shape-outside", "rectangle(10px, 20px, 30px, 40px, 50px, 60px, 70px)") is ""187 PASS getComputedStyleValue("-webkit-shape-outside", "rectangle(10px, 20px, 30px, 40px, 50px, 60px, 70px)") is "none"188 PASS getCSSText("-webkit-shape-outside", "inset-rectangle()") is ""189 PASS getComputedStyleValue("-webkit-shape-outside", "inset-rectangle()") is "none"190 PASS getCSSText("-webkit-shape-outside", "inset-rectangle(10px)") is ""191 PASS getComputedStyleValue("-webkit-shape-outside", "inset-rectangle(10px)") is "none"192 PASS getCSSText("-webkit-shape-outside", "inset-rectangle(10px, 10px)") is ""193 PASS getComputedStyleValue("-webkit-shape-outside", "inset-rectangle(10px, 10px)") is "none"194 PASS getCSSText("-webkit-shape-outside", "inset-rectangle(10px, 20px, 30px)") is ""195 PASS getComputedStyleValue("-webkit-shape-outside", "inset-rectangle(10px, 20px, 30px)") is "none"196 PASS getCSSText("-webkit-shape-outside", "inset-rectangle(10px 20px 30px 40px)") is ""197 PASS getComputedStyleValue("-webkit-shape-outside", "inset-rectangle(10px 20px 30px 40px)") is "none"198 PASS getCSSText("-webkit-shape-outside", "inset-rectangle(10px, 20px, 30px, 40px, 50px, 60px, 70px)") is ""199 PASS getComputedStyleValue("-webkit-shape-outside", "inset-rectangle(10px, 20px, 30px, 40px, 50px, 60px, 70px)") is "none"200 160 PASS getCSSText("-webkit-shape-outside", "inset()") is "" 201 161 PASS getComputedStyleValue("-webkit-shape-outside", "inset()") is "none" … … 228 188 PASS getCSSText("-webkit-shape-outside", "inset(round /)") is "" 229 189 PASS getComputedStyleValue("-webkit-shape-outside", "inset(round /)") is "none" 230 PASS getCSSText("-webkit-shape-outside", "circle(10px, 20px)") is ""231 PASS getComputedStyleValue("-webkit-shape-outside", "circle(10px, 20px)") is "none"232 PASS getCSSText("-webkit-shape-outside", "circle(10px 20px 30px)") is ""233 PASS getComputedStyleValue("-webkit-shape-outside", "circle(10px 20px 30px)") is "none"234 PASS getCSSText("-webkit-shape-outside", "circle(10px, 20px, 30px, 40px)") is ""235 PASS getComputedStyleValue("-webkit-shape-outside", "circle(10px, 20px, 30px, 40px)") is "none"236 190 PASS getCSSText("-webkit-shape-outside", "circle(10px 20px)") is "" 237 191 PASS getComputedStyleValue("-webkit-shape-outside", "circle(10px 20px)") is "none" … … 250 204 PASS getCSSText("-webkit-shape-outside", "circle(at center center 10px)") is "" 251 205 PASS getComputedStyleValue("-webkit-shape-outside", "circle(at center center 10px)") is "none" 252 PASS getCSSText("-webkit-shape-outside", "ellipse(10px, 20px)") is ""253 PASS getComputedStyleValue("-webkit-shape-outside", "ellipse(10px, 20px)") is "none"254 PASS getCSSText("-webkit-shape-outside", "ellipse(10px, 20px, 30px)") is ""255 PASS getComputedStyleValue("-webkit-shape-outside", "ellipse(10px, 20px, 30px)") is "none"256 PASS getCSSText("-webkit-shape-outside", "ellipse(10px 20px 30px 40px)") is ""257 PASS getComputedStyleValue("-webkit-shape-outside", "ellipse(10px 20px 30px 40px)") is "none"258 206 PASS getCSSText("-webkit-shape-outside", "ellipse(10px 20px 30px)") is "" 259 207 PASS getComputedStyleValue("-webkit-shape-outside", "ellipse(10px 20px 30px)") is "none" … … 306 254 PASS getCSSText("-webkit-shape-outside", "outside-shape") is "" 307 255 PASS getComputedStyleValue("-webkit-shape-outside", "outside-shape") is "none" 308 PASS getParentAndChildComputedStylesString("-webkit-shape-outside", "none", " rectangle(10px, 20px, 30px, 40px)") is "parent: none, child: rectangle(10px, 20px, 30px, 40px, 0px,0px)"309 PASS getParentAndChildComputedStylesString("-webkit-shape-outside", " rectangle(10px, 20px, 30px, 40px)", "initial") is "parent: rectangle(10px, 20px, 30px, 40px, 0px,0px), child: none"310 PASS getParentAndChildComputedStylesString("-webkit-shape-outside", " rectangle(10px, 20px, 30px, 40px)", "") is "parent: rectangle(10px, 20px, 30px, 40px, 0px,0px), child: none"311 PASS getParentAndChildComputedStylesString("-webkit-shape-outside", " rectangle(10px, 20px, 30px, 40px)", "inherit") is "parent: rectangle(10px, 20px, 30px, 40px, 0px, 0px), child: rectangle(10px, 20px, 30px, 40px, 0px,0px)"256 PASS getParentAndChildComputedStylesString("-webkit-shape-outside", "none", "circle(30px at 10px 20px)") is "parent: none, child: circle(30px at 10px 20px)" 257 PASS getParentAndChildComputedStylesString("-webkit-shape-outside", "circle(30px at 10px 20px)", "initial") is "parent: circle(30px at 10px 20px), child: none" 258 PASS getParentAndChildComputedStylesString("-webkit-shape-outside", "circle(30px at 10px 20px)", "") is "parent: circle(30px at 10px 20px), child: none" 259 PASS getParentAndChildComputedStylesString("-webkit-shape-outside", "circle(30px at 10px 20px)", "inherit") is "parent: circle(30px at 10px 20px), child: circle(30px at 10px 20px)" 312 260 PASS getParentAndChildComputedStylesString("-webkit-shape-outside", "", "inherit") is "parent: none, child: none" 313 261 PASS getParentAndChildComputedStylesString("-webkit-shape-outside", "none", "inherit") is "parent: none, child: none" -
trunk/LayoutTests/fast/shapes/parsing/parsing-shape-outside.html
r161436 r165472 29 29 testNotInheritedShapeProperty, 30 30 [// [property, parentValue, childValue, expectedValue] 31 ["-webkit-shape-outside", "none", " rectangle(10px, 20px, 30px, 40px)", "parent: none, child: rectangle(10px, 20px, 30px, 40px, 0px,0px)"],32 ["-webkit-shape-outside", " rectangle(10px, 20px, 30px, 40px)", "initial", "parent: rectangle(10px, 20px, 30px, 40px, 0px,0px), child: none"],33 ["-webkit-shape-outside", " rectangle(10px, 20px, 30px, 40px)", "", "parent: rectangle(10px, 20px, 30px, 40px, 0px,0px), child: none"],34 ["-webkit-shape-outside", " rectangle(10px, 20px, 30px, 40px)", "inherit", "parent: rectangle(10px, 20px, 30px, 40px, 0px, 0px), child: rectangle(10px, 20px, 30px, 40px, 0px,0px)"],31 ["-webkit-shape-outside", "none", "circle(30px at 10px 20px)", "parent: none, child: circle(30px at 10px 20px)"], 32 ["-webkit-shape-outside", "circle(30px at 10px 20px)", "initial", "parent: circle(30px at 10px 20px), child: none"], 33 ["-webkit-shape-outside", "circle(30px at 10px 20px)", "", "parent: circle(30px at 10px 20px), child: none"], 34 ["-webkit-shape-outside", "circle(30px at 10px 20px)", "inherit", "parent: circle(30px at 10px 20px), child: circle(30px at 10px 20px)"], 35 35 ["-webkit-shape-outside", "", "inherit", "parent: none, child: none"], 36 36 ["-webkit-shape-outside", "none", "inherit", "parent: none, child: none"]] -
trunk/LayoutTests/fast/shapes/parsing/parsing-test-utils.js
r165277 r165472 7 7 var validShapeValues = [ 8 8 "none", 9 ["rectangle(10px, 20px, 30px, 40px)", "rectangle(10px, 20px, 30px, 40px)", "rectangle(10px, 20px, 30px, 40px, 0px, 0px)"],10 ["rectangle(10px, 20px, 30px, 40px, 5px)", "rectangle(10px, 20px, 30px, 40px, 5px)", "rectangle(10px, 20px, 30px, 40px, 5px, 5px)"],11 "rectangle(10px, 20px, 30px, 40px, 5px, 10px)",12 13 ["inset-rectangle(10px, 20px, 30px, 40px)", "inset-rectangle(10px, 20px, 30px, 40px)", "inset-rectangle(10px, 20px, 30px, 40px, 0px, 0px)"],14 ["inset-rectangle(10px, 20px, 30px, 40px, 5px)", "inset-rectangle(10px, 20px, 30px, 40px, 5px)", "inset-rectangle(10px, 20px, 30px, 40px, 5px, 5px)"],15 "inset-rectangle(10px, 20px, 30px, 40px, 5px, 10px)",16 9 17 10 ["inset(10px)", "inset(10px 10px 10px 10px)", "inset(10px 10px 10px 10px round 0px 0px 0px 0px / 0px 0px 0px 0px)"], … … 41 34 "inset(10px 20px 30px 40px round 5px 6px 7px 8px / 50px 60px 70px 80px)", 42 35 43 "circle(10px, 20px, 30px)", // FIXME: Remove this test once we do not support the deprecated CSS Shapes syntax anymore.44 45 36 ["circle()", "circle(at 50% 50%)", "circle(closest-side at 50% 50%)"], 46 37 ["circle(farthest-side)", "circle(farthest-side at 50% 50%)", "circle(farthest-side at 50% 50%)"], … … 58 49 ["circle(10px at right 0px bottom 0px)", "circle(10px at 100% 100%)"], 59 50 ["circle(10px at right 10px bottom 10px)", "circle(10px at right 10px bottom 10px)"], 60 61 "ellipse(10px, 20px, 30px, 40px)", // FIXME: Remove this test once we do not support the deprecated CSS Shapes syntax anymore.62 51 63 52 ["ellipse()", "ellipse(at 50% 50%)", "ellipse(closest-side closest-side at 50% 50%)"], … … 106 95 "auto", 107 96 108 "rectangle()",109 "rectangle(10px)",110 "rectangle(10px, 10px)",111 "rectangle(10px, 20px, 30px)",112 "rectangle(10px 20px 30px 40px)",113 "rectangle(10px, 20px, 30px, 40px, 50px, 60px, 70px)",114 115 "inset-rectangle()",116 "inset-rectangle(10px)",117 "inset-rectangle(10px, 10px)",118 "inset-rectangle(10px, 20px, 30px)",119 "inset-rectangle(10px 20px 30px 40px)",120 "inset-rectangle(10px, 20px, 30px, 40px, 50px, 60px, 70px)",121 122 97 "inset()", 123 98 "inset(10px, 10px)", … … 136 111 "inset(round /)", 137 112 138 "circle(10px, 20px)", // FIXME: Remove this test once we do not support the deprecated CSS Shapes syntax anymore.139 "circle(10px 20px 30px)", // FIXME: Remove this test once we do not support the deprecated CSS Shapes syntax anymore.140 "circle(10px, 20px, 30px, 40px)", // FIXME: Remove this test once we do not support the deprecated CSS Shapes syntax anymore.141 142 113 "circle(10px 20px)", 143 114 "circle(10px at 10px 10px 10px)", … … 148 119 "circle(at 10px 10px at center)", 149 120 "circle(at center center 10px)", 150 151 "ellipse(10px, 20px)", // FIXME: Remove this test once we do not support the deprecated CSS Shapes syntax anymore.152 "ellipse(10px, 20px, 30px)", // FIXME: Remove this test once we do not support the deprecated CSS Shapes syntax anymore.153 "ellipse(10px 20px 30px 40px)", // FIXME: Remove this test once we do not support the deprecated CSS Shapes syntax anymore.154 121 155 122 "ellipse(10px 20px 30px)", -
trunk/LayoutTests/fast/shapes/resources/simple-rectangle.js
r154757 r165472 13 13 for (var i in bounds) 14 14 rules.push(i + ':' + bounds[i] + units); 15 var rectangleBounds = [shapeBounds.x + units, shapeBounds.y + units, shapeBounds.width + units, shapeBounds.height + units]; 16 rules.push('-webkit-shape-inside: rectangle(' + rectangleBounds.join(',') + ')'); 15 var rectangleBounds = { 16 top: shapeBounds.x + units, 17 left: shapeBounds.y + units, 18 bottom: (shapeBounds.y + shapeBounds.height) + units, 19 right: (shapeBounds.x + shapeBounds.width) + units 20 }; 21 rules.push('-webkit-shape-inside: polygon(' + 22 rectangleBounds.left + " " + rectangleBounds.top + "," + 23 rectangleBounds.right + " " + rectangleBounds.top + "," + 24 rectangleBounds.right + " " + rectangleBounds.bottom + "," + 25 rectangleBounds.left + " " + rectangleBounds.bottom + ')'); 17 26 rules.push('position: relative'); 18 27 rules.push('overflow-wrap: break-word'); … … 20 29 21 30 rules = []; 22 rules.push('left: ' + (shapeBounds.x - 1) + units, 'top: ' + (shapeBounds.y - 1) + units, 'width: ' + rectangleBounds[2], 'height: ' + rectangleBounds[3]);31 rules.push('left: ' + (shapeBounds.x - 1) + units, 'top: ' + (shapeBounds.y - 1) + units, 'width: ' + shapeBounds.width + units, 'height: ' + shapeBounds.height + units); 23 32 rules.push('position: absolute', 'display: block', 'content: \' \''); 24 33 rules.push('border: 1px solid blue'); -
trunk/LayoutTests/fast/shapes/shape-inside/shape-inside-animation-expected.txt
r160007 r165472 1 1 Moving Text Moving Text Moving Text Moving Text 2 PASS - "webkitShapeInside" property for " rectangle-box" element at 1s saw something close to: rectangle(10%, 10%, 80%, 80%, 0px,0px)2 PASS - "webkitShapeInside" property for "inset-box" element at 1s saw something close to: inset(10% 10% 10% 10% round 0px 0px 0px 0px / 0px 0px 0px 0px) 3 3 PASS - "webkitShapeInside" property for "circle-box" element at 1s saw something close to: circle(35% at 35% 35%) 4 4 PASS - "webkitShapeInside" property for "ellipse-box" element at 1s saw something close to: ellipse(35% 30% at 35% 35%) -
trunk/LayoutTests/fast/shapes/shape-inside/shape-inside-animation.html
r160007 r165472 11 11 } 12 12 13 # rectangle-box {14 -webkit-animation: rectangle-anim 2s linear13 #inset-box { 14 -webkit-animation: inset-anim 2s linear 15 15 } 16 16 … … 28 28 29 29 30 @-webkit-keyframes rectangle-anim {31 from { -webkit-shape-inside: rectangle(0%, 0%, 100%, 100%); }32 to { -webkit-shape-inside: rectangle(20%, 20%, 60%, 60%); }30 @-webkit-keyframes inset-anim { 31 from { -webkit-shape-inside: inset(0%); } 32 to { -webkit-shape-inside: inset(20%); } 33 33 } 34 34 … … 53 53 const expectedValues = [ 54 54 // [animation-name, time, element-id, property, expected-value, tolerance] 55 [" rectangle-anim", 1, "rectangle-box", "webkitShapeInside", "rectangle(10%, 10%, 80%, 80%, 0px,0px)", 0.05],55 ["inset-anim", 1, "inset-box", "webkitShapeInside", "inset(10% 10% 10% 10% round 0px 0px 0px 0px / 0px 0px 0px 0px)", 0.05], 56 56 ["circle-anim", 1, "circle-box", "webkitShapeInside", "circle(35% at 35% 35%)", 0.05], 57 57 ["ellipse-anim", 1, "ellipse-box", "webkitShapeInside", "ellipse(35% 30% at 35% 35%)", 0.05], … … 64 64 <body> 65 65 66 <div class="box" id=" rectangle-box">Moving Text</div>66 <div class="box" id="inset-box">Moving Text</div> 67 67 <div class="box" id="circle-box">Moving Text</div> 68 68 <div class="box" id="ellipse-box">Moving Text</div> -
trunk/LayoutTests/fast/shapes/shape-inside/shape-inside-bottom-edge-expected.html
r152800 r165472 8 8 line-height: 20px; 9 9 outline: 2px solid green; 10 }11 12 .rounded-rectangle {13 width: 100px;14 height: 100px;15 10 } 16 11 … … 27 22 <p style="padding-top: 55px; padding-left: 25px;">Content1</p> 28 23 </div> 29 <p class="details">There is a 400x50px shape-inside rectangle inside the green box.<br/>The Content1 text line's bottom equals to the shape-inside's rectanglebottom boundary, so it should fit in the shape-inside.</p>24 <p class="details">There is a 400x50px shape-inside polygon inside the green box.<br/>The Content1 text line's bottom equals to the shape-inside's polygon bottom boundary, so it should fit in the shape-inside.</p> 30 25 <hr> 31 26 … … 34 29 </div> 35 30 36 <p class="details">There is a 400x50px shape-inside rectangle inside the green box.<br/>The Content2 text line overlaps with the shape-inside's rectanglebottom boundary, so the Content2 should be pushed below the content box.</p>31 <p class="details">There is a 400x50px shape-inside polygon inside the green box.<br/>The Content2 text line overlaps with the shape-inside's polygon bottom boundary, so the Content2 should be pushed below the content box.</p> 37 32 <hr> 38 33 … … 41 36 </div> 42 37 43 <p class="details">There is a 400x50px shape-inside rectangle inside the green box.<br/>The Content3 text line starts after the shape-inside's rectangle bottom boundary, so the Content3 should be pushed below the content box.</p> 44 <hr> 45 46 <div class="box rounded-rectangle"> 47 <p style="padding-top: 100px;">Content4</p> 48 </div> 49 <p class="details">There is a 100x100px shape-inside rounded rectangle inside the green box.<br/>The shape top and bottom boundaries match with the content box boundaries, the overflow should start on the left, below the green content box.</p> 50 <hr> 51 52 <div class="box rounded-rectangle"> 53 <p style="padding-top: 100px;">Content5</p> 54 </div> 55 <p class="details">There is a 75x75px shape-inside rounded rectangle inside the green 100x100px box.<br/>The forth line should overflow, the overflow should start on the left, below the green content box.</p> 38 <p class="details">There is a 400x50px shape-inside polygon inside the green box.<br/>The Content3 text line starts after the shape-inside's polygon bottom boundary, so the Content3 should be pushed below the content box.</p> 56 39 <hr> 57 40 -
trunk/LayoutTests/fast/shapes/shape-inside/shape-inside-bottom-edge.html
r154500 r165472 10 10 } 11 11 12 .rectangle { 13 -webkit-shape-inside: rectangle(25px, 25px, 400px, 50px); 14 } 15 16 .rounded-rectangle { 17 width: 100px; 18 height: 100px; 19 -webkit-shape-inside: rectangle(0, 0, 100%, 100%, 25%, 25%); 20 } 21 22 .smaller-rounded-rectangle { 23 width: 100px; 24 height: 100px; 25 -webkit-shape-inside: rectangle(0, 0, 75%, 75%, 25%, 25%); 12 .polygon { 13 -webkit-shape-inside: polygon(25px 25px, 425px 25px, 425px 75px, 25px 75px); 26 14 } 27 15 … … 34 22 35 23 <body> 36 <div class="box rectangle">24 <div class="box polygon"> 37 25 <p style="padding-top: 55px;">Content1</p> 38 26 </div> 39 <p class="details">There is a 400x50px shape-inside rectangle inside the green box.<br/>The Content1 text line's bottom equals to the shape-inside's rectanglebottom boundary, so it should fit in the shape-inside.</p>27 <p class="details">There is a 400x50px shape-inside polygon inside the green box.<br/>The Content1 text line's bottom equals to the shape-inside's polygon bottom boundary, so it should fit in the shape-inside.</p> 40 28 <hr> 41 29 42 <div class="box rectangle">30 <div class="box polygon"> 43 31 <p style="padding-top: 60px;">Content2</p> 44 32 </div> 45 <p class="details">There is a 400x50px shape-inside rectangle inside the green box.<br/>The Content2 text line overlaps with the shape-inside's rectanglebottom boundary, so the Content2 should be pushed below the content box.</p>33 <p class="details">There is a 400x50px shape-inside polygon inside the green box.<br/>The Content2 text line overlaps with the shape-inside's polygon bottom boundary, so the Content2 should be pushed below the content box.</p> 46 34 <hr> 47 35 48 <div class="box rectangle">36 <div class="box polygon"> 49 37 <p style="padding-top: 76px;">Content3</p> 50 38 </div> 51 <p class="details">There is a 400x50px shape-inside rectangle inside the green box.<br/>The Content3 text line starts after the shape-inside's rectangle bottom boundary, so the Content3 should be pushed below the content box.</p> 52 <hr> 53 54 <div class="box rounded-rectangle"> 55 <p style="padding-top: 90px;">Content4</p> 56 </div> 57 <p class="details">There is a 100x100px shape-inside rounded rectangle inside the green box.<br/>The shape top and bottom boundaries match with the content box boundaries, the overflow should start on the left, below the green content box.</p> 58 <hr> 59 60 <div class="box smaller-rounded-rectangle"> 61 <p style="padding-top: 60px;">Content5</p> 62 </div> 63 <p class="details">There is a 75x75px shape-inside rounded rectangle inside the green 100x100px box.<br/>The forth line should overflow, the overflow should start on the left, below the green content box.</p> 39 <p class="details">There is a 400x50px shape-inside polygon inside the green box.<br/>The Content3 text line starts after the shape-inside's polygon bottom boundary, so the Content3 should be pushed below the content box.</p> 64 40 <hr> 65 41 -
trunk/LayoutTests/fast/shapes/shape-inside/shape-inside-box-sizing.html
r159792 r165472 27 27 } 28 28 .shape-inside { 29 -webkit-shape-inside: rectangle(5px, 10px, 30px, 40px);29 -webkit-shape-inside: polygon(5px 10px, 35px 10px, 35px 50px, 5px 50px); 30 30 font-family: Ahem, sans-serif; 31 31 font-size: 10px; … … 33 33 } 34 34 .border-box.shape-inside { 35 -webkit-shape-inside: rectangle(10px, 20px, 30px, 40px) border-box;35 -webkit-shape-inside: polygon(10px 20px, 40px 20px, 40px 60px, 10px 60px) border-box; 36 36 } 37 37 .border-box.border.padding.shape-inside { 38 -webkit-shape-inside: rectangle(15px, 30px, 30px, 40px) border-box;38 -webkit-shape-inside: polygon(15px 30px, 45px 30px, 45px 70px, 15px 70px) border-box; 39 39 } 40 40 .vertical-lr { -
trunk/LayoutTests/fast/shapes/shape-inside/shape-inside-dynamic-nested-expected.html
r154500 r165472 25 25 } 26 26 .inside { 27 -webkit-shape-inside: rectangle(10px, 10px, 180px, 180px);27 -webkit-shape-inside: polygon(10px 10px, 190px 10px, 190px 190px, 10px 190px); 28 28 } 29 29 .outside { 30 -webkit-shape-outside: rectangle(10px, 10px, 180px, 180px);30 -webkit-shape-outside: polygon(10px 10px, 190px 10px, 190px 190px, 10px 190px); 31 31 } 32 32 </style> -
trunk/LayoutTests/fast/shapes/shape-inside/shape-inside-dynamic-nested.html
r159979 r165472 53 53 } 54 54 .inside { 55 -webkit-shape-inside: rectangle(10px, 10px, 180px, 180px);55 -webkit-shape-inside: polygon(10px 10px, 190px 10px, 190px 190px, 10px 190px); 56 56 } 57 57 .inside-alt { … … 59 59 } 60 60 .outside { 61 -webkit-shape- outside: rectangle(10px, 10px, 180px, 180px);61 -webkit-shape-inside: polygon(10px 10px, 190px 10px, 190px 190px, 10px 190px); 62 62 } 63 63 .outside-alt { -
trunk/LayoutTests/fast/shapes/shape-inside/shape-inside-dynamic-shape.html
r154500 r165472 5 5 window.onload = function() { 6 6 var elem = document.getElementById("shape-inside"); 7 elem.setAttribute("style", "-webkit-shape-inside: rectangle(10px, 10px, 180px, 180px);");7 elem.setAttribute("style", "-webkit-shape-inside: polygon(10px 10px, 190px 10px, 190px 190px, 10px 190px);"); 8 8 }; 9 9 </script> -
trunk/LayoutTests/fast/shapes/shape-inside/shape-inside-dynamic-text.html
r154500 r165472 12 12 width: 200px; 13 13 height: 200px; 14 -webkit-shape-inside: rectangle(10px, 10px, 180px, 180px);14 -webkit-shape-inside: polygon(10px 10px, 190px 10px, 190px 190px, 10px 190px); 15 15 position: relative; 16 16 } -
trunk/LayoutTests/fast/shapes/shape-inside/shape-inside-empty-expected.html
r160007 r165472 16 16 <div id="rectangles"> 17 17 <div style="margin-top: 0px;"> 18 <p>This text should be pushed down below the green rectangle. (There is a rectangle(0px, 0px, 0px, 1em) shape-inside CSS property on the green rectangle.)</p>19 </div>20 <div>21 <p>This text should be pushed down below the green rectangle. (There is a rectangle(0px, 0px, 1em, 0px) shape-inside CSS property on the green rectangle.)</p>22 </div>23 <div>24 18 <p>This text should be pushed down below the green rectangle. (There is a circle(0px at 0px 0px) shape-inside CSS property on the green rectangle.)</p> 25 19 </div> -
trunk/LayoutTests/fast/shapes/shape-inside/shape-inside-empty.html
r160007 r165472 9 9 margin-top: 50px; 10 10 background-color: green; 11 }12 13 #shape-inside-rectangle-width0 {14 -webkit-shape-inside: rectangle(0px, 0px, 0px, 1em);15 }16 17 #shape-inside-rectangle-height0 {18 -webkit-shape-inside: rectangle(0px, 0px, 1em, 0px);19 11 } 20 12 … … 42 34 <body> 43 35 <div id="rectangles"> 44 <p id="shape-inside-rectangle-width0" style="margin-top: 0px;"> 45 This text should be pushed down below the green rectangle. (There is a rectangle(0px, 0px, 0px, 1em) shape-inside CSS property on the green rectangle.) 46 </p> 47 <p id="shape-inside-rectangle-height0"> 48 This text should be pushed down below the green rectangle. (There is a rectangle(0px, 0px, 1em, 0px) shape-inside CSS property on the green rectangle.) 49 </p> 50 <p id="shape-inside-circle-radius0"> 36 <p id="shape-inside-circle-radius0" style="margin-top: 0px;"> 51 37 This text should be pushed down below the green rectangle. (There is a circle(0px at 0px 0px) shape-inside CSS property on the green rectangle.) 52 38 </p> -
trunk/LayoutTests/fast/shapes/shape-inside/shape-inside-multiple-blocks-vertical.html
r154500 r165472 6 6 width: 200px; 7 7 height: 300px; 8 -webkit-shape-inside: rectangle(10px, 15px, 170px, 280px);8 -webkit-shape-inside: polygon(10px 15px, 180px 15px, 180px 295px, 10px 295px); 9 9 position: relative; 10 10 } -
trunk/LayoutTests/fast/shapes/shape-inside/shape-inside-multiple-blocks.html
r154500 r165472 6 6 width: 200px; 7 7 height: 300px; 8 -webkit-shape-inside: rectangle(10px, 15px, 170px, 280px);8 -webkit-shape-inside: polygon(10px 15px, 180px 15px, 180px 295px, 10px 295px); 9 9 position: relative; 10 10 } -
trunk/LayoutTests/fast/shapes/shape-inside/shape-inside-on-nested-container-with-unresolved-height.html
r156545 r165472 10 10 .container { 11 11 background-color: green; 12 -webkit-shape-inside: rectangle(0, 0, 50%,100%);12 -webkit-shape-inside: polygon(0 0, 50% 0, 50% 100%, 0 100%); 13 13 } 14 14 </style> -
trunk/LayoutTests/fast/shapes/shape-inside/shape-inside-outside-shape.html
r154757 r165472 20 20 var inlineStyle = document.getElementById('shape-inside2').style; 21 21 inlineStyle.setProperty('-webkit-shape-inside', 'outside-shape'); 22 inlineStyle.setProperty('-webkit-shape-outside', ' rectangle(50px, 50px, 100px, 100px)');22 inlineStyle.setProperty('-webkit-shape-outside', 'polygon(50px 50px, 150px 50px, 150px 150px, 50px 150px)'); 23 23 }; 24 24 </script> -
trunk/LayoutTests/fast/shapes/shape-inside/shape-inside-overflow-fixed-dimensions-block-content.html
r154500 r165472 16 16 width: 200px; 17 17 height: 200px; 18 -webkit-shape-inside: rectangle(50px, 0px, 100px,60px);18 -webkit-shape-inside: polygon(50px 0px, 150px 0px, 150px 60px, 50px 60px); 19 19 } 20 20 #border { -
trunk/LayoutTests/fast/shapes/shape-inside/shape-inside-overflow-fixed-dimensions.html
r154500 r165472 15 15 padding-top: 15px; 16 16 padding-bottom: 10px; 17 -webkit-shape-inside: rectangle(50px, 0px, 100px,50px);17 -webkit-shape-inside: polygon(50px 0px, 150px 0px, 150px 50px, 50px 50px); 18 18 } 19 19 #border { -
trunk/LayoutTests/fast/shapes/shape-inside/shape-inside-overflow.html
r154500 r165472 11 11 border: 2px solid blue; 12 12 } 13 #shape-inside { -webkit-shape-inside: rectangle(50px, 0px, 100px,50px); }13 #shape-inside { -webkit-shape-inside: polygon(50px 0px, 150px 0px, 150px 50px, 50px 50px); } 14 14 #border { 15 15 position: absolute; -
trunk/LayoutTests/fast/shapes/shape-inside/shape-inside-percentage-auto.html
r154500 r165472 4 4 <style> 5 5 #shape-inside { 6 -webkit-shape-inside: rectangle(10%, 100%, 80%,200px);6 -webkit-shape-inside: polygon(10% 100%, 90% 100%, 90% 200px, 10% 200px); 7 7 position: relative; 8 8 max-height: 200px; -
trunk/LayoutTests/fast/shapes/shape-inside/shape-inside-percentage.html
r154500 r165472 13 13 } 14 14 #shape-inside { 15 -webkit-shape-inside: rectangle(25%, 0, 50%,25%);15 -webkit-shape-inside: polygon(25% 0, 75% 0, 75% 25%, 25% 25%); 16 16 height: 100%; 17 17 width: 100%; -
trunk/LayoutTests/fast/shapes/shape-inside/shape-inside-subpixel-rectangle-top.html
r159821 r165472 7 7 <style> 8 8 #shape-inside { 9 -webkit-shape-inside: rectangle(0px, 1.3px, 200px, 200px);9 -webkit-shape-inside: polygon(0px 1.3px, 200px 1.3px, 200px 201.3px, 0px 201.3px); 10 10 font: 100px/1 Ahem, sans-serif; 11 11 -webkit-font-smoothing: antialiased; -
trunk/LayoutTests/fast/shapes/shape-inside/shape-inside-text.html
r154500 r165472 6 6 width: 200px; 7 7 height: 200px; 8 -webkit-shape-inside: rectangle(10px, 10px, 180px, 180px);8 -webkit-shape-inside: polygon(10px 10px, 190px 10px, 190px 190px, 10px 190px); 9 9 position: relative; 10 10 } -
trunk/LayoutTests/fast/shapes/shape-inside/shape-inside-vertical-text.html
r154500 r165472 6 6 width: 200px; 7 7 height: 220px; 8 -webkit-shape-inside: rectangle(15px, 20px, 150px, 175px);8 -webkit-shape-inside: polygon(15px 20px, 165px 20px, 165px 195px, 15px 195px); 9 9 -webkit-writing-mode: vertical-lr; 10 10 position: relative; … … 13 13 width: 200px; 14 14 height: 220px; 15 -webkit-shape-inside: rectangle(15px, 20px, 150px, 175px);15 -webkit-shape-inside: polygon(15px 20px, 165px 20px, 165px 195px, 15px 195px); 16 16 -webkit-writing-mode: vertical-rl; 17 17 position: relative; -
trunk/LayoutTests/fast/shapes/shape-outside-floats/shape-outside-animation-expected.txt
r162210 r165472 12 12 Moving Text 13 13 Moving Text 14 PASS - "webkitShapeOutside" property for " rectangle-box" element at 1s saw something close to: rectangle(10%, 10%, 80%, 80%, 0px,0px)14 PASS - "webkitShapeOutside" property for "inset-box" element at 1s saw something close to: inset(10% 10% 10% 10% round 0px 0px 0px 0px / 0px 0px 0px 0px) 15 15 PASS - "webkitShapeOutside" property for "circle-box" element at 1s saw something close to: circle(35% at 35% 35%) 16 16 PASS - "webkitShapeOutside" property for "ellipse-box" element at 1s saw something close to: ellipse(35% 30% at 35% 35%) -
trunk/LayoutTests/fast/shapes/shape-outside-floats/shape-outside-animation.html
r162210 r165472 15 15 } 16 16 17 # rectangle-box {18 -webkit-animation: rectangle-anim 2s linear17 #inset-box { 18 -webkit-animation: inset-anim 2s linear 19 19 } 20 20 … … 67 67 } 68 68 69 @-webkit-keyframes rectangle-anim {70 from { -webkit-shape-outside: rectangle(0%, 0%, 100%, 100%); }71 to { -webkit-shape-outside: rectangle(20%, 20%, 60%, 60%); }69 @-webkit-keyframes inset-anim { 70 from { -webkit-shape-outside: inset(0%); } 71 to { -webkit-shape-outside: inset(20%); } 72 72 } 73 73 … … 136 136 const expectedValues = [ 137 137 // [animation-name, time, element-id, property, expected-value, tolerance] 138 [" rectangle-anim", 1, "rectangle-box", "webkitShapeOutside", "rectangle(10%, 10%, 80%, 80%, 0px,0px)", 0.05],138 ["inset-anim", 1, "inset-box", "webkitShapeOutside", "inset(10% 10% 10% 10% round 0px 0px 0px 0px / 0px 0px 0px 0px)", 0.05], 139 139 ["circle-anim", 1, "circle-box", "webkitShapeOutside", "circle(35% at 35% 35%)", 0.05], 140 140 ["ellipse-anim", 1, "ellipse-box", "webkitShapeOutside", "ellipse(35% 30% at 35% 35%)", 0.05], … … 157 157 158 158 <div class='container'> 159 <div class="box" id=" rectangle-box"></div>159 <div class="box" id="inset-box"></div> 160 160 Moving Text 161 161 </div> -
trunk/LayoutTests/fast/shapes/shape-outside-floats/shape-outside-dynamic-shape-margin.html
r157400 r165472 32 32 width: 100px; 33 33 height: 100px; 34 -webkit-shape-outside: rectangle(0, 0, 0,0);34 -webkit-shape-outside: inset(0 100% 100% 0); 35 35 } 36 36 .shape::before { -
trunk/LayoutTests/fast/shapes/shape-outside-floats/shape-outside-dynamic-shape-overhang.html
r156905 r165472 48 48 49 49 .rectangle50 { 50 -webkit-shape-outside: rectangle(0, 0, 50px,50px);50 -webkit-shape-outside: polygon(0px 0px, 50px 0px, 50px 50px, 0px 50px); 51 51 } 52 52 .rectangle50::before { … … 56 56 57 57 .rectangle25 { 58 -webkit-shape-outside: rectangle(0, 0, 25px,25px);58 -webkit-shape-outside: polygon(0px 0px, 25px 0px, 25px 25px, 0px 25px); 59 59 } 60 60 .rectangle25::before { -
trunk/LayoutTests/fast/shapes/shape-outside-floats/shape-outside-dynamic-shape.html
r156905 r165472 44 44 45 45 .rectangle50 { 46 -webkit-shape-outside: rectangle(0, 0, 50px,50px);46 -webkit-shape-outside: polygon(0px 0px, 50px 0px, 50px 50px, 0px 50px); 47 47 } 48 48 .rectangle50::before { … … 52 52 53 53 .rectangle25 { 54 -webkit-shape-outside: rectangle(0, 0, 25px,25px);54 -webkit-shape-outside: polygon(0px 0px, 25px 0px, 25px 25px, 0px 25px); 55 55 } 56 56 .rectangle25::before { -
trunk/LayoutTests/fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-modes.html
r160243 r165472 9 9 .float { 10 10 -webkit-writing-mode: vertical-lr; 11 -webkit-shape-outside: rectangle(-20px, 0px, 20px,20px) content-box;11 -webkit-shape-outside: polygon(-20px 0px, 0px 0px, 0px 20px, -20px 20px) content-box; 12 12 height: 20px; 13 13 width: 40px; -
trunk/LayoutTests/fast/shapes/shape-outside-floats/shape-outside-floats-ellipse-margin-bottom.html
r154500 r165472 21 21 position: relative; 22 22 overflow: visible; 23 -webkit-shape-outside: ellipse(2 25px, 125px, 200px, 100px);23 -webkit-shape-outside: ellipse(200px 100px at 225px 125px); 24 24 -webkit-shape-margin: 25px; 25 25 width: 450px; -
trunk/LayoutTests/fast/shapes/shape-outside-floats/shape-outside-floats-ellipse-margin-left.html
r155272 r165472 21 21 position: relative; 22 22 overflow: visible; 23 -webkit-shape-outside: ellipse(2 25px, 125px, 200px, 100px);23 -webkit-shape-outside: ellipse(200px 100px at 225px 125px); 24 24 -webkit-shape-margin: 25px; 25 25 width: 450px; -
trunk/LayoutTests/fast/shapes/shape-outside-floats/shape-outside-floats-ellipse-margin-right.html
r155272 r165472 22 22 position: relative; 23 23 overflow: visible; 24 -webkit-shape-outside: ellipse(2 25px, 125px, 200px, 100px);24 -webkit-shape-outside: ellipse(200px 100px at 225px 125px); 25 25 -webkit-shape-margin: 25px; 26 26 width: 450px; -
trunk/LayoutTests/fast/shapes/shape-outside-floats/shape-outside-floats-layout-after-initial-layout-pass.html
r158630 r165472 8 8 height: 100px; 9 9 background-color: green; 10 -webkit-shape-outside: rectangle(0px, 0px, 50%, 100%);10 -webkit-shape-outside: inset(0% 50% 0% 0%); 11 11 } 12 12 #content { -
trunk/LayoutTests/fast/shapes/shape-outside-floats/shape-outside-floats-not-a-layer.html
r155244 r165472 10 10 width: 50px; 11 11 background-color: red; 12 -webkit-shape-outside: rectangle(0, 0, 0, 100%);12 -webkit-shape-outside: inset(0 100% 0 0); 13 13 } 14 14 </style> -
trunk/LayoutTests/fast/shapes/shape-outside-floats/shape-outside-floats-outermost.html
r154641 r165472 11 11 margin-bottom: 10px; 12 12 background-color: black; 13 -webkit-shape-outside: rectangle(0, 0, 50%, 100%);13 -webkit-shape-outside: inset(0 50% 0 0); 14 14 } 15 15 .short { -
trunk/LayoutTests/fast/shapes/shape-outside-floats/shape-outside-floats-polygon-000-expected.html
-
Property
svn:eol-style
set to
LF
-
Property
svn:mime-type
set to
text/html
-
Property
svn:eol-style
set to
-
trunk/LayoutTests/fast/shapes/shape-outside-floats/shape-outside-floats-polygon-000.html
-
Property
svn:eol-style
set to
LF
-
Property
svn:mime-type
set to
text/html
-
Property
svn:eol-style
set to
-
trunk/LayoutTests/fast/shapes/shape-outside-floats/shape-outside-floats-polygon-001-expected.html
-
Property
svn:eol-style
set to
LF
-
Property
svn:mime-type
set to
text/html
-
Property
svn:eol-style
set to
-
trunk/LayoutTests/fast/shapes/shape-outside-floats/shape-outside-floats-polygon-001.html
-
Property
svn:eol-style
set to
LF
-
Property
svn:mime-type
set to
text/html
-
Property
svn:eol-style
set to
-
trunk/LayoutTests/fast/shapes/shape-outside-floats/shape-outside-floats-polygon-002-expected.html
-
Property
svn:eol-style
set to
LF
-
Property
svn:mime-type
set to
text/html
-
Property
svn:eol-style
set to
-
trunk/LayoutTests/fast/shapes/shape-outside-floats/shape-outside-floats-polygon-002.html
-
Property
svn:eol-style
set to
LF
-
Property
svn:mime-type
set to
text/html
-
Property
svn:eol-style
set to
-
trunk/LayoutTests/fast/shapes/shape-outside-floats/shape-outside-shape-margin-animation.html
r157400 r165472 11 11 height: 100px; 12 12 width: 100px; 13 -webkit-shape-outside: rectangle(0, 0, 0,0);13 -webkit-shape-outside: inset(0 100% 100% 0); 14 14 float: left; 15 15 background: rgba(0, 0, 255, 0.5); -
trunk/Source/WebCore/ChangeLog
r165467 r165472 1 2014-03-12 Bem Jones-Bey <bjonesbe@adobe.com> 2 3 [CSS Shapes] Remove deprecated shapes 4 https://bugs.webkit.org/show_bug.cgi?id=125235 5 6 Reviewed by Dirk Schulze. 7 8 Remove support for deprecated shape types and syntax. These have 9 already been removed from the CSS Shapes specification, so this aligns 10 the implementation with the specification. 11 12 The "new" tests below were simply moved from the old csswg directory, 13 as they were the only tests there that applied to the current syntax. 14 15 Tests: fast/shapes/shape-outside-floats/shape-outside-floats-polygon-000.html 16 fast/shapes/shape-outside-floats/shape-outside-floats-polygon-001.html 17 fast/shapes/shape-outside-floats/shape-outside-floats-polygon-002.html 18 19 * css/BasicShapeFunctions.cpp: 20 (WebCore::valueForBasicShape): 21 (WebCore::basicShapeForValue): 22 * css/BasicShapeFunctions.h: 23 * css/CSSBasicShapes.cpp: 24 * css/CSSBasicShapes.h: 25 * css/CSSParser.cpp: 26 (WebCore::CSSParser::parseBasicShape): 27 * rendering/shapes/Shape.cpp: 28 (WebCore::Shape::createShape): 29 * rendering/shapes/ShapeInsideInfo.cpp: 30 (WebCore::ShapeInsideInfo::isEnabledFor): 31 * rendering/style/BasicShapes.cpp: 32 * rendering/style/BasicShapes.h: 33 1 34 2014-03-12 Carlos Garcia Campos <cgarcia@igalia.com> 2 35 … … 565 598 (WebCore::RenderLayer::calculateClipRects): 566 599 567 >>>>>>> .r165392568 600 2014-03-10 Hans Muller <hmuller@adobe.com> 569 601 -
trunk/Source/WebCore/css/BasicShapeFunctions.cpp
r163552 r165472 71 71 RefPtr<CSSBasicShape> basicShapeValue; 72 72 switch (basicShape->type()) { 73 case BasicShape::BasicShapeRectangleType: {74 const BasicShapeRectangle* rectangle = static_cast<const BasicShapeRectangle*>(basicShape);75 RefPtr<CSSBasicShapeRectangle> rectangleValue = CSSBasicShapeRectangle::create();76 77 rectangleValue->setX(pool.createValue(rectangle->x(), style));78 rectangleValue->setY(pool.createValue(rectangle->y(), style));79 rectangleValue->setWidth(pool.createValue(rectangle->width(), style));80 rectangleValue->setHeight(pool.createValue(rectangle->height(), style));81 rectangleValue->setRadiusX(pool.createValue(rectangle->cornerRadiusX(), style));82 rectangleValue->setRadiusY(pool.createValue(rectangle->cornerRadiusY(), style));83 84 basicShapeValue = rectangleValue.release();85 break;86 }87 case BasicShape::DeprecatedBasicShapeCircleType: {88 const DeprecatedBasicShapeCircle* circle = static_cast<const DeprecatedBasicShapeCircle*>(basicShape);89 RefPtr<CSSDeprecatedBasicShapeCircle> circleValue = CSSDeprecatedBasicShapeCircle::create();90 91 circleValue->setCenterX(pool.createValue(circle->centerX(), style));92 circleValue->setCenterY(pool.createValue(circle->centerY(), style));93 circleValue->setRadius(pool.createValue(circle->radius(), style));94 95 basicShapeValue = circleValue.release();96 break;97 }98 73 case BasicShape::BasicShapeCircleType: { 99 74 const BasicShapeCircle* circle = static_cast<const BasicShapeCircle*>(basicShape); … … 104 79 circleValue->setRadius(basicShapeRadiusToCSSValue(style, pool, circle->radius())); 105 80 basicShapeValue = circleValue.release(); 106 break;107 }108 case BasicShape::DeprecatedBasicShapeEllipseType: {109 const DeprecatedBasicShapeEllipse* ellipse = static_cast<const DeprecatedBasicShapeEllipse*>(basicShape);110 RefPtr<CSSDeprecatedBasicShapeEllipse> ellipseValue = CSSDeprecatedBasicShapeEllipse::create();111 112 ellipseValue->setCenterX(pool.createValue(ellipse->centerX(), style));113 ellipseValue->setCenterY(pool.createValue(ellipse->centerY(), style));114 ellipseValue->setRadiusX(pool.createValue(ellipse->radiusX(), style));115 ellipseValue->setRadiusY(pool.createValue(ellipse->radiusY(), style));116 117 basicShapeValue = ellipseValue.release();118 81 break; 119 82 } … … 139 102 140 103 basicShapeValue = polygonValue.release(); 141 break;142 }143 case BasicShape::BasicShapeInsetRectangleType: {144 const BasicShapeInsetRectangle* rectangle = static_cast<const BasicShapeInsetRectangle*>(basicShape);145 RefPtr<CSSBasicShapeInsetRectangle> rectangleValue = CSSBasicShapeInsetRectangle::create();146 147 rectangleValue->setTop(pool.createValue(rectangle->top(), style));148 rectangleValue->setRight(pool.createValue(rectangle->right(), style));149 rectangleValue->setBottom(pool.createValue(rectangle->bottom(), style));150 rectangleValue->setLeft(pool.createValue(rectangle->left(), style));151 rectangleValue->setRadiusX(pool.createValue(rectangle->cornerRadiusX(), style));152 rectangleValue->setRadiusY(pool.createValue(rectangle->cornerRadiusY(), style));153 154 basicShapeValue = rectangleValue.release();155 104 break; 156 105 } … … 259 208 260 209 switch (basicShapeValue->type()) { 261 case CSSBasicShape::CSSBasicShapeRectangleType: {262 const CSSBasicShapeRectangle* rectValue = static_cast<const CSSBasicShapeRectangle *>(basicShapeValue);263 RefPtr<BasicShapeRectangle> rect = BasicShapeRectangle::create();264 265 rect->setX(convertToLength(style, rootStyle, rectValue->x()));266 rect->setY(convertToLength(style, rootStyle, rectValue->y()));267 rect->setWidth(convertToLength(style, rootStyle, rectValue->width()));268 rect->setHeight(convertToLength(style, rootStyle, rectValue->height()));269 if (rectValue->radiusX()) {270 Length radiusX = convertToLength(style, rootStyle, rectValue->radiusX());271 rect->setCornerRadiusX(radiusX);272 if (rectValue->radiusY())273 rect->setCornerRadiusY(convertToLength(style, rootStyle, rectValue->radiusY()));274 else275 rect->setCornerRadiusY(radiusX);276 } else {277 rect->setCornerRadiusX(Length(0, Fixed));278 rect->setCornerRadiusY(Length(0, Fixed));279 }280 basicShape = rect.release();281 break;282 }283 case CSSBasicShape::CSSDeprecatedBasicShapeCircleType: {284 const CSSDeprecatedBasicShapeCircle* circleValue = static_cast<const CSSDeprecatedBasicShapeCircle *>(basicShapeValue);285 RefPtr<DeprecatedBasicShapeCircle> circle = DeprecatedBasicShapeCircle::create();286 287 circle->setCenterX(convertToLength(style, rootStyle, circleValue->centerX()));288 circle->setCenterY(convertToLength(style, rootStyle, circleValue->centerY()));289 circle->setRadius(convertToLength(style, rootStyle, circleValue->radius()));290 291 basicShape = circle.release();292 break;293 }294 210 case CSSBasicShape::CSSBasicShapeCircleType: { 295 211 const CSSBasicShapeCircle* circleValue = static_cast<const CSSBasicShapeCircle *>(basicShapeValue); … … 301 217 302 218 basicShape = circle.release(); 303 break;304 }305 case CSSBasicShape::CSSDeprecatedBasicShapeEllipseType: {306 const CSSDeprecatedBasicShapeEllipse* ellipseValue = static_cast<const CSSDeprecatedBasicShapeEllipse *>(basicShapeValue);307 RefPtr<DeprecatedBasicShapeEllipse> ellipse = DeprecatedBasicShapeEllipse::create();308 309 ellipse->setCenterX(convertToLength(style, rootStyle, ellipseValue->centerX()));310 ellipse->setCenterY(convertToLength(style, rootStyle, ellipseValue->centerY()));311 ellipse->setRadiusX(convertToLength(style, rootStyle, ellipseValue->radiusX()));312 ellipse->setRadiusY(convertToLength(style, rootStyle, ellipseValue->radiusY()));313 314 basicShape = ellipse.release();315 219 break; 316 220 } … … 340 244 break; 341 245 } 342 case CSSBasicShape::CSSBasicShapeInset RectangleType: {343 const CSSBasicShapeInset Rectangle* rectValue = static_cast<const CSSBasicShapeInsetRectangle *>(basicShapeValue);344 RefPtr<BasicShapeInset Rectangle> rect = BasicShapeInsetRectangle::create();246 case CSSBasicShape::CSSBasicShapeInsetType: { 247 const CSSBasicShapeInset* rectValue = static_cast<const CSSBasicShapeInset* >(basicShapeValue); 248 RefPtr<BasicShapeInset> rect = BasicShapeInset::create(); 345 249 346 250 rect->setTop(convertToLength(style, rootStyle, rectValue->top())); … … 348 252 rect->setBottom(convertToLength(style, rootStyle, rectValue->bottom())); 349 253 rect->setLeft(convertToLength(style, rootStyle, rectValue->left())); 350 if (rectValue->radiusX()) {351 Length radiusX = convertToLength(style, rootStyle, rectValue->radiusX());352 rect->setCornerRadiusX(radiusX);353 if (rectValue->radiusY())354 rect->setCornerRadiusY(convertToLength(style, rootStyle, rectValue->radiusY()));355 else356 rect->setCornerRadiusY(radiusX);357 } else {358 rect->setCornerRadiusX(Length(0, Fixed));359 rect->setCornerRadiusY(Length(0, Fixed));360 }361 basicShape = rect.release();362 break;363 }364 case CSSBasicShape::CSSBasicShapeInsetType: {365 const CSSBasicShapeInset* rectValue = static_cast<const CSSBasicShapeInset* >(basicShapeValue);366 RefPtr<BasicShapeInset> rect = BasicShapeInset::create();367 368 rect->setTop(convertToLength(style, rootStyle, rectValue->top()));369 rect->setRight(convertToLength(style, rootStyle, rectValue->right()));370 rect->setBottom(convertToLength(style, rootStyle, rectValue->bottom()));371 rect->setLeft(convertToLength(style, rootStyle, rectValue->left()));372 254 373 255 rect->setTopLeftRadius(convertToLengthSize(style, rootStyle, rectValue->topLeftRadius())); -
trunk/Source/WebCore/css/BasicShapeFunctions.h
r161569 r165472 44 44 PassRefPtr<BasicShape> basicShapeForValue(const RenderStyle*, const RenderStyle* rootStyle, const CSSBasicShape*); 45 45 46 PassRefPtr<CSSPrimitiveValue> valueForBox(LayoutBox);47 LayoutBox boxForValue(const CSSPrimitiveValue*);48 49 46 float floatValueForCenterCoordinate(const BasicShapeCenterCoordinate&, float); 50 47 } -
trunk/Source/WebCore/css/CSSBasicShapes.cpp
r165277 r165472 41 41 namespace WebCore { 42 42 43 static String buildRectangleString(const String& x, const String& y, const String& width, const String& height, const String& radiusX, const String& radiusY, const String& box)44 {45 char opening[] = "rectangle(";46 char separator[] = ", ";47 StringBuilder result;48 // Compute the required capacity in advance to reduce allocations.49 result.reserveCapacity((sizeof(opening) - 1) + (5 * (sizeof(separator) - 1)) + 1 + x.length() + y.length() + width.length() + height.length() + radiusX.length() + radiusY.length() + (box.length() ? box.length() + 1 : 0));50 result.appendLiteral(opening);51 result.append(x);52 result.appendLiteral(separator);53 result.append(y);54 result.appendLiteral(separator);55 result.append(width);56 result.appendLiteral(separator);57 result.append(height);58 if (!radiusX.isNull()) {59 result.appendLiteral(separator);60 result.append(radiusX);61 if (!radiusY.isNull()) {62 result.appendLiteral(separator);63 result.append(radiusY);64 }65 }66 result.append(')');67 if (box.length()) {68 result.append(' ');69 result.append(box);70 }71 return result.toString();72 }73 74 String CSSBasicShapeRectangle::cssText() const75 {76 return buildRectangleString(m_x->cssText(),77 m_y->cssText(),78 m_width->cssText(),79 m_height->cssText(),80 m_radiusX.get() ? m_radiusX->cssText() : String(),81 m_radiusY.get() ? m_radiusY->cssText() : String(),82 m_layoutBox ? m_layoutBox->cssText() : String());83 }84 85 bool CSSBasicShapeRectangle::equals(const CSSBasicShape& shape) const86 {87 if (shape.type() != CSSBasicShapeRectangleType)88 return false;89 90 const CSSBasicShapeRectangle& other = static_cast<const CSSBasicShapeRectangle&>(shape);91 return compareCSSValuePtr(m_x, other.m_x)92 && compareCSSValuePtr(m_y, other.m_y)93 && compareCSSValuePtr(m_width, other.m_width)94 && compareCSSValuePtr(m_height, other.m_height)95 && compareCSSValuePtr(m_radiusX, other.m_radiusX)96 && compareCSSValuePtr(m_radiusY, other.m_radiusY)97 && compareCSSValuePtr(m_layoutBox, other.m_layoutBox);98 }99 100 43 static String serializePositionOffset(const Pair& offset, const Pair& other) 101 44 { … … 189 132 } 190 133 191 static String buildDeprecatedCircleString(const String& x, const String& y, const String& radius, const String& box)192 {193 StringBuilder result;194 char opening[] = "circle(";195 char separator[] = ", ";196 result.appendLiteral(opening);197 result.append(x);198 result.appendLiteral(separator);199 result.append(y);200 result.appendLiteral(separator);201 result.append(radius);202 result.append(')');203 if (box.length()) {204 result.append(' ');205 result.append(box);206 }207 return result.toString();208 }209 210 String CSSDeprecatedBasicShapeCircle::cssText() const211 {212 return buildDeprecatedCircleString(m_centerX->cssText(), m_centerY->cssText(), m_radius->cssText(), m_layoutBox ? m_layoutBox->cssText() : String());213 }214 215 bool CSSDeprecatedBasicShapeCircle::equals(const CSSBasicShape& shape) const216 {217 if (shape.type() != CSSDeprecatedBasicShapeCircleType)218 return false;219 220 const CSSDeprecatedBasicShapeCircle& other = static_cast<const CSSDeprecatedBasicShapeCircle&>(shape);221 return compareCSSValuePtr(m_centerX, other.m_centerX)222 && compareCSSValuePtr(m_centerY, other.m_centerY)223 && compareCSSValuePtr(m_radius, other.m_radius)224 && compareCSSValuePtr(m_layoutBox, other.m_layoutBox);225 }226 227 134 static String buildEllipseString(const String& radiusX, const String& radiusY, const String& centerX, const String& centerY, const String& box) 228 135 { … … 279 186 280 187 const CSSBasicShapeEllipse& other = static_cast<const CSSBasicShapeEllipse&>(shape); 281 return compareCSSValuePtr(m_centerX, other.m_centerX)282 && compareCSSValuePtr(m_centerY, other.m_centerY)283 && compareCSSValuePtr(m_radiusX, other.m_radiusX)284 && compareCSSValuePtr(m_radiusY, other.m_radiusY)285 && compareCSSValuePtr(m_layoutBox, other.m_layoutBox);286 }287 288 static String buildDeprecatedEllipseString(const String& x, const String& y, const String& radiusX, const String& radiusY, const String& box)289 {290 StringBuilder result;291 char opening[] = "ellipse(";292 char separator[] = ", ";293 result.appendLiteral(opening);294 result.append(x);295 result.appendLiteral(separator);296 result.append(y);297 result.appendLiteral(separator);298 result.append(radiusX);299 result.appendLiteral(separator);300 result.append(radiusY);301 result.append(')');302 if (box.length()) {303 result.append(' ');304 result.append(box);305 }306 return result.toString();307 }308 309 String CSSDeprecatedBasicShapeEllipse::cssText() const310 {311 return buildDeprecatedEllipseString(m_centerX->cssText(), m_centerY->cssText(), m_radiusX->cssText(), m_radiusY->cssText(), m_layoutBox ? m_layoutBox->cssText() : String());312 }313 314 bool CSSDeprecatedBasicShapeEllipse::equals(const CSSBasicShape& shape) const315 {316 if (shape.type() != CSSDeprecatedBasicShapeEllipseType)317 return false;318 319 const CSSDeprecatedBasicShapeEllipse& other = static_cast<const CSSDeprecatedBasicShapeEllipse&>(shape);320 188 return compareCSSValuePtr(m_centerX, other.m_centerX) 321 189 && compareCSSValuePtr(m_centerY, other.m_centerY) … … 393 261 } 394 262 395 static String buildInsetRectangleString(const String& top, const String& right, const String& bottom, const String& left, const String& radiusX, const String& radiusY, const String& box)396 {397 char opening[] = "inset-rectangle(";398 char separator[] = ", ";399 StringBuilder result;400 // Compute the required capacity in advance to reduce allocations.401 result.reserveCapacity((sizeof(opening) - 1) + (5 * (sizeof(separator) - 1)) + 1 + top.length() + right.length() + bottom.length() + left.length() + radiusX.length() + radiusY.length() + (box.length() ? box.length() + 1 : 0));402 result.appendLiteral(opening);403 result.append(top);404 result.appendLiteral(separator);405 result.append(right);406 result.appendLiteral(separator);407 result.append(bottom);408 result.appendLiteral(separator);409 result.append(left);410 if (!radiusX.isNull()) {411 result.appendLiteral(separator);412 result.append(radiusX);413 if (!radiusY.isNull()) {414 result.appendLiteral(separator);415 result.append(radiusY);416 }417 }418 result.append(')');419 if (box.length()) {420 result.append(' ');421 result.append(box);422 }423 return result.toString();424 }425 426 String CSSBasicShapeInsetRectangle::cssText() const427 {428 return buildInsetRectangleString(m_top->cssText(),429 m_right->cssText(),430 m_bottom->cssText(),431 m_left->cssText(),432 m_radiusX.get() ? m_radiusX->cssText() : String(),433 m_radiusY.get() ? m_radiusY->cssText() : String(),434 m_layoutBox ? m_layoutBox->cssText() : String());435 }436 437 bool CSSBasicShapeInsetRectangle::equals(const CSSBasicShape& shape) const438 {439 if (shape.type() != CSSBasicShapeInsetRectangleType)440 return false;441 442 const CSSBasicShapeInsetRectangle& other = static_cast<const CSSBasicShapeInsetRectangle&>(shape);443 return compareCSSValuePtr(m_top, other.m_top)444 && compareCSSValuePtr(m_right, other.m_right)445 && compareCSSValuePtr(m_bottom, other.m_bottom)446 && compareCSSValuePtr(m_left, other.m_left)447 && compareCSSValuePtr(m_radiusX, other.m_radiusX)448 && compareCSSValuePtr(m_radiusY, other.m_radiusY)449 && compareCSSValuePtr(m_layoutBox, other.m_layoutBox);450 }451 452 263 static String buildInsetString(const String& top, const String& right, const String& bottom, const String& left, 453 264 const String& topLeftRadiusWidth, const String& topLeftRadiusHeight, -
trunk/Source/WebCore/css/CSSBasicShapes.h
r162139 r165472 42 42 public: 43 43 enum Type { 44 CSSBasicShapeRectangleType,45 CSSDeprecatedBasicShapeCircleType,46 CSSDeprecatedBasicShapeEllipseType,47 44 CSSBasicShapePolygonType, 48 CSSBasicShapeInsetRectangleType,49 45 CSSBasicShapeCircleType, 50 46 CSSBasicShapeEllipseType, … … 66 62 RefPtr<CSSPrimitiveValue> m_layoutBox; 67 63 }; 68 69 class CSSBasicShapeRectangle : public CSSBasicShape {70 public:71 static PassRefPtr<CSSBasicShapeRectangle> create() { return adoptRef(new CSSBasicShapeRectangle); }72 73 CSSPrimitiveValue* x() const { return m_x.get(); }74 CSSPrimitiveValue* y() const { return m_y.get(); }75 CSSPrimitiveValue* width() const { return m_width.get(); }76 CSSPrimitiveValue* height() const { return m_height.get(); }77 CSSPrimitiveValue* radiusX() const { return m_radiusX.get(); }78 CSSPrimitiveValue* radiusY() const { return m_radiusY.get(); }79 80 void setX(PassRefPtr<CSSPrimitiveValue> x) { m_x = x; }81 void setY(PassRefPtr<CSSPrimitiveValue> y) { m_y = y; }82 void setWidth(PassRefPtr<CSSPrimitiveValue> width) { m_width = width; }83 void setHeight(PassRefPtr<CSSPrimitiveValue> height) { m_height = height; }84 void setRadiusX(PassRefPtr<CSSPrimitiveValue> radiusX) { m_radiusX = radiusX; }85 void setRadiusY(PassRefPtr<CSSPrimitiveValue> radiusY) { m_radiusY = radiusY; }86 87 virtual Type type() const override { return CSSBasicShapeRectangleType; }88 virtual String cssText() const override;89 virtual bool equals(const CSSBasicShape&) const override;90 91 private:92 CSSBasicShapeRectangle() { }93 94 RefPtr<CSSPrimitiveValue> m_y;95 RefPtr<CSSPrimitiveValue> m_x;96 RefPtr<CSSPrimitiveValue> m_width;97 RefPtr<CSSPrimitiveValue> m_height;98 RefPtr<CSSPrimitiveValue> m_radiusX;99 RefPtr<CSSPrimitiveValue> m_radiusY;100 };101 102 class CSSBasicShapeInsetRectangle : public CSSBasicShape {103 public:104 static PassRefPtr<CSSBasicShapeInsetRectangle> create() { return adoptRef(new CSSBasicShapeInsetRectangle); }105 106 CSSPrimitiveValue* top() const { return m_top.get(); }107 CSSPrimitiveValue* right() const { return m_right.get(); }108 CSSPrimitiveValue* bottom() const { return m_bottom.get(); }109 CSSPrimitiveValue* left() const { return m_left.get(); }110 CSSPrimitiveValue* radiusX() const { return m_radiusX.get(); }111 CSSPrimitiveValue* radiusY() const { return m_radiusY.get(); }112 113 void setTop(PassRefPtr<CSSPrimitiveValue> top) { m_top = top; }114 void setRight(PassRefPtr<CSSPrimitiveValue> right) { m_right = right; }115 void setBottom(PassRefPtr<CSSPrimitiveValue> bottom) { m_bottom = bottom; }116 void setLeft(PassRefPtr<CSSPrimitiveValue> left) { m_left = left; }117 void setRadiusX(PassRefPtr<CSSPrimitiveValue> radiusX) { m_radiusX = radiusX; }118 void setRadiusY(PassRefPtr<CSSPrimitiveValue> radiusY) { m_radiusY = radiusY; }119 120 virtual Type type() const override { return CSSBasicShapeInsetRectangleType; }121 virtual String cssText() const override;122 virtual bool equals(const CSSBasicShape&) const override;123 124 private:125 CSSBasicShapeInsetRectangle() { }126 127 RefPtr<CSSPrimitiveValue> m_right;128 RefPtr<CSSPrimitiveValue> m_top;129 RefPtr<CSSPrimitiveValue> m_bottom;130 RefPtr<CSSPrimitiveValue> m_left;131 RefPtr<CSSPrimitiveValue> m_radiusX;132 RefPtr<CSSPrimitiveValue> m_radiusY;133 };134 135 64 136 65 class CSSBasicShapeInset : public CSSBasicShape { … … 200 129 }; 201 130 202 class CSSDeprecatedBasicShapeCircle : public CSSBasicShape {203 public:204 static PassRefPtr<CSSDeprecatedBasicShapeCircle> create() { return adoptRef(new CSSDeprecatedBasicShapeCircle); }205 206 CSSPrimitiveValue* centerX() const { return m_centerX.get(); }207 CSSPrimitiveValue* centerY() const { return m_centerY.get(); }208 CSSPrimitiveValue* radius() const { return m_radius.get(); }209 210 void setCenterX(PassRefPtr<CSSPrimitiveValue> centerX) { m_centerX = centerX; }211 void setCenterY(PassRefPtr<CSSPrimitiveValue> centerY) { m_centerY = centerY; }212 void setRadius(PassRefPtr<CSSPrimitiveValue> radius) { m_radius = radius; }213 214 virtual Type type() const override { return CSSDeprecatedBasicShapeCircleType; }215 virtual String cssText() const override;216 virtual bool equals(const CSSBasicShape&) const override;217 218 private:219 CSSDeprecatedBasicShapeCircle() { }220 221 RefPtr<CSSPrimitiveValue> m_centerY;222 RefPtr<CSSPrimitiveValue> m_centerX;223 RefPtr<CSSPrimitiveValue> m_radius;224 };225 226 class CSSDeprecatedBasicShapeEllipse : public CSSBasicShape {227 public:228 static PassRefPtr<CSSDeprecatedBasicShapeEllipse> create() { return adoptRef(new CSSDeprecatedBasicShapeEllipse); }229 230 CSSPrimitiveValue* centerX() const { return m_centerX.get(); }231 CSSPrimitiveValue* centerY() const { return m_centerY.get(); }232 CSSPrimitiveValue* radiusX() const { return m_radiusX.get(); }233 CSSPrimitiveValue* radiusY() const { return m_radiusY.get(); }234 235 void setCenterX(PassRefPtr<CSSPrimitiveValue> centerX) { m_centerX = centerX; }236 void setCenterY(PassRefPtr<CSSPrimitiveValue> centerY) { m_centerY = centerY; }237 void setRadiusX(PassRefPtr<CSSPrimitiveValue> radiusX) { m_radiusX = radiusX; }238 void setRadiusY(PassRefPtr<CSSPrimitiveValue> radiusY) { m_radiusY = radiusY; }239 240 virtual Type type() const override { return CSSDeprecatedBasicShapeEllipseType; }241 virtual String cssText() const override;242 virtual bool equals(const CSSBasicShape&) const override;243 244 private:245 CSSDeprecatedBasicShapeEllipse() { }246 247 RefPtr<CSSPrimitiveValue> m_centerX;248 RefPtr<CSSPrimitiveValue> m_centerY;249 RefPtr<CSSPrimitiveValue> m_radiusX;250 RefPtr<CSSPrimitiveValue> m_radiusY;251 };252 253 131 class CSSBasicShapeEllipse : public CSSBasicShape { 254 132 public: -
trunk/Source/WebCore/css/CSSParser.cpp
r164795 r165472 5469 5469 } 5470 5470 5471 PassRefPtr<CSSBasicShape> CSSParser::parseBasicShapeRectangle(CSSParserValueList* args)5472 {5473 ASSERT(args);5474 5475 // rect(x, y, width, height, [[rx], ry])5476 if (args->size() != 7 && args->size() != 9 && args->size() != 11)5477 return 0;5478 5479 RefPtr<CSSBasicShapeRectangle> shape = CSSBasicShapeRectangle::create();5480 5481 unsigned argumentNumber = 0;5482 CSSParserValue* argument = args->current();5483 while (argument) {5484 Units unitFlags = FLength | FPercent;5485 if (argumentNumber > 1) {5486 // Arguments width, height, rx, and ry cannot be negative.5487 unitFlags = unitFlags | FNonNeg;5488 }5489 if (!validUnit(argument, unitFlags))5490 return 0;5491 5492 RefPtr<CSSPrimitiveValue> length = createPrimitiveNumericValue(argument);5493 ASSERT(argumentNumber < 6);5494 switch (argumentNumber) {5495 case 0:5496 shape->setX(length);5497 break;5498 case 1:5499 shape->setY(length);5500 break;5501 case 2:5502 shape->setWidth(length);5503 break;5504 case 3:5505 shape->setHeight(length);5506 break;5507 case 4:5508 shape->setRadiusX(length);5509 break;5510 case 5:5511 shape->setRadiusY(length);5512 break;5513 }5514 argument = args->next();5515 if (argument) {5516 if (!isComma(argument))5517 return 0;5518 5519 argument = args->next();5520 }5521 argumentNumber++;5522 }5523 5524 if (argumentNumber < 4)5525 return 0;5526 return shape;5527 }5528 5529 PassRefPtr<CSSBasicShape> CSSParser::parseBasicShapeInsetRectangle(CSSParserValueList* args)5530 {5531 ASSERT(args);5532 5533 // inset-rectangle(top, right, bottom, left, [[rx], ry])5534 if (args->size() != 7 && args->size() != 9 && args->size() != 11)5535 return 0;5536 5537 RefPtr<CSSBasicShapeInsetRectangle> shape = CSSBasicShapeInsetRectangle::create();5538 5539 unsigned argumentNumber = 0;5540 CSSParserValue* argument = args->current();5541 while (argument) {5542 Units unitFlags = FLength | FPercent | FNonNeg;5543 if (!validUnit(argument, unitFlags))5544 return 0;5545 5546 RefPtr<CSSPrimitiveValue> length = createPrimitiveNumericValue(argument);5547 ASSERT(argumentNumber < 6);5548 switch (argumentNumber) {5549 case 0:5550 shape->setTop(length);5551 break;5552 case 1:5553 shape->setRight(length);5554 break;5555 case 2:5556 shape->setBottom(length);5557 break;5558 case 3:5559 shape->setLeft(length);5560 break;5561 case 4:5562 shape->setRadiusX(length);5563 break;5564 case 5:5565 shape->setRadiusY(length);5566 break;5567 }5568 argument = args->next();5569 if (argument) {5570 if (!isComma(argument))5571 return 0;5572 5573 argument = args->next();5574 }5575 argumentNumber++;5576 }5577 5578 if (argumentNumber < 4)5579 return 0;5580 return shape;5581 }5582 5583 5471 PassRefPtr<CSSPrimitiveValue> CSSParser::parseShapeRadius(CSSParserValue* value) 5584 5472 { … … 5637 5525 } 5638 5526 5639 PassRefPtr<CSSBasicShape> CSSParser::parseDeprecatedBasicShapeCircle(CSSParserValueList* args)5640 {5641 ASSERT(args);5642 5643 // circle(centerX, centerY, radius)5644 if (args->size() != 5)5645 return 0;5646 5647 RefPtr<CSSDeprecatedBasicShapeCircle> shape = CSSDeprecatedBasicShapeCircle::create();5648 5649 unsigned argumentNumber = 0;5650 CSSParserValue* argument = args->current();5651 while (argument) {5652 Units unitFlags = FLength | FPercent;5653 if (argumentNumber == 2) {5654 // Argument radius cannot be negative.5655 unitFlags = unitFlags | FNonNeg;5656 }5657 5658 if (!validUnit(argument, unitFlags))5659 return 0;5660 5661 RefPtr<CSSPrimitiveValue> length = createPrimitiveNumericValue(argument);5662 ASSERT(argumentNumber < 3);5663 switch (argumentNumber) {5664 case 0:5665 shape->setCenterX(length);5666 break;5667 case 1:5668 shape->setCenterY(length);5669 break;5670 case 2:5671 shape->setRadius(length);5672 break;5673 }5674 5675 argument = args->next();5676 if (argument) {5677 if (!isComma(argument))5678 return 0;5679 argument = args->next();5680 }5681 argumentNumber++;5682 }5683 5684 if (argumentNumber < 3)5685 return 0;5686 return shape;5687 }5688 5689 5527 PassRefPtr<CSSBasicShape> CSSParser::parseBasicShapeEllipse(CSSParserValueList* args) 5690 5528 { … … 5733 5571 } 5734 5572 5735 return shape;5736 }5737 5738 PassRefPtr<CSSBasicShape> CSSParser::parseDeprecatedBasicShapeEllipse(CSSParserValueList* args)5739 {5740 ASSERT(args);5741 5742 // ellipse(centerX, centerY, radiusX, radiusY)5743 if (args->size() != 7)5744 return 0;5745 5746 RefPtr<CSSDeprecatedBasicShapeEllipse> shape = CSSDeprecatedBasicShapeEllipse::create();5747 unsigned argumentNumber = 0;5748 CSSParserValue* argument = args->current();5749 while (argument) {5750 Units unitFlags = FLength | FPercent;5751 if (argumentNumber > 1) {5752 // Arguments radiusX and radiusY cannot be negative.5753 unitFlags = unitFlags | FNonNeg;5754 }5755 if (!validUnit(argument, unitFlags))5756 return 0;5757 5758 RefPtr<CSSPrimitiveValue> length = createPrimitiveNumericValue(argument);5759 ASSERT(argumentNumber < 4);5760 switch (argumentNumber) {5761 case 0:5762 shape->setCenterX(length);5763 break;5764 case 1:5765 shape->setCenterY(length);5766 break;5767 case 2:5768 shape->setRadiusX(length);5769 break;5770 case 3:5771 shape->setRadiusY(length);5772 break;5773 }5774 5775 argument = args->next();5776 if (argument) {5777 if (!isComma(argument))5778 return 0;5779 argument = args->next();5780 }5781 argumentNumber++;5782 }5783 5784 if (argumentNumber < 4)5785 return 0;5786 5573 return shape; 5787 5574 } … … 5939 5726 } 5940 5727 5941 // FIXME This function is temporary to allow for an orderly transition between5942 // the new CSS Shapes circle and ellipse syntax. It will be removed when the5943 // old syntax is removed.5944 static bool isDeprecatedBasicShape(CSSParserValueList* args)5945 {5946 for (unsigned i = args->currentIndex(); i < args->size(); ++i) {5947 CSSParserValue* value = args->valueAt(i);5948 if (isComma(value))5949 return true;5950 }5951 5952 return false;5953 }5954 5955 5728 PassRefPtr<CSSPrimitiveValue> CSSParser::parseBasicShape() 5956 5729 { … … 5963 5736 5964 5737 RefPtr<CSSBasicShape> shape; 5965 if (equalIgnoringCase(value->function->name, "rectangle(")) 5966 shape = parseBasicShapeRectangle(args); 5967 else if (equalIgnoringCase(value->function->name, "circle(")) 5968 if (isDeprecatedBasicShape(args)) 5969 shape = parseDeprecatedBasicShapeCircle(args); 5970 else 5971 shape = parseBasicShapeCircle(args); 5738 if (equalIgnoringCase(value->function->name, "circle(")) 5739 shape = parseBasicShapeCircle(args); 5972 5740 else if (equalIgnoringCase(value->function->name, "ellipse(")) 5973 if (isDeprecatedBasicShape(args)) 5974 shape = parseDeprecatedBasicShapeEllipse(args); 5975 else 5976 shape = parseBasicShapeEllipse(args); 5741 shape = parseBasicShapeEllipse(args); 5977 5742 else if (equalIgnoringCase(value->function->name, "polygon(")) 5978 5743 shape = parseBasicShapePolygon(args); 5979 else if (equalIgnoringCase(value->function->name, "inset-rectangle("))5980 shape = parseBasicShapeInsetRectangle(args);5981 5744 else if (equalIgnoringCase(value->function->name, "inset(")) 5982 5745 shape = parseBasicShapeInset(args); -
trunk/Source/WebCore/rendering/shapes/Shape.cpp
r165429 r165472 53 53 } 54 54 55 static PassOwnPtr<Shape> createRectangleShape(const FloatRect& bounds, const FloatSize& radii)56 {57 ASSERT(bounds.width() >= 0 && bounds.height() >= 0 && radii.width() >= 0 && radii.height() >= 0);58 return adoptPtr(new RectangleShape(bounds, radii));59 }60 61 55 static PassOwnPtr<Shape> createCircleShape(const FloatPoint& center, float radius) 62 56 { … … 123 117 switch (basicShape->type()) { 124 118 125 case BasicShape::BasicShapeRectangleType: {126 const BasicShapeRectangle& rectangle = *static_cast<const BasicShapeRectangle*>(basicShape);127 FloatRect bounds(128 floatValueForLength(rectangle.x(), boxWidth),129 floatValueForLength(rectangle.y(), boxHeight),130 floatValueForLength(rectangle.width(), boxWidth),131 floatValueForLength(rectangle.height(), boxHeight));132 FloatSize cornerRadii(133 floatValueForLength(rectangle.cornerRadiusX(), boxWidth),134 floatValueForLength(rectangle.cornerRadiusY(), boxHeight));135 ensureRadiiDoNotOverlap(bounds, cornerRadii);136 FloatRect logicalBounds = physicalRectToLogical(bounds, logicalBoxSize.height(), writingMode);137 138 shape = createRectangleShape(logicalBounds, physicalSizeToLogical(cornerRadii, writingMode));139 break;140 }141 142 case BasicShape::DeprecatedBasicShapeCircleType: {143 const DeprecatedBasicShapeCircle* circle = static_cast<const DeprecatedBasicShapeCircle*>(basicShape);144 float centerX = floatValueForLength(circle->centerX(), boxWidth);145 float centerY = floatValueForLength(circle->centerY(), boxHeight);146 float radius = floatValueForLength(circle->radius(), sqrtf((boxWidth * boxWidth + boxHeight * boxHeight) / 2));147 FloatPoint logicalCenter = physicalPointToLogical(FloatPoint(centerX, centerY), logicalBoxSize.height(), writingMode);148 149 shape = createCircleShape(logicalCenter, radius);150 break;151 }152 153 119 case BasicShape::BasicShapeCircleType: { 154 120 const BasicShapeCircle* circle = static_cast<const BasicShapeCircle*>(basicShape); … … 159 125 160 126 shape = createCircleShape(logicalCenter, radius); 161 break;162 }163 164 case BasicShape::DeprecatedBasicShapeEllipseType: {165 const DeprecatedBasicShapeEllipse* ellipse = static_cast<const DeprecatedBasicShapeEllipse*>(basicShape);166 float centerX = floatValueForLength(ellipse->centerX(), boxWidth);167 float centerY = floatValueForLength(ellipse->centerY(), boxHeight);168 float radiusX = floatValueForLength(ellipse->radiusX(), boxWidth);169 float radiusY = floatValueForLength(ellipse->radiusY(), boxHeight);170 FloatPoint logicalCenter = physicalPointToLogical(FloatPoint(centerX, centerY), logicalBoxSize.height(), writingMode);171 FloatSize logicalRadii = physicalSizeToLogical(FloatSize(radiusX, radiusY), writingMode);172 173 shape = createEllipseShape(logicalCenter, logicalRadii);174 127 break; 175 128 } … … 201 154 202 155 shape = createPolygonShape(vertices.release(), polygon.windRule()); 203 break;204 }205 206 case BasicShape::BasicShapeInsetRectangleType: {207 const BasicShapeInsetRectangle& rectangle = *static_cast<const BasicShapeInsetRectangle*>(basicShape);208 float left = floatValueForLength(rectangle.left(), boxWidth);209 float top = floatValueForLength(rectangle.top(), boxHeight);210 FloatRect bounds(211 left,212 top,213 std::max<float>(boxWidth - left - floatValueForLength(rectangle.right(), boxWidth), 0),214 std::max<float>(boxHeight - top - floatValueForLength(rectangle.bottom(), boxHeight), 0));215 FloatSize cornerRadii(216 floatValueForLength(rectangle.cornerRadiusX(), boxWidth),217 floatValueForLength(rectangle.cornerRadiusY(), boxHeight));218 ensureRadiiDoNotOverlap(bounds, cornerRadii);219 FloatRect logicalBounds = physicalRectToLogical(bounds, logicalBoxSize.height(), writingMode);220 221 shape = createRectangleShape(logicalBounds, physicalSizeToLogical(cornerRadii, writingMode));222 156 break; 223 157 } -
trunk/Source/WebCore/rendering/shapes/ShapeInsideInfo.cpp
r164363 r165472 52 52 switch (shapeValue->type()) { 53 53 case ShapeValue::Shape: 54 return shapeValue->shape() && shapeValue->shape()->type() != BasicShape::BasicShapeInset RectangleType && shapeValue->shape()->type() != BasicShape::BasicShapeInsetType;54 return shapeValue->shape() && shapeValue->shape()->type() != BasicShape::BasicShapeInsetType; 55 55 case ShapeValue::Image: 56 56 return shapeValue->isImageValid() && checkShapeImageOrigin(renderer.document(), *(shapeValue->image()->cachedImage())); -
trunk/Source/WebCore/rendering/style/BasicShapes.cpp
r165055 r165472 93 93 } 94 94 95 void BasicShapeRectangle::path(Path& path, const FloatRect& boundingBox)96 {97 ASSERT(path.isEmpty());98 path.addRoundedRect(99 FloatRect(100 floatValueForLength(m_x, boundingBox.width()) + boundingBox.x(),101 floatValueForLength(m_y, boundingBox.height()) + boundingBox.y(),102 floatValueForLength(m_width, boundingBox.width()),103 floatValueForLength(m_height, boundingBox.height())104 ),105 FloatSize(106 floatValueForLength(m_cornerRadiusX, boundingBox.width()),107 floatValueForLength(m_cornerRadiusY, boundingBox.height())108 )109 );110 }111 112 PassRefPtr<BasicShape> BasicShapeRectangle::blend(const BasicShape* other, double progress) const113 {114 ASSERT(type() == other->type());115 116 const BasicShapeRectangle* o = static_cast<const BasicShapeRectangle*>(other);117 RefPtr<BasicShapeRectangle> result = BasicShapeRectangle::create();118 result->setX(m_x.blend(o->x(), progress));119 result->setY(m_y.blend(o->y(), progress));120 result->setWidth(m_width.blend(o->width(), progress));121 result->setHeight(m_height.blend(o->height(), progress));122 result->setCornerRadiusX(m_cornerRadiusX.blend(o->cornerRadiusX(), progress));123 result->setCornerRadiusY(m_cornerRadiusY.blend(o->cornerRadiusY(), progress));124 return result.release();125 }126 127 void DeprecatedBasicShapeCircle::path(Path& path, const FloatRect& boundingBox)128 {129 ASSERT(path.isEmpty());130 float diagonal = sqrtf((boundingBox.width() * boundingBox.width() + boundingBox.height() * boundingBox.height()) / 2);131 float centerX = floatValueForLength(m_centerX, boundingBox.width());132 float centerY = floatValueForLength(m_centerY, boundingBox.height());133 float radius = floatValueForLength(m_radius, diagonal);134 path.addEllipse(FloatRect(135 centerX - radius + boundingBox.x(),136 centerY - radius + boundingBox.y(),137 radius * 2,138 radius * 2139 ));140 }141 142 PassRefPtr<BasicShape> DeprecatedBasicShapeCircle::blend(const BasicShape* other, double progress) const143 {144 ASSERT(type() == other->type());145 146 const DeprecatedBasicShapeCircle* o = static_cast<const DeprecatedBasicShapeCircle*>(other);147 RefPtr<DeprecatedBasicShapeCircle> result = DeprecatedBasicShapeCircle::create();148 result->setCenterX(m_centerX.blend(o->centerX(), progress));149 result->setCenterY(m_centerY.blend(o->centerY(), progress));150 result->setRadius(m_radius.blend(o->radius(), progress));151 return result.release();152 }153 154 95 float BasicShapeCircle::floatValueForRadiusInBox(float boxWidth, float boxHeight) const 155 96 { … … 194 135 } 195 136 196 void DeprecatedBasicShapeEllipse::path(Path& path, const FloatRect& boundingBox)197 {198 ASSERT(path.isEmpty());199 float centerX = floatValueForLength(m_centerX, boundingBox.width());200 float centerY = floatValueForLength(m_centerY, boundingBox.height());201 float radiusX = floatValueForLength(m_radiusX, boundingBox.width());202 float radiusY = floatValueForLength(m_radiusY, boundingBox.height());203 path.addEllipse(FloatRect(204 centerX - radiusX + boundingBox.x(),205 centerY - radiusY + boundingBox.y(),206 radiusX * 2,207 radiusY * 2208 ));209 }210 211 PassRefPtr<BasicShape> DeprecatedBasicShapeEllipse::blend(const BasicShape* other, double progress) const212 {213 ASSERT(type() == other->type());214 215 const DeprecatedBasicShapeEllipse* o = static_cast<const DeprecatedBasicShapeEllipse*>(other);216 RefPtr<DeprecatedBasicShapeEllipse> result = DeprecatedBasicShapeEllipse::create();217 result->setCenterX(m_centerX.blend(o->centerX(), progress));218 result->setCenterY(m_centerY.blend(o->centerY(), progress));219 result->setRadiusX(m_radiusX.blend(o->radiusX(), progress));220 result->setRadiusY(m_radiusY.blend(o->radiusY(), progress));221 return result.release();222 }223 224 137 float BasicShapeEllipse::floatValueForRadiusInBox(const BasicShapeRadius& radius, float center, float boxWidthOrHeight) const 225 138 { … … 309 222 } 310 223 311 return result.release();312 }313 314 void BasicShapeInsetRectangle::path(Path& path, const FloatRect& boundingBox)315 {316 ASSERT(path.isEmpty());317 float left = floatValueForLength(m_left, boundingBox.width());318 float top = floatValueForLength(m_top, boundingBox.height());319 path.addRoundedRect(320 FloatRect(321 left + boundingBox.x(),322 top + boundingBox.y(),323 std::max<float>(boundingBox.width() - left - floatValueForLength(m_right, boundingBox.width()), 0),324 std::max<float>(boundingBox.height() - top - floatValueForLength(m_bottom, boundingBox.height()), 0)325 ),326 FloatSize(327 floatValueForLength(m_cornerRadiusX, boundingBox.width()),328 floatValueForLength(m_cornerRadiusY, boundingBox.height())329 )330 );331 }332 333 PassRefPtr<BasicShape> BasicShapeInsetRectangle::blend(const BasicShape* other, double progress) const334 {335 ASSERT(type() == other->type());336 337 const BasicShapeInsetRectangle* o = static_cast<const BasicShapeInsetRectangle*>(other);338 RefPtr<BasicShapeInsetRectangle> result = BasicShapeInsetRectangle::create();339 result->setTop(m_top.blend(o->top(), progress));340 result->setRight(m_right.blend(o->right(), progress));341 result->setBottom(m_bottom.blend(o->bottom(), progress));342 result->setLeft(m_left.blend(o->left(), progress));343 result->setCornerRadiusX(m_cornerRadiusX.blend(o->cornerRadiusX(), progress));344 result->setCornerRadiusY(m_cornerRadiusY.blend(o->cornerRadiusY(), progress));345 224 return result.release(); 346 225 } -
trunk/Source/WebCore/rendering/style/BasicShapes.h
r162210 r165472 50 50 51 51 enum Type { 52 BasicShapeRectangleType,53 DeprecatedBasicShapeCircleType,54 DeprecatedBasicShapeEllipseType,55 52 BasicShapePolygonType, 56 BasicShapeInsetRectangleType,57 53 BasicShapeCircleType, 58 54 BasicShapeEllipseType, … … 79 75 private: 80 76 LayoutBox m_layoutBox; 81 };82 83 class BasicShapeRectangle : public BasicShape {84 public:85 static PassRefPtr<BasicShapeRectangle> create() { return adoptRef(new BasicShapeRectangle); }86 87 const Length& x() const { return m_x; }88 const Length& y() const { return m_y; }89 const Length& width() const { return m_width; }90 const Length& height() const { return m_height; }91 const Length& cornerRadiusX() const { return m_cornerRadiusX; }92 const Length& cornerRadiusY() const { return m_cornerRadiusY; }93 94 void setX(Length x) { m_x = std::move(x); }95 void setY(Length y) { m_y = std::move(y); }96 void setWidth(Length width) { m_width = std::move(width); }97 void setHeight(Length height) { m_height = std::move(height); }98 void setCornerRadiusX(Length radiusX)99 {100 ASSERT(!radiusX.isUndefined());101 m_cornerRadiusX = std::move(radiusX);102 }103 void setCornerRadiusY(Length radiusY)104 {105 ASSERT(!radiusY.isUndefined());106 m_cornerRadiusY = std::move(radiusY);107 }108 109 virtual void path(Path&, const FloatRect&) override;110 virtual PassRefPtr<BasicShape> blend(const BasicShape*, double) const override;111 112 virtual Type type() const override { return BasicShapeRectangleType; }113 private:114 BasicShapeRectangle() { }115 116 Length m_y;117 Length m_x;118 Length m_width;119 Length m_height;120 Length m_cornerRadiusX;121 Length m_cornerRadiusY;122 77 }; 123 78 … … 227 182 }; 228 183 229 class DeprecatedBasicShapeCircle : public BasicShape {230 public:231 static PassRefPtr<DeprecatedBasicShapeCircle> create() { return adoptRef(new DeprecatedBasicShapeCircle); }232 233 const Length& centerX() const { return m_centerX; }234 const Length& centerY() const { return m_centerY; }235 const Length& radius() const { return m_radius; }236 237 void setCenterX(Length centerX) { m_centerX = std::move(centerX); }238 void setCenterY(Length centerY) { m_centerY = std::move(centerY); }239 void setRadius(Length radius) { m_radius = std::move(radius); }240 241 virtual void path(Path&, const FloatRect&) override;242 virtual PassRefPtr<BasicShape> blend(const BasicShape*, double) const override;243 244 virtual Type type() const override { return DeprecatedBasicShapeCircleType; }245 private:246 DeprecatedBasicShapeCircle() { }247 248 Length m_centerX;249 Length m_centerY;250 Length m_radius;251 };252 253 184 class BasicShapeEllipse : public BasicShape { 254 185 public: … … 279 210 }; 280 211 281 class DeprecatedBasicShapeEllipse : public BasicShape {282 public:283 static PassRefPtr<DeprecatedBasicShapeEllipse> create() { return adoptRef(new DeprecatedBasicShapeEllipse); }284 285 const Length& centerX() const { return m_centerX; }286 const Length& centerY() const { return m_centerY; }287 const Length& radiusX() const { return m_radiusX; }288 const Length& radiusY() const { return m_radiusY; }289 290 void setCenterX(Length centerX) { m_centerX = std::move(centerX); }291 void setCenterY(Length centerY) { m_centerY = std::move(centerY); }292 void setRadiusX(Length radiusX) { m_radiusX = std::move(radiusX); }293 void setRadiusY(Length radiusY) { m_radiusY = std::move(radiusY); }294 295 virtual void path(Path&, const FloatRect&) override;296 virtual PassRefPtr<BasicShape> blend(const BasicShape*, double) const override;297 298 virtual Type type() const override { return DeprecatedBasicShapeEllipseType; }299 private:300 DeprecatedBasicShapeEllipse() { }301 302 Length m_centerX;303 Length m_centerY;304 Length m_radiusX;305 Length m_radiusY;306 };307 308 212 class BasicShapePolygon : public BasicShape { 309 213 public: … … 332 236 }; 333 237 334 class BasicShapeInset Rectangle: public BasicShape {335 public: 336 static PassRefPtr<BasicShapeInset Rectangle> create() { return adoptRef(new BasicShapeInsetRectangle); }238 class BasicShapeInset : public BasicShape { 239 public: 240 static PassRefPtr<BasicShapeInset> create() { return adoptRef(new BasicShapeInset); } 337 241 338 242 const Length& top() const { return m_top; } … … 340 244 const Length& bottom() const { return m_bottom; } 341 245 const Length& left() const { return m_left; } 342 const Length& cornerRadiusX() const { return m_cornerRadiusX; } 343 const Length& cornerRadiusY() const { return m_cornerRadiusY; } 246 247 const LengthSize& topLeftRadius() const { return m_topLeftRadius; } 248 const LengthSize& topRightRadius() const { return m_topRightRadius; } 249 const LengthSize& bottomRightRadius() const { return m_bottomRightRadius; } 250 const LengthSize& bottomLeftRadius() const { return m_bottomLeftRadius; } 344 251 345 252 void setTop(Length top) { m_top = std::move(top); } … … 347 254 void setBottom(Length bottom) { m_bottom = std::move(bottom); } 348 255 void setLeft(Length left) { m_left = std::move(left); } 349 void setCornerRadiusX(Length radiusX) 350 { 351 ASSERT(!radiusX.isUndefined()); 352 m_cornerRadiusX = std::move(radiusX); 353 } 354 void setCornerRadiusY(Length radiusY) 355 { 356 ASSERT(!radiusY.isUndefined()); 357 m_cornerRadiusY = std::move(radiusY); 358 } 359 360 virtual void path(Path&, const FloatRect&) override; 361 virtual PassRefPtr<BasicShape> blend(const BasicShape*, double) const override; 362 363 virtual Type type() const override { return BasicShapeInsetRectangleType; } 364 private: 365 BasicShapeInsetRectangle() { } 256 257 void setTopLeftRadius(LengthSize radius) { m_topLeftRadius = std::move(radius); } 258 void setTopRightRadius(LengthSize radius) { m_topRightRadius = std::move(radius); } 259 void setBottomRightRadius(LengthSize radius) { m_bottomRightRadius = std::move(radius); } 260 void setBottomLeftRadius(LengthSize radius) { m_bottomLeftRadius = std::move(radius); } 261 262 virtual void path(Path&, const FloatRect&) override; 263 virtual PassRefPtr<BasicShape> blend(const BasicShape*, double) const override; 264 265 virtual Type type() const override { return BasicShapeInsetType; } 266 private: 267 BasicShapeInset() { } 366 268 367 269 Length m_right; … … 369 271 Length m_bottom; 370 272 Length m_left; 371 Length m_cornerRadiusX;372 Length m_cornerRadiusY;373 };374 375 class BasicShapeInset : public BasicShape {376 public:377 static PassRefPtr<BasicShapeInset> create() { return adoptRef(new BasicShapeInset); }378 379 const Length& top() const { return m_top; }380 const Length& right() const { return m_right; }381 const Length& bottom() const { return m_bottom; }382 const Length& left() const { return m_left; }383 384 const LengthSize& topLeftRadius() const { return m_topLeftRadius; }385 const LengthSize& topRightRadius() const { return m_topRightRadius; }386 const LengthSize& bottomRightRadius() const { return m_bottomRightRadius; }387 const LengthSize& bottomLeftRadius() const { return m_bottomLeftRadius; }388 389 void setTop(Length top) { m_top = std::move(top); }390 void setRight(Length right) { m_right = std::move(right); }391 void setBottom(Length bottom) { m_bottom = std::move(bottom); }392 void setLeft(Length left) { m_left = std::move(left); }393 394 void setTopLeftRadius(LengthSize radius) { m_topLeftRadius = std::move(radius); }395 void setTopRightRadius(LengthSize radius) { m_topRightRadius = std::move(radius); }396 void setBottomRightRadius(LengthSize radius) { m_bottomRightRadius = std::move(radius); }397 void setBottomLeftRadius(LengthSize radius) { m_bottomLeftRadius = std::move(radius); }398 399 virtual void path(Path&, const FloatRect&) override;400 virtual PassRefPtr<BasicShape> blend(const BasicShape*, double) const override;401 402 virtual Type type() const override { return BasicShapeInsetType; }403 private:404 BasicShapeInset() { }405 406 Length m_right;407 Length m_top;408 Length m_bottom;409 Length m_left;410 273 411 274 LengthSize m_topLeftRadius;
Note: See TracChangeset
for help on using the changeset viewer.