<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[206871] trunk</title>
</head>
<body>
<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/206871">206871</a></dd>
<dt>Author</dt> <dd>bfulgham@apple.com</dd>
<dt>Date</dt> <dd>2016-10-06 11:01:32 -0700 (Thu, 06 Oct 2016)</dd>
</dl>
<h3>Log Message</h3>
<pre>[Win][Direct2D] Add Direct2D CMake rules
https://bugs.webkit.org/show_bug.cgi?id=162925
Reviewed by Brent Fulgham.
.:
* Source/cmake/OptionsAppleWin.cmake: Add a new 'USE_DIRECT2D' option
flag for the build. Currently this is commented out and is unused.
Source/WebCore:
Modify PlatformAppleWin.cmake to conditionally build the CoreGraphics
and CoreAnimation implementation, or the Direct2D files, depending
on whether the USE_DIRECT2D macro is set in the CMake build options.
By default it builds the normal CA/CG way.
Add a stub GraphicsLayer implementation for Direct2D.
No new tests because there is no change in our active ports.
* PlatformAppleWin.cmake: Conditionalize the build for CA/CG or
Direct2D.
* config.h: Make sure CA is turned of for Direct2D builds.
* page/win/FrameWinDirect2D.cpp: Add missing include file.
* platform/graphics/win/GraphicsLayerDirect2D.cpp: Added.
* platform/graphics/win/GraphicsLayerDirect2D.h: Added.
Source/WTF:
* wtf/Platform.h: Don't USE(CA) or USE(CG) if building
with Direct2D.</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkChangeLog">trunk/ChangeLog</a></li>
<li><a href="#trunkSourceWTFChangeLog">trunk/Source/WTF/ChangeLog</a></li>
<li><a href="#trunkSourceWTFwtfPlatformh">trunk/Source/WTF/wtf/Platform.h</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCorePlatformAppleWincmake">trunk/Source/WebCore/PlatformAppleWin.cmake</a></li>
<li><a href="#trunkSourceWebCoreconfigh">trunk/Source/WebCore/config.h</a></li>
<li><a href="#trunkSourceWebCorepagewinFrameWinDirect2Dcpp">trunk/Source/WebCore/page/win/FrameWinDirect2D.cpp</a></li>
<li><a href="#trunkSourcecmakeOptionsAppleWincmake">trunk/Source/cmake/OptionsAppleWin.cmake</a></li>
</ul>
<h3>Added Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreplatformgraphicswinGraphicsLayerDirect2Dcpp">trunk/Source/WebCore/platform/graphics/win/GraphicsLayerDirect2D.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicswinGraphicsLayerDirect2Dh">trunk/Source/WebCore/platform/graphics/win/GraphicsLayerDirect2D.h</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/ChangeLog (206870 => 206871)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/ChangeLog        2016-10-06 17:59:33 UTC (rev 206870)
+++ trunk/ChangeLog        2016-10-06 18:01:32 UTC (rev 206871)
</span><span class="lines">@@ -1,3 +1,13 @@
</span><ins>+2016-10-06 Brent Fulgham <bfulgham@apple.com>
+
+ [Win][Direct2D] Add Direct2D CMake rules
+ https://bugs.webkit.org/show_bug.cgi?id=162925
+
+ Reviewed by Brent Fulgham.
+
+ * Source/cmake/OptionsAppleWin.cmake: Add a new 'USE_DIRECT2D' option
+ flag for the build. Currently this is commented out and is unused.
+
</ins><span class="cx"> 2016-10-05 Zan Dobersek <zdobersek@igalia.com>
</span><span class="cx">
</span><span class="cx"> Rename ENABLE_ENCRYPTED_MEDIA_V2 to ENABLE_LEGACY_ENCRYPTED_MEDIA
</span></span></pre></div>
<a id="trunkSourceWTFChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/ChangeLog (206870 => 206871)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/ChangeLog        2016-10-06 17:59:33 UTC (rev 206870)
+++ trunk/Source/WTF/ChangeLog        2016-10-06 18:01:32 UTC (rev 206871)
</span><span class="lines">@@ -1,3 +1,13 @@
</span><ins>+2016-10-06 Brent Fulgham <bfulgham@apple.com>
+
+ [Win][Direct2D] Add Direct2D CMake rules
+ https://bugs.webkit.org/show_bug.cgi?id=162925
+
+ Reviewed by Brent Fulgham.
+
+ * wtf/Platform.h: Don't USE(CA) or USE(CG) if building
+ with Direct2D.
+
</ins><span class="cx"> 2016-10-05 Yusuke Suzuki <utatane.tea@gmail.com>
</span><span class="cx">
</span><span class="cx"> [DOMJIT] Add initial CheckDOM and CallDOM implementations
</span></span></pre></div>
<a id="trunkSourceWTFwtfPlatformh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/wtf/Platform.h (206870 => 206871)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/wtf/Platform.h        2016-10-06 17:59:33 UTC (rev 206870)
+++ trunk/Source/WTF/wtf/Platform.h        2016-10-06 18:01:32 UTC (rev 206871)
</span><span class="lines">@@ -480,10 +480,10 @@
</span><span class="cx"> /* Graphics engines */
</span><span class="cx">
</span><span class="cx"> /* USE(CG) and PLATFORM(CI) */
</span><del>-#if PLATFORM(COCOA) || (PLATFORM(WIN) && !USE(WINGDI) && !PLATFORM(WIN_CAIRO))
</del><ins>+#if PLATFORM(COCOA) || (PLATFORM(WIN) && !USE(WINGDI) && !PLATFORM(WIN_CAIRO) && !USE(DIRECT2D))
</ins><span class="cx"> #define USE_CG 1
</span><span class="cx"> #endif
</span><del>-#if PLATFORM(COCOA) || (PLATFORM(WIN) && USE(CG))
</del><ins>+#if PLATFORM(COCOA) || (PLATFORM(WIN) && USE(CG) && !USE(DIRECT2D))
</ins><span class="cx"> #define USE_CA 1
</span><span class="cx"> #endif
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (206870 => 206871)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-10-06 17:59:33 UTC (rev 206870)
+++ trunk/Source/WebCore/ChangeLog        2016-10-06 18:01:32 UTC (rev 206871)
</span><span class="lines">@@ -1,3 +1,26 @@
</span><ins>+2016-10-06 Brent Fulgham <bfulgham@apple.com>
+
+ [Win][Direct2D] Add Direct2D CMake rules
+ https://bugs.webkit.org/show_bug.cgi?id=162925
+
+ Reviewed by Brent Fulgham.
+
+ Modify PlatformAppleWin.cmake to conditionally build the CoreGraphics
+ and CoreAnimation implementation, or the Direct2D files, depending
+ on whether the USE_DIRECT2D macro is set in the CMake build options.
+ By default it builds the normal CA/CG way.
+
+ Add a stub GraphicsLayer implementation for Direct2D.
+
+ No new tests because there is no change in our active ports.
+
+ * PlatformAppleWin.cmake: Conditionalize the build for CA/CG or
+ Direct2D.
+ * config.h: Make sure CA is turned of for Direct2D builds.
+ * page/win/FrameWinDirect2D.cpp: Add missing include file.
+ * platform/graphics/win/GraphicsLayerDirect2D.cpp: Added.
+ * platform/graphics/win/GraphicsLayerDirect2D.h: Added.
+
</ins><span class="cx"> 2016-10-06 Yusuke Suzuki <utatane.tea@gmail.com>
</span><span class="cx">
</span><span class="cx"> [WebCore][JSC] Use new @throwTypeError and @throwRangeError intrinsics
</span></span></pre></div>
<a id="trunkSourceWebCorePlatformAppleWincmake"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/PlatformAppleWin.cmake (206870 => 206871)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/PlatformAppleWin.cmake        2016-10-06 17:59:33 UTC (rev 206870)
+++ trunk/Source/WebCore/PlatformAppleWin.cmake        2016-10-06 18:01:32 UTC (rev 206871)
</span><span class="lines">@@ -15,13 +15,26 @@
</span><span class="cx"> "${WEBCORE_DIR}/platform/spi/cg"
</span><span class="cx"> )
</span><span class="cx">
</span><ins>+if (${USE_DIRECT2D})
+ list(APPEND WebCore_INCLUDE_DIRECTORIES
+ "${WEBCORE_DIR}/platform/graphics/win"
+ )
+else ()
+ list(APPEND WebCore_INCLUDE_DIRECTORIES
+ "${WEBCORE_DIR}/platform/graphics/avfoundation"
+ "${WEBCORE_DIR}/platform/graphics/avfoundation/cf"
+ "${WEBCORE_DIR}/platform/graphics/ca"
+ "${WEBCORE_DIR}/platform/graphics/ca/win"
+ "${WEBCORE_DIR}/platform/graphics/cg"
+ "${WEBCORE_DIR}/platform/spi/cg"
+ )
+endif ()
+
</ins><span class="cx"> list(APPEND WebCore_SOURCES
</span><span class="cx"> loader/cf/ResourceLoaderCFNet.cpp
</span><span class="cx">
</span><span class="cx"> page/CaptionUserPreferencesMediaAF.cpp
</span><span class="cx">
</span><del>- page/win/FrameCGWin.cpp
-
</del><span class="cx"> platform/cf/CoreMediaSoftLink.cpp
</span><span class="cx"> platform/cf/MediaAccessibilitySoftLink.cpp
</span><span class="cx">
</span><span class="lines">@@ -37,56 +50,7 @@
</span><span class="cx"> platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp
</span><span class="cx"> platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.cpp
</span><span class="cx">
</span><del>- platform/graphics/ca/GraphicsLayerCA.cpp
- platform/graphics/ca/LayerFlushScheduler.cpp
- platform/graphics/ca/LayerPool.cpp
- platform/graphics/ca/PlatformCALayer.cpp
- platform/graphics/ca/TileController.cpp
- platform/graphics/ca/TileCoverageMap.cpp
- platform/graphics/ca/TileGrid.cpp
- platform/graphics/ca/TransformationMatrixCA.cpp
-
- platform/graphics/ca/win/CACFLayerTreeHost.cpp
- platform/graphics/ca/win/LayerChangesFlusher.cpp
- platform/graphics/ca/win/PlatformCAAnimationWin.cpp
- platform/graphics/ca/win/PlatformCAFiltersWin.cpp
- platform/graphics/ca/win/PlatformCALayerWin.cpp
- platform/graphics/ca/win/PlatformCALayerWinInternal.cpp
- platform/graphics/ca/win/WebTiledBackingLayerWin.cpp
- platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp
-
- platform/graphics/cg/ColorCG.cpp
- platform/graphics/cg/FloatPointCG.cpp
- platform/graphics/cg/FloatRectCG.cpp
- platform/graphics/cg/FloatSizeCG.cpp
- platform/graphics/cg/GradientCG.cpp
- platform/graphics/cg/GraphicsContext3DCG.cpp
- platform/graphics/cg/GraphicsContextCG.cpp
- platform/graphics/cg/IOSurfacePool.cpp
- platform/graphics/cg/ImageBufferCG.cpp
- platform/graphics/cg/ImageBufferDataCG.cpp
- platform/graphics/cg/ImageCG.cpp
- platform/graphics/cg/ImageDecoderCG.cpp
- platform/graphics/cg/ImageSourceCGWin.cpp
- platform/graphics/cg/IntPointCG.cpp
- platform/graphics/cg/IntRectCG.cpp
- platform/graphics/cg/IntSizeCG.cpp
- platform/graphics/cg/NativeImageCG.cpp
- platform/graphics/cg/PDFDocumentImage.cpp
- platform/graphics/cg/PathCG.cpp
- platform/graphics/cg/PatternCG.cpp
- platform/graphics/cg/SubimageCacheWithTimer.cpp
- platform/graphics/cg/TransformationMatrixCG.cpp
-
- platform/graphics/opentype/OpenTypeCG.cpp
-
- platform/graphics/win/FontCGWin.cpp
</del><span class="cx"> platform/graphics/win/FontCustomPlatformData.cpp
</span><del>- platform/graphics/win/FontPlatformDataCGWin.cpp
- platform/graphics/win/GlyphPageTreeNodeCGWin.cpp
- platform/graphics/win/GraphicsContextCGWin.cpp
- platform/graphics/win/ImageCGWin.cpp
- platform/graphics/win/SimpleFontDataCGWin.cpp
</del><span class="cx">
</span><span class="cx"> platform/network/cf/AuthenticationCF.cpp
</span><span class="cx"> platform/network/cf/CookieJarCFNet.cpp
</span><span class="lines">@@ -106,18 +70,106 @@
</span><span class="cx"> platform/network/cf/SocketStreamHandleImplCFNet.cpp
</span><span class="cx"> platform/network/cf/SynchronousLoaderClientCFNet.cpp
</span><span class="cx"> platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp
</span><del>-
- platform/win/DragImageCGWin.cpp
</del><span class="cx"> )
</span><span class="cx">
</span><del>-list(APPEND WebCore_FORWARDING_HEADERS_DIRECTORIES
- platform/graphics/ca
- platform/graphics/cg
</del><ins>+if (${USE_DIRECT2D})
+ list(APPEND WebCore_SOURCES
+ page/win/FrameWinDirect2D.cpp
</ins><span class="cx">
</span><del>- platform/graphics/ca/win
</del><ins>+ platform/graphics/win/FontCascadeDirect2D.cpp
+ platform/graphics/win/FontPlatformDataDirect2D.cpp
+ platform/graphics/win/GlyphPageTreeNodeDirect2D.cpp
+ platform/graphics/win/GradientDirect2D.cpp
+ platform/graphics/win/GraphicsContextDirect2D.cpp
+ platform/graphics/win/GraphicsLayerDirect2D.cpp
+ platform/graphics/win/ImageBufferDataDirect2D.cpp
+ platform/graphics/win/ImageBufferDirect2D.cpp
+ platform/graphics/win/ImageDecoderDirect2D.cpp
+ platform/graphics/win/ImageDirect2D.cpp
+ platform/graphics/win/NativeImageDirect2D.cpp
+ platform/graphics/win/PathDirect2D.cpp
+ platform/graphics/win/SimpleFontDataDirect2D.cpp
+ platform/graphics/win/TextAnalyzerHelper.cpp
</ins><span class="cx">
</span><ins>+ platform/win/DragImageDirect2D.cpp
+ )
+else ()
+ list(APPEND WebCore_SOURCES
+ page/win/FrameCGWin.cpp
+
+ platform/graphics/ca/GraphicsLayerCA.cpp
+ platform/graphics/ca/LayerFlushScheduler.cpp
+ platform/graphics/ca/LayerPool.cpp
+ platform/graphics/ca/PlatformCALayer.cpp
+ platform/graphics/ca/TileController.cpp
+ platform/graphics/ca/TileCoverageMap.cpp
+ platform/graphics/ca/TileGrid.cpp
+ platform/graphics/ca/TransformationMatrixCA.cpp
+
+ platform/graphics/ca/win/CACFLayerTreeHost.cpp
+ platform/graphics/ca/win/LayerChangesFlusher.cpp
+ platform/graphics/ca/win/PlatformCAAnimationWin.cpp
+ platform/graphics/ca/win/PlatformCAFiltersWin.cpp
+ platform/graphics/ca/win/PlatformCALayerWin.cpp
+ platform/graphics/ca/win/PlatformCALayerWinInternal.cpp
+ platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp
+ platform/graphics/ca/win/WebTiledBackingLayerWin.cpp
+
+ platform/graphics/cg/ColorCG.cpp
+ platform/graphics/cg/FloatPointCG.cpp
+ platform/graphics/cg/FloatRectCG.cpp
+ platform/graphics/cg/FloatSizeCG.cpp
+ platform/graphics/cg/GradientCG.cpp
+ platform/graphics/cg/GraphicsContext3DCG.cpp
+ platform/graphics/cg/GraphicsContextCG.cpp
+ platform/graphics/cg/IOSurfacePool.cpp
+ platform/graphics/cg/ImageBufferCG.cpp
+ platform/graphics/cg/ImageBufferDataCG.cpp
+ platform/graphics/cg/ImageCG.cpp
+ platform/graphics/cg/ImageDecoderCG.cpp
+ platform/graphics/cg/ImageSourceCGWin.cpp
+ platform/graphics/cg/IntPointCG.cpp
+ platform/graphics/cg/IntRectCG.cpp
+ platform/graphics/cg/IntSizeCG.cpp
+ platform/graphics/cg/NativeImageCG.cpp
+ platform/graphics/cg/PDFDocumentImage.cpp
+ platform/graphics/cg/PathCG.cpp
+ platform/graphics/cg/PatternCG.cpp
+ platform/graphics/cg/SubimageCacheWithTimer.cpp
+ platform/graphics/cg/TransformationMatrixCG.cpp
+
+ platform/graphics/opentype/OpenTypeCG.cpp
+
+ platform/graphics/win/FontCGWin.cpp
+ platform/graphics/win/FontPlatformDataCGWin.cpp
+ platform/graphics/win/GlyphPageTreeNodeCGWin.cpp
+ platform/graphics/win/GraphicsContextCGWin.cpp
+ platform/graphics/win/ImageCGWin.cpp
+ platform/graphics/win/SimpleFontDataCGWin.cpp
+
+ platform/win/DragImageCGWin.cpp
+ )
+endif ()
+
+list(APPEND WebCore_FORWARDING_HEADERS_DIRECTORIES
</ins><span class="cx"> platform/network/cf
</span><span class="cx">
</span><span class="cx"> platform/spi/cf
</span><del>- platform/spi/cg
</del><span class="cx"> )
</span><ins>+
+if (${USE_DIRECT2D})
+ list(APPEND WebCore_FORWARDING_HEADERS_DIRECTORIES
+ platform/graphics/win
+ )
+else ()
+ list(APPEND WebCore_FORWARDING_HEADERS_DIRECTORIES
+ platform/graphics/ca
+ platform/graphics/cg
+
+ platform/graphics/ca/win
+
+ platform/network/cf
+
+ platform/spi/cg
+ )
+endif ()
</ins></span></pre></div>
<a id="trunkSourceWebCoreconfigh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/config.h (206870 => 206871)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/config.h        2016-10-06 17:59:33 UTC (rev 206870)
+++ trunk/Source/WebCore/config.h        2016-10-06 18:01:32 UTC (rev 206871)
</span><span class="lines">@@ -95,6 +95,7 @@
</span><span class="cx"> #define _WINSOCKAPI_ // Prevent inclusion of winsock.h in windows.h
</span><span class="cx"> #endif
</span><span class="cx"> #elif USE(DIRECT2D)
</span><ins>+#undef USE_CA
</ins><span class="cx"> #undef USE_CG
</span><span class="cx"> #elif !USE(WINGDI)
</span><span class="cx"> #define USE_CG 1
</span></span></pre></div>
<a id="trunkSourceWebCorepagewinFrameWinDirect2Dcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/win/FrameWinDirect2D.cpp (206870 => 206871)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/win/FrameWinDirect2D.cpp        2016-10-06 17:59:33 UTC (rev 206870)
+++ trunk/Source/WebCore/page/win/FrameWinDirect2D.cpp        2016-10-06 18:01:32 UTC (rev 206871)
</span><span class="lines">@@ -33,6 +33,7 @@
</span><span class="cx"> #include "FrameSelection.h"
</span><span class="cx"> #include "FrameView.h"
</span><span class="cx"> #include "GraphicsContext.h"
</span><ins>+#include "NotImplemented.h"
</ins><span class="cx"> #include "RenderObject.h"
</span><span class="cx"> #include "Settings.h"
</span><span class="cx"> #include <d2d1.h>
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicswinGraphicsLayerDirect2Dcppfromrev206870trunkSourceWebCorepagewinFrameWinDirect2Dcpp"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/platform/graphics/win/GraphicsLayerDirect2D.cpp (from rev 206870, trunk/Source/WebCore/page/win/FrameWinDirect2D.cpp) (0 => 206871)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/win/GraphicsLayerDirect2D.cpp         (rev 0)
+++ trunk/Source/WebCore/platform/graphics/win/GraphicsLayerDirect2D.cpp        2016-10-06 18:01:32 UTC (rev 206871)
</span><span class="lines">@@ -0,0 +1,96 @@
</span><ins>+/*
+ * Copyright (C) 2016 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "GraphicsLayerDirect2D.h"
+
+#if USE(DIRECT2D)
+
+#include "DisplayList.h"
+#include "GraphicsLayerFactory.h"
+#include "NotImplemented.h"
+#include <limits.h>
+#include <wtf/CurrentTime.h>
+#include <wtf/MathExtras.h>
+#include <wtf/NeverDestroyed.h>
+#include <wtf/SystemTracing.h>
+#include <wtf/TemporaryChange.h>
+#include <wtf/text/WTFString.h>
+
+
+#if COMPILER(MSVC)
+// See https://msdn.microsoft.com/en-us/library/1wea5zwe.aspx
+#pragma warning(disable: 4701)
+#endif
+
+namespace WebCore {
+
+
+std::unique_ptr<GraphicsLayer> GraphicsLayer::create(GraphicsLayerFactory* factory, GraphicsLayerClient& client, Type layerType)
+{
+ std::unique_ptr<GraphicsLayer> graphicsLayer;
+ if (!factory)
+ graphicsLayer = std::make_unique<GraphicsLayerDirect2D>(layerType, client);
+ else
+ graphicsLayer = factory->createGraphicsLayer(layerType, client);
+
+ graphicsLayer->initialize(layerType);
+
+ return graphicsLayer;
+}
+
+GraphicsLayerDirect2D::GraphicsLayerDirect2D(Type layerType, GraphicsLayerClient& client)
+ : GraphicsLayer(layerType, client)
+{
+}
+
+void GraphicsLayerDirect2D::initialize(Type layerType)
+{
+}
+
+GraphicsLayerDirect2D::~GraphicsLayerDirect2D()
+{
+ willBeDestroyed();
+}
+
+void GraphicsLayerDirect2D::setNeedsDisplay()
+{
+ if (!drawsContent())
+ return;
+
+ notImplemented();
+}
+
+void GraphicsLayerDirect2D::setNeedsDisplayInRect(const FloatRect& r, ShouldClipToLayer shouldClip)
+{
+ if (!drawsContent())
+ return;
+
+ notImplemented();
+}
+
+} // namespace WebCore
+
+#endif
</ins></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicswinGraphicsLayerDirect2Dhfromrev206870trunkSourceWebCorepagewinFrameWinDirect2Dcpp"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/platform/graphics/win/GraphicsLayerDirect2D.h (from rev 206870, trunk/Source/WebCore/page/win/FrameWinDirect2D.cpp) (0 => 206871)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/win/GraphicsLayerDirect2D.h         (rev 0)
+++ trunk/Source/WebCore/platform/graphics/win/GraphicsLayerDirect2D.h        2016-10-06 18:01:32 UTC (rev 206871)
</span><span class="lines">@@ -0,0 +1,61 @@
</span><ins>+/*
+ * Copyright (C) 2016 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+
+#include "GraphicsLayer.h"
+#include <wtf/HashMap.h>
+#include <wtf/RetainPtr.h>
+#include <wtf/text/StringHash.h>
+
+namespace WebCore {
+
+namespace DisplayList {
+class DisplayList;
+}
+
+class FloatRoundedRect;
+class Image;
+class TransformState;
+
+class GraphicsLayerDirect2D : public GraphicsLayer {
+public:
+
+ WEBCORE_EXPORT explicit GraphicsLayerDirect2D(Type, GraphicsLayerClient&);
+ WEBCORE_EXPORT virtual ~GraphicsLayerDirect2D();
+
+private:
+ WEBCORE_EXPORT void initialize(Type) override;
+
+ WEBCORE_EXPORT void setNeedsDisplay() override;
+ WEBCORE_EXPORT void setNeedsDisplayInRect(const FloatRect&, ShouldClipToLayer = ClipToLayer) override;
+
+ bool isGraphicsLayerCA() const override { return false; }
+};
+
+} // namespace WebCore
+
+SPECIALIZE_TYPE_TRAITS_GRAPHICSLAYER(WebCore::GraphicsLayerDirect2D, isGraphicsLayerCA())
</ins></span></pre></div>
<a id="trunkSourcecmakeOptionsAppleWincmake"></a>
<div class="modfile"><h4>Modified: trunk/Source/cmake/OptionsAppleWin.cmake (206870 => 206871)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/cmake/OptionsAppleWin.cmake        2016-10-06 17:59:33 UTC (rev 206870)
+++ trunk/Source/cmake/OptionsAppleWin.cmake        2016-10-06 18:01:32 UTC (rev 206871)
</span><span class="lines">@@ -5,5 +5,8 @@
</span><span class="cx"> set(USE_CFNETWORK 1)
</span><span class="cx"> set(USE_ICU_UNICODE 1)
</span><span class="cx">
</span><ins>+# Uncomment the following line to try the Direct2D backend.
+# set(USE_DIRECT2D 1)
+
</ins><span class="cx"> # Warnings as errors (ignore narrowing conversions)
</span><span class="cx"> add_compile_options(/WX /Wv:18)
</span></span></pre>
</div>
</div>
</body>
</html>