| 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 * (C) 2001 Peter Kelly (pmk@post.com) | 4 * (C) 2001 Peter Kelly (pmk@post.com) |
| 5 * (C) 2001 Dirk Mueller (mueller@kde.org) | 5 * (C) 2001 Dirk Mueller (mueller@kde.org) |
| 6 * (C) 2007 David Smith (catfish.man@gmail.com) | 6 * (C) 2007 David Smith (catfish.man@gmail.com) |
| 7 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights
reserved. | 7 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights
reserved. |
| 8 * (C) 2007 Eric Seidel (eric@webkit.org) | 8 * (C) 2007 Eric Seidel (eric@webkit.org) |
| 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 545 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 556 // with a non-null namespace, because it will return true if the local name
happens to match | 556 // with a non-null namespace, because it will return true if the local name
happens to match |
| 557 // but the namespace does not. | 557 // but the namespace does not. |
| 558 if (localName == document()->idAttributeName().localName()) | 558 if (localName == document()->idAttributeName().localName()) |
| 559 updateId(old ? old->value() : nullAtom, value); | 559 updateId(old ? old->value() : nullAtom, value); |
| 560 | 560 |
| 561 if (old && value.isNull()) | 561 if (old && value.isNull()) |
| 562 m_attributeMap->removeAttribute(old->name()); | 562 m_attributeMap->removeAttribute(old->name()); |
| 563 else if (!old && !value.isNull()) | 563 else if (!old && !value.isNull()) |
| 564 m_attributeMap->addAttribute(createAttribute(QualifiedName(nullAtom, loc
alName, nullAtom), value)); | 564 m_attributeMap->addAttribute(createAttribute(QualifiedName(nullAtom, loc
alName, nullAtom), value)); |
| 565 else if (old && !value.isNull()) { | 565 else if (old && !value.isNull()) { |
| 566 old->setValue(value); | 566 if (Attr* attrNode = old->attr()) |
| 567 attrNode->setValue(value); |
| 568 else |
| 569 old->setValue(value); |
| 567 attributeChanged(old); | 570 attributeChanged(old); |
| 568 } | 571 } |
| 569 | 572 |
| 570 #if ENABLE(INSPECTOR) | 573 #if ENABLE(INSPECTOR) |
| 571 if (!isSynchronizingStyleAttribute()) | 574 if (!isSynchronizingStyleAttribute()) |
| 572 InspectorController::didModifyDOMAttr(this); | 575 InspectorController::didModifyDOMAttr(this); |
| 573 #endif | 576 #endif |
| 574 } | 577 } |
| 575 | 578 |
| 576 void Element::setAttribute(const QualifiedName& name, const AtomicString& value,
ExceptionCode&) | 579 void Element::setAttribute(const QualifiedName& name, const AtomicString& value,
ExceptionCode&) |
| 577 { | 580 { |
| 578 #if ENABLE(INSPECTOR) | 581 #if ENABLE(INSPECTOR) |
| 579 if (!isSynchronizingStyleAttribute()) | 582 if (!isSynchronizingStyleAttribute()) |
| 580 InspectorController::willModifyDOMAttr(this); | 583 InspectorController::willModifyDOMAttr(this); |
| 581 #endif | 584 #endif |
| 582 | 585 |
| 583 document()->incDOMTreeVersion(); | 586 document()->incDOMTreeVersion(); |
| 584 | 587 |
| 585 // Allocate attribute map if necessary. | 588 // Allocate attribute map if necessary. |
| 586 Attribute* old = attributes(false)->getAttributeItem(name); | 589 Attribute* old = attributes(false)->getAttributeItem(name); |
| 587 | 590 |
| 588 if (isIdAttributeName(name)) | 591 if (isIdAttributeName(name)) |
| 589 updateId(old ? old->value() : nullAtom, value); | 592 updateId(old ? old->value() : nullAtom, value); |
| 590 | 593 |
| 591 if (old && value.isNull()) | 594 if (old && value.isNull()) |
| 592 m_attributeMap->removeAttribute(name); | 595 m_attributeMap->removeAttribute(name); |
| 593 else if (!old && !value.isNull()) | 596 else if (!old && !value.isNull()) |
| 594 m_attributeMap->addAttribute(createAttribute(name, value)); | 597 m_attributeMap->addAttribute(createAttribute(name, value)); |
| 595 else if (old) { | 598 else if (old) { |
| 596 old->setValue(value); | 599 if (Attr* attrNode = old->attr()) |
| 600 attrNode->setValue(value); |
| 601 else |
| 602 old->setValue(value); |
| 597 attributeChanged(old); | 603 attributeChanged(old); |
| 598 } | 604 } |
| 599 | 605 |
| 600 #if ENABLE(INSPECTOR) | 606 #if ENABLE(INSPECTOR) |
| 601 if (!isSynchronizingStyleAttribute()) | 607 if (!isSynchronizingStyleAttribute()) |
| 602 InspectorController::didModifyDOMAttr(this); | 608 InspectorController::didModifyDOMAttr(this); |
| 603 #endif | 609 #endif |
| 604 } | 610 } |
| 605 | 611 |
| 606 PassRefPtr<Attribute> Element::createAttribute(const QualifiedName& name, const
AtomicString& value) | 612 PassRefPtr<Attribute> Element::createAttribute(const QualifiedName& name, const
AtomicString& value) |
| (...skipping 1012 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1619 #endif | 1625 #endif |
| 1620 | 1626 |
| 1621 #if ENABLE(FULLSCREEN_API) | 1627 #if ENABLE(FULLSCREEN_API) |
| 1622 void Element::webkitRequestFullScreen(unsigned short flags) | 1628 void Element::webkitRequestFullScreen(unsigned short flags) |
| 1623 { | 1629 { |
| 1624 document()->webkitRequestFullScreenForElement(this, flags); | 1630 document()->webkitRequestFullScreenForElement(this, flags); |
| 1625 } | 1631 } |
| 1626 #endif | 1632 #endif |
| 1627 | 1633 |
| 1628 } // namespace WebCore | 1634 } // namespace WebCore |
| OLD | NEW |