Index: components/mus/public/cpp/lib/in_flight_change.cc |
diff --git a/components/mus/public/cpp/lib/in_flight_change.cc b/components/mus/public/cpp/lib/in_flight_change.cc |
index 8e3b8de572229e9b3a0624993d00c0303cc4e97b..3383960f757035b5c95e8f4adfe7302f13d984e1 100644 |
--- a/components/mus/public/cpp/lib/in_flight_change.cc |
+++ b/components/mus/public/cpp/lib/in_flight_change.cc |
@@ -59,6 +59,25 @@ void CrashInFlightChange::Revert() { |
CHECK(false); |
} |
+// InFlightCaptureChange ------------------------------------------------------ |
+ |
+InFlightCaptureChange::InFlightCaptureChange(Window* window, bool revert_value) |
+ : InFlightChange( |
+ window, |
+ revert_value ? ChangeType::RELEASE_CAPTURE : ChangeType::SET_CAPTURE), |
+ revert_value_(revert_value) {} |
+ |
+InFlightCaptureChange::~InFlightCaptureChange() {} |
+ |
+void InFlightCaptureChange::SetRevertValueFrom(const InFlightChange& change) { |
+ revert_value_ = |
+ static_cast<const InFlightCaptureChange&>(change).revert_value_; |
+} |
+ |
+void InFlightCaptureChange::Revert() { |
+ WindowPrivate(window()).LocalSetCapture(revert_value_); |
+} |
+ |
// InFlightFocusChange -------------------------------------------------------- |
InFlightFocusChange::InFlightFocusChange(WindowTreeClientImpl* connection, |