diff options
Diffstat (limited to 'Source/WebKit/android/jni/WebViewCore.cpp')
-rw-r--r-- | Source/WebKit/android/jni/WebViewCore.cpp | 14 |
1 files changed, 2 insertions, 12 deletions
diff --git a/Source/WebKit/android/jni/WebViewCore.cpp b/Source/WebKit/android/jni/WebViewCore.cpp index 43b0f1d..fd1a833 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<int>::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<IntRect> 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; |