Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(123)

Side by Side Diff: Source/WebCore/dom/ProcessingInstruction.cpp

Issue 14113007: Remove the ENABLE_XSLT compile-time flag. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « Source/WebCore/dom/ProcessingInstruction.h ('k') | Source/WebCore/dom/TransformSource.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2000 Peter Kelly (pmk@post.com) 2 * Copyright (C) 2000 Peter Kelly (pmk@post.com)
3 * Copyright (C) 2006, 2008, 2009 Apple Inc. All rights reserved. 3 * Copyright (C) 2006, 2008, 2009 Apple Inc. All rights reserved.
4 * 4 *
5 * This library is free software; you can redistribute it and/or 5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Library General Public 6 * modify it under the terms of the GNU Library General Public
7 * License as published by the Free Software Foundation; either 7 * License as published by the Free Software Foundation; either
8 * version 2 of the License, or (at your option) any later version. 8 * version 2 of the License, or (at your option) any later version.
9 * 9 *
10 * This library is distributed in the hope that it will be useful, 10 * This library is distributed in the hope that it will be useful,
(...skipping 29 matching lines...) Expand all
40 40
41 inline ProcessingInstruction::ProcessingInstruction(Document* document, const St ring& target, const String& data) 41 inline ProcessingInstruction::ProcessingInstruction(Document* document, const St ring& target, const String& data)
42 : Node(document, CreateOther) 42 : Node(document, CreateOther)
43 , m_target(target) 43 , m_target(target)
44 , m_data(data) 44 , m_data(data)
45 , m_cachedSheet(0) 45 , m_cachedSheet(0)
46 , m_loading(false) 46 , m_loading(false)
47 , m_alternate(false) 47 , m_alternate(false)
48 , m_createdByParser(false) 48 , m_createdByParser(false)
49 , m_isCSS(false) 49 , m_isCSS(false)
50 #if ENABLE(XSLT)
51 , m_isXSL(false) 50 , m_isXSL(false)
52 #endif
53 { 51 {
54 ScriptWrappable::init(this); 52 ScriptWrappable::init(this);
55 } 53 }
56 54
57 PassRefPtr<ProcessingInstruction> ProcessingInstruction::create(Document* docume nt, const String& target, const String& data) 55 PassRefPtr<ProcessingInstruction> ProcessingInstruction::create(Document* docume nt, const String& target, const String& data)
58 { 56 {
59 return adoptRef(new ProcessingInstruction(document, target, data)); 57 return adoptRef(new ProcessingInstruction(document, target, data));
60 } 58 }
61 59
62 ProcessingInstruction::~ProcessingInstruction() 60 ProcessingInstruction::~ProcessingInstruction()
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
116 bool attrsOk; 114 bool attrsOk;
117 const HashMap<String, String> attrs = parseAttributes(m_data, attrsOk); 115 const HashMap<String, String> attrs = parseAttributes(m_data, attrsOk);
118 if (!attrsOk) 116 if (!attrsOk)
119 return; 117 return;
120 HashMap<String, String>::const_iterator i = attrs.find("type"); 118 HashMap<String, String>::const_iterator i = attrs.find("type");
121 String type; 119 String type;
122 if (i != attrs.end()) 120 if (i != attrs.end())
123 type = i->value; 121 type = i->value;
124 122
125 m_isCSS = type.isEmpty() || type == "text/css"; 123 m_isCSS = type.isEmpty() || type == "text/css";
126 #if ENABLE(XSLT)
127 m_isXSL = (type == "text/xml" || type == "text/xsl" || type == "applicat ion/xml" || 124 m_isXSL = (type == "text/xml" || type == "text/xsl" || type == "applicat ion/xml" ||
128 type == "application/xhtml+xml" || type == "application/rss+x ml" || type == "application/atom+xml"); 125 type == "application/xhtml+xml" || type == "application/rss+x ml" || type == "application/atom+xml");
129 if (!m_isCSS && !m_isXSL) 126 if (!m_isCSS && !m_isXSL)
130 #else
131 if (!m_isCSS)
132 #endif
133 return; 127 return;
134 128
135 String href = attrs.get("href"); 129 String href = attrs.get("href");
136 String alternate = attrs.get("alternate"); 130 String alternate = attrs.get("alternate");
137 m_alternate = alternate == "yes"; 131 m_alternate = alternate == "yes";
138 m_title = attrs.get("title"); 132 m_title = attrs.get("title");
139 m_media = attrs.get("media"); 133 m_media = attrs.get("media");
140 134
141 if (m_alternate && m_title.isEmpty()) 135 if (m_alternate && m_title.isEmpty())
142 return; 136 return;
143 137
144 if (href.length() > 1 && href[0] == '#') { 138 if (href.length() > 1 && href[0] == '#') {
145 m_localHref = href.substring(1); 139 m_localHref = href.substring(1);
146 #if ENABLE(XSLT)
147 // We need to make a synthetic XSLStyleSheet that is embedded. It n eeds to be able 140 // We need to make a synthetic XSLStyleSheet that is embedded. It n eeds to be able
148 // to kick off import/include loads that can hang off some parent sh eet. 141 // to kick off import/include loads that can hang off some parent sh eet.
149 if (m_isXSL) { 142 if (m_isXSL) {
150 KURL finalURL(ParsedURLString, m_localHref); 143 KURL finalURL(ParsedURLString, m_localHref);
151 m_sheet = XSLStyleSheet::createEmbedded(this, finalURL); 144 m_sheet = XSLStyleSheet::createEmbedded(this, finalURL);
152 m_loading = false; 145 m_loading = false;
153 } 146 }
154 #endif
155 } else { 147 } else {
156 if (m_cachedSheet) { 148 if (m_cachedSheet) {
157 m_cachedSheet->removeClient(this); 149 m_cachedSheet->removeClient(this);
158 m_cachedSheet = 0; 150 m_cachedSheet = 0;
159 } 151 }
160 152
161 String url = document()->completeURL(href).string(); 153 String url = document()->completeURL(href).string();
162 if (!dispatchBeforeLoadEvent(url)) 154 if (!dispatchBeforeLoadEvent(url))
163 return; 155 return;
164 156
165 m_loading = true; 157 m_loading = true;
166 document()->styleSheetCollection()->addPendingSheet(); 158 document()->styleSheetCollection()->addPendingSheet();
167 159
168 CachedResourceRequest request(ResourceRequest(document()->completeUR L(href))); 160 CachedResourceRequest request(ResourceRequest(document()->completeUR L(href)));
169 #if ENABLE(XSLT)
170 if (m_isXSL) 161 if (m_isXSL)
171 m_cachedSheet = document()->cachedResourceLoader()->requestXSLSt yleSheet(request); 162 m_cachedSheet = document()->cachedResourceLoader()->requestXSLSt yleSheet(request);
172 else 163 else
173 #endif
174 { 164 {
175 String charset = attrs.get("charset"); 165 String charset = attrs.get("charset");
176 if (charset.isEmpty()) 166 if (charset.isEmpty())
177 charset = document()->charset(); 167 charset = document()->charset();
178 request.setCharset(charset); 168 request.setCharset(charset);
179 169
180 m_cachedSheet = document()->cachedResourceLoader()->requestCSSSt yleSheet(request); 170 m_cachedSheet = document()->cachedResourceLoader()->requestCSSSt yleSheet(request);
181 } 171 }
182 if (m_cachedSheet) 172 if (m_cachedSheet)
183 m_cachedSheet->addClient(this); 173 m_cachedSheet->addClient(this);
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
226 cssSheet->setMediaQueries(MediaQuerySet::create(m_media)); 216 cssSheet->setMediaQueries(MediaQuerySet::create(m_media));
227 217
228 m_sheet = cssSheet.release(); 218 m_sheet = cssSheet.release();
229 219
230 // We don't need the cross-origin security check here because we are 220 // We don't need the cross-origin security check here because we are
231 // getting the sheet text in "strict" mode. This enforces a valid CSS MIME 221 // getting the sheet text in "strict" mode. This enforces a valid CSS MIME
232 // type. 222 // type.
233 parseStyleSheet(sheet->sheetText(true)); 223 parseStyleSheet(sheet->sheetText(true));
234 } 224 }
235 225
236 #if ENABLE(XSLT)
237 void ProcessingInstruction::setXSLStyleSheet(const String& href, const KURL& bas eURL, const String& sheet) 226 void ProcessingInstruction::setXSLStyleSheet(const String& href, const KURL& bas eURL, const String& sheet)
238 { 227 {
239 ASSERT(m_isXSL); 228 ASSERT(m_isXSL);
240 m_sheet = XSLStyleSheet::create(this, href, baseURL); 229 m_sheet = XSLStyleSheet::create(this, href, baseURL);
241 parseStyleSheet(sheet); 230 parseStyleSheet(sheet);
242 } 231 }
243 #endif
244 232
245 void ProcessingInstruction::parseStyleSheet(const String& sheet) 233 void ProcessingInstruction::parseStyleSheet(const String& sheet)
246 { 234 {
247 if (m_isCSS) 235 if (m_isCSS)
248 static_cast<CSSStyleSheet*>(m_sheet.get())->contents()->parseString(shee t); 236 static_cast<CSSStyleSheet*>(m_sheet.get())->contents()->parseString(shee t);
249 #if ENABLE(XSLT)
250 else if (m_isXSL) 237 else if (m_isXSL)
251 static_cast<XSLStyleSheet*>(m_sheet.get())->parseString(sheet); 238 static_cast<XSLStyleSheet*>(m_sheet.get())->parseString(sheet);
252 #endif
253 239
254 if (m_cachedSheet) 240 if (m_cachedSheet)
255 m_cachedSheet->removeClient(this); 241 m_cachedSheet->removeClient(this);
256 m_cachedSheet = 0; 242 m_cachedSheet = 0;
257 243
258 m_loading = false; 244 m_loading = false;
259 245
260 if (m_isCSS) 246 if (m_isCSS)
261 static_cast<CSSStyleSheet*>(m_sheet.get())->contents()->checkLoaded(); 247 static_cast<CSSStyleSheet*>(m_sheet.get())->contents()->checkLoaded();
262 #if ENABLE(XSLT)
263 else if (m_isXSL) 248 else if (m_isXSL)
264 static_cast<XSLStyleSheet*>(m_sheet.get())->checkLoaded(); 249 static_cast<XSLStyleSheet*>(m_sheet.get())->checkLoaded();
265 #endif
266 } 250 }
267 251
268 void ProcessingInstruction::setCSSStyleSheet(PassRefPtr<CSSStyleSheet> sheet) 252 void ProcessingInstruction::setCSSStyleSheet(PassRefPtr<CSSStyleSheet> sheet)
269 { 253 {
270 ASSERT(!m_cachedSheet); 254 ASSERT(!m_cachedSheet);
271 ASSERT(!m_loading); 255 ASSERT(!m_loading);
272 m_sheet = sheet; 256 m_sheet = sheet;
273 sheet->setTitle(m_title); 257 sheet->setTitle(m_title);
274 sheet->setDisabled(m_alternate); 258 sheet->setDisabled(m_alternate);
275 } 259 }
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
321 document()->styleResolverChanged(DeferRecalcStyle); 305 document()->styleResolverChanged(DeferRecalcStyle);
322 } 306 }
323 307
324 void ProcessingInstruction::finishParsingChildren() 308 void ProcessingInstruction::finishParsingChildren()
325 { 309 {
326 m_createdByParser = false; 310 m_createdByParser = false;
327 Node::finishParsingChildren(); 311 Node::finishParsingChildren();
328 } 312 }
329 313
330 } // namespace 314 } // namespace
OLDNEW
« no previous file with comments | « Source/WebCore/dom/ProcessingInstruction.h ('k') | Source/WebCore/dom/TransformSource.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698