Esanders has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/253278

Change subject: Range offsets: Special case when adjacent to a nail
......................................................................

Range offsets: Special case when adjacent to a nail

Bug: T118623
Change-Id: Icbc5f4d046c12d0b49524389fbe00711db5a2645
---
M src/ce/ve.ce.Surface.js
1 file changed, 12 insertions(+), 6 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/VisualEditor/VisualEditor 
refs/changes/78/253278/1

diff --git a/src/ce/ve.ce.Surface.js b/src/ce/ve.ce.Surface.js
index 919e63a..b8b3881 100644
--- a/src/ce/ve.ce.Surface.js
+++ b/src/ce/ve.ce.Surface.js
@@ -373,14 +373,20 @@
  */
 ve.ce.Surface.prototype.getNodeClientRectFromRange = function ( range ) {
        var rect, side, x, adjacentNode, unicornRect,
-               node = range.endContainer;
+               node = range.endContainer,
+               offset = range.endOffset,
+               leftNode = offset > 0 && node.childNodes[ offset - 1 ];
 
-       while ( node && node.nodeType !== Node.ELEMENT_NODE ) {
-               node = node.parentNode;
-       }
+       if ( leftNode && leftNode.nodeType === Node.ELEMENT_NODE && 
leftNode.classList.contains( 've-ce-nail' ) ) {
+               node = leftNode;
+       } else {
+               while ( node && node.nodeType !== Node.ELEMENT_NODE ) {
+                       node = node.parentNode;
+               }
 
-       if ( !node ) {
-               return null;
+               if ( !node ) {
+                       return null;
+               }
        }
 
        // When possible, pretend the cursor is the left/right border of the 
node

-- 
To view, visit https://gerrit.wikimedia.org/r/253278
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Icbc5f4d046c12d0b49524389fbe00711db5a2645
Gerrit-PatchSet: 1
Gerrit-Project: VisualEditor/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Esanders <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to