Changeset 165472 in webkit


Ignore:
Timestamp:
Mar 12, 2014 8:41:55 AM (10 years ago)
Author:
Bem Jones-Bey
Message:

[CSS Shapes] Remove deprecated shapes
https://bugs.webkit.org/show_bug.cgi?id=125235

Reviewed by Dirk Schulze.

Source/WebCore:

Remove support for deprecated shape types and syntax. These have
already been removed from the CSS Shapes specification, so this aligns
the implementation with the specification.

The "new" tests below were simply moved from the old csswg directory,
as they were the only tests there that applied to the current syntax.

Tests: fast/shapes/shape-outside-floats/shape-outside-floats-polygon-000.html

fast/shapes/shape-outside-floats/shape-outside-floats-polygon-001.html
fast/shapes/shape-outside-floats/shape-outside-floats-polygon-002.html

  • css/BasicShapeFunctions.cpp:

(WebCore::valueForBasicShape):
(WebCore::basicShapeForValue):

  • css/BasicShapeFunctions.h:
  • css/CSSBasicShapes.cpp:
  • css/CSSBasicShapes.h:
  • css/CSSParser.cpp:

(WebCore::CSSParser::parseBasicShape):

  • rendering/shapes/Shape.cpp:

(WebCore::Shape::createShape):

  • rendering/shapes/ShapeInsideInfo.cpp:

(WebCore::ShapeInsideInfo::isEnabledFor):

  • rendering/style/BasicShapes.cpp:
  • rendering/style/BasicShapes.h:

LayoutTests:

Remove tests for deprecated shape syntax.

There are also a few shape-inside tests that have been removed because
they were very difficult to make work without the rectangle shape, and
the future of the current shape-inside implementation is questionable
at best.

  • animations/resources/animation-test-helpers.js:

(parseBasicShape):

  • compositing/contents-opaque/opaque-with-clip-path-expected.html:
  • compositing/contents-opaque/opaque-with-clip-path.html:
  • css3/masking/clip-path-animation-expected.txt:
  • css3/masking/clip-path-animation.html:
  • css3/masking/clip-path-rectangle-expected.txt: Removed.
  • css3/masking/clip-path-rectangle.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/resources/rounded-rectangle.js: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/resources/subpixel-utils.js: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/resources/w3c-import.log: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-circle-000-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-circle-000.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-circle-001-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-circle-001.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-000-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-000.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-001-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-001-ref-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-001-ref.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-001.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-002-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-002.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-003-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-003.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-004-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-004.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-005-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-005.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-006-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-006.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-ellipse-000-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-ellipse-000.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-000-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-000.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-001-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-001.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-002-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-002.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-003-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-003.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-004-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-004.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-000-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-000.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-001-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-001.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-002-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-002.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-000-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-000.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-001-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-001.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-002-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-002.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-003-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-003.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-004-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-004.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-005-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-005.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-006-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-006.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-007-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-007.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-008-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-008.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-009-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-009.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-010-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-010.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-011-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-011.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-012-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-012.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-013-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-013.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-014-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-014.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-015-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-015.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-016-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-016.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-017-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-017.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-018-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-018.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-019-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-019.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-020-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-020.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-021-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-021.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-000-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-000.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-001-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-001.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-002-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-002.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-003-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-003.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-004-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-004.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-005-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-005.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-006-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-006.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-007-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-007.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-008-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-008.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-009-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-009.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-001-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-001.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-002-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-002.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-003-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-003.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-004-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-004.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-shape-margin-000-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-shape-margin-000.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-shape-margin-001-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-shape-margin-001.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-square-000-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-square-000.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-square-border-000-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-square-border-000.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-stacked-000-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-stacked-000.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-vertical-rectangle-000-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-vertical-rectangle-000.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-vertical-rectangle-001-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-vertical-rectangle-001.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-vertical-rectangle-002-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-vertical-rectangle-002.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/w3c-import.log: Removed.
  • fast/masking/parsing-clip-path-shape-expected.txt:
  • fast/masking/parsing-clip-path-shape.html:
  • fast/regions/shape-inside/shape-inside-on-additional-regions.html:
  • fast/regions/shape-inside/shape-inside-on-first-region-block-content.html:
  • fast/regions/shape-inside/shape-inside-on-first-region-inline-content.html:
  • fast/regions/shape-inside/shape-inside-on-multiple-autoheight-regions.html:
  • fast/regions/shape-inside/shape-inside-on-multiple-regions-with-negative-shape-top-expected.html: Removed.
  • fast/regions/shape-inside/shape-inside-on-multiple-regions-with-negative-shape-top.html: Removed.
  • fast/regions/shape-inside/shape-inside-on-regions-block-content-basic-overflow-shape-top-offset.html:
  • fast/regions/shape-inside/shape-inside-on-regions-block-content-overflow-bottom-positioned-multiple-shapes.html:
  • fast/regions/shape-inside/shape-inside-on-regions-block-content-overflow-multiple-shapes.html:
  • fast/regions/shape-inside/shape-inside-on-regions-expected.html:
  • fast/regions/shape-inside/shape-inside-on-regions-inline-content-basic-overflow-shape-top-offset.html:
  • fast/regions/shape-inside/shape-inside-on-regions-inline-content-overflow-bottom-positioned-multiple-shapes.html:
  • fast/regions/shape-inside/shape-inside-on-regions-inline-content-overflow-multiple-shapes.html:
  • fast/regions/shape-inside/shape-inside-on-regions-inline-content.html:
  • fast/regions/shape-inside/shape-inside-on-regions.html:
  • fast/regions/shape-inside/shape-inside-on-second-region-block-content.html:
  • fast/regions/shape-inside/shape-inside-on-second-region-inline-content.html:
  • fast/regions/shape-inside/shape-inside-recursive-layout-expected.html:
  • fast/regions/shape-inside/shape-inside-recursive-layout.html:
  • fast/regions/shape-inside/shape-inside-with-region-borders.html:
  • fast/regions/shape-inside/shape-inside-with-region-padding.html:
  • fast/shapes/css-shapes-disabled-expected.txt:
  • fast/shapes/css-shapes-disabled.html:
  • fast/shapes/css-shapes-enabled-expected.txt:
  • fast/shapes/css-shapes-enabled.html:
  • fast/shapes/parsing/parsing-shape-inside-expected.txt:
  • fast/shapes/parsing/parsing-shape-inside.html:
  • fast/shapes/parsing/parsing-shape-lengths-expected.txt:
  • fast/shapes/parsing/parsing-shape-lengths.html:
  • fast/shapes/parsing/parsing-shape-outside-expected.txt:
  • fast/shapes/parsing/parsing-shape-outside.html:
  • fast/shapes/parsing/parsing-test-utils.js:
  • fast/shapes/resources/simple-rectangle.js:

(drawTextRectangle):

  • fast/shapes/shape-inside/shape-inside-animation-expected.txt:
  • fast/shapes/shape-inside/shape-inside-animation.html:
  • fast/shapes/shape-inside/shape-inside-bottom-edge-expected.html:
  • fast/shapes/shape-inside/shape-inside-bottom-edge.html:
  • fast/shapes/shape-inside/shape-inside-box-sizing.html:
  • fast/shapes/shape-inside/shape-inside-dynamic-nested-expected.html:
  • fast/shapes/shape-inside/shape-inside-dynamic-nested.html:
  • fast/shapes/shape-inside/shape-inside-dynamic-shape.html:
  • fast/shapes/shape-inside/shape-inside-dynamic-text.html:
  • fast/shapes/shape-inside/shape-inside-empty-expected.html:
  • fast/shapes/shape-inside/shape-inside-empty.html:
  • fast/shapes/shape-inside/shape-inside-inline-elements-expected.html: Removed.
  • fast/shapes/shape-inside/shape-inside-inline-elements.html: Removed.
  • fast/shapes/shape-inside/shape-inside-multiple-blocks-vertical.html:
  • fast/shapes/shape-inside/shape-inside-multiple-blocks.html:
  • fast/shapes/shape-inside/shape-inside-on-nested-container-with-unresolved-height.html:
  • fast/shapes/shape-inside/shape-inside-outside-shape.html:
  • fast/shapes/shape-inside/shape-inside-overflow-fixed-dimensions-block-content.html:
  • fast/shapes/shape-inside/shape-inside-overflow-fixed-dimensions.html:
  • fast/shapes/shape-inside/shape-inside-overflow.html:
  • fast/shapes/shape-inside/shape-inside-percentage-auto.html:
  • fast/shapes/shape-inside/shape-inside-percentage.html:
  • fast/shapes/shape-inside/shape-inside-rectangle-padding-expected.html: Removed.
  • fast/shapes/shape-inside/shape-inside-rectangle-padding.html: Removed.
  • fast/shapes/shape-inside/shape-inside-rounded-rectangle-001-expected.html: Removed.
  • fast/shapes/shape-inside/shape-inside-rounded-rectangle-001.html: Removed.
  • fast/shapes/shape-inside/shape-inside-rounded-rectangle-002-expected.html: Removed.
  • fast/shapes/shape-inside/shape-inside-rounded-rectangle-002.html: Removed.
  • fast/shapes/shape-inside/shape-inside-rounded-rectangle-003-expected.html: Removed.
  • fast/shapes/shape-inside/shape-inside-rounded-rectangle-003.html: Removed.
  • fast/shapes/shape-inside/shape-inside-rounded-rectangle-004-expected.html: Removed.
  • fast/shapes/shape-inside/shape-inside-rounded-rectangle-004.html: Removed.
  • fast/shapes/shape-inside/shape-inside-rounded-rectangle-fit-001-expected.html: Removed.
  • fast/shapes/shape-inside/shape-inside-rounded-rectangle-fit-001.html: Removed.
  • fast/shapes/shape-inside/shape-inside-rounded-rectangle-fit-002-expected.html: Removed.
  • fast/shapes/shape-inside/shape-inside-rounded-rectangle-fit-002.html: Removed.
  • fast/shapes/shape-inside/shape-inside-rounded-rectangle-fit-003-expected.html: Removed.
  • fast/shapes/shape-inside/shape-inside-rounded-rectangle-fit-003.html: Removed.
  • fast/shapes/shape-inside/shape-inside-rounded-rectangle-large-radius-expected.html: Removed.
  • fast/shapes/shape-inside/shape-inside-rounded-rectangle-large-radius.html: Removed.
  • fast/shapes/shape-inside/shape-inside-rounded-rectangle-padding-expected.html: Removed.
  • fast/shapes/shape-inside/shape-inside-rounded-rectangle-padding.html: Removed.
  • fast/shapes/shape-inside/shape-inside-subpixel-rectangle-top.html:
  • fast/shapes/shape-inside/shape-inside-text.html:
  • fast/shapes/shape-inside/shape-inside-vertical-text.html:
  • fast/shapes/shape-outside-floats/shape-outside-animation-expected.txt:
  • fast/shapes/shape-outside-floats/shape-outside-animation.html:
  • fast/shapes/shape-outside-floats/shape-outside-dynamic-shape-margin.html:
  • fast/shapes/shape-outside-floats/shape-outside-dynamic-shape-overhang.html:
  • fast/shapes/shape-outside-floats/shape-outside-dynamic-shape.html:
  • fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-modes.html:
  • fast/shapes/shape-outside-floats/shape-outside-floats-ellipse-margin-bottom.html:
  • fast/shapes/shape-outside-floats/shape-outside-floats-ellipse-margin-left.html:
  • fast/shapes/shape-outside-floats/shape-outside-floats-ellipse-margin-right.html:
  • fast/shapes/shape-outside-floats/shape-outside-floats-img-inset-rectangle-negative-width-crash-expected.txt: Removed.
  • fast/shapes/shape-outside-floats/shape-outside-floats-img-inset-rectangle-negative-width-crash.html: Removed.
  • fast/shapes/shape-outside-floats/shape-outside-floats-layout-after-initial-layout-pass.html:
  • fast/shapes/shape-outside-floats/shape-outside-floats-not-a-layer.html:
  • fast/shapes/shape-outside-floats/shape-outside-floats-outermost.html:
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • fast/shapes/shape-outside-floats/shape-outside-shape-margin-animation.html:
  • svg/clip-path/clip-path-shape-rounded-rect-1-expected.svg: Removed.
  • svg/clip-path/clip-path-shape-rounded-rect-1.svg: Removed.
  • svg/clip-path/clip-path-shape-rounded-rect-2-expected.svg: Removed.
  • svg/clip-path/clip-path-shape-rounded-rect-2.svg: Removed.
Location:
trunk
Files:
33 deleted
85 edited
6 copied

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r165470 r165472  
     12014-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
    12602014-03-12  Zalan Bujtas  <zalan@apple.com>
    2261
  • trunk/LayoutTests/animations/resources/animation-test-helpers.js

    r162644 r165472  
    182182    var matches;
    183183    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+(.*)\\)");
    186186        break;
    187187    case "circle":
  • trunk/LayoutTests/compositing/contents-opaque/opaque-with-clip-path-expected.html

    r164246 r165472  
    66        background: blue;
    77        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;
    99}
    1010</style>
  • trunk/LayoutTests/compositing/contents-opaque/opaque-with-clip-path.html

    r164246 r165472  
    66        background: blue;
    77        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;
    99}
    1010
  • trunk/LayoutTests/css3/masking/clip-path-animation-expected.txt

    r160007 r165472  
    11   
    2 PASS - "webkitClipPath" property for "rectangle-box" element at 1s saw something close to: rectangle(10%, 10%, 80%, 80%, 0px, 0px)
     2PASS - "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)
    33PASS - "webkitClipPath" property for "circle-box" element at 1s saw something close to: circle(35% at 35% 35%)
    44PASS - "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  
    1212    }
    1313
    14     #rectangle-box {
    15       -webkit-animation: rectangle-anim 2s linear
     14    #inset-box {
     15      -webkit-animation: inset-anim 2s linear
    1616    }
    1717
     
    3232    }
    3333
    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%); }
    3737    }
    3838
     
    6363    const expectedValues = [
    6464      // [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],
    6666      ["circle-anim",  1, "circle-box", "webkitClipPath", "circle(35% at 35% 35%)", 0.05],
    6767      ["ellipse-anim",  1, "ellipse-box", "webkitClipPath", "ellipse(35% 30% at 35% 35%)", 0.05],
     
    7575<body>
    7676
    77 <div class="box" id="rectangle-box"></div>
     77<div class="box" id="inset-box"></div>
    7878<div class="box" id="circle-box"></div>
    7979<div class="box" id="ellipse-box"></div>
  • trunk/LayoutTests/fast/masking/parsing-clip-path-shape-expected.txt

    r164998 r165472  
    44
    55
    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)"
    106PASS innerStyle("-webkit-clip-path", "circle(0 at 0 0)") is "circle(0px at 0% 0%)"
    117PASS innerStyle("-webkit-clip-path", "circle(1px at -1px +1px)") is "circle(1px at -1px 1px)"
    128PASS innerStyle("-webkit-clip-path", "circle(1.5px at -1.5px +1.5px)") is "circle(1.5px at -1.5px 1.5px)"
    139PASS 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)"
    2210PASS innerStyle("-webkit-clip-path", "circle(1em at -1em +1em)") is "circle(1em at -1em 1em)"
    2311PASS innerStyle("-webkit-clip-path", "circle(1.5em at -1.5em +1.5em)") is "circle(1.5em at -1.5em 1.5em)"
     
    2715PASS computedStyle("-webkit-clip-path", "circle(1.5em at .5em 1em)") is "circle(12px at 4px 8px)"
    2816PASS 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)"
    3517PASS innerStyle("-webkit-clip-path", "circle(1vw at 1vw 1vw)") is "circle(1vw at 1vw 1vw)"
    3618PASS innerStyle("-webkit-clip-path", "circle(1vh at 1vh 1vh)") is "circle(1vh at 1vh 1vh)"
     
    3921PASS computedStyle("-webkit-clip-path", "circle(1.5vh at .5vh 1vh)") is "circle(1.5vh at 0.5vh 1vh)"
    4022PASS 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%)"
    4723PASS 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%)"
     24PASS 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%)"
     25PASS computedStyle("-webkit-clip-path", "ellipse(100% 100% at 100% 100%)") is "ellipse(100% 100% at 100% 100%)"
    5026PASS computedStyle("-webkit-clip-path", "polygon(10% 20%, 30% 40%, 40% 50%)") is "polygon(nonzero, 10% 20%, 30% 40%, 40% 50%)"
    5127PASS innerStyle("-webkit-clip-path", "content-box") is "content-box"
     
    7349PASS computedStyle("-webkit-clip-path", "border-box circle(50% at 50% 50%)") is "circle(50% at 50% 50%) border-box"
    7450PASS 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 null
    76 PASS computedStyle("-webkit-clip-path", "circle(1px, 1px, 1)") is "none"
    77 PASS innerStyle("-webkit-clip-path", "circle(1px, 1px, px)") is null
    78 PASS computedStyle("-webkit-clip-path", "circle(1px, 1px, px)") is "none"
    79 PASS innerStyle("-webkit-clip-path", "circle(1px, 1px, 1p)") is null
    80 PASS computedStyle("-webkit-clip-path", "circle(1px, 1px, 1p)") is "none"
    81 PASS innerStyle("-webkit-clip-path", "circle(1px, 1px, calc())") is null
    82 PASS computedStyle("-webkit-clip-path", "circle(1px, 1px, calc())") is "none"
    8351PASS innerStyle("-webkit-clip-path", "circle(1 at 1px 1px)") is null
    8452PASS computedStyle("-webkit-clip-path", "circle(1 at 1px 1px)") is "none"
     
    8957PASS innerStyle("-webkit-clip-path", "circle(calc() at 1px 1px)") is null
    9058PASS 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 null
    92 PASS computedStyle("-webkit-clip-path", "circle(-1.5px, +1.5px, -1.5px)") is "none"
    9359PASS innerStyle("-webkit-clip-path", "circle(-1.5px at -1.5px +1.5px)") is null
    9460PASS 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"
     61PASS innerStyle("-webkit-clip-path", "inset(1cm 1mm 1in 1px round -1pt, 1pc)") is null
     62PASS computedStyle("-webkit-clip-path", "inset(1cm 1mm 1in 1px round -1pt, 1pc)") is "none"
     63PASS innerStyle("-webkit-clip-path", "inset(1cm 1mm 1in 1px round 1pt -1pc)") is null
     64PASS computedStyle("-webkit-clip-path", "inset(1cm 1mm 1in 1px round 1pt -1pc)") is "none"
     65PASS innerStyle("-webkit-clip-path", "ellipse(-1em 1em at 1em 1em)") is null
     66PASS computedStyle("-webkit-clip-path", "ellipse(-1em 1em at 1em 1em)") is "none"
     67PASS innerStyle("-webkit-clip-path", "ellipse(1em -1em at 1em 1em)") is null
     68PASS computedStyle("-webkit-clip-path", "ellipse(1em -1em at 1em 1em)") is "none"
    10769PASS innerStyle("-webkit-clip-path", "fill circle(50% at 50% 50%) content-box") is null
    10870PASS computedStyle("-webkit-clip-path", "fill circle(50% at 50% 50%) content-box") is "none"
     
    11981PASS innerStyle("-webkit-clip-path", "url(#test) padding-box") is null
    12082PASS computedStyle("-webkit-clip-path", "url(#test) padding-box") is "none"
    121 PASS innerStyle("-webkit-clip-path", "circle(0, 0)") is null
    122 PASS computedStyle("-webkit-clip-path", "circle(0, 0)") is "none"
    12383PASS innerStyle("-webkit-clip-path", "polygon(0, 0)") is null
    12484PASS computedStyle("-webkit-clip-path", "polygon(0, 0)") is "none"
  • trunk/LayoutTests/fast/masking/parsing-clip-path-shape.html

    r164998 r165472  
    4242
    4343// 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 
    4944testInner("-webkit-clip-path", "circle(0 at 0 0)", "circle(0px at 0% 0%)");
    5045testInner("-webkit-clip-path", "circle(1px at -1px +1px)", "circle(1px at -1px 1px)");
     
    5247testInner("-webkit-clip-path", "circle(.5px at -.5px +.5px)", "circle(0.5px at -0.5px 0.5px)");
    5348
    54 testInner("-webkit-clip-path", "rectangle(1cm, 1mm, 1in, 1px, 1pt, 1pc)", "rectangle(1cm, 1mm, 1in, 1px, 1pt, 1pc)");
    55 
    5649// 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 supported
    63 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 
    6850testInner("-webkit-clip-path", "circle(1em at -1em +1em)", "circle(1em at -1em 1em)");
    6951testInner("-webkit-clip-path", "circle(1.5em at -1.5em +1.5em)", "circle(1.5em at -1.5em 1.5em)");
     
    7860
    7961// 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 
    8862testInner("-webkit-clip-path", "circle(1vw at 1vw 1vw)", "circle(1vw at 1vw 1vw)");
    8963testInner("-webkit-clip-path", "circle(1vh at 1vh 1vh)", "circle(1vh at 1vh 1vh)");
     
    9569
    9670// 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%)");
    10471testComputed("-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%)");
     72testComputed("-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%)");
     73testComputed("-webkit-clip-path", "ellipse(100% 100% at 100% 100%)", "ellipse(100% 100% at 100% 100%)");
    10774testComputed("-webkit-clip-path", "polygon(10% 20%, 30% 40%, 40% 50%)", "polygon(nonzero, 10% 20%, 30% 40%, 40% 50%)");
    10875
     
    135102
    136103// 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 
    142104negativeTest("-webkit-clip-path", "circle(1 at 1px 1px)");
    143105negativeTest("-webkit-clip-path", "circle(px at 1px 1px)");
     
    146108
    147109// reject negative radiuses
    148 negativeTest("-webkit-clip-path", "circle(-1.5px, +1.5px, -1.5px)");
    149110negativeTest("-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)");
     111negativeTest("-webkit-clip-path", "inset(1cm 1mm 1in 1px round -1pt, 1pc)");
     112negativeTest("-webkit-clip-path", "inset(1cm 1mm 1in 1px round 1pt -1pc)");
     113negativeTest("-webkit-clip-path", "ellipse(-1em 1em at 1em 1em)");
     114negativeTest("-webkit-clip-path", "ellipse(1em -1em at 1em 1em)");
    158115
    159116// reject multiple <box> values
     
    167124
    168125// general negative tests
    169 negativeTest("-webkit-clip-path", "circle(0, 0)");
    170126negativeTest("-webkit-clip-path", "polygon(0, 0)");
    171127negativeTest("-webkit-clip-path", "polygon(0 0, 0)");
  • trunk/LayoutTests/fast/regions/shape-inside/shape-inside-on-additional-regions.html

    r154500 r165472  
    1818    #region_with_shape_inside {
    1919        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);
    2121        overflow: hidden;
    2222        background-color: orange;
  • trunk/LayoutTests/fast/regions/shape-inside/shape-inside-on-first-region-block-content.html

    r154500 r165472  
    1818    }
    1919    #shape_inside {
    20         -webkit-shape-inside: rectangle(50px, 0px, 250px, 300px);
     20        -webkit-shape-inside: polygon(50px 0px, 300px 0px, 300px 300px, 50px 300px);
    2121        background-color: orange;
    2222    }
  • trunk/LayoutTests/fast/regions/shape-inside/shape-inside-on-first-region-inline-content.html

    r154500 r165472  
    1818    }
    1919    #shape_inside {
    20         -webkit-shape-inside: rectangle(50px, 0px, 250px, 300px);
     20        -webkit-shape-inside: polygon(50px 0px, 300px 0px, 300px 300px, 50px 300px);
    2121        background-color: orange;
    2222    }
  • trunk/LayoutTests/fast/regions/shape-inside/shape-inside-on-multiple-autoheight-regions.html

    r157729 r165472  
    66.regions {
    77    -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%);
    99    width: 250px;
    1010    background-color: #dedede;
  • trunk/LayoutTests/fast/regions/shape-inside/shape-inside-on-regions-block-content-basic-overflow-shape-top-offset.html

    r154500 r165472  
    1212            width: 200px;
    1313            height: 200px;
    14             -webkit-shape-inside: rectangle(50px, 50px, 100px, 100px);
     14            -webkit-shape-inside: polygon(50px 50px, 150px 50px, 150px 150px, 50px 150px);
    1515            border: 2px solid green;
    1616        }
  • trunk/LayoutTests/fast/regions/shape-inside/shape-inside-on-regions-block-content-overflow-bottom-positioned-multiple-shapes.html

    r154500 r165472  
    1515            padding: 10px;
    1616        }
    17         #region1 { -webkit-shape-inside: rectangle(50px, 100px, 100px, 100px); }
     17        #region1 { -webkit-shape-inside: polygon(50px 100px, 150px 100px, 150px 200px, 50px 200px); }
    1818        #region2 {
    1919            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);
    2121        }
    2222        #border1 {
  • trunk/LayoutTests/fast/regions/shape-inside/shape-inside-on-regions-block-content-overflow-multiple-shapes.html

    r154500 r165472  
    1414            border: 2px solid green;
    1515        }
    16         #region1 { -webkit-shape-inside: rectangle(50px, 50px, 100px, 100px); }
     16        #region1 { -webkit-shape-inside: polygon(50px 50px, 150px 50px, 150px 150px, 50px 150px); }
    1717        #region2 {
    1818            margin-top: 10px;
    1919            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);
    2121        }
    2222        #border1 {
  • trunk/LayoutTests/fast/regions/shape-inside/shape-inside-on-regions-expected.html

    r154500 r165472  
    88            width: 180px;
    99            height: 100px;
    10             -webkit-shape-inside: rectangle(0, 0, 130px, 100px);
     10            -webkit-shape-inside: polygon(0px 0px, 130px 0px, 130px 100px, 0px 100px);
    1111            margin-top: 10px;
    1212        }
     
    1414            width: 300px;
    1515            height: 150px;
    16             -webkit-shape-inside: rectangle(0, 0, 220px, 150px);
     16            -webkit-shape-inside: polygon(0px 0px, 220px 0px, 200px 150px, 0px 150px);
    1717            margin-top: 60px;
    1818        }
  • trunk/LayoutTests/fast/regions/shape-inside/shape-inside-on-regions-inline-content-basic-overflow-shape-top-offset.html

    r154500 r165472  
    1212            width: 200px;
    1313            height: 200px;
    14             -webkit-shape-inside: rectangle(50px, 50px, 100px, 100px);
     14            -webkit-shape-inside: polygon(50px 50px, 150px 50px, 150px 150px, 50px 150px);
    1515            border: 2px solid green;
    1616        }
  • trunk/LayoutTests/fast/regions/shape-inside/shape-inside-on-regions-inline-content-overflow-bottom-positioned-multiple-shapes.html

    r154500 r165472  
    1515            padding: 10px;
    1616        }
    17         #region1 { -webkit-shape-inside: rectangle(50px, 100px, 100px, 100px); }
     17        #region1 { -webkit-shape-inside: polygon(50px 100px, 150px 100px, 150px 200px, 50px 200px); }
    1818        #region2 {
    1919            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);
    2121        }
    2222        #border1 {
  • trunk/LayoutTests/fast/regions/shape-inside/shape-inside-on-regions-inline-content-overflow-multiple-shapes.html

    r154500 r165472  
    1414            border: 2px solid green;
    1515        }
    16         #region1 { -webkit-shape-inside: rectangle(50px, 50px, 100px, 100px); }
     16        #region1 { -webkit-shape-inside: polygon(50px 50px, 150px 50px, 150px 150px, 50px 150px); }
    1717        #region2 {
    1818            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);
    2020        }
    2121        #border1 {
  • trunk/LayoutTests/fast/regions/shape-inside/shape-inside-on-regions-inline-content.html

    r154500 r165472  
    1414            height: 100px;
    1515            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);
    1717            margin-top: 10px;
    1818        }
     
    2121            height: 150px;
    2222            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);
    2424            margin-top: 60px;
    2525        }
  • trunk/LayoutTests/fast/regions/shape-inside/shape-inside-on-regions.html

    r154500 r165472  
    1313            width: 180px;
    1414            height: 100px;
    15             -webkit-shape-inside: rectangle(0, 0, 130px, 100px);
     15            -webkit-shape-inside: polygon(0px 0px, 130px 0px, 130px 100px, 0px 100px);
    1616            margin-top: 10px;
    1717        }
     
    1919            width: 300px;
    2020            height: 150px;
    21             -webkit-shape-inside: rectangle(0, 0, 220px, 150px);
     21            -webkit-shape-inside: polygon(0px 0px, 220px 0px, 200px 150px, 0px 150px);
    2222            margin-top: 60px;
    2323        }
  • trunk/LayoutTests/fast/regions/shape-inside/shape-inside-on-second-region-block-content.html

    r154500 r165472  
    1919    }
    2020    #shape_inside {
    21         -webkit-shape-inside: rectangle(50px, 0px, 250px, 300px);
     21        -webkit-shape-inside: polygon(50px 0px, 300px 0px, 300px 300px, 50px 300px);
    2222        background-color: orange;
    2323    }
  • trunk/LayoutTests/fast/regions/shape-inside/shape-inside-on-second-region-inline-content.html

    r154500 r165472  
    1818    }
    1919    #shape_inside {
    20         -webkit-shape-inside: rectangle(50px, 0px, 250px, 300px);
     20        -webkit-shape-inside: polygon(50px 0px, 300px 0px, 300px 300px, 50px 300px);
    2121        background-color: orange;
    2222    }
  • trunk/LayoutTests/fast/regions/shape-inside/shape-inside-recursive-layout-expected.html

    r148920 r165472  
    99        width: 100px;
    1010        height: 100px;
    11         -webkit-shape-inside: rectangle(0, 0, 100%, 100%);
     11        -webkit-shape-inside: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
    1212    }
    1313    .content * {
  • trunk/LayoutTests/fast/regions/shape-inside/shape-inside-recursive-layout.html

    r154500 r165472  
    99        width: 100px;
    1010        height: 100px;
    11         -webkit-shape-inside: rectangle(0, 0, 100%, 100%);
     11        -webkit-shape-inside: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
    1212    }
    1313    .content * {
  • trunk/LayoutTests/fast/regions/shape-inside/shape-inside-with-region-borders.html

    r154500 r165472  
    1818    }
    1919    #shape_inside {
    20         -webkit-shape-inside: rectangle(50px, 0px, 200px, 300px);
     20        -webkit-shape-inside: polygon(50px 0px, 250px 0px, 250px 300px, 50px 300px);
    2121        background-color: orange;
    2222    }
  • trunk/LayoutTests/fast/regions/shape-inside/shape-inside-with-region-padding.html

    r154500 r165472  
    2020    }
    2121    #shape_inside {
    22         -webkit-shape-inside: rectangle(50px, 0px, 200px, 300px);
     22        -webkit-shape-inside: polygon(50px 0px, 250px 0px, 250px 300px, 50px 300px);
    2323        background-color: orange;
    2424    }
  • trunk/LayoutTests/fast/shapes/css-shapes-disabled-expected.txt

    r161436 r165472  
    88PASS testInlineStyle("-webkit-shape-padding", "10px") is null
    99PASS testComputedStyle("-webkit-shape-padding", "10px") is "0px"
    10 PASS testInlineStyle("-webkit-shape-outside", "circle(10px, 10px, 10px)") is null
    11 PASS testComputedStyle("-webkit-shape-outside", "circle(10px, 10px, 10px)") is "none"
    12 PASS testInlineStyle("-webkit-shape-inside", "circle(10px, 10px, 10px)") is null
    13 PASS testComputedStyle("-webkit-shape-inside", "circle(10px, 10px, 10px)") is "none"
     10PASS testInlineStyle("-webkit-shape-outside", "circle(10px at 10px 10px)") is null
     11PASS testComputedStyle("-webkit-shape-outside", "circle(10px at 10px 10px)") is "none"
     12PASS testInlineStyle("-webkit-shape-inside", "circle(10px at 10px 10px)") is null
     13PASS testComputedStyle("-webkit-shape-inside", "circle(10px at 10px 10px)") is "none"
    1414PASS successfullyParsed is true
    1515
  • trunk/LayoutTests/fast/shapes/css-shapes-disabled.html

    r161436 r165472  
    3333testStyle("-webkit-shape-padding", "10px", "0px");
    3434
    35 testStyle("-webkit-shape-outside", "circle(10px, 10px, 10px)", "none");
    36 testStyle("-webkit-shape-inside", "circle(10px, 10px, 10px)", "none");
     35testStyle("-webkit-shape-outside", "circle(10px at 10px 10px)", "none");
     36testStyle("-webkit-shape-inside", "circle(10px at 10px 10px)", "none");
    3737
    3838</script>
  • trunk/LayoutTests/fast/shapes/css-shapes-enabled-expected.txt

    r152800 r165472  
    88PASS testInlineStyle("-webkit-shape-padding", "10px") is "10px"
    99PASS 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)"
     10PASS testInlineStyle("-webkit-shape-outside", "circle(10px at 10px 10px)") is "circle(10px at 10px 10px)"
     11PASS testComputedStyle("-webkit-shape-outside", "circle(10px at 10px 10px)") is "circle(10px at 10px 10px)"
     12PASS testInlineStyle("-webkit-shape-inside", "circle(10px at 10px 10px)") is "circle(10px at 10px 10px)"
     13PASS testComputedStyle("-webkit-shape-inside", "circle(10px at 10px 10px)") is "circle(10px at 10px 10px)"
    1414PASS successfullyParsed is true
    1515
  • trunk/LayoutTests/fast/shapes/css-shapes-enabled.html

    r155272 r165472  
    3030testStyle("-webkit-shape-padding", "10px", "10px");
    3131
    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)");
     32testStyle("-webkit-shape-outside", "circle(10px at 10px 10px)", "circle(10px at 10px 10px)");
     33testStyle("-webkit-shape-inside", "circle(10px at 10px 10px)", "circle(10px at 10px 10px)");
    3434
    3535</script>
  • trunk/LayoutTests/fast/shapes/parsing/parsing-shape-inside-expected.txt

    r165277 r165472  
    66PASS getCSSText("-webkit-shape-inside", "none") is "none"
    77PASS 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)"
    208PASS getCSSText("-webkit-shape-inside", "inset(10px)") is "inset(10px 10px 10px 10px)"
    219PASS getComputedStyleValue("-webkit-shape-inside", "inset(10px)") is "inset(10px 10px 10px 10px round 0px 0px 0px 0px / 0px 0px 0px 0px)"
     
    6856PASS 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)"
    6957PASS 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)"
    7258PASS getCSSText("-webkit-shape-inside", "circle()") is "circle(at 50% 50%)"
    7359PASS getComputedStyleValue("-webkit-shape-inside", "circle()") is "circle(closest-side at 50% 50%)"
     
    10086PASS getCSSText("-webkit-shape-inside", "circle(10px at right 10px bottom 10px)") is "circle(10px at right 10px bottom 10px)"
    10187PASS 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)"
    10488PASS getCSSText("-webkit-shape-inside", "ellipse()") is "ellipse(at 50% 50%)"
    10589PASS getComputedStyleValue("-webkit-shape-inside", "ellipse()") is "ellipse(closest-side closest-side at 50% 50%)"
     
    176160PASS getCSSText("-webkit-shape-inside", "auto") is ""
    177161PASS 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"
    202162PASS getCSSText("-webkit-shape-inside", "inset()") is ""
    203163PASS getComputedStyleValue("-webkit-shape-inside", "inset()") is "none"
     
    230190PASS getCSSText("-webkit-shape-inside", "inset(round /)") is ""
    231191PASS 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"
    238192PASS getCSSText("-webkit-shape-inside", "circle(10px 20px)") is ""
    239193PASS getComputedStyleValue("-webkit-shape-inside", "circle(10px 20px)") is "none"
     
    252206PASS getCSSText("-webkit-shape-inside", "circle(at center center 10px)") is ""
    253207PASS 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"
    260208PASS getCSSText("-webkit-shape-inside", "ellipse(10px 20px 30px)") is ""
    261209PASS getComputedStyleValue("-webkit-shape-inside", "ellipse(10px 20px 30px)") is "none"
     
    306254PASS getCSSText("-webkit-shape-inside", "url('shape.svg') polygon(nonzero, 0 0, 10px 10px, 10px 0)") is ""
    307255PASS 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)"
     256PASS getParentAndChildComputedStylesString("-webkit-shape-inside", "none", "circle(30px at 10px 20px)") is "parent: none, child: circle(30px at 10px 20px)"
     257PASS getParentAndChildComputedStylesString("-webkit-shape-inside", "outside-shape", "circle(30px at 10px 20px)") is "parent: outside-shape, child: circle(30px at 10px 20px)"
     258PASS getParentAndChildComputedStylesString("-webkit-shape-inside", "circle(30px at 10px 20px)", "initial") is "parent: circle(30px at 10px 20px), child: none"
     259PASS getParentAndChildComputedStylesString("-webkit-shape-inside", "circle(30px at 10px 20px)", "") is "parent: circle(30px at 10px 20px), child: none"
     260PASS getParentAndChildComputedStylesString("-webkit-shape-inside", "circle(30px at 10px 20px)", "inherit") is "parent: circle(30px at 10px 20px), child: circle(30px at 10px 20px)"
    313261PASS getParentAndChildComputedStylesString("-webkit-shape-inside", "", "inherit") is "parent: none, child: none"
    314262PASS getParentAndChildComputedStylesString("-webkit-shape-inside", "none", "inherit") is "parent: none, child: none"
  • trunk/LayoutTests/fast/shapes/parsing/parsing-shape-inside.html

    r161436 r165472  
    2828    testNotInheritedShapeProperty,
    2929    [// [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)"],
    3535     ["-webkit-shape-inside", "", "inherit", "parent: none, child: none"],
    3636     ["-webkit-shape-inside", "none", "inherit", "parent: none, child: none"]]
  • trunk/LayoutTests/fast/shapes/parsing/parsing-shape-lengths-expected.txt

    r162871 r165472  
    44
    55
    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)"
     6PASS getStyleValue("-webkit-shape-inside", "circle(0 at 0 0)") is "circle(0px at 0% 0%)"
     7PASS getStyleValue("-webkit-shape-inside", "circle(1px at +1px -1px)") is "circle(1px at 1px -1px)"
     8PASS getStyleValue("-webkit-shape-inside", "circle(1.5px at -1.5px +1.5px)") is "circle(1.5px at -1.5px 1.5px)"
     9PASS getStyleValue("-webkit-shape-inside", "circle(.5px at -.5px +.5px)") is "circle(0.5px at -0.5px 0.5px)"
    1210PASS 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)"
    1311PASS 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)"
     
    1513PASS 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)"
    1614PASS 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%)"
     15PASS getStyleValue("-webkit-shape-inside", "circle(1em at -1em +1em)") is "circle(1em at -1em 1em)"
     16PASS getStyleValue("-webkit-shape-inside", "circle(1.5em at -1.5em +1.5em)") is "circle(1.5em at -1.5em 1.5em)"
     17PASS getStyleValue("-webkit-shape-inside", "circle(.5em at -.5em +.5em)") is "circle(0.5em at -0.5em 0.5em)"
     18PASS getStyleValue("-webkit-shape-inside", "circle(1ex at 1ex 1ex)") is "circle(1ex at 1ex 1ex)"
     19PASS getStyleValue("-webkit-shape-inside", "circle(1rem at 1rem 1rem)") is "circle(1rem at 1rem 1rem)"
     20PASS getComputedStyleValue("-webkit-shape-inside", "circle(1.5em at .5em 1em)") is "circle(12px at 4px 8px)"
     21PASS getComputedStyleValue("-webkit-shape-inside", "circle(1.5rem at .5rem 1rem)") is "circle(24px at 8px 16px)"
     22PASS getStyleValue("-webkit-shape-inside", "circle(1vw at 1vw 1vw)") is "circle(1vw at 1vw 1vw)"
     23PASS getStyleValue("-webkit-shape-inside", "circle(1vh at 1vh 1vh)") is "circle(1vh at 1vh 1vh)"
     24PASS getStyleValue("-webkit-shape-inside", "circle(1vmin at 1vmin 1vmin)") is "circle(1vmin at 1vmin 1vmin)"
     25PASS getComputedStyleValue("-webkit-shape-inside", "circle(1.5vw at .5vw 1vw)") is "circle(1.5vw at 0.5vw 1vw)"
     26PASS getComputedStyleValue("-webkit-shape-inside", "circle(1.5vh at .5vh 1vh)") is "circle(1.5vh at 0.5vh 1vh)"
     27PASS getComputedStyleValue("-webkit-shape-inside", "circle(1.5vmin at .5vmin 1vmin)") is "circle(1.5vmin at 0.5vmin 1vmin)"
     28PASS getStyleValue("-webkit-shape-inside", "circle(100% at 100% 100%)") is "circle(100% at 100% 100%)"
    3329PASS 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%)"
     30PASS getStyleValue("-webkit-shape-inside", "ellipse(100% 100% at 100% 100%)") is "ellipse(100% 100% at 100% 100%)"
    3531PASS 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%)"
     32PASS getComputedStyleValue("-webkit-shape-inside", "circle(150% at 50% 100%)") is "circle(150% at 50% 100%)"
    3933PASS 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%)"
     34PASS getComputedStyleValue("-webkit-shape-inside", "ellipse(100% 100% at 100% 100%)") is "ellipse(100% 100% at 100% 100%)"
    4135PASS 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"
     36PASS getStyleValue("-webkit-shape-inside", "circle(1 at 1px 1px)") is null
     37PASS getComputedStyleValue("-webkit-shape-inside", "circle(1 at 1px 1px)") is "none"
     38PASS getStyleValue("-webkit-shape-inside", "circle(px at 1px 1px)") is null
     39PASS getComputedStyleValue("-webkit-shape-inside", "circle(px at 1px 1px)") is "none"
     40PASS getStyleValue("-webkit-shape-inside", "circle(1p at 1px 1px)") is null
     41PASS getComputedStyleValue("-webkit-shape-inside", "circle(1p at 1px 1px)") is "none"
     42PASS getStyleValue("-webkit-shape-inside", "circle(calc( at 1px 1px))") is null
     43PASS getComputedStyleValue("-webkit-shape-inside", "circle(calc( at 1px 1px))") is "none"
     44PASS getStyleValue("-webkit-shape-inside", "circle(-1.5px at -1.5px +1.5px)") is null
     45PASS getComputedStyleValue("-webkit-shape-inside", "circle(-1.5px at -1.5px +1.5px)") is "none"
    6046PASS getStyleValue("-webkit-shape-inside", "inset(1cm 1mm 1in 1px round 1pt -1pc)") is null
    6147PASS 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"
     48PASS getStyleValue("-webkit-shape-inside", "ellipse(-1em 1em at 1em 1em)") is null
     49PASS getComputedStyleValue("-webkit-shape-inside", "ellipse(-1em 1em at 1em 1em)") is "none"
     50PASS getStyleValue("-webkit-shape-inside", "ellipse(1em -1em at 1em 1em)") is null
     51PASS getComputedStyleValue("-webkit-shape-inside", "ellipse(1em -1em at 1em 1em)") is "none"
    7852PASS successfullyParsed is true
    7953
  • trunk/LayoutTests/fast/shapes/parsing/parsing-shape-lengths.html

    r162871 r165472  
    3737
    3838// 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)");
     39testStyleValue("circle(0 at 0 0)", "circle(0px at 0% 0%)");
     40testStyleValue("circle(1px at +1px -1px)", "circle(1px at 1px -1px)");
     41testStyleValue("circle(1.5px at -1.5px +1.5px)", "circle(1.5px at -1.5px 1.5px)");
     42testStyleValue("circle(.5px at -.5px +.5px)", "circle(0.5px at -0.5px 0.5px)");
    4343
    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)");
    4644testStyleValue("inset(1cm 1mm 1in 1px round 1pt 1pc)", "inset(1cm 1mm 1in 1px round 1pt 1pc 1pt 1pc / 1pt 1pc 1pt 1pc)");
    4745testStyleValue("inset(-1px 1px 1px 1px round 1px 1px 1px 1px)", "inset(-1px 1px 1px 1px round 1px 1px 1px 1px / 1px 1px 1px 1px)");
     
    5149
    5250// 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)");
     51testStyleValue("circle(1em at -1em +1em)", "circle(1em at -1em 1em)");
     52testStyleValue("circle(1.5em at -1.5em +1.5em)", "circle(1.5em at -1.5em 1.5em)");
     53testStyleValue("circle(.5em at -.5em +.5em)", "circle(0.5em at -0.5em 0.5em)");
    5654
    57 testStyleValue("circle(1ex, 1ex, 1ex)", "circle(1ex, 1ex, 1ex)");
     55testStyleValue("circle(1ex at 1ex 1ex)", "circle(1ex at 1ex 1ex)");
    5856// FIXME: Add ch test when it is supported
    59 testStyleValue("circle(1rem, 1rem, 1rem)", "circle(1rem, 1rem, 1rem)");
     57testStyleValue("circle(1rem at 1rem 1rem)", "circle(1rem at 1rem 1rem)");
    6058
    61 testComputedStyleValue("circle(.5em, 1em, 1.5em)", "circle(4px, 8px, 12px)");
    62 testComputedStyleValue("circle(.5rem, 1rem, 1.5rem)", "circle(8px, 16px, 24px)");
     59testComputedStyleValue("circle(1.5em at .5em 1em)", "circle(12px at 4px 8px)");
     60testComputedStyleValue("circle(1.5rem at .5rem 1rem)", "circle(24px at 8px 16px)");
    6361
    6462// 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)");
     63testStyleValue("circle(1vw at 1vw 1vw)", "circle(1vw at 1vw 1vw)");
     64testStyleValue("circle(1vh at 1vh 1vh)", "circle(1vh at 1vh 1vh)");
     65testStyleValue("circle(1vmin at 1vmin 1vmin)", "circle(1vmin at 1vmin 1vmin)");
    6866
    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)");
     67testComputedStyleValue("circle(1.5vw at .5vw 1vw)", "circle(1.5vw at 0.5vw 1vw)");
     68testComputedStyleValue("circle(1.5vh at .5vh 1vh)", "circle(1.5vh at 0.5vh 1vh)");
     69testComputedStyleValue("circle(1.5vmin at .5vmin 1vmin)", "circle(1.5vmin at 0.5vmin 1vmin)");
    7270
    7371// 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%)");
     72testStyleValue("circle(100% at 100% 100%)", "circle(100% at 100% 100%)");
    7773testStyleValue("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%)");
     74testStyleValue("ellipse(100% 100% at 100% 100%)", "ellipse(100% 100% at 100% 100%)");
    7975testStyleValue("polygon(10% 20%, 30% 40%, 40% 50%)", "polygon(nonzero, 10% 20%, 30% 40%, 40% 50%)");
    8076
    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%)");
     77testComputedStyleValue("circle(150% at 50% 100%)", "circle(150% at 50% 100%)");
    8478testComputedStyleValue("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%)");
     79testComputedStyleValue("ellipse(100% 100% at 100% 100%)", "ellipse(100% 100% at 100% 100%)");
    8680testComputedStyleValue("polygon(10% 20%, 30% 40%, 40% 50%)", "polygon(nonzero, 10% 20%, 30% 40%, 40% 50%)");
    8781
    8882// 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())");
     83testInvalidValue("-webkit-shape-outside", "circle(1 at 1px 1px)");
     84testInvalidValue("-webkit-shape-outside", "circle(px at 1px 1px)");
     85testInvalidValue("-webkit-shape-outside", "circle(1p at 1px 1px)");
     86testInvalidValue("-webkit-shape-outside", "circle(calc( at 1px 1px))");
    9387
    9488// 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)");
     89testInvalidValue("-webkit-shape-outside", "circle(-1.5px at -1.5px +1.5px)");
     90testInvalidValue("-webkit-shape-outside", "inset(1cm 1mm 1in 1px round 1pt -1pc)");
     91testInvalidValue("-webkit-shape-outside", "ellipse(-1em 1em at 1em 1em)");
     92testInvalidValue("-webkit-shape-outside", "ellipse(1em -1em at 1em 1em)");
    11393
    11494</script>
  • trunk/LayoutTests/fast/shapes/parsing/parsing-shape-outside-expected.txt

    r165277 r165472  
    66PASS getCSSText("-webkit-shape-outside", "none") is "none"
    77PASS 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)"
    208PASS getCSSText("-webkit-shape-outside", "inset(10px)") is "inset(10px 10px 10px 10px)"
    219PASS getComputedStyleValue("-webkit-shape-outside", "inset(10px)") is "inset(10px 10px 10px 10px round 0px 0px 0px 0px / 0px 0px 0px 0px)"
     
    6856PASS 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)"
    6957PASS 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)"
    7258PASS getCSSText("-webkit-shape-outside", "circle()") is "circle(at 50% 50%)"
    7359PASS getComputedStyleValue("-webkit-shape-outside", "circle()") is "circle(closest-side at 50% 50%)"
     
    10086PASS getCSSText("-webkit-shape-outside", "circle(10px at right 10px bottom 10px)") is "circle(10px at right 10px bottom 10px)"
    10187PASS 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)"
    10488PASS getCSSText("-webkit-shape-outside", "ellipse()") is "ellipse(at 50% 50%)"
    10589PASS getComputedStyleValue("-webkit-shape-outside", "ellipse()") is "ellipse(closest-side closest-side at 50% 50%)"
     
    174158PASS getCSSText("-webkit-shape-outside", "auto") is ""
    175159PASS 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"
    200160PASS getCSSText("-webkit-shape-outside", "inset()") is ""
    201161PASS getComputedStyleValue("-webkit-shape-outside", "inset()") is "none"
     
    228188PASS getCSSText("-webkit-shape-outside", "inset(round /)") is ""
    229189PASS 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"
    236190PASS getCSSText("-webkit-shape-outside", "circle(10px 20px)") is ""
    237191PASS getComputedStyleValue("-webkit-shape-outside", "circle(10px 20px)") is "none"
     
    250204PASS getCSSText("-webkit-shape-outside", "circle(at center center 10px)") is ""
    251205PASS 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"
    258206PASS getCSSText("-webkit-shape-outside", "ellipse(10px 20px 30px)") is ""
    259207PASS getComputedStyleValue("-webkit-shape-outside", "ellipse(10px 20px 30px)") is "none"
     
    306254PASS getCSSText("-webkit-shape-outside", "outside-shape") is ""
    307255PASS 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)"
     256PASS getParentAndChildComputedStylesString("-webkit-shape-outside", "none", "circle(30px at 10px 20px)") is "parent: none, child: circle(30px at 10px 20px)"
     257PASS getParentAndChildComputedStylesString("-webkit-shape-outside", "circle(30px at 10px 20px)", "initial") is "parent: circle(30px at 10px 20px), child: none"
     258PASS getParentAndChildComputedStylesString("-webkit-shape-outside", "circle(30px at 10px 20px)", "") is "parent: circle(30px at 10px 20px), child: none"
     259PASS getParentAndChildComputedStylesString("-webkit-shape-outside", "circle(30px at 10px 20px)", "inherit") is "parent: circle(30px at 10px 20px), child: circle(30px at 10px 20px)"
    312260PASS getParentAndChildComputedStylesString("-webkit-shape-outside", "", "inherit") is "parent: none, child: none"
    313261PASS getParentAndChildComputedStylesString("-webkit-shape-outside", "none", "inherit") is "parent: none, child: none"
  • trunk/LayoutTests/fast/shapes/parsing/parsing-shape-outside.html

    r161436 r165472  
    2929    testNotInheritedShapeProperty,
    3030    [// [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)"],
    3535     ["-webkit-shape-outside", "", "inherit", "parent: none, child: none"],
    3636     ["-webkit-shape-outside", "none", "inherit", "parent: none, child: none"]]
  • trunk/LayoutTests/fast/shapes/parsing/parsing-test-utils.js

    r165277 r165472  
    77var validShapeValues = [
    88    "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)",
    169
    1710    ["inset(10px)", "inset(10px 10px 10px 10px)", "inset(10px 10px 10px 10px round 0px 0px 0px 0px / 0px 0px 0px 0px)"],
     
    4134    "inset(10px 20px 30px 40px round 5px 6px 7px 8px / 50px 60px 70px 80px)",
    4235
    43     "circle(10px, 20px, 30px)", // FIXME: Remove this test once we do not support the deprecated CSS Shapes syntax anymore.
    44 
    4536    ["circle()", "circle(at 50% 50%)", "circle(closest-side at 50% 50%)"],
    4637    ["circle(farthest-side)", "circle(farthest-side at 50% 50%)", "circle(farthest-side at 50% 50%)"],
     
    5849    ["circle(10px at right 0px bottom 0px)", "circle(10px at 100% 100%)"],
    5950    ["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.
    6251
    6352    ["ellipse()", "ellipse(at 50% 50%)", "ellipse(closest-side closest-side at 50% 50%)"],
     
    10695    "auto",
    10796
    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 
    12297    "inset()",
    12398    "inset(10px, 10px)",
     
    136111    "inset(round /)",
    137112
    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 
    142113    "circle(10px 20px)",
    143114    "circle(10px at 10px 10px 10px)",
     
    148119    "circle(at 10px 10px at center)",
    149120    "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.
    154121
    155122    "ellipse(10px 20px 30px)",
  • trunk/LayoutTests/fast/shapes/resources/simple-rectangle.js

    r154757 r165472  
    1313    for (var i in bounds)
    1414        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 + ')');
    1726    rules.push('position: relative');
    1827    rules.push('overflow-wrap: break-word');
     
    2029
    2130    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);
    2332    rules.push('position: absolute', 'display: block', 'content: \' \'');
    2433    rules.push('border: 1px solid blue');
  • trunk/LayoutTests/fast/shapes/shape-inside/shape-inside-animation-expected.txt

    r160007 r165472  
    11Moving 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)
     2PASS - "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)
    33PASS - "webkitShapeInside" property for "circle-box" element at 1s saw something close to: circle(35% at 35% 35%)
    44PASS - "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  
    1111    }
    1212
    13     #rectangle-box {
    14       -webkit-animation: rectangle-anim 2s linear
     13    #inset-box {
     14      -webkit-animation: inset-anim 2s linear
    1515    }
    1616
     
    2828
    2929
    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%); }
    3333    }
    3434
     
    5353    const expectedValues = [
    5454      // [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],
    5656      ["circle-anim",  1, "circle-box", "webkitShapeInside", "circle(35% at 35% 35%)", 0.05],
    5757      ["ellipse-anim",  1, "ellipse-box", "webkitShapeInside", "ellipse(35% 30% at 35% 35%)", 0.05],
     
    6464<body>
    6565
    66 <div class="box" id="rectangle-box">Moving Text</div>
     66<div class="box" id="inset-box">Moving Text</div>
    6767<div class="box" id="circle-box">Moving Text</div>
    6868<div class="box" id="ellipse-box">Moving Text</div>
  • trunk/LayoutTests/fast/shapes/shape-inside/shape-inside-bottom-edge-expected.html

    r152800 r165472  
    88    line-height: 20px;
    99    outline: 2px solid green;
    10 }
    11 
    12 .rounded-rectangle {
    13     width: 100px;
    14     height: 100px;
    1510}
    1611
     
    2722    <p style="padding-top: 55px; padding-left: 25px;">Content1</p>
    2823  </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 rectangle bottom 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>
    3025<hr>
    3126
     
    3429</div>
    3530
    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 rectangle bottom 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>
    3732<hr>
    3833
     
    4136</div>
    4237
    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>
    5639<hr>
    5740
  • trunk/LayoutTests/fast/shapes/shape-inside/shape-inside-bottom-edge.html

    r154500 r165472  
    1010}
    1111
    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);
    2614}
    2715
     
    3422
    3523<body>
    36   <div class="box rectangle">
     24  <div class="box polygon">
    3725    <p style="padding-top: 55px;">Content1</p>
    3826  </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 rectangle bottom 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>
    4028<hr>
    4129
    42 <div class="box rectangle">
     30<div class="box polygon">
    4331    <p style="padding-top: 60px;">Content2</p>
    4432</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 rectangle bottom 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>
    4634<hr>
    4735
    48 <div class="box rectangle">
     36<div class="box polygon">
    4937    <p style="padding-top: 76px;">Content3</p>
    5038</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>
    6440<hr>
    6541
  • trunk/LayoutTests/fast/shapes/shape-inside/shape-inside-box-sizing.html

    r159792 r165472  
    2727    }
    2828    .shape-inside {
    29         -webkit-shape-inside: rectangle(5px, 10px, 30px, 40px);
     29        -webkit-shape-inside: polygon(5px 10px, 35px 10px, 35px 50px, 5px 50px);
    3030        font-family: Ahem, sans-serif;
    3131        font-size: 10px;
     
    3333    }
    3434    .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;
    3636    }
    3737    .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;
    3939    }
    4040    .vertical-lr {
  • trunk/LayoutTests/fast/shapes/shape-inside/shape-inside-dynamic-nested-expected.html

    r154500 r165472  
    2525    }
    2626    .inside {
    27         -webkit-shape-inside: rectangle(10px, 10px, 180px, 180px);
     27        -webkit-shape-inside: polygon(10px 10px, 190px 10px, 190px 190px, 10px 190px);
    2828    }
    2929    .outside {
    30         -webkit-shape-outside: rectangle(10px, 10px, 180px, 180px);
     30        -webkit-shape-outside: polygon(10px 10px, 190px 10px, 190px 190px, 10px 190px);
    3131    }
    3232</style>
  • trunk/LayoutTests/fast/shapes/shape-inside/shape-inside-dynamic-nested.html

    r159979 r165472  
    5353    }
    5454    .inside {
    55         -webkit-shape-inside: rectangle(10px, 10px, 180px, 180px);
     55        -webkit-shape-inside: polygon(10px 10px, 190px 10px, 190px 190px, 10px 190px);
    5656    }
    5757    .inside-alt {
     
    5959    }
    6060    .outside {
    61         -webkit-shape-outside: rectangle(10px, 10px, 180px, 180px);
     61        -webkit-shape-inside: polygon(10px 10px, 190px 10px, 190px 190px, 10px 190px);
    6262    }
    6363    .outside-alt {
  • trunk/LayoutTests/fast/shapes/shape-inside/shape-inside-dynamic-shape.html

    r154500 r165472  
    55    window.onload = function() {
    66        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);");
    88    };
    99</script>
  • trunk/LayoutTests/fast/shapes/shape-inside/shape-inside-dynamic-text.html

    r154500 r165472  
    1212        width: 200px;
    1313        height: 200px;
    14         -webkit-shape-inside: rectangle(10px, 10px, 180px, 180px);
     14        -webkit-shape-inside: polygon(10px 10px, 190px 10px, 190px 190px, 10px 190px);
    1515        position: relative;
    1616    }
  • trunk/LayoutTests/fast/shapes/shape-inside/shape-inside-empty-expected.html

    r160007 r165472  
    1616<div id="rectangles">
    1717    <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>
    2418        <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>
    2519    </div>
  • trunk/LayoutTests/fast/shapes/shape-inside/shape-inside-empty.html

    r160007 r165472  
    99        margin-top: 50px;
    1010        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);
    1911    }
    2012
     
    4234<body>
    4335<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;">
    5137        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.)
    5238    </p>
  • trunk/LayoutTests/fast/shapes/shape-inside/shape-inside-multiple-blocks-vertical.html

    r154500 r165472  
    66        width: 200px;
    77        height: 300px;
    8         -webkit-shape-inside: rectangle(10px, 15px, 170px, 280px);
     8        -webkit-shape-inside: polygon(10px 15px, 180px 15px, 180px 295px, 10px 295px);
    99        position: relative;
    1010    }
  • trunk/LayoutTests/fast/shapes/shape-inside/shape-inside-multiple-blocks.html

    r154500 r165472  
    66        width: 200px;
    77        height: 300px;
    8         -webkit-shape-inside: rectangle(10px, 15px, 170px, 280px);
     8        -webkit-shape-inside: polygon(10px 15px, 180px 15px, 180px 295px, 10px 295px);
    99        position: relative;
    1010    }
  • trunk/LayoutTests/fast/shapes/shape-inside/shape-inside-on-nested-container-with-unresolved-height.html

    r156545 r165472  
    1010.container {
    1111    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%);
    1313}
    1414</style>
  • trunk/LayoutTests/fast/shapes/shape-inside/shape-inside-outside-shape.html

    r154757 r165472  
    2020        var inlineStyle = document.getElementById('shape-inside2').style;
    2121        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)');
    2323    };
    2424</script>
  • trunk/LayoutTests/fast/shapes/shape-inside/shape-inside-overflow-fixed-dimensions-block-content.html

    r154500 r165472  
    1616    width: 200px;
    1717    height: 200px;
    18     -webkit-shape-inside: rectangle(50px, 0px, 100px, 60px);
     18    -webkit-shape-inside: polygon(50px 0px, 150px 0px, 150px 60px, 50px 60px);
    1919}
    2020#border {
  • trunk/LayoutTests/fast/shapes/shape-inside/shape-inside-overflow-fixed-dimensions.html

    r154500 r165472  
    1515    padding-top: 15px;
    1616    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);
    1818}
    1919#border {
  • trunk/LayoutTests/fast/shapes/shape-inside/shape-inside-overflow.html

    r154500 r165472  
    1111        border: 2px solid blue;
    1212    }
    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); }
    1414    #border {
    1515        position: absolute;
  • trunk/LayoutTests/fast/shapes/shape-inside/shape-inside-percentage-auto.html

    r154500 r165472  
    44<style>
    55    #shape-inside {
    6         -webkit-shape-inside: rectangle(10%, 100%, 80%, 200px);
     6        -webkit-shape-inside: polygon(10% 100%, 90% 100%, 90% 200px, 10% 200px);
    77        position: relative;
    88        max-height: 200px;
  • trunk/LayoutTests/fast/shapes/shape-inside/shape-inside-percentage.html

    r154500 r165472  
    1313    }
    1414    #shape-inside {
    15         -webkit-shape-inside: rectangle(25%, 0, 50%, 25%);
     15        -webkit-shape-inside: polygon(25% 0, 75% 0, 75% 25%, 25% 25%);
    1616        height: 100%;
    1717        width: 100%;
  • trunk/LayoutTests/fast/shapes/shape-inside/shape-inside-subpixel-rectangle-top.html

    r159821 r165472  
    77<style>
    88    #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);
    1010        font: 100px/1 Ahem, sans-serif;
    1111        -webkit-font-smoothing: antialiased;
  • trunk/LayoutTests/fast/shapes/shape-inside/shape-inside-text.html

    r154500 r165472  
    66        width: 200px;
    77        height: 200px;
    8         -webkit-shape-inside: rectangle(10px, 10px, 180px, 180px);
     8        -webkit-shape-inside: polygon(10px 10px, 190px 10px, 190px 190px, 10px 190px);
    99        position: relative;
    1010    }
  • trunk/LayoutTests/fast/shapes/shape-inside/shape-inside-vertical-text.html

    r154500 r165472  
    66        width: 200px;
    77        height: 220px;
    8         -webkit-shape-inside: rectangle(15px, 20px, 150px, 175px);
     8        -webkit-shape-inside: polygon(15px 20px, 165px 20px, 165px 195px, 15px 195px);
    99        -webkit-writing-mode: vertical-lr;
    1010        position: relative;
     
    1313        width: 200px;
    1414        height: 220px;
    15         -webkit-shape-inside: rectangle(15px, 20px, 150px, 175px);
     15        -webkit-shape-inside: polygon(15px 20px, 165px 20px, 165px 195px, 15px 195px);
    1616        -webkit-writing-mode: vertical-rl;
    1717        position: relative;
  • trunk/LayoutTests/fast/shapes/shape-outside-floats/shape-outside-animation-expected.txt

    r162210 r165472  
    1212Moving Text
    1313Moving Text
    14 PASS - "webkitShapeOutside" property for "rectangle-box" element at 1s saw something close to: rectangle(10%, 10%, 80%, 80%, 0px, 0px)
     14PASS - "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)
    1515PASS - "webkitShapeOutside" property for "circle-box" element at 1s saw something close to: circle(35% at 35% 35%)
    1616PASS - "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  
    1515    }
    1616
    17     #rectangle-box {
    18       -webkit-animation: rectangle-anim 2s linear
     17    #inset-box {
     18      -webkit-animation: inset-anim 2s linear
    1919    }
    2020
     
    6767    }
    6868
    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%); }
    7272    }
    7373
     
    136136    const expectedValues = [
    137137      // [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],
    139139      ["circle-anim",  1, "circle-box", "webkitShapeOutside", "circle(35% at 35% 35%)", 0.05],
    140140      ["ellipse-anim",  1, "ellipse-box", "webkitShapeOutside", "ellipse(35% 30% at 35% 35%)", 0.05],
     
    157157
    158158<div class='container'>
    159   <div class="box" id="rectangle-box"></div>
     159  <div class="box" id="inset-box"></div>
    160160  Moving Text
    161161</div>
  • trunk/LayoutTests/fast/shapes/shape-outside-floats/shape-outside-dynamic-shape-margin.html

    r157400 r165472  
    3232        width: 100px;
    3333        height: 100px;
    34         -webkit-shape-outside: rectangle(0, 0, 0, 0);
     34        -webkit-shape-outside: inset(0 100% 100% 0);
    3535    }
    3636    .shape::before {
  • trunk/LayoutTests/fast/shapes/shape-outside-floats/shape-outside-dynamic-shape-overhang.html

    r156905 r165472  
    4848
    4949    .rectangle50 {
    50         -webkit-shape-outside: rectangle(0, 0, 50px, 50px);
     50        -webkit-shape-outside: polygon(0px 0px, 50px 0px, 50px 50px, 0px 50px);
    5151    }
    5252    .rectangle50::before {
     
    5656
    5757    .rectangle25 {
    58         -webkit-shape-outside: rectangle(0, 0, 25px, 25px);
     58        -webkit-shape-outside: polygon(0px 0px, 25px 0px, 25px 25px, 0px 25px);
    5959    }
    6060    .rectangle25::before {
  • trunk/LayoutTests/fast/shapes/shape-outside-floats/shape-outside-dynamic-shape.html

    r156905 r165472  
    4444
    4545    .rectangle50 {
    46         -webkit-shape-outside: rectangle(0, 0, 50px, 50px);
     46        -webkit-shape-outside: polygon(0px 0px, 50px 0px, 50px 50px, 0px 50px);
    4747    }
    4848    .rectangle50::before {
     
    5252
    5353    .rectangle25 {
    54         -webkit-shape-outside: rectangle(0, 0, 25px, 25px);
     54        -webkit-shape-outside: polygon(0px 0px, 25px 0px, 25px 25px, 0px 25px);
    5555    }
    5656    .rectangle25::before {
  • trunk/LayoutTests/fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-modes.html

    r160243 r165472  
    99    .float {
    1010        -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;
    1212        height: 20px;
    1313        width: 40px;
  • trunk/LayoutTests/fast/shapes/shape-outside-floats/shape-outside-floats-ellipse-margin-bottom.html

    r154500 r165472  
    2121    position: relative;
    2222    overflow: visible;
    23     -webkit-shape-outside: ellipse(225px, 125px, 200px, 100px);
     23    -webkit-shape-outside: ellipse(200px 100px at 225px 125px);
    2424    -webkit-shape-margin: 25px;
    2525    width: 450px;
  • trunk/LayoutTests/fast/shapes/shape-outside-floats/shape-outside-floats-ellipse-margin-left.html

    r155272 r165472  
    2121    position: relative;
    2222    overflow: visible;
    23     -webkit-shape-outside: ellipse(225px, 125px, 200px, 100px);
     23    -webkit-shape-outside: ellipse(200px 100px at 225px 125px);
    2424    -webkit-shape-margin: 25px;
    2525    width: 450px;
  • trunk/LayoutTests/fast/shapes/shape-outside-floats/shape-outside-floats-ellipse-margin-right.html

    r155272 r165472  
    2222    position: relative;
    2323    overflow: visible;
    24     -webkit-shape-outside: ellipse(225px, 125px, 200px, 100px);
     24    -webkit-shape-outside: ellipse(200px 100px at 225px 125px);
    2525    -webkit-shape-margin: 25px;
    2626    width: 450px;
  • trunk/LayoutTests/fast/shapes/shape-outside-floats/shape-outside-floats-layout-after-initial-layout-pass.html

    r158630 r165472  
    88    height: 100px;
    99    background-color: green;
    10     -webkit-shape-outside: rectangle(0px, 0px, 50%, 100%);
     10    -webkit-shape-outside: inset(0% 50% 0% 0%);
    1111}
    1212#content {
  • trunk/LayoutTests/fast/shapes/shape-outside-floats/shape-outside-floats-not-a-layer.html

    r155244 r165472  
    1010        width: 50px;
    1111        background-color: red;
    12         -webkit-shape-outside: rectangle(0, 0, 0, 100%);
     12        -webkit-shape-outside: inset(0 100% 0 0);
    1313    }
    1414</style>
  • trunk/LayoutTests/fast/shapes/shape-outside-floats/shape-outside-floats-outermost.html

    r154641 r165472  
    1111        margin-bottom: 10px;
    1212        background-color: black;
    13         -webkit-shape-outside: rectangle(0, 0, 50%, 100%);
     13        -webkit-shape-outside: inset(0 50% 0 0);
    1414    }
    1515    .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
  • 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
  • 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
  • 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
  • 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
  • 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
  • trunk/LayoutTests/fast/shapes/shape-outside-floats/shape-outside-shape-margin-animation.html

    r157400 r165472  
    1111        height: 100px;
    1212        width: 100px;
    13         -webkit-shape-outside: rectangle(0, 0, 0, 0);
     13        -webkit-shape-outside: inset(0 100% 100% 0);
    1414        float: left;
    1515        background: rgba(0, 0, 255, 0.5);
  • trunk/Source/WebCore/ChangeLog

    r165467 r165472  
     12014-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
    1342014-03-12  Carlos Garcia Campos  <cgarcia@igalia.com>
    235
     
    565598        (WebCore::RenderLayer::calculateClipRects):
    566599
    567 >>>>>>> .r165392
    5686002014-03-10  Hans Muller  <hmuller@adobe.com>
    569601
  • trunk/Source/WebCore/css/BasicShapeFunctions.cpp

    r163552 r165472  
    7171    RefPtr<CSSBasicShape> basicShapeValue;
    7272    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     }
    9873    case BasicShape::BasicShapeCircleType: {
    9974        const BasicShapeCircle* circle = static_cast<const BasicShapeCircle*>(basicShape);
     
    10479        circleValue->setRadius(basicShapeRadiusToCSSValue(style, pool, circle->radius()));
    10580        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();
    11881        break;
    11982    }
     
    139102
    140103        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();
    155104        break;
    156105    }
     
    259208
    260209    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             else
    275                 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     }
    294210    case CSSBasicShape::CSSBasicShapeCircleType: {
    295211        const CSSBasicShapeCircle* circleValue = static_cast<const CSSBasicShapeCircle *>(basicShapeValue);
     
    301217
    302218        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();
    315219        break;
    316220    }
     
    340244        break;
    341245    }
    342     case CSSBasicShape::CSSBasicShapeInsetRectangleType: {
    343         const CSSBasicShapeInsetRectangle* rectValue = static_cast<const CSSBasicShapeInsetRectangle *>(basicShapeValue);
    344         RefPtr<BasicShapeInsetRectangle> rect = BasicShapeInsetRectangle::create();
     246    case CSSBasicShape::CSSBasicShapeInsetType: {
     247        const CSSBasicShapeInset* rectValue = static_cast<const CSSBasicShapeInset* >(basicShapeValue);
     248        RefPtr<BasicShapeInset> rect = BasicShapeInset::create();
    345249
    346250        rect->setTop(convertToLength(style, rootStyle, rectValue->top()));
     
    348252        rect->setBottom(convertToLength(style, rootStyle, rectValue->bottom()));
    349253        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             else
    356                 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()));
    372254
    373255        rect->setTopLeftRadius(convertToLengthSize(style, rootStyle, rectValue->topLeftRadius()));
  • trunk/Source/WebCore/css/BasicShapeFunctions.h

    r161569 r165472  
    4444PassRefPtr<BasicShape> basicShapeForValue(const RenderStyle*, const RenderStyle* rootStyle, const CSSBasicShape*);
    4545
    46 PassRefPtr<CSSPrimitiveValue> valueForBox(LayoutBox);
    47 LayoutBox boxForValue(const CSSPrimitiveValue*);
    48 
    4946float floatValueForCenterCoordinate(const BasicShapeCenterCoordinate&, float);
    5047}
  • trunk/Source/WebCore/css/CSSBasicShapes.cpp

    r165277 r165472  
    4141namespace WebCore {
    4242
    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() const
    75 {
    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) const
    86 {
    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 
    10043static String serializePositionOffset(const Pair& offset, const Pair& other)
    10144{
     
    189132}
    190133
    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() const
    211 {
    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) const
    216 {
    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 
    227134static String buildEllipseString(const String& radiusX, const String& radiusY, const String& centerX, const String& centerY, const String& box)
    228135{
     
    279186
    280187    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() const
    310 {
    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) const
    315 {
    316     if (shape.type() != CSSDeprecatedBasicShapeEllipseType)
    317         return false;
    318 
    319     const CSSDeprecatedBasicShapeEllipse& other = static_cast<const CSSDeprecatedBasicShapeEllipse&>(shape);
    320188    return compareCSSValuePtr(m_centerX, other.m_centerX)
    321189        && compareCSSValuePtr(m_centerY, other.m_centerY)
     
    393261}
    394262
    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() const
    427 {
    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) const
    438 {
    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 
    452263static String buildInsetString(const String& top, const String& right, const String& bottom, const String& left,
    453264    const String& topLeftRadiusWidth, const String& topLeftRadiusHeight,
  • trunk/Source/WebCore/css/CSSBasicShapes.h

    r162139 r165472  
    4242public:
    4343    enum Type {
    44         CSSBasicShapeRectangleType,
    45         CSSDeprecatedBasicShapeCircleType,
    46         CSSDeprecatedBasicShapeEllipseType,
    4744        CSSBasicShapePolygonType,
    48         CSSBasicShapeInsetRectangleType,
    4945        CSSBasicShapeCircleType,
    5046        CSSBasicShapeEllipseType,
     
    6662    RefPtr<CSSPrimitiveValue> m_layoutBox;
    6763};
    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 
    13564
    13665class CSSBasicShapeInset : public CSSBasicShape {
     
    200129};
    201130
    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 
    253131class CSSBasicShapeEllipse : public CSSBasicShape {
    254132public:
  • trunk/Source/WebCore/css/CSSParser.cpp

    r164795 r165472  
    54695469}
    54705470
    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 
    55835471PassRefPtr<CSSPrimitiveValue> CSSParser::parseShapeRadius(CSSParserValue* value)
    55845472{
     
    56375525}
    56385526
    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 
    56895527PassRefPtr<CSSBasicShape> CSSParser::parseBasicShapeEllipse(CSSParserValueList* args)
    56905528{
     
    57335571    }
    57345572
    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;
    57865573    return shape;
    57875574}
     
    59395726}
    59405727
    5941 // FIXME This function is temporary to allow for an orderly transition between
    5942 // the new CSS Shapes circle and ellipse syntax. It will be removed when the
    5943 // 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 
    59555728PassRefPtr<CSSPrimitiveValue> CSSParser::parseBasicShape()
    59565729{
     
    59635736
    59645737    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);
    59725740    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);
    59775742    else if (equalIgnoringCase(value->function->name, "polygon("))
    59785743        shape = parseBasicShapePolygon(args);
    5979     else if (equalIgnoringCase(value->function->name, "inset-rectangle("))
    5980         shape = parseBasicShapeInsetRectangle(args);
    59815744    else if (equalIgnoringCase(value->function->name, "inset("))
    59825745        shape = parseBasicShapeInset(args);
  • trunk/Source/WebCore/rendering/shapes/Shape.cpp

    r165429 r165472  
    5353}
    5454
    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 
    6155static PassOwnPtr<Shape> createCircleShape(const FloatPoint& center, float radius)
    6256{
     
    123117    switch (basicShape->type()) {
    124118
    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 
    153119    case BasicShape::BasicShapeCircleType: {
    154120        const BasicShapeCircle* circle = static_cast<const BasicShapeCircle*>(basicShape);
     
    159125
    160126        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);
    174127        break;
    175128    }
     
    201154
    202155        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));
    222156        break;
    223157    }
  • trunk/Source/WebCore/rendering/shapes/ShapeInsideInfo.cpp

    r164363 r165472  
    5252    switch (shapeValue->type()) {
    5353    case ShapeValue::Shape:
    54         return shapeValue->shape() && shapeValue->shape()->type() != BasicShape::BasicShapeInsetRectangleType && shapeValue->shape()->type() != BasicShape::BasicShapeInsetType;
     54        return shapeValue->shape() && shapeValue->shape()->type() != BasicShape::BasicShapeInsetType;
    5555    case ShapeValue::Image:
    5656        return shapeValue->isImageValid() && checkShapeImageOrigin(renderer.document(), *(shapeValue->image()->cachedImage()));
  • trunk/Source/WebCore/rendering/style/BasicShapes.cpp

    r165055 r165472  
    9393}
    9494
    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) const
    113 {
    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 * 2
    139     ));
    140 }
    141 
    142 PassRefPtr<BasicShape> DeprecatedBasicShapeCircle::blend(const BasicShape* other, double progress) const
    143 {
    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 
    15495float BasicShapeCircle::floatValueForRadiusInBox(float boxWidth, float boxHeight) const
    15596{
     
    194135}
    195136
    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 * 2
    208     ));
    209 }
    210 
    211 PassRefPtr<BasicShape> DeprecatedBasicShapeEllipse::blend(const BasicShape* other, double progress) const
    212 {
    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 
    224137float BasicShapeEllipse::floatValueForRadiusInBox(const BasicShapeRadius& radius, float center, float boxWidthOrHeight) const
    225138{
     
    309222    }
    310223
    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) const
    334 {
    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));
    345224    return result.release();
    346225}
  • trunk/Source/WebCore/rendering/style/BasicShapes.h

    r162210 r165472  
    5050
    5151    enum Type {
    52         BasicShapeRectangleType,
    53         DeprecatedBasicShapeCircleType,
    54         DeprecatedBasicShapeEllipseType,
    5552        BasicShapePolygonType,
    56         BasicShapeInsetRectangleType,
    5753        BasicShapeCircleType,
    5854        BasicShapeEllipseType,
     
    7975private:
    8076    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;
    12277};
    12378
     
    227182};
    228183
    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 
    253184class BasicShapeEllipse : public BasicShape {
    254185public:
     
    279210};
    280211
    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 
    308212class BasicShapePolygon : public BasicShape {
    309213public:
     
    332236};
    333237
    334 class BasicShapeInsetRectangle : public BasicShape {
    335 public:
    336     static PassRefPtr<BasicShapeInsetRectangle> create() { return adoptRef(new BasicShapeInsetRectangle); }
     238class BasicShapeInset : public BasicShape {
     239public:
     240    static PassRefPtr<BasicShapeInset> create() { return adoptRef(new BasicShapeInset); }
    337241
    338242    const Length& top() const { return m_top; }
     
    340244    const Length& bottom() const { return m_bottom; }
    341245    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; }
    344251
    345252    void setTop(Length top) { m_top = std::move(top); }
     
    347254    void setBottom(Length bottom) { m_bottom = std::move(bottom); }
    348255    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; }
     266private:
     267    BasicShapeInset() { }
    366268
    367269    Length m_right;
     
    369271    Length m_bottom;
    370272    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;
    410273
    411274    LengthSize m_topLeftRadius;
Note: See TracChangeset for help on using the changeset viewer.