Merge pull request #226 from Tyriar/208_fix_ime_popup_pos

Reposition textview after composition view
This commit is contained in:
Daniel Imms 2016-08-17 08:50:41 -07:00 committed by GitHub
commit 04cb9f33ff
2 changed files with 9 additions and 2 deletions

View File

@ -302,7 +302,7 @@
* Positions the composition view on top of the cursor and the textarea just below it (so the
* IME helper dialog is positioned correctly).
*/
CompositionHelper.prototype.updateCompositionElements = function() {
CompositionHelper.prototype.updateCompositionElements = function(dontRecurse) {
if (!this.isComposing) {
return;
}
@ -310,9 +310,13 @@
if (cursor) {
this.compositionView.style.left = cursor.offsetLeft + 'px';
this.compositionView.style.top = cursor.offsetTop + 'px';
this.textarea.style.left = cursor.offsetLeft + 'px';
var compositionViewBounds = this.compositionView.getBoundingClientRect();
this.textarea.style.left = cursor.offsetLeft + compositionViewBounds.width + 'px';
this.textarea.style.top = (cursor.offsetTop + cursor.offsetHeight) + 'px';
}
if (!dontRecurse) {
setTimeout(this.updateCompositionElements.bind(this, true), 0);
}
};
/**

View File

@ -14,6 +14,9 @@ describe('CompositionHelper', function () {
add: function () {},
remove: function () {},
},
getBoundingClientRect: function () {
return { width: 0 }
},
style: {
left: 0,
top: 0