[Windows] Enable Page Visibility API
https://bugs.webkit.org/show_bug.cgi?id=121340

Reviewed by Anders Carlsson.

WebKitLibraries: 

* win/tools/vsprops/FeatureDefines.props: Activate feature.
* win/tools/vsprops/FeatureDefinesCairo.props: Ditto.

LayoutTests: 

* platform/win/TestExpectations: Enable some Page Visibility tests on Windows.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155747 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Pick the correct overload when a const reference is passed to appendSlowCase.
https://bugs.webkit.org/show_bug.cgi?id=121326

Reviewed by Darin Adler.

Source/WTF:

* wtf/Vector.h:
(WTF::Vector::appendSlowCase):
Make sure that the pointer to the element isn't const so we'll pick the right expandCapacity overload.

Tools:

* TestWebKitAPI/Tests/WTF/Vector.cpp:
(TestWebKitAPI::TEST):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155748 268f45cc-cd09-0410-ab3c-d52691b4dbfc
CTTE: RenderSVGResourceMasker always has an SVGMaskElement.
<https://webkit.org/b/121344>

Reviewed by Brent Fulgham.

This renderer is never anonymous. Tighten things up with a maskElement()
reference getter. Removed some unnecessary null checks and assertions.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155749 268f45cc-cd09-0410-ab3c-d52691b4dbfc
CTTE: RenderSVGResourceMarker always has an SVGMarkerElement.
<https://webkit.org/b/121345>

Reviewed by Brent Fulgham.

This renderer is never anonymous. Tighten things up with a maskElement()
reference getter. Removed some unnecessary type casts and assertions.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155750 268f45cc-cd09-0410-ab3c-d52691b4dbfc
CTTE: Tighter element types for RenderSVGResourceGradient and subclasses.
<https://webkit.org/b/121346>

Reviewed by Darin Adler

Codify the following:

- RenderSVGResourceGradient always has an SVGGradientElement.
- RenderSVGResourceLinearGradient always has an SVGLinearGradientElement.
- RenderSVGResourceRadialGradient always has an SVGRadialGradientElement.

None of these renderers are ever anonymous, so delete element() and provide
strongly typed reference getters instead.

Also made RenderSVGResourceGradient constructor protected since it should
never be instantiated directly.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155751 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Use a better name than m_invertibleCTM
https://bugs.webkit.org/show_bug.cgi?id=121341

Reviewed by Andreas Kling.

Source/WebCore:

Rename isTransformInvertible to hasInvertibleTransform, and
m_invertibleCTM to m_hasInvertibleTransform.

* html/canvas/CanvasPathMethods.cpp:
(WebCore::CanvasPathMethods::moveTo):
(WebCore::CanvasPathMethods::lineTo):
(WebCore::CanvasPathMethods::quadraticCurveTo):
(WebCore::CanvasPathMethods::bezierCurveTo):
(WebCore::CanvasPathMethods::arcTo):
(WebCore::CanvasPathMethods::arc):
(WebCore::CanvasPathMethods::rect):
Updated for name change. Not really sure the name is good here,
because DOMPath doesn't have a transform at all; should switch
to a better name some day.

* html/canvas/CanvasPathMethods.h: Renamed, added a new constructor,
and made the virtual function private.

* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::State::State):
(WebCore::CanvasRenderingContext2D::State::operator=):
(WebCore::CanvasRenderingContext2D::scale):
(WebCore::CanvasRenderingContext2D::rotate):
(WebCore::CanvasRenderingContext2D::translate):
(WebCore::CanvasRenderingContext2D::transform):
(WebCore::CanvasRenderingContext2D::setTransform):
(WebCore::CanvasRenderingContext2D::fill):
(WebCore::CanvasRenderingContext2D::stroke):
(WebCore::CanvasRenderingContext2D::clip):
(WebCore::CanvasRenderingContext2D::isPointInPath):
(WebCore::CanvasRenderingContext2D::isPointInStroke):
(WebCore::CanvasRenderingContext2D::clearRect):
(WebCore::CanvasRenderingContext2D::fillRect):
(WebCore::CanvasRenderingContext2D::strokeRect):
(WebCore::CanvasRenderingContext2D::drawImage):
(WebCore::CanvasRenderingContext2D::didDraw):
(WebCore::CanvasRenderingContext2D::drawTextInternal):
Updated for name change.

* html/canvas/CanvasRenderingContext2D.h: Updated for name change.
Also got rid of unneeded conditional around forward class declaration.

* html/canvas/DOMPath.h: Moved SVG-specific include into a
separate paragraph. Removed unneeded invocation  of WTF_MAKE_NONCOPYABLE,
which is already true since we inherit from RefCounted. Changed create
function argument to be a const*. Eliminated extra constructors that were
unneeded. Made the path-parsing create function SVG-only, rather than
compiling a useless empty one when compiling without SVG.

Tools:

* Scripts/do-webcore-rename: Updated to do this replace as we do.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155752 268f45cc-cd09-0410-ab3c-d52691b4dbfc
CTTE: RenderSVGResourceFilter always has an SVGFilterElement.
<https://webkit.org/b/121348>

Reviewed by Darin Adler.

This renderer is never anonymous. Tighten things up with a filterElement()
reference getter. Removed some unnecessary null checks and type casts.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155753 268f45cc-cd09-0410-ab3c-d52691b4dbfc
CTTE: RenderSVGResourceClipper always has an SVGClipPathElement.
<https://webkit.org/b/121349>

Reviewed by Darin Adler.

This renderer is never anonymous. Tighten things up with a clipPathElement()
reference getter. Removed some unnecessary null checks and type casts.

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