<!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>[174400] trunk/Source</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/174400">174400</a></dd>
<dt>Author</dt> <dd>cdumez@apple.com</dd>
<dt>Date</dt> <dd>2014-10-07 11:41:49 -0700 (Tue, 07 Oct 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>[WK2] Use is&lt;&gt;() / downcast&lt;&gt;() for DrawingAreaProxy subclasses
https://bugs.webkit.org/show_bug.cgi?id=137477

Reviewed by Andreas Kling.

Source/WebCore:

Include TypeCastsCF.h now that the header was renamed.

No new tests, no behavior change.

* platform/cf/SharedBufferCF.cpp:

Source/WebKit2:

Use is&lt;&gt;() / downcast&lt;&gt;() for DrawingAreaProxy subclasses.

* Shared/cf/KeyedDecoder.cpp:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _didCommitLoadForMainFrame]):
(-[WKWebView _restorePageStateToExposedRect:scale:]):
(-[WKWebView _restorePageStateToUnobscuredCenter:scale:]):
* UIProcess/Cocoa/WebPageProxyCocoa.mm:
* UIProcess/DrawingAreaProxy.h:
* UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
(WebKit::RemoteScrollingCoordinatorProxy::layerTreeHost):
* UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::updateVisibleContentRects):
(WebKit::WebPageProxy::dynamicViewportUpdateChangedTarget):
* UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
(WebKit::WebVideoFullscreenManagerProxy::setupFullscreenWithID):
* UIProcess/mac/LegacySessionStateCoding.cpp:
* UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
* UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:

Source/WTF:

Rename wtf/cf/TypeCasts.h to wtf/cf/TypeCastsCF.h to avoid conflict
with wtf/TypeCasts.h. They were using the same #ifndef guard and it
was causing problems when both were included in the same context.

* WTF.xcodeproj/project.pbxproj:
* wtf/cf/TypeCastsCF.h: Renamed from Source/WTF/wtf/cf/TypeCasts.h.
(WTF::dynamic_cf_cast):
(WTF::checked_cf_cast):</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWTFChangeLog">trunk/Source/WTF/ChangeLog</a></li>
<li><a href="#trunkSourceWTFWTFxcodeprojprojectpbxproj">trunk/Source/WTF/WTF.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreplatformcfSharedBufferCFcpp">trunk/Source/WebCore/platform/cf/SharedBufferCF.cpp</a></li>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2SharedcfKeyedDecodercpp">trunk/Source/WebKit2/Shared/cf/KeyedDecoder.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICocoaWKWebViewmm">trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm</a></li>
<li><a href="#trunkSourceWebKit2UIProcessCocoaWebPageProxyCocoamm">trunk/Source/WebKit2/UIProcess/Cocoa/WebPageProxyCocoa.mm</a></li>
<li><a href="#trunkSourceWebKit2UIProcessDrawingAreaProxyh">trunk/Source/WebKit2/UIProcess/DrawingAreaProxy.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessScrollingRemoteScrollingCoordinatorProxycpp">trunk/Source/WebKit2/UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessiosWebPageProxyIOSmm">trunk/Source/WebKit2/UIProcess/ios/WebPageProxyIOS.mm</a></li>
<li><a href="#trunkSourceWebKit2UIProcessiosWebVideoFullscreenManagerProxymm">trunk/Source/WebKit2/UIProcess/ios/WebVideoFullscreenManagerProxy.mm</a></li>
<li><a href="#trunkSourceWebKit2UIProcessmacLegacySessionStateCodingcpp">trunk/Source/WebKit2/UIProcess/mac/LegacySessionStateCoding.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessmacRemoteLayerTreeDrawingAreaProxyh">trunk/Source/WebKit2/UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessmacTiledCoreAnimationDrawingAreaProxyh">trunk/Source/WebKit2/UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#trunkSourceWTFwtfcfTypeCastsCFh">trunk/Source/WTF/wtf/cf/TypeCastsCF.h</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkSourceWTFwtfcfTypeCastsh">trunk/Source/WTF/wtf/cf/TypeCasts.h</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWTFChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/ChangeLog (174399 => 174400)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/ChangeLog        2014-10-07 17:15:40 UTC (rev 174399)
+++ trunk/Source/WTF/ChangeLog        2014-10-07 18:41:49 UTC (rev 174400)
</span><span class="lines">@@ -1,3 +1,19 @@
</span><ins>+2014-10-07  Christophe Dumez  &lt;cdumez@apple.com&gt;
+
+        [WK2] Use is&lt;&gt;() / downcast&lt;&gt;() for DrawingAreaProxy subclasses
+        https://bugs.webkit.org/show_bug.cgi?id=137477
+
+        Reviewed by Andreas Kling.
+
+        Rename wtf/cf/TypeCasts.h to wtf/cf/TypeCastsCF.h to avoid conflict
+        with wtf/TypeCasts.h. They were using the same #ifndef guard and it
+        was causing problems when both were included in the same context.
+
+        * WTF.xcodeproj/project.pbxproj:
+        * wtf/cf/TypeCastsCF.h: Renamed from Source/WTF/wtf/cf/TypeCasts.h.
+        (WTF::dynamic_cf_cast):
+        (WTF::checked_cf_cast):
+
</ins><span class="cx"> 2014-10-07  Anders Carlsson  &lt;andersca@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Try to fix the Mountain Lion build.
</span></span></pre></div>
<a id="trunkSourceWTFWTFxcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/WTF.xcodeproj/project.pbxproj (174399 => 174400)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/WTF.xcodeproj/project.pbxproj        2014-10-07 17:15:40 UTC (rev 174399)
+++ trunk/Source/WTF/WTF.xcodeproj/project.pbxproj        2014-10-07 18:41:49 UTC (rev 174400)
</span><span class="lines">@@ -62,7 +62,7 @@
</span><span class="cx">                 1A6BB769162F300500DD16DB /* StreamBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A6BB768162F300500DD16DB /* StreamBuffer.h */; };
</span><span class="cx">                 1A6EB1E0187D0BD30030126F /* StringView.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A6EB1DF187D0BD30030126F /* StringView.h */; };
</span><span class="cx">                 1ACADD841884480100D8B71D /* DeprecatedSymbolsUsedBySafari.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1ACADD821884480100D8B71D /* DeprecatedSymbolsUsedBySafari.mm */; };
</span><del>-                1AFDE648195201C300C48FFA /* TypeCasts.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AFDE647195201C300C48FFA /* TypeCasts.h */; };
</del><ins>+                1AFDE648195201C300C48FFA /* TypeCastsCF.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AFDE647195201C300C48FFA /* TypeCastsCF.h */; };
</ins><span class="cx">                 1AFDE6531953B23D00C48FFA /* Optional.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AFDE6521953B23D00C48FFA /* Optional.h */; };
</span><span class="cx">                 1FA47C8A152502DA00568D1B /* WebCoreThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1FA47C88152502DA00568D1B /* WebCoreThread.cpp */; };
</span><span class="cx">                 1FA47C8B152502DA00568D1B /* WebCoreThread.h in Headers */ = {isa = PBXBuildFile; fileRef = 1FA47C89152502DA00568D1B /* WebCoreThread.h */; };
</span><span class="lines">@@ -347,7 +347,7 @@
</span><span class="cx">                 1A6BB768162F300500DD16DB /* StreamBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StreamBuffer.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 1A6EB1DF187D0BD30030126F /* StringView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StringView.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 1ACADD821884480100D8B71D /* DeprecatedSymbolsUsedBySafari.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = DeprecatedSymbolsUsedBySafari.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                1AFDE647195201C300C48FFA /* TypeCasts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TypeCasts.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><ins>+                1AFDE647195201C300C48FFA /* TypeCastsCF.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TypeCastsCF.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 1AFDE6521953B23D00C48FFA /* Optional.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Optional.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 1FA47C88152502DA00568D1B /* WebCoreThread.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebCoreThread.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 1FA47C89152502DA00568D1B /* WebCoreThread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebCoreThread.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -620,7 +620,7 @@
</span><span class="cx">                         isa = PBXGroup;
</span><span class="cx">                         children = (
</span><span class="cx">                                 2CDED0EE18115C38004DBA70 /* RunLoopCF.cpp */,
</span><del>-                                1AFDE647195201C300C48FFA /* TypeCasts.h */,
</del><ins>+                                1AFDE647195201C300C48FFA /* TypeCastsCF.h */,
</ins><span class="cx">                         );
</span><span class="cx">                         path = cf;
</span><span class="cx">                         sourceTree = &quot;&lt;group&gt;&quot;;
</span><span class="lines">@@ -1164,7 +1164,7 @@
</span><span class="cx">                                 A8A4741F151A825B004123FF /* SegmentedVector.h in Headers */,
</span><span class="cx">                                 A8A47420151A825B004123FF /* SentinelLinkedList.h in Headers */,
</span><span class="cx">                                 A8A47422151A825B004123FF /* SHA1.h in Headers */,
</span><del>-                                1AFDE648195201C300C48FFA /* TypeCasts.h in Headers */,
</del><ins>+                                1AFDE648195201C300C48FFA /* TypeCastsCF.h in Headers */,
</ins><span class="cx">                                 A8A47423151A825B004123FF /* SimpleStats.h in Headers */,
</span><span class="cx">                                 A8A47424151A825B004123FF /* SinglyLinkedList.h in Headers */,
</span><span class="cx">                                 A748745317A0BDAE00FA04CB /* SixCharacterHash.h in Headers */,
</span></span></pre></div>
<a id="trunkSourceWTFwtfcfTypeCastsh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WTF/wtf/cf/TypeCasts.h (174399 => 174400)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/wtf/cf/TypeCasts.h        2014-10-07 17:15:40 UTC (rev 174399)
+++ trunk/Source/WTF/wtf/cf/TypeCasts.h        2014-10-07 18:41:49 UTC (rev 174400)
</span><span class="lines">@@ -1,75 +0,0 @@
</span><del>-/*
- * Copyright (C) 2014 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. AND ITS CONTRIBUTORS ``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 ITS 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.
- */
-
-#ifndef TypeCasts_h
-#define TypeCasts_h
-
-#include &lt;CoreFoundation/CoreFoundation.h&gt;
-#include &lt;wtf/Assertions.h&gt;
-
-namespace WTF {
-
-template &lt;typename&gt; struct CFTypeTrait;
-
-#define DECLARE_CF_TYPE_TRAIT(ClassName) \
-template &lt;&gt; \
-struct CFTypeTrait&lt;ClassName##Ref&gt; { \
-    static inline CFTypeID typeID() { return ClassName##GetTypeID(); } \
-};
-
-DECLARE_CF_TYPE_TRAIT(CFArray);
-DECLARE_CF_TYPE_TRAIT(CFBoolean);
-DECLARE_CF_TYPE_TRAIT(CFData);
-DECLARE_CF_TYPE_TRAIT(CFDictionary);
-DECLARE_CF_TYPE_TRAIT(CFNumber);
-DECLARE_CF_TYPE_TRAIT(CFString);
-
-#undef DECLARE_CF_TYPE_TRAIT
-
-template&lt;typename T&gt; T dynamic_cf_cast(CFTypeRef object)
-{
-    if (!object)
-        return nullptr;
-
-    if (CFGetTypeID(object) != CFTypeTrait&lt;T&gt;::typeID())
-        return nullptr;
-
-    return static_cast&lt;T&gt;(object);
-}
-
-template&lt;typename T&gt; T checked_cf_cast(CFTypeRef object)
-{
-    auto result = dynamic_cf_cast&lt;T&gt;(object);
-    ASSERT_WITH_SECURITY_IMPLICATION(result);
-
-    return result;
-}
-
-} // namespace WTF
-
-using WTF::checked_cf_cast;
-using WTF::dynamic_cf_cast;
-
-#endif // TypeCasts_h
</del></span></pre></div>
<a id="trunkSourceWTFwtfcfTypeCastsCFhfromrev174399trunkSourceWTFwtfcfTypeCastsh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WTF/wtf/cf/TypeCastsCF.h (from rev 174399, trunk/Source/WTF/wtf/cf/TypeCasts.h) (0 => 174400)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/wtf/cf/TypeCastsCF.h                                (rev 0)
+++ trunk/Source/WTF/wtf/cf/TypeCastsCF.h        2014-10-07 18:41:49 UTC (rev 174400)
</span><span class="lines">@@ -0,0 +1,75 @@
</span><ins>+/*
+ * Copyright (C) 2014 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. AND ITS CONTRIBUTORS ``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 ITS 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.
+ */
+
+#ifndef TypeCastsCF_h
+#define TypeCastsCF_h
+
+#include &lt;CoreFoundation/CoreFoundation.h&gt;
+#include &lt;wtf/Assertions.h&gt;
+
+namespace WTF {
+
+template &lt;typename&gt; struct CFTypeTrait;
+
+#define DECLARE_CF_TYPE_TRAIT(ClassName) \
+template &lt;&gt; \
+struct CFTypeTrait&lt;ClassName##Ref&gt; { \
+    static inline CFTypeID typeID() { return ClassName##GetTypeID(); } \
+};
+
+DECLARE_CF_TYPE_TRAIT(CFArray);
+DECLARE_CF_TYPE_TRAIT(CFBoolean);
+DECLARE_CF_TYPE_TRAIT(CFData);
+DECLARE_CF_TYPE_TRAIT(CFDictionary);
+DECLARE_CF_TYPE_TRAIT(CFNumber);
+DECLARE_CF_TYPE_TRAIT(CFString);
+
+#undef DECLARE_CF_TYPE_TRAIT
+
+template&lt;typename T&gt; T dynamic_cf_cast(CFTypeRef object)
+{
+    if (!object)
+        return nullptr;
+
+    if (CFGetTypeID(object) != CFTypeTrait&lt;T&gt;::typeID())
+        return nullptr;
+
+    return static_cast&lt;T&gt;(object);
+}
+
+template&lt;typename T&gt; T checked_cf_cast(CFTypeRef object)
+{
+    auto result = dynamic_cf_cast&lt;T&gt;(object);
+    ASSERT_WITH_SECURITY_IMPLICATION(result);
+
+    return result;
+}
+
+} // namespace WTF
+
+using WTF::checked_cf_cast;
+using WTF::dynamic_cf_cast;
+
+#endif // TypeCastsCF_h
</ins></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (174399 => 174400)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2014-10-07 17:15:40 UTC (rev 174399)
+++ trunk/Source/WebCore/ChangeLog        2014-10-07 18:41:49 UTC (rev 174400)
</span><span class="lines">@@ -1,3 +1,16 @@
</span><ins>+2014-10-07  Christophe Dumez  &lt;cdumez@apple.com&gt;
+
+        [WK2] Use is&lt;&gt;() / downcast&lt;&gt;() for DrawingAreaProxy subclasses
+        https://bugs.webkit.org/show_bug.cgi?id=137477
+
+        Reviewed by Andreas Kling.
+
+        Include TypeCastsCF.h now that the header was renamed.
+
+        No new tests, no behavior change.
+
+        * platform/cf/SharedBufferCF.cpp:
+
</ins><span class="cx"> 2014-10-07  Carlos Garcia Campos  &lt;cgarcia@igalia.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [SOUP] TLS errors should take precedence over HTTP authentication
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformcfSharedBufferCFcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/cf/SharedBufferCF.cpp (174399 => 174400)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/cf/SharedBufferCF.cpp        2014-10-07 17:15:40 UTC (rev 174399)
+++ trunk/Source/WebCore/platform/cf/SharedBufferCF.cpp        2014-10-07 18:41:49 UTC (rev 174400)
</span><span class="lines">@@ -28,7 +28,7 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;SharedBuffer.h&quot;
</span><span class="cx"> 
</span><del>-#include &lt;wtf/cf/TypeCasts.h&gt;
</del><ins>+#include &lt;wtf/cf/TypeCastsCF.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (174399 => 174400)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2014-10-07 17:15:40 UTC (rev 174399)
+++ trunk/Source/WebKit2/ChangeLog        2014-10-07 18:41:49 UTC (rev 174400)
</span><span class="lines">@@ -1,3 +1,30 @@
</span><ins>+2014-10-07  Christophe Dumez  &lt;cdumez@apple.com&gt;
+
+        [WK2] Use is&lt;&gt;() / downcast&lt;&gt;() for DrawingAreaProxy subclasses
+        https://bugs.webkit.org/show_bug.cgi?id=137477
+
+        Reviewed by Andreas Kling.
+
+        Use is&lt;&gt;() / downcast&lt;&gt;() for DrawingAreaProxy subclasses.
+
+        * Shared/cf/KeyedDecoder.cpp:
+        * UIProcess/API/Cocoa/WKWebView.mm:
+        (-[WKWebView _didCommitLoadForMainFrame]):
+        (-[WKWebView _restorePageStateToExposedRect:scale:]):
+        (-[WKWebView _restorePageStateToUnobscuredCenter:scale:]):
+        * UIProcess/Cocoa/WebPageProxyCocoa.mm:
+        * UIProcess/DrawingAreaProxy.h:
+        * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
+        (WebKit::RemoteScrollingCoordinatorProxy::layerTreeHost):
+        * UIProcess/ios/WebPageProxyIOS.mm:
+        (WebKit::WebPageProxy::updateVisibleContentRects):
+        (WebKit::WebPageProxy::dynamicViewportUpdateChangedTarget):
+        * UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
+        (WebKit::WebVideoFullscreenManagerProxy::setupFullscreenWithID):
+        * UIProcess/mac/LegacySessionStateCoding.cpp:
+        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
+        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
+
</ins><span class="cx"> 2014-10-06  Vivek Galatage  &lt;vivek.vg@samsung.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Remove unused warning in WebPageOverlay
</span></span></pre></div>
<a id="trunkSourceWebKit2SharedcfKeyedDecodercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Shared/cf/KeyedDecoder.cpp (174399 => 174400)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/cf/KeyedDecoder.cpp        2014-10-07 17:15:40 UTC (rev 174399)
+++ trunk/Source/WebKit2/Shared/cf/KeyedDecoder.cpp        2014-10-07 18:41:49 UTC (rev 174400)
</span><span class="lines">@@ -26,7 +26,7 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;KeyedDecoder.h&quot;
</span><span class="cx"> 
</span><del>-#include &lt;wtf/cf/TypeCasts.h&gt;
</del><ins>+#include &lt;wtf/cf/TypeCastsCF.h&gt;
</ins><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebKit {
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICocoaWKWebViewmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm (174399 => 174400)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm        2014-10-07 17:15:40 UTC (rev 174399)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm        2014-10-07 18:41:49 UTC (rev 174400)
</span><span class="lines">@@ -799,7 +799,7 @@
</span><span class="cx"> 
</span><span class="cx"> - (void)_didCommitLoadForMainFrame
</span><span class="cx"> {
</span><del>-    _firstPaintAfterCommitLoadTransactionID = toRemoteLayerTreeDrawingAreaProxy(_page-&gt;drawingArea())-&gt;nextLayerTreeTransactionID();
</del><ins>+    _firstPaintAfterCommitLoadTransactionID = downcast&lt;RemoteLayerTreeDrawingAreaProxy&gt;(*_page-&gt;drawingArea()).nextLayerTreeTransactionID();
</ins><span class="cx"> 
</span><span class="cx">     _hasCommittedLoadForMainFrame = YES;
</span><span class="cx">     _needsResetViewStateAfterCommitLoadForMainFrame = YES;
</span><span class="lines">@@ -935,7 +935,7 @@
</span><span class="cx"> 
</span><span class="cx">     _needsToRestoreUnobscuredCenter = NO;
</span><span class="cx">     _needsToRestoreExposedRect = YES;
</span><del>-    _firstTransactionIDAfterPageRestore = toRemoteLayerTreeDrawingAreaProxy(_page-&gt;drawingArea())-&gt;nextLayerTreeTransactionID();
</del><ins>+    _firstTransactionIDAfterPageRestore = downcast&lt;RemoteLayerTreeDrawingAreaProxy&gt;(*_page-&gt;drawingArea()).nextLayerTreeTransactionID();
</ins><span class="cx">     _exposedRectToRestore = exposedRect;
</span><span class="cx">     _scaleToRestore = scale;
</span><span class="cx"> }
</span><span class="lines">@@ -950,7 +950,7 @@
</span><span class="cx"> 
</span><span class="cx">     _needsToRestoreExposedRect = NO;
</span><span class="cx">     _needsToRestoreUnobscuredCenter = YES;
</span><del>-    _firstTransactionIDAfterPageRestore = toRemoteLayerTreeDrawingAreaProxy(_page-&gt;drawingArea())-&gt;nextLayerTreeTransactionID();
</del><ins>+    _firstTransactionIDAfterPageRestore = downcast&lt;RemoteLayerTreeDrawingAreaProxy&gt;(*_page-&gt;drawingArea()).nextLayerTreeTransactionID();
</ins><span class="cx">     _unobscuredCenterToRestore = center;
</span><span class="cx">     _scaleToRestore = scale;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessCocoaWebPageProxyCocoamm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/Cocoa/WebPageProxyCocoa.mm (174399 => 174400)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/Cocoa/WebPageProxyCocoa.mm        2014-10-07 17:15:40 UTC (rev 174399)
+++ trunk/Source/WebKit2/UIProcess/Cocoa/WebPageProxyCocoa.mm        2014-10-07 18:41:49 UTC (rev 174400)
</span><span class="lines">@@ -26,7 +26,7 @@
</span><span class="cx"> #import &quot;config.h&quot;
</span><span class="cx"> #import &quot;WebProcessProxy.h&quot;
</span><span class="cx"> 
</span><del>-#import &lt;wtf/cf/TypeCasts.h&gt;
</del><ins>+#import &lt;wtf/cf/TypeCastsCF.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebKit {
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessDrawingAreaProxyh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/DrawingAreaProxy.h (174399 => 174400)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/DrawingAreaProxy.h        2014-10-07 17:15:40 UTC (rev 174399)
+++ trunk/Source/WebKit2/UIProcess/DrawingAreaProxy.h        2014-10-07 18:41:49 UTC (rev 174400)
</span><span class="lines">@@ -37,6 +37,7 @@
</span><span class="cx"> #include &lt;stdint.h&gt;
</span><span class="cx"> #include &lt;wtf/Noncopyable.h&gt;
</span><span class="cx"> #include &lt;wtf/RunLoop.h&gt;
</span><ins>+#include &lt;wtf/TypeCasts.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebKit {
</span><span class="cx"> 
</span><span class="lines">@@ -125,9 +126,11 @@
</span><span class="cx"> #endif
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-#define DRAWING_AREA_PROXY_TYPE_CASTS(ToValueTypeName, predicate) \
-    TYPE_CASTS_BASE(ToValueTypeName, DrawingAreaProxy, value, value-&gt;predicate, value.predicate)
-
</del><span class="cx"> } // namespace WebKit
</span><span class="cx"> 
</span><ins>+#define SPECIALIZE_TYPE_TRAITS_DRAWING_AREA_PROXY(ToValueTypeName, ProxyType) \
+SPECIALIZE_TYPE_TRAITS_BEGIN(WebKit::ToValueTypeName) \
+    static bool isType(const WebKit::DrawingAreaProxy&amp; proxy) { return proxy.type() == WebKit::ProxyType; } \
+SPECIALIZE_TYPE_TRAITS_END()
+
</ins><span class="cx"> #endif // DrawingAreaProxy_h
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessScrollingRemoteScrollingCoordinatorProxycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp (174399 => 174400)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp        2014-10-07 17:15:40 UTC (rev 174399)
+++ trunk/Source/WebKit2/UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp        2014-10-07 18:41:49 UTC (rev 174400)
</span><span class="lines">@@ -69,13 +69,13 @@
</span><span class="cx"> const RemoteLayerTreeHost* RemoteScrollingCoordinatorProxy::layerTreeHost() const
</span><span class="cx"> {
</span><span class="cx">     DrawingAreaProxy* drawingArea = m_webPageProxy.drawingArea();
</span><del>-    if (!drawingArea || drawingArea-&gt;type() != DrawingAreaTypeRemoteLayerTree) {
</del><ins>+    if (!is&lt;RemoteLayerTreeDrawingAreaProxy&gt;(drawingArea)) {
</ins><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="cx">         return nullptr;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    RemoteLayerTreeDrawingAreaProxy* remoteDrawingArea = toRemoteLayerTreeDrawingAreaProxy(drawingArea);
-    return &amp;remoteDrawingArea-&gt;remoteLayerTreeHost();
</del><ins>+    RemoteLayerTreeDrawingAreaProxy&amp; remoteDrawingArea = downcast&lt;RemoteLayerTreeDrawingAreaProxy&gt;(*drawingArea);
+    return &amp;remoteDrawingArea.remoteLayerTreeHost();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void RemoteScrollingCoordinatorProxy::updateScrollingTree(const RemoteScrollingCoordinatorTransaction&amp; transaction, RequestedScrollInfo&amp; requestedScrollInfo)
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessiosWebPageProxyIOSmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/ios/WebPageProxyIOS.mm (174399 => 174400)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/ios/WebPageProxyIOS.mm        2014-10-07 17:15:40 UTC (rev 174399)
+++ trunk/Source/WebKit2/UIProcess/ios/WebPageProxyIOS.mm        2014-10-07 18:41:49 UTC (rev 174400)
</span><span class="lines">@@ -184,7 +184,7 @@
</span><span class="cx">     if (!isValid())
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    VisibleContentRectUpdateInfo visibleContentRectUpdateInfo(exposedRect, unobscuredRect, unobscuredRectInScrollViewCoordinates, customFixedPositionRect, scale, inStableState, isChangingObscuredInsetsInteractively, timestamp, horizontalVelocity, verticalVelocity, scaleChangeRate, toRemoteLayerTreeDrawingAreaProxy(drawingArea())-&gt;lastCommittedLayerTreeTransactionID());
</del><ins>+    VisibleContentRectUpdateInfo visibleContentRectUpdateInfo(exposedRect, unobscuredRect, unobscuredRectInScrollViewCoordinates, customFixedPositionRect, scale, inStableState, isChangingObscuredInsetsInteractively, timestamp, horizontalVelocity, verticalVelocity, scaleChangeRate, downcast&lt;RemoteLayerTreeDrawingAreaProxy&gt;(*drawingArea()).lastCommittedLayerTreeTransactionID());
</ins><span class="cx"> 
</span><span class="cx">     if (visibleContentRectUpdateInfo == m_lastVisibleContentRectUpdate)
</span><span class="cx">         return;
</span><span class="lines">@@ -662,7 +662,7 @@
</span><span class="cx"> void WebPageProxy::dynamicViewportUpdateChangedTarget(double newScale, const WebCore::FloatPoint&amp; newScrollPosition)
</span><span class="cx"> {
</span><span class="cx">     if (m_dynamicViewportSizeUpdateWaitingForTarget) {
</span><del>-        m_dynamicViewportSizeUpdateLayerTreeTransactionID = toRemoteLayerTreeDrawingAreaProxy(drawingArea())-&gt;nextLayerTreeTransactionID();
</del><ins>+        m_dynamicViewportSizeUpdateLayerTreeTransactionID = downcast&lt;RemoteLayerTreeDrawingAreaProxy&gt;(*drawingArea()).nextLayerTreeTransactionID();
</ins><span class="cx">         m_dynamicViewportSizeUpdateWaitingForTarget = false;
</span><span class="cx">         m_pageClient.dynamicViewportUpdateChangedTarget(newScale, newScrollPosition, m_dynamicViewportSizeUpdateLayerTreeTransactionID);
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessiosWebVideoFullscreenManagerProxymm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/ios/WebVideoFullscreenManagerProxy.mm (174399 => 174400)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/ios/WebVideoFullscreenManagerProxy.mm        2014-10-07 17:15:40 UTC (rev 174399)
+++ trunk/Source/WebKit2/UIProcess/ios/WebVideoFullscreenManagerProxy.mm        2014-10-07 18:41:49 UTC (rev 174400)
</span><span class="lines">@@ -91,7 +91,7 @@
</span><span class="cx">         [m_layerHost setTransform:CATransform3DMakeScale(inverseScale, inverseScale, 1)];
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    UIView *parentView = toRemoteLayerTreeDrawingAreaProxy(m_page-&gt;drawingArea())-&gt;remoteLayerTreeHost().rootLayer();
</del><ins>+    UIView *parentView = downcast&lt;RemoteLayerTreeDrawingAreaProxy&gt;(*m_page-&gt;drawingArea()).remoteLayerTreeHost().rootLayer();
</ins><span class="cx">     setupFullscreen(*m_layerHost.get(), initialRect, parentView);
</span><span class="cx"> }
</span><span class="cx">     
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessmacLegacySessionStateCodingcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/mac/LegacySessionStateCoding.cpp (174399 => 174400)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/mac/LegacySessionStateCoding.cpp        2014-10-07 17:15:40 UTC (rev 174399)
+++ trunk/Source/WebKit2/UIProcess/mac/LegacySessionStateCoding.cpp        2014-10-07 18:41:49 UTC (rev 174400)
</span><span class="lines">@@ -30,7 +30,7 @@
</span><span class="cx"> #include &quot;SessionState.h&quot;
</span><span class="cx"> #include &lt;mutex&gt;
</span><span class="cx"> #include &lt;wtf/MallocPtr.h&gt;
</span><del>-#include &lt;wtf/cf/TypeCasts.h&gt;
</del><ins>+#include &lt;wtf/cf/TypeCastsCF.h&gt;
</ins><span class="cx"> #include &lt;wtf/text/StringView.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebKit {
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessmacRemoteLayerTreeDrawingAreaProxyh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h (174399 => 174400)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h        2014-10-07 17:15:40 UTC (rev 174399)
+++ trunk/Source/WebKit2/UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h        2014-10-07 18:41:49 UTC (rev 174400)
</span><span class="lines">@@ -108,8 +108,8 @@
</span><span class="cx">     RetainPtr&lt;OneShotDisplayLinkHandler&gt; m_displayLinkHandler;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-DRAWING_AREA_PROXY_TYPE_CASTS(RemoteLayerTreeDrawingAreaProxy, type() == DrawingAreaTypeRemoteLayerTree);
-
</del><span class="cx"> } // namespace WebKit
</span><span class="cx"> 
</span><ins>+SPECIALIZE_TYPE_TRAITS_DRAWING_AREA_PROXY(RemoteLayerTreeDrawingAreaProxy, DrawingAreaTypeRemoteLayerTree)
+
</ins><span class="cx"> #endif // RemoteLayerTreeDrawingAreaProxy_h
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessmacTiledCoreAnimationDrawingAreaProxyh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h (174399 => 174400)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h        2014-10-07 17:15:40 UTC (rev 174399)
+++ trunk/Source/WebKit2/UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h        2014-10-07 18:41:49 UTC (rev 174400)
</span><span class="lines">@@ -71,10 +71,10 @@
</span><span class="cx">     WebCore::IntSize m_lastSentMinimumLayoutSize;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-DRAWING_AREA_PROXY_TYPE_CASTS(TiledCoreAnimationDrawingAreaProxy, type() == DrawingAreaTypeTiledCoreAnimation);
-
</del><span class="cx"> } // namespace WebKit
</span><span class="cx"> 
</span><ins>+SPECIALIZE_TYPE_TRAITS_DRAWING_AREA_PROXY(TiledCoreAnimationDrawingAreaProxy, DrawingAreaTypeTiledCoreAnimation)
+
</ins><span class="cx"> #endif // !PLATFORM(IOS)
</span><span class="cx"> 
</span><span class="cx"> #endif // TiledCoreAnimationDrawingAreaProxy_h
</span></span></pre>
</div>
</div>

</body>
</html>