media: Move CdmInitializedPromise to media/.
This class does not need to be in content/ and will be needed by MojoCdm in
media/mojo.
BUG=432998
TEST=Moves file only.
Review URL: https://codereview.chromium.org/1187603003
Cr-Commit-Position: refs/heads/master@{#334266}
diff --git a/media/base/cdm_initialized_promise.cc b/media/base/cdm_initialized_promise.cc
new file mode 100644
index 0000000..dcc9c79c
--- /dev/null
+++ b/media/base/cdm_initialized_promise.cc
@@ -0,0 +1,30 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "media/base/cdm_initialized_promise.h"
+
+namespace media {
+
+CdmInitializedPromise::CdmInitializedPromise(const CdmCreatedCB& cdm_created_cb,
+ scoped_ptr<MediaKeys> cdm)
+ : cdm_created_cb_(cdm_created_cb), cdm_(cdm.Pass()) {
+}
+
+CdmInitializedPromise::~CdmInitializedPromise() {
+}
+
+void CdmInitializedPromise::resolve() {
+ MarkPromiseSettled();
+ cdm_created_cb_.Run(cdm_.Pass(), "");
+}
+
+void CdmInitializedPromise::reject(MediaKeys::Exception exception_code,
+ uint32 system_code,
+ const std::string& error_message) {
+ MarkPromiseSettled();
+ cdm_created_cb_.Run(nullptr, error_message);
+ // Usually after this |this| (and the |cdm_| within it) will be destroyed.
+}
+
+} // namespace media