Browse Source

Workaround for #6222 Vertical Table Scrolling Broken in Opera 11

svn changeset:16939/svn branch:6.5
tags/6.7.0.beta1
Artur Signell 13 years ago
parent
commit
2a9b0a8e33
1 changed files with 15 additions and 0 deletions
  1. 15
    0
      src/com/vaadin/terminal/gwt/client/ui/VScrollTable.java

+ 15
- 0
src/com/vaadin/terminal/gwt/client/ui/VScrollTable.java View File

@@ -5593,11 +5593,26 @@ public class VScrollTable extends FlowPanel implements Table, ScrollHandler,
*
*/
private void setProperTabIndex() {
int storedScrollTop = 0;
int storedScrollLeft = 0;

if (BrowserInfo.get().getOperaVersion() >= 11) {
// Workaround for Opera scroll bug when changing tabIndex (#6222)
storedScrollTop = scrollBodyPanel.getScrollPosition();
storedScrollLeft = scrollBodyPanel.getHorizontalScrollPosition();
}

if (tabIndex == 0 && !isFocusable()) {
scrollBodyPanel.getElement().setTabIndex(-1);
} else {
scrollBodyPanel.getElement().setTabIndex(tabIndex);
}

if (BrowserInfo.get().getOperaVersion() >= 11) {
// Workaround for Opera scroll bug when changing tabIndex (#6222)
scrollBodyPanel.setScrollPosition(storedScrollTop);
scrollBodyPanel.setHorizontalScrollPosition(storedScrollLeft);
}
}

public void onKeyUp(KeyUpEvent event) {

Loading…
Cancel
Save