DocumentMarker marker = list->at(i);
if (marker.startOffset() > toInsert.startOffset())
break;
+#if ENABLE(TIZEN_FIND_STRING)
+ // We should not encompass the new marker to exist markers when the new markers's start offset
+ // is equal to exist markers' endOffset. Markers should be seperately created to set highlight
+ // each markers distinguishable. For example, consecutive same characters with different ragne
+ // should be marked differently.
+ if (marker.type() == toInsert.type() && marker.endOffset() > toInsert.startOffset()) {
+#else
if (marker.type() == toInsert.type() && marker.endOffset() >= toInsert.startOffset()) {
+#endif
toInsert.setStartOffset(marker.startOffset());
list->remove(i);
numMarkers--;
break;
// Skip marker that is wrong type or before target.
+#if ENABLE(TIZEN_FIND_STRING)
+ // We should skip the overlaping marker.
+ if (marker.endOffset() <= startOffset || marker.type() != DocumentMarker::TextMatch)
+#else
if (marker.endOffset() < startOffset || marker.type() != DocumentMarker::TextMatch)
+#endif
continue;
marker.setActiveMatch(active);
m_activeMatch->firstNode()->renderer()->scrollRectToVisible(m_activeMatch->boundingBox(),
ScrollAlignment::alignCenterIfNeeded, ScrollAlignment::alignCenterIfNeeded);
- frame->document()->markers()->addTextMatchMarker(m_activeMatch.get(), true);
frame->document()->markers()->setMarkersActive(m_activeMatch.get(), true);
}
#endif