rv = GenerateStateKey(content, aID, stateKey);
rv = nsContentUtils::GenerateStateKey(content, aID, stateKey);
FrameManager::RestoreFrameStateFor(nsIPresContext* aPresContext, nsIFrame* aFrame, nsILayoutHistoryState* aState, nsIStatefulFrame::SpecialStateID aID){  NS_ENSURE_TRUE(mPresShell && aFrame && aState, NS_ERROR_FAILURE);  // Only capture state for stateful frames  nsIStatefulFrame* statefulFrame = nsnull;  aFrame->QueryInterface(NS_GET_IID(nsIStatefulFrame), (void**) &statefulFrame);  if (!statefulFrame) {    return NS_OK;  }  // Generate the hash key the state was stored under  // Exit early if we get empty key  nsresult rv = NS_OK;  nsCOMPtr<nsIContent> content;  rv = aFrame->GetContent(getter_AddRefs(content));  // If we don't have content, we can't generate a hash  // key and there's probably no state information for us.  if (!content) {    return rv;  }  nsCAutoString stateKey;  rv = GenerateStateKey(content, aID, stateKey);  if (NS_FAILED(rv) || stateKey.IsEmpty()) {    return rv;  }  // Get the state from the hash  nsCOMPtr<nsIPresState> frameState;  rv = aState->GetState(stateKey, getter_AddRefs(frameState));  if (!frameState) {    return NS_OK;  }  // Restore it  rv = statefulFrame->RestoreState(aPresContext, frameState);  NS_ENSURE_SUCCESS(rv, rv);  // If we restore ok, remove the state from the state table  return aState->RemoveState(stateKey);}