mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 1209841 - Improve move_caret_by_offset() in selection.py. r=automatedtester
* Incorporate the for-loop in python into javascript so that we only need to call execute_script() once. * Add documentation for parameters.
This commit is contained in:
parent
bca3bd2280
commit
c96e6f7243
@ -42,15 +42,21 @@ class SelectionManager(object):
|
||||
return '''var sel = window.getSelection();'''
|
||||
|
||||
def move_caret_by_offset(self, offset, backward=False):
|
||||
'''Move caret in the element by character offset.'''
|
||||
cmd = self.js_selection_cmd() +\
|
||||
'''sel.modify("move", arguments[1], "character");'''
|
||||
direction = 'backward' if backward else 'forward'
|
||||
'''Move caret in the element by character offset.
|
||||
|
||||
for i in range(offset):
|
||||
self.element.marionette.execute_script(
|
||||
cmd, script_args=[self.element, direction],
|
||||
sandbox='system')
|
||||
:param offset: Move the caret to the direction by offset characters.
|
||||
:param backward: Optional, True to move backward; Default to False to
|
||||
move forward.
|
||||
|
||||
'''
|
||||
cmd = self.js_selection_cmd() + '''
|
||||
for (let i = 0; i < %d; ++i) {
|
||||
sel.modify("move", "%s", "character");
|
||||
}
|
||||
''' % (offset, 'backward' if backward else 'forward')
|
||||
|
||||
self.element.marionette.execute_script(
|
||||
cmd, script_args=[self.element], sandbox='system')
|
||||
|
||||
def move_caret_to_front(self):
|
||||
'''Move caret in the element to the front of the content.'''
|
||||
@ -104,7 +110,7 @@ class SelectionManager(object):
|
||||
considered.
|
||||
|
||||
'''
|
||||
range_count = self.range_count();
|
||||
range_count = self.range_count()
|
||||
first_rect_list = self.selection_rect_list(0)
|
||||
last_rect_list = self.selection_rect_list(range_count - 1)
|
||||
last_list_length = last_rect_list['length']
|
||||
|
Loading…
Reference in New Issue
Block a user