nsCOMPtr<nsIContent> sibling; if (NS_SUCCEEDED(splitterSiblingFrame->GetContent(getter_AddRefs(sibling))) && sibling) {
nsIContent* sibling = splitterSiblingFrame->GetContent(); if (sibling) {
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);        nsCOMPtr<nsIContent> sibling;        if (NS_SUCCEEDED(splitterSiblingFrame->GetContent(getter_AddRefs(sibling)))            && 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;  }