Fix adoptRef usage violations (mostly in chromium)
Created attachment 60893 [details] patch
Created attachment 60896 [details] patch v1.1: actually add relax call to IDBDatabaseRequest
M WebCore/ChangeLog M WebCore/bindings/v8/V8DOMWrapper.cpp M WebCore/bindings/v8/V8NodeFilterCondition.h M WebCore/bindings/v8/custom/V8HTMLAllCollectionCustom.cpp M WebCore/bindings/v8/custom/V8HTMLCollectionCustom.cpp M WebCore/bindings/v8/custom/V8HTMLFormElementCustom.cpp M WebCore/bindings/v8/custom/V8HTMLSelectElementCustom.cpp M WebCore/bindings/v8/custom/V8NamedNodesCollection.h M WebCore/storage/IDBDatabaseRequest.cpp M WebCore/storage/IndexedDatabaseRequest.cpp M WebKit/chromium/ChangeLog M WebKit/chromium/src/IDBCallbacksProxy.cpp M WebKit/chromium/src/WebPopupMenuImpl.cpp M WebKit/chromium/src/WebViewImpl.cpp Committed r62791
It’s best to do this without any calls to relaxOptionRequirement. Instead, code that needs to ref the object can be moved out of constructors into create functions. It’s OK to leave things like this, but better if we could eliminate the relaxAdoptionRequirement calls. Ideally we’d use that only in CrossThreadRefCounted.
Thanks for fixing this all, by the way. I really appreciate it. I think that long-term this adoptRef discipline will help us avoid storage leaks.