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)
        (has enabled vertical scrollbar 1))
      (synchronous scrolling reasons Has slow repaint descendant scrollers))
    (overflow scroll proxy node
      (related overflow scrolling node scroll position (0,0))
      (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)
          (has enabled horizontal scrollbar 1)
          (has enabled vertical scrollbar 1))
        (synchronous scrolling reasons Has slow repaint objects)))))

