| OLD | NEW |
| 1 /* | 1 /* |
| 2 * (C) 1999 Lars Knoll (knoll@kde.org) | 2 * (C) 1999 Lars Knoll (knoll@kde.org) |
| 3 * (C) 2000 Gunnstein Lye (gunnstein@netcom.no) | 3 * (C) 2000 Gunnstein Lye (gunnstein@netcom.no) |
| 4 * (C) 2000 Frederik Holljen (frederik.holljen@hig.no) | 4 * (C) 2000 Frederik Holljen (frederik.holljen@hig.no) |
| 5 * (C) 2001 Peter Kelly (pmk@post.com) | 5 * (C) 2001 Peter Kelly (pmk@post.com) |
| 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All | 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All |
| 7 * rights reserved. | 7 * rights reserved. |
| 8 * Copyright (C) 2011 Motorola Mobility. All rights reserved. | 8 * Copyright (C) 2011 Motorola Mobility. All rights reserved. |
| 9 * | 9 * |
| 10 * This library is free software; you can redistribute it and/or | 10 * This library is free software; you can redistribute it and/or |
| (...skipping 1362 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1373 parentOfNewParent = parentOfNewParent->parentNode(); | 1373 parentOfNewParent = parentOfNewParent->parentNode(); |
| 1374 | 1374 |
| 1375 if (!parentOfNewParent) { | 1375 if (!parentOfNewParent) { |
| 1376 exceptionState.throwDOMException(HierarchyRequestError, | 1376 exceptionState.throwDOMException(HierarchyRequestError, |
| 1377 "The container node is a detached " | 1377 "The container node is a detached " |
| 1378 "character data node; no parent node is " | 1378 "character data node; no parent node is " |
| 1379 "available for insertion."); | 1379 "available for insertion."); |
| 1380 return; | 1380 return; |
| 1381 } | 1381 } |
| 1382 | 1382 |
| 1383 if (!parentOfNewParent->childTypeAllowed(newParent->getNodeType())) { | |
| 1384 exceptionState.throwDOMException(HierarchyRequestError, | |
| 1385 "The node provided is of type '" + | |
| 1386 newParent->nodeName() + | |
| 1387 "', which may not be inserted here."); | |
| 1388 return; | |
| 1389 } | |
| 1390 | |
| 1391 EventQueueScope scope; | 1383 EventQueueScope scope; |
| 1392 | 1384 |
| 1385 // 3. Let fragment be the result of extracting context object. |
| 1386 DocumentFragment* fragment = extractContents(exceptionState); |
| 1387 if (exceptionState.hadException()) |
| 1388 return; |
| 1389 |
| 1393 // 4. If newParent has children, replace all with null within newParent. | 1390 // 4. If newParent has children, replace all with null within newParent. |
| 1394 while (Node* n = newParent->firstChild()) { | 1391 while (Node* n = newParent->firstChild()) { |
| 1395 toContainerNode(newParent)->removeChild(n, exceptionState); | 1392 toContainerNode(newParent)->removeChild(n, exceptionState); |
| 1396 if (exceptionState.hadException()) | 1393 if (exceptionState.hadException()) |
| 1397 return; | 1394 return; |
| 1398 } | 1395 } |
| 1399 | 1396 |
| 1400 // 3. Let fragment be the result of extracting context object. | |
| 1401 DocumentFragment* fragment = extractContents(exceptionState); | |
| 1402 if (exceptionState.hadException()) | |
| 1403 return; | |
| 1404 | |
| 1405 // 5. If newParent has children, replace all with null within newParent. | 1397 // 5. If newParent has children, replace all with null within newParent. |
| 1406 insertNode(newParent, exceptionState); | 1398 insertNode(newParent, exceptionState); |
| 1407 if (exceptionState.hadException()) | 1399 if (exceptionState.hadException()) |
| 1408 return; | 1400 return; |
| 1409 | 1401 |
| 1410 // 6. Append fragment to newParent. | 1402 // 6. Append fragment to newParent. |
| 1411 newParent->appendChild(fragment, exceptionState); | 1403 newParent->appendChild(fragment, exceptionState); |
| 1412 if (exceptionState.hadException()) | 1404 if (exceptionState.hadException()) |
| 1413 return; | 1405 return; |
| 1414 | 1406 |
| (...skipping 413 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1828 .data() | 1820 .data() |
| 1829 << "start offset: " << range->startOffset() | 1821 << "start offset: " << range->startOffset() |
| 1830 << ", end offset: " << range->endOffset(); | 1822 << ", end offset: " << range->endOffset(); |
| 1831 } else { | 1823 } else { |
| 1832 LOG(INFO) << "Cannot show tree if range is null, or if boundary points are " | 1824 LOG(INFO) << "Cannot show tree if range is null, or if boundary points are " |
| 1833 "invalid."; | 1825 "invalid."; |
| 1834 } | 1826 } |
| 1835 } | 1827 } |
| 1836 | 1828 |
| 1837 #endif | 1829 #endif |
| OLD | NEW |