Both Visible


Horizontal visible


Vertical visible


None visible



(scrolling tree
  (frame scrolling node
    (scrollable area size width=800 height=600)
    (total content size width=800 height=600)
    (last committed scroll position (0,0))
    (scrollable area parameters
      (horizontal scroll elasticity 1)
      (vertical scroll elasticity 1)
      (horizontal scrollbar mode 0)
      (vertical scrollbar mode 0)
      (horizontal scrollbar hidden by style 1)
      (vertical scrollbar hidden by style 1))
    (layout viewport (0,0) width=800 height=600)
    (min layoutViewport origin (0,0))
    (max layoutViewport origin (0,0))
    (behavior for fixed 0)
    (frame hosting node
      (frame scrolling node
        (scrollable area size width=300 height=150)
        (total content size width=1008 height=1016)
        (last committed scroll position (0,0))
        (scrollable area parameters
          (horizontal scroll elasticity 1)
          (vertical scroll elasticity 1)
          (horizontal scrollbar mode 0)
          (vertical scrollbar mode 0))
        (layout viewport (0,0) width=300 height=150)
        (min layoutViewport origin (0,0))
        (max layoutViewport origin (708,866))
        (behavior for fixed 0)))
    (frame hosting node
      (frame scrolling node
        (scrollable area size width=300 height=150)
        (total content size width=1008 height=1016)
        (last committed scroll position (0,0))
        (scrollable area parameters
          (horizontal scroll elasticity 1)
          (vertical scroll elasticity 1)
          (horizontal scrollbar mode 0)
          (vertical scrollbar mode 0)
          (vertical scrollbar hidden by style 1))
        (layout viewport (0,0) width=300 height=150)
        (min layoutViewport origin (0,0))
        (max layoutViewport origin (708,866))
        (behavior for fixed 0)))
    (frame hosting node
      (frame scrolling node
        (scrollable area size width=300 height=150)
        (total content size width=1008 height=1016)
        (last committed scroll position (0,0))
        (scrollable area parameters
          (horizontal scroll elasticity 1)
          (vertical scroll elasticity 1)
          (horizontal scrollbar mode 0)
          (vertical scrollbar mode 0)
          (horizontal scrollbar hidden by style 1))
        (layout viewport (0,0) width=300 height=150)
        (min layoutViewport origin (0,0))
        (max layoutViewport origin (708,866))
        (behavior for fixed 0)))
    (frame hosting node
      (frame scrolling node
        (scrollable area size width=300 height=150)
        (total content size width=1008 height=1016)
        (last committed scroll position (0,0))
        (scrollable area parameters
          (horizontal scroll elasticity 1)
          (vertical scroll elasticity 1)
          (horizontal scrollbar mode 0)
          (vertical scrollbar mode 0)
          (horizontal scrollbar hidden by style 1)
          (vertical scrollbar hidden by style 1))
        (layout viewport (0,0) width=300 height=150)
        (min layoutViewport origin (0,0))
        (max layoutViewport origin (708,866))
        (behavior for fixed 0)))))
