Diff
Modified: trunk/Source/WebCore/ChangeLog (198930 => 198931)
--- trunk/Source/WebCore/ChangeLog 2016-03-31 23:45:54 UTC (rev 198930)
+++ trunk/Source/WebCore/ChangeLog 2016-03-31 23:59:18 UTC (rev 198931)
@@ -1,5 +1,19 @@
2016-03-31 Chris Dumez <[email protected]>
+ Unreviewed, rolling out r196854.
+
+ We do not need those assertions anymore as it seems
+ <rdar://problem/24457478> is fixed
+
+ Reverted changeset:
+
+ "Land release assertions to help track down a possible
+ HTMLCollection lifetime bug"
+ https://bugs.webkit.org/show_bug.cgi?id=154490
+ http://trac.webkit.org/changeset/196854
+
+2016-03-31 Chris Dumez <[email protected]>
+
[iOS] Both WebPage's volatility timer and WebProcess's processSuspensionCleanupTimer are trying to make surfaces volatile with very short interval
https://bugs.webkit.org/show_bug.cgi?id=156065
<rdar://problem/25452004>
Modified: trunk/Source/WebCore/bindings/js/JSHTMLCollectionCustom.cpp (198930 => 198931)
--- trunk/Source/WebCore/bindings/js/JSHTMLCollectionCustom.cpp 2016-03-31 23:45:54 UTC (rev 198930)
+++ trunk/Source/WebCore/bindings/js/JSHTMLCollectionCustom.cpp 2016-03-31 23:59:18 UTC (rev 198931)
@@ -77,23 +77,4 @@
return CREATE_DOM_WRAPPER(globalObject, HTMLCollection, collection);
}
-// FIXME: These custom bindings are only needed temporarily to add release assertions in order to help
-// track down a possible lifetime issue (rdar://problem/24457478).
-void JSHTMLCollection::getOwnPropertyNames(JSObject* object, ExecState* state, PropertyNameArray& propertyNames, EnumerationMode mode)
-{
- auto* thisObject = jsDynamicCast<JSHTMLCollection*>(object);
- RELEASE_ASSERT_WITH_MESSAGE(thisObject, "Bad cast from JSObject to JSHTMLCollection");
- RELEASE_ASSERT_WITH_MESSAGE(thisObject->wrapped().refCount() > 0, "Wrapped object is dead");
- RELEASE_ASSERT_WITH_MESSAGE(!thisObject->wrapped().wasDeletionStarted(), "Wrapped object is being destroyed");
- RELEASE_ASSERT_WITH_MESSAGE(!currentWorld(state).isNormal() || thisObject->wrapped().wrapper(), "Wrapper is dead");
-
- for (unsigned i = 0, count = thisObject->wrapped().length(); i < count; ++i)
- propertyNames.add(Identifier::from(state, i));
- if (mode.includeDontEnumProperties()) {
- for (auto& propertyName : thisObject->wrapped().supportedPropertyNames())
- propertyNames.add(Identifier::fromString(state, propertyName));
- }
- Base::getOwnPropertyNames(thisObject, state, propertyNames, mode);
-}
-
} // namespace WebCore
Modified: trunk/Source/WebCore/html/HTMLCollection.cpp (198930 => 198931)
--- trunk/Source/WebCore/html/HTMLCollection.cpp 2016-03-31 23:45:54 UTC (rev 198930)
+++ trunk/Source/WebCore/html/HTMLCollection.cpp 2016-03-31 23:59:18 UTC (rev 198931)
@@ -109,7 +109,6 @@
, m_collectionType(type)
, m_invalidationType(invalidationTypeExcludingIdAndNameAttributes(type))
, m_rootType(rootTypeFromCollectionType(type))
- , m_wasDeletionStarted(false)
{
ASSERT(m_rootType == static_cast<unsigned>(rootTypeFromCollectionType(type)));
ASSERT(m_invalidationType == static_cast<unsigned>(invalidationTypeExcludingIdAndNameAttributes(type)));
@@ -118,8 +117,6 @@
HTMLCollection::~HTMLCollection()
{
- m_wasDeletionStarted = true;
-
if (hasNamedElementCache())
document().collectionWillClearIdNameMap(*this);
Modified: trunk/Source/WebCore/html/HTMLCollection.h (198930 => 198931)
--- trunk/Source/WebCore/html/HTMLCollection.h 2016-03-31 23:45:54 UTC (rev 198930)
+++ trunk/Source/WebCore/html/HTMLCollection.h 2016-03-31 23:59:18 UTC (rev 198931)
@@ -85,8 +85,6 @@
bool hasNamedElementCache() const;
- bool wasDeletionStarted() { return m_wasDeletionStarted; }
-
protected:
HTMLCollection(ContainerNode& base, CollectionType);
@@ -110,8 +108,6 @@
const unsigned m_collectionType : 5;
const unsigned m_invalidationType : 4;
const unsigned m_rootType : 1;
- // FIXME: This flag is here temporarily to help track down a possible lifetime issue (rdar://problem/24457478).
- unsigned m_wasDeletionStarted : 1;
};
inline ContainerNode& HTMLCollection::rootNode() const
Modified: trunk/Source/WebCore/html/HTMLCollection.idl (198930 => 198931)
--- trunk/Source/WebCore/html/HTMLCollection.idl 2016-03-31 23:45:54 UTC (rev 198930)
+++ trunk/Source/WebCore/html/HTMLCollection.idl 2016-03-31 23:59:18 UTC (rev 198931)
@@ -23,7 +23,6 @@
GenerateIsReachable=ImplOwnerNodeRoot,
ObjCPolymorphic,
ReportExtraMemoryCost,
- CustomEnumerateProperty
] interface HTMLCollection {
readonly attribute unsigned long length;