I ran into a issue today where a scrollable element inside the content process did not have an APZC created for it, even though APZ was enabled. Some debugging revealed that layout was constructing a scroll info layer for it, but that layer was discarded before making it into the final layer tree. I debugged this further with the help of :tn and it turned out the problem has to do with layout's handling of nsDisplayTransform and inactive layer managers.
Created attachment 8338844 [details] [diff] [review] bug943619.patch This is tn's suggested fix.
The expand on that, the problem was that the scroll info layer was created inside an inactive transform, so it got flattened away and never made it to the final layer tree. The problem was that child display items with LAYER_ACTIVE_EMPTY did not force their parents to be active (like LAYER_ACTIVE does).