OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/ui/views/fullscreen_exit_bubble_views.h" | 5 #include "chrome/browser/ui/views/fullscreen_exit_bubble_views.h" |
6 | 6 |
7 #include "base/message_loop.h" | 7 #include "base/message_loop.h" |
8 #include "base/utf_string_conversions.h" | 8 #include "base/utf_string_conversions.h" |
9 #include "chrome/app/chrome_command_ids.h" | 9 #include "chrome/app/chrome_command_ids.h" |
10 #include "googleurl/src/gurl.h" | 10 #include "googleurl/src/gurl.h" |
(...skipping 322 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
333 void FullscreenExitBubbleViews::AnimationEnded( | 333 void FullscreenExitBubbleViews::AnimationEnded( |
334 const ui::Animation* animation) { | 334 const ui::Animation* animation) { |
335 AnimationProgressed(animation); | 335 AnimationProgressed(animation); |
336 } | 336 } |
337 | 337 |
338 gfx::Rect FullscreenExitBubbleViews::GetPopupRect( | 338 gfx::Rect FullscreenExitBubbleViews::GetPopupRect( |
339 bool ignore_animation_state) const { | 339 bool ignore_animation_state) const { |
340 gfx::Size size(view_->GetPreferredSize()); | 340 gfx::Size size(view_->GetPreferredSize()); |
341 // NOTE: don't use the bounds of the root_view_. On linux changing window | 341 // NOTE: don't use the bounds of the root_view_. On linux changing window |
342 // size is async. Instead we use the size of the screen. | 342 // size is async. Instead we use the size of the screen. |
343 gfx::Rect screen_bounds = gfx::Screen::GetDisplayNearestWindow( | 343 gfx::Screen* screen = |
| 344 gfx::Screen::GetScreenFor(root_view_->GetWidget()->GetNativeView()); |
| 345 gfx::Rect screen_bounds = screen->GetDisplayNearestWindow( |
344 root_view_->GetWidget()->GetNativeView()).bounds(); | 346 root_view_->GetWidget()->GetNativeView()).bounds(); |
345 gfx::Point origin(screen_bounds.x() + | 347 gfx::Point origin(screen_bounds.x() + |
346 (screen_bounds.width() - size.width()) / 2, | 348 (screen_bounds.width() - size.width()) / 2, |
347 kPopupTopPx + screen_bounds.y()); | 349 kPopupTopPx + screen_bounds.y()); |
348 if (!ignore_animation_state) { | 350 if (!ignore_animation_state) { |
349 int total_height = size.height() + kPopupTopPx; | 351 int total_height = size.height() + kPopupTopPx; |
350 int popup_bottom = size_animation_->CurrentValueBetween( | 352 int popup_bottom = size_animation_->CurrentValueBetween( |
351 static_cast<double>(total_height), 0.0f); | 353 static_cast<double>(total_height), 0.0f); |
352 int y_offset = std::min(popup_bottom, kPopupTopPx); | 354 int y_offset = std::min(popup_bottom, kPopupTopPx); |
353 size.set_height(size.height() - popup_bottom + y_offset); | 355 size.set_height(size.height() - popup_bottom + y_offset); |
354 origin.set_y(origin.y() - y_offset); | 356 origin.set_y(origin.y() - y_offset); |
355 } | 357 } |
356 return gfx::Rect(origin, size); | 358 return gfx::Rect(origin, size); |
357 } | 359 } |
358 | 360 |
359 gfx::Point FullscreenExitBubbleViews::GetCursorScreenPoint() { | 361 gfx::Point FullscreenExitBubbleViews::GetCursorScreenPoint() { |
360 gfx::Point cursor_pos = gfx::Screen::GetCursorScreenPoint(); | 362 gfx::Point cursor_pos = gfx::Screen::GetScreenFor( |
| 363 root_view_->GetWidget()->GetNativeView())->GetCursorScreenPoint(); |
361 views::View::ConvertPointToTarget(NULL, root_view_, &cursor_pos); | 364 views::View::ConvertPointToTarget(NULL, root_view_, &cursor_pos); |
362 return cursor_pos; | 365 return cursor_pos; |
363 } | 366 } |
364 | 367 |
365 bool FullscreenExitBubbleViews::WindowContainsPoint(gfx::Point pos) { | 368 bool FullscreenExitBubbleViews::WindowContainsPoint(gfx::Point pos) { |
366 return root_view_->HitTestPoint(pos); | 369 return root_view_->HitTestPoint(pos); |
367 } | 370 } |
368 | 371 |
369 bool FullscreenExitBubbleViews::IsWindowActive() { | 372 bool FullscreenExitBubbleViews::IsWindowActive() { |
370 return root_view_->GetWidget()->IsActive(); | 373 return root_view_->GetWidget()->IsActive(); |
(...skipping 10 matching lines...) Expand all Loading... |
381 } | 384 } |
382 | 385 |
383 bool FullscreenExitBubbleViews::IsAnimating() { | 386 bool FullscreenExitBubbleViews::IsAnimating() { |
384 return size_animation_->GetCurrentValue() != 0; | 387 return size_animation_->GetCurrentValue() != 0; |
385 } | 388 } |
386 | 389 |
387 void FullscreenExitBubbleViews::StartWatchingMouseIfNecessary() { | 390 void FullscreenExitBubbleViews::StartWatchingMouseIfNecessary() { |
388 if (!fullscreen_bubble::ShowButtonsForType(bubble_type_)) | 391 if (!fullscreen_bubble::ShowButtonsForType(bubble_type_)) |
389 StartWatchingMouse(); | 392 StartWatchingMouse(); |
390 } | 393 } |
OLD | NEW |