mirror of
https://github.com/dart-lang/sdk
synced 2024-09-21 07:51:39 +00:00
Clamp scrollX, scrollY, pageXOffset, and pageYOffset from double to int
TBR=vsm@google.com,asiva@google.com Review URL: https://codereview.chromium.org//898993002 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43477 260f80e4-7a28-3924-810f-c04153c831b5
This commit is contained in:
parent
1d6231bacd
commit
69e76a7b28
|
@ -30603,6 +30603,7 @@ class Window extends EventTarget implements WindowEventHandlers, WindowBase, Glo
|
|||
@DocsEditable()
|
||||
final int outerWidth;
|
||||
|
||||
@JSName('pageXOffset')
|
||||
/**
|
||||
* The distance this window has been scrolled horizontally.
|
||||
*
|
||||
|
@ -30617,8 +30618,9 @@ class Window extends EventTarget implements WindowEventHandlers, WindowBase, Glo
|
|||
*/
|
||||
@DomName('Window.pageXOffset')
|
||||
@DocsEditable()
|
||||
final int pageXOffset;
|
||||
final int _pageXOffset;
|
||||
|
||||
@JSName('pageYOffset')
|
||||
/**
|
||||
* The distance this window has been scrolled vertically.
|
||||
*
|
||||
|
@ -30633,7 +30635,7 @@ class Window extends EventTarget implements WindowEventHandlers, WindowBase, Glo
|
|||
*/
|
||||
@DomName('Window.pageYOffset')
|
||||
@DocsEditable()
|
||||
final int pageYOffset;
|
||||
final int _pageYOffset;
|
||||
|
||||
@DomName('Window.parent')
|
||||
@DocsEditable()
|
||||
|
@ -31749,6 +31751,14 @@ class Window extends EventTarget implements WindowEventHandlers, WindowBase, Glo
|
|||
_moveTo(p.x, p.y);
|
||||
}
|
||||
|
||||
@DomName('Window.pageXOffset')
|
||||
@DocsEditable()
|
||||
int get pageXOffset => JS('num', '#.pageXOffset', this).round();
|
||||
|
||||
@DomName('Window.pageYOffset')
|
||||
@DocsEditable()
|
||||
int get pageYOffset => JS('num', '#.pageYOffset', this).round();
|
||||
|
||||
/**
|
||||
* The distance this window has been scrolled horizontally.
|
||||
*
|
||||
|
@ -31759,8 +31769,11 @@ class Window extends EventTarget implements WindowEventHandlers, WindowBase, Glo
|
|||
* * [scrollX]
|
||||
* (https://developer.mozilla.org/en-US/docs/Web/API/Window.scrollX) from MDN.
|
||||
*/
|
||||
int get scrollX => JS('bool', '("scrollX" in #)', this) ? JS('int',
|
||||
'#.scrollX', this) : document.documentElement.scrollLeft;
|
||||
@DomName('Window.scrollX')
|
||||
@DocsEditable()
|
||||
int get scrollX => JS('bool', '("scrollX" in #)', this) ?
|
||||
JS('num', '#.scrollX', this).round() :
|
||||
document.documentElement.scrollLeft;
|
||||
|
||||
/**
|
||||
* The distance this window has been scrolled vertically.
|
||||
|
@ -31772,8 +31785,11 @@ class Window extends EventTarget implements WindowEventHandlers, WindowBase, Glo
|
|||
* * [scrollY]
|
||||
* (https://developer.mozilla.org/en-US/docs/Web/API/Window.scrollY) from MDN.
|
||||
*/
|
||||
int get scrollY => JS('bool', '("scrollY" in #)', this) ? JS('int',
|
||||
'#.scrollY', this) : document.documentElement.scrollTop;
|
||||
@DomName('Window.scrollY')
|
||||
@DocsEditable()
|
||||
int get scrollY => JS('bool', '("scrollY" in #)', this) ?
|
||||
JS('num', '#.scrollY', this).round() :
|
||||
document.documentElement.scrollTop;
|
||||
}
|
||||
|
||||
class _BeforeUnloadEvent extends _WrappedEvent implements BeforeUnloadEvent {
|
||||
|
|
|
@ -33207,7 +33207,7 @@ class Window extends EventTarget implements WindowEventHandlers, WindowBase, Glo
|
|||
*/
|
||||
@DomName('Window.pageXOffset')
|
||||
@DocsEditable()
|
||||
int get pageXOffset => _blink.BlinkWindow.instance.pageXOffset_Getter_(this);
|
||||
int get _pageXOffset => _blink.BlinkWindow.instance.pageXOffset_Getter_(this);
|
||||
|
||||
/**
|
||||
* The distance this window has been scrolled vertically.
|
||||
|
@ -33223,7 +33223,7 @@ class Window extends EventTarget implements WindowEventHandlers, WindowBase, Glo
|
|||
*/
|
||||
@DomName('Window.pageYOffset')
|
||||
@DocsEditable()
|
||||
int get pageYOffset => _blink.BlinkWindow.instance.pageYOffset_Getter_(this);
|
||||
int get _pageYOffset => _blink.BlinkWindow.instance.pageYOffset_Getter_(this);
|
||||
|
||||
@DomName('Window.parent')
|
||||
@DocsEditable()
|
||||
|
@ -33310,11 +33310,11 @@ class Window extends EventTarget implements WindowEventHandlers, WindowBase, Glo
|
|||
|
||||
@DomName('Window.scrollX')
|
||||
@DocsEditable()
|
||||
int get scrollX => _blink.BlinkWindow.instance.scrollX_Getter_(this);
|
||||
int get _scrollX => _blink.BlinkWindow.instance.scrollX_Getter_(this);
|
||||
|
||||
@DomName('Window.scrollY')
|
||||
@DocsEditable()
|
||||
int get scrollY => _blink.BlinkWindow.instance.scrollY_Getter_(this);
|
||||
int get _scrollY => _blink.BlinkWindow.instance.scrollY_Getter_(this);
|
||||
|
||||
/**
|
||||
* This window's scroll bars.
|
||||
|
@ -34118,6 +34118,21 @@ class Window extends EventTarget implements WindowEventHandlers, WindowBase, Glo
|
|||
_moveTo(p.x, p.y);
|
||||
}
|
||||
|
||||
@DomName('Window.pageXOffset')
|
||||
@DocsEditable()
|
||||
int get pageXOffset => _blink.BlinkWindow.instance.pageXOffset_Getter_(this).round();
|
||||
|
||||
@DomName('Window.pageYOffset')
|
||||
@DocsEditable()
|
||||
int get pageYOffset => _blink.BlinkWindow.instance.pageYOffset_Getter_(this).round();
|
||||
|
||||
@DomName('Window.scrollX')
|
||||
@DocsEditable()
|
||||
int get scrollX => _blink.BlinkWindow.instance.scrollX_Getter_(this).round();
|
||||
|
||||
@DomName('Window.scrollY')
|
||||
@DocsEditable()
|
||||
int get scrollY => _blink.BlinkWindow.instance.scrollY_Getter_(this).round();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -380,6 +380,13 @@ private_html_members = monitored.Set('htmlrenamer.private_html_members', [
|
|||
'Window.getComputedStyle',
|
||||
'Window.clearInterval',
|
||||
'Window.clearTimeout',
|
||||
# TODO(tll): These have been converted from int to double in Chrome 39 for
|
||||
# subpixel precision. Special case for backward compatibility.
|
||||
'Window.scrollX',
|
||||
'Window.scrollY',
|
||||
'Window.pageXOffset',
|
||||
'Window.pageYOffset',
|
||||
|
||||
'WindowTimers.clearInterval',
|
||||
'WindowTimers.clearTimeout',
|
||||
'WindowTimers.setInterval',
|
||||
|
|
|
@ -254,6 +254,14 @@ $!MEMBERS
|
|||
}
|
||||
|
||||
$if DART2JS
|
||||
@DomName('Window.pageXOffset')
|
||||
@DocsEditable()
|
||||
int get pageXOffset => JS('num', '#.pageXOffset', this).round();
|
||||
|
||||
@DomName('Window.pageYOffset')
|
||||
@DocsEditable()
|
||||
int get pageYOffset => JS('num', '#.pageYOffset', this).round();
|
||||
|
||||
/**
|
||||
* The distance this window has been scrolled horizontally.
|
||||
*
|
||||
|
@ -264,8 +272,11 @@ $if DART2JS
|
|||
* * [scrollX]
|
||||
* (https://developer.mozilla.org/en-US/docs/Web/API/Window.scrollX) from MDN.
|
||||
*/
|
||||
int get scrollX => JS('bool', '("scrollX" in #)', this) ? JS('int',
|
||||
'#.scrollX', this) : document.documentElement.scrollLeft;
|
||||
@DomName('Window.scrollX')
|
||||
@DocsEditable()
|
||||
int get scrollX => JS('bool', '("scrollX" in #)', this) ?
|
||||
JS('num', '#.scrollX', this).round() :
|
||||
document.documentElement.scrollLeft;
|
||||
|
||||
/**
|
||||
* The distance this window has been scrolled vertically.
|
||||
|
@ -277,8 +288,27 @@ $if DART2JS
|
|||
* * [scrollY]
|
||||
* (https://developer.mozilla.org/en-US/docs/Web/API/Window.scrollY) from MDN.
|
||||
*/
|
||||
int get scrollY => JS('bool', '("scrollY" in #)', this) ? JS('int',
|
||||
'#.scrollY', this) : document.documentElement.scrollTop;
|
||||
@DomName('Window.scrollY')
|
||||
@DocsEditable()
|
||||
int get scrollY => JS('bool', '("scrollY" in #)', this) ?
|
||||
JS('num', '#.scrollY', this).round() :
|
||||
document.documentElement.scrollTop;
|
||||
$else
|
||||
@DomName('Window.pageXOffset')
|
||||
@DocsEditable()
|
||||
int get pageXOffset => _blink.BlinkWindow.instance.pageXOffset_Getter_(this).round();
|
||||
|
||||
@DomName('Window.pageYOffset')
|
||||
@DocsEditable()
|
||||
int get pageYOffset => _blink.BlinkWindow.instance.pageYOffset_Getter_(this).round();
|
||||
|
||||
@DomName('Window.scrollX')
|
||||
@DocsEditable()
|
||||
int get scrollX => _blink.BlinkWindow.instance.scrollX_Getter_(this).round();
|
||||
|
||||
@DomName('Window.scrollY')
|
||||
@DocsEditable()
|
||||
int get scrollY => _blink.BlinkWindow.instance.scrollY_Getter_(this).round();
|
||||
$endif
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue