media: Report failure reason when creating CDM failed [chromium/src : main]

6 views
Skip to first unread message

Sangbaek Park (Gerrit)

unread,
Jun 6, 2024, 11:39:29 AM6/6/24
to Frank Li, Zijie He, AyeAye, Chromium LUCI CQ, Tricium, Chromium Metrics Reviews, chromium...@chromium.org, emircan+watch...@chromium.org, fuzzin...@chromium.org, mcasas+med...@chromium.org, halliwe...@chromium.org, lcwu+...@chromium.org, oshima...@chromium.org, fuchsia...@chromium.org, asvitkine...@chromium.org, blink-...@chromium.org, eme-r...@chromium.org, feature-me...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org
Attention needed from Xiaohan Wang

Sangbaek Park added 1 comment

Patchset-level comments
File-level comment, Patchset 8 (Latest):
Sangbaek Park . resolved

@xhw...@chromium.org, sorry for too many files but this change is mostly about plumbing to pass the enum value for the failure reason on CreateCdm.

@fra...@microsoft.com, sorry for the delay of this work. This will give us better debuggability when CreateCdm failed.

Open in Gerrit

Related details

Attention is currently required from:
  • Xiaohan Wang
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Review
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: Ia37bf2bee0d4a7c0fbc0478ce79065c37d52e4d7
Gerrit-Change-Number: 5601196
Gerrit-PatchSet: 8
Gerrit-Owner: Sangbaek Park <sangba...@chromium.org>
Gerrit-Reviewer: Sangbaek Park <sangba...@chromium.org>
Gerrit-Reviewer: Xiaohan Wang <xhw...@chromium.org>
Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
Gerrit-CC: Frank Li <fra...@microsoft.com>
Gerrit-CC: Zijie He <zij...@google.com>
Gerrit-Attention: Xiaohan Wang <xhw...@chromium.org>
Gerrit-Comment-Date: Thu, 06 Jun 2024 15:39:17 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Xiaohan Wang (Gerrit)

unread,
Jun 6, 2024, 4:57:58 PM6/6/24
to Sangbaek Park, Ted (Chromium) Meyer, John Rummell, Frank Li, Zijie He, AyeAye, Chromium LUCI CQ, Tricium, Chromium Metrics Reviews, chromium...@chromium.org, emircan+watch...@chromium.org, fuzzin...@chromium.org, mcasas+med...@chromium.org, halliwe...@chromium.org, lcwu+...@chromium.org, oshima...@chromium.org, fuchsia...@chromium.org, asvitkine...@chromium.org, blink-...@chromium.org, eme-r...@chromium.org, feature-me...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org
Attention needed from Frank Li, Sangbaek Park and Ted (Chromium) Meyer

Xiaohan Wang added 13 comments

Patchset-level comments
Xiaohan Wang . resolved

+tmathmeyer for review as well, who's our expert on error status reporting in media/.

CC jrummell FYI.

File chromeos/components/cdm_factory_daemon/chromeos_cdm_factory.cc
Line 173, Patchset 8 (Latest): media::CreateCdmFailureReason::kCrOsMultipleInstancesNotAllowed;
Xiaohan Wang . unresolved

nit: Shall we try to match the ChromeOS CdmFactory::CreateCdmStatus naming?

File media/base/cdm_factory.h
Line 21, Patchset 8 (Latest): CreateCdmFailureReason failure_reason)>;
Xiaohan Wang . unresolved

+tmathmeyer: Do you think this API can benefit from media::TypedStatus? The line number information might be very helpful in debugging.

File media/base/content_decryption_module.h
Line 124, Patchset 8 (Latest): kFuchsiaCdmeClosed, // Fuchsia: CDM closed prior to being
Xiaohan Wang . unresolved

typo?

Line 121, Patchset 8 (Latest): kCrOsVerifiedAccessDisabled, // CrOs: Verified Access is disabled.
kCrOsRemoteFactoryCreationFailed, // CrOs: Remote factory creation failed.
kAndroidCdmCreationAborted, // Android: CDM creation aborted.
kFuchsiaCdmeClosed, // Fuchsia: CDM closed prior to being
Xiaohan Wang . unresolved

Reading this list, I am debating between how granularized this list should be. For example:

  • Do we want each failure point to report a different enum? (In other words, do we expect to be able to find the exact failure point when we see an enum reported?
  • Do we need to report different enums for the same type of error on different platforms (e.g. Android vs Fuchsia)?

The concern is that if we do that then we are more likely needing to expand this list overtime with new code added, which will be more maintenance cost, and the marginal benefit is getting lower.

With that, does it make sense to group errors into logical enums? e.g.

  • kDisconnectionError and kMojoCallDropped
  • kInitCdmFailed and kMediaFoundationInitCdmFailed
  • kAndroidCdmCreationAborted and kMediaDrmBridgeCreationAborted, and maybe kFuchsiaCdmeClosed
  • kCdmFactoryCreationFailed and kUnableToFindCdmFactory
  • ...

If we find that one UMA is reported heavily and we want to know more, we can always expand the list at that time. WDYT?

Line 105, Patchset 8 (Latest): kInvalidKeySystem, // Invalid key system.
Xiaohan Wang . unresolved

This is only reported twice, one after NOTREACHED_IN_MIGRATION and one in test code. So it might not worth having an entry. Can we just use kUnsupportedKeySystem?

Line 86, Patchset 8 (Latest):enum class CreateCdmFailureReason {
Xiaohan Wang . unresolved

Can we move this list to cdm_factory.h since it's related to CDM creation?

Line 86, Patchset 8 (Latest):enum class CreateCdmFailureReason {
Xiaohan Wang . unresolved

optional nit: It's slightly hard to read when kSuccess is also a failure reason. It could be CreateCdmStatus. But this is optional.

Line 85, Patchset 8 (Latest):// Reasons for CDM creation failure.
Xiaohan Wang . unresolved

Add a comment that these are reported to UMA so values should not be reused or deleted etc. You can find examples in the code base.

File third_party/blink/renderer/platform/media/cdm_session_adapter.cc
Line 174, Patchset 8 (Latest):
Xiaohan Wang . unresolved

Can we DCHECK that if we have a CDM the reason is not success?

File third_party/blink/renderer/platform/media/web_content_decryption_module_impl.cc
Line 104, Patchset 8 (Latest): media::CreateCdmFailureReason::kEmeUseNotAllowedOnUniqueOrigins);
Xiaohan Wang . unresolved

The name is a bit long and hard to read. How about kNotAllowedOnUniqueOrigin?

File tools/metrics/histograms/metadata/media/enums.xml
Line 411, Patchset 8 (Latest): Media.EME.MediaFoundationCdm.Widevine.HardwareSecure.Initialize."/>
Xiaohan Wang . unresolved

Enums should not be specific to any particular key system...

File tools/metrics/histograms/metadata/media/histograms.xml
Line 3401, Patchset 8 (Latest): The failure reason when the CDM instance is not created successfully for
{KeySystem}. Reported each time a CDM instance creation is attempted,
Xiaohan Wang . unresolved

This is confusing since we also report kSuccess when a CDM is created successfully.

Open in Gerrit

Related details

Attention is currently required from:
  • Frank Li
  • Sangbaek Park
  • Ted (Chromium) Meyer
Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: Ia37bf2bee0d4a7c0fbc0478ce79065c37d52e4d7
    Gerrit-Change-Number: 5601196
    Gerrit-PatchSet: 8
    Gerrit-Owner: Sangbaek Park <sangba...@chromium.org>
    Gerrit-Reviewer: Sangbaek Park <sangba...@chromium.org>
    Gerrit-Reviewer: Ted (Chromium) Meyer <tmath...@chromium.org>
    Gerrit-Reviewer: Xiaohan Wang <xhw...@chromium.org>
    Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
    Gerrit-CC: Frank Li <fra...@microsoft.com>
    Gerrit-CC: John Rummell <jrum...@chromium.org>
    Gerrit-CC: Zijie He <zij...@google.com>
    Gerrit-Attention: Ted (Chromium) Meyer <tmath...@chromium.org>
    Gerrit-Attention: Frank Li <fra...@microsoft.com>
    Gerrit-Attention: Sangbaek Park <sangba...@chromium.org>
    Gerrit-Comment-Date: Thu, 06 Jun 2024 20:57:46 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Ted (Chromium) Meyer (Gerrit)

    unread,
    Jun 6, 2024, 6:13:04 PM6/6/24
    to Sangbaek Park, John Rummell, Frank Li, Zijie He, AyeAye, Chromium LUCI CQ, Tricium, Chromium Metrics Reviews, chromium...@chromium.org, emircan+watch...@chromium.org, fuzzin...@chromium.org, mcasas+med...@chromium.org, halliwe...@chromium.org, lcwu+...@chromium.org, oshima...@chromium.org, fuchsia...@chromium.org, asvitkine...@chromium.org, blink-...@chromium.org, eme-r...@chromium.org, feature-me...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org
    Attention needed from Frank Li, Sangbaek Park and Xiaohan Wang

    Ted (Chromium) Meyer added 6 comments

    Patchset-level comments
    Ted (Chromium) Meyer . resolved

    Added some thoughts on using MediaStatus. It seems like it is probably a good fit, but I don't quite remember what the situation with moving these across mojo is anymore. It might be already totally hooked up and just require importing media_types.mojom, but it might require some copying of what I did here: https://chromium-review.googlesource.com/c/chromium/src/+/3132055

    File chromeos/components/cdm_factory_daemon/chromeos_cdm_factory.cc
    Line 172, Patchset 8 (Latest): failure_reason =
    media::CreateCdmFailureReason::kCrOsMultipleInstancesNotAllowed;
    Ted (Chromium) Meyer . unresolved

    just call the callback here and return, rather than assigning to a temp variable.

    Line 176, Patchset 8 (Latest): failure_reason =
    media::CreateCdmFailureReason::kCrOsInsufficientGpuMemoryAvailable;
    break;
    Ted (Chromium) Meyer . unresolved

    ditto

    File media/base/android/android_cdm_factory.cc
    Line 108, Patchset 8 (Latest): LOG_IF(ERROR, !cdm) << static_cast<int>(failure_reason);
    Ted (Chromium) Meyer . unresolved

    If you go with typed status, you can dump information about it using
    ```
    ::media::MediaSerialize(status);
    ```

    File media/base/cdm_factory.h
    Line 21, Patchset 8 (Latest): CreateCdmFailureReason failure_reason)>;
    Xiaohan Wang . unresolved

    +tmathmeyer: Do you think this API can benefit from media::TypedStatus? The line number information might be very helpful in debugging.

    Ted (Chromium) Meyer

    yes, definitely. It also makes the callback easier to use IMO. If CreateCdmFailureReason became something like
    ```
    CdmStatus = TypedStatus<CdmStatusTraits...>;
    ```
    you could define this callback to be
    ```
    using CdmCreateCb = base::OnceCallback<void(CdmStatus::Or<scoped_refptr<ContentDecryptionModule>>);
    ```

    which means you can just call it with either the error code or the pointer, but you don't have to provide success code for successful results, or a nullptr for error results.

    File media/base/content_decryption_module.h
    Line 86, Patchset 8 (Latest):enum class CreateCdmFailureReason {
    Xiaohan Wang . unresolved

    optional nit: It's slightly hard to read when kSuccess is also a failure reason. It could be CreateCdmStatus. But this is optional.

    Ted (Chromium) Meyer
    If you chose to go with the typed status method, you'd declare this as:
    ```
    struct CdmStatusTraits {
    enum Codes {
    kLoadCdmFailed, // Failed to load the CDM.
    kCreateCdmFuncNotAvailable, // CreateCdmFunc not available.
    ...
    };
    static constexpr StatusGroupType Group() { return "CdmStatus"; }
    };
    using CdmStatus = TypedStatus<CdmStatusTraits>;
    ```
    And then access the codes like:
    ```
    if (is_ok) {
    std::move(cdm_created_cb_).Run(cdm_ptr);
    } else {
    std::move(cdm_created_cb_).Run(CdmStatus::Codes::kLoadCdmFailed);
    }
    ```
    Open in Gerrit

    Related details

    Attention is currently required from:
    • Frank Li
    • Sangbaek Park
    • Xiaohan Wang
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: Ia37bf2bee0d4a7c0fbc0478ce79065c37d52e4d7
    Gerrit-Change-Number: 5601196
    Gerrit-PatchSet: 8
    Gerrit-Owner: Sangbaek Park <sangba...@chromium.org>
    Gerrit-Reviewer: Sangbaek Park <sangba...@chromium.org>
    Gerrit-Reviewer: Ted (Chromium) Meyer <tmath...@chromium.org>
    Gerrit-Reviewer: Xiaohan Wang <xhw...@chromium.org>
    Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
    Gerrit-CC: Frank Li <fra...@microsoft.com>
    Gerrit-CC: John Rummell <jrum...@chromium.org>
    Gerrit-CC: Zijie He <zij...@google.com>
    Gerrit-Attention: Xiaohan Wang <xhw...@chromium.org>
    Gerrit-Attention: Frank Li <fra...@microsoft.com>
    Gerrit-Attention: Sangbaek Park <sangba...@chromium.org>
    Gerrit-Comment-Date: Thu, 06 Jun 2024 22:12:53 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Xiaohan Wang <xhw...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Sangbaek Park (Gerrit)

    unread,
    Jun 7, 2024, 2:51:20 PM6/7/24
    to Ted (Chromium) Meyer, John Rummell, Frank Li, Zijie He, AyeAye, Chromium LUCI CQ, Tricium, Chromium Metrics Reviews, chromium...@chromium.org, emircan+watch...@chromium.org, fuzzin...@chromium.org, mcasas+med...@chromium.org, halliwe...@chromium.org, lcwu+...@chromium.org, oshima...@chromium.org, fuchsia...@chromium.org, asvitkine...@chromium.org, blink-...@chromium.org, eme-r...@chromium.org, feature-me...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org
    Attention needed from Frank Li, Ted (Chromium) Meyer and Xiaohan Wang

    Sangbaek Park added 16 comments

    Patchset-level comments
    File-level comment, Patchset 13 (Latest):
    Sangbaek Park . resolved

    @xhw...@chromium.org, @tmath...@chromium.org thanks for the suggestion of using media status but I'd like to try it if we think we need it after seeing the new UMA data. All other code review feedback got addressed. PTAL

    File chromeos/components/cdm_factory_daemon/chromeos_cdm_factory.cc
    Line 172, Patchset 8: failure_reason =
    media::CreateCdmFailureReason::kCrOsMultipleInstancesNotAllowed;
    Ted (Chromium) Meyer . resolved

    just call the callback here and return, rather than assigning to a temp variable.

    Sangbaek Park

    Done

    Line 173, Patchset 8: media::CreateCdmFailureReason::kCrOsMultipleInstancesNotAllowed;
    Xiaohan Wang . resolved

    nit: Shall we try to match the ChromeOS CdmFactory::CreateCdmStatus naming?

    Sangbaek Park

    Done

    Line 176, Patchset 8: failure_reason =
    media::CreateCdmFailureReason::kCrOsInsufficientGpuMemoryAvailable;
    break;
    Ted (Chromium) Meyer . resolved

    ditto

    Sangbaek Park

    Done

    File media/base/android/android_cdm_factory.cc
    Line 108, Patchset 8: LOG_IF(ERROR, !cdm) << static_cast<int>(failure_reason);
    Ted (Chromium) Meyer . unresolved

    If you go with typed status, you can dump information about it using
    ```
    ::media::MediaSerialize(status);
    ```

    Sangbaek Park

    Thanks for the suggestion! I see some benefits including line number etc but I'd try this in the future once we see we can't narrow down the top error reasons.

    File media/base/cdm_factory.h
    Line 21, Patchset 8: CreateCdmFailureReason failure_reason)>;
    Xiaohan Wang . unresolved

    +tmathmeyer: Do you think this API can benefit from media::TypedStatus? The line number information might be very helpful in debugging.

    Ted (Chromium) Meyer

    yes, definitely. It also makes the callback easier to use IMO. If CreateCdmFailureReason became something like
    ```
    CdmStatus = TypedStatus<CdmStatusTraits...>;
    ```
    you could define this callback to be
    ```
    using CdmCreateCb = base::OnceCallback<void(CdmStatus::Or<scoped_refptr<ContentDecryptionModule>>);
    ```

    which means you can just call it with either the error code or the pointer, but you don't have to provide success code for successful results, or a nullptr for error results.

    Sangbaek Park

    Thanks, I'd try this in the future once we see we can't narrow down the top error reasons.

    File media/base/content_decryption_module.h
    Line 121, Patchset 8: kCrOsVerifiedAccessDisabled, // CrOs: Verified Access is disabled.

    kCrOsRemoteFactoryCreationFailed, // CrOs: Remote factory creation failed.
    kAndroidCdmCreationAborted, // Android: CDM creation aborted.
    kFuchsiaCdmeClosed, // Fuchsia: CDM closed prior to being
    Xiaohan Wang . resolved

    Reading this list, I am debating between how granularized this list should be. For example:

    • Do we want each failure point to report a different enum? (In other words, do we expect to be able to find the exact failure point when we see an enum reported?
    • Do we need to report different enums for the same type of error on different platforms (e.g. Android vs Fuchsia)?

    The concern is that if we do that then we are more likely needing to expand this list overtime with new code added, which will be more maintenance cost, and the marginal benefit is getting lower.

    With that, does it make sense to group errors into logical enums? e.g.

    • kDisconnectionError and kMojoCallDropped
    • kInitCdmFailed and kMediaFoundationInitCdmFailed
    • kAndroidCdmCreationAborted and kMediaDrmBridgeCreationAborted, and maybe kFuchsiaCdmeClosed
    • kCdmFactoryCreationFailed and kUnableToFindCdmFactory
    • ...

    If we find that one UMA is reported heavily and we want to know more, we can always expand the list at that time. WDYT?

    Sangbaek Park

    I initially started smaller # of entries but ended up adding more due to other platforms' cases so I was debating the same concern. Consolidating / flattening sounds reasonable.

    Line 124, Patchset 8: kFuchsiaCdmeClosed, // Fuchsia: CDM closed prior to being
    Xiaohan Wang . resolved

    typo?

    Sangbaek Park

    Done

    Line 105, Patchset 8: kInvalidKeySystem, // Invalid key system.
    Xiaohan Wang . resolved

    This is only reported twice, one after NOTREACHED_IN_MIGRATION and one in test code. So it might not worth having an entry. Can we just use kUnsupportedKeySystem?

    Sangbaek Park

    Done

    Line 86, Patchset 8:enum class CreateCdmFailureReason {
    Xiaohan Wang . unresolved

    optional nit: It's slightly hard to read when kSuccess is also a failure reason. It could be CreateCdmStatus. But this is optional.

    Ted (Chromium) Meyer
    If you chose to go with the typed status method, you'd declare this as:
    ```
    struct CdmStatusTraits {
    enum Codes {
    kLoadCdmFailed, // Failed to load the CDM.
    kCreateCdmFuncNotAvailable, // CreateCdmFunc not available.
    ...
    };
    static constexpr StatusGroupType Group() { return "CdmStatus"; }
    };
    using CdmStatus = TypedStatus<CdmStatusTraits>;
    ```
    And then access the codes like:
    ```
    if (is_ok) {
    std::move(cdm_created_cb_).Run(cdm_ptr);
    } else {
    std::move(cdm_created_cb_).Run(CdmStatus::Codes::kLoadCdmFailed);
    }
    ```
    Sangbaek Park

    optional nit: It's slightly hard to read when kSuccess is also a failure reason. It could be CreateCdmStatus. But this is optional.

    Renamed to `CreateCdmStatus`.

    If you chose to go with the typed status method, you'd declare this as:

    I'd try this in the future once we see we can't narrow down the top error reasons.

    Line 86, Patchset 8:enum class CreateCdmFailureReason {
    Xiaohan Wang . resolved

    Can we move this list to cdm_factory.h since it's related to CDM creation?

    Sangbaek Park

    Moved to `cdm_factory.h`

    Line 85, Patchset 8:// Reasons for CDM creation failure.
    Xiaohan Wang . resolved

    Add a comment that these are reported to UMA so values should not be reused or deleted etc. You can find examples in the code base.

    Sangbaek Park

    Added
    ```
    // These are reported to UMA server. Do not renumber or reuse values.
    ```

    File third_party/blink/renderer/platform/media/cdm_session_adapter.cc
    Line 174, Patchset 8:
    Xiaohan Wang . resolved

    Can we DCHECK that if we have a CDM the reason is not success?

    Sangbaek Park

    Tried to add DCHECK here and realized some tests are expecting failures so I can't add DCHECK here.

    File third_party/blink/renderer/platform/media/web_content_decryption_module_impl.cc
    Line 104, Patchset 8: media::CreateCdmFailureReason::kEmeUseNotAllowedOnUniqueOrigins);
    Xiaohan Wang . resolved

    The name is a bit long and hard to read. How about kNotAllowedOnUniqueOrigin?

    Sangbaek Park

    Done

    File tools/metrics/histograms/metadata/media/enums.xml
    Line 411, Patchset 8: Media.EME.MediaFoundationCdm.Widevine.HardwareSecure.Initialize."/>
    Xiaohan Wang . resolved

    Enums should not be specific to any particular key system...

    Sangbaek Park

    Generalized / consolidated `kMediaFoundationInitCdmFailed` into `kInitCdmFailed`.

    File tools/metrics/histograms/metadata/media/histograms.xml
    Line 3401, Patchset 8: The failure reason when the CDM instance is not created successfully for

    {KeySystem}. Reported each time a CDM instance creation is attempted,
    Xiaohan Wang . resolved

    This is confusing since we also report kSuccess when a CDM is created successfully.

    Sangbaek Park

    Renamed to `CreateCdmStatus`

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Frank Li
    • Ted (Chromium) Meyer
    • Xiaohan Wang
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: Ia37bf2bee0d4a7c0fbc0478ce79065c37d52e4d7
    Gerrit-Change-Number: 5601196
    Gerrit-PatchSet: 13
    Gerrit-Owner: Sangbaek Park <sangba...@chromium.org>
    Gerrit-Reviewer: Sangbaek Park <sangba...@chromium.org>
    Gerrit-Reviewer: Ted (Chromium) Meyer <tmath...@chromium.org>
    Gerrit-Reviewer: Xiaohan Wang <xhw...@chromium.org>
    Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
    Gerrit-CC: Frank Li <fra...@microsoft.com>
    Gerrit-CC: John Rummell <jrum...@chromium.org>
    Gerrit-CC: Zijie He <zij...@google.com>
    Gerrit-Attention: Xiaohan Wang <xhw...@chromium.org>
    Gerrit-Attention: Ted (Chromium) Meyer <tmath...@chromium.org>
    Gerrit-Attention: Frank Li <fra...@microsoft.com>
    Gerrit-Comment-Date: Fri, 07 Jun 2024 18:51:07 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Xiaohan Wang <xhw...@chromium.org>
    Comment-In-Reply-To: Ted (Chromium) Meyer <tmath...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Xiaohan Wang (Gerrit)

    unread,
    Jun 7, 2024, 4:51:51 PM6/7/24
    to Sangbaek Park, Ted (Chromium) Meyer, John Rummell, Frank Li, Zijie He, AyeAye, Chromium LUCI CQ, Tricium, Chromium Metrics Reviews, chromium...@chromium.org, emircan+watch...@chromium.org, fuzzin...@chromium.org, mcasas+med...@chromium.org, halliwe...@chromium.org, lcwu+...@chromium.org, oshima...@chromium.org, fuchsia...@chromium.org, asvitkine...@chromium.org, blink-...@chromium.org, eme-r...@chromium.org, feature-me...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org
    Attention needed from Frank Li, Sangbaek Park and Ted (Chromium) Meyer

    Xiaohan Wang added 11 comments

    Patchset-level comments
    Xiaohan Wang . resolved

    lg with a few more comments. Using media::Status in a follow-up CL is fine.

    File media/base/cdm_factory.h
    Line 50, Patchset 13 (Latest): kUnknownError, // Unknown error.
    Xiaohan Wang . unresolved

    This is a generic one; move this to be after kSuccess?

    Line 49, Patchset 13 (Latest): kCdmCreationAborted, // CDM creation aborted.
    Xiaohan Wang . unresolved

    Move this up so it's before the platform specific ones?

    Line 39, Patchset 13 (Latest): kMojoCdmServiceCreationAborted, // Mojo CDM Service creation aborted.
    Xiaohan Wang . unresolved

    drop this and use `kDisconnectionError`.

    FWIW, if a callback doesn't run (WrapCallbackWithDefaultInvokeIfNotRun() ) it's mostly a disconnection error.

    Line 37, Patchset 13 (Latest): // callback (e.g. in case of crash, or CDM
    // loading/initialization failure).
    Xiaohan Wang . unresolved

    CDM loading or init failure are covered by other enums?

    Line 35, Patchset 13 (Latest): kMojoCdmNotSupported, // Mojo CDM not supported.
    Xiaohan Wang . unresolved

    This is only used once and it's mostly a code issues instead of a runtime error. Maybe drop and just use kCdmNotSupported?

    Line 32, Patchset 13 (Latest): // state. MediaDrmBridge requires hardware-secure codecs.
    Xiaohan Wang . unresolved

    nit: format

    Line 27, Patchset 13 (Latest): kCdmFactoryCreationFailed, // CDM Factory creation failed.
    Xiaohan Wang . unresolved

    Can we merge this and kUnableToFindCdmFactory? Seems the cause is similar and it's hard to reason about when to use one vs the other.

    File media/cdm/fuchsia/fuchsia_cdm.cc
    Line 311, Patchset 13 (Latest): std::move(ready_cb_).Run(false, CreateCdmStatus::kCdmCreationAborted);
    Xiaohan Wang . unresolved

    Should this be kConnectionError?

    File media/cdm/fuchsia/fuchsia_cdm_factory.cc
    Line 71, Patchset 13 (Latest): CreateCdmStatus failure_reason) {
    Xiaohan Wang . unresolved

    here and throughout the CL, s/failure_reason/status

    File media/mojo/clients/mojo_cdm_factory.cc
    Line 13, Patchset 13 (Latest):#include "media/base/cdm_factory.h"
    Xiaohan Wang . unresolved

    nit: This is not necessary as the header file already includes this file.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Frank Li
    • Sangbaek Park
    • Ted (Chromium) Meyer
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: Ia37bf2bee0d4a7c0fbc0478ce79065c37d52e4d7
    Gerrit-Change-Number: 5601196
    Gerrit-PatchSet: 13
    Gerrit-Owner: Sangbaek Park <sangba...@chromium.org>
    Gerrit-Reviewer: Sangbaek Park <sangba...@chromium.org>
    Gerrit-Reviewer: Ted (Chromium) Meyer <tmath...@chromium.org>
    Gerrit-Reviewer: Xiaohan Wang <xhw...@chromium.org>
    Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
    Gerrit-CC: Frank Li <fra...@microsoft.com>
    Gerrit-CC: John Rummell <jrum...@chromium.org>
    Gerrit-CC: Zijie He <zij...@google.com>
    Gerrit-Attention: Ted (Chromium) Meyer <tmath...@chromium.org>
    Gerrit-Attention: Frank Li <fra...@microsoft.com>
    Gerrit-Attention: Sangbaek Park <sangba...@chromium.org>
    Gerrit-Comment-Date: Fri, 07 Jun 2024 20:51:40 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Sangbaek Park (Gerrit)

    unread,
    Jun 7, 2024, 6:05:28 PM6/7/24
    to Ted (Chromium) Meyer, John Rummell, Frank Li, Zijie He, AyeAye, Chromium LUCI CQ, Tricium, Chromium Metrics Reviews, chromium...@chromium.org, emircan+watch...@chromium.org, fuzzin...@chromium.org, mcasas+med...@chromium.org, halliwe...@chromium.org, lcwu+...@chromium.org, oshima...@chromium.org, fuchsia...@chromium.org, asvitkine...@chromium.org, blink-...@chromium.org, eme-r...@chromium.org, feature-me...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org
    Attention needed from Frank Li, Ted (Chromium) Meyer and Xiaohan Wang

    Sangbaek Park added 14 comments

    Patchset-level comments
    File-level comment, Patchset 14 (Latest):
    Sangbaek Park . resolved

    Thanks for the quick review! I'll consider using media::Status in a follow-up CL.

    File media/base/android/android_cdm_factory.cc
    Line 108, Patchset 8: LOG_IF(ERROR, !cdm) << static_cast<int>(failure_reason);
    Ted (Chromium) Meyer . resolved

    If you go with typed status, you can dump information about it using
    ```
    ::media::MediaSerialize(status);
    ```

    Sangbaek Park

    Thanks for the suggestion! I see some benefits including line number etc but I'd try this in the future once we see we can't narrow down the top error reasons.

    Sangbaek Park

    I'll consider this in the future CL.

    File media/base/cdm_factory.h
    Line 50, Patchset 13: kUnknownError, // Unknown error.
    Xiaohan Wang . resolved

    This is a generic one; move this to be after kSuccess?

    Sangbaek Park

    Done

    Line 49, Patchset 13: kCdmCreationAborted, // CDM creation aborted.
    Xiaohan Wang . resolved

    Move this up so it's before the platform specific ones?

    Sangbaek Park

    Done

    Line 39, Patchset 13: kMojoCdmServiceCreationAborted, // Mojo CDM Service creation aborted.
    Xiaohan Wang . resolved

    drop this and use `kDisconnectionError`.

    FWIW, if a callback doesn't run (WrapCallbackWithDefaultInvokeIfNotRun() ) it's mostly a disconnection error.

    Sangbaek Park

    Done

    Line 37, Patchset 13: // callback (e.g. in case of crash, or CDM
    // loading/initialization failure).
    Xiaohan Wang . resolved

    CDM loading or init failure are covered by other enums?

    Sangbaek Park

    Removed since it will be covered by other enums. Carried over from the previous comment.

    Line 35, Patchset 13: kMojoCdmNotSupported, // Mojo CDM not supported.
    Xiaohan Wang . resolved

    This is only used once and it's mostly a code issues instead of a runtime error. Maybe drop and just use kCdmNotSupported?

    Sangbaek Park

    Done

    Line 32, Patchset 13: // state. MediaDrmBridge requires hardware-secure codecs.
    Xiaohan Wang . resolved

    nit: format

    Sangbaek Park

    Fixed. My clang format in VSCode somehow is very slow or doesn't work sometime.

    Line 27, Patchset 13: kCdmFactoryCreationFailed, // CDM Factory creation failed.
    Xiaohan Wang . resolved

    Can we merge this and kUnableToFindCdmFactory? Seems the cause is similar and it's hard to reason about when to use one vs the other.

    Sangbaek Park

    Merged `kUnableToFindCdmFactory` into `kCdmFactoryCreationFailed`

    Line 21, Patchset 8: CreateCdmFailureReason failure_reason)>;
    Xiaohan Wang . resolved

    +tmathmeyer: Do you think this API can benefit from media::TypedStatus? The line number information might be very helpful in debugging.

    Ted (Chromium) Meyer

    yes, definitely. It also makes the callback easier to use IMO. If CreateCdmFailureReason became something like
    ```
    CdmStatus = TypedStatus<CdmStatusTraits...>;
    ```
    you could define this callback to be
    ```
    using CdmCreateCb = base::OnceCallback<void(CdmStatus::Or<scoped_refptr<ContentDecryptionModule>>);
    ```

    which means you can just call it with either the error code or the pointer, but you don't have to provide success code for successful results, or a nullptr for error results.

    Sangbaek Park

    Thanks, I'd try this in the future once we see we can't narrow down the top error reasons.

    Sangbaek Park

    I'll consider this in the future CL.

    File media/base/content_decryption_module.h
    Line 86, Patchset 8:enum class CreateCdmFailureReason {
    Xiaohan Wang . resolved

    optional nit: It's slightly hard to read when kSuccess is also a failure reason. It could be CreateCdmStatus. But this is optional.

    Ted (Chromium) Meyer
    If you chose to go with the typed status method, you'd declare this as:
    ```
    struct CdmStatusTraits {
    enum Codes {
    kLoadCdmFailed, // Failed to load the CDM.
    kCreateCdmFuncNotAvailable, // CreateCdmFunc not available.
    ...
    };
    static constexpr StatusGroupType Group() { return "CdmStatus"; }
    };
    using CdmStatus = TypedStatus<CdmStatusTraits>;
    ```
    And then access the codes like:
    ```
    if (is_ok) {
    std::move(cdm_created_cb_).Run(cdm_ptr);
    } else {
    std::move(cdm_created_cb_).Run(CdmStatus::Codes::kLoadCdmFailed);
    }
    ```
    Sangbaek Park

    optional nit: It's slightly hard to read when kSuccess is also a failure reason. It could be CreateCdmStatus. But this is optional.

    Renamed to `CreateCdmStatus`.

    If you chose to go with the typed status method, you'd declare this as:

    I'd try this in the future once we see we can't narrow down the top error reasons.

    Sangbaek Park

    I'll consider this in the future CL.

    File media/cdm/fuchsia/fuchsia_cdm.cc
    Line 311, Patchset 13: std::move(ready_cb_).Run(false, CreateCdmStatus::kCdmCreationAborted);
    Xiaohan Wang . resolved

    Should this be kConnectionError?

    Sangbaek Park

    Changed to `kConnectionError` and added example `e.g. in case of crash or aborted operation.`

    File media/cdm/fuchsia/fuchsia_cdm_factory.cc
    Line 71, Patchset 13: CreateCdmStatus failure_reason) {
    Xiaohan Wang . resolved

    here and throughout the CL, s/failure_reason/status

    Sangbaek Park

    Done

    File media/mojo/clients/mojo_cdm_factory.cc
    Line 13, Patchset 13:#include "media/base/cdm_factory.h"
    Xiaohan Wang . resolved

    nit: This is not necessary as the header file already includes this file.

    Sangbaek Park

    Done

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Frank Li
    • Ted (Chromium) Meyer
    • Xiaohan Wang
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Review
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: Ia37bf2bee0d4a7c0fbc0478ce79065c37d52e4d7
    Gerrit-Change-Number: 5601196
    Gerrit-PatchSet: 14
    Gerrit-Owner: Sangbaek Park <sangba...@chromium.org>
    Gerrit-Reviewer: Sangbaek Park <sangba...@chromium.org>
    Gerrit-Reviewer: Ted (Chromium) Meyer <tmath...@chromium.org>
    Gerrit-Reviewer: Xiaohan Wang <xhw...@chromium.org>
    Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
    Gerrit-CC: Frank Li <fra...@microsoft.com>
    Gerrit-CC: John Rummell <jrum...@chromium.org>
    Gerrit-CC: Zijie He <zij...@google.com>
    Gerrit-Attention: Xiaohan Wang <xhw...@chromium.org>
    Gerrit-Attention: Ted (Chromium) Meyer <tmath...@chromium.org>
    Gerrit-Attention: Frank Li <fra...@microsoft.com>
    Gerrit-Comment-Date: Fri, 07 Jun 2024 22:05:16 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Xiaohan Wang <xhw...@chromium.org>
    Comment-In-Reply-To: Ted (Chromium) Meyer <tmath...@chromium.org>
    Comment-In-Reply-To: Sangbaek Park <sangba...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Xiaohan Wang (Gerrit)

    unread,
    Jun 7, 2024, 8:14:23 PM6/7/24
    to Sangbaek Park, Ted (Chromium) Meyer, John Rummell, Frank Li, Zijie He, AyeAye, Chromium LUCI CQ, Tricium, Chromium Metrics Reviews, chromium...@chromium.org, emircan+watch...@chromium.org, fuzzin...@chromium.org, mcasas+med...@chromium.org, halliwe...@chromium.org, lcwu+...@chromium.org, oshima...@chromium.org, fuchsia...@chromium.org, asvitkine...@chromium.org, blink-...@chromium.org, eme-r...@chromium.org, feature-me...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org
    Attention needed from Frank Li, Sangbaek Park and Ted (Chromium) Meyer

    Xiaohan Wang voted and added 5 comments

    Votes added by Xiaohan Wang

    Code-Review+1

    5 comments

    Patchset-level comments
    Xiaohan Wang . resolved

    lgtm % nits

    File media/base/cdm_factory.h
    Line 52, Patchset 14 (Latest): CreateCdmStatus createcdm_status)>;
    Xiaohan Wang . unresolved

    create_cdm_status?

    Actually, just "status" is probably cleaner without ambiguity...

    Line 35, Patchset 14 (Latest): // callback. e.g. in case of crash or aborted operation.
    Xiaohan Wang . unresolved

    Noticed that you removed kCdmCreationAborted. Crash and abortion are actually different, the latter happens during normal destruction without crash...

    Line 35, Patchset 14 (Latest): // callback. e.g. in case of crash or aborted operation.
    Xiaohan Wang . unresolved

    alignment

    Line 32, Patchset 14 (Latest): // MediaDrmBridge requires hardware-secure codecs.
    Xiaohan Wang . unresolved

    This is inaccurate. MediaDrmBridge supports L3...

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Frank Li
    • Sangbaek Park
    • Ted (Chromium) Meyer
      Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement satisfiedCode-Review
      • requirement is not satisfiedNo-Unresolved-Comments
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: comment
      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: Ia37bf2bee0d4a7c0fbc0478ce79065c37d52e4d7
      Gerrit-Change-Number: 5601196
      Gerrit-PatchSet: 14
      Gerrit-Owner: Sangbaek Park <sangba...@chromium.org>
      Gerrit-Reviewer: Sangbaek Park <sangba...@chromium.org>
      Gerrit-Reviewer: Ted (Chromium) Meyer <tmath...@chromium.org>
      Gerrit-Reviewer: Xiaohan Wang <xhw...@chromium.org>
      Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
      Gerrit-CC: Frank Li <fra...@microsoft.com>
      Gerrit-CC: John Rummell <jrum...@chromium.org>
      Gerrit-CC: Zijie He <zij...@google.com>
      Gerrit-Attention: Ted (Chromium) Meyer <tmath...@chromium.org>
      Gerrit-Attention: Frank Li <fra...@microsoft.com>
      Gerrit-Attention: Sangbaek Park <sangba...@chromium.org>
      Gerrit-Comment-Date: Sat, 08 Jun 2024 00:14:09 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: Yes
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Sangbaek Park (Gerrit)

      unread,
      Jun 7, 2024, 11:00:10 PM6/7/24
      to Ted (Chromium) Meyer, John Rummell, Frank Li, Zijie He, AyeAye, Chromium LUCI CQ, Tricium, Chromium Metrics Reviews, chromium...@chromium.org, emircan+watch...@chromium.org, fuzzin...@chromium.org, mcasas+med...@chromium.org, halliwe...@chromium.org, lcwu+...@chromium.org, oshima...@chromium.org, fuchsia...@chromium.org, asvitkine...@chromium.org, blink-...@chromium.org, eme-r...@chromium.org, feature-me...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org
      Attention needed from Frank Li and Ted (Chromium) Meyer

      Sangbaek Park added 4 comments

      File media/base/cdm_factory.h
      Line 52, Patchset 14: CreateCdmStatus createcdm_status)>;
      Xiaohan Wang . resolved

      create_cdm_status?

      Actually, just "status" is probably cleaner without ambiguity...

      Sangbaek Park

      Renamed to `status`

      Line 35, Patchset 14: // callback. e.g. in case of crash or aborted operation.
      Xiaohan Wang . resolved

      alignment

      Sangbaek Park

      PRESUBMIT warns me + cl format rolls back my correction. I'll leave as is for now.

      Line 35, Patchset 14: // callback. e.g. in case of crash or aborted operation.
      Xiaohan Wang . resolved

      Noticed that you removed kCdmCreationAborted. Crash and abortion are actually different, the latter happens during normal destruction without crash...

      Sangbaek Park

      Revived `kCdmCreationAborted`. You mentioned to use `kConnectionError` instead of `kCdmCreationAborted` for Fuchisa aborted case but confused you wanted to use `kDisconnectionError`. Keeping `kCdmCreationAborted` sounds more reasonable since the abortion operation can happen during normal destruction.

      Line 32, Patchset 14: // MediaDrmBridge requires hardware-secure codecs.
      Xiaohan Wang . resolved

      This is inaccurate. MediaDrmBridge supports L3...

      Sangbaek Park
      Removed. It was a bit confusing since this was for the specific case as below:
      ```
      } else if (!cdm_config.use_hw_secure_codecs) {
      // Assume other key systems require hardware-secure codecs and thus do not
      // support full compositing.
      auto error_message =
      cdm_config.key_system +
      " may require use_video_overlay_for_embedded_encrypted_video";
      NOTREACHED_IN_MIGRATION() << error_message;
      ```
      Open in Gerrit

      Related details

      Attention is currently required from:
      • Frank Li
      • Ted (Chromium) Meyer
      Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement satisfiedCode-Review
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: comment
      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: Ia37bf2bee0d4a7c0fbc0478ce79065c37d52e4d7
      Gerrit-Change-Number: 5601196
      Gerrit-PatchSet: 15
      Gerrit-Owner: Sangbaek Park <sangba...@chromium.org>
      Gerrit-Reviewer: Sangbaek Park <sangba...@chromium.org>
      Gerrit-Reviewer: Ted (Chromium) Meyer <tmath...@chromium.org>
      Gerrit-Reviewer: Xiaohan Wang <xhw...@chromium.org>
      Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
      Gerrit-CC: Frank Li <fra...@microsoft.com>
      Gerrit-CC: John Rummell <jrum...@chromium.org>
      Gerrit-CC: Zijie He <zij...@google.com>
      Gerrit-Attention: Ted (Chromium) Meyer <tmath...@chromium.org>
      Gerrit-Attention: Frank Li <fra...@microsoft.com>
      Gerrit-Comment-Date: Sat, 08 Jun 2024 02:59:58 +0000
      satisfied_requirement
      open
      diffy

      Sangbaek Park (Gerrit)

      unread,
      Jun 7, 2024, 11:03:25 PM6/7/24
      to Chromium IPC Reviews, Evan Liu, Kenneth MacKay, Dale Curtis, Ted (Chromium) Meyer, John Rummell, Frank Li, Zijie He, AyeAye, Chromium LUCI CQ, Tricium, Chromium Metrics Reviews, chromium...@chromium.org, emircan+watch...@chromium.org, fuzzin...@chromium.org, mcasas+med...@chromium.org, halliwe...@chromium.org, lcwu+...@chromium.org, oshima...@chromium.org, fuchsia...@chromium.org, asvitkine...@chromium.org, blink-...@chromium.org, eme-r...@chromium.org, feature-me...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org
      Attention needed from Chromium IPC Reviews, Dale Curtis, Evan Liu, Frank Li, Kenneth MacKay and Ted (Chromium) Meyer

      Sangbaek Park added 1 comment

      Patchset-level comments
      File-level comment, Patchset 15 (Latest):
      Sangbaek Park . resolved

      @chrome-ip...@google.com for Mojo review.
      @ev...@google.com for media UMA.
      @kma...@chromium.org for chromecast.
      @dalec...@chromium.org for webcodecs.

      PTAL, thanks!

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Chromium IPC Reviews
      • Dale Curtis
      • Evan Liu
      • Frank Li
      • Kenneth MacKay
      • Ted (Chromium) Meyer
      Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement satisfiedCode-Review
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: comment
      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: Ia37bf2bee0d4a7c0fbc0478ce79065c37d52e4d7
      Gerrit-Change-Number: 5601196
      Gerrit-PatchSet: 15
      Gerrit-Owner: Sangbaek Park <sangba...@chromium.org>
      Gerrit-Reviewer: Chromium IPC Reviews <chrome-ip...@google.com>
      Gerrit-Reviewer: Dale Curtis <dalec...@chromium.org>
      Gerrit-Reviewer: Evan Liu <ev...@google.com>
      Gerrit-Reviewer: Kenneth MacKay <kma...@chromium.org>
      Gerrit-Reviewer: Sangbaek Park <sangba...@chromium.org>
      Gerrit-Reviewer: Ted (Chromium) Meyer <tmath...@chromium.org>
      Gerrit-Reviewer: Xiaohan Wang <xhw...@chromium.org>
      Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
      Gerrit-CC: Frank Li <fra...@microsoft.com>
      Gerrit-CC: John Rummell <jrum...@chromium.org>
      Gerrit-CC: Zijie He <zij...@google.com>
      Gerrit-Attention: Dale Curtis <dalec...@chromium.org>
      Gerrit-Attention: Chromium IPC Reviews <chrome-ip...@google.com>
      Gerrit-Attention: Kenneth MacKay <kma...@chromium.org>
      Gerrit-Attention: Ted (Chromium) Meyer <tmath...@chromium.org>
      Gerrit-Attention: Evan Liu <ev...@google.com>
      Gerrit-Attention: Frank Li <fra...@microsoft.com>
      Gerrit-Comment-Date: Sat, 08 Jun 2024 03:03:13 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      satisfied_requirement
      open
      diffy

      gwsq (Gerrit)

      unread,
      Jun 7, 2024, 11:06:30 PM6/7/24
      to Sangbaek Park, Chromium IPC Reviews, Chris Bookholt, Evan Liu, Kenneth MacKay, Dale Curtis, Ted (Chromium) Meyer, John Rummell, Frank Li, Zijie He, AyeAye, Chromium LUCI CQ, Tricium, Chromium Metrics Reviews, chromium...@chromium.org, emircan+watch...@chromium.org, fuzzin...@chromium.org, mcasas+med...@chromium.org, halliwe...@chromium.org, lcwu+...@chromium.org, oshima...@chromium.org, fuchsia...@chromium.org, asvitkine...@chromium.org, blink-...@chromium.org, eme-r...@chromium.org, feature-me...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org
      Attention needed from Chris Bookholt, Dale Curtis, Evan Liu, Frank Li, Kenneth MacKay and Ted (Chromium) Meyer

      Message from gwsq

      From googleclient/chrome/chromium_gwsq/ipc/config.gwsq:
      IPC: book...@chromium.org

      📎 It looks like you’re making a possibly security-sensitive change! 📎 IPC security review isn’t a rubberstamp, so your friendly security reviewer will need a fair amount of context to review your CL effectively. Please review your CL description and code comments to make sure they provide context for someone unfamiliar with your project/area. Pay special attention to where data comes from and which processes it flows between (and their privilege levels). Feel free to point your security reviewer at design docs, bugs, or other links if you can’t reasonably make a self-contained CL description. (Also see https://cbea.ms/git-commit/).

      IPC reviewer(s): book...@chromium.org


      Reviewer source(s):
      book...@chromium.org is from context(googleclient/chrome/chromium_gwsq/ipc/config.gwsq)

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Chris Bookholt
      • Dale Curtis
      • Evan Liu
      • Frank Li
      • Kenneth MacKay
      • Ted (Chromium) Meyer
      Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement satisfiedCode-Review
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: comment
      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: Ia37bf2bee0d4a7c0fbc0478ce79065c37d52e4d7
      Gerrit-Change-Number: 5601196
      Gerrit-PatchSet: 15
      Gerrit-Owner: Sangbaek Park <sangba...@chromium.org>
      Gerrit-Reviewer: Chris Bookholt <book...@chromium.org>
      Gerrit-Reviewer: Dale Curtis <dalec...@chromium.org>
      Gerrit-Reviewer: Evan Liu <ev...@google.com>
      Gerrit-Reviewer: Kenneth MacKay <kma...@chromium.org>
      Gerrit-Reviewer: Sangbaek Park <sangba...@chromium.org>
      Gerrit-Reviewer: Ted (Chromium) Meyer <tmath...@chromium.org>
      Gerrit-Reviewer: Xiaohan Wang <xhw...@chromium.org>
      Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
      Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
      Gerrit-CC: Frank Li <fra...@microsoft.com>
      Gerrit-CC: John Rummell <jrum...@chromium.org>
      Gerrit-CC: Zijie He <zij...@google.com>
      Gerrit-CC: gwsq
      Gerrit-Attention: Dale Curtis <dalec...@chromium.org>
      Gerrit-Attention: Chris Bookholt <book...@chromium.org>
      Gerrit-Attention: Kenneth MacKay <kma...@chromium.org>
      Gerrit-Attention: Ted (Chromium) Meyer <tmath...@chromium.org>
      Gerrit-Attention: Evan Liu <ev...@google.com>
      Gerrit-Attention: Frank Li <fra...@microsoft.com>
      Gerrit-Comment-Date: Sat, 08 Jun 2024 03:06:13 +0000
      Gerrit-HasComments: No
      Gerrit-Has-Labels: No
      satisfied_requirement
      open
      diffy

      Evan Liu (Gerrit)

      unread,
      Jun 10, 2024, 12:35:47 PM6/10/24
      to Sangbaek Park, Chromium IPC Reviews, Chris Bookholt, Kenneth MacKay, Dale Curtis, Ted (Chromium) Meyer, John Rummell, Frank Li, Zijie He, AyeAye, Chromium LUCI CQ, Tricium, Chromium Metrics Reviews, chromium...@chromium.org, emircan+watch...@chromium.org, fuzzin...@chromium.org, mcasas+med...@chromium.org, halliwe...@chromium.org, lcwu+...@chromium.org, oshima...@chromium.org, fuchsia...@chromium.org, asvitkine...@chromium.org, blink-...@chromium.org, eme-r...@chromium.org, feature-me...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org
      Attention needed from Chris Bookholt, Dale Curtis, Frank Li, Kenneth MacKay, Sangbaek Park and Ted (Chromium) Meyer

      Evan Liu voted Code-Review+1

      Code-Review+1
      Open in Gerrit

      Related details

      Attention is currently required from:
      • Chris Bookholt
      • Dale Curtis
      • Frank Li
      • Kenneth MacKay
      • Sangbaek Park
      • Ted (Chromium) Meyer
      Gerrit-Attention: Frank Li <fra...@microsoft.com>
      Gerrit-Attention: Sangbaek Park <sangba...@chromium.org>
      Gerrit-Comment-Date: Mon, 10 Jun 2024 16:35:27 +0000
      Gerrit-HasComments: No
      Gerrit-Has-Labels: Yes
      satisfied_requirement
      open
      diffy

      Dale Curtis (Gerrit)

      unread,
      Jun 10, 2024, 12:51:41 PM6/10/24
      to Sangbaek Park, Evan Liu, Chromium IPC Reviews, Chris Bookholt, Kenneth MacKay, Ted (Chromium) Meyer, John Rummell, Frank Li, Zijie He, AyeAye, Chromium LUCI CQ, Tricium, Chromium Metrics Reviews, chromium...@chromium.org, emircan+watch...@chromium.org, fuzzin...@chromium.org, mcasas+med...@chromium.org, halliwe...@chromium.org, lcwu+...@chromium.org, oshima...@chromium.org, fuchsia...@chromium.org, asvitkine...@chromium.org, blink-...@chromium.org, eme-r...@chromium.org, feature-me...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org
      Attention needed from Chris Bookholt, Frank Li, Kenneth MacKay, Sangbaek Park and Ted (Chromium) Meyer

      Dale Curtis voted Code-Review+1

      Code-Review+1
      Open in Gerrit

      Related details

      Attention is currently required from:
      • Chris Bookholt
      Gerrit-Attention: Chris Bookholt <book...@chromium.org>
      Gerrit-Attention: Kenneth MacKay <kma...@chromium.org>
      Gerrit-Attention: Ted (Chromium) Meyer <tmath...@chromium.org>
      Gerrit-Attention: Frank Li <fra...@microsoft.com>
      Gerrit-Attention: Sangbaek Park <sangba...@chromium.org>
      Gerrit-Comment-Date: Mon, 10 Jun 2024 16:51:25 +0000
      Gerrit-HasComments: No
      Gerrit-Has-Labels: Yes
      satisfied_requirement
      open
      diffy

      Kenneth MacKay (Gerrit)

      unread,
      Jun 10, 2024, 1:18:07 PM6/10/24
      to Sangbaek Park, Dale Curtis, Evan Liu, Chromium IPC Reviews, Chris Bookholt, Ted (Chromium) Meyer, John Rummell, Frank Li, Zijie He, AyeAye, Chromium LUCI CQ, Tricium, Chromium Metrics Reviews, chromium...@chromium.org, emircan+watch...@chromium.org, fuzzin...@chromium.org, mcasas+med...@chromium.org, halliwe...@chromium.org, lcwu+...@chromium.org, oshima...@chromium.org, fuchsia...@chromium.org, asvitkine...@chromium.org, blink-...@chromium.org, eme-r...@chromium.org, feature-me...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org
      Attention needed from Chris Bookholt, Frank Li, Sangbaek Park and Ted (Chromium) Meyer

      Kenneth MacKay voted Code-Review+1

      Code-Review+1
      Open in Gerrit

      Related details

      Attention is currently required from:
      • Chris Bookholt
      • Frank Li
      Gerrit-Attention: Ted (Chromium) Meyer <tmath...@chromium.org>
      Gerrit-Attention: Frank Li <fra...@microsoft.com>
      Gerrit-Attention: Sangbaek Park <sangba...@chromium.org>
      Gerrit-Comment-Date: Mon, 10 Jun 2024 17:17:48 +0000
      Gerrit-HasComments: No
      Gerrit-Has-Labels: Yes
      satisfied_requirement
      open
      diffy

      Xiaohan Wang (Gerrit)

      unread,
      Jun 10, 2024, 1:31:35 PM6/10/24
      to Sangbaek Park, Kenneth MacKay, Dale Curtis, Evan Liu, Chromium IPC Reviews, Chris Bookholt, Ted (Chromium) Meyer, John Rummell, Frank Li, Zijie He, AyeAye, Chromium LUCI CQ, Tricium, Chromium Metrics Reviews, chromium...@chromium.org, emircan+watch...@chromium.org, fuzzin...@chromium.org, mcasas+med...@chromium.org, halliwe...@chromium.org, lcwu+...@chromium.org, oshima...@chromium.org, fuchsia...@chromium.org, asvitkine...@chromium.org, blink-...@chromium.org, eme-r...@chromium.org, feature-me...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org
      Attention needed from Chris Bookholt, Frank Li, Sangbaek Park and Ted (Chromium) Meyer

      Xiaohan Wang voted and added 1 comment

      Votes added by Xiaohan Wang

      Code-Review+1

      1 comment

      File media/base/cdm_factory.h
      Line 48, Patchset 15 (Latest):// Callback used when CDM is created. |status| only used if
      // ContentDecryptionModule is null (i.e. CDM can't be created).
      Xiaohan Wang . unresolved

      This is a bit confusing as we do return kSuccess when the CDM is non-null.

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Chris Bookholt
      • Frank Li
      • Sangbaek Park
      • Ted (Chromium) Meyer
      Submit Requirements:
        • requirement satisfiedCode-Coverage
        • requirement satisfiedCode-Review
        • requirement is not satisfiedNo-Unresolved-Comments
        Gerrit-Comment-Date: Mon, 10 Jun 2024 17:31:02 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: Yes
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Sangbaek Park (Gerrit)

        unread,
        Jun 10, 2024, 2:10:26 PM6/10/24
        to Kenneth MacKay, Dale Curtis, Evan Liu, Chromium IPC Reviews, Chris Bookholt, Ted (Chromium) Meyer, John Rummell, Frank Li, Zijie He, AyeAye, Chromium LUCI CQ, Tricium, Chromium Metrics Reviews, chromium...@chromium.org, emircan+watch...@chromium.org, fuzzin...@chromium.org, mcasas+med...@chromium.org, halliwe...@chromium.org, lcwu+...@chromium.org, oshima...@chromium.org, fuchsia...@chromium.org, asvitkine...@chromium.org, blink-...@chromium.org, eme-r...@chromium.org, feature-me...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org
        Attention needed from Chris Bookholt, Frank Li and Ted (Chromium) Meyer

        Sangbaek Park added 1 comment

        File media/base/cdm_factory.h
        Line 48, Patchset 15:// Callback used when CDM is created. |status| only used if

        // ContentDecryptionModule is null (i.e. CDM can't be created).
        Xiaohan Wang . resolved

        This is a bit confusing as we do return kSuccess when the CDM is non-null.

        Sangbaek Park

        Rephrased to
        ```
        |status| tells the detailed reason why CDM can't be created if ContentDecryptionModule is null.
        ```

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Chris Bookholt
        • Frank Li
        • Ted (Chromium) Meyer
        Submit Requirements:
        • requirement satisfiedCode-Coverage
        • requirement satisfiedCode-Review
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: comment
        Gerrit-Project: chromium/src
        Gerrit-Branch: main
        Gerrit-Change-Id: Ia37bf2bee0d4a7c0fbc0478ce79065c37d52e4d7
        Gerrit-Change-Number: 5601196
        Gerrit-PatchSet: 16
        Gerrit-Owner: Sangbaek Park <sangba...@chromium.org>
        Gerrit-Reviewer: Chris Bookholt <book...@chromium.org>
        Gerrit-Reviewer: Dale Curtis <dalec...@chromium.org>
        Gerrit-Reviewer: Evan Liu <ev...@google.com>
        Gerrit-Reviewer: Kenneth MacKay <kma...@chromium.org>
        Gerrit-Reviewer: Sangbaek Park <sangba...@chromium.org>
        Gerrit-Reviewer: Ted (Chromium) Meyer <tmath...@chromium.org>
        Gerrit-Reviewer: Xiaohan Wang <xhw...@chromium.org>
        Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
        Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
        Gerrit-CC: Frank Li <fra...@microsoft.com>
        Gerrit-CC: John Rummell <jrum...@chromium.org>
        Gerrit-CC: Zijie He <zij...@google.com>
        Gerrit-CC: gwsq
        Gerrit-Attention: Chris Bookholt <book...@chromium.org>
        Gerrit-Attention: Ted (Chromium) Meyer <tmath...@chromium.org>
        Gerrit-Attention: Frank Li <fra...@microsoft.com>
        Gerrit-Comment-Date: Mon, 10 Jun 2024 18:10:10 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: No
        Comment-In-Reply-To: Xiaohan Wang <xhw...@chromium.org>
        satisfied_requirement
        open
        diffy

        Chris Bookholt (Gerrit)

        unread,
        Jun 10, 2024, 4:18:23 PM6/10/24
        to Sangbaek Park, Kenneth MacKay, Dale Curtis, Evan Liu, Chromium IPC Reviews, Ted (Chromium) Meyer, John Rummell, Frank Li, Zijie He, AyeAye, Chromium LUCI CQ, Tricium, Chromium Metrics Reviews, chromium...@chromium.org, emircan+watch...@chromium.org, fuzzin...@chromium.org, mcasas+med...@chromium.org, halliwe...@chromium.org, lcwu+...@chromium.org, oshima...@chromium.org, fuchsia...@chromium.org, asvitkine...@chromium.org, blink-...@chromium.org, eme-r...@chromium.org, feature-me...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org
        Attention needed from Frank Li, Sangbaek Park and Ted (Chromium) Meyer

        Chris Bookholt voted and added 1 comment

        Votes added by Chris Bookholt

        Code-Review+1

        1 comment

        Patchset-level comments
        File-level comment, Patchset 16 (Latest):
        Chris Bookholt . resolved

        LGTM mojom

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Frank Li
        • Sangbaek Park
        • Ted (Chromium) Meyer
        Gerrit-Attention: Ted (Chromium) Meyer <tmath...@chromium.org>
        Gerrit-Attention: Frank Li <fra...@microsoft.com>
        Gerrit-Attention: Sangbaek Park <sangba...@chromium.org>
        Gerrit-Comment-Date: Mon, 10 Jun 2024 20:18:07 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: Yes
        satisfied_requirement
        open
        diffy

        Sangbaek Park (Gerrit)

        unread,
        Jun 10, 2024, 4:40:52 PM6/10/24
        to Chris Bookholt, Kenneth MacKay, Dale Curtis, Evan Liu, Chromium IPC Reviews, Ted (Chromium) Meyer, John Rummell, Frank Li, Zijie He, AyeAye, Chromium LUCI CQ, Tricium, Chromium Metrics Reviews, chromium...@chromium.org, emircan+watch...@chromium.org, fuzzin...@chromium.org, mcasas+med...@chromium.org, halliwe...@chromium.org, lcwu+...@chromium.org, oshima...@chromium.org, fuchsia...@chromium.org, asvitkine...@chromium.org, blink-...@chromium.org, eme-r...@chromium.org, feature-me...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org
        Attention needed from Frank Li and Ted (Chromium) Meyer

        Sangbaek Park voted Commit-Queue+2

        Commit-Queue+2
        Open in Gerrit

        Related details

        Attention is currently required from:
        • Frank Li
        • Ted (Chromium) Meyer
        Gerrit-Comment-Date: Mon, 10 Jun 2024 20:40:33 +0000
        Gerrit-HasComments: No
        Gerrit-Has-Labels: Yes
        satisfied_requirement
        open
        diffy

        Sangbaek Park (Gerrit)

        unread,
        Jun 10, 2024, 9:49:40 PM6/10/24
        to Chris Bookholt, Kenneth MacKay, Dale Curtis, Evan Liu, Chromium IPC Reviews, Ted (Chromium) Meyer, John Rummell, Frank Li, Zijie He, AyeAye, Chromium LUCI CQ, Tricium, Chromium Metrics Reviews, chromium...@chromium.org, emircan+watch...@chromium.org, fuzzin...@chromium.org, mcasas+med...@chromium.org, halliwe...@chromium.org, lcwu+...@chromium.org, oshima...@chromium.org, fuchsia...@chromium.org, asvitkine...@chromium.org, blink-...@chromium.org, eme-r...@chromium.org, feature-me...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org
        Attention needed from Frank Li

        Sangbaek Park voted Commit-Queue+2

        Commit-Queue+2
        Open in Gerrit

        Related details

        Attention is currently required from:
        • Frank Li
        Gerrit-Attention: Frank Li <fra...@microsoft.com>
        Gerrit-Comment-Date: Tue, 11 Jun 2024 01:49:23 +0000
        Gerrit-HasComments: No
        Gerrit-Has-Labels: Yes
        satisfied_requirement
        open
        diffy

        Sangbaek Park (Gerrit)

        unread,
        Jun 10, 2024, 11:13:03 PM6/10/24
        to Chris Bookholt, Kenneth MacKay, Dale Curtis, Evan Liu, Chromium IPC Reviews, Ted (Chromium) Meyer, John Rummell, Frank Li, Zijie He, AyeAye, Chromium LUCI CQ, Tricium, Chromium Metrics Reviews, chromium...@chromium.org, emircan+watch...@chromium.org, fuzzin...@chromium.org, mcasas+med...@chromium.org, halliwe...@chromium.org, lcwu+...@chromium.org, oshima...@chromium.org, fuchsia...@chromium.org, asvitkine...@chromium.org, blink-...@chromium.org, eme-r...@chromium.org, feature-me...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org
        Gerrit-Comment-Date: Tue, 11 Jun 2024 03:12:45 +0000
        Gerrit-HasComments: No
        Gerrit-Has-Labels: Yes
        satisfied_requirement
        open
        diffy

        Sangbaek Park (Gerrit)

        unread,
        Jun 11, 2024, 2:02:37 AM6/11/24
        to Chris Bookholt, Kenneth MacKay, Dale Curtis, Evan Liu, Chromium IPC Reviews, Ted (Chromium) Meyer, John Rummell, Frank Li, Zijie He, AyeAye, Chromium LUCI CQ, Tricium, Chromium Metrics Reviews, chromium...@chromium.org, emircan+watch...@chromium.org, fuzzin...@chromium.org, mcasas+med...@chromium.org, halliwe...@chromium.org, lcwu+...@chromium.org, oshima...@chromium.org, fuchsia...@chromium.org, asvitkine...@chromium.org, blink-...@chromium.org, eme-r...@chromium.org, feature-me...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org
        Gerrit-Comment-Date: Tue, 11 Jun 2024 06:02:20 +0000
        Gerrit-HasComments: No
        Gerrit-Has-Labels: Yes
        satisfied_requirement
        open
        diffy

        Sangbaek Park (Gerrit)

        unread,
        Jun 11, 2024, 11:11:04 AM6/11/24
        to Chris Bookholt, Kenneth MacKay, Dale Curtis, Evan Liu, Chromium IPC Reviews, Ted (Chromium) Meyer, John Rummell, Frank Li, Zijie He, AyeAye, Chromium LUCI CQ, Tricium, Chromium Metrics Reviews, chromium...@chromium.org, emircan+watch...@chromium.org, fuzzin...@chromium.org, mcasas+med...@chromium.org, halliwe...@chromium.org, lcwu+...@chromium.org, oshima...@chromium.org, fuchsia...@chromium.org, asvitkine...@chromium.org, blink-...@chromium.org, eme-r...@chromium.org, feature-me...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org
        Gerrit-Comment-Date: Tue, 11 Jun 2024 15:10:41 +0000
        Gerrit-HasComments: No
        Gerrit-Has-Labels: Yes
        satisfied_requirement
        open
        diffy

        Chromium LUCI CQ (Gerrit)

        unread,
        Jun 11, 2024, 11:14:21 AM6/11/24
        to Sangbaek Park, Chris Bookholt, Kenneth MacKay, Dale Curtis, Evan Liu, Chromium IPC Reviews, Ted (Chromium) Meyer, John Rummell, Frank Li, Zijie He, AyeAye, Tricium, Chromium Metrics Reviews, chromium...@chromium.org, emircan+watch...@chromium.org, fuzzin...@chromium.org, mcasas+med...@chromium.org, halliwe...@chromium.org, lcwu+...@chromium.org, oshima...@chromium.org, fuchsia...@chromium.org, asvitkine...@chromium.org, blink-...@chromium.org, eme-r...@chromium.org, feature-me...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org

        Chromium LUCI CQ submitted the change

        Change information

        Commit message:
        media: Report failure reason when creating CDM failed

        Used to report a boolean value for the result of creating a CDM
        instance. The existing UMA for CreateCdm:

        `Media.EME.{KeySystem}.{Robustness}.CreateCdm`

        This limited information (only success or failure without a reason)
        has been discouraging developers to investigate the root cause and
        improve the user experience.

        Now this change improves the debuggability by providing the detailed
        failure reason when failed to create a CDM instance:

        `Media.EME.{KeySystem}.{Robustness}.CreateCdmStatus`

        Other chromium-based browsers can receive the debugging benefits with
        different key systems.
        Bug: 40276066, b/333947314
        Change-Id: Ia37bf2bee0d4a7c0fbc0478ce79065c37d52e4d7
        Commit-Queue: Sangbaek Park <sangba...@chromium.org>
        Reviewed-by: Kenneth MacKay <kma...@chromium.org>
        Reviewed-by: Xiaohan Wang <xhw...@chromium.org>
        Reviewed-by: Dale Curtis <dalec...@chromium.org>
        Reviewed-by: Chris Bookholt <book...@chromium.org>
        Reviewed-by: Evan Liu <ev...@google.com>
        Cr-Commit-Position: refs/heads/main@{#1313417}
        Files:
        • M chromecast/media/cdm/cast_cdm_factory.cc
        • M chromeos/components/cdm_factory_daemon/chromeos_cdm_factory.cc
        • M content/browser/media/frameless_media_interface_proxy.cc
        • M content/browser/media/media_interface_proxy.cc
        • M content/browser/media/media_interface_proxy.h
        • M media/base/android/android_cdm_factory.cc
        • M media/base/android/android_cdm_factory.h
        • M media/base/android/media_drm_bridge_factory.cc
        • M media/base/cdm_factory.h
        • M media/base/cdm_initialized_promise.cc
        • M media/base/mock_filters.cc
        • M media/cdm/aes_decryptor_unittest.cc
        • M media/cdm/cdm_adapter_factory.cc
        • M media/cdm/cdm_adapter_unittest.cc
        • M media/cdm/default_cdm_factory.cc
        • M media/cdm/fuchsia/fuchsia_cdm.cc
        • M media/cdm/fuchsia/fuchsia_cdm.h
        • M media/cdm/fuchsia/fuchsia_cdm_factory.cc
        • M media/cdm/fuchsia/fuchsia_cdm_factory.h
        • M media/cdm/win/media_foundation_cdm_factory.cc
        • M media/mojo/clients/mojo_cdm_factory.cc
        • M media/mojo/clients/mojo_cdm_unittest.cc
        • M media/mojo/clients/mojo_renderer_unittest.cc
        • M media/mojo/mojom/BUILD.gn
        • M media/mojo/mojom/content_decryption_module.mojom
        • M media/mojo/mojom/interface_factory.mojom
        • M media/mojo/mojom/media_types.mojom
        • M media/mojo/mojom/media_types_enum_mojom_traits.h
        • M media/mojo/services/cdm_service.cc
        • M media/mojo/services/cdm_service_unittest.cc
        • M media/mojo/services/interface_factory_impl.cc
        • M media/mojo/services/interface_factory_impl.h
        • M media/mojo/services/media_service_unittest.cc
        • M media/mojo/services/mojo_cdm_service.cc
        • M media/mojo/services/mojo_cdm_service.h
        • M third_party/blink/renderer/core/exported/web_media_player_impl_unittest.cc
        • M third_party/blink/renderer/modules/mediarecorder/audio_track_recorder_unittest.cc
        • M third_party/blink/renderer/modules/webcodecs/audio_decoder_broker_test.cc
        • M third_party/blink/renderer/modules/webcodecs/audio_encoder_fuzzer.cc
        • M third_party/blink/renderer/modules/webcodecs/video_decoder_broker_test.cc
        • M third_party/blink/renderer/platform/media/cdm_session_adapter.cc
        • M third_party/blink/renderer/platform/media/cdm_session_adapter.h
        • M third_party/blink/renderer/platform/media/web_content_decryption_module_impl.cc
        • M third_party/blink/renderer/platform/media/web_content_decryption_module_impl.h
        • M third_party/blink/renderer/platform/media/web_encrypted_media_client_impl.cc
        • M tools/metrics/histograms/metadata/media/enums.xml
        • M tools/metrics/histograms/metadata/media/histograms.xml
        Change size: L
        Delta: 47 files changed, 402 insertions(+), 131 deletions(-)
        Branch: refs/heads/main
        Submit Requirements:
        • requirement satisfiedCode-Review: +1 by Dale Curtis, +1 by Evan Liu, +1 by Chris Bookholt, +1 by Kenneth MacKay, +1 by Xiaohan Wang
        Open in Gerrit
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: merged
        Gerrit-Project: chromium/src
        Gerrit-Branch: main
        Gerrit-Change-Id: Ia37bf2bee0d4a7c0fbc0478ce79065c37d52e4d7
        Gerrit-Change-Number: 5601196
        Gerrit-PatchSet: 17
        Gerrit-Owner: Sangbaek Park <sangba...@chromium.org>
        Gerrit-Reviewer: Chris Bookholt <book...@chromium.org>
        Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
        Gerrit-Reviewer: Dale Curtis <dalec...@chromium.org>
        Gerrit-Reviewer: Evan Liu <ev...@google.com>
        Gerrit-Reviewer: Kenneth MacKay <kma...@chromium.org>
        Gerrit-Reviewer: Sangbaek Park <sangba...@chromium.org>
        Gerrit-Reviewer: Ted (Chromium) Meyer <tmath...@chromium.org>
        Gerrit-Reviewer: Xiaohan Wang <xhw...@chromium.org>
        Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
        open
        diffy
        satisfied_requirement
        Reply all
        Reply to author
        Forward
        0 new messages