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

Side by Side Diff: ash/drag_drop/drag_drop_controller.cc

Issue 23531053: ui/base/animation -> ui/gfx/animation (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merge 2 trunk Created 7 years, 3 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « ash/drag_drop/drag_drop_controller.h ('k') | ash/drag_drop/drag_drop_controller_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "ash/drag_drop/drag_drop_controller.h" 5 #include "ash/drag_drop/drag_drop_controller.h"
6 6
7 #include "ash/drag_drop/drag_drop_tracker.h" 7 #include "ash/drag_drop/drag_drop_tracker.h"
8 #include "ash/drag_drop/drag_image_view.h" 8 #include "ash/drag_drop/drag_image_view.h"
9 #include "ash/shell.h" 9 #include "ash/shell.h"
10 #include "ash/wm/coordinate_conversion.h" 10 #include "ash/wm/coordinate_conversion.h"
11 #include "base/bind.h" 11 #include "base/bind.h"
12 #include "base/message_loop/message_loop.h" 12 #include "base/message_loop/message_loop.h"
13 #include "base/run_loop.h" 13 #include "base/run_loop.h"
14 #include "ui/aura/client/capture_client.h" 14 #include "ui/aura/client/capture_client.h"
15 #include "ui/aura/client/drag_drop_delegate.h" 15 #include "ui/aura/client/drag_drop_delegate.h"
16 #include "ui/aura/env.h" 16 #include "ui/aura/env.h"
17 #include "ui/aura/root_window.h" 17 #include "ui/aura/root_window.h"
18 #include "ui/aura/window.h" 18 #include "ui/aura/window.h"
19 #include "ui/aura/window_delegate.h" 19 #include "ui/aura/window_delegate.h"
20 #include "ui/base/animation/linear_animation.h"
21 #include "ui/base/dragdrop/drag_drop_types.h" 20 #include "ui/base/dragdrop/drag_drop_types.h"
22 #include "ui/base/dragdrop/os_exchange_data.h" 21 #include "ui/base/dragdrop/os_exchange_data.h"
23 #include "ui/base/events/event.h" 22 #include "ui/base/events/event.h"
24 #include "ui/base/events/event_utils.h" 23 #include "ui/base/events/event_utils.h"
25 #include "ui/base/hit_test.h" 24 #include "ui/base/hit_test.h"
25 #include "ui/gfx/animation/linear_animation.h"
26 #include "ui/gfx/path.h" 26 #include "ui/gfx/path.h"
27 #include "ui/gfx/point.h" 27 #include "ui/gfx/point.h"
28 #include "ui/gfx/rect.h" 28 #include "ui/gfx/rect.h"
29 #include "ui/gfx/rect_conversions.h" 29 #include "ui/gfx/rect_conversions.h"
30 #include "ui/views/views_delegate.h" 30 #include "ui/views/views_delegate.h"
31 #include "ui/views/widget/native_widget_aura.h" 31 #include "ui/views/widget/native_widget_aura.h"
32 32
33 namespace ash { 33 namespace ash {
34 namespace internal { 34 namespace internal {
35 35
(...skipping 428 matching lines...) Expand 10 before | Expand all | Expand 10 after
464 } 464 }
465 if (drag_source_window_ == window) { 465 if (drag_source_window_ == window) {
466 drag_source_window_->RemoveObserver(this); 466 drag_source_window_->RemoveObserver(this);
467 drag_source_window_ = NULL; 467 drag_source_window_ = NULL;
468 } 468 }
469 } 469 }
470 470
471 //////////////////////////////////////////////////////////////////////////////// 471 ////////////////////////////////////////////////////////////////////////////////
472 // DragDropController, protected: 472 // DragDropController, protected:
473 473
474 ui::LinearAnimation* DragDropController::CreateCancelAnimation( 474 gfx::LinearAnimation* DragDropController::CreateCancelAnimation(
475 int duration, 475 int duration,
476 int frame_rate, 476 int frame_rate,
477 ui::AnimationDelegate* delegate) { 477 gfx::AnimationDelegate* delegate) {
478 return new ui::LinearAnimation(duration, frame_rate, delegate); 478 return new gfx::LinearAnimation(duration, frame_rate, delegate);
479 } 479 }
480 480
481 //////////////////////////////////////////////////////////////////////////////// 481 ////////////////////////////////////////////////////////////////////////////////
482 // DragDropController, private: 482 // DragDropController, private:
483 483
484 void DragDropController::AnimationEnded(const ui::Animation* animation) { 484 void DragDropController::AnimationEnded(const gfx::Animation* animation) {
485 cancel_animation_.reset(); 485 cancel_animation_.reset();
486 486
487 // By the time we finish animation, another drag/drop session may have 487 // By the time we finish animation, another drag/drop session may have
488 // started. We do not want to destroy the drag image in that case. 488 // started. We do not want to destroy the drag image in that case.
489 if (!IsDragDropInProgress()) 489 if (!IsDragDropInProgress())
490 drag_image_.reset(); 490 drag_image_.reset();
491 if (pending_long_tap_) { 491 if (pending_long_tap_) {
492 // If not in a nested message loop, we can forward the long tap right now. 492 // If not in a nested message loop, we can forward the long tap right now.
493 if (!should_block_during_drag_drop_) 493 if (!should_block_during_drag_drop_)
494 ForwardPendingLongTap(); 494 ForwardPendingLongTap();
(...skipping 18 matching lines...) Expand all
513 if (delegate) 513 if (delegate)
514 delegate->OnDragExited(); 514 delegate->OnDragExited();
515 515
516 Cleanup(); 516 Cleanup();
517 drag_operation_ = 0; 517 drag_operation_ = 0;
518 StartCanceledAnimation(drag_cancel_animation_duration_ms); 518 StartCanceledAnimation(drag_cancel_animation_duration_ms);
519 if (should_block_during_drag_drop_) 519 if (should_block_during_drag_drop_)
520 quit_closure_.Run(); 520 quit_closure_.Run();
521 } 521 }
522 522
523 void DragDropController::AnimationProgressed(const ui::Animation* animation) { 523 void DragDropController::AnimationProgressed(const gfx::Animation* animation) {
524 gfx::Rect current_bounds = animation->CurrentValueBetween( 524 gfx::Rect current_bounds = animation->CurrentValueBetween(
525 drag_image_initial_bounds_for_cancel_animation_, 525 drag_image_initial_bounds_for_cancel_animation_,
526 drag_image_final_bounds_for_cancel_animation_); 526 drag_image_final_bounds_for_cancel_animation_);
527 drag_image_->SetBoundsInScreen(current_bounds); 527 drag_image_->SetBoundsInScreen(current_bounds);
528 } 528 }
529 529
530 void DragDropController::AnimationCanceled(const ui::Animation* animation) { 530 void DragDropController::AnimationCanceled(const gfx::Animation* animation) {
531 AnimationEnded(animation); 531 AnimationEnded(animation);
532 } 532 }
533 533
534 void DragDropController::StartCanceledAnimation(int animation_duration_ms) { 534 void DragDropController::StartCanceledAnimation(int animation_duration_ms) {
535 DCHECK(drag_image_.get()); 535 DCHECK(drag_image_.get());
536 drag_image_initial_bounds_for_cancel_animation_ = 536 drag_image_initial_bounds_for_cancel_animation_ =
537 drag_image_->GetBoundsInScreen(); 537 drag_image_->GetBoundsInScreen();
538 cancel_animation_.reset(CreateCancelAnimation(animation_duration_ms, 538 cancel_animation_.reset(CreateCancelAnimation(animation_duration_ms,
539 kCancelAnimationFrameRate, 539 kCancelAnimationFrameRate,
540 this)); 540 this));
(...skipping 16 matching lines...) Expand all
557 drag_window_->RemoveObserver(this); 557 drag_window_->RemoveObserver(this);
558 drag_window_ = NULL; 558 drag_window_ = NULL;
559 drag_data_ = NULL; 559 drag_data_ = NULL;
560 // Cleanup can be called again while deleting DragDropTracker, so use Pass 560 // Cleanup can be called again while deleting DragDropTracker, so use Pass
561 // instead of reset to avoid double free. 561 // instead of reset to avoid double free.
562 drag_drop_tracker_.Pass(); 562 drag_drop_tracker_.Pass();
563 } 563 }
564 564
565 } // namespace internal 565 } // namespace internal
566 } // namespace ash 566 } // namespace ash
OLDNEW
« no previous file with comments | « ash/drag_drop/drag_drop_controller.h ('k') | ash/drag_drop/drag_drop_controller_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698