Revert "Remove deprecated `APIReference()`"

This reverts commit cbe795822ae42b4b8751f377fe6e9044ad12dd7e.

Reason for revert: dawn into chromium auto roller is broken
https://ci.chromium.org/ui/p/chromium/builders/try/android-arm64-rel/587482/overview

Original change's description:
> Remove deprecated `APIReference()`
>
> This patch removes the deprecated API `APIReference()` from Dawn.
>
> Bug: dawn:2234
> Change-Id: I238f65c5e49d0abd04ee9c66bb0c0c52e73822ea
> Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/187707
> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
> Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>

TBR=cwallez@chromium.org,jiawei.shao@intel.com,enga@chromium.org,dawn-scoped@luci-project-accounts.iam.gserviceaccount.com,lokokung@google.com

Change-Id: Iefe18730f866d30f61d13eda77a8cb42319cf2df
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: dawn:2234
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/188060
Auto-Submit: Peng Huang <penghuang@chromium.org>
Reviewed-by: Loko Kung <lokokung@google.com>
Reviewed-by: Jiawei Shao <jiawei.shao@intel.com>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
diff --git a/generator/dawn_json_generator.py b/generator/dawn_json_generator.py
index a5b9b7e..8da2fb0 100644
--- a/generator/dawn_json_generator.py
+++ b/generator/dawn_json_generator.py
@@ -964,6 +964,8 @@
 
 def c_methods(params, typ):
     return typ.methods + [
+        # TODO(dawn:2234): Deprecated. Remove when no longer used.
+        Method(Name('reference'), params['types']['void'], [], False, {}),
         Method(Name('add ref'), params['types']['void'], [], False, {}),
         Method(Name('release'), params['types']['void'], [], False, {}),
     ]
diff --git a/generator/templates/api.h b/generator/templates/api.h
index 80d4991..43b495e 100644
--- a/generator/templates/api.h
+++ b/generator/templates/api.h
@@ -73,6 +73,8 @@
 #include <stdint.h>
 #include <stddef.h>
 
+#define WGPU_BREAKING_REFERENCE_ADDREF
+
 #if defined(__cplusplus)
 #  if __cplusplus >= 201103L
 #    define {{API}}_MAKE_INIT_STRUCT(type, value) (type value)
diff --git a/src/dawn/common/RefCounted.h b/src/dawn/common/RefCounted.h
index cf062d2..0d06e04 100644
--- a/src/dawn/common/RefCounted.h
+++ b/src/dawn/common/RefCounted.h
@@ -76,6 +76,8 @@
     // synchronization in place for destruction.
     void Release();
 
+    // TODO(dawn:2234): Deprecated. Remove when no longer used.
+    void APIReference() { APIAddRef(); }
     void APIAddRef() { AddRef(); }
     void APIRelease() { Release(); }
 
diff --git a/src/dawn/fuzzers/DawnWireServerFuzzer.cpp b/src/dawn/fuzzers/DawnWireServerFuzzer.cpp
index 5512b5d..3797267 100644
--- a/src/dawn/fuzzers/DawnWireServerFuzzer.cpp
+++ b/src/dawn/fuzzers/DawnWireServerFuzzer.cpp
@@ -120,7 +120,7 @@
         for (dawn::native::Adapter adapter : adapters) {
             if (sAdapterSupported(adapter)) {
                 WGPUAdapter cAdapter = adapter.Get();
-                dawn::native::GetProcs().adapterAddRef(cAdapter);
+                dawn::native::GetProcs().adapterReference(cAdapter);
                 callback(WGPURequestAdapterStatus_Success, cAdapter, nullptr, userdata);
                 return;
             }
diff --git a/src/dawn/native/RefCountedWithExternalCount.h b/src/dawn/native/RefCountedWithExternalCount.h
index 524e988..64b4e5d 100644
--- a/src/dawn/native/RefCountedWithExternalCount.h
+++ b/src/dawn/native/RefCountedWithExternalCount.h
@@ -48,6 +48,8 @@
     using T::Release;
     using T::T;
 
+    // TODO(dawn:2234): Deprecated. Remove when no longer used.
+    void APIReference() { APIAddRef(); }
     void APIAddRef() {
         IncrementExternalRefCount();
         T::APIAddRef();
@@ -57,7 +59,7 @@
         if (mExternalRefCount.Decrement()) {
             WillDropLastExternalRef();
         }
-        T::Release();
+        T::APIRelease();
     }
 
     void IncrementExternalRefCount() { mExternalRefCount.Increment(); }