OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2009 Google Inc. All rights reserved. | 2 * Copyright (C) 2009 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 348 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
359 // To stop looking for the active tickmark, we set this flag. | 359 // To stop looking for the active tickmark, we set this flag. |
360 m_locatingActiveRect = false; | 360 m_locatingActiveRect = false; |
361 | 361 |
362 // Notify browser of new location for the selected rectangle. | 362 // Notify browser of new location for the selected rectangle. |
363 reportFindInPageSelection( | 363 reportFindInPageSelection( |
364 ownerFrame().frameView()->contentsToRootFrame(resultBounds), | 364 ownerFrame().frameView()->contentsToRootFrame(resultBounds), |
365 m_activeMatchIndex + 1, | 365 m_activeMatchIndex + 1, |
366 identifier); | 366 identifier); |
367 } | 367 } |
368 | 368 |
369 ownerFrame().frame()->document()->markers().addTextMatchMarker(resultRan
ge, foundActiveMatch); | 369 ownerFrame().frame()->document()->markers().addTextMatchMarker(Ephemeral
Range(resultRange), foundActiveMatch); |
370 | 370 |
371 m_findMatchesCache.append(FindMatch(resultRange, m_lastMatchCount + matc
hCount)); | 371 m_findMatchesCache.append(FindMatch(resultRange, m_lastMatchCount + matc
hCount)); |
372 | 372 |
373 // Set the new start for the search range to be the end of the previous | 373 // Set the new start for the search range to be the end of the previous |
374 // result range. There is no need to use a VisiblePosition here, | 374 // result range. There is no need to use a VisiblePosition here, |
375 // since findPlainText will use a TextIterator to go over the visible | 375 // since findPlainText will use a TextIterator to go over the visible |
376 // text nodes. | 376 // text nodes. |
377 searchStart = result.endPosition(); | 377 searchStart = result.endPosition(); |
378 | 378 |
379 m_resumeScopingFromRange = Range::create(result.document(), toPositionIn
DOMTree(result.endPosition()), toPositionInDOMTree(result.endPosition())); | 379 m_resumeScopingFromRange = Range::create(result.document(), toPositionIn
DOMTree(result.endPosition()), toPositionInDOMTree(result.endPosition())); |
(...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
655 } | 655 } |
656 | 656 |
657 TextFinder::~TextFinder() | 657 TextFinder::~TextFinder() |
658 { | 658 { |
659 } | 659 } |
660 | 660 |
661 bool TextFinder::setMarkerActive(Range* range, bool active) | 661 bool TextFinder::setMarkerActive(Range* range, bool active) |
662 { | 662 { |
663 if (!range || range->collapsed()) | 663 if (!range || range->collapsed()) |
664 return false; | 664 return false; |
665 return ownerFrame().frame()->document()->markers().setMarkersActive(range, a
ctive); | 665 return ownerFrame().frame()->document()->markers().setMarkersActive(Ephemera
lRange(range), active); |
666 } | 666 } |
667 | 667 |
668 void TextFinder::unmarkAllTextMatches() | 668 void TextFinder::unmarkAllTextMatches() |
669 { | 669 { |
670 LocalFrame* frame = ownerFrame().frame(); | 670 LocalFrame* frame = ownerFrame().frame(); |
671 if (frame && frame->page() && frame->editor().markedTextMatchesAreHighlighte
d()) | 671 if (frame && frame->page() && frame->editor().markedTextMatchesAreHighlighte
d()) |
672 frame->document()->markers().removeMarkers(DocumentMarker::TextMatch); | 672 frame->document()->markers().removeMarkers(DocumentMarker::TextMatch); |
673 } | 673 } |
674 | 674 |
675 bool TextFinder::shouldScopeMatches(const String& searchText) | 675 bool TextFinder::shouldScopeMatches(const String& searchText) |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
739 DEFINE_TRACE(TextFinder) | 739 DEFINE_TRACE(TextFinder) |
740 { | 740 { |
741 visitor->trace(m_ownerFrame); | 741 visitor->trace(m_ownerFrame); |
742 visitor->trace(m_activeMatch); | 742 visitor->trace(m_activeMatch); |
743 visitor->trace(m_resumeScopingFromRange); | 743 visitor->trace(m_resumeScopingFromRange); |
744 visitor->trace(m_deferredScopingWork); | 744 visitor->trace(m_deferredScopingWork); |
745 visitor->trace(m_findMatchesCache); | 745 visitor->trace(m_findMatchesCache); |
746 } | 746 } |
747 | 747 |
748 } // namespace blink | 748 } // namespace blink |
OLD | NEW |