Skip to content

Commit e3356ec

Browse files
committed
Revert of Revert of Temporarily let DocumentMakerController use invalidatePaintForWholeRenderer (patchset #2 id:70001 of https://codereview.chromium.org/574773002/)
Reason for revert: The RenderText change needs to be reverted because it causes failure of some chromium browsertest. Original issue's description: > Revert of Temporarily let DocumentMakerController use invalidatePaintForWholeRenderer (patchset #3 id:60001 of https://codereview.chromium.org/499493003/) > > Reason for revert: > We have fixed the RenderText invalidation issue (crbug.com/394133). > > Original issue's description: > > Temporarily let DocumentMakerController use invalidatePaintForWholeRenderer > > > > setShouldDoFullPaintInvalidation doesn't work for RenderText yet. > > > > BUG=405501 > > > > Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=180877 > > TBR=jchaffraix@chromium.org,esprehn@chromium.org,leviw@chromium.org > BUG=405501 > > Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=182089 TBR=jchaffraix@chromium.org,esprehn@chromium.org,leviw@chromium.org NOTREECHECKS=true NOTRY=true BUG=405501 Review URL: https://codereview.chromium.org/574913002 git-svn-id: svn://svn.chromium.org/blink/trunk@182126 bbb929c8-8fbe-4397-9dbb-9b2b20218538
1 parent 08cf9e1 commit e3356ec

File tree

2 files changed

+9
-7
lines changed

2 files changed

+9
-7
lines changed

Source/core/dom/DocumentMarkerController.cpp

+7-7
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@ void DocumentMarkerController::addMarker(Node* node, const DocumentMarker& newMa
235235

236236
// repaint the affected node
237237
if (node->renderer())
238-
node->renderer()->setShouldDoFullPaintInvalidation(true);
238+
node->renderer()->doNotUseInvalidatePaintForWholeRendererSynchronously();
239239
}
240240

241241
void DocumentMarkerController::mergeOverlapping(MarkerList* list, DocumentMarker& toInsert)
@@ -296,7 +296,7 @@ void DocumentMarkerController::copyMarkers(Node* srcNode, unsigned startOffset,
296296

297297
// repaint the affected node
298298
if (docDirty && dstNode->renderer())
299-
dstNode->renderer()->setShouldDoFullPaintInvalidation(true);
299+
dstNode->renderer()->doNotUseInvalidatePaintForWholeRendererSynchronously();
300300
}
301301

302302
void DocumentMarkerController::removeMarkers(Node* node, unsigned startOffset, int length, DocumentMarker::MarkerTypes markerTypes, RemovePartiallyOverlappingMarkerOrNot shouldRemovePartiallyOverlappingMarker)
@@ -377,7 +377,7 @@ void DocumentMarkerController::removeMarkers(Node* node, unsigned startOffset, i
377377

378378
// repaint the affected node
379379
if (docDirty && node->renderer())
380-
node->renderer()->setShouldDoFullPaintInvalidation(true);
380+
node->renderer()->doNotUseInvalidatePaintForWholeRendererSynchronously();
381381
}
382382

383383
DocumentMarker* DocumentMarkerController::markerContainingPoint(const LayoutPoint& point, DocumentMarker::MarkerType markerType)
@@ -586,7 +586,7 @@ void DocumentMarkerController::removeMarkersFromList(MarkerMap::iterator iterato
586586

587587
if (needsRepainting) {
588588
if (RenderObject* renderer = iterator->key->renderer())
589-
renderer->setShouldDoFullPaintInvalidation(true);
589+
renderer->doNotUseInvalidatePaintForWholeRendererSynchronously();
590590
}
591591

592592
if (nodeCanBeRemoved) {
@@ -616,7 +616,7 @@ void DocumentMarkerController::repaintMarkers(DocumentMarker::MarkerTypes marker
616616

617617
// cause the node to be redrawn
618618
if (RenderObject* renderer = node->renderer()) {
619-
renderer->setShouldDoFullPaintInvalidation(true);
619+
renderer->doNotUseInvalidatePaintForWholeRendererSynchronously();
620620
break;
621621
}
622622
}
@@ -670,7 +670,7 @@ void DocumentMarkerController::shiftMarkers(Node* node, unsigned startOffset, in
670670

671671
// repaint the affected node
672672
if (docDirty && node->renderer())
673-
node->renderer()->setShouldDoFullPaintInvalidation(true);
673+
node->renderer()->doNotUseInvalidatePaintForWholeRendererSynchronously();
674674
}
675675

676676
void DocumentMarkerController::setMarkersActive(Range* range, bool active)
@@ -714,7 +714,7 @@ void DocumentMarkerController::setMarkersActive(Node* node, unsigned startOffset
714714

715715
// repaint the affected node
716716
if (docDirty && node->renderer())
717-
node->renderer()->setShouldDoFullPaintInvalidation(true);
717+
node->renderer()->doNotUseInvalidatePaintForWholeRendererSynchronously();
718718
}
719719

720720
bool DocumentMarkerController::hasMarkers(Range* range, DocumentMarker::MarkerTypes markerTypes)

Source/core/rendering/RenderObject.h

+2
Original file line numberDiff line numberDiff line change
@@ -1079,6 +1079,8 @@ class RenderObject : public NoBaseWillBeGarbageCollectedFinalized<RenderObject>,
10791079
void setNeedsOverflowRecalcAfterStyleChange();
10801080
void markContainingBlocksForOverflowRecalc();
10811081

1082+
// FIXME: This is temporary for cases that setShouldDoFullPaintInvalidation(true) doesn't work yet.
1083+
void doNotUseInvalidatePaintForWholeRendererSynchronously() const { invalidatePaintForWholeRenderer(); }
10821084
virtual LayoutRect viewRect() const;
10831085

10841086
// FIXME: make this not public.

0 commit comments

Comments
 (0)