Index: extensions/browser/api/cast_channel/cast_channel_api.cc |
diff --git a/extensions/browser/api/cast_channel/cast_channel_api.cc b/extensions/browser/api/cast_channel/cast_channel_api.cc |
index 9d711a48c0c7910804a435ce46cd76f4fa3ae8c6..c2c083c79cfe234a4040486b111dbcf7f4e0963c 100644 |
--- a/extensions/browser/api/cast_channel/cast_channel_api.cc |
+++ b/extensions/browser/api/cast_channel/cast_channel_api.cc |
@@ -14,6 +14,7 @@ |
#include "base/time/default_tick_clock.h" |
#include "base/values.h" |
#include "content/public/browser/browser_thread.h" |
+#include "extensions/browser/api/cast_channel/cast_auth_ica.h" |
#include "extensions/browser/api/cast_channel/cast_socket.h" |
#include "extensions/browser/api/cast_channel/logger.h" |
#include "extensions/browser/event_router.h" |
@@ -510,4 +511,27 @@ void CastChannelGetLogsFunction::AsyncWorkStart() { |
AsyncWorkCompleted(); |
} |
+CastChannelSetAuthorityKeysFunction::CastChannelSetAuthorityKeysFunction() { |
+} |
+ |
+CastChannelSetAuthorityKeysFunction::~CastChannelSetAuthorityKeysFunction() { |
+} |
+ |
+bool CastChannelSetAuthorityKeysFunction::Prepare() { |
+ params_ = cast_channel::SetAuthorityKeys::Params::Create(*args_); |
+ EXTENSION_FUNCTION_VALIDATE(params_.get()); |
+ return true; |
+} |
+ |
+void CastChannelSetAuthorityKeysFunction::AsyncWorkStart() { |
+ std::string& keys = params_->keys; |
+ std::string& signature = params_->signature; |
+ if (signature.empty() || keys.empty() || |
+ !cast_channel::SetTrustedCertificateAuthorities(keys, signature)) { |
+ SetError("Unable to set authority keys."); |
+ } |
+ |
+ AsyncWorkCompleted(); |
+} |
+ |
} // namespace extensions |