From 4b742e0b2c2d5e79a987688fd7d2cce5b0b24842 Mon Sep 17 00:00:00 2001 From: John Reck Date: Tue, 31 Jan 2012 13:17:36 -0800 Subject: Minor draw extras cleanup and refactor Change-Id: Iba601e384549c11cf659a47e06c586048f624148 --- Source/WebKit/android/jni/WebViewCore.cpp | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) (limited to 'Source/WebKit/android/jni/WebViewCore.cpp') diff --git a/Source/WebKit/android/jni/WebViewCore.cpp b/Source/WebKit/android/jni/WebViewCore.cpp index cb08171..95b8dd6 100644 --- a/Source/WebKit/android/jni/WebViewCore.cpp +++ b/Source/WebKit/android/jni/WebViewCore.cpp @@ -1811,20 +1811,10 @@ SelectText* WebViewCore::createSelectText(const VisibleSelection& selection) int startOffset = node == startContainer ? range->startOffset() : 0; int endOffset = node == endContainer ? range->endOffset() : numeric_limits::max(); LayerAndroid* layer = 0; - int layerId = platformLayerIdFromNode(node, &layer); - SkRegion* region = selectTextContainer->getHightlightRegionsForLayer(layerId); - bool needsSet = false; - if (!region) - selectTextContainer->setHighlightRegionsForLayer(layerId, region = new SkRegion()); + platformLayerIdFromNode(node, &layer); Vector rects; renderText->absoluteRectsForRange(rects, startOffset, endOffset, true); - IntPoint offset; - layerToAbsoluteOffset(layer, offset); - for (size_t i = 0; i < rects.size(); i++) { - IntRect& r = rects.at(i); - r.move(-offset.x(), -offset.y()); - region->op(r.x(), r.y(), r.maxX(), r.maxY(), SkRegion::kUnion_Op); - } + selectTextContainer->addHighlightRegion(layer, rects); } IntRect caretRect; -- cgit v1.1