| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserv
ed. | 2 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserv
ed. |
| 3 * Copyright (C) 2008, 2009, 2010, 2011 Google Inc. All rights reserved. | 3 * Copyright (C) 2008, 2009, 2010, 2011 Google Inc. All rights reserved. |
| 4 * Copyright (C) 2011 Igalia S.L. | 4 * Copyright (C) 2011 Igalia S.L. |
| 5 * Copyright (C) 2011 Motorola Mobility. All rights reserved. | 5 * Copyright (C) 2011 Motorola Mobility. All rights reserved. |
| 6 * | 6 * |
| 7 * Redistribution and use in source and binary forms, with or without | 7 * Redistribution and use in source and binary forms, with or without |
| 8 * modification, are permitted provided that the following conditions | 8 * modification, are permitted provided that the following conditions |
| 9 * are met: | 9 * are met: |
| 10 * 1. Redistributions of source code must retain the above copyright | 10 * 1. Redistributions of source code must retain the above copyright |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 44 #include "core/dom/ExceptionCode.h" | 44 #include "core/dom/ExceptionCode.h" |
| 45 #include "core/dom/NodeTraversal.h" | 45 #include "core/dom/NodeTraversal.h" |
| 46 #include "core/dom/Range.h" | 46 #include "core/dom/Range.h" |
| 47 #include "core/editing/Editor.h" | 47 #include "core/editing/Editor.h" |
| 48 #include "core/editing/MarkupAccumulator.h" | 48 #include "core/editing/MarkupAccumulator.h" |
| 49 #include "core/editing/TextIterator.h" | 49 #include "core/editing/TextIterator.h" |
| 50 #include "core/editing/VisibleSelection.h" | 50 #include "core/editing/VisibleSelection.h" |
| 51 #include "core/editing/VisibleUnits.h" | 51 #include "core/editing/VisibleUnits.h" |
| 52 #include "core/editing/htmlediting.h" | 52 #include "core/editing/htmlediting.h" |
| 53 #include "core/frame/LocalFrame.h" | 53 #include "core/frame/LocalFrame.h" |
| 54 #include "core/html/HTMLBRElement.h" |
| 54 #include "core/html/HTMLBodyElement.h" | 55 #include "core/html/HTMLBodyElement.h" |
| 55 #include "core/html/HTMLElement.h" | 56 #include "core/html/HTMLElement.h" |
| 56 #include "core/html/HTMLSpanElement.h" | 57 #include "core/html/HTMLSpanElement.h" |
| 57 #include "core/html/HTMLTableCellElement.h" | 58 #include "core/html/HTMLTableCellElement.h" |
| 58 #include "core/html/HTMLTextFormControlElement.h" | 59 #include "core/html/HTMLTextFormControlElement.h" |
| 59 #include "core/rendering/RenderObject.h" | 60 #include "core/rendering/RenderObject.h" |
| 60 #include "platform/weborigin/KURL.h" | 61 #include "platform/weborigin/KURL.h" |
| 61 #include "wtf/StdLibExtras.h" | 62 #include "wtf/StdLibExtras.h" |
| 62 #include "wtf/text/StringBuilder.h" | 63 #include "wtf/text/StringBuilder.h" |
| 63 | 64 |
| (...skipping 783 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 847 if (text.isEmpty()) | 848 if (text.isEmpty()) |
| 848 return fragment.release(); | 849 return fragment.release(); |
| 849 | 850 |
| 850 String string = text; | 851 String string = text; |
| 851 string.replace("\r\n", "\n"); | 852 string.replace("\r\n", "\n"); |
| 852 string.replace('\r', '\n'); | 853 string.replace('\r', '\n'); |
| 853 | 854 |
| 854 if (shouldPreserveNewline(*context)) { | 855 if (shouldPreserveNewline(*context)) { |
| 855 fragment->appendChild(document.createTextNode(string)); | 856 fragment->appendChild(document.createTextNode(string)); |
| 856 if (string.endsWith('\n')) { | 857 if (string.endsWith('\n')) { |
| 857 RefPtrWillBeRawPtr<Element> element = createBreakElement(document); | 858 RefPtrWillBeRawPtr<HTMLBRElement> element = createBreakElement(docum
ent); |
| 858 element->setAttribute(classAttr, AppleInterchangeNewline); | 859 element->setAttribute(classAttr, AppleInterchangeNewline); |
| 859 fragment->appendChild(element.release()); | 860 fragment->appendChild(element.release()); |
| 860 } | 861 } |
| 861 return fragment.release(); | 862 return fragment.release(); |
| 862 } | 863 } |
| 863 | 864 |
| 864 // A string with no newlines gets added inline, rather than being put into a
paragraph. | 865 // A string with no newlines gets added inline, rather than being put into a
paragraph. |
| 865 if (string.find('\n') == kNotFound) { | 866 if (string.find('\n') == kNotFound) { |
| 866 fillContainerFromString(fragment.get(), string); | 867 fillContainerFromString(fragment.get(), string); |
| 867 return fragment.release(); | 868 return fragment.release(); |
| (...skipping 243 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1111 node->document().updateLayoutIgnorePendingStylesheets(); | 1112 node->document().updateLayoutIgnorePendingStylesheets(); |
| 1112 | 1113 |
| 1113 StyledMarkupAccumulator accumulator(0, ResolveAllURLs, AnnotateForNavigation
Transition, nullptr, 0); | 1114 StyledMarkupAccumulator accumulator(0, ResolveAllURLs, AnnotateForNavigation
Transition, nullptr, 0); |
| 1114 accumulator.serializeNodes(node, NodeTraversal::nextSkippingChildren(*node))
; | 1115 accumulator.serializeNodes(node, NodeTraversal::nextSkippingChildren(*node))
; |
| 1115 | 1116 |
| 1116 static const char* documentMarkup = "<!DOCTYPE html><meta name=\"viewport\"
content=\"width=device-width, user-scalable=0\">"; | 1117 static const char* documentMarkup = "<!DOCTYPE html><meta name=\"viewport\"
content=\"width=device-width, user-scalable=0\">"; |
| 1117 return documentMarkup + accumulator.takeResults(); | 1118 return documentMarkup + accumulator.takeResults(); |
| 1118 } | 1119 } |
| 1119 | 1120 |
| 1120 } | 1121 } |
| OLD | NEW |