nsIFrame* splitterSiblingFrame = nsnull; splitterSibling->GetFrame(&splitterSiblingFrame); nsIContent* sibling = splitterSiblingFrame->GetContent();
nsIContent* sibling = splitterSibling->GetContent();
nsSplitterFrameInner::UpdateState(){  // State Transitions:  //   Open      -> Dragging  //   Open      -> Collapsed  //   Collapsed -> Open  //   Collapsed -> Dragging  //   Dragging  -> Open  //   Dragging  -> Collapsed (auto collapse)  State newState = GetState();   if (newState == mState) {    // No change.    return;  }  CollapseDirection direction = GetCollapseDirection();  if (direction != None) {    nsIBox* splitter = mOuter;    // Find the splitter's immediate sibling.    nsIBox* splitterSibling =      nsFrameNavigator::GetChildBeforeAfter(mOuter->mPresContext, splitter,                                            (direction == Before));    if (splitterSibling) {      nsIFrame* splitterSiblingFrame = nsnull;      splitterSibling->GetFrame(&splitterSiblingFrame);      nsIContent* sibling = splitterSiblingFrame->GetContent();      if (sibling) {        if (mState == Collapsed) {          // Collapsed -> Open          // Collapsed -> Dragging          sibling->UnsetAttr(kNameSpaceID_None, nsXULAtoms::collapsed,                             PR_TRUE);        } else if ((mState == Open || mState == Dragging)                    && newState == Collapsed) {          // Open -> Collapsed          // Dragging -> Collapsed          sibling->SetAttr(kNameSpaceID_None, nsXULAtoms::collapsed,                           NS_LITERAL_STRING("true"), PR_TRUE);        }      }    }  }  mState = newState;}