<!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>[178481] trunk/Source/WebCore</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/178481">178481</a></dd>
<dt>Author</dt> <dd>zalan@apple.com</dd>
<dt>Date</dt> <dd>2015-01-14 19:04:40 -0800 (Wed, 14 Jan 2015)</dd>
</dl>
<h3>Log Message</h3>
<pre>Move LayoutFragment and ClipRect to their own files.
https://bugs.webkit.org/show_bug.cgi?id=140457
Reviewed by Simon Fraser.
Move these classes to their own files to to make RenderLayer.h less heavy.
No change in functionality.
* WebCore.xcodeproj/project.pbxproj:
* rendering/ClipRect.cpp: Added.
(WebCore::ClipRect::intersects):
* rendering/ClipRect.h: Added.
(WebCore::ClipRect::ClipRect):
(WebCore::ClipRect::rect):
(WebCore::ClipRect::setRect):
(WebCore::ClipRect::affectedByRadius):
(WebCore::ClipRect::setAffectedByRadius):
(WebCore::ClipRect::operator==):
(WebCore::ClipRect::operator!=):
(WebCore::ClipRect::intersect):
(WebCore::ClipRect::move):
(WebCore::ClipRect::moveBy):
(WebCore::ClipRect::isEmpty):
(WebCore::ClipRect::intersects):
(WebCore::ClipRect::inflateX):
(WebCore::ClipRect::inflateY):
(WebCore::ClipRect::inflate):
(WebCore::intersection):
* rendering/LayerFragment.h: Added.
(WebCore::LayerFragment::setRects):
(WebCore::LayerFragment::moveBy):
(WebCore::LayerFragment::intersect):
* rendering/RenderFlowThread.h:
* rendering/RenderLayer.cpp:
(WebCore::ClipRect::intersects): Deleted.
* rendering/RenderLayer.h:
(WebCore::ClipRect::ClipRect): Deleted.
(WebCore::ClipRect::rect): Deleted.
(WebCore::ClipRect::setRect): Deleted.
(WebCore::ClipRect::affectedByRadius): Deleted.
(WebCore::ClipRect::setAffectedByRadius): Deleted.
(WebCore::ClipRect::operator==): Deleted.
(WebCore::ClipRect::operator!=): Deleted.
(WebCore::ClipRect::intersect): Deleted.
(WebCore::ClipRect::move): Deleted.
(WebCore::ClipRect::moveBy): Deleted.
(WebCore::ClipRect::isEmpty): Deleted.
(WebCore::ClipRect::intersects): Deleted.
(WebCore::ClipRect::inflateX): Deleted.
(WebCore::ClipRect::inflateY): Deleted.
(WebCore::ClipRect::inflate): Deleted.
(WebCore::intersection): Deleted.
(WebCore::LayerFragment::LayerFragment): Deleted.
(WebCore::LayerFragment::setRects): Deleted.
(WebCore::LayerFragment::moveBy): Deleted.
(WebCore::LayerFragment::intersect): Deleted.
* rendering/RenderMultiColumnSet.h:
* rendering/RenderRegion.h:
* rendering/RenderTreeAsText.cpp:</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreCMakeListstxt">trunk/Source/WebCore/CMakeLists.txt</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreWebCorevcxprojWebCorevcxproj">trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj</a></li>
<li><a href="#trunkSourceWebCoreWebCorevcxprojWebCorevcxprojfilters">trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters</a></li>
<li><a href="#trunkSourceWebCoreWebCorexcodeprojprojectpbxproj">trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderFlowThreadh">trunk/Source/WebCore/rendering/RenderFlowThread.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderLayercpp">trunk/Source/WebCore/rendering/RenderLayer.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderLayerh">trunk/Source/WebCore/rendering/RenderLayer.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderMultiColumnSeth">trunk/Source/WebCore/rendering/RenderMultiColumnSet.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderRegionh">trunk/Source/WebCore/rendering/RenderRegion.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderTreeAsTextcpp">trunk/Source/WebCore/rendering/RenderTreeAsText.cpp</a></li>
</ul>
<h3>Added Paths</h3>
<ul>
<li><a href="#trunkSourceWebCorerenderingClipRectcpp">trunk/Source/WebCore/rendering/ClipRect.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingClipRecth">trunk/Source/WebCore/rendering/ClipRect.h</a></li>
<li><a href="#trunkSourceWebCorerenderingLayerFragmenth">trunk/Source/WebCore/rendering/LayerFragment.h</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreCMakeListstxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/CMakeLists.txt (178480 => 178481)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/CMakeLists.txt        2015-01-15 03:03:41 UTC (rev 178480)
+++ trunk/Source/WebCore/CMakeLists.txt        2015-01-15 03:04:40 UTC (rev 178481)
</span><span class="lines">@@ -2228,6 +2228,7 @@
</span><span class="cx"> rendering/AutoTableLayout.cpp
</span><span class="cx"> rendering/BidiRun.cpp
</span><span class="cx"> rendering/BorderEdge.cpp
</span><ins>+ rendering/ClipRect.cpp
</ins><span class="cx"> rendering/CounterNode.cpp
</span><span class="cx"> rendering/EllipsisBox.cpp
</span><span class="cx"> rendering/FilterEffectRenderer.cpp
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (178480 => 178481)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2015-01-15 03:03:41 UTC (rev 178480)
+++ trunk/Source/WebCore/ChangeLog        2015-01-15 03:04:40 UTC (rev 178481)
</span><span class="lines">@@ -1,3 +1,66 @@
</span><ins>+2015-01-14 Zalan Bujtas <zalan@apple.com>
+
+ Move LayoutFragment and ClipRect to their own files.
+ https://bugs.webkit.org/show_bug.cgi?id=140457
+
+ Reviewed by Simon Fraser.
+
+ Move these classes to their own files to to make RenderLayer.h less heavy.
+
+ No change in functionality.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * rendering/ClipRect.cpp: Added.
+ (WebCore::ClipRect::intersects):
+ * rendering/ClipRect.h: Added.
+ (WebCore::ClipRect::ClipRect):
+ (WebCore::ClipRect::rect):
+ (WebCore::ClipRect::setRect):
+ (WebCore::ClipRect::affectedByRadius):
+ (WebCore::ClipRect::setAffectedByRadius):
+ (WebCore::ClipRect::operator==):
+ (WebCore::ClipRect::operator!=):
+ (WebCore::ClipRect::intersect):
+ (WebCore::ClipRect::move):
+ (WebCore::ClipRect::moveBy):
+ (WebCore::ClipRect::isEmpty):
+ (WebCore::ClipRect::intersects):
+ (WebCore::ClipRect::inflateX):
+ (WebCore::ClipRect::inflateY):
+ (WebCore::ClipRect::inflate):
+ (WebCore::intersection):
+ * rendering/LayerFragment.h: Added.
+ (WebCore::LayerFragment::setRects):
+ (WebCore::LayerFragment::moveBy):
+ (WebCore::LayerFragment::intersect):
+ * rendering/RenderFlowThread.h:
+ * rendering/RenderLayer.cpp:
+ (WebCore::ClipRect::intersects): Deleted.
+ * rendering/RenderLayer.h:
+ (WebCore::ClipRect::ClipRect): Deleted.
+ (WebCore::ClipRect::rect): Deleted.
+ (WebCore::ClipRect::setRect): Deleted.
+ (WebCore::ClipRect::affectedByRadius): Deleted.
+ (WebCore::ClipRect::setAffectedByRadius): Deleted.
+ (WebCore::ClipRect::operator==): Deleted.
+ (WebCore::ClipRect::operator!=): Deleted.
+ (WebCore::ClipRect::intersect): Deleted.
+ (WebCore::ClipRect::move): Deleted.
+ (WebCore::ClipRect::moveBy): Deleted.
+ (WebCore::ClipRect::isEmpty): Deleted.
+ (WebCore::ClipRect::intersects): Deleted.
+ (WebCore::ClipRect::inflateX): Deleted.
+ (WebCore::ClipRect::inflateY): Deleted.
+ (WebCore::ClipRect::inflate): Deleted.
+ (WebCore::intersection): Deleted.
+ (WebCore::LayerFragment::LayerFragment): Deleted.
+ (WebCore::LayerFragment::setRects): Deleted.
+ (WebCore::LayerFragment::moveBy): Deleted.
+ (WebCore::LayerFragment::intersect): Deleted.
+ * rendering/RenderMultiColumnSet.h:
+ * rendering/RenderRegion.h:
+ * rendering/RenderTreeAsText.cpp:
+
</ins><span class="cx"> 2015-01-14 Commit Queue <commit-queue@webkit.org>
</span><span class="cx">
</span><span class="cx"> Unreviewed, rolling out r178438.
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorevcxprojWebCorevcxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj (178480 => 178481)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj        2015-01-15 03:03:41 UTC (rev 178480)
+++ trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj        2015-01-15 03:04:40 UTC (rev 178481)
</span><span class="lines">@@ -11486,6 +11486,7 @@
</span><span class="cx"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
</span><span class="cx"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
</span><span class="cx"> </ClCompile>
</span><ins>+ <ClCompile Include="..\rendering\ClipRect.cpp" />
</ins><span class="cx"> <ClCompile Include="..\rendering\SelectionSubtreeRoot.cpp" />
</span><span class="cx"> <ClCompile Include="..\rendering\SimpleLineLayout.cpp" />
</span><span class="cx"> <ClCompile Include="..\rendering\SimpleLineLayoutFlowContents.cpp" />
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorevcxprojWebCorevcxprojfilters"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters (178480 => 178481)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters        2015-01-15 03:03:41 UTC (rev 178480)
+++ trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters        2015-01-15 03:04:40 UTC (rev 178481)
</span><span class="lines">@@ -6667,6 +6667,9 @@
</span><span class="cx"> <ClCompile Include="..\rendering\FloatingObjects.cpp">
</span><span class="cx"> <Filter>rendering</Filter>
</span><span class="cx"> </ClCompile>
</span><ins>+ <ClCompile Include="..\rendering\ClipRect.cpp">
+ <Filter>rendering</Filter>
+ </ClCompile>
</ins><span class="cx"> <ClCompile Include="..\rendering\RenderBlockFlow.cpp">
</span><span class="cx"> <Filter>rendering</Filter>
</span><span class="cx"> </ClCompile>
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (178480 => 178481)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2015-01-15 03:03:41 UTC (rev 178480)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2015-01-15 03:04:40 UTC (rev 178481)
</span><span class="lines">@@ -2097,6 +2097,9 @@
</span><span class="cx">                 57B791A414C6A62900F202D1 /* ContentDistributor.h in Headers */ = {isa = PBXBuildFile; fileRef = 57B791A014C6A62900F202D1 /* ContentDistributor.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 57CF497414EE36D700ECFF14 /* InsertionPoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 57CF497214EE36D700ECFF14 /* InsertionPoint.cpp */; };
</span><span class="cx">                 57CF497514EE36D700ECFF14 /* InsertionPoint.h in Headers */ = {isa = PBXBuildFile; fileRef = 57CF497314EE36D700ECFF14 /* InsertionPoint.h */; };
</span><ins>+                580371611A66F00A00BAF519 /* ClipRect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5803715F1A66F00A00BAF519 /* ClipRect.cpp */; };
+                580371621A66F00A00BAF519 /* ClipRect.h in Headers */ = {isa = PBXBuildFile; fileRef = 580371601A66F00A00BAF519 /* ClipRect.h */; settings = {ATTRIBUTES = (Private, ); }; };
+                580371641A66F1D300BAF519 /* LayerFragment.h in Headers */ = {isa = PBXBuildFile; fileRef = 580371631A66F1D300BAF519 /* LayerFragment.h */; settings = {ATTRIBUTES = (Private, ); }; };
</ins><span class="cx">                 585D6DFC1A15355600FA4F12 /* SimpleLineLayoutResolver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 585D6DFB1A15355600FA4F12 /* SimpleLineLayoutResolver.cpp */; };
</span><span class="cx">                 585D6E031A1A792E00FA4F12 /* SimpleLineLayoutFlowContents.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 585D6E011A1A792E00FA4F12 /* SimpleLineLayoutFlowContents.cpp */; };
</span><span class="cx">                 585D6E041A1A792E00FA4F12 /* SimpleLineLayoutFlowContents.h in Headers */ = {isa = PBXBuildFile; fileRef = 585D6E021A1A792E00FA4F12 /* SimpleLineLayoutFlowContents.h */; };
</span><span class="lines">@@ -9205,6 +9208,9 @@
</span><span class="cx">                 57B791A014C6A62900F202D1 /* ContentDistributor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ContentDistributor.h; sourceTree = "<group>"; };
</span><span class="cx">                 57CF497214EE36D700ECFF14 /* InsertionPoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InsertionPoint.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 57CF497314EE36D700ECFF14 /* InsertionPoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InsertionPoint.h; sourceTree = "<group>"; };
</span><ins>+                5803715F1A66F00A00BAF519 /* ClipRect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ClipRect.cpp; sourceTree = "<group>"; };
+                580371601A66F00A00BAF519 /* ClipRect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ClipRect.h; sourceTree = "<group>"; };
+                580371631A66F1D300BAF519 /* LayerFragment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LayerFragment.h; sourceTree = "<group>"; };
</ins><span class="cx">                 585D6DFB1A15355600FA4F12 /* SimpleLineLayoutResolver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SimpleLineLayoutResolver.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 585D6E011A1A792E00FA4F12 /* SimpleLineLayoutFlowContents.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SimpleLineLayoutFlowContents.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 585D6E021A1A792E00FA4F12 /* SimpleLineLayoutFlowContents.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SimpleLineLayoutFlowContents.h; sourceTree = "<group>"; };
</span><span class="lines">@@ -22243,6 +22249,9 @@
</span><span class="cx">                 F523D2F302DE443B018635CA /* rendering */ = {
</span><span class="cx">                         isa = PBXGroup;
</span><span class="cx">                         children = (
</span><ins>+                                580371631A66F1D300BAF519 /* LayerFragment.h */,
+                                5803715F1A66F00A00BAF519 /* ClipRect.cpp */,
+                                580371601A66F00A00BAF519 /* ClipRect.h */,
</ins><span class="cx">                                 FFB698C81832F10B00158A31 /* line */,
</span><span class="cx">                                 439046C212DA25CE00AF80A2 /* mathml */,
</span><span class="cx">                                 FD08A879175D3926002CD360 /* shapes */,
</span><span class="lines">@@ -24208,6 +24217,7 @@
</span><span class="cx">                                 A8CFF6BE0A156118000A4234 /* EllipsisBox.h in Headers */,
</span><span class="cx">                                 F55B3DBC1251F12D003EF269 /* EmailInputType.h in Headers */,
</span><span class="cx">                                 B25599A50D00D8BA00BB825C /* EmptyClients.h in Headers */,
</span><ins>+                                580371621A66F00A00BAF519 /* ClipRect.h in Headers */,
</ins><span class="cx">                                 A8EA7EC20A1945D000A8EF5F /* Entity.h in Headers */,
</span><span class="cx">                                 A8EA7EC00A1945D000A8EF5F /* EntityReference.h in Headers */,
</span><span class="cx">                                 FD31609312B026F700C1A359 /* EqualPowerPanner.h in Headers */,
</span><span class="lines">@@ -25167,6 +25177,7 @@
</span><span class="cx">                                 B2FA3E110AB75A6F000E5AC4 /* JSSVGTSpanElement.h in Headers */,
</span><span class="cx">                                 B2FA3E130AB75A6F000E5AC4 /* JSSVGUnitTypes.h in Headers */,
</span><span class="cx">                                 B2FA3E150AB75A6F000E5AC4 /* JSSVGUseElement.h in Headers */,
</span><ins>+                                580371641A66F1D300BAF519 /* LayerFragment.h in Headers */,
</ins><span class="cx">                                 B2FA3E170AB75A6F000E5AC4 /* JSSVGViewElement.h in Headers */,
</span><span class="cx">                                 7118FED515685CC60030B79A /* JSSVGViewSpec.h in Headers */,
</span><span class="cx">                                 8485227E1190162C006EDC7F /* JSSVGVKernElement.h in Headers */,
</span><span class="lines">@@ -28523,6 +28534,7 @@
</span><span class="cx">                                 BCFE2F110C1B58370020235F /* JSRect.cpp in Sources */,
</span><span class="cx">                                 4998AECD13F9D6C90090B1AA /* JSRequestAnimationFrameCallback.cpp in Sources */,
</span><span class="cx">                                 4998AED413FC417F0090B1AA /* JSRequestAnimationFrameCallbackCustom.cpp in Sources */,
</span><ins>+                                580371611A66F00A00BAF519 /* ClipRect.cpp in Sources */,
</ins><span class="cx">                                 BC74DA481013F468007987AD /* JSRGBColor.cpp in Sources */,
</span><span class="cx">                                 073794E519EE2FF200E5A045 /* JSRTCConfiguration.cpp in Sources */,
</span><span class="cx">                                 07969DAB17D14151007FF842 /* JSRTCDataChannel.cpp in Sources */,
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingClipRectcpp"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/rendering/ClipRect.cpp (0 => 178481)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/ClipRect.cpp         (rev 0)
+++ trunk/Source/WebCore/rendering/ClipRect.cpp        2015-01-15 03:04:40 UTC (rev 178481)
</span><span class="lines">@@ -0,0 +1,38 @@
</span><ins>+/*
+ * Copyright (C) 2015 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.
+ */
+
+#include "config.h"
+#include "ClipRect.h"
+
+#include "HitTestLocation.h"
+
+namespace WebCore {
+
+bool ClipRect::intersects(const HitTestLocation& hitTestLocation) const
+{
+ return hitTestLocation.intersects(m_rect);
+}
+
+}
</ins></span></pre></div>
<a id="trunkSourceWebCorerenderingClipRecth"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/rendering/ClipRect.h (0 => 178481)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/ClipRect.h         (rev 0)
+++ trunk/Source/WebCore/rendering/ClipRect.h        2015-01-15 03:04:40 UTC (rev 178481)
</span><span class="lines">@@ -0,0 +1,88 @@
</span><ins>+/*
+ * Copyright (C) 2015 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 ClipRect_h
+#define ClipRect_h
+
+#include "LayoutRect.h"
+
+namespace WebCore {
+
+class HitTestLocation;
+
+class ClipRect {
+public:
+ ClipRect() = default;
+
+ ClipRect(const LayoutRect& rect)
+ : m_rect(rect)
+ {
+ }
+
+ const LayoutRect& rect() const { return m_rect; }
+ void setRect(const LayoutRect& rect) { m_rect = rect; }
+
+ bool affectedByRadius() const { return m_affectedByRadius; }
+ void setAffectedByRadius(bool affectedByRadius) { m_affectedByRadius = affectedByRadius; }
+
+ bool operator==(const ClipRect& other) const { return rect() == other.rect() && affectedByRadius() == other.affectedByRadius(); }
+ bool operator!=(const ClipRect& other) const { return rect() != other.rect() || affectedByRadius() != other.affectedByRadius(); }
+ bool operator!=(const LayoutRect& otherRect) const { return rect() != otherRect; }
+
+ void intersect(const LayoutRect& other) { m_rect.intersect(other); }
+ void intersect(const ClipRect& other);
+ void move(LayoutUnit x, LayoutUnit y) { m_rect.move(x, y); }
+ void move(const LayoutSize& size) { m_rect.move(size); }
+ void moveBy(const LayoutPoint& point) { m_rect.moveBy(point); }
+
+ bool isEmpty() const { return m_rect.isEmpty(); }
+ bool intersects(const LayoutRect& rect) const { return m_rect.intersects(rect); }
+ bool intersects(const HitTestLocation&) const;
+
+ void inflateX(LayoutUnit dx) { m_rect.inflateX(dx); }
+ void inflateY(LayoutUnit dy) { m_rect.inflateY(dy); }
+ void inflate(LayoutUnit d) { inflateX(d); inflateY(d); }
+
+private:
+ LayoutRect m_rect;
+ bool m_affectedByRadius = false;
+};
+
+inline void ClipRect::intersect(const ClipRect& other)
+{
+ m_rect.intersect(other.rect());
+ if (other.affectedByRadius())
+ m_affectedByRadius = true;
+}
+
+inline ClipRect intersection(const ClipRect& a, const ClipRect& b)
+{
+ ClipRect c = a;
+ c.intersect(b);
+ return c;
+}
+}
+
+#endif
</ins></span></pre></div>
<a id="trunkSourceWebCorerenderingLayerFragmenth"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/rendering/LayerFragment.h (0 => 178481)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/LayerFragment.h         (rev 0)
+++ trunk/Source/WebCore/rendering/LayerFragment.h        2015-01-15 03:04:40 UTC (rev 178481)
</span><span class="lines">@@ -0,0 +1,87 @@
</span><ins>+/*
+ * Copyright (C) 2015 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 LayerFragment_h
+#define LayerFragment_h
+
+#include "ClipRect.h"
+
+namespace WebCore {
+
+class LayerFragment {
+public:
+ LayerFragment() = default;
+
+ void setRects(const LayoutRect& bounds, const ClipRect& background, const ClipRect& foreground, const ClipRect& outline, const LayoutRect* bbox)
+ {
+ layerBounds = bounds;
+ backgroundRect = background;
+ foregroundRect = foreground;
+ outlineRect = outline;
+ if (bbox) {
+ boundingBox = *bbox;
+ hasBoundingBox = true;
+ }
+ }
+
+ void moveBy(const LayoutPoint& offset)
+ {
+ layerBounds.moveBy(offset);
+ backgroundRect.moveBy(offset);
+ foregroundRect.moveBy(offset);
+ outlineRect.moveBy(offset);
+ paginationClip.moveBy(offset);
+ boundingBox.moveBy(offset);
+ }
+
+ void intersect(const LayoutRect& rect)
+ {
+ backgroundRect.intersect(rect);
+ foregroundRect.intersect(rect);
+ outlineRect.intersect(rect);
+ boundingBox.intersect(rect);
+ }
+
+ bool shouldPaintContent = false;
+ bool hasBoundingBox = false;
+ LayoutRect layerBounds;
+ ClipRect backgroundRect;
+ ClipRect foregroundRect;
+ ClipRect outlineRect;
+ LayoutRect boundingBox;
+
+ // Unique to paginated fragments. The physical translation to apply to shift the layer when painting/hit-testing.
+ LayoutSize paginationOffset;
+
+ // Also unique to paginated fragments. An additional clip that applies to the layer. It is in layer-local
+ // (physical) coordinates.
+ LayoutRect paginationClip;
+};
+
+typedef Vector<LayerFragment, 1> LayerFragments;
+
+}
+
+#endif
</ins></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderFlowThreadh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderFlowThread.h (178480 => 178481)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderFlowThread.h        2015-01-15 03:03:41 UTC (rev 178480)
+++ trunk/Source/WebCore/rendering/RenderFlowThread.h        2015-01-15 03:04:40 UTC (rev 178481)
</span><span class="lines">@@ -30,7 +30,7 @@
</span><span class="cx"> #ifndef RenderFlowThread_h
</span><span class="cx"> #define RenderFlowThread_h
</span><span class="cx">
</span><del>-
</del><ins>+#include "LayerFragment.h"
</ins><span class="cx"> #include "RenderBlockFlow.h"
</span><span class="cx"> #include <wtf/HashCountedSet.h>
</span><span class="cx"> #include <wtf/ListHashSet.h>
</span><span class="lines">@@ -39,8 +39,6 @@
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><span class="cx"> class CurrentRenderRegionMaintainer;
</span><del>-struct LayerFragment;
-typedef Vector<LayerFragment, 1> LayerFragments;
</del><span class="cx"> class RenderFlowThread;
</span><span class="cx"> class RenderNamedFlowFragment;
</span><span class="cx"> class RenderStyle;
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderLayercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderLayer.cpp (178480 => 178481)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderLayer.cpp        2015-01-15 03:03:41 UTC (rev 178480)
+++ trunk/Source/WebCore/rendering/RenderLayer.cpp        2015-01-15 03:04:40 UTC (rev 178481)
</span><span class="lines">@@ -133,11 +133,6 @@
</span><span class="cx">
</span><span class="cx"> using namespace HTMLNames;
</span><span class="cx">
</span><del>-bool ClipRect::intersects(const HitTestLocation& hitTestLocation) const
-{
- return hitTestLocation.intersects(m_rect);
-}
-
</del><span class="cx"> void makeMatrixRenderable(TransformationMatrix& matrix, bool has3DRendering)
</span><span class="cx"> {
</span><span class="cx"> #if !ENABLE(3D_RENDERING)
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderLayerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderLayer.h (178480 => 178481)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderLayer.h        2015-01-15 03:03:41 UTC (rev 178480)
+++ trunk/Source/WebCore/rendering/RenderLayer.h        2015-01-15 03:04:40 UTC (rev 178481)
</span><span class="lines">@@ -44,7 +44,9 @@
</span><span class="cx"> #ifndef RenderLayer_h
</span><span class="cx"> #define RenderLayer_h
</span><span class="cx">
</span><ins>+#include "ClipRect.h"
</ins><span class="cx"> #include "GraphicsLayer.h"
</span><ins>+#include "LayerFragment.h"
</ins><span class="cx"> #include "PaintInfo.h"
</span><span class="cx"> #include "RenderBox.h"
</span><span class="cx"> #include "RenderPtr.h"
</span><span class="lines">@@ -81,60 +83,6 @@
</span><span class="cx"> NeedsFullRepaintForPositionedMovementLayout
</span><span class="cx"> };
</span><span class="cx">
</span><del>-class ClipRect {
-public:
- ClipRect()
- : m_affectedByRadius(false)
- {
- }
-
- ClipRect(const LayoutRect& rect)
- : m_rect(rect)
- , m_affectedByRadius(false)
- {
- }
-
- const LayoutRect& rect() const { return m_rect; }
- void setRect(const LayoutRect& rect) { m_rect = rect; }
-
- bool affectedByRadius() const { return m_affectedByRadius; }
- void setAffectedByRadius(bool affectedByRadius) { m_affectedByRadius = affectedByRadius; }
-
- bool operator==(const ClipRect& other) const { return rect() == other.rect() && affectedByRadius() == other.affectedByRadius(); }
- bool operator!=(const ClipRect& other) const { return rect() != other.rect() || affectedByRadius() != other.affectedByRadius(); }
- bool operator!=(const LayoutRect& otherRect) const { return rect() != otherRect; }
-
- void intersect(const LayoutRect& other) { m_rect.intersect(other); }
- void intersect(const ClipRect& other)
- {
- m_rect.intersect(other.rect());
- if (other.affectedByRadius())
- m_affectedByRadius = true;
- }
- void move(LayoutUnit x, LayoutUnit y) { m_rect.move(x, y); }
- void move(const LayoutSize& size) { m_rect.move(size); }
- void moveBy(const LayoutPoint& point) { m_rect.moveBy(point); }
-
- bool isEmpty() const { return m_rect.isEmpty(); }
- bool intersects(const LayoutRect& rect) const { return m_rect.intersects(rect); }
- bool intersects(const HitTestLocation&) const;
-
- void inflateX(LayoutUnit dx) { m_rect.inflateX(dx); }
- void inflateY(LayoutUnit dy) { m_rect.inflateY(dy); }
- void inflate(LayoutUnit d) { inflateX(d); inflateY(d); }
-
-private:
- LayoutRect m_rect;
- bool m_affectedByRadius;
-};
-
-inline ClipRect intersection(const ClipRect& a, const ClipRect& b)
-{
- ClipRect c = a;
- c.intersect(b);
- return c;
-}
-
</del><span class="cx"> class ClipRects {
</span><span class="cx"> WTF_MAKE_FAST_ALLOCATED;
</span><span class="cx"> public:
</span><span class="lines">@@ -276,61 +224,6 @@
</span><span class="cx"> RefPtr<ClipRects> m_clipRects[NumCachedClipRectsTypes * 2];
</span><span class="cx"> };
</span><span class="cx">
</span><del>-struct LayerFragment {
-public:
- LayerFragment()
- : shouldPaintContent(false)
- , hasBoundingBox(false)
- { }
-
- void setRects(const LayoutRect& bounds, const ClipRect& background, const ClipRect& foreground, const ClipRect& outline, const LayoutRect* bbox)
- {
- layerBounds = bounds;
- backgroundRect = background;
- foregroundRect = foreground;
- outlineRect = outline;
- if (bbox) {
- boundingBox = *bbox;
- hasBoundingBox = true;
- }
- }
-
- void moveBy(const LayoutPoint& offset)
- {
- layerBounds.moveBy(offset);
- backgroundRect.moveBy(offset);
- foregroundRect.moveBy(offset);
- outlineRect.moveBy(offset);
- paginationClip.moveBy(offset);
- boundingBox.moveBy(offset);
- }
-
- void intersect(const LayoutRect& rect)
- {
- backgroundRect.intersect(rect);
- foregroundRect.intersect(rect);
- outlineRect.intersect(rect);
- boundingBox.intersect(rect);
- }
-
- bool shouldPaintContent;
- bool hasBoundingBox;
- LayoutRect layerBounds;
- ClipRect backgroundRect;
- ClipRect foregroundRect;
- ClipRect outlineRect;
- LayoutRect boundingBox;
-
- // Unique to paginated fragments. The physical translation to apply to shift the layer when painting/hit-testing.
- LayoutSize paginationOffset;
-
- // Also unique to paginated fragments. An additional clip that applies to the layer. It is in layer-local
- // (physical) coordinates.
- LayoutRect paginationClip;
-};
-
-typedef Vector<LayerFragment, 1> LayerFragments;
-
</del><span class="cx"> class RenderLayer final : public ScrollableArea {
</span><span class="cx"> WTF_MAKE_FAST_ALLOCATED;
</span><span class="cx"> public:
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderMultiColumnSeth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderMultiColumnSet.h (178480 => 178481)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderMultiColumnSet.h        2015-01-15 03:03:41 UTC (rev 178480)
+++ trunk/Source/WebCore/rendering/RenderMultiColumnSet.h        2015-01-15 03:04:40 UTC (rev 178481)
</span><span class="lines">@@ -27,6 +27,7 @@
</span><span class="cx"> #ifndef RenderMultiColumnSet_h
</span><span class="cx"> #define RenderMultiColumnSet_h
</span><span class="cx">
</span><ins>+#include "LayerFragment.h"
</ins><span class="cx"> #include "RenderMultiColumnFlowThread.h"
</span><span class="cx"> #include "RenderRegionSet.h"
</span><span class="cx"> #include <wtf/Vector.h>
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderRegionh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderRegion.h (178480 => 178481)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderRegion.h        2015-01-15 03:03:41 UTC (rev 178480)
+++ trunk/Source/WebCore/rendering/RenderRegion.h        2015-01-15 03:04:40 UTC (rev 178481)
</span><span class="lines">@@ -30,6 +30,7 @@
</span><span class="cx"> #ifndef RenderRegion_h
</span><span class="cx"> #define RenderRegion_h
</span><span class="cx">
</span><ins>+#include "LayerFragment.h"
</ins><span class="cx"> #include "RenderBlockFlow.h"
</span><span class="cx"> #include "StyleInheritedData.h"
</span><span class="cx"> #include "VisiblePosition.h"
</span><span class="lines">@@ -37,9 +38,6 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-struct LayerFragment;
-typedef Vector<LayerFragment, 1> LayerFragments;
-
</del><span class="cx"> class Element;
</span><span class="cx"> class RenderBox;
</span><span class="cx"> class RenderBoxRegionInfo;
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderTreeAsTextcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderTreeAsText.cpp (178480 => 178481)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderTreeAsText.cpp        2015-01-15 03:03:41 UTC (rev 178480)
+++ trunk/Source/WebCore/rendering/RenderTreeAsText.cpp        2015-01-15 03:04:40 UTC (rev 178481)
</span><span class="lines">@@ -26,6 +26,7 @@
</span><span class="cx"> #include "config.h"
</span><span class="cx"> #include "RenderTreeAsText.h"
</span><span class="cx">
</span><ins>+#include "ClipRect.h"
</ins><span class="cx"> #include "Document.h"
</span><span class="cx"> #include "FlowThreadController.h"
</span><span class="cx"> #include "Frame.h"
</span></span></pre>
</div>
</div>
</body>
</html>