Outer scrolling content
Inner scrolling content
Fixed background

(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 2)
      (vertical scroll elasticity 2)
      (horizontal scrollbar mode 0)
      (vertical scrollbar mode 0))
    (synchronous scrolling reasons Has slow repaint objects, Has slow repaint descendant scrollers)
    (layout viewport (0,0) width=800 height=600)
    (min layoutViewport origin (0,0))
    (max layoutViewport origin (0,0))
    (behavior for fixed 0)
    (overflow scrolling node
      (scrollable area size width=405 height=305)
      (total content size width=405 height=1020)
      (last committed scroll position (0,0))
      (scrollable area parameters
        (horizontal scroll elasticity 0)
        (vertical scroll elasticity 0)
        (horizontal scrollbar mode 0)
        (vertical scrollbar mode 0)
        (allows vertical scrolling 1))
      (synchronous scrolling reasons Has slow repaint descendant scrollers)
      (overflow scrolling node
        (scrollable area size width=355 height=305)
        (total content size width=410 height=1020)
        (last committed scroll position (0,0))
        (scrollable area parameters
          (horizontal scroll elasticity 0)
          (vertical scroll elasticity 0)
          (horizontal scrollbar mode 0)
          (vertical scrollbar mode 0)
          (allows horizontal scrolling 1)
          (allows vertical scrolling 1))
        (synchronous scrolling reasons Has slow repaint objects)))))

