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

Side by Side Diff: ui/aura/root_window.cc

Issue 12226080: Thread ui transform animations (Closed) Base URL: http://git.chromium.org/chromium/src.git@DefineThreadedLayerAnimationElements
Patch Set: Fix WebContentsViewAuraTest.QuickOverscrollDirectionChange Created 7 years, 9 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
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 "ui/aura/root_window.h" 5 #include "ui/aura/root_window.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/auto_reset.h" 9 #include "base/auto_reset.h"
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 412 matching lines...) Expand 10 before | Expand all | Expand 10 after
423 } 423 }
424 424
425 gfx::Point RootWindow::GetLastMouseLocationInRoot() const { 425 gfx::Point RootWindow::GetLastMouseLocationInRoot() const {
426 gfx::Point location = Env::GetInstance()->last_mouse_location(); 426 gfx::Point location = Env::GetInstance()->last_mouse_location();
427 client::ScreenPositionClient* client = client::GetScreenPositionClient(this); 427 client::ScreenPositionClient* client = client::GetScreenPositionClient(this);
428 if (client) 428 if (client)
429 client->ConvertPointFromScreen(this, &location); 429 client->ConvertPointFromScreen(this, &location);
430 return location; 430 return location;
431 } 431 }
432 432
433 void RootWindow::DelayDrawsForTesting(base::TimeDelta delay) {
434 draw_scheduling_delay_for_testing_ = delay;
435 }
436
433 //////////////////////////////////////////////////////////////////////////////// 437 ////////////////////////////////////////////////////////////////////////////////
434 // RootWindow, Window overrides: 438 // RootWindow, Window overrides:
435 439
436 RootWindow* RootWindow::GetRootWindow() { 440 RootWindow* RootWindow::GetRootWindow() {
437 return this; 441 return this;
438 } 442 }
439 443
440 const RootWindow* RootWindow::GetRootWindow() const { 444 const RootWindow* RootWindow::GetRootWindow() const {
441 return this; 445 return this;
442 } 446 }
(...skipping 13 matching lines...) Expand all
456 ui::EventTarget* RootWindow::GetParentTarget() { 460 ui::EventTarget* RootWindow::GetParentTarget() {
457 return client::GetEventClient(this) ? 461 return client::GetEventClient(this) ?
458 client::GetEventClient(this)->GetToplevelEventTarget() : 462 client::GetEventClient(this)->GetToplevelEventTarget() :
459 Env::GetInstance(); 463 Env::GetInstance();
460 } 464 }
461 465
462 //////////////////////////////////////////////////////////////////////////////// 466 ////////////////////////////////////////////////////////////////////////////////
463 // RootWindow, ui::CompositorDelegate implementation: 467 // RootWindow, ui::CompositorDelegate implementation:
464 468
465 void RootWindow::ScheduleDraw() { 469 void RootWindow::ScheduleDraw() {
466 if (!defer_draw_scheduling_) { 470 if (defer_draw_scheduling_)
467 defer_draw_scheduling_ = true; 471 return;
472
473 defer_draw_scheduling_ = true;
474 if (draw_scheduling_delay_for_testing_ == base::TimeDelta()) {
468 MessageLoop::current()->PostTask( 475 MessageLoop::current()->PostTask(
469 FROM_HERE, 476 FROM_HERE,
470 base::Bind(&RootWindow::Draw, schedule_paint_factory_.GetWeakPtr())); 477 base::Bind(&RootWindow::Draw, schedule_paint_factory_.GetWeakPtr()));
478 } else {
479 MessageLoop::current()->PostDelayedTask(
480 FROM_HERE,
481 base::Bind(&RootWindow::Draw, schedule_paint_factory_.GetWeakPtr()),
482 draw_scheduling_delay_for_testing_);
471 } 483 }
472 } 484 }
473 485
474 //////////////////////////////////////////////////////////////////////////////// 486 ////////////////////////////////////////////////////////////////////////////////
475 // RootWindow, ui::CompositorObserver implementation: 487 // RootWindow, ui::CompositorObserver implementation:
476 488
477 void RootWindow::OnCompositingDidCommit(ui::Compositor*) { 489 void RootWindow::OnCompositingDidCommit(ui::Compositor*) {
478 } 490 }
479 491
480 void RootWindow::OnCompositingStarted(ui::Compositor*, 492 void RootWindow::OnCompositingStarted(ui::Compositor*,
(...skipping 557 matching lines...) Expand 10 before | Expand all | Expand 10 after
1038 // currently broken. See/ crbug.com/107931. 1050 // currently broken. See/ crbug.com/107931.
1039 ui::MouseEvent event(ui::ET_MOUSE_MOVED, 1051 ui::MouseEvent event(ui::ET_MOUSE_MOVED,
1040 orig_mouse_location, 1052 orig_mouse_location,
1041 orig_mouse_location, 1053 orig_mouse_location,
1042 ui::EF_IS_SYNTHESIZED); 1054 ui::EF_IS_SYNTHESIZED);
1043 event.set_system_location(Env::GetInstance()->last_mouse_location()); 1055 event.set_system_location(Env::GetInstance()->last_mouse_location());
1044 OnHostMouseEvent(&event); 1056 OnHostMouseEvent(&event);
1045 } 1057 }
1046 1058
1047 } // namespace aura 1059 } // namespace aura
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698