Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(18)

Side by Side Diff: Source/WebCore/rendering/RenderRegion.cpp

Issue 9371032: Merge 106694 (Closed) Base URL: http://svn.webkit.org/repository/webkit/branches/chromium/1025/
Patch Set: Created 8 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « Source/WebCore/rendering/RenderRegion.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2011 Adobe Systems Incorporated. All Rights Reserved. 2 * Copyright 2011 Adobe Systems Incorporated. All Rights Reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 7 *
8 * 1. Redistributions of source code must retain the above 8 * 1. Redistributions of source code must retain the above
9 * copyright notice, this list of conditions and the following 9 * copyright notice, this list of conditions and the following
10 * disclaimer. 10 * disclaimer.
11 * 2. Redistributions in binary form must reproduce the above 11 * 2. Redistributions in binary form must reproduce the above
12 * copyright notice, this list of conditions and the following 12 * copyright notice, this list of conditions and the following
13 * disclaimer in the documentation and/or other materials 13 * disclaimer in the documentation and/or other materials
14 * provided with the distribution. 14 * provided with the distribution.
15 * 15 *
16 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AS IS AND ANY 16 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER "AS IS" AND ANY
17 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 18 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
19 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE 19 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE
20 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, 20 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
21 * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 21 * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
22 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 22 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
23 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 23 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR 24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
25 * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF 25 * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
26 * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 26 * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
(...skipping 13 matching lines...) Expand all
40 #include "RenderView.h" 40 #include "RenderView.h"
41 41
42 namespace WebCore { 42 namespace WebCore {
43 43
44 RenderRegion::RenderRegion(Node* node, RenderFlowThread* flowThread) 44 RenderRegion::RenderRegion(Node* node, RenderFlowThread* flowThread)
45 : RenderReplaced(node, IntSize()) 45 : RenderReplaced(node, IntSize())
46 , m_flowThread(flowThread) 46 , m_flowThread(flowThread)
47 , m_parentFlowThread(0) 47 , m_parentFlowThread(0)
48 , m_isValid(false) 48 , m_isValid(false)
49 , m_hasCustomRegionStyle(false) 49 , m_hasCustomRegionStyle(false)
50 #ifndef NDEBUG
51 , m_insideRegionPaint(false)
52 #endif
53 { 50 {
54 } 51 }
55 52
56 LayoutRect RenderRegion::regionOverflowRect() const 53 LayoutRect RenderRegion::regionOverflowRect() const
57 { 54 {
58 // FIXME: Would like to just use hasOverflowClip() but we aren't a block yet . When RenderRegion is eliminated and 55 // FIXME: Would like to just use hasOverflowClip() but we aren't a block yet . When RenderRegion is eliminated and
59 // folded into RenderBlock, switch to hasOverflowClip(). 56 // folded into RenderBlock, switch to hasOverflowClip().
60 bool clipX = style()->overflowX() != OVISIBLE; 57 bool clipX = style()->overflowX() != OVISIBLE;
61 bool clipY = style()->overflowY() != OVISIBLE; 58 bool clipY = style()->overflowY() != OVISIBLE;
62 if ((clipX && clipY) || !isValid() || !m_flowThread) 59 if ((clipX && clipY) || !isValid() || !m_flowThread)
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
127 m_renderBoxRegionStyle.set(box, boxRegionStyle); 124 m_renderBoxRegionStyle.set(box, boxRegionStyle);
128 } 125 }
129 } 126 }
130 127
131 void RenderRegion::paintReplaced(PaintInfo& paintInfo, const LayoutPoint& paintO ffset) 128 void RenderRegion::paintReplaced(PaintInfo& paintInfo, const LayoutPoint& paintO ffset)
132 { 129 {
133 // Delegate painting of content in region to RenderFlowThread. 130 // Delegate painting of content in region to RenderFlowThread.
134 if (!m_flowThread || !isValid()) 131 if (!m_flowThread || !isValid())
135 return; 132 return;
136 133
137 #ifndef NDEBUG
138 m_insideRegionPaint = true;
139 #endif
140
141 setRegionBoxesRegionStyle(); 134 setRegionBoxesRegionStyle();
142 m_flowThread->paintIntoRegion(paintInfo, this, LayoutPoint(paintOffset.x() + borderLeft() + paddingLeft(), paintOffset.y() + borderTop() + paddingTop())); 135 m_flowThread->paintIntoRegion(paintInfo, this, LayoutPoint(paintOffset.x() + borderLeft() + paddingLeft(), paintOffset.y() + borderTop() + paddingTop()));
143 restoreRegionBoxesOriginalStyle(); 136 restoreRegionBoxesOriginalStyle();
144
145 #ifndef NDEBUG
146 m_insideRegionPaint = false;
147 #endif
148 } 137 }
149 138
150 // Hit Testing 139 // Hit Testing
151 bool RenderRegion::nodeAtPoint(const HitTestRequest& request, HitTestResult& res ult, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction action) 140 bool RenderRegion::nodeAtPoint(const HitTestRequest& request, HitTestResult& res ult, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction action)
152 { 141 {
153 if (!isValid()) 142 if (!isValid())
154 return false; 143 return false;
155 144
156 LayoutPoint adjustedLocation = accumulatedOffset + location(); 145 LayoutPoint adjustedLocation = accumulatedOffset + location();
157 146
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
312 return renderBoxRegionStyle.release(); 301 return renderBoxRegionStyle.release();
313 } 302 }
314 303
315 void RenderRegion::clearBoxStyleInRegion(const RenderBox* box) 304 void RenderRegion::clearBoxStyleInRegion(const RenderBox* box)
316 { 305 {
317 ASSERT(box); 306 ASSERT(box);
318 m_renderBoxRegionStyle.remove(box); 307 m_renderBoxRegionStyle.remove(box);
319 } 308 }
320 309
321 } // namespace WebCore 310 } // namespace WebCore
OLDNEW
« no previous file with comments | « Source/WebCore/rendering/RenderRegion.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698