Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(475)

Unified Diff: ui/aura/desktop/desktop_cursor_client.cc

Issue 11035050: Enable CursorManager::LockCursor to lock cursor visibility. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ui/aura/desktop/desktop_cursor_client.cc
diff --git a/ui/aura/desktop/desktop_cursor_client.cc b/ui/aura/desktop/desktop_cursor_client.cc
index 7077483f3657a83ed9ce0d01dd7f48c09b607fed..3086afb1920609b84b2418fdf657458d2d8d8c3d 100644
--- a/ui/aura/desktop/desktop_cursor_client.cc
+++ b/ui/aura/desktop/desktop_cursor_client.cc
@@ -11,23 +11,34 @@ namespace aura {
DesktopCursorClient::DesktopCursorClient(aura::RootWindow* window)
: root_window_(window),
- cursor_loader_(ui::CursorLoader::Create()) {
+ cursor_loader_(ui::CursorLoader::Create()),
+ current_cursor_(ui::kCursorNone),
+ cursor_visible_(true) {
}
DesktopCursorClient::~DesktopCursorClient() {
}
void DesktopCursorClient::SetCursor(gfx::NativeCursor cursor) {
- cursor_loader_->SetPlatformCursor(&cursor);
- root_window_->SetCursor(cursor);
+ current_cursor_ = cursor;
+ cursor_loader_->SetPlatformCursor(&current_cursor_);
+ if (cursor_visible_)
+ root_window_->SetCursor(current_cursor_);
}
void DesktopCursorClient::ShowCursor(bool show) {
- root_window_->ShowCursor(show);
+ if (cursor_visible_ == show)
+ return;
+ cursor_visible_ = show;
+ if (cursor_visible_)
+ root_window_->SetCursor(current_cursor_);
+ else
+ root_window_->SetCursor(ui::kCursorNone);
+ root_window_->OnCursorVisibilityChanged(cursor_visible_);
}
bool DesktopCursorClient::IsCursorVisible() const {
- return root_window_->cursor_shown();
+ return cursor_visible_;
}
void DesktopCursorClient::SetDeviceScaleFactor(float device_scale_factor) {

Powered by Google App Engine
This is Rietveld 408576698