Ben Clayton db7def5816 common: RefBase fixes and improvements
Fix missing Release() on RefBase::operator=(const T&).

Always acquire the new reference before dropping the existing reference.
Consider:
* Object A holds the only reference to object B.
* Ref of A is assigned B.
If A were released before referencing B, then B would be a dead pointer.

Remove RefBase::kNullValue, just use Traits::kNullValue. Avoids an unnecessary constexpr copy.

Add even more tests.

Change-Id: I111079d56cbf8c09162aa6e493078bead9ae97fa
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/55882
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
2021-06-28 10:26:08 +00:00
..
2021-01-11 08:20:02 +00:00
2018-07-18 22:54:06 +02:00
2021-06-04 22:23:56 +00:00
2021-04-23 02:16:12 +00:00
2021-06-04 22:23:56 +00:00
2020-07-08 18:50:30 +00:00
2020-07-08 18:50:30 +00:00
2020-06-17 22:35:19 +00:00
2019-12-06 18:21:39 +00:00
2019-12-06 18:21:39 +00:00
2020-09-17 23:30:40 +00:00
2021-04-23 02:16:12 +00:00
2021-04-23 02:16:12 +00:00
2021-06-04 22:23:56 +00:00
2021-06-04 22:23:56 +00:00
2020-06-17 22:35:19 +00:00