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

Side by Side Diff: content/browser/renderer_host/render_widget_host_view_aura.cc

Issue 775143003: cc: Implement unified BeginFrame on aura (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: add unittest Created 5 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 "content/browser/renderer_host/render_widget_host_view_aura.h" 5 #include "content/browser/renderer_host/render_widget_host_view_aura.h"
6 6
7 #include "base/auto_reset.h" 7 #include "base/auto_reset.h"
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/callback_helpers.h" 10 #include "base/callback_helpers.h"
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
56 #include "ui/aura/env.h" 56 #include "ui/aura/env.h"
57 #include "ui/aura/window.h" 57 #include "ui/aura/window.h"
58 #include "ui/aura/window_event_dispatcher.h" 58 #include "ui/aura/window_event_dispatcher.h"
59 #include "ui/aura/window_observer.h" 59 #include "ui/aura/window_observer.h"
60 #include "ui/aura/window_tracker.h" 60 #include "ui/aura/window_tracker.h"
61 #include "ui/aura/window_tree_host.h" 61 #include "ui/aura/window_tree_host.h"
62 #include "ui/base/clipboard/scoped_clipboard_writer.h" 62 #include "ui/base/clipboard/scoped_clipboard_writer.h"
63 #include "ui/base/hit_test.h" 63 #include "ui/base/hit_test.h"
64 #include "ui/base/ime/input_method.h" 64 #include "ui/base/ime/input_method.h"
65 #include "ui/base/ui_base_types.h" 65 #include "ui/base/ui_base_types.h"
66 #include "ui/compositor/compositor_vsync_manager.h"
67 #include "ui/compositor/dip_util.h" 66 #include "ui/compositor/dip_util.h"
68 #include "ui/events/event.h" 67 #include "ui/events/event.h"
69 #include "ui/events/event_utils.h" 68 #include "ui/events/event_utils.h"
70 #include "ui/events/gestures/gesture_recognizer.h" 69 #include "ui/events/gestures/gesture_recognizer.h"
71 #include "ui/gfx/canvas.h" 70 #include "ui/gfx/canvas.h"
72 #include "ui/gfx/display.h" 71 #include "ui/gfx/display.h"
73 #include "ui/gfx/geometry/rect_conversions.h" 72 #include "ui/gfx/geometry/rect_conversions.h"
74 #include "ui/gfx/geometry/size_conversions.h" 73 #include "ui/gfx/geometry/size_conversions.h"
75 #include "ui/gfx/screen.h" 74 #include "ui/gfx/screen.h"
76 #include "ui/gfx/skia_util.h" 75 #include "ui/gfx/skia_util.h"
(...skipping 330 matching lines...) Expand 10 before | Expand all | Expand 10 after
407 DISALLOW_COPY_AND_ASSIGN(WindowObserver); 406 DISALLOW_COPY_AND_ASSIGN(WindowObserver);
408 }; 407 };
409 408
410 //////////////////////////////////////////////////////////////////////////////// 409 ////////////////////////////////////////////////////////////////////////////////
411 // RenderWidgetHostViewAura, public: 410 // RenderWidgetHostViewAura, public:
412 411
413 RenderWidgetHostViewAura::RenderWidgetHostViewAura(RenderWidgetHost* host, 412 RenderWidgetHostViewAura::RenderWidgetHostViewAura(RenderWidgetHost* host,
414 bool is_guest_view_hack) 413 bool is_guest_view_hack)
415 : host_(RenderWidgetHostImpl::From(host)), 414 : host_(RenderWidgetHostImpl::From(host)),
416 window_(new aura::Window(this)), 415 window_(new aura::Window(this)),
417 delegated_frame_host_(new DelegatedFrameHost(this)), 416 delegated_frame_host_(new DelegatedFrameHost(this, true)),
418 in_shutdown_(false), 417 in_shutdown_(false),
419 in_bounds_changed_(false), 418 in_bounds_changed_(false),
420 is_fullscreen_(false), 419 is_fullscreen_(false),
421 popup_parent_host_view_(NULL), 420 popup_parent_host_view_(NULL),
422 popup_child_host_view_(NULL), 421 popup_child_host_view_(NULL),
423 is_loading_(false), 422 is_loading_(false),
424 text_input_type_(ui::TEXT_INPUT_TYPE_NONE), 423 text_input_type_(ui::TEXT_INPUT_TYPE_NONE),
425 text_input_mode_(ui::TEXT_INPUT_MODE_DEFAULT), 424 text_input_mode_(ui::TEXT_INPUT_MODE_DEFAULT),
426 text_input_flags_(0), 425 text_input_flags_(0),
427 can_compose_inline_(true), 426 can_compose_inline_(true),
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
460 459
461 bool RenderWidgetHostViewAura::OnMessageReceived( 460 bool RenderWidgetHostViewAura::OnMessageReceived(
462 const IPC::Message& message) { 461 const IPC::Message& message) {
463 bool handled = true; 462 bool handled = true;
464 IPC_BEGIN_MESSAGE_MAP(RenderWidgetHostViewAura, message) 463 IPC_BEGIN_MESSAGE_MAP(RenderWidgetHostViewAura, message)
465 // TODO(kevers): Move to RenderWidgetHostViewImpl and consolidate IPC 464 // TODO(kevers): Move to RenderWidgetHostViewImpl and consolidate IPC
466 // messages for TextInput<State|Type>Changed. Corresponding code in 465 // messages for TextInput<State|Type>Changed. Corresponding code in
467 // RenderWidgetHostViewAndroid should also be moved at the same time. 466 // RenderWidgetHostViewAndroid should also be moved at the same time.
468 IPC_MESSAGE_HANDLER(ViewHostMsg_TextInputStateChanged, 467 IPC_MESSAGE_HANDLER(ViewHostMsg_TextInputStateChanged,
469 OnTextInputStateChanged) 468 OnTextInputStateChanged)
469 IPC_MESSAGE_HANDLER(ViewHostMsg_SetNeedsBeginFrames,
470 OnSetNeedsBeginFrames)
470 IPC_MESSAGE_UNHANDLED(handled = false) 471 IPC_MESSAGE_UNHANDLED(handled = false)
471 IPC_END_MESSAGE_MAP() 472 IPC_END_MESSAGE_MAP()
472 return handled; 473 return handled;
473 } 474 }
474 475
475 void RenderWidgetHostViewAura::InitAsChild( 476 void RenderWidgetHostViewAura::InitAsChild(
476 gfx::NativeView parent_view) { 477 gfx::NativeView parent_view) {
477 window_->SetType(ui::wm::WINDOW_TYPE_CONTROL); 478 window_->SetType(ui::wm::WINDOW_TYPE_CONTROL);
478 window_->Init(aura::WINDOW_LAYER_SOLID_COLOR); 479 window_->Init(aura::WINDOW_LAYER_SOLID_COLOR);
479 window_->SetName("RenderWidgetHostViewAura"); 480 window_->SetName("RenderWidgetHostViewAura");
(...skipping 2111 matching lines...) Expand 10 before | Expand all | Expand 10 after
2591 } 2592 }
2592 #endif 2593 #endif
2593 2594
2594 host_->ForwardKeyboardEvent(event); 2595 host_->ForwardKeyboardEvent(event);
2595 } 2596 }
2596 2597
2597 SkColorType RenderWidgetHostViewAura::PreferredReadbackFormat() { 2598 SkColorType RenderWidgetHostViewAura::PreferredReadbackFormat() {
2598 return kN32_SkColorType; 2599 return kN32_SkColorType;
2599 } 2600 }
2600 2601
2602 void RenderWidgetHostViewAura::OnSetNeedsBeginFrames(bool needs_begin_frames) {
2603 delegated_frame_host_->OnSetNeedsBeginFrames(needs_begin_frames);
2604 }
2605
2601 //////////////////////////////////////////////////////////////////////////////// 2606 ////////////////////////////////////////////////////////////////////////////////
2602 // DelegatedFrameHost, public: 2607 // DelegatedFrameHostClient, public:
2603 2608
2604 ui::Layer* RenderWidgetHostViewAura::DelegatedFrameHostGetLayer() const { 2609 ui::Layer* RenderWidgetHostViewAura::DelegatedFrameHostGetLayer() const {
2605 return window_->layer(); 2610 return window_->layer();
2606 } 2611 }
2607 2612
2608 bool RenderWidgetHostViewAura::DelegatedFrameHostIsVisible() const { 2613 bool RenderWidgetHostViewAura::DelegatedFrameHostIsVisible() const {
2609 return !host_->is_hidden(); 2614 return !host_->is_hidden();
2610 } 2615 }
2611 2616
2612 gfx::Size RenderWidgetHostViewAura::DelegatedFrameHostDesiredSizeInDIP() const { 2617 gfx::Size RenderWidgetHostViewAura::DelegatedFrameHostDesiredSizeInDIP() const {
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
2654 int output_surface_id, 2659 int output_surface_id,
2655 const cc::CompositorFrameAck& ack) { 2660 const cc::CompositorFrameAck& ack) {
2656 host_->Send(new ViewMsg_ReclaimCompositorResources(host_->GetRoutingID(), 2661 host_->Send(new ViewMsg_ReclaimCompositorResources(host_->GetRoutingID(),
2657 output_surface_id, ack)); 2662 output_surface_id, ack));
2658 } 2663 }
2659 2664
2660 void RenderWidgetHostViewAura::DelegatedFrameHostOnLostCompositorResources() { 2665 void RenderWidgetHostViewAura::DelegatedFrameHostOnLostCompositorResources() {
2661 host_->ScheduleComposite(); 2666 host_->ScheduleComposite();
2662 } 2667 }
2663 2668
2664 void RenderWidgetHostViewAura::DelegatedFrameHostUpdateVSyncParameters( 2669 void RenderWidgetHostViewAura::DelegatedFrameHostSendBeginFrame(
2665 const base::TimeTicks& timebase, 2670 const cc::BeginFrameArgs& args) {
2666 const base::TimeDelta& interval) { 2671 host_->Send(new ViewMsg_BeginFrame(host_->GetRoutingID(), args));
2667 host_->UpdateVSyncParameters(timebase, interval);
2668 } 2672 }
2669 2673
2670 void RenderWidgetHostViewAura::OnDidNavigateMainFrameToNewPage() { 2674 void RenderWidgetHostViewAura::OnDidNavigateMainFrameToNewPage() {
2671 ui::GestureRecognizer::Get()->CancelActiveTouches(window_); 2675 ui::GestureRecognizer::Get()->CancelActiveTouches(window_);
2672 } 2676 }
2673 2677
2674 //////////////////////////////////////////////////////////////////////////////// 2678 ////////////////////////////////////////////////////////////////////////////////
2675 // RenderWidgetHostViewBase, public: 2679 // RenderWidgetHostViewBase, public:
2676 2680
2677 // static 2681 // static
2678 void RenderWidgetHostViewBase::GetDefaultScreenInfo(WebScreenInfo* results) { 2682 void RenderWidgetHostViewBase::GetDefaultScreenInfo(WebScreenInfo* results) {
2679 GetScreenInfoForWindow(results, NULL); 2683 GetScreenInfoForWindow(results, NULL);
2680 } 2684 }
2681 2685
2682 } // namespace content 2686 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698