PDA

View Full Version : [OPEN-1111] Opera - applying mask on element resets its scrollbar position



grzegorz.borkowski
8 Jul 2010, 8:12 AM
Ext version tested:


Ext 3.2.1



Adapter used:


ext



css used:


only default ext-all.css


Browser versions tested against:


Opera 10.60 and 9.64
IE8
FF3.6 (firebug 1.3.0.10 installed)
Chrome 5



Operating System:


WinXP Pro



Steps to reproduce the problem:
Open this Ext grid example in any browser except Opera:
http://www.sencha.com/deploy/dev/examples/grid/paging.html
In the grid, move the grid's vertical scrollbar down, to any position. Now click the refresh button in grid bottom toolbar. The mask is applied, but the grid's scrollbar position doesn't change at the moment of showing the mask. (It is reset at the moment when the grid is redrawn, because new data arrived, but it's ok).
Now open this page with Opera (I checked 10.60 and 9.64). Move the scrollbar down, and press refresh button in grid toolbar. You will see that immediately after pressing the button when mask is applied, the scrollbar in the grid resets to top

The result that was expected:


The element's scrollbar position should not be effected by applying/unapplying the mask
In the example the scrollbar is reset in all browsers after new data arrived, and grid is redrawn - it's ok in grids, so you may wonder what's the difference when the scrollbar is reset. But imagine the calendar component, when you selectively hide and show some elements on it, showing mask in between. The scroolbar can't be reset in such case - and it is not on all browsers, because calendar element is not redrawn - except Opera.



The result that occurs instead:


On Opera scrollbar position is reset by applying the mask on the element, which is wrong.




Debugging already done:


From what we've been able to observe, method for applying mask on element adds two child DIVs to this element, positioned absolutely inside this element (element is made positioned relative). Probably this triggers redrawing of the whole element in Opera, and scrollbar is reset. But it's just a guess at this moment.