| 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 "content/browser/renderer_host/render_widget_host_view_android.h" | 5 #include "content/browser/renderer_host/render_widget_host_view_android.h" |
| 6 | 6 |
| 7 #include <android/bitmap.h> | 7 #include <android/bitmap.h> |
| 8 | 8 |
| 9 #include <utility> | 9 #include <utility> |
| 10 | 10 |
| (...skipping 424 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 435 } | 435 } |
| 436 | 436 |
| 437 RenderWidgetHostViewAndroid::RenderWidgetHostViewAndroid( | 437 RenderWidgetHostViewAndroid::RenderWidgetHostViewAndroid( |
| 438 RenderWidgetHostImpl* widget_host, | 438 RenderWidgetHostImpl* widget_host, |
| 439 ContentViewCoreImpl* content_view_core) | 439 ContentViewCoreImpl* content_view_core) |
| 440 : host_(widget_host), | 440 : host_(widget_host), |
| 441 outstanding_vsync_requests_(0), | 441 outstanding_vsync_requests_(0), |
| 442 is_showing_(!widget_host->is_hidden()), | 442 is_showing_(!widget_host->is_hidden()), |
| 443 is_window_visible_(true), | 443 is_window_visible_(true), |
| 444 is_window_activity_started_(true), | 444 is_window_activity_started_(true), |
| 445 is_showing_overscroll_glow_(true), |
| 445 content_view_core_(nullptr), | 446 content_view_core_(nullptr), |
| 446 ime_adapter_android_(this), | 447 ime_adapter_android_(this), |
| 447 cached_background_color_(SK_ColorWHITE), | 448 cached_background_color_(SK_ColorWHITE), |
| 448 last_compositor_frame_sink_id_(kUndefinedCompositorFrameSinkId), | 449 last_compositor_frame_sink_id_(kUndefinedCompositorFrameSinkId), |
| 449 gesture_provider_(ui::GetGestureProviderConfig( | 450 gesture_provider_(ui::GetGestureProviderConfig( |
| 450 ui::GestureProviderConfigType::CURRENT_PLATFORM), | 451 ui::GestureProviderConfigType::CURRENT_PLATFORM), |
| 451 this), | 452 this), |
| 452 stylus_text_selector_(this), | 453 stylus_text_selector_(this), |
| 453 using_browser_compositor_(CompositorImpl::IsInitialized()), | 454 using_browser_compositor_(CompositorImpl::IsInitialized()), |
| 454 synchronous_compositor_client_(nullptr), | 455 synchronous_compositor_client_(nullptr), |
| (...skipping 1059 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1514 host_->Send(new ViewMsg_BeginFrame( | 1515 host_->Send(new ViewMsg_BeginFrame( |
| 1515 host_->GetRoutingID(), | 1516 host_->GetRoutingID(), |
| 1516 cc::BeginFrameArgs::Create(BEGINFRAME_FROM_HERE, frame_time, deadline, | 1517 cc::BeginFrameArgs::Create(BEGINFRAME_FROM_HERE, frame_time, deadline, |
| 1517 vsync_period, cc::BeginFrameArgs::NORMAL))); | 1518 vsync_period, cc::BeginFrameArgs::NORMAL))); |
| 1518 if (sync_compositor_) | 1519 if (sync_compositor_) |
| 1519 sync_compositor_->DidSendBeginFrame(view_.GetWindowAndroid()); | 1520 sync_compositor_->DidSendBeginFrame(view_.GetWindowAndroid()); |
| 1520 } | 1521 } |
| 1521 | 1522 |
| 1522 bool RenderWidgetHostViewAndroid::Animate(base::TimeTicks frame_time) { | 1523 bool RenderWidgetHostViewAndroid::Animate(base::TimeTicks frame_time) { |
| 1523 bool needs_animate = false; | 1524 bool needs_animate = false; |
| 1524 if (overscroll_controller_) { | 1525 if (overscroll_controller_ && is_showing_overscroll_glow_) { |
| 1525 needs_animate |= overscroll_controller_->Animate( | 1526 needs_animate |= overscroll_controller_->Animate( |
| 1526 frame_time, content_view_core_->GetViewAndroid()->GetLayer()); | 1527 frame_time, content_view_core_->GetViewAndroid()->GetLayer()); |
| 1527 } | 1528 } |
| 1528 if (selection_controller_) | 1529 if (selection_controller_) |
| 1529 needs_animate |= selection_controller_->Animate(frame_time); | 1530 needs_animate |= selection_controller_->Animate(frame_time); |
| 1530 return needs_animate; | 1531 return needs_animate; |
| 1531 } | 1532 } |
| 1532 | 1533 |
| 1533 void RenderWidgetHostViewAndroid::RequestDisallowInterceptTouchEvent() { | 1534 void RenderWidgetHostViewAndroid::RequestDisallowInterceptTouchEvent() { |
| 1534 if (content_view_core_) | 1535 if (content_view_core_) |
| (...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1729 | 1730 |
| 1730 void RenderWidgetHostViewAndroid::SetTextHandlesTemporarilyHidden(bool hidden) { | 1731 void RenderWidgetHostViewAndroid::SetTextHandlesTemporarilyHidden(bool hidden) { |
| 1731 if (selection_controller_) | 1732 if (selection_controller_) |
| 1732 selection_controller_->SetTemporarilyHidden(hidden); | 1733 selection_controller_->SetTemporarilyHidden(hidden); |
| 1733 } | 1734 } |
| 1734 | 1735 |
| 1735 SkColor RenderWidgetHostViewAndroid::GetCachedBackgroundColor() const { | 1736 SkColor RenderWidgetHostViewAndroid::GetCachedBackgroundColor() const { |
| 1736 return cached_background_color_; | 1737 return cached_background_color_; |
| 1737 } | 1738 } |
| 1738 | 1739 |
| 1740 void RenderWidgetHostViewAndroid::SetShowingOverscrollGlow(bool showing_glow) { |
| 1741 is_showing_overscroll_glow_ = showing_glow; |
| 1742 } |
| 1743 |
| 1739 void RenderWidgetHostViewAndroid::DidOverscroll( | 1744 void RenderWidgetHostViewAndroid::DidOverscroll( |
| 1740 const ui::DidOverscrollParams& params) { | 1745 const ui::DidOverscrollParams& params) { |
| 1741 if (sync_compositor_) | 1746 if (sync_compositor_) |
| 1742 sync_compositor_->DidOverscroll(params); | 1747 sync_compositor_->DidOverscroll(params); |
| 1743 | 1748 |
| 1744 if (!content_view_core_ || !is_showing_) | 1749 if (!content_view_core_ || !is_showing_) |
| 1745 return; | 1750 return; |
| 1746 | 1751 |
| 1747 if (overscroll_controller_) | 1752 if (overscroll_controller_) |
| 1748 overscroll_controller_->OnOverscrolled(params); | 1753 overscroll_controller_->OnOverscrolled(params); |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1813 if (resize) | 1818 if (resize) |
| 1814 WasResized(); | 1819 WasResized(); |
| 1815 | 1820 |
| 1816 if (!selection_controller_) | 1821 if (!selection_controller_) |
| 1817 selection_controller_ = CreateSelectionController(this, content_view_core_); | 1822 selection_controller_ = CreateSelectionController(this, content_view_core_); |
| 1818 | 1823 |
| 1819 if (!overscroll_controller_ && | 1824 if (!overscroll_controller_ && |
| 1820 view_.GetWindowAndroid()->GetCompositor()) { | 1825 view_.GetWindowAndroid()->GetCompositor()) { |
| 1821 overscroll_controller_ = CreateOverscrollController( | 1826 overscroll_controller_ = CreateOverscrollController( |
| 1822 content_view_core_, ui::GetScaleFactorForNativeView(GetNativeView())); | 1827 content_view_core_, ui::GetScaleFactorForNativeView(GetNativeView())); |
| 1828 is_showing_overscroll_glow_ = true; |
| 1823 } | 1829 } |
| 1824 } | 1830 } |
| 1825 | 1831 |
| 1826 void RenderWidgetHostViewAndroid::RunAckCallbacks() { | 1832 void RenderWidgetHostViewAndroid::RunAckCallbacks() { |
| 1827 while (!ack_callbacks_.empty()) { | 1833 while (!ack_callbacks_.empty()) { |
| 1828 ack_callbacks_.front().Run(); | 1834 ack_callbacks_.front().Run(); |
| 1829 ack_callbacks_.pop(); | 1835 ack_callbacks_.pop(); |
| 1830 } | 1836 } |
| 1831 } | 1837 } |
| 1832 | 1838 |
| (...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1994 case ui::MotionEvent::ACTION_UP: | 2000 case ui::MotionEvent::ACTION_UP: |
| 1995 case ui::MotionEvent::ACTION_POINTER_UP: | 2001 case ui::MotionEvent::ACTION_POINTER_UP: |
| 1996 UMA_HISTOGRAM_CUSTOM_COUNTS("Event.Latency.OS.TOUCH_RELEASED", | 2002 UMA_HISTOGRAM_CUSTOM_COUNTS("Event.Latency.OS.TOUCH_RELEASED", |
| 1997 delta.InMicroseconds(), 1, 1000000, 50); | 2003 delta.InMicroseconds(), 1, 1000000, 50); |
| 1998 default: | 2004 default: |
| 1999 return; | 2005 return; |
| 2000 } | 2006 } |
| 2001 } | 2007 } |
| 2002 | 2008 |
| 2003 } // namespace content | 2009 } // namespace content |
| OLD | NEW |