dawncpp.h: Add nullptr ObjectBase constructor and assignment

BUG=dawn:3

Change-Id: I9f7ec0ae1c7885809888a603ed056c6565751bec
Reviewed-on: https://dawn-review.googlesource.com/c/2840
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
diff --git a/src/tests/unittests/ObjectBaseTests.cpp b/src/tests/unittests/ObjectBaseTests.cpp
index 2c9dccb..b42920f 100644
--- a/src/tests/unittests/ObjectBaseTests.cpp
+++ b/src/tests/unittests/ObjectBaseTests.cpp
@@ -177,3 +177,21 @@
     ASSERT_EQ(obj.Get(), &refcount);
     ASSERT_EQ(refcount, 2);
 }
+
+// Test the constructor using nullptr
+TEST(ObjectBase, NullptrConstructor) {
+    Object obj(nullptr);
+    ASSERT_EQ(obj.Get(), nullptr);
+}
+
+// Test assigning nullptr to the object
+TEST(ObjectBase, AssignNullptr) {
+    int refcount = 1;
+
+    Object obj(&refcount);
+    ASSERT_EQ(refcount, 2);
+
+    obj = nullptr;
+    ASSERT_EQ(refcount, 1);
+}
+