| Index: Source/core/dom/DocumentMarkerController.cpp
|
| diff --git a/Source/core/dom/DocumentMarkerController.cpp b/Source/core/dom/DocumentMarkerController.cpp
|
| index 72e0133386837481c3deaa96ea610f5da47525ed..7ad6fcc2f351d7947056dcd16101c6be0250a3eb 100644
|
| --- a/Source/core/dom/DocumentMarkerController.cpp
|
| +++ b/Source/core/dom/DocumentMarkerController.cpp
|
| @@ -371,6 +371,17 @@ void DocumentMarkerController::removeMarkers(Node* node, unsigned startOffset, i
|
| node->renderer()->repaint();
|
| }
|
|
|
| +void DocumentMarkerController::clearWeakMembers(Visitor* visitor)
|
| +{
|
| + Vector<const Node*> deadNodes;
|
| + for (MarkerMap::iterator it = m_markers.begin(); it != m_markers.end(); ++it) {
|
| + if (!visitor->isAlive(it->key))
|
| + deadNodes.append(it->key);
|
| + }
|
| + for (unsigned i = 0; i < deadNodes.size(); ++i)
|
| + removeMarkers(const_cast<Node*>(deadNodes[i]));
|
| +}
|
| +
|
| DocumentMarker* DocumentMarkerController::markerContainingPoint(const LayoutPoint& point, DocumentMarker::MarkerType markerType)
|
| {
|
| if (!possiblyHasMarkers(markerType))
|
|
|