Add support for midpoint to CSS gradients
https://bugs.webkit.org/show_bug.cgi?id=137171

Reviewed by Darin Adler.

Source/WebCore:

This patch adds support for gradient midpoints. It also updates the
gradient tests so they use the feature.
Spec: http://dev.w3.org/csswg/css-images-4/#color-interpolation-hint

Tests: fast/gradients/unprefixed-color-stops2.html
       fast/gradients/unprefixed-gradient-parsing.html
       fast/gradients/unprefixed-linear-angle-gradients2.html
       fast/gradients/unprefixed-radial-gradients.html
       fast/gradients/unprefixed-radial-gradients2.html
       fast/gradients/unprefixed-repeating-linear-gradient.html
       fast/gradients/unprefixed-repeating-radial-gradients.html

* css/CSSGradientValue.cpp:
(WebCore::GradientStop::GradientStop): constructor initializes the midpoint variable
(WebCore::CSSGradientValue::gradientWithStylesResolved): this function checks for midpoint color stops
(WebCore::CSSGradientValue::addStops): this function processes midpoints and converts them to regular color stops
(WebCore::CSSLinearGradientValue::customCSSText): this routine was updated to do correct parsing for midpoints
(WebCore::CSSRadialGradientValue::customCSSText):
* css/CSSGradientValue.h:
(WebCore::CSSGradientColorStop::CSSGradientColorStop): this function stores if a stop is a midpoint
* css/CSSParser.cpp:
(WebCore::CSSParser::parseGradientColorStops): this function now allows color stops with no color

LayoutTests:

Updated the CSS gradient test files so they test the
gradient midpoint feature.

* fast/gradients/unprefixed-color-stops2.html:
* fast/gradients/unprefixed-gradient-parsing.html:
* fast/gradients/unprefixed-linear-angle-gradients2.html:
* fast/gradients/unprefixed-radial-gradients.html:
* fast/gradients/unprefixed-radial-gradients2.html:
* fast/gradients/unprefixed-repeating-linear-gradient.html:
* fast/gradients/unprefixed-repeating-radial-gradients.html:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@174191 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Test fix after r174187

* Scripts/webkitpy/port/win_unittest.py:
(WinPortTest.test_default_timeout_ms): Expect the new 50000 ms timeout for Windows tests.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@174192 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fail better when is<>() / downcast<>() is used for an unsupported type
https://bugs.webkit.org/show_bug.cgi?id=137323

Reviewed by Benjamin Poulain.

We should fail better when is<>() / downcast<>() is used for an
unsupported type (i.e. a type that doesn't have the needed
TypeCastTraits template specialization). Previously, we would get an
obscure linking error, which was sub-optimal.

With this patch, you would now hit a static_assert() at build time if
you tried to use is<>() / downcast<>() for a type that did not have the
needed template specialization. There is also a helpful comment above
the assertion letting the developer know how to add the needed template
specialization.

* wtf/TypeCasts.h:
(WTF::TypeCastTraits::isOfType):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@174193 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r174187.
https://bugs.webkit.org/show_bug.cgi?id=137329

webkitpy failures, and thorton says the patch is wrong
(Requested by dethbakin on #webkit).

Reverted changeset:

"[Windows] Increase layout test timeout for Windows following
r174162."
http://trac.webkit.org/changeset/174187

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@174194 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed build fix after r174193.

Adding a return statement as that function is returning a boolean.

* wtf/TypeCasts.h:
(WTF::TypeCastTraits::isOfType):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@174195 268f45cc-cd09-0410-ab3c-d52691b4dbfc
<https://webkit.org/b/137308> WebKit should build on OS X Yosemite for external users

Source/WebKit/mac:

Reviewed by Dan Bernstein.

* Configurations/DebugRelease.xcconfig: Use libWebKitSystemInterfaceYosemite.a on Yosemite.

Source/WebKit2:

Reviewed by Dan Bernstein.

* Configurations/DebugRelease.xcconfig: Use libWebKitSystemInterfaceYosemite.a on Yosemite.

Tools:

Reviewed by Dan Bernstein.

* Scripts/copy-webkitlibraries-to-product-directory: Copy libWebKitSystemInterfaceYosemite.a
into the build directory. Use LLVMIncludesYosemite.tar.bz2 and LLVMLibrariesYosemite.tar.bz2
for the LLVM components when on Yosemite.

WebKitLibraries:

Add versions of WebKitSystemInterface and LLVM for Yosemite. The LLVM build is from
LLVM SVN r206312, matching the Mavericks and Mountain Lion builds.

Reviewed by Dan Bernstein.

* LLVMIncludesYosemite.tar.bz2: Added.
* LLVMLibrariesYosemite.tar.bz2: Added.
* WebKitSystemInterface.h:
* libWebKitSystemInterfaceMavericks.a:
* libWebKitSystemInterfaceMountainLion.a:
* libWebKitSystemInterfaceYosemite.a: Added.

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