- move : (function()\r
- {\r
- var isFixed;\r
- return function( x, y, save )\r
- {\r
- // The dialog may be fixed positioned or absolute positioned. Ask the\r
- // browser what is the current situation first.\r
- var element = this._.element.getFirst(),\r
- rtl = this._.editor.lang.dir == 'rtl';\r
-\r
- if ( isFixed === undefined )\r
- isFixed = element.getComputedStyle( 'position' ) == 'fixed';\r
-\r
- if ( isFixed && this._.position && this._.position.x == x && this._.position.y == y )\r
- return;\r
+ move : function( x, y, save )\r
+ {\r
+ // The dialog may be fixed positioned or absolute positioned. Ask the\r
+ // browser what is the current situation first.\r
+ var element = this._.element.getFirst(),\r
+ rtl = this._.editor.lang.dir == 'rtl';\r
+\r
+ var isFixed = element.getComputedStyle( 'position' ) == 'fixed';\r
+\r
+ // (#8888) In some cases of a very small viewport, dialog is incorrectly\r
+ // positioned in IE7. It also happens that it remains sticky and user cannot\r
+ // scroll down/up to reveal dialog's content below/above the viewport; this is\r
+ // cumbersome.\r
+ // The only way to fix this is to move mouse out of the browser and\r
+ // go back to see that dialog position is automagically fixed. No events,\r
+ // no style change - pure magic. This is a IE7 rendering issue, which can be\r
+ // fixed with dummy style redraw on each move.\r
+ element.setStyle( 'zoom', '100%' );\r
+\r
+ if ( isFixed && this._.position && this._.position.x == x && this._.position.y == y )\r
+ return;\r