mirror of
https://github.com/servo/servo.git
synced 2025-06-06 16:45:39 +00:00
Implement document.scrollingElement
(#35994)
<!-- Please describe your changes on the following line: --> This implements `document.scrollingElement` (https://drafts.csswg.org/cssom-view/#dom-document-scrollingelement). --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix #35700 - [x] There are tests for these changes <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> --------- Signed-off-by: JimmyDdotEXE <50691404+JimmyDdotEXE@users.noreply.github.com>
This commit is contained in:
parent
7ea5951e34
commit
1f6050f931
37 changed files with 195 additions and 272 deletions
|
@ -6369,6 +6369,30 @@ impl DocumentMethods<crate::DomTypeHolder> for Document {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <https://drafts.csswg.org/cssom-view/#dom-document-scrollingelement>
|
||||||
|
fn GetScrollingElement(&self, can_gc: CanGc) -> Option<DomRoot<Element>> {
|
||||||
|
// Step 1. If the Document is in quirks mode, follow these steps:
|
||||||
|
if self.quirks_mode() == QuirksMode::Quirks {
|
||||||
|
// Step 1.1. If the body element exists,
|
||||||
|
if let Some(ref body) = self.GetBody() {
|
||||||
|
let e = body.upcast::<Element>();
|
||||||
|
// and it is not potentially scrollable, return the body element and abort these steps.
|
||||||
|
// For this purpose, a value of overflow:clip on the the body element’s parent element
|
||||||
|
// must be treated as overflow:hidden.
|
||||||
|
if !e.is_potentially_scrollable_body_for_scrolling_element(can_gc) {
|
||||||
|
return Some(DomRoot::from_ref(e));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Step 1.2. Return null and abort these steps.
|
||||||
|
return None;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Step 2. If there is a root element, return the root element and abort these steps.
|
||||||
|
// Step 3. Return null.
|
||||||
|
self.GetDocumentElement()
|
||||||
|
}
|
||||||
|
|
||||||
// https://html.spec.whatwg.org/multipage/#dom-document-open
|
// https://html.spec.whatwg.org/multipage/#dom-document-open
|
||||||
fn Open(
|
fn Open(
|
||||||
&self,
|
&self,
|
||||||
|
|
|
@ -50,6 +50,7 @@ use style::selector_parser::{
|
||||||
use style::shared_lock::{Locked, SharedRwLock};
|
use style::shared_lock::{Locked, SharedRwLock};
|
||||||
use style::stylesheets::layer_rule::LayerOrder;
|
use style::stylesheets::layer_rule::LayerOrder;
|
||||||
use style::stylesheets::{CssRuleType, UrlExtraData};
|
use style::stylesheets::{CssRuleType, UrlExtraData};
|
||||||
|
use style::values::computed::Overflow;
|
||||||
use style::values::generics::NonNegative;
|
use style::values::generics::NonNegative;
|
||||||
use style::values::generics::position::PreferredRatio;
|
use style::values::generics::position::PreferredRatio;
|
||||||
use style::values::generics::ratio::Ratio;
|
use style::values::generics::ratio::Ratio;
|
||||||
|
@ -455,8 +456,25 @@ impl Element {
|
||||||
.is_some_and(|s| !s.get_box().clone_display().is_none())
|
.is_some_and(|s| !s.get_box().clone_display().is_none())
|
||||||
}
|
}
|
||||||
|
|
||||||
// https://drafts.csswg.org/cssom-view/#potentially-scrollable
|
/// <https://drafts.csswg.org/cssom-view/#potentially-scrollable>
|
||||||
fn is_potentially_scrollable_body(&self, can_gc: CanGc) -> bool {
|
pub(crate) fn is_potentially_scrollable_body(&self, can_gc: CanGc) -> bool {
|
||||||
|
self.is_potentially_scrollable_body_shared_logic(false, can_gc)
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <https://drafts.csswg.org/cssom-view/#potentially-scrollable>
|
||||||
|
pub(crate) fn is_potentially_scrollable_body_for_scrolling_element(
|
||||||
|
&self,
|
||||||
|
can_gc: CanGc,
|
||||||
|
) -> bool {
|
||||||
|
self.is_potentially_scrollable_body_shared_logic(true, can_gc)
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <https://drafts.csswg.org/cssom-view/#potentially-scrollable>
|
||||||
|
fn is_potentially_scrollable_body_shared_logic(
|
||||||
|
&self,
|
||||||
|
treat_overflow_clip_on_parent_as_hidden: bool,
|
||||||
|
can_gc: CanGc,
|
||||||
|
) -> bool {
|
||||||
let node = self.upcast::<Node>();
|
let node = self.upcast::<Node>();
|
||||||
debug_assert!(
|
debug_assert!(
|
||||||
node.owner_doc().GetBody().as_deref() == self.downcast::<HTMLElement>(),
|
node.owner_doc().GetBody().as_deref() == self.downcast::<HTMLElement>(),
|
||||||
|
@ -474,9 +492,21 @@ impl Element {
|
||||||
// overflow-y properties is neither visible nor clip."
|
// overflow-y properties is neither visible nor clip."
|
||||||
if let Some(parent) = node.GetParentElement() {
|
if let Some(parent) = node.GetParentElement() {
|
||||||
if let Some(style) = parent.style(can_gc) {
|
if let Some(style) = parent.style(can_gc) {
|
||||||
if !style.get_box().clone_overflow_x().is_scrollable() &&
|
let mut overflow_x = style.get_box().clone_overflow_x();
|
||||||
!style.get_box().clone_overflow_y().is_scrollable()
|
let mut overflow_y = style.get_box().clone_overflow_y();
|
||||||
{
|
|
||||||
|
// This fulfills the 'treat parent element overflow:clip as overflow:hidden' stipulation
|
||||||
|
// from the document.scrollingElement specification.
|
||||||
|
if treat_overflow_clip_on_parent_as_hidden {
|
||||||
|
if overflow_x == Overflow::Clip {
|
||||||
|
overflow_x = Overflow::Hidden;
|
||||||
|
}
|
||||||
|
if overflow_y == Overflow::Clip {
|
||||||
|
overflow_y = Overflow::Hidden;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if !overflow_x.is_scrollable() && !overflow_y.is_scrollable() {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -162,7 +162,7 @@ DOMInterfaces = {
|
||||||
|
|
||||||
'Document': {
|
'Document': {
|
||||||
'additionalTraits': ["crate::interfaces::DocumentHelpers"],
|
'additionalTraits': ["crate::interfaces::DocumentHelpers"],
|
||||||
'canGc': ['Close', 'CreateElement', 'CreateElementNS', 'ImportNode', 'SetTitle', 'Write', 'Writeln', 'CreateEvent', 'CreateRange', 'Open', 'Open_', 'CreateComment', 'CreateAttribute', 'CreateAttributeNS', 'CreateDocumentFragment', 'CreateTextNode', 'CreateCDATASection', 'CreateProcessingInstruction', 'Prepend', 'Append', 'ReplaceChildren', 'SetBgColor', 'SetFgColor', 'Fonts', 'ElementFromPoint', 'ElementsFromPoint', 'ExitFullscreen', 'CreateExpression', 'CreateNSResolver', 'Evaluate', 'StyleSheets', 'Implementation', 'GetElementsByTagName', 'GetElementsByTagNameNS', 'GetElementsByClassName', 'AdoptNode', 'CreateNodeIterator', 'SetBody', 'GetElementsByName', 'Images', 'Embeds', 'Plugins', 'Links', 'Forms', 'Scripts', 'Anchors', 'Applets', 'Children', 'GetSelection'],
|
'canGc': ['Close', 'CreateElement', 'CreateElementNS', 'ImportNode', 'SetTitle', 'Write', 'Writeln', 'CreateEvent', 'CreateRange', 'Open', 'Open_', 'CreateComment', 'CreateAttribute', 'CreateAttributeNS', 'CreateDocumentFragment', 'CreateTextNode', 'CreateCDATASection', 'CreateProcessingInstruction', 'Prepend', 'Append', 'ReplaceChildren', 'SetBgColor', 'SetFgColor', 'Fonts', 'ElementFromPoint', 'ElementsFromPoint', 'GetScrollingElement', 'ExitFullscreen', 'CreateExpression', 'CreateNSResolver', 'Evaluate', 'StyleSheets', 'Implementation', 'GetElementsByTagName', 'GetElementsByTagNameNS', 'GetElementsByClassName', 'AdoptNode', 'CreateNodeIterator', 'SetBody', 'GetElementsByName', 'Images', 'Embeds', 'Plugins', 'Links', 'Forms', 'Scripts', 'Anchors', 'Applets', 'Children', 'GetSelection'],
|
||||||
},
|
},
|
||||||
|
|
||||||
'DissimilarOriginWindow': {
|
'DissimilarOriginWindow': {
|
||||||
|
|
|
@ -204,6 +204,16 @@ partial interface Document {
|
||||||
|
|
||||||
Document includes DocumentOrShadowRoot;
|
Document includes DocumentOrShadowRoot;
|
||||||
|
|
||||||
|
// https://drafts.csswg.org/cssom-view/#extensions-to-the-document-interface
|
||||||
|
partial interface Document {
|
||||||
|
// CaretPosition? caretPositionFromPoint(double x, double y, optional CaretPositionFromPointOptions options = {});
|
||||||
|
readonly attribute Element? scrollingElement;
|
||||||
|
};
|
||||||
|
|
||||||
|
// dictionary CaretPositionFromPointOptions {
|
||||||
|
// sequence<ShadowRoot> shadowRoots = [];
|
||||||
|
// };
|
||||||
|
|
||||||
// https://w3c.github.io/selection-api/#dom-document
|
// https://w3c.github.io/selection-api/#dom-document
|
||||||
partial interface Document {
|
partial interface Document {
|
||||||
Selection? getSelection();
|
Selection? getSelection();
|
||||||
|
|
2
tests/wpt/meta/MANIFEST.json
vendored
2
tests/wpt/meta/MANIFEST.json
vendored
|
@ -617753,7 +617753,7 @@
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
"scrollingElement.html": [
|
"scrollingElement.html": [
|
||||||
"408fa47be9a3330aff88ef01e9b8be90fd4008ce",
|
"093c016da557ff867f86b13f5dff9c6d118230ff",
|
||||||
[
|
[
|
||||||
null,
|
null,
|
||||||
{}
|
{}
|
||||||
|
|
|
@ -1,3 +0,0 @@
|
||||||
[no-overflow-with-table-cell-margins.html]
|
|
||||||
[no-overflow-with-table-cell-margins]
|
|
||||||
expected: FAIL
|
|
|
@ -1,13 +1,4 @@
|
||||||
[HTMLBody-ScrollArea_quirksmode.html]
|
[HTMLBody-ScrollArea_quirksmode.html]
|
||||||
[document.scrollingElement should be body element in quirks.]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[scrollingElement in quirks should be null when body is potentially scrollable.]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[scrollingElement in quirks should be body if any of document and body has a visible overflow.]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[When body potentially scrollable, document.body.scrollHeight changes when changing the height of the body content in quirks.]
|
[When body potentially scrollable, document.body.scrollHeight changes when changing the height of the body content in quirks.]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -38,9 +38,6 @@
|
||||||
[Window interface: window must inherit property "screenTop" with the proper type]
|
[Window interface: window must inherit property "screenTop" with the proper type]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Document interface: attribute scrollingElement]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[CSSPseudoElement interface: operation convertRectFromNode(DOMRectReadOnly, GeometryNode, ConvertCoordinateOptions)]
|
[CSSPseudoElement interface: operation convertRectFromNode(DOMRectReadOnly, GeometryNode, ConvertCoordinateOptions)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -107,9 +104,6 @@
|
||||||
[Document interface: document must inherit property "convertRectFromNode(DOMRectReadOnly, GeometryNode, ConvertCoordinateOptions)" with the proper type]
|
[Document interface: document must inherit property "convertRectFromNode(DOMRectReadOnly, GeometryNode, ConvertCoordinateOptions)" with the proper type]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Document interface: document must inherit property "scrollingElement" with the proper type]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[CaretPosition interface object name]
|
[CaretPosition interface object name]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -1,13 +1,4 @@
|
||||||
[scroll-behavior-main-frame-root.html]
|
[scroll-behavior-main-frame-root.html]
|
||||||
[Main frame with auto scroll-behavior ; scroll() with default behavior]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Main frame with auto scroll-behavior ; scroll() with auto behavior]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Main frame with auto scroll-behavior ; scroll() with instant behavior]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Main frame with auto scroll-behavior ; scroll() with smooth behavior]
|
[Main frame with auto scroll-behavior ; scroll() with smooth behavior]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -17,21 +8,9 @@
|
||||||
[Main frame with smooth scroll-behavior ; scroll() with auto behavior]
|
[Main frame with smooth scroll-behavior ; scroll() with auto behavior]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Main frame with smooth scroll-behavior ; scroll() with instant behavior]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Main frame with smooth scroll-behavior ; scroll() with smooth behavior]
|
[Main frame with smooth scroll-behavior ; scroll() with smooth behavior]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Main frame with auto scroll-behavior ; scrollTo() with default behavior]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Main frame with auto scroll-behavior ; scrollTo() with auto behavior]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Main frame with auto scroll-behavior ; scrollTo() with instant behavior]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Main frame with auto scroll-behavior ; scrollTo() with smooth behavior]
|
[Main frame with auto scroll-behavior ; scrollTo() with smooth behavior]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -41,21 +20,9 @@
|
||||||
[Main frame with smooth scroll-behavior ; scrollTo() with auto behavior]
|
[Main frame with smooth scroll-behavior ; scrollTo() with auto behavior]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Main frame with smooth scroll-behavior ; scrollTo() with instant behavior]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Main frame with smooth scroll-behavior ; scrollTo() with smooth behavior]
|
[Main frame with smooth scroll-behavior ; scrollTo() with smooth behavior]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Main frame with auto scroll-behavior ; scrollBy() with default behavior]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Main frame with auto scroll-behavior ; scrollBy() with auto behavior]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Main frame with auto scroll-behavior ; scrollBy() with instant behavior]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Main frame with auto scroll-behavior ; scrollBy() with smooth behavior]
|
[Main frame with auto scroll-behavior ; scrollBy() with smooth behavior]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -65,9 +32,6 @@
|
||||||
[Main frame with smooth scroll-behavior ; scrollBy() with auto behavior]
|
[Main frame with smooth scroll-behavior ; scrollBy() with auto behavior]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Main frame with smooth scroll-behavior ; scrollBy() with instant behavior]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Main frame with smooth scroll-behavior ; scrollBy() with smooth behavior]
|
[Main frame with smooth scroll-behavior ; scrollBy() with smooth behavior]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -95,23 +59,11 @@
|
||||||
[Main frame with smooth scroll-behavior ; scrollIntoView() with smooth behavior]
|
[Main frame with smooth scroll-behavior ; scrollIntoView() with smooth behavior]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Set scrollLeft to frame with auto scroll-behavior]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Set scrollLeft to frame with smooth scroll-behavior]
|
[Set scrollLeft to frame with smooth scroll-behavior]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Set scrollTop to frame with auto scroll-behavior]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Set scrollTop to frame with smooth scroll-behavior]
|
[Set scrollTop to frame with smooth scroll-behavior]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Aborting an ongoing smooth scrolling on the main frame with another smooth scrolling]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Aborting an ongoing smooth scrolling on the main frame with an instant scrolling]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Make sure the page is ready for animation.]
|
[Make sure the page is ready for animation.]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
|
@ -1,13 +1,4 @@
|
||||||
[scroll-behavior-main-frame-window.html]
|
[scroll-behavior-main-frame-window.html]
|
||||||
[Main frame with auto scroll-behavior ; scroll() with default behavior]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Main frame with auto scroll-behavior ; scroll() with auto behavior]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Main frame with auto scroll-behavior ; scroll() with instant behavior]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Main frame with auto scroll-behavior ; scroll() with smooth behavior]
|
[Main frame with auto scroll-behavior ; scroll() with smooth behavior]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -17,21 +8,9 @@
|
||||||
[Main frame with smooth scroll-behavior ; scroll() with auto behavior]
|
[Main frame with smooth scroll-behavior ; scroll() with auto behavior]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Main frame with smooth scroll-behavior ; scroll() with instant behavior]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Main frame with smooth scroll-behavior ; scroll() with smooth behavior]
|
[Main frame with smooth scroll-behavior ; scroll() with smooth behavior]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Main frame with auto scroll-behavior ; scrollTo() with default behavior]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Main frame with auto scroll-behavior ; scrollTo() with auto behavior]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Main frame with auto scroll-behavior ; scrollTo() with instant behavior]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Main frame with auto scroll-behavior ; scrollTo() with smooth behavior]
|
[Main frame with auto scroll-behavior ; scrollTo() with smooth behavior]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -41,21 +20,9 @@
|
||||||
[Main frame with smooth scroll-behavior ; scrollTo() with auto behavior]
|
[Main frame with smooth scroll-behavior ; scrollTo() with auto behavior]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Main frame with smooth scroll-behavior ; scrollTo() with instant behavior]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Main frame with smooth scroll-behavior ; scrollTo() with smooth behavior]
|
[Main frame with smooth scroll-behavior ; scrollTo() with smooth behavior]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Main frame with auto scroll-behavior ; scrollBy() with default behavior]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Main frame with auto scroll-behavior ; scrollBy() with auto behavior]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Main frame with auto scroll-behavior ; scrollBy() with instant behavior]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Main frame with auto scroll-behavior ; scrollBy() with smooth behavior]
|
[Main frame with auto scroll-behavior ; scrollBy() with smooth behavior]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -65,17 +32,8 @@
|
||||||
[Main frame with smooth scroll-behavior ; scrollBy() with auto behavior]
|
[Main frame with smooth scroll-behavior ; scrollBy() with auto behavior]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Main frame with smooth scroll-behavior ; scrollBy() with instant behavior]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Main frame with smooth scroll-behavior ; scrollBy() with smooth behavior]
|
[Main frame with smooth scroll-behavior ; scrollBy() with smooth behavior]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Aborting an ongoing smooth scrolling on the main frame with another smooth scrolling]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Aborting an ongoing smooth scrolling on the main frame with an instant scrolling]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Make sure the page is ready for animation.]
|
[Make sure the page is ready for animation.]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
|
@ -1,13 +1,4 @@
|
||||||
[scroll-behavior-subframe-root.html]
|
[scroll-behavior-subframe-root.html]
|
||||||
[Subframe with auto scroll-behavior ; scroll() with default behavior]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Subframe with auto scroll-behavior ; scroll() with auto behavior]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Subframe with auto scroll-behavior ; scroll() with instant behavior]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Subframe with auto scroll-behavior ; scroll() with smooth behavior]
|
[Subframe with auto scroll-behavior ; scroll() with smooth behavior]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -17,21 +8,9 @@
|
||||||
[Subframe with smooth scroll-behavior ; scroll() with auto behavior]
|
[Subframe with smooth scroll-behavior ; scroll() with auto behavior]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Subframe with smooth scroll-behavior ; scroll() with instant behavior]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Subframe with smooth scroll-behavior ; scroll() with smooth behavior]
|
[Subframe with smooth scroll-behavior ; scroll() with smooth behavior]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Subframe with auto scroll-behavior ; scrollTo() with default behavior]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Subframe with auto scroll-behavior ; scrollTo() with auto behavior]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Subframe with auto scroll-behavior ; scrollTo() with instant behavior]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Subframe with auto scroll-behavior ; scrollTo() with smooth behavior]
|
[Subframe with auto scroll-behavior ; scrollTo() with smooth behavior]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -41,21 +20,9 @@
|
||||||
[Subframe with smooth scroll-behavior ; scrollTo() with auto behavior]
|
[Subframe with smooth scroll-behavior ; scrollTo() with auto behavior]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Subframe with smooth scroll-behavior ; scrollTo() with instant behavior]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Subframe with smooth scroll-behavior ; scrollTo() with smooth behavior]
|
[Subframe with smooth scroll-behavior ; scrollTo() with smooth behavior]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Subframe with auto scroll-behavior ; scrollBy() with default behavior]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Subframe with auto scroll-behavior ; scrollBy() with auto behavior]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Subframe with auto scroll-behavior ; scrollBy() with instant behavior]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Subframe with auto scroll-behavior ; scrollBy() with smooth behavior]
|
[Subframe with auto scroll-behavior ; scrollBy() with smooth behavior]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -65,9 +32,6 @@
|
||||||
[Subframe with smooth scroll-behavior ; scrollBy() with auto behavior]
|
[Subframe with smooth scroll-behavior ; scrollBy() with auto behavior]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Subframe with smooth scroll-behavior ; scrollBy() with instant behavior]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Subframe with smooth scroll-behavior ; scrollBy() with smooth behavior]
|
[Subframe with smooth scroll-behavior ; scrollBy() with smooth behavior]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -95,23 +59,11 @@
|
||||||
[Subframe with smooth scroll-behavior ; scrollIntoView() with smooth behavior]
|
[Subframe with smooth scroll-behavior ; scrollIntoView() with smooth behavior]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Subframe setting scrollLeft with auto scroll-behavior]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Subframe setting scrollLeft with smooth scroll-behavior]
|
[Subframe setting scrollLeft with smooth scroll-behavior]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Subframe setting scrollTop with auto scroll-behavior]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Subframe setting scrollTop with smooth scroll-behavior]
|
[Subframe setting scrollTop with smooth scroll-behavior]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Aborting an ongoing smooth scrolling on a subframe with another smooth scrolling]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Aborting an ongoing smooth scrolling on a subframe with an instant scrolling]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Make sure the page is ready for animation.]
|
[Make sure the page is ready for animation.]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
|
@ -1,13 +1,4 @@
|
||||||
[scroll-behavior-subframe-window.html]
|
[scroll-behavior-subframe-window.html]
|
||||||
[Main frame with auto scroll-behavior ; scroll() with default behavior]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Main frame with auto scroll-behavior ; scroll() with auto behavior]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Main frame with auto scroll-behavior ; scroll() with instant behavior]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Main frame with auto scroll-behavior ; scroll() with smooth behavior]
|
[Main frame with auto scroll-behavior ; scroll() with smooth behavior]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -17,21 +8,9 @@
|
||||||
[Main frame with smooth scroll-behavior ; scroll() with auto behavior]
|
[Main frame with smooth scroll-behavior ; scroll() with auto behavior]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Main frame with smooth scroll-behavior ; scroll() with instant behavior]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Main frame with smooth scroll-behavior ; scroll() with smooth behavior]
|
[Main frame with smooth scroll-behavior ; scroll() with smooth behavior]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Main frame with auto scroll-behavior ; scrollTo() with default behavior]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Main frame with auto scroll-behavior ; scrollTo() with auto behavior]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Main frame with auto scroll-behavior ; scrollTo() with instant behavior]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Main frame with auto scroll-behavior ; scrollTo() with smooth behavior]
|
[Main frame with auto scroll-behavior ; scrollTo() with smooth behavior]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -41,21 +20,9 @@
|
||||||
[Main frame with smooth scroll-behavior ; scrollTo() with auto behavior]
|
[Main frame with smooth scroll-behavior ; scrollTo() with auto behavior]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Main frame with smooth scroll-behavior ; scrollTo() with instant behavior]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Main frame with smooth scroll-behavior ; scrollTo() with smooth behavior]
|
[Main frame with smooth scroll-behavior ; scrollTo() with smooth behavior]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Main frame with auto scroll-behavior ; scrollBy() with default behavior]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Main frame with auto scroll-behavior ; scrollBy() with auto behavior]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Main frame with auto scroll-behavior ; scrollBy() with instant behavior]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Main frame with auto scroll-behavior ; scrollBy() with smooth behavior]
|
[Main frame with auto scroll-behavior ; scrollBy() with smooth behavior]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -65,17 +32,8 @@
|
||||||
[Main frame with smooth scroll-behavior ; scrollBy() with auto behavior]
|
[Main frame with smooth scroll-behavior ; scrollBy() with auto behavior]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Main frame with smooth scroll-behavior ; scrollBy() with instant behavior]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Main frame with smooth scroll-behavior ; scrollBy() with smooth behavior]
|
[Main frame with smooth scroll-behavior ; scrollBy() with smooth behavior]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Aborting an ongoing smooth scrolling on the main frame with another smooth scrolling]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Aborting an ongoing smooth scrolling on the main frame with an instant scrolling]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Make sure the page is ready for animation.]
|
[Make sure the page is ready for animation.]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
[scroll-overflow-clip-quirks-001.html]
|
|
||||||
[CSSOM scrollingElement reflects the propagated scroll to viewport correctly]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
[scroll-overflow-clip-quirks-002.html]
|
|
||||||
[CSSOM scrollingElement reflects the propagated scroll to viewport correctly]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -1,22 +1,10 @@
|
||||||
[scrolling-quirks-vs-nonquirks.html]
|
[scrolling-quirks-vs-nonquirks.html]
|
||||||
[scrollingElement in non-quirks mode]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[scrollLeft/scrollRight of the content in quirks mode]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[scrollWidth/scrollHeight on the root element in non-quirks mode]
|
[scrollWidth/scrollHeight on the root element in non-quirks mode]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[scrollingElement in quirks mode]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[scrollWidth/scrollHeight on the root element in quirks mode]
|
[scrollWidth/scrollHeight on the root element in quirks mode]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[scrollLeft/scrollRight of the content in non-quirks mode]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[scrollWidth/scrollHeight on the HTML body element in quirks mode]
|
[scrollWidth/scrollHeight on the HTML body element in quirks mode]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -1,28 +0,0 @@
|
||||||
[scrollingElement.html]
|
|
||||||
[scrollingElement in quirks mode]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[scrollingElement in no-quirks mode]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[scrollingElement in quirks mode (body table)]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[scrollingElement in no-quirks mode ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[scrollingElement in no-quirks mode (root table)]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[scrollingElement in no-quirks mode (body table)]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[scrollingElement in quirks mode (root table, body table)]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[scrollingElement in quirks mode (root table)]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[scrollingElement in no-quirks mode (root table, body table)]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -1,3 +0,0 @@
|
||||||
[003.html]
|
|
||||||
[Fragment Navigation: Updating scroll position]
|
|
||||||
expected: FAIL
|
|
|
@ -1,6 +1,12 @@
|
||||||
[cross-origin-iframe.sub.html]
|
[cross-origin-iframe.sub.html]
|
||||||
[Intersection observer test with no explicit root and target in a cross-origin iframe.]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[First rAF]
|
[First rAF]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
[topDocument.scrollingElement.scrollTop = 200]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[iframeDocument.scrollingElement.scrollTop = 250]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[topDocument.scrollingElement.scrollTop = 100]
|
||||||
|
expected: FAIL
|
||||||
|
|
|
@ -1,3 +0,0 @@
|
||||||
[disconnect.html]
|
|
||||||
[First rAF.]
|
|
||||||
expected: FAIL
|
|
|
@ -1,3 +1,9 @@
|
||||||
[iframe-no-root-with-wrapping-scroller.html]
|
[iframe-no-root-with-wrapping-scroller.html]
|
||||||
[First rAF.]
|
[First rAF.]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
[iframe.contentDocument.scrollingElement.scrollTop = 250]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[document.scrollingElement.scrollTop = 100]
|
||||||
|
expected: FAIL
|
||||||
|
|
|
@ -1,3 +1,9 @@
|
||||||
[iframe-no-root.html]
|
[iframe-no-root.html]
|
||||||
[First rAF.]
|
[First rAF.]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
[iframe.contentDocument.scrollingElement.scrollTop = 250]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[document.scrollingElement.scrollTop = 100]
|
||||||
|
expected: FAIL
|
||||||
|
|
|
@ -1,3 +1,9 @@
|
||||||
[multiple-targets.html]
|
[multiple-targets.html]
|
||||||
[First rAF.]
|
[document.scrollingElement.scrollTop = 150]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[document.scrollingElement.scrollTop = 10000]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[document.scrollingElement.scrollTop = 0]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
|
@ -1,3 +1,21 @@
|
||||||
[multiple-thresholds.html]
|
[multiple-thresholds.html]
|
||||||
[First rAF.]
|
[document.scrollingElement.scrollTop = 120]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[document.scrollingElement.scrollTop = 160]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[document.scrollingElement.scrollTop = 200]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[document.scrollingElement.scrollTop = 240]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[document.scrollingElement.scrollTop = window.innerHeight + 140]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[document.scrollingElement.scrollTop = window.innerHeight + 160]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[document.scrollingElement.scrollTop = window.innerHeight + 200]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
[observer-without-js-reference.html]
|
[observer-without-js-reference.html]
|
||||||
[First rAF]
|
[document.scrollingElement.scrollTop = 300]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
|
@ -1,3 +1,15 @@
|
||||||
[root-margin-root-element.html]
|
[root-margin-root-element.html]
|
||||||
[First rAF]
|
[First rAF]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
[root.scrollTop = 50, putting target into root margin]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[document.scrollingElement.scrollTop = 0.]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[root.scrollTop = 0]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[root.scrollTop = 50 with root scrolled out of view.]
|
||||||
|
expected: FAIL
|
||||||
|
|
|
@ -1,3 +1,9 @@
|
||||||
[root-margin.html]
|
[root-margin.html]
|
||||||
[First rAF.]
|
[document.scrollingElement.scrollLeft = 100]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[document.scrollingElement.scrollTop = document.documentElement.clientHeight + 200]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[document.scrollingElement.scrollTop = document.documentElement.clientHeight + 300]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
[same-document-no-root.html]
|
[same-document-no-root.html]
|
||||||
[First rAF.]
|
[document.scrollingElement.scrollTop = 300]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[document.scrollingElement.scrollTop = 100]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
|
@ -1,3 +1,15 @@
|
||||||
[same-document-root.html]
|
[same-document-root.html]
|
||||||
[First rAF]
|
[First rAF]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
[root.scrollTop = 150 with root scrolled into view.]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[document.scrollingElement.scrollTop = 0.]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[root.scrollTop = 0]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[root.scrollTop = 150 with root scrolled out of view.]
|
||||||
|
expected: FAIL
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
[same-document-with-document-root.html]
|
[same-document-with-document-root.html]
|
||||||
[First rAF.]
|
[document.scrollingElement.scrollTop = 300]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
[same-document-zero-size-target.html]
|
[same-document-zero-size-target.html]
|
||||||
[First rAF]
|
[document.scrollingElement.scrollTop = 300]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[document.scrollingElement.scrollTop = 100]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
|
@ -1,3 +1,9 @@
|
||||||
[svg-clipped-rect-target.html]
|
[svg-clipped-rect-target.html]
|
||||||
[First rAF.]
|
[First rAF.]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
[document.scrollingElement.scrollTop = 300]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[document.scrollingElement.scrollTop = 100]
|
||||||
|
expected: FAIL
|
||||||
|
|
|
@ -1,3 +1,9 @@
|
||||||
[svg-intersection-with-fractional-bounds.html]
|
[svg-intersection-with-fractional-bounds.html]
|
||||||
[Initial Observation]
|
[Initial Observation]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
[Intersection observation after scrolling 300]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Intersection observation after scrolling 100]
|
||||||
|
expected: FAIL
|
||||||
|
|
|
@ -1,3 +1,9 @@
|
||||||
[svg-rect-target.html]
|
[svg-rect-target.html]
|
||||||
[First rAF.]
|
[First rAF.]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
[document.scrollingElement.scrollTop = 300]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[document.scrollingElement.scrollTop = 100]
|
||||||
|
expected: FAIL
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
[text-target.html]
|
[text-target.html]
|
||||||
[First rAF.]
|
[document.scrollingElement.scrollTop = 300]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[document.scrollingElement.scrollTop = 100]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
[timestamp.html]
|
[timestamp.html]
|
||||||
[First rAF after iframe is loaded.]
|
[Generate notifications.]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
[visibility-hidden.html]
|
[visibility-hidden.html]
|
||||||
[First rAF.]
|
[document.scrollingElement.scrollTop = 300]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
|
@ -35,6 +35,18 @@ function quirksTest(rootDisplay, bodyDisplay) {
|
||||||
assert_equals(quirksDoc.scrollingElement, quirksDoc.body,
|
assert_equals(quirksDoc.scrollingElement, quirksDoc.body,
|
||||||
"scrollingElement in quirks mode should default to body element.");
|
"scrollingElement in quirks mode should default to body element.");
|
||||||
|
|
||||||
|
quirksDoc.documentElement.style.overflow = "clip";
|
||||||
|
quirksDoc.body.style.overflow = "auto";
|
||||||
|
assert_equals(quirksDoc.scrollingElement, null);
|
||||||
|
quirksDoc.body.style.overflow = "hidden";
|
||||||
|
assert_equals(quirksDoc.scrollingElement, null);
|
||||||
|
quirksDoc.body.style.overflow = "scroll";
|
||||||
|
assert_equals(quirksDoc.scrollingElement, null);
|
||||||
|
quirksDoc.body.style.overflow = "visible";
|
||||||
|
assert_equals(quirksDoc.scrollingElement, quirksDoc.body);
|
||||||
|
quirksDoc.body.style.overflow = "clip";
|
||||||
|
assert_equals(quirksDoc.scrollingElement, quirksDoc.body);
|
||||||
|
|
||||||
quirksDoc.documentElement.style.overflow = "scroll";
|
quirksDoc.documentElement.style.overflow = "scroll";
|
||||||
quirksDoc.body.style.overflow = "scroll";
|
quirksDoc.body.style.overflow = "scroll";
|
||||||
assert_equals(quirksDoc.scrollingElement, null,
|
assert_equals(quirksDoc.scrollingElement, null,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue