| 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 Dirk Mueller (mueller@kde.org) | 4 * (C) 2001 Dirk Mueller (mueller@kde.org) |
| 5 * (C) 2006 Alexey Proskuryakov (ap@webkit.org) | 5 * (C) 2006 Alexey Proskuryakov (ap@webkit.org) |
| 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2011, 2012 Apple Inc. All r
ights reserved. | 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2011, 2012 Apple Inc. All r
ights reserved. |
| 7 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t
orchmobile.com/) | 7 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t
orchmobile.com/) |
| 8 * Copyright (C) 2008, 2009, 2011, 2012 Google Inc. All rights reserved. | 8 * Copyright (C) 2008, 2009, 2011, 2012 Google Inc. All rights reserved. |
| 9 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) | 9 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) |
| 10 * Copyright (C) Research In Motion Limited 2010-2011. All rights reserved. | 10 * Copyright (C) Research In Motion Limited 2010-2011. All rights reserved. |
| (...skipping 691 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 702 element = registrationContext()->createCustomTagElement(*this, Qualified
Name(nullAtom, localName, xhtmlNamespaceURI)); | 702 element = registrationContext()->createCustomTagElement(*this, Qualified
Name(nullAtom, localName, xhtmlNamespaceURI)); |
| 703 else | 703 else |
| 704 element = createElement(localName, exceptionState); | 704 element = createElement(localName, exceptionState); |
| 705 | 705 |
| 706 if (RuntimeEnabledFeatures::customElementsEnabled() && !typeExtension.isNull
() && !typeExtension.isEmpty()) | 706 if (RuntimeEnabledFeatures::customElementsEnabled() && !typeExtension.isNull
() && !typeExtension.isEmpty()) |
| 707 CustomElementRegistrationContext::setIsAttributeAndTypeExtension(element
.get(), typeExtension); | 707 CustomElementRegistrationContext::setIsAttributeAndTypeExtension(element
.get(), typeExtension); |
| 708 | 708 |
| 709 return element; | 709 return element; |
| 710 } | 710 } |
| 711 | 711 |
| 712 PassRefPtr<Element> Document::createElementNS(const AtomicString& namespaceURI,
const String& qualifiedName, const AtomicString& typeExtension, ExceptionState&
exceptionState) | 712 PassRefPtr<Element> Document::createElementNS(const AtomicString& namespaceURI,
const AtomicString& qualifiedName, const AtomicString& typeExtension, ExceptionS
tate& exceptionState) |
| 713 { | 713 { |
| 714 String prefix, localName; | 714 AtomicString prefix, localName; |
| 715 if (!parseQualifiedName(qualifiedName, prefix, localName, exceptionState)) | 715 if (!parseQualifiedName(qualifiedName, prefix, localName, exceptionState)) |
| 716 return 0; | 716 return 0; |
| 717 | 717 |
| 718 QualifiedName qName(prefix, localName, namespaceURI); | 718 QualifiedName qName(prefix, localName, namespaceURI); |
| 719 if (!hasValidNamespaceForElements(qName)) { | 719 if (!hasValidNamespaceForElements(qName)) { |
| 720 exceptionState.throwUninformativeAndGenericDOMException(NamespaceError); | 720 exceptionState.throwUninformativeAndGenericDOMException(NamespaceError); |
| 721 return 0; | 721 return 0; |
| 722 } | 722 } |
| 723 | 723 |
| 724 RefPtr<Element> element; | 724 RefPtr<Element> element; |
| (...skipping 287 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1012 } | 1012 } |
| 1013 | 1013 |
| 1014 NamedFlowCollection* Document::namedFlows() | 1014 NamedFlowCollection* Document::namedFlows() |
| 1015 { | 1015 { |
| 1016 if (!m_namedFlows) | 1016 if (!m_namedFlows) |
| 1017 m_namedFlows = NamedFlowCollection::create(this); | 1017 m_namedFlows = NamedFlowCollection::create(this); |
| 1018 | 1018 |
| 1019 return m_namedFlows.get(); | 1019 return m_namedFlows.get(); |
| 1020 } | 1020 } |
| 1021 | 1021 |
| 1022 PassRefPtr<Element> Document::createElementNS(const String& namespaceURI, const
String& qualifiedName, ExceptionState& exceptionState) | 1022 PassRefPtr<Element> Document::createElementNS(const AtomicString& namespaceURI,
const AtomicString& qualifiedName, ExceptionState& exceptionState) |
| 1023 { | 1023 { |
| 1024 String prefix, localName; | 1024 AtomicString prefix, localName; |
| 1025 if (!parseQualifiedName(qualifiedName, prefix, localName, exceptionState)) | 1025 if (!parseQualifiedName(qualifiedName, prefix, localName, exceptionState)) |
| 1026 return 0; | 1026 return 0; |
| 1027 | 1027 |
| 1028 QualifiedName qName(prefix, localName, namespaceURI); | 1028 QualifiedName qName(prefix, localName, namespaceURI); |
| 1029 if (!hasValidNamespaceForElements(qName)) { | 1029 if (!hasValidNamespaceForElements(qName)) { |
| 1030 exceptionState.throwUninformativeAndGenericDOMException(NamespaceError); | 1030 exceptionState.throwUninformativeAndGenericDOMException(NamespaceError); |
| 1031 return 0; | 1031 return 0; |
| 1032 } | 1032 } |
| 1033 | 1033 |
| 1034 return createElement(qName, false); | 1034 return createElement(qName, false); |
| (...skipping 2836 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3871 | 3871 |
| 3872 const UChar* characters = name.characters16(); | 3872 const UChar* characters = name.characters16(); |
| 3873 | 3873 |
| 3874 if (isValidNameASCII(characters, length)) | 3874 if (isValidNameASCII(characters, length)) |
| 3875 return true; | 3875 return true; |
| 3876 | 3876 |
| 3877 return isValidNameNonASCII(characters, length); | 3877 return isValidNameNonASCII(characters, length); |
| 3878 } | 3878 } |
| 3879 | 3879 |
| 3880 template<typename CharType> | 3880 template<typename CharType> |
| 3881 static bool parseQualifiedNameInternal(const String& qualifiedName, const CharTy
pe* characters, unsigned length, String& prefix, String& localName, ExceptionSta
te& exceptionState) | 3881 static bool parseQualifiedNameInternal(const AtomicString& qualifiedName, const
CharType* characters, unsigned length, AtomicString& prefix, AtomicString& local
Name, ExceptionState& exceptionState) |
| 3882 { | 3882 { |
| 3883 bool nameStart = true; | 3883 bool nameStart = true; |
| 3884 bool sawColon = false; | 3884 bool sawColon = false; |
| 3885 int colonPos = 0; | 3885 int colonPos = 0; |
| 3886 | 3886 |
| 3887 for (unsigned i = 0; i < length;) { | 3887 for (unsigned i = 0; i < length;) { |
| 3888 UChar32 c; | 3888 UChar32 c; |
| 3889 U16_NEXT(characters, i, length, c) | 3889 U16_NEXT(characters, i, length, c) |
| 3890 if (c == ':') { | 3890 if (c == ':') { |
| 3891 if (sawColon) { | 3891 if (sawColon) { |
| (...skipping 11 matching lines...) Expand all Loading... |
| 3903 nameStart = false; | 3903 nameStart = false; |
| 3904 } else { | 3904 } else { |
| 3905 if (!isValidNamePart(c)) { | 3905 if (!isValidNamePart(c)) { |
| 3906 exceptionState.throwUninformativeAndGenericDOMException(InvalidC
haracterError); | 3906 exceptionState.throwUninformativeAndGenericDOMException(InvalidC
haracterError); |
| 3907 return false; | 3907 return false; |
| 3908 } | 3908 } |
| 3909 } | 3909 } |
| 3910 } | 3910 } |
| 3911 | 3911 |
| 3912 if (!sawColon) { | 3912 if (!sawColon) { |
| 3913 prefix = String(); | 3913 prefix = nullAtom; |
| 3914 localName = qualifiedName; | 3914 localName = qualifiedName; |
| 3915 } else { | 3915 } else { |
| 3916 prefix = qualifiedName.substring(0, colonPos); | 3916 prefix = AtomicString(characters, colonPos); |
| 3917 if (prefix.isEmpty()) { | 3917 if (prefix.isEmpty()) { |
| 3918 exceptionState.throwUninformativeAndGenericDOMException(NamespaceErr
or); | 3918 exceptionState.throwUninformativeAndGenericDOMException(NamespaceErr
or); |
| 3919 return false; | 3919 return false; |
| 3920 } | 3920 } |
| 3921 localName = qualifiedName.substring(colonPos + 1); | 3921 int prefixStart = colonPos + 1; |
| 3922 localName = AtomicString(characters + prefixStart, length - prefixStart)
; |
| 3922 } | 3923 } |
| 3923 | 3924 |
| 3924 if (localName.isEmpty()) { | 3925 if (localName.isEmpty()) { |
| 3925 exceptionState.throwUninformativeAndGenericDOMException(NamespaceError); | 3926 exceptionState.throwUninformativeAndGenericDOMException(NamespaceError); |
| 3926 return false; | 3927 return false; |
| 3927 } | 3928 } |
| 3928 | 3929 |
| 3929 return true; | 3930 return true; |
| 3930 } | 3931 } |
| 3931 | 3932 |
| 3932 bool Document::parseQualifiedName(const String& qualifiedName, String& prefix, S
tring& localName, ExceptionState& exceptionState) | 3933 bool Document::parseQualifiedName(const AtomicString& qualifiedName, AtomicStrin
g& prefix, AtomicString& localName, ExceptionState& exceptionState) |
| 3933 { | 3934 { |
| 3934 unsigned length = qualifiedName.length(); | 3935 unsigned length = qualifiedName.length(); |
| 3935 | 3936 |
| 3936 if (!length) { | 3937 if (!length) { |
| 3937 exceptionState.throwUninformativeAndGenericDOMException(InvalidCharacter
Error); | 3938 exceptionState.throwUninformativeAndGenericDOMException(InvalidCharacter
Error); |
| 3938 return false; | 3939 return false; |
| 3939 } | 3940 } |
| 3940 | 3941 |
| 3941 if (qualifiedName.is8Bit()) | 3942 if (qualifiedName.is8Bit()) |
| 3942 return parseQualifiedNameInternal(qualifiedName, qualifiedName.character
s8(), length, prefix, localName, exceptionState); | 3943 return parseQualifiedNameInternal(qualifiedName, qualifiedName.character
s8(), length, prefix, localName, exceptionState); |
| (...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4139 | 4140 |
| 4140 WeakPtr<Document> Document::contextDocument() | 4141 WeakPtr<Document> Document::contextDocument() |
| 4141 { | 4142 { |
| 4142 if (m_contextDocument) | 4143 if (m_contextDocument) |
| 4143 return m_contextDocument; | 4144 return m_contextDocument; |
| 4144 if (m_frame) | 4145 if (m_frame) |
| 4145 return m_weakFactory.createWeakPtr(); | 4146 return m_weakFactory.createWeakPtr(); |
| 4146 return WeakPtr<Document>(0); | 4147 return WeakPtr<Document>(0); |
| 4147 } | 4148 } |
| 4148 | 4149 |
| 4149 PassRefPtr<Attr> Document::createAttribute(const String& name, ExceptionState& e
xceptionState) | 4150 PassRefPtr<Attr> Document::createAttribute(const AtomicString& name, ExceptionSt
ate& exceptionState) |
| 4150 { | 4151 { |
| 4151 return createAttributeNS(String(), name, exceptionState, true); | 4152 return createAttributeNS(nullAtom, name, exceptionState, true); |
| 4152 } | 4153 } |
| 4153 | 4154 |
| 4154 PassRefPtr<Attr> Document::createAttributeNS(const String& namespaceURI, const S
tring& qualifiedName, ExceptionState& exceptionState, bool shouldIgnoreNamespace
Checks) | 4155 PassRefPtr<Attr> Document::createAttributeNS(const AtomicString& namespaceURI, c
onst AtomicString& qualifiedName, ExceptionState& exceptionState, bool shouldIgn
oreNamespaceChecks) |
| 4155 { | 4156 { |
| 4156 String prefix, localName; | 4157 AtomicString prefix, localName; |
| 4157 if (!parseQualifiedName(qualifiedName, prefix, localName, exceptionState)) | 4158 if (!parseQualifiedName(qualifiedName, prefix, localName, exceptionState)) |
| 4158 return 0; | 4159 return 0; |
| 4159 | 4160 |
| 4160 QualifiedName qName(prefix, localName, namespaceURI); | 4161 QualifiedName qName(prefix, localName, namespaceURI); |
| 4161 | 4162 |
| 4162 if (!shouldIgnoreNamespaceChecks && !hasValidNamespaceForAttributes(qName))
{ | 4163 if (!shouldIgnoreNamespaceChecks && !hasValidNamespaceForAttributes(qName))
{ |
| 4163 exceptionState.throwUninformativeAndGenericDOMException(NamespaceError); | 4164 exceptionState.throwUninformativeAndGenericDOMException(NamespaceError); |
| 4164 return 0; | 4165 return 0; |
| 4165 } | 4166 } |
| 4166 | 4167 |
| (...skipping 1043 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5210 } | 5211 } |
| 5211 | 5212 |
| 5212 FastTextAutosizer* Document::fastTextAutosizer() | 5213 FastTextAutosizer* Document::fastTextAutosizer() |
| 5213 { | 5214 { |
| 5214 if (!m_fastTextAutosizer && RuntimeEnabledFeatures::fastTextAutosizingEnable
d()) | 5215 if (!m_fastTextAutosizer && RuntimeEnabledFeatures::fastTextAutosizingEnable
d()) |
| 5215 m_fastTextAutosizer = FastTextAutosizer::create(this); | 5216 m_fastTextAutosizer = FastTextAutosizer::create(this); |
| 5216 return m_fastTextAutosizer.get(); | 5217 return m_fastTextAutosizer.get(); |
| 5217 } | 5218 } |
| 5218 | 5219 |
| 5219 } // namespace WebCore | 5220 } // namespace WebCore |
| OLD | NEW |