Changeset 67178 in webkit
- Timestamp:
- Sep 10, 2010 12:45:15 AM (14 years ago)
- Location:
- trunk
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r67175 r67178 1 2010-09-10 Dirk Pranke <dpranke@chromium.org> 2 3 Reviewed by Kent Tamura. 4 5 roll out r66992 and r66997 - possibly introduced a perf slowdown in chromium tests 6 https://bugs.webkit.org/show_bug.cgi?id=45524 7 8 * fast/replaced/object-param-url-control-char.html: 9 * fast/replaced/object-with-embed-url-param-expected.txt: 10 * fast/replaced/object-with-embed-url-param.html: 11 1 12 2010-09-10 Ryosuke Niwa <rniwa@webkit.org> 2 13 -
trunk/LayoutTests/fast/replaced/object-param-url-control-char.html
r66992 r67178 22 22 </head> 23 23 <body> 24 <object width="0" height="0" type="application/x-webkit-test-netscape">24 <object width="0" height="0"> 25 25 <param name="movie" value=" 26 26 uRl('scheme://url-with-control-char/') -
trunk/LayoutTests/fast/replaced/object-with-embed-url-param-expected.txt
r66992 r67178 1 1 2 This test verifies that the right URL is loaded when there is an <object> with a 'src' <param> and a fallback <embed>. 2 3 … … 4 5 An <object> with a 'src' <param> should load the URL from the 'src' <param> and does. 5 6 An <object> with no URL specified and a nested <embed> should load the URL from the 'src' @attr of the <embed> and does. 6 An <object> with a URL specified in a 'src' <param> and a nested <embed> should load the URL from the 'src' @attr of the <embed> and does. 7 An <object> with a URL specified in a 'src' <param> and a MIME type specified in a 'type' <param> should load the URL from the 'src' <param> and does. 8 7 -
trunk/LayoutTests/fast/replaced/object-with-embed-url-param.html
r66992 r67178 10 10 var object2Result = ""; 11 11 var embed3Result = ""; 12 var embed4Result = "";13 var object5Result = "";14 var notified = false;15 12 16 13 document.addEventListener("beforeload", function(event) { 14 17 15 if (event.url == "") 18 16 return; … … 24 22 } else if (event.target.id == "embed3") { 25 23 embed3Result = (event.url == "embed-attr" ? "does" : "does not"); 26 } else if (event.target.id == "embed4") {27 embed4Result = (event.url == "embed-attr" ? "does" : "does not");28 } else if (event.target.id == "object5") {29 object5Result = (event.url == "object-param" ? "does" : "does not");30 24 } 31 25 32 if ( !notified && object1Result != "" && object2Result != "" && embed3Result != "" && embed4Result != "" && object5Result != "") {26 if (object1Result != "" && object2Result != "" && embed3Result != "") { 33 27 debug("An <object> with a 'data' @attr and a 'src' <param> should load the URL from the 'data' @attr and " + object1Result + "."); 34 28 debug("An <object> with a 'src' <param> should load the URL from the 'src' <param> and " + object2Result + "."); 35 29 debug("An <object> with no URL specified and a nested <embed> should load the URL from the 'src' @attr of the <embed> and " + embed3Result + "."); 36 debug("An <object> with a URL specified in a 'src' <param> and a nested <embed> should load the URL from the 'src' @attr of the <embed> and " + embed3Result + ".");37 debug("An <object> with a URL specified in a 'src' <param> and a MIME type specified in a 'type' <param> should load the URL from the 'src' <param> and " + object5Result + ".");38 notified = true;39 30 if (window.layoutTestController) 40 31 layoutTestController.notifyDone(); … … 48 39 </head> 49 40 <body> 50 <p>This test verifies that the right URL is loaded when there is an <object> with a 'src' <param> and a fallback <embed>.</p>51 <div id="console"></div>52 41 <object id="object1" type="application/x-webkit-test-netscape" data="object-attr"> 53 <param name="src" value="object-param"></param>42 <param id="param1" name="src" value="object-param"></param> 54 43 <embed id="embed1" type="application/x-webkit-test-netscape" src="embed-attr"> 55 44 </object> 56 45 <object id="object2" type="application/x-webkit-test-netscape"> 57 <param name="movie" value="object-param"></param>46 <param id="param2" name="movie" value="object-param"></param> 58 47 <embed id="embed2" type="application/x-webkit-test-netscape" src="embed-attr"> 59 48 </object> … … 61 50 <embed id="embed3" type="application/x-webkit-test-netscape" src="embed-attr"> 62 51 </object> 63 <object id="object4"> 64 <param name="code" value="object-param"></param> 65 <embed id="embed4" type="application/x-webkit-test-netscape" src="embed-attr"> 66 </object> 67 <object id="object5"> 68 <param name="url" value="object-param"></param> 69 <param name="type" value="application/x-webkit-test-netscape"></param> 70 </object> 52 <p>This test verifies that the right URL is loaded when there is an <object> with a 'src' <param> and a fallback <embed>.</p> 53 <div id="console"></div> 71 54 </body> 72 55 </html> -
trunk/WebCore/ChangeLog
r67176 r67178 1 2010-09-10 Dirk Pranke <dpranke@chromium.org> 2 3 Reviewed by Kent Tamura. 4 5 roll out r66992 and r66997 - possibly introduced a perf slowdown in chromium tests 6 https://bugs.webkit.org/show_bug.cgi?id=45524 7 8 * html/HTMLObjectElement.cpp: 9 (WebCore::HTMLObjectElement::parametersForPlugin): 10 (WebCore::HTMLObjectElement::updateWidget): 11 * loader/SubframeLoader.cpp: 12 (WebCore::SubframeLoader::requestFrame): 13 * loader/SubframeLoader.h: 14 1 15 2010-09-10 Ryosuke Niwa <rniwa@webkit.org> 2 16 -
trunk/WebCore/html/HTMLObjectElement.cpp
r66997 r67178 164 164 { 165 165 HashSet<StringImpl*, CaseFoldingHash> uniqueParamNames; 166 String urlParameter;167 166 168 167 // Scan the PARAM children and store their name/value pairs. … … 182 181 183 182 // FIXME: url adjustment does not belong in this function. 184 if (url.isEmpty() && urlParameter.isEmpty() &&(equalIgnoringCase(name, "src") || equalIgnoringCase(name, "movie") || equalIgnoringCase(name, "code") || equalIgnoringCase(name, "url")))185 url Parameter= deprecatedParseURL(p->value());183 if (url.isEmpty() && (equalIgnoringCase(name, "src") || equalIgnoringCase(name, "movie") || equalIgnoringCase(name, "code") || equalIgnoringCase(name, "url"))) 184 url = deprecatedParseURL(p->value()); 186 185 // FIXME: serviceType calculation does not belong in this function. 187 186 if (serviceType.isEmpty() && equalIgnoringCase(name, "type")) { … … 219 218 mapDataParamToSrc(¶mNames, ¶mValues); 220 219 221 // HTML5 says that an object resource's URL is specified by the object's data 222 // attribute, not by a param element. However, for compatibility, allow the 223 // resource's URL to be given by a param named "src", "movie", "code" or "url" 224 // if we know that resource points to a plug-in. 225 if (url.isEmpty() && !urlParameter.isEmpty()) { 226 SubframeLoader* loader = document()->frame()->loader()->subframeLoader(); 227 if (loader->resourceWillUsePlugin(urlParameter, serviceType)) 228 url = urlParameter; 229 } 220 // If we still don't have a type, try to map from a specific CLASSID to a type. 221 if (serviceType.isEmpty()) 222 serviceType = serviceTypeForClassId(classId()); 230 223 } 231 224 … … 258 251 259 252 String url = this->url(); 260 261 // If the object does not specify a MIME type via a type attribute, but does262 // contain a classid attribute, try to map the classid to a MIME type.263 253 String serviceType = this->serviceType(); 264 if (serviceType.isEmpty())265 serviceType = serviceTypeForClassId(classId());266 254 267 255 // FIXME: These should be joined into a PluginParameters class. -
trunk/WebCore/loader/SubframeLoader.cpp
r66992 r67178 88 88 return true; 89 89 } 90 91 bool SubframeLoader::resourceWillUsePlugin(const String& url, const String& mimeType)92 {93 KURL completedURL;94 if (!url.isEmpty())95 completedURL = completeURL(url);96 bool useFallback;97 return shouldUsePlugin(completedURL, mimeType, false, useFallback);98 }99 90 100 91 bool SubframeLoader::requestObject(HTMLPlugInImageElement* ownerElement, const String& url, const AtomicString& frameName, -
trunk/WebCore/loader/SubframeLoader.h
r66997 r67178 76 76 77 77 bool containsPlugins() const { return m_containsPlugins; } 78 79 bool resourceWillUsePlugin(const String& url, const String& mimeType);80 78 81 79 private:
Note: See TracChangeset
for help on using the changeset viewer.