void ProcessingInstruction::setCSSStyleSheet( const String& href, const KURL& baseURL, const String& charset, const CSSStyleSheetResource* sheet) { if (!isConnected()) { DCHECK(!m_sheet); return; } DCHECK(m_isCSS); CSSParserContext parserContext(document(), nullptr, baseURL, charset); StyleSheetContents* newSheet = StyleSheetContents::create(href, parserContext); CSSStyleSheet* cssSheet = CSSStyleSheet::create(newSheet, *this); cssSheet->setDisabled(m_alternate); cssSheet->setTitle(m_title); if (!m_alternate && !m_title.isEmpty()) document().styleEngine().setPreferredStylesheetSetNameIfNotSet( m_title, StyleEngine::DontUpdateActiveSheets); cssSheet->setMediaQueries(MediaQuerySet::create(m_media)); m_sheet = cssSheet; // We don't need the cross-origin security check here because we are // getting the sheet text in "strict" mode. This enforces a valid CSS MIME // type. parseStyleSheet(sheet->sheetText()); }