
Apparently CastCdm::OnSessionClosed must be called before any session closed promises are run. Even running them in the same task causes the bug, so I've added logic to post a separate task to resolve the promises. Test: Cast Hulu to a partner TV. Play an episode then skip to the next episode. The next episode now plays without issue; previously it would get stuck on a black screen. Also updated and ran unit tests. Bug: b:402489622 Change-Id: I14715ba793299c544e54e9ae45ebe2d7f12a787c Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6372847 Reviewed-by: Shawn Quereshi <shawnq@google.com> Commit-Queue: Antonio Rivera <antoniori@google.com> Cr-Commit-Position: refs/heads/main@{#1435637}
Cast base
cast_features
This file contains tools for checking the feature state of all of the features which affect Cast products. Cast features build upon the Chrome feature system. Some aspects of Cast require the feature system to work differently, however, so some additional logic has been layered on top. Details are available in comments of the header file. The basics are:
- If you are adding a new feature, add it to
cast_features.cc
so it lives alongside existing features - Add your new feature to the list of
kFeatures
incast_features.cc
BASE_FEATURE(kMyFeature, "my_feature", base::FEATURE_DISABLED_BY_DEFAULT);
const base::Feature* kFeatures[] = {
// ..other features
&kMyFeature
}