Title: [125886] trunk/Source/WebCore
- Revision
- 125886
- Author
- [email protected]
- Date
- 2012-08-17 05:25:15 -0700 (Fri, 17 Aug 2012)
Log Message
Remove RefPtr from DateInputType::m_pickerElement
https://bugs.webkit.org/show_bug.cgi?id=94330
Reviewed by Kent Tamura.
To avoid reference cycles of RefPtr<Node>s, we want to remove
unnecessary RefPtr<Node>s. The rationale is describe in bug 94324.
DateInputType::m_pickerElement does not need to be a RefPtr<Node>,
because it is guaranteed to point to a shadow DOM tree of the DateInputType
node, which is guaranteed to exist in the subtree of the DateInputType node.
No tests. No change in behavior.
* html/DateInputType.cpp:
(WebCore::DateInputType::DateInputType):
(WebCore::DateInputType::createShadowSubtree):
(WebCore::DateInputType::destroyShadowSubtree):
* html/DateInputType.h:
(DateInputType):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (125885 => 125886)
--- trunk/Source/WebCore/ChangeLog 2012-08-17 12:23:18 UTC (rev 125885)
+++ trunk/Source/WebCore/ChangeLog 2012-08-17 12:25:15 UTC (rev 125886)
@@ -1,3 +1,26 @@
+2012-08-17 Kentaro Hara <[email protected]>
+
+ Remove RefPtr from DateInputType::m_pickerElement
+ https://bugs.webkit.org/show_bug.cgi?id=94330
+
+ Reviewed by Kent Tamura.
+
+ To avoid reference cycles of RefPtr<Node>s, we want to remove
+ unnecessary RefPtr<Node>s. The rationale is describe in bug 94324.
+
+ DateInputType::m_pickerElement does not need to be a RefPtr<Node>,
+ because it is guaranteed to point to a shadow DOM tree of the DateInputType
+ node, which is guaranteed to exist in the subtree of the DateInputType node.
+
+ No tests. No change in behavior.
+
+ * html/DateInputType.cpp:
+ (WebCore::DateInputType::DateInputType):
+ (WebCore::DateInputType::createShadowSubtree):
+ (WebCore::DateInputType::destroyShadowSubtree):
+ * html/DateInputType.h:
+ (DateInputType):
+
2012-08-17 Dan Carney <[email protected]>
Refactor away IsolatedWorld
Modified: trunk/Source/WebCore/html/DateInputType.cpp (125885 => 125886)
--- trunk/Source/WebCore/html/DateInputType.cpp 2012-08-17 12:23:18 UTC (rev 125885)
+++ trunk/Source/WebCore/html/DateInputType.cpp 2012-08-17 12:25:15 UTC (rev 125886)
@@ -51,6 +51,9 @@
inline DateInputType::DateInputType(HTMLInputElement* element)
: BaseDateAndTimeInputType(element)
+#if ENABLE(CALENDAR_PICKER)
+ , m_pickerElement(0)
+#endif
{
}
@@ -102,14 +105,15 @@
void DateInputType::createShadowSubtree()
{
BaseDateAndTimeInputType::createShadowSubtree();
- m_pickerElement = CalendarPickerElement::create(element()->document());
- containerElement()->insertBefore(m_pickerElement.get(), innerBlockElement()->nextSibling(), ASSERT_NO_EXCEPTION);
+ RefPtr<CalendarPickerElement> pickerElement = CalendarPickerElement::create(element()->document());
+ m_pickerElement = pickerElement.get();
+ containerElement()->insertBefore(m_pickerElement, innerBlockElement()->nextSibling(), ASSERT_NO_EXCEPTION);
}
void DateInputType::destroyShadowSubtree()
{
TextFieldInputType::destroyShadowSubtree();
- m_pickerElement.clear();
+ m_pickerElement = 0;
}
bool DateInputType::needsContainer() const
Modified: trunk/Source/WebCore/html/DateInputType.h (125885 => 125886)
--- trunk/Source/WebCore/html/DateInputType.h 2012-08-17 12:23:18 UTC (rev 125885)
+++ trunk/Source/WebCore/html/DateInputType.h 2012-08-17 12:25:15 UTC (rev 125886)
@@ -65,7 +65,7 @@
virtual bool needsContainer() const OVERRIDE;
virtual bool shouldHaveSpinButton() const OVERRIDE;
- RefPtr<CalendarPickerElement> m_pickerElement;
+ CalendarPickerElement* m_pickerElement;
#endif
};
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes