if (NS_SUCCEEDED(kidView->QueryInterface(kScrollViewIID, (void**)&scrollingView))) {
if (NS_SUCCEEDED(kidView->QueryInterface(NS_GET_IID(nsIScrollableView), (void**)&scrollingView))) {
ViewportFrame::CalculateFixedContainingBlockSize(nsIPresContext*          aPresContext,                                                 const nsHTMLReflowState& aReflowState,                                                 nscoord&                 aWidth,                                                 nscoord&                 aHeight) const{  // Initialize the values to the computed width/height in our reflow  // state struct  aWidth = aReflowState.mComputedWidth;  aHeight = aReflowState.mComputedHeight;  // Get our prinicpal child frame and see if we're scrollable  nsIFrame* kidFrame = mFrames.FirstChild();  nsIView*  kidView;  kidFrame->GetView(aPresContext, &kidView);  if (nsnull != kidView) {    nsIScrollableView* scrollingView;        if (NS_SUCCEEDED(kidView->QueryInterface(kScrollViewIID, (void**)&scrollingView))) {      // Get the scrollbar dimensions      float             sbWidth, sbHeight;      nsCOMPtr<nsIDeviceContext> dc;      aPresContext->GetDeviceContext(getter_AddRefs(dc));      dc->GetScrollBarDimensions(sbWidth, sbHeight);            // See if the scrollbars are visible      PRBool  vertSBVisible, horzSBVisible;            scrollingView->GetScrollbarVisibility(&vertSBVisible, &horzSBVisible);      if (vertSBVisible) {        aWidth -= NSToCoordRound(sbWidth);      }      if (horzSBVisible) {        aHeight -= NSToCoordRound(sbHeight);      }    }  }}