Incorrect dashed and dotted border painting.
https://bugs.webkit.org/show_bug.cgi?id=139872
rdar://problem/18024205

Reviewed by Simon Fraser.

This patch makes dashed/dotted border painting symmetric and consistent.
It also works with subpixel positioning.

Source/WebCore:

Tests: fast/borders/border-painting-correctness-dashed.html
       fast/borders/border-painting-correctness-dotted.html

* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::drawLine):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::drawLineForBoxSide):

LayoutTests:

* fast/borders/border-painting-correctness-dashed-expected.html: Added.
* fast/borders/border-painting-correctness-dashed.html: Added.
* fast/borders/border-painting-correctness-dotted-expected.html: Added.
* fast/borders/border-painting-correctness-dotted.html: Added.
* fast/borders/resources/border-painting-correctness-dashed-expected.png: Added.
* fast/borders/resources/border-painting-correctness-dotted-expected.png: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@177686 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Move color CSS properties to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=139898

Reviewed by Antti Koivisto.

Move color CSS properties to the new StyleBuilder by teaching the
StyleBuilder generator how to handle them.

* css/CSSPropertyNames.in:
- Move color properties to the new StyleBuilder.

* css/DeprecatedStyleBuilder.cpp:
(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::defaultInitialColor): Deleted.
(WebCore::ApplyPropertyColor::applyInheritValue): Deleted.
(WebCore::ApplyPropertyColor::applyInitialValue): Deleted.
(WebCore::ApplyPropertyColor::applyValue): Deleted.
(WebCore::ApplyPropertyColor::applyColorValue): Deleted.
(WebCore::ApplyPropertyColor::createHandler): Deleted.
- Drop color properties support from the DeprecatedStyleBuilder.

* css/makeprop.pl:
- Teach the StyleBuilder generator how to handle color properties.
- Use a class for StyleBuilderFunctions instead of a namespace so
  that it can be made a friend of RenderStyle class.

* rendering/style/RenderStyle.h:
- Mark StyleBuilderFunctions class as friend as its functions
  can set RenderStyle members directly. This is similar to what
  is already done for StyleBuilderCustom class. The new color
  properties handling calls private methods on RenderStyle.
- Mark invalidColor() method as static as it does not require
  an instance.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@177687 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[SVG -> OTF Converter] Make Placeholder a move-only type
https://bugs.webkit.org/show_bug.cgi?id=139870

Reviewed by Anders Carlsson.

No new tests because there is no behavior change.

* svg/SVGToOTFFontConversion.cpp:
(WebCore::SVGToOTFFontConverter::Placeholder::Placeholder):
(WebCore::SVGToOTFFontConverter::Placeholder::populate):
(WebCore::SVGToOTFFontConverter::Placeholder::~Placeholder):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@177688 268f45cc-cd09-0410-ab3c-d52691b4dbfc