diff --git a/examples/SampleUtils.cpp b/examples/SampleUtils.cpp
index ee7e006..174b539 100644
--- a/examples/SampleUtils.cpp
+++ b/examples/SampleUtils.cpp
@@ -152,12 +152,9 @@
             clientDesc.serializer = c2sBuf;
 
             wireClient = new dawn_wire::WireClient(clientDesc);
-            WGPUDevice clientDevice = wireClient->GetDevice();
-            DawnProcTable clientProcs = dawn_wire::WireClient::GetProcs();
+            cDevice = wireClient->GetDevice();
+            procs = dawn_wire::client::GetProcs();
             s2cBuf->SetHandler(wireClient);
-
-            procs = clientProcs;
-            cDevice = clientDevice;
         } break;
     }
 
diff --git a/src/dawn_wire/WireClient.cpp b/src/dawn_wire/WireClient.cpp
index 430a55c..155ca11 100644
--- a/src/dawn_wire/WireClient.cpp
+++ b/src/dawn_wire/WireClient.cpp
@@ -25,11 +25,6 @@
         mImpl.reset();
     }
 
-    // static
-    const DawnProcTable& WireClient::GetProcs() {
-        return client::GetProcs();
-    }
-
     WGPUDevice WireClient::GetDevice() const {
         return mImpl->GetDevice();
     }
diff --git a/src/fuzzers/DawnWireServerFuzzer.cpp b/src/fuzzers/DawnWireServerFuzzer.cpp
index 1a70f18..4561c42 100644
--- a/src/fuzzers/DawnWireServerFuzzer.cpp
+++ b/src/fuzzers/DawnWireServerFuzzer.cpp
@@ -30,6 +30,10 @@
 
     class DevNull : public dawn_wire::CommandSerializer {
       public:
+        size_t GetMaximumAllocationSize() const override {
+            // Some fuzzer bots have a 2GB allocation limit. Pick a value reasonably below that.
+            return 1024 * 1024 * 1024;
+        }
         void* GetCmdSpace(size_t size) override {
             if (size > buf.size()) {
                 buf.resize(size);
diff --git a/src/include/dawn_native/DawnNative.h b/src/include/dawn_native/DawnNative.h
index 22a0380..6fc110f 100644
--- a/src/include/dawn_native/DawnNative.h
+++ b/src/include/dawn_native/DawnNative.h
@@ -215,10 +215,7 @@
       public:
         const ExternalImageType type;
         const WGPUTextureDescriptor* cTextureDescriptor;  // Must match image creation params
-        union {
-            bool isInitialized;  // Whether the texture is initialized on import
-            bool isCleared;      // DEPRECATED: Sets whether the texture will be cleared before use
-        };
+        bool isInitialized;  // Whether the texture is initialized on import
 
       protected:
         ExternalImageDescriptor(ExternalImageType type);
diff --git a/src/include/dawn_wire/Wire.h b/src/include/dawn_wire/Wire.h
index c2da611..5d5d1be 100644
--- a/src/include/dawn_wire/Wire.h
+++ b/src/include/dawn_wire/Wire.h
@@ -33,11 +33,7 @@
         // a fatal error.
         virtual void* GetCmdSpace(size_t size) = 0;
         virtual bool Flush() = 0;
-
-        // TODO(enga): Make pure virtual after updating Chromium.
-        virtual size_t GetMaximumAllocationSize() const {
-            return std::numeric_limits<size_t>::max();
-        }
+        virtual size_t GetMaximumAllocationSize() const = 0;
     };
 
     class DAWN_WIRE_EXPORT CommandHandler {
diff --git a/src/include/dawn_wire/WireClient.h b/src/include/dawn_wire/WireClient.h
index 50da913..b85ce0e 100644
--- a/src/include/dawn_wire/WireClient.h
+++ b/src/include/dawn_wire/WireClient.h
@@ -46,9 +46,6 @@
         WireClient(const WireClientDescriptor& descriptor);
         ~WireClient() override;
 
-        // TODO(enga): Remove this and use dawn_wire::client::GetProcs() instead
-        static const DawnProcTable& GetProcs();
-
         WGPUDevice GetDevice() const;
         const volatile char* HandleCommands(const volatile char* commands,
                                             size_t size) override final;
