Update required tools for Windows instructions.

* building/tools.html:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@152119 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Update SVG interfaces to stop inheriting from SVGURIReference and SVGTests
https://bugs.webkit.org/show_bug.cgi?id=118142

Reviewed by Ryosuke Niwa.

Stop inheriting from SVGURIReference and SVGTests and use IDL implements statements
instead. This is one step towards getting rid of multiple inheritance in SVG (which
is no longer supported by Web IDL) and matching the latest specification:
- https://svgwg.org/svg2-draft/types.html#BasicDOMInterfaces

No new tests, no behavior change.

* CMakeLists.txt:
* DerivedSources.pri:
* GNUmakefile.list.am:
* svg/SVGAElement.idl:
* svg/SVGAltGlyphElement.idl:
* svg/SVGAnimationElement.idl:
* svg/SVGCircleElement.idl:
* svg/SVGClipPathElement.idl:
* svg/SVGCursorElement.idl:
* svg/SVGDefsElement.idl:
* svg/SVGEllipseElement.idl:
* svg/SVGFEImageElement.idl:
* svg/SVGFilterElement.idl:
* svg/SVGForeignObjectElement.idl:
* svg/SVGGElement.idl:
* svg/SVGGlyphRefElement.idl:
* svg/SVGGradientElement.idl:
* svg/SVGImageElement.idl:
* svg/SVGLineElement.idl:
* svg/SVGMPathElement.idl:
* svg/SVGMaskElement.idl:
* svg/SVGPathElement.idl:
* svg/SVGPatternElement.idl:
* svg/SVGPolygonElement.idl:
* svg/SVGPolylineElement.idl:
* svg/SVGRectElement.idl:
* svg/SVGSVGElement.idl:
* svg/SVGScriptElement.idl:
* svg/SVGSwitchElement.idl:
* svg/SVGTRefElement.idl:
* svg/SVGTextContentElement.idl:
* svg/SVGTextPathElement.idl:
* svg/SVGUseElement.idl:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@152120 268f45cc-cd09-0410-ab3c-d52691b4dbfc
RenderLayerCompositor destructor is fragile
https://bugs.webkit.org/show_bug.cgi?id=118143

Reviewed by Simon Fraser.

With iOS tile cache implementation deleting RenderLayerCompositor may end up starting a deleted timer. 
This corrupts the timer heap and leads to a crash later. This happens because GraphicsLayers destructor 
calls back to the RenderLayerCompositor that is being deleted. This is pretty fragile in general.
        
No test as there is no known way to repro this with plain webkit.

* platform/Timer.cpp:
(WebCore::TimerBase::TimerBase):
(WebCore::TimerBase::~TimerBase):
(WebCore::TimerBase::setNextFireTime):
* platform/Timer.h:
        
    Assert that the timer is alive before starting it. This turns bugs like this into clear crash stacks
    instead of hard-to-debug timer heap corruptions.

* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::~RenderLayerCompositor):
        
    Take care to delete owned GraphicsLayers before proceeding with the rest of the destructor.



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