Index: components/mus/public/cpp/lib/window_tree_client_impl.cc |
diff --git a/components/mus/public/cpp/lib/window_tree_client_impl.cc b/components/mus/public/cpp/lib/window_tree_client_impl.cc |
index 2b094e96cdc0aa071aa8b3cd18e2d40e3d0b7f0d..b67d4b0e8ca09020ad44b2aebcd8e1188b12cdfb 100644 |
--- a/components/mus/public/cpp/lib/window_tree_client_impl.cc |
+++ b/components/mus/public/cpp/lib/window_tree_client_impl.cc |
@@ -222,6 +222,20 @@ void WindowTreeClientImpl::SetCanFocus(Id window_id, bool can_focus) { |
tree_->SetCanFocus(window_id, can_focus); |
} |
+void WindowTreeClientImpl::SetPredefinedCursor(Id window_id, |
+ mus::mojom::Cursor cursor_id) { |
+ DCHECK(tree_); |
+ |
+ Window* window = GetWindowById(window_id); |
+ if (!window) |
+ return; |
+ |
+ // We make an inflight change thing here. |
+ const uint32_t change_id = ScheduleInFlightChange(make_scoped_ptr( |
+ new InFlightPredefinedCursorChange(window, window->predefined_cursor()))); |
+ tree_->SetPredefinedCursor(change_id, window_id, cursor_id); |
+} |
+ |
void WindowTreeClientImpl::SetVisible(Window* window, bool visible) { |
DCHECK(tree_); |
const uint32_t change_id = ScheduleInFlightChange( |
@@ -597,6 +611,16 @@ void WindowTreeClientImpl::OnWindowFocused(Id focused_window_id) { |
} |
} |
+void WindowTreeClientImpl::OnWindowPredefinedCursorChanged( |
+ Id window_id, |
+ mojom::Cursor cursor) { |
+ Window* window = GetWindowById(window_id); |
+ if (window) { |
+ FOR_EACH_OBSERVER(WindowObserver, *WindowPrivate(window).observers(), |
sky
2015/12/03 22:01:10
You need two things here:
1. If there is an in fli
Elliot Glaysher
2015/12/03 22:32:00
Done. (I think.)
|
+ OnWindowPredefinedCursorChanged(window, cursor)); |
+ } |
+} |
+ |
void WindowTreeClientImpl::OnChangeCompleted(uint32 change_id, bool success) { |
scoped_ptr<InFlightChange> change(std::move(in_flight_map_[change_id])); |
in_flight_map_.erase(change_id); |