Make PeerConnectionInterface::SetConfiguration pure virtual

Bug: webrtc:10198
Change-Id: Ifc0dac72410b4f928e8e8aa2f2bc593005f39f87
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/267702
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37433}
diff --git a/api/peer_connection_interface.cc b/api/peer_connection_interface.cc
index 9f159ea..d01d58d 100644
--- a/api/peer_connection_interface.cc
+++ b/api/peer_connection_interface.cc
@@ -41,11 +41,6 @@
 
 PeerConnectionInterface::RTCConfiguration::~RTCConfiguration() = default;
 
-RTCError PeerConnectionInterface::SetConfiguration(
-    const PeerConnectionInterface::RTCConfiguration& config) {
-  return RTCError();
-}
-
 PeerConnectionDependencies::PeerConnectionDependencies(
     PeerConnectionObserver* observer_in)
     : observer(observer_in) {}
diff --git a/api/peer_connection_interface.h b/api/peer_connection_interface.h
index 54c4c46..373b758 100644
--- a/api/peer_connection_interface.h
+++ b/api/peer_connection_interface.h
@@ -1106,11 +1106,8 @@
   // - SYNTAX_ERROR if parsing an ICE server URL failed.
   // - INVALID_PARAMETER if a TURN server is missing `username` or `password`.
   // - INTERNAL_ERROR if an unexpected error occurred.
-  //
-  // TODO(nisse): Make this pure virtual once all Chrome subclasses of
-  // PeerConnectionInterface implement it.
   virtual RTCError SetConfiguration(
-      const PeerConnectionInterface::RTCConfiguration& config);
+      const PeerConnectionInterface::RTCConfiguration& config) = 0;
 
   // Provides a remote candidate to the ICE Agent.
   // A copy of the `candidate` will be created and added to the remote