| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
| 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
| 4 * (C) 2001 Dirk Mueller (mueller@kde.org) | 4 * (C) 2001 Dirk Mueller (mueller@kde.org) |
| 5 * (C) 2006 Alexey Proskuryakov (ap@webkit.org) | 5 * (C) 2006 Alexey Proskuryakov (ap@webkit.org) |
| 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights | 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights |
| 7 * reserved. | 7 * reserved. |
| 8 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. | 8 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. |
| 9 * (http://www.torchmobile.com/) | 9 * (http://www.torchmobile.com/) |
| 10 * Copyright (C) Research In Motion Limited 2010. All rights reserved. | 10 * Copyright (C) Research In Motion Limited 2010. All rights reserved. |
| (...skipping 422 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 433 | 433 |
| 434 void DocumentMarkerController::UpdateMarkerRenderedRectIfNeeded( | 434 void DocumentMarkerController::UpdateMarkerRenderedRectIfNeeded( |
| 435 const Node& node, | 435 const Node& node, |
| 436 RenderedDocumentMarker& marker) { | 436 RenderedDocumentMarker& marker) { |
| 437 DCHECK(!document_->View() || !document_->View()->NeedsLayout()); | 437 DCHECK(!document_->View() || !document_->View()->NeedsLayout()); |
| 438 DCHECK(!document_->NeedsLayoutTreeUpdate()); | 438 DCHECK(!document_->NeedsLayoutTreeUpdate()); |
| 439 if (!marker.IsValid()) | 439 if (!marker.IsValid()) |
| 440 UpdateMarkerRenderedRect(node, marker); | 440 UpdateMarkerRenderedRect(node, marker); |
| 441 } | 441 } |
| 442 | 442 |
| 443 void DocumentMarkerController::InvalidateRectsForMarkersInNode( | 443 void DocumentMarkerController::InvalidateRectsForTextMatchMarkersInNode( |
| 444 const Node& node) { | 444 const Node& node) { |
| 445 MarkerLists* markers = markers_.at(&node); | 445 MarkerLists* markers = markers_.at(&node); |
| 446 | 446 |
| 447 const DocumentMarkerList* const marker_list = | 447 const DocumentMarkerList* const marker_list = |
| 448 ListForType(markers, DocumentMarker::kTextMatch); | 448 ListForType(markers, DocumentMarker::kTextMatch); |
| 449 if (!marker_list || marker_list->IsEmpty()) | 449 if (!marker_list || marker_list->IsEmpty()) |
| 450 return; | 450 return; |
| 451 | 451 |
| 452 const HeapVector<Member<DocumentMarker>>& markers_in_list = | 452 const HeapVector<Member<DocumentMarker>>& markers_in_list = |
| 453 marker_list->GetMarkers(); | 453 marker_list->GetMarkers(); |
| 454 for (auto& marker : markers_in_list) | 454 for (auto& marker : markers_in_list) |
| 455 ToRenderedDocumentMarker(marker)->Invalidate(); | 455 ToRenderedDocumentMarker(marker)->Invalidate(); |
| 456 | 456 |
| 457 InvalidatePaintForTickmarks(node); | 457 InvalidatePaintForTickmarks(node); |
| 458 } | 458 } |
| 459 | 459 |
| 460 void DocumentMarkerController::InvalidateRectsForAllMarkers() { | 460 void DocumentMarkerController::InvalidateRectsForAllTextMatchMarkers() { |
| 461 for (auto& node_markers : markers_) { | 461 for (auto& node_markers : markers_) { |
| 462 const Node& node = *node_markers.key; | 462 const Node& node = *node_markers.key; |
| 463 InvalidateRectsForMarkersInNode(node); | 463 InvalidateRectsForTextMatchMarkersInNode(node); |
| 464 } | 464 } |
| 465 } | 465 } |
| 466 | 466 |
| 467 DEFINE_TRACE(DocumentMarkerController) { | 467 DEFINE_TRACE(DocumentMarkerController) { |
| 468 visitor->Trace(markers_); | 468 visitor->Trace(markers_); |
| 469 visitor->Trace(document_); | 469 visitor->Trace(document_); |
| 470 SynchronousMutationObserver::Trace(visitor); | 470 SynchronousMutationObserver::Trace(visitor); |
| 471 } | 471 } |
| 472 | 472 |
| 473 void DocumentMarkerController::RemoveMarkersForNode( | 473 void DocumentMarkerController::RemoveMarkersForNode( |
| (...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 715 continue; | 715 continue; |
| 716 | 716 |
| 717 if (list->ShiftMarkers(offset, old_length, new_length)) | 717 if (list->ShiftMarkers(offset, old_length, new_length)) |
| 718 did_shift_marker = true; | 718 did_shift_marker = true; |
| 719 } | 719 } |
| 720 | 720 |
| 721 if (!did_shift_marker) | 721 if (!did_shift_marker) |
| 722 return; | 722 return; |
| 723 if (!node->GetLayoutObject()) | 723 if (!node->GetLayoutObject()) |
| 724 return; | 724 return; |
| 725 InvalidateRectsForMarkersInNode(*node); | 725 InvalidateRectsForTextMatchMarkersInNode(*node); |
| 726 // repaint the affected node | 726 // repaint the affected node |
| 727 node->GetLayoutObject()->SetShouldDoFullPaintInvalidation(); | 727 node->GetLayoutObject()->SetShouldDoFullPaintInvalidation(); |
| 728 } | 728 } |
| 729 | 729 |
| 730 } // namespace blink | 730 } // namespace blink |
| 731 | 731 |
| 732 #ifndef NDEBUG | 732 #ifndef NDEBUG |
| 733 void showDocumentMarkers(const blink::DocumentMarkerController* controller) { | 733 void showDocumentMarkers(const blink::DocumentMarkerController* controller) { |
| 734 if (controller) | 734 if (controller) |
| 735 controller->ShowMarkers(); | 735 controller->ShowMarkers(); |
| 736 } | 736 } |
| 737 #endif | 737 #endif |
| OLD | NEW |