| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2009 Google Inc. All rights reserved. | 2 * Copyright (C) 2009 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 176 bool MHTMLFrameSerializerDelegate::ShouldIgnoreAttribute( | 176 bool MHTMLFrameSerializerDelegate::ShouldIgnoreAttribute( |
| 177 const Element& element, | 177 const Element& element, |
| 178 const Attribute& attribute) { | 178 const Attribute& attribute) { |
| 179 // TODO(fgorski): Presence of srcset attribute causes MHTML to not display | 179 // TODO(fgorski): Presence of srcset attribute causes MHTML to not display |
| 180 // images, as only the value of src is pulled into the archive. Discarding | 180 // images, as only the value of src is pulled into the archive. Discarding |
| 181 // srcset prevents the problem. Long term we should make sure to MHTML plays | 181 // srcset prevents the problem. Long term we should make sure to MHTML plays |
| 182 // nicely with srcset. | 182 // nicely with srcset. |
| 183 if (attribute.LocalName() == HTMLNames::srcsetAttr) | 183 if (attribute.LocalName() == HTMLNames::srcsetAttr) |
| 184 return true; | 184 return true; |
| 185 | 185 |
| 186 // Do not save ping attribute since anyway the ping will be blocked from |
| 187 // MHTML. |
| 188 if (isHTMLAnchorElement(element) && |
| 189 attribute.LocalName() == HTMLNames::pingAttr) { |
| 190 return true; |
| 191 } |
| 192 |
| 186 // If srcdoc attribute for frame elements will be rewritten as src attribute | 193 // If srcdoc attribute for frame elements will be rewritten as src attribute |
| 187 // containing link instead of html contents, don't ignore the attribute. | 194 // containing link instead of html contents, don't ignore the attribute. |
| 188 // Bail out now to avoid the check in Element::isScriptingAttribute. | 195 // Bail out now to avoid the check in Element::isScriptingAttribute. |
| 189 bool is_src_doc_attribute = IsHTMLFrameElementBase(element) && | 196 bool is_src_doc_attribute = IsHTMLFrameElementBase(element) && |
| 190 attribute.GetName() == HTMLNames::srcdocAttr; | 197 attribute.GetName() == HTMLNames::srcdocAttr; |
| 191 String new_link_for_the_element; | 198 String new_link_for_the_element; |
| 192 if (is_src_doc_attribute && RewriteLink(element, new_link_for_the_element)) | 199 if (is_src_doc_attribute && RewriteLink(element, new_link_for_the_element)) |
| 193 return false; | 200 return false; |
| 194 | 201 |
| 195 // Do not include attributes that contain javascript. This is because the | 202 // Do not include attributes that contain javascript. This is because the |
| (...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 460 const WebString& base_target) { | 467 const WebString& base_target) { |
| 461 // TODO(yosin) We should call |FrameSerializer::baseTagDeclarationOf()|. | 468 // TODO(yosin) We should call |FrameSerializer::baseTagDeclarationOf()|. |
| 462 if (base_target.IsEmpty()) | 469 if (base_target.IsEmpty()) |
| 463 return String("<base href=\".\">"); | 470 return String("<base href=\".\">"); |
| 464 String base_string = "<base href=\".\" target=\"" + | 471 String base_string = "<base href=\".\" target=\"" + |
| 465 static_cast<const String&>(base_target) + "\">"; | 472 static_cast<const String&>(base_target) + "\">"; |
| 466 return base_string; | 473 return base_string; |
| 467 } | 474 } |
| 468 | 475 |
| 469 } // namespace blink | 476 } // namespace blink |
| OLD | NEW |