| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2011 Adobe Systems Incorporated. All rights reserved. | 2 * Copyright (C) 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. |
| (...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 142 LayoutRect boundingRectInFlowThread(offsetFromFlowThread, | 142 LayoutRect boundingRectInFlowThread(offsetFromFlowThread, |
| 143 descendant.frameRect().size()); | 143 descendant.frameRect().size()); |
| 144 // Set up a fragments relative to the descendant, in the flow thread | 144 // Set up a fragments relative to the descendant, in the flow thread |
| 145 // coordinate space, and convert each of them, individually, to absolute | 145 // coordinate space, and convert each of them, individually, to absolute |
| 146 // coordinates. | 146 // coordinates. |
| 147 for (FragmentainerIterator iterator(*this, boundingRectInFlowThread); | 147 for (FragmentainerIterator iterator(*this, boundingRectInFlowThread); |
| 148 !iterator.atEnd(); iterator.advance()) { | 148 !iterator.atEnd(); iterator.advance()) { |
| 149 LayoutRect fragment = boundingRectInFlowThread; | 149 LayoutRect fragment = boundingRectInFlowThread; |
| 150 // We use inclusiveIntersect() because intersect() would reset the | 150 // We use inclusiveIntersect() because intersect() would reset the |
| 151 // coordinates for zero-height objects. | 151 // coordinates for zero-height objects. |
| 152 fragment.inclusiveIntersect(iterator.fragmentainerInFlowThread()); | 152 LayoutRect clipRect = iterator.clipRectInFlowThread( |
| 153 MultiColumnFragmentainerGroup::BlockDirectionAxis); |
| 154 fragment.inclusiveIntersect(clipRect); |
| 153 fragment.moveBy(-offsetFromFlowThread); | 155 fragment.moveBy(-offsetFromFlowThread); |
| 154 quads.push_back(descendant.localToAbsoluteQuad(FloatRect(fragment), mode)); | 156 quads.push_back(descendant.localToAbsoluteQuad(FloatRect(fragment), mode)); |
| 155 } | 157 } |
| 156 } | 158 } |
| 157 | 159 |
| 158 bool LayoutFlowThread::nodeAtPoint(HitTestResult& result, | 160 bool LayoutFlowThread::nodeAtPoint(HitTestResult& result, |
| 159 const HitTestLocation& locationInContainer, | 161 const HitTestLocation& locationInContainer, |
| 160 const LayoutPoint& accumulatedOffset, | 162 const LayoutPoint& accumulatedOffset, |
| 161 HitTestAction hitTestAction) { | 163 HitTestAction hitTestAction) { |
| 162 if (hitTestAction == HitTestBlockBackground) | 164 if (hitTestAction == HitTestBlockBackground) |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 242 | 244 |
| 243 void LayoutFlowThread::MultiColumnSetSearchAdapter::collectIfNeeded( | 245 void LayoutFlowThread::MultiColumnSetSearchAdapter::collectIfNeeded( |
| 244 const MultiColumnSetInterval& interval) { | 246 const MultiColumnSetInterval& interval) { |
| 245 if (m_result) | 247 if (m_result) |
| 246 return; | 248 return; |
| 247 if (interval.low() <= m_offset && interval.high() > m_offset) | 249 if (interval.low() <= m_offset && interval.high() > m_offset) |
| 248 m_result = interval.data(); | 250 m_result = interval.data(); |
| 249 } | 251 } |
| 250 | 252 |
| 251 } // namespace blink | 253 } // namespace blink |
| OLD | NEW |