Added API to Objective-C PeerConnectionFactoryOptions to enable GCM Ciphers.

This changeset adds the ability for API users to enable or disable GCM Cipher
suites from objective-c.

Bug: chromium:713701
Change-Id: I0ac7b60f55dd56bebbcfb315a542ef4843099802
Reviewed-on: https://webrtc-review.googlesource.com/89263
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24028}
diff --git a/sdk/objc/Framework/Classes/PeerConnection/RTCPeerConnectionFactoryOptions.mm b/sdk/objc/Framework/Classes/PeerConnection/RTCPeerConnectionFactoryOptions.mm
index b5e9d74..103a130 100644
--- a/sdk/objc/Framework/Classes/PeerConnection/RTCPeerConnectionFactoryOptions.mm
+++ b/sdk/objc/Framework/Classes/PeerConnection/RTCPeerConnectionFactoryOptions.mm
@@ -35,6 +35,7 @@
 @synthesize ignoreWiFiNetworkAdapter = _ignoreWiFiNetworkAdapter;
 @synthesize ignoreEthernetNetworkAdapter = _ignoreEthernetNetworkAdapter;
 @synthesize enableAes128Sha1_32CryptoCipher = _enableAes128Sha1_32CryptoCipher;
+@synthesize enableGcmCryptoSuites = _enableGcmCryptoSuites;
 
 - (instancetype)init {
   return [super init];
@@ -52,6 +53,7 @@
   setNetworkBit(&options, rtc::ADAPTER_TYPE_ETHERNET, self.ignoreEthernetNetworkAdapter);
 
   options.crypto_options.enable_aes128_sha1_32_crypto_cipher = self.enableAes128Sha1_32CryptoCipher;
+  options.crypto_options.enable_gcm_crypto_suites = self.enableGcmCryptoSuites;
 
   return options;
 }
diff --git a/sdk/objc/Framework/Headers/WebRTC/RTCPeerConnectionFactoryOptions.h b/sdk/objc/Framework/Headers/WebRTC/RTCPeerConnectionFactoryOptions.h
index 33faa1e..725c834 100644
--- a/sdk/objc/Framework/Headers/WebRTC/RTCPeerConnectionFactoryOptions.h
+++ b/sdk/objc/Framework/Headers/WebRTC/RTCPeerConnectionFactoryOptions.h
@@ -33,6 +33,8 @@
 
 @property(nonatomic, assign) BOOL enableAes128Sha1_32CryptoCipher;
 
+@property(nonatomic, assign) BOOL enableGcmCryptoSuites;
+
 - (instancetype)init NS_DESIGNATED_INITIALIZER;
 
 @end