REPORT_UNEXPECTED_TOKEN();
PRBool CSSParserImpl::GatherMedia(PRInt32& aErrorCode, nsString& aMedia,                                   nsISupportsArray* aMediaAtoms){  PRBool first = PR_TRUE;  PRBool expectIdent = PR_TRUE;  for (;;) {    if (!GetToken(aErrorCode, PR_TRUE)) {      break;    }    if (eCSSToken_Symbol == mToken.mType) {      PRUnichar symbol = mToken.mSymbol;      if ((';' == symbol) || ('{' == symbol)) {        UngetToken();        return PR_TRUE;      } else if (',' != symbol) {        UngetToken();        break;      } else if (expectIdent) {        UngetToken();        break;      }      else {        expectIdent = PR_TRUE;      }    }    else if (eCSSToken_Ident == mToken.mType) {      if (expectIdent) {        if (! first) {          aMedia.AppendWithConversion(',');        }        mToken.mIdent.ToLowerCase();  // case insensitive from CSS - must be lower cased        if (aMediaAtoms) {          nsIAtom* medium = NS_NewAtom(mToken.mIdent);          aMediaAtoms->AppendElement(medium);          NS_RELEASE(medium);        }        aMedia.Append(mToken.mIdent);        first = PR_FALSE;        expectIdent = PR_FALSE;      }      else {        UngetToken();        break;      }    }    else {      UngetToken();      break;    }  }  aMedia.Truncate();  if (aMediaAtoms) {    aMediaAtoms->Clear();  }  return PR_FALSE;}