Diff
Modified: trunk/Source/WebCore/CMakeLists.txt (90070 => 90071)
--- trunk/Source/WebCore/CMakeLists.txt 2011-06-30 00:02:16 UTC (rev 90070)
+++ trunk/Source/WebCore/CMakeLists.txt 2011-06-30 00:03:36 UTC (rev 90071)
@@ -847,7 +847,6 @@
html/parser/TextViewSourceParser.cpp
html/parser/XSSAuditor.cpp
- html/shadow/ElementWithPseudoId.cpp
html/shadow/DetailsMarkerControl.cpp
html/shadow/MediaControls.cpp
html/shadow/MediaControlRootElement.cpp
Modified: trunk/Source/WebCore/ChangeLog (90070 => 90071)
--- trunk/Source/WebCore/ChangeLog 2011-06-30 00:02:16 UTC (rev 90070)
+++ trunk/Source/WebCore/ChangeLog 2011-06-30 00:03:36 UTC (rev 90071)
@@ -1,3 +1,28 @@
+2011-06-29 Dimitri Glazkov <[email protected]>
+
+ Reviewed by Kent Tamura.
+
+ Remove ElementWithPseudoId, since now an Element can store it all by itself.
+ https://bugs.webkit.org/show_bug.cgi?id=63657
+
+ Refactoring, covered by existing tests.
+
+ * CMakeLists.txt: Removed ElementWithPseudoId from build.
+ * GNUmakefile.list.am: Ditto.
+ * WebCore.gypi: Ditto.
+ * WebCore.order: Ditto.
+ * WebCore.pro: Ditto.
+ * WebCore.vcproj/WebCore.vcproj: Ditto.
+ * WebCore.xcodeproj/project.pbxproj: Ditto.
+ * html/ColorInputType.cpp:
+ (WebCore::ColorInputType::createShadowSubtree): Changed to use plain-old HTMLDivElement.
+ * html/RangeInputType.cpp:
+ (WebCore::RangeInputType::createShadowSubtree): Ditto.
+ * html/ValidationMessage.cpp:
+ (WebCore::ValidationMessage::buildBubbleTree): Ditto.
+ * html/shadow/ElementWithPseudoId.cpp: Removed.
+ * html/shadow/ElementWithPseudoId.h: Removed.
+
2011-06-29 Levi Weintraub <[email protected]>
Reviewed by Eric Seidel.
Modified: trunk/Source/WebCore/GNUmakefile.list.am (90070 => 90071)
--- trunk/Source/WebCore/GNUmakefile.list.am 2011-06-30 00:02:16 UTC (rev 90070)
+++ trunk/Source/WebCore/GNUmakefile.list.am 2011-06-30 00:03:36 UTC (rev 90071)
@@ -1861,8 +1861,6 @@
Source/WebCore/html/parser/TextViewSourceParser.h \
Source/WebCore/html/parser/XSSAuditor.cpp \
Source/WebCore/html/parser/XSSAuditor.h \
- Source/WebCore/html/shadow/ElementWithPseudoId.cpp \
- Source/WebCore/html/shadow/ElementWithPseudoId.h \
Source/WebCore/html/shadow/DetailsMarkerControl.cpp \
Source/WebCore/html/shadow/DetailsMarkerControl.h \
Source/WebCore/html/shadow/MediaControls.cpp \
Modified: trunk/Source/WebCore/WebCore.gypi (90070 => 90071)
--- trunk/Source/WebCore/WebCore.gypi 2011-06-30 00:02:16 UTC (rev 90070)
+++ trunk/Source/WebCore/WebCore.gypi 2011-06-30 00:03:36 UTC (rev 90071)
@@ -3221,8 +3221,6 @@
'html/parser/TextViewSourceParser.h',
'html/parser/XSSAuditor.cpp',
'html/parser/XSSAuditor.h',
- 'html/shadow/ElementWithPseudoId.cpp',
- 'html/shadow/ElementWithPseudoId.h',
'html/shadow/DetailsMarkerControl.cpp',
'html/shadow/DetailsMarkerControl.h',
'html/shadow/MediaControls.cpp',
Modified: trunk/Source/WebCore/WebCore.order (90070 => 90071)
--- trunk/Source/WebCore/WebCore.order 2011-06-30 00:02:16 UTC (rev 90070)
+++ trunk/Source/WebCore/WebCore.order 2011-06-30 00:03:36 UTC (rev 90071)
@@ -25531,7 +25531,6 @@
__ZN7WebCore5TimerINS_17ValidationMessageEE5firedEv
__ZN7WebCore17ValidationMessage15buildBubbleTreeEPNS_5TimerIS0_EE
__ZN7WebCore26CSSMutableStyleDeclaration11setPropertyEidNS_17CSSPrimitiveValue9UnitTypesEbb
-__ZNK7WebCore19ElementWithPseudoId14shadowPseudoIdEv
__ZN7WebCore17ValidationMessage26setMessageDOMAndStartTimerEPNS_5TimerIS0_EE
__ZN7WebCore5TimerINS_17ValidationMessageEED0Ev
__ZN7WebCore17ValidationMessage20requestToHideMessageEv
Modified: trunk/Source/WebCore/WebCore.pro (90070 => 90071)
--- trunk/Source/WebCore/WebCore.pro 2011-06-30 00:02:16 UTC (rev 90070)
+++ trunk/Source/WebCore/WebCore.pro 2011-06-30 00:03:36 UTC (rev 90071)
@@ -800,7 +800,6 @@
html/parser/TextDocumentParser.cpp \
html/parser/TextViewSourceParser.cpp \
html/parser/XSSAuditor.cpp \
- html/shadow/ElementWithPseudoId.cpp \
html/shadow/DetailsMarkerControl.cpp \
html/shadow/MediaControls.cpp \
html/shadow/MediaControlRootElement.cpp \
Modified: trunk/Source/WebCore/WebCore.vcproj/WebCore.vcproj (90070 => 90071)
--- trunk/Source/WebCore/WebCore.vcproj/WebCore.vcproj 2011-06-30 00:02:16 UTC (rev 90070)
+++ trunk/Source/WebCore/WebCore.vcproj/WebCore.vcproj 2011-06-30 00:03:36 UTC (rev 90071)
@@ -57581,14 +57581,6 @@
>
</File>
<File
- RelativePath="..\html\shadow\ElementWithPseudoId.cpp"
- >
- </File>
- <File
- RelativePath="..\html\shadow\ElementWithPseudoId.h"
- >
- </File>
- <File
RelativePath="..\html\shadow\MediaControlElements.cpp"
>
</File>
Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (90070 => 90071)
--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2011-06-30 00:02:16 UTC (rev 90070)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2011-06-30 00:03:36 UTC (rev 90071)
@@ -5274,8 +5274,6 @@
C0F2A44113869AAB0066C534 /* preprocessor.pm in Headers */ = {isa = PBXBuildFile; fileRef = C0F2A43F13869A280066C534 /* preprocessor.pm */; settings = {ATTRIBUTES = (Private, ); }; };
C105DA620F3AA68F001DD44F /* TextEncodingDetectorICU.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C105DA610F3AA68F001DD44F /* TextEncodingDetectorICU.cpp */; };
C105DA640F3AA6B8001DD44F /* TextEncodingDetector.h in Headers */ = {isa = PBXBuildFile; fileRef = C105DA630F3AA6B8001DD44F /* TextEncodingDetector.h */; };
- C39509B6138D05D400912E52 /* ElementWithPseudoId.h in Headers */ = {isa = PBXBuildFile; fileRef = C39509B4138D05D400912E52 /* ElementWithPseudoId.h */; };
- C39509B7138D05D400912E52 /* ElementWithPseudoId.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C39509B5138D05D400912E52 /* ElementWithPseudoId.cpp */; };
C50B561612119D23008B46E0 /* GroupSettings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C50B561412119D23008B46E0 /* GroupSettings.cpp */; };
C50B561712119D23008B46E0 /* GroupSettings.h in Headers */ = {isa = PBXBuildFile; fileRef = C50B561512119D23008B46E0 /* GroupSettings.h */; settings = {ATTRIBUTES = (Private, ); }; };
C50D0E820FF4272900AC2644 /* StorageNamespace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C50D0E800FF4272900AC2644 /* StorageNamespace.cpp */; };
@@ -11908,8 +11906,6 @@
C0F2A43F13869A280066C534 /* preprocessor.pm */ = {isa = PBXFileReference; lastKnownFileType = text.script.perl; name = preprocessor.pm; path = scripts/preprocessor.pm; sourceTree = "<group>"; };
C105DA610F3AA68F001DD44F /* TextEncodingDetectorICU.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TextEncodingDetectorICU.cpp; sourceTree = "<group>"; };
C105DA630F3AA6B8001DD44F /* TextEncodingDetector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextEncodingDetector.h; sourceTree = "<group>"; };
- C39509B4138D05D400912E52 /* ElementWithPseudoId.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ElementWithPseudoId.h; sourceTree = "<group>"; };
- C39509B5138D05D400912E52 /* ElementWithPseudoId.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ElementWithPseudoId.cpp; sourceTree = "<group>"; };
C50B561412119D23008B46E0 /* GroupSettings.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GroupSettings.cpp; sourceTree = "<group>"; };
C50B561512119D23008B46E0 /* GroupSettings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GroupSettings.h; sourceTree = "<group>"; };
C50D0E800FF4272900AC2644 /* StorageNamespace.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StorageNamespace.cpp; sourceTree = "<group>"; };
@@ -13638,8 +13634,6 @@
children = (
A7C9ABF61357A3BF00F5503F /* DetailsMarkerControl.cpp */,
A7C9ABF71357A3BF00F5503F /* DetailsMarkerControl.h */,
- C39509B5138D05D400912E52 /* ElementWithPseudoId.cpp */,
- C39509B4138D05D400912E52 /* ElementWithPseudoId.h */,
417253A81354BBBC00360F2A /* MediaControlElements.cpp */,
417253A91354BBBC00360F2A /* MediaControlElements.h */,
4157AF7F12F1FB0400A8C6F5 /* MediaControlRootElement.cpp */,
@@ -21092,7 +21086,6 @@
A8C4A80709D563270003AC8D /* Element.h in Headers */,
63F5D4F70E8C4B7100C0BD04 /* ElementRareData.h in Headers */,
E415F1840D9A1A830033CE97 /* ElementTimeControl.h in Headers */,
- C39509B6138D05D400912E52 /* ElementWithPseudoId.h in Headers */,
A8CFF6BE0A156118000A4234 /* EllipsisBox.h in Headers */,
F55B3DBC1251F12D003EF269 /* EmailInputType.h in Headers */,
B25599A50D00D8BA00BB825C /* EmptyClients.h in Headers */,
@@ -24026,7 +24019,6 @@
93A38B4B0D0E5808006872C2 /* EditorCommand.cpp in Sources */,
ED501DC60B249F2900AE18D9 /* EditorMac.mm in Sources */,
A8C4A80809D563270003AC8D /* Element.cpp in Sources */,
- C39509B7138D05D400912E52 /* ElementWithPseudoId.cpp in Sources */,
A8CFF6CB0A1561CD000A4234 /* EllipsisBox.cpp in Sources */,
F55B3DBB1251F12D003EF269 /* EmailInputType.cpp in Sources */,
A8EA7EC10A1945D000A8EF5F /* EntityReference.cpp in Sources */,
Modified: trunk/Source/WebCore/html/ColorInputType.cpp (90070 => 90071)
--- trunk/Source/WebCore/html/ColorInputType.cpp 2011-06-30 00:02:16 UTC (rev 90070)
+++ trunk/Source/WebCore/html/ColorInputType.cpp 2011-06-30 00:03:36 UTC (rev 90071)
@@ -32,7 +32,7 @@
#include "ColorInputType.h"
#include "Color.h"
-#include "ElementWithPseudoId.h"
+#include "HTMLDivElement.h"
#include "HTMLInputElement.h"
#include "ShadowRoot.h"
#include <wtf/PassOwnPtr.h>
@@ -95,10 +95,17 @@
void ColorInputType::createShadowSubtree()
{
Document* document = element()->document();
- RefPtr<HTMLElement> wrapperElement = ElementWithPseudoId::create(document, "-webkit-color-swatch-wrapper");
+ RefPtr<HTMLDivElement> wrapperElement = HTMLDivElement::create(document);
ExceptionCode ec = 0;
- wrapperElement->appendChild(ElementWithPseudoId::create(document, "-webkit-color-swatch"), ec);
+ wrapperElement->setShadowPseudoId("-webkit-color-swatch-wrapper", ec);
+ ASSERT(!ec);
+ RefPtr<HTMLDivElement> colorSwatch = HTMLDivElement::create(document);
+ colorSwatch->setShadowPseudoId("-webkit-color-swatch", ec);
+ ASSERT(!ec);
+ wrapperElement->appendChild(colorSwatch.release(), ec);
+ ASSERT(!ec);
element()->ensureShadowRoot()->appendChild(wrapperElement.release(), ec);
+ ASSERT(!ec);
updateColorSwatch();
}
Modified: trunk/Source/WebCore/html/RangeInputType.cpp (90070 => 90071)
--- trunk/Source/WebCore/html/RangeInputType.cpp 2011-06-30 00:02:16 UTC (rev 90070)
+++ trunk/Source/WebCore/html/RangeInputType.cpp 2011-06-30 00:03:36 UTC (rev 90071)
@@ -32,7 +32,7 @@
#include "config.h"
#include "RangeInputType.h"
-#include "ElementWithPseudoId.h"
+#include "HTMLDivElement.h"
#include "HTMLInputElement.h"
#include "HTMLNames.h"
#include "HTMLParserIdioms.h"
@@ -207,7 +207,9 @@
{
ExceptionCode ec = 0;
Document* document = element()->document();
- RefPtr<HTMLElement> track = ElementWithPseudoId::create(document, "-webkit-slider-runnable-track");
+ RefPtr<HTMLDivElement> track = HTMLDivElement::create(document);
+ track->setShadowPseudoId("-webkit-slider-runnable-track", ec);
+ ASSERT(!ec);
track->appendChild(SliderThumbElement::create(document), ec);
RefPtr<HTMLElement> container = SliderContainerElement::create(document);
container->appendChild(track.release(), ec);
Modified: trunk/Source/WebCore/html/ValidationMessage.cpp (90070 => 90071)
--- trunk/Source/WebCore/html/ValidationMessage.cpp 2011-06-30 00:02:16 UTC (rev 90070)
+++ trunk/Source/WebCore/html/ValidationMessage.cpp 2011-06-30 00:03:36 UTC (rev 90071)
@@ -34,9 +34,9 @@
#include "CSSPropertyNames.h"
#include "CSSStyleSelector.h"
#include "CSSValueKeywords.h"
-#include "ElementWithPseudoId.h"
#include "FormAssociatedElement.h"
#include "HTMLBRElement.h"
+#include "HTMLDivElement.h"
#include "HTMLNames.h"
#include "Page.h"
#include "RenderObject.h"
@@ -123,19 +123,32 @@
{
HTMLElement* host = toHTMLElement(m_element);
Document* doc = host->document();
- m_bubble = ElementWithPseudoId::create(doc, "-webkit-validation-bubble");
+ m_bubble = HTMLDivElement::create(doc);
+ ExceptionCode ec = 0;
+ m_bubble->setShadowPseudoId("-webkit-validation-bubble", ec);
+ ASSERT(!ec);
// Need to force position:absolute because RenderMenuList doesn't assume it
// contains non-absolute or non-fixed renderers as children.
m_bubble->getInlineStyleDecl()->setProperty(CSSPropertyPosition, CSSValueAbsolute);
adjustBubblePosition(host->getRect(), m_bubble.get());
- ExceptionCode ec = 0;
host->ensureShadowRoot()->appendChild(m_bubble.get(), ec);
+ ASSERT(!ec);
- RefPtr<HTMLElement> clipper = ElementWithPseudoId::create(doc, "-webkit-validation-bubble-arrow-clipper");
- clipper->appendChild(ElementWithPseudoId::create(doc, "-webkit-validation-bubble-arrow"), ec);
+ RefPtr<HTMLDivElement> clipper = HTMLDivElement::create(doc);
+ clipper->setShadowPseudoId("-webkit-validation-bubble-arrow-clipper", ec);
+ ASSERT(!ec);
+ RefPtr<HTMLDivElement> bubbleArrow = HTMLDivElement::create(doc);
+ bubbleArrow->setShadowPseudoId("-webkit-validation-bubble-arrow", ec);
+ ASSERT(!ec);
+ clipper->appendChild(bubbleArrow.release(), ec);
+ ASSERT(!ec);
m_bubble->appendChild(clipper.release(), ec);
- m_bubbleMessage = ElementWithPseudoId::create(doc, "-webkit-validation-bubble-message");
+ ASSERT(!ec);
+ m_bubbleMessage = HTMLDivElement::create(doc);
+ m_bubbleMessage->setShadowPseudoId("-webkit-validation-bubble-message", ec);
+ ASSERT(!ec);
m_bubble->appendChild(m_bubbleMessage, ec);
+ ASSERT(!ec);
setMessageDOMAndStartTimer();
Deleted: trunk/Source/WebCore/html/shadow/ElementWithPseudoId.cpp (90070 => 90071)
--- trunk/Source/WebCore/html/shadow/ElementWithPseudoId.cpp 2011-06-30 00:02:16 UTC (rev 90070)
+++ trunk/Source/WebCore/html/shadow/ElementWithPseudoId.cpp 2011-06-30 00:03:36 UTC (rev 90071)
@@ -1,41 +0,0 @@
-/*
- * Copyright (C) 2011 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "ElementWithPseudoId.h"
-
-namespace WebCore {
-
-const AtomicString& ElementWithPseudoId::shadowPseudoId() const
-{
- return m_pseudoName;
-}
-
-}
Deleted: trunk/Source/WebCore/html/shadow/ElementWithPseudoId.h (90070 => 90071)
--- trunk/Source/WebCore/html/shadow/ElementWithPseudoId.h 2011-06-30 00:02:16 UTC (rev 90070)
+++ trunk/Source/WebCore/html/shadow/ElementWithPseudoId.h 2011-06-30 00:03:36 UTC (rev 90071)
@@ -1,61 +0,0 @@
-/*
- * Copyright (C) 2011 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef ElementWithPseudoId_h
-#define ElementWithPseudoId_h
-
-#include "HTMLDivElement.h"
-#include "HTMLNames.h"
-
-namespace WebCore {
-
-class ElementWithPseudoId : public HTMLElement {
-public:
- static PassRefPtr<ElementWithPseudoId> create(Document* document, const AtomicString& pseudoName)
- {
- return adoptRef(new ElementWithPseudoId(document, pseudoName));
- }
-
-protected:
- ElementWithPseudoId(Document* document, const AtomicString& pseudoName)
- : HTMLElement(HTMLNames::divTag, document)
- , m_pseudoName(pseudoName)
- {
- }
-
- virtual const AtomicString& shadowPseudoId() const;
-
-private:
- AtomicString m_pseudoName;
-};
-
-}
-
-#endif // ElementWithPseudoId_h