OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2012 Google Inc. All rights reserved. | 2 * Copyright (C) 2012 Google Inc. All rights reserved. |
3 * Copyright (C) 2013 Apple Inc. All rights reserved. | 3 * Copyright (C) 2013 Apple Inc. All rights reserved. |
4 * | 4 * |
5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
6 * modification, are permitted provided that the following conditions | 6 * modification, are permitted provided that the following conditions |
7 * are met: | 7 * are met: |
8 * | 8 * |
9 * 1. Redistributions of source code must retain the above copyright | 9 * 1. Redistributions of source code must retain the above copyright |
10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
(...skipping 787 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
798 | 798 |
799 unsigned Internals::activeMarkerCountForNode(Node* node, ExceptionState& excepti
onState) | 799 unsigned Internals::activeMarkerCountForNode(Node* node, ExceptionState& excepti
onState) |
800 { | 800 { |
801 if (!node) { | 801 if (!node) { |
802 exceptionState.throwDOMException(InvalidAccessError, ExceptionMessages::
argumentNullOrIncorrectType(1, "Node")); | 802 exceptionState.throwDOMException(InvalidAccessError, ExceptionMessages::
argumentNullOrIncorrectType(1, "Node")); |
803 return 0; | 803 return 0; |
804 } | 804 } |
805 | 805 |
806 // Only TextMatch markers can be active. | 806 // Only TextMatch markers can be active. |
807 DocumentMarker::MarkerType markerType = DocumentMarker::TextMatch; | 807 DocumentMarker::MarkerType markerType = DocumentMarker::TextMatch; |
808 Vector<DocumentMarker*> markers = node->document().markers().markersFor(node
, markerType); | 808 WillBeHeapVector<DocumentMarker*> markers = node->document().markers().marke
rsFor(node, markerType); |
809 | 809 |
810 unsigned activeMarkerCount = 0; | 810 unsigned activeMarkerCount = 0; |
811 for (Vector<DocumentMarker*>::iterator iter = markers.begin(); iter != marke
rs.end(); ++iter) { | 811 for (WillBeHeapVector<DocumentMarker*>::iterator iter = markers.begin(); ite
r != markers.end(); ++iter) { |
812 if ((*iter)->activeMatch()) | 812 if ((*iter)->activeMatch()) |
813 activeMarkerCount++; | 813 activeMarkerCount++; |
814 } | 814 } |
815 | 815 |
816 return activeMarkerCount; | 816 return activeMarkerCount; |
817 } | 817 } |
818 | 818 |
819 DocumentMarker* Internals::markerAt(Node* node, const String& markerType, unsign
ed index, ExceptionState& exceptionState) | 819 DocumentMarker* Internals::markerAt(Node* node, const String& markerType, unsign
ed index, ExceptionState& exceptionState) |
820 { | 820 { |
821 if (!node) { | 821 if (!node) { |
822 exceptionState.throwDOMException(InvalidAccessError, ExceptionMessages::
argumentNullOrIncorrectType(1, "Node")); | 822 exceptionState.throwDOMException(InvalidAccessError, ExceptionMessages::
argumentNullOrIncorrectType(1, "Node")); |
823 return 0; | 823 return 0; |
824 } | 824 } |
825 | 825 |
826 DocumentMarker::MarkerTypes markerTypes = 0; | 826 DocumentMarker::MarkerTypes markerTypes = 0; |
827 if (!markerTypesFrom(markerType, markerTypes)) { | 827 if (!markerTypesFrom(markerType, markerTypes)) { |
828 exceptionState.throwDOMException(SyntaxError, "The marker type provided
('" + markerType + "') is invalid."); | 828 exceptionState.throwDOMException(SyntaxError, "The marker type provided
('" + markerType + "') is invalid."); |
829 return 0; | 829 return 0; |
830 } | 830 } |
831 | 831 |
832 Vector<DocumentMarker*> markers = node->document().markers().markersFor(node
, markerTypes); | 832 WillBeHeapVector<DocumentMarker*> markers = node->document().markers().marke
rsFor(node, markerTypes); |
833 if (markers.size() <= index) | 833 if (markers.size() <= index) |
834 return 0; | 834 return 0; |
835 return markers[index]; | 835 return markers[index]; |
836 } | 836 } |
837 | 837 |
838 PassRefPtrWillBeRawPtr<Range> Internals::markerRangeForNode(Node* node, const St
ring& markerType, unsigned index, ExceptionState& exceptionState) | 838 PassRefPtrWillBeRawPtr<Range> Internals::markerRangeForNode(Node* node, const St
ring& markerType, unsigned index, ExceptionState& exceptionState) |
839 { | 839 { |
840 DocumentMarker* marker = markerAt(node, markerType, index, exceptionState); | 840 DocumentMarker* marker = markerAt(node, markerType, index, exceptionState); |
841 if (!marker) | 841 if (!marker) |
842 return nullptr; | 842 return nullptr; |
(...skipping 1485 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2328 String Internals::textSurroundingNode(Node* node, int x, int y, unsigned long ma
xLength) | 2328 String Internals::textSurroundingNode(Node* node, int x, int y, unsigned long ma
xLength) |
2329 { | 2329 { |
2330 if (!node) | 2330 if (!node) |
2331 return String(); | 2331 return String(); |
2332 blink::WebPoint point(x, y); | 2332 blink::WebPoint point(x, y); |
2333 SurroundingText surroundingText(VisiblePosition(node->renderer()->positionFo
rPoint(static_cast<IntPoint>(point))), maxLength); | 2333 SurroundingText surroundingText(VisiblePosition(node->renderer()->positionFo
rPoint(static_cast<IntPoint>(point))), maxLength); |
2334 return surroundingText.content(); | 2334 return surroundingText.content(); |
2335 } | 2335 } |
2336 | 2336 |
2337 } | 2337 } |
OLD | NEW |