author Boris Zbarsky <>
Wed, 19 Feb 2020 01:15:33 +0000
changeset 514540 28cf163158a673037d20ccc1aa7b825e406e927b
parent 454520 5f4630838d46dd81dadb13220a4af0da9e23a619
permissions -rw-r--r--
Bug 1615035. Use ErrorResults, not nsresults, to propagate errors in CDM code. r=bryce Please review this very carefully! This exposes a bunch of error messages that used to only be visible on DetailedPromise to web content. Are there any privacy/security issues with exposing those? If needed, we could use more generic messages instead, but exposing this information if we can seemed like the right way to go. I did look over the error messages coming from and none of them look like they expose any interesting state. The messages from ChromiumCDMProxy expose mKeySystem, but that came from the web page to start with, I think. Also, are these messages even meaningful for web content? Some of the error messages (like the one from MediaDrmCDMProxy::md_SetServerCertificate) seem like they include internal function names, so are not great for web content... I'm not quite sure what the best thing to do there is. Note: There is a behavior change to ChromiumCDMParent::GetStatusForPolicy because NS_ERROR_INVALID_ARG is not a valid thing to throw to web content. I've used TypeError, since that's what normally gets used for invalid args. Differential Revision:

/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
 * You can obtain one at */

#  error "Don't include this file directly"