OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
4 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. | 4 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. |
5 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo
bile.com/) | 5 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo
bile.com/) |
6 * Copyright (C) 2011 Motorola Mobility. All rights reserved. | 6 * Copyright (C) 2011 Motorola Mobility. All rights reserved. |
7 * | 7 * |
8 * This library is free software; you can redistribute it and/or | 8 * This library is free software; you can redistribute it and/or |
9 * modify it under the terms of the GNU Library General Public | 9 * modify it under the terms of the GNU Library General Public |
10 * License as published by the Free Software Foundation; either | 10 * License as published by the Free Software Foundation; either |
(...skipping 498 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
509 | 509 |
510 // IE throws COM Exception E_INVALIDARG; this is the best DOM exception alte
rnative. | 510 // IE throws COM Exception E_INVALIDARG; this is the best DOM exception alte
rnative. |
511 ec = NotSupportedError; | 511 ec = NotSupportedError; |
512 return 0; | 512 return 0; |
513 } | 513 } |
514 | 514 |
515 Element* HTMLElement::insertAdjacentElement(const String& where, Element* newChi
ld, ExceptionCode& ec) | 515 Element* HTMLElement::insertAdjacentElement(const String& where, Element* newChi
ld, ExceptionCode& ec) |
516 { | 516 { |
517 if (!newChild) { | 517 if (!newChild) { |
518 // IE throws COM Exception E_INVALIDARG; this is the best DOM exception
alternative. | 518 // IE throws COM Exception E_INVALIDARG; this is the best DOM exception
alternative. |
519 ec = TYPE_MISMATCH_ERR; | 519 ec = TypeMismatchError; |
520 return 0; | 520 return 0; |
521 } | 521 } |
522 | 522 |
523 Node* returnValue = insertAdjacent(where, newChild, ec); | 523 Node* returnValue = insertAdjacent(where, newChild, ec); |
524 ASSERT_WITH_SECURITY_IMPLICATION(!returnValue || returnValue->isElementNode(
)); | 524 ASSERT_WITH_SECURITY_IMPLICATION(!returnValue || returnValue->isElementNode(
)); |
525 return toElement(returnValue); | 525 return toElement(returnValue); |
526 } | 526 } |
527 | 527 |
528 // Step 3 of http://www.whatwg.org/specs/web-apps/current-work/multipage/apis-in
-html-documents.html#insertadjacenthtml() | 528 // Step 3 of http://www.whatwg.org/specs/web-apps/current-work/multipage/apis-in
-html-documents.html#insertadjacenthtml() |
529 static Element* contextElementForInsertion(const String& where, Element* element
, ExceptionCode& ec) | 529 static Element* contextElementForInsertion(const String& where, Element* element
, ExceptionCode& ec) |
530 { | 530 { |
531 if (equalIgnoringCase(where, "beforeBegin") || equalIgnoringCase(where, "aft
erEnd")) { | 531 if (equalIgnoringCase(where, "beforeBegin") || equalIgnoringCase(where, "aft
erEnd")) { |
532 ContainerNode* parent = element->parentNode(); | 532 ContainerNode* parent = element->parentNode(); |
533 if (parent && !parent->isElementNode()) { | 533 if (parent && !parent->isElementNode()) { |
534 ec = NoModificationAllowedError; | 534 ec = NoModificationAllowedError; |
535 return 0; | 535 return 0; |
536 } | 536 } |
537 ASSERT_WITH_SECURITY_IMPLICATION(!parent || parent->isElementNode()); | 537 ASSERT_WITH_SECURITY_IMPLICATION(!parent || parent->isElementNode()); |
538 return toElement(parent); | 538 return toElement(parent); |
539 } | 539 } |
540 if (equalIgnoringCase(where, "afterBegin") || equalIgnoringCase(where, "befo
reEnd")) | 540 if (equalIgnoringCase(where, "afterBegin") || equalIgnoringCase(where, "befo
reEnd")) |
541 return element; | 541 return element; |
542 ec = SYNTAX_ERR; | 542 ec = SyntaxError; |
543 return 0; | 543 return 0; |
544 } | 544 } |
545 | 545 |
546 void HTMLElement::insertAdjacentHTML(const String& where, const String& markup,
ExceptionCode& ec) | 546 void HTMLElement::insertAdjacentHTML(const String& where, const String& markup,
ExceptionCode& ec) |
547 { | 547 { |
548 Element* contextElement = contextElementForInsertion(where, this, ec); | 548 Element* contextElement = contextElementForInsertion(where, this, ec); |
549 if (!contextElement) | 549 if (!contextElement) |
550 return; | 550 return; |
551 RefPtr<DocumentFragment> fragment = createFragmentForInnerOuterHTML(markup,
contextElement, AllowScriptingContent, ec); | 551 RefPtr<DocumentFragment> fragment = createFragmentForInnerOuterHTML(markup,
contextElement, AllowScriptingContent, ec); |
552 if (!fragment) | 552 if (!fragment) |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
648 { | 648 { |
649 if (equalIgnoringCase(enabled, "true")) | 649 if (equalIgnoringCase(enabled, "true")) |
650 setAttribute(contenteditableAttr, "true"); | 650 setAttribute(contenteditableAttr, "true"); |
651 else if (equalIgnoringCase(enabled, "false")) | 651 else if (equalIgnoringCase(enabled, "false")) |
652 setAttribute(contenteditableAttr, "false"); | 652 setAttribute(contenteditableAttr, "false"); |
653 else if (equalIgnoringCase(enabled, "plaintext-only")) | 653 else if (equalIgnoringCase(enabled, "plaintext-only")) |
654 setAttribute(contenteditableAttr, "plaintext-only"); | 654 setAttribute(contenteditableAttr, "plaintext-only"); |
655 else if (equalIgnoringCase(enabled, "inherit")) | 655 else if (equalIgnoringCase(enabled, "inherit")) |
656 removeAttribute(contenteditableAttr); | 656 removeAttribute(contenteditableAttr); |
657 else | 657 else |
658 ec = SYNTAX_ERR; | 658 ec = SyntaxError; |
659 } | 659 } |
660 | 660 |
661 bool HTMLElement::draggable() const | 661 bool HTMLElement::draggable() const |
662 { | 662 { |
663 return equalIgnoringCase(getAttribute(draggableAttr), "true"); | 663 return equalIgnoringCase(getAttribute(draggableAttr), "true"); |
664 } | 664 } |
665 | 665 |
666 void HTMLElement::setDraggable(bool value) | 666 void HTMLElement::setDraggable(bool value) |
667 { | 667 { |
668 setAttribute(draggableAttr, value ? "true" : "false"); | 668 setAttribute(draggableAttr, value ? "true" : "false"); |
(...skipping 407 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1076 #ifndef NDEBUG | 1076 #ifndef NDEBUG |
1077 | 1077 |
1078 // For use in the debugger | 1078 // For use in the debugger |
1079 void dumpInnerHTML(WebCore::HTMLElement*); | 1079 void dumpInnerHTML(WebCore::HTMLElement*); |
1080 | 1080 |
1081 void dumpInnerHTML(WebCore::HTMLElement* element) | 1081 void dumpInnerHTML(WebCore::HTMLElement* element) |
1082 { | 1082 { |
1083 printf("%s\n", element->innerHTML().ascii().data()); | 1083 printf("%s\n", element->innerHTML().ascii().data()); |
1084 } | 1084 } |
1085 #endif | 1085 #endif |
OLD | NEW |