OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2011 Google Inc. All rights reserved. | 2 * Copyright (C) 2011 Google Inc. 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 are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 15 matching lines...) Expand all Loading... |
26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
29 */ | 29 */ |
30 | 30 |
31 #include "config.h" | 31 #include "config.h" |
32 #include "core/editing/RenderedPosition.h" | 32 #include "core/editing/RenderedPosition.h" |
33 | 33 |
34 #include "core/dom/Position.h" | 34 #include "core/dom/Position.h" |
35 #include "core/editing/VisiblePosition.h" | 35 #include "core/editing/VisiblePosition.h" |
| 36 #include "core/layout/Layer.h" |
36 #include "core/layout/compositing/CompositedSelectionBound.h" | 37 #include "core/layout/compositing/CompositedSelectionBound.h" |
37 #include "core/rendering/RenderLayer.h" | |
38 | 38 |
39 namespace blink { | 39 namespace blink { |
40 | 40 |
41 static inline RenderObject* rendererFromPosition(const Position& position) | 41 static inline RenderObject* rendererFromPosition(const Position& position) |
42 { | 42 { |
43 ASSERT(position.isNotNull()); | 43 ASSERT(position.isNotNull()); |
44 Node* rendererNode = nullptr; | 44 Node* rendererNode = nullptr; |
45 switch (position.anchorType()) { | 45 switch (position.anchorType()) { |
46 case Position::PositionIsOffsetInAnchor: | 46 case Position::PositionIsOffsetInAnchor: |
47 rendererNode = position.computeNodeAfterPosition(); | 47 rendererNode = position.computeNodeAfterPosition(); |
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
235 | 235 |
236 void RenderedPosition::positionInGraphicsLayerBacking(CompositedSelectionBound&
bound) const | 236 void RenderedPosition::positionInGraphicsLayerBacking(CompositedSelectionBound&
bound) const |
237 { | 237 { |
238 bound.layer = nullptr; | 238 bound.layer = nullptr; |
239 bound.edgeTopInLayer = bound.edgeBottomInLayer = FloatPoint(); | 239 bound.edgeTopInLayer = bound.edgeBottomInLayer = FloatPoint(); |
240 | 240 |
241 if (isNull()) | 241 if (isNull()) |
242 return; | 242 return; |
243 | 243 |
244 LayoutRect rect = m_renderer->localCaretRect(m_inlineBox, m_offset); | 244 LayoutRect rect = m_renderer->localCaretRect(m_inlineBox, m_offset); |
245 RenderLayer* layer = nullptr; | 245 Layer* layer = nullptr; |
246 bound.edgeTopInLayer = m_renderer->localToInvalidationBackingPoint(rect.minX
MinYCorner(), &layer); | 246 bound.edgeTopInLayer = m_renderer->localToInvalidationBackingPoint(rect.minX
MinYCorner(), &layer); |
247 bound.edgeBottomInLayer = m_renderer->localToInvalidationBackingPoint(rect.m
inXMaxYCorner(), nullptr); | 247 bound.edgeBottomInLayer = m_renderer->localToInvalidationBackingPoint(rect.m
inXMaxYCorner(), nullptr); |
248 bound.layer = layer ? layer->graphicsLayerBacking() : nullptr; | 248 bound.layer = layer ? layer->graphicsLayerBacking() : nullptr; |
249 } | 249 } |
250 | 250 |
251 bool renderObjectContainsPosition(RenderObject* target, const Position& position
) | 251 bool renderObjectContainsPosition(RenderObject* target, const Position& position
) |
252 { | 252 { |
253 for (RenderObject* renderer = rendererFromPosition(position); renderer && re
nderer->node(); renderer = renderer->parent()) { | 253 for (RenderObject* renderer = rendererFromPosition(position); renderer && re
nderer->node(); renderer = renderer->parent()) { |
254 if (renderer == target) | 254 if (renderer == target) |
255 return true; | 255 return true; |
256 } | 256 } |
257 return false; | 257 return false; |
258 } | 258 } |
259 | 259 |
260 }; | 260 }; |
OLD | NEW |