[Win] Use TileController on Windows
authorbfulgham@apple.com <bfulgham@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 16 Jun 2014 23:56:50 +0000 (23:56 +0000)
committerbfulgham@apple.com <bfulgham@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 16 Jun 2014 23:56:50 +0000 (23:56 +0000)
commit9060b0b2e824d993e13a60d4abe213edb91b98e4
treec71de7607f40641e869b21a512a7b82bdceaca2b
parenta12a10096a9551de7e67be0479c52a5e36ee7551
[Win] Use TileController on Windows
https://bugs.webkit.org/show_bug.cgi?id=133895

Reviewed by Tim Horton.

../WebCore:
* WebCore.vcxproj/WebCore.vcxproj: Add Tiled Drawing files.
* WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
* platform/graphics/TiledBacking.h: No longer Cocoa-only.
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): Windows
now uses the same layer type as Mac.
* platform/graphics/ca/LayerPool.cpp:
(WebCore::LayerPool::takeLayerWithSize): Use nullptr
rather than nil for C++ code.
* platform/graphics/ca/PlatformCALayer.cpp:
* platform/graphics/ca/PlatformCALayer.h: Expose necessary
drawing functions for Windows port.
* platform/graphics/ca/TileController.cpp: Remove unneeded
header include for WebLayer.
* platform/graphics/ca/TileCoverageMap.cpp: Correct #includes.
* platform/graphics/ca/TileGrid.h: Not just for Cococa.
* platform/graphics/ca/mac/PlatformCALayerMac.mm: Remove
extra whitespace.
* platform/graphics/ca/mac/PlatformCALayerMac.h: Remove
unneeded overload.
* platform/graphics/ca/win/PlatformCALayerWin.cpp:
(PlatformCALayer::collectRectsToPaint): Added stub.
(PlatformCALayer::drawLayerContents): Added.
(PlatformCALayer::frameForLayer): Added.
(PlatformCALayerWin::PlatformCALayerWin): Remove unneeded
assert now that we support these types. Add TileController
support.
(PlatformCALayerWin::setEdgeAntialiasingMask): Added.
(printLayer): Add newly-supported tile types.
(PlatformCALayerWin::tiledBacking): Added.
* platform/graphics/ca/win/PlatformCALayerWin.h: Update to
support Tiled Drawing.
* platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:
(PlatformCALayerWinInternal::PlatformCALayerWinInternal): Update to
recognize newly-supported layer types.
(PlatformCALayerWinInternal::setNeedsDisplay): Ditto.
(PlatformCALayerWinInternal::setSublayers): Ditto.
(PlatformCALayerWinInternal::getSublayers): Ditto.
(PlatformCALayerWinInternal::removeAllSublayers): Ditto.
(PlatformCALayerWinInternal::insertSublayer): Ditto.
(PlatformCALayerWinInternal::sublayerCount): Ditto.
(PlatformCALayerWinInternal::indexOfSublayer): Ditto.
(PlatformCALayerWinInternal::sublayerAtIndex): Ditto.
(PlatformCALayerWinInternal::setBounds): Ditto.
(PlatformCALayerWinInternal::setFrame): Ditto.
(PlatformCALayerWinInternal::drawTile): Ditto.
(PlatformCALayerWinInternal::createTileController): Ditto.
(PlatformCALayerWinInternal::tiledBacking): Ditto.
* platform/graphics/ca/win/PlatformCALayerWinInternal.h: Update to use
TileController.

../WebKit2:
* WebProcess/WebPage/mac/PlatformCALayerRemote.h: Remove
unneeded overload.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@170037 268f45cc-cd09-0410-ab3c-d52691b4dbfc
19 files changed:
Source/WebCore/ChangeLog
Source/WebCore/WebCore.vcxproj/WebCore.vcxproj
Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters
Source/WebCore/platform/graphics/TiledBacking.h
Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp
Source/WebCore/platform/graphics/ca/LayerPool.cpp
Source/WebCore/platform/graphics/ca/PlatformCALayer.cpp
Source/WebCore/platform/graphics/ca/PlatformCALayer.h
Source/WebCore/platform/graphics/ca/TileController.cpp
Source/WebCore/platform/graphics/ca/TileCoverageMap.cpp
Source/WebCore/platform/graphics/ca/TileGrid.h
Source/WebCore/platform/graphics/ca/mac/PlatformCALayerMac.h
Source/WebCore/platform/graphics/ca/mac/PlatformCALayerMac.mm
Source/WebCore/platform/graphics/ca/win/PlatformCALayerWin.cpp
Source/WebCore/platform/graphics/ca/win/PlatformCALayerWin.h
Source/WebCore/platform/graphics/ca/win/PlatformCALayerWinInternal.cpp
Source/WebCore/platform/graphics/ca/win/PlatformCALayerWinInternal.h
Source/WebKit2/ChangeLog
Source/WebKit2/WebProcess/WebPage/mac/PlatformCALayerRemote.h