Start passing RenderStyle around with PassRef.
<https://webkit.org/b/123051>
Source/WebCore:
Made the RenderStyle::create methods return PassRef<RenderStyle>
and RenderElement::setStyle take a PassRef<RenderStyle>.
Reviewed by Darin Adler.
Source/WTF:
Added some new PassRef tricks to make this patch possible.
Reviewed by Darin Adler.
* wtf/PassRef.h:
(WTF::PassRef::get):
Added a get() helper to facilitate writing functions that
construct a new object and call some functions on it before
returning it.
(WTF::PassRef::dropRef):
This will deref() the referenced object and mark the PassRef
as "passed." This is used in code paths where the PassRef is
going to go out of scope with nobody to take it over.
(WTF::PassRef::leakRef):
Renamed takeReference() to leakRef() and made it public so
we don't have to awkwardly sink the PassRef into a Ref for
e.g static locals.
* wtf/RefPtr.h:
(WTF::RefPtr::releaseNonNull):
Added RefPtr::releaseNonNull() for a convenient way of creating
a PassRef<T> from a RefPtr<T>. This function may only be called
if the RefPtr is known to be non-null.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157665 268f45cc-cd09-0410-ab3c-d52691b4dbfc
48 files changed