| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 1998, 1999 Torben Weis <weis@kde.org> | 2 * Copyright (C) 1998, 1999 Torben Weis <weis@kde.org> |
| 3 * 1999 Lars Knoll <knoll@kde.org> | 3 * 1999 Lars Knoll <knoll@kde.org> |
| 4 * 1999 Antti Koivisto <koivisto@kde.org> | 4 * 1999 Antti Koivisto <koivisto@kde.org> |
| 5 * 2000 Simon Hausmann <hausmann@kde.org> | 5 * 2000 Simon Hausmann <hausmann@kde.org> |
| 6 * 2000 Stefan Schimanski <1Stein@gmx.de> | 6 * 2000 Stefan Schimanski <1Stein@gmx.de> |
| 7 * 2001 George Staikos <staikos@kde.org> | 7 * 2001 George Staikos <staikos@kde.org> |
| 8 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All r
ights reserved. | 8 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All r
ights reserved. |
| 9 * Copyright (C) 2005 Alexey Proskuryakov <ap@nypop.com> | 9 * Copyright (C) 2005 Alexey Proskuryakov <ap@nypop.com> |
| 10 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) | 10 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) |
| (...skipping 654 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 665 String LocalFrame::selectedText() const | 665 String LocalFrame::selectedText() const |
| 666 { | 666 { |
| 667 return selection().selectedText(); | 667 return selection().selectedText(); |
| 668 } | 668 } |
| 669 | 669 |
| 670 String LocalFrame::selectedTextForClipboard() const | 670 String LocalFrame::selectedTextForClipboard() const |
| 671 { | 671 { |
| 672 return selection().selectedTextForClipboard(); | 672 return selection().selectedTextForClipboard(); |
| 673 } | 673 } |
| 674 | 674 |
| 675 VisiblePosition LocalFrame::visiblePositionForPoint(const IntPoint& framePoint) | 675 PositionWithAffinity LocalFrame::positionForPoint(const IntPoint& framePoint) |
| 676 { | 676 { |
| 677 HitTestResult result = eventHandler().hitTestResultAtPoint(framePoint); | 677 HitTestResult result = eventHandler().hitTestResultAtPoint(framePoint); |
| 678 Node* node = result.innerNodeOrImageMapImage(); | 678 Node* node = result.innerNodeOrImageMapImage(); |
| 679 if (!node) | 679 if (!node) |
| 680 return VisiblePosition(); | 680 return PositionWithAffinity(); |
| 681 LayoutObject* layoutObject = node->layoutObject(); | 681 LayoutObject* layoutObject = node->layoutObject(); |
| 682 if (!layoutObject) | 682 if (!layoutObject) |
| 683 return VisiblePosition(); | 683 return PositionWithAffinity(); |
| 684 VisiblePosition visiblePos = VisiblePosition(layoutObject->positionForPoint(
result.localPoint())); | 684 const PositionWithAffinity position = layoutObject->positionForPoint(result.
localPoint()); |
| 685 if (visiblePos.isNull()) | 685 if (position.isNull()) |
| 686 visiblePos = VisiblePosition(firstPositionInOrBeforeNode(node)); | 686 return PositionWithAffinity(firstPositionInOrBeforeNode(node)); |
| 687 return visiblePos; | 687 return position; |
| 688 } | 688 } |
| 689 | 689 |
| 690 Document* LocalFrame::documentAtPoint(const IntPoint& pointInRootFrame) | 690 Document* LocalFrame::documentAtPoint(const IntPoint& pointInRootFrame) |
| 691 { | 691 { |
| 692 if (!view()) | 692 if (!view()) |
| 693 return nullptr; | 693 return nullptr; |
| 694 | 694 |
| 695 IntPoint pt = view()->rootFrameToContents(pointInRootFrame); | 695 IntPoint pt = view()->rootFrameToContents(pointInRootFrame); |
| 696 | 696 |
| 697 if (!contentLayoutObject()) | 697 if (!contentLayoutObject()) |
| 698 return nullptr; | 698 return nullptr; |
| 699 HitTestResult result = eventHandler().hitTestResultAtPoint(pt, HitTestReques
t::ReadOnly | HitTestRequest::Active); | 699 HitTestResult result = eventHandler().hitTestResultAtPoint(pt, HitTestReques
t::ReadOnly | HitTestRequest::Active); |
| 700 return result.innerNode() ? &result.innerNode()->document() : nullptr; | 700 return result.innerNode() ? &result.innerNode()->document() : nullptr; |
| 701 } | 701 } |
| 702 | 702 |
| 703 EphemeralRange LocalFrame::rangeForPoint(const IntPoint& framePoint) | 703 EphemeralRange LocalFrame::rangeForPoint(const IntPoint& framePoint) |
| 704 { | 704 { |
| 705 VisiblePosition position = visiblePositionForPoint(framePoint); | 705 const PositionWithAffinity positionWithAffinity = positionForPoint(framePoin
t); |
| 706 if (position.isNull()) | 706 if (positionWithAffinity.isNull()) |
| 707 return EphemeralRange(); | 707 return EphemeralRange(); |
| 708 | 708 |
| 709 VisiblePosition position(positionWithAffinity); |
| 709 VisiblePosition previous = position.previous(); | 710 VisiblePosition previous = position.previous(); |
| 710 if (previous.isNotNull()) { | 711 if (previous.isNotNull()) { |
| 711 const EphemeralRange previousCharacterRange = makeRange(previous, positi
on); | 712 const EphemeralRange previousCharacterRange = makeRange(previous, positi
on); |
| 712 IntRect rect = editor().firstRectForRange(previousCharacterRange); | 713 IntRect rect = editor().firstRectForRange(previousCharacterRange); |
| 713 if (rect.contains(framePoint)) | 714 if (rect.contains(framePoint)) |
| 714 return EphemeralRange(previousCharacterRange); | 715 return EphemeralRange(previousCharacterRange); |
| 715 } | 716 } |
| 716 | 717 |
| 717 VisiblePosition next = position.next(); | 718 VisiblePosition next = position.next(); |
| 718 const EphemeralRange nextCharacterRange = makeRange(position, next); | 719 const EphemeralRange nextCharacterRange = makeRange(position, next); |
| (...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 852 { | 853 { |
| 853 if (isLocalRoot()) | 854 if (isLocalRoot()) |
| 854 m_instrumentingAgents = InstrumentingAgents::create(); | 855 m_instrumentingAgents = InstrumentingAgents::create(); |
| 855 else | 856 else |
| 856 m_instrumentingAgents = localFrameRoot()->m_instrumentingAgents; | 857 m_instrumentingAgents = localFrameRoot()->m_instrumentingAgents; |
| 857 } | 858 } |
| 858 | 859 |
| 859 DEFINE_WEAK_IDENTIFIER_MAP(LocalFrame); | 860 DEFINE_WEAK_IDENTIFIER_MAP(LocalFrame); |
| 860 | 861 |
| 861 } // namespace blink | 862 } // namespace blink |
| OLD | NEW |