diff options
| author | Stephen Blott | 2015-02-02 08:27:27 +0000 |
|---|---|---|
| committer | Stephen Blott | 2015-02-02 08:27:27 +0000 |
| commit | edfe3d0ce2726e90559b200f607dc0dec48526b9 (patch) | |
| tree | 61319fd770c7d70a1fee52236871fcd37bf3cf28 | |
| parent | 2690f1df7b568de66354b3c3bb6baacf896b951c (diff) | |
| download | vimium-edfe3d0ce2726e90559b200f607dc0dec48526b9.tar.bz2 | |
Visual/edit modes: WIP, scrolling content editable.
| -rw-r--r-- | content_scripts/mode_visual_edit.coffee | 10 | ||||
| -rw-r--r-- | content_scripts/scroller.coffee | 2 |
2 files changed, 11 insertions, 1 deletions
diff --git a/content_scripts/mode_visual_edit.coffee b/content_scripts/mode_visual_edit.coffee index 82e2b189..749559f7 100644 --- a/content_scripts/mode_visual_edit.coffee +++ b/content_scripts/mode_visual_edit.coffee @@ -437,7 +437,15 @@ class Movement extends CountPrefix if @element and DomUtils.isEditable @element if @element.clientHeight < @element.scrollHeight if @element.isContentEditable - # Help(smblott)! How do we do this? This case matters for Gmail and Google's inbox. + # WIP... + elementWithFocus = DomUtils.getElementWithFocus @selection, @getDirection() == backward + console.log elementWithFocus.innerHTML + position = elementWithFocus.getClientRects()[0].top - @element.getClientRects()[0].top + console.log "top", position + Scroller.scrollToPosition @element, position, 0 + position = elementWithFocus.getClientRects()[0].bottom - @element.getClientRects()[0].top + console.log "bottom", position + Scroller.scrollToPosition @element, position, 0 else position = if @getDirection() == backward then @element.selectionStart else @element.selectionEnd coords = DomUtils.getCaretCoordinates @element, position diff --git a/content_scripts/scroller.coffee b/content_scripts/scroller.coffee index f26f0b73..6d224814 100644 --- a/content_scripts/scroller.coffee +++ b/content_scripts/scroller.coffee @@ -265,10 +265,12 @@ Scroller = # Scroll down, "y". amount = top + 20 - (element.clientHeight + element.scrollTop) + console.log "y down", amount, 0 < amount CoreScroller.scroll element, "y", amount, false if 0 < amount # Scroll up, "y". amount = top - (element.scrollTop) - 5 + console.log "y up", amount, amount < 0 CoreScroller.scroll element, "y", amount, false if amount < 0 # Scroll down, "x". |
