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

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

Issue 2167713002: cc: Delete SurfaceDrawStatus (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed Scott's comments Created 4 years, 5 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_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 574 matching lines...) Expand 10 before | Expand all | Expand 10 after
585 } 585 }
586 586
587 void RenderWidgetHostViewAndroid::ReleaseLocksOnSurface() { 587 void RenderWidgetHostViewAndroid::ReleaseLocksOnSurface() {
588 if (!frame_evictor_->HasFrame()) { 588 if (!frame_evictor_->HasFrame()) {
589 DCHECK_EQ(locks_on_frame_count_, 0u); 589 DCHECK_EQ(locks_on_frame_count_, 0u);
590 return; 590 return;
591 } 591 }
592 while (locks_on_frame_count_ > 0) { 592 while (locks_on_frame_count_ > 0) {
593 UnlockCompositingSurface(); 593 UnlockCompositingSurface();
594 } 594 }
595 RunAckCallbacks(cc::SurfaceDrawStatus::DRAW_SKIPPED); 595 RunAckCallbacks();
596 } 596 }
597 597
598 gfx::Rect RenderWidgetHostViewAndroid::GetViewBounds() const { 598 gfx::Rect RenderWidgetHostViewAndroid::GetViewBounds() const {
599 if (!content_view_core_) 599 if (!content_view_core_)
600 return gfx::Rect(default_size_); 600 return gfx::Rect(default_size_);
601 601
602 if (base::CommandLine::ForCurrentProcess()->HasSwitch( 602 if (base::CommandLine::ForCurrentProcess()->HasSwitch(
603 switches::kEnableOSKOverscroll)) 603 switches::kEnableOSKOverscroll))
604 return gfx::Rect(content_view_core_->GetViewSizeWithOSKHidden()); 604 return gfx::Rect(content_view_core_->GetViewSizeWithOSKHidden());
605 605
(...skipping 447 matching lines...) Expand 10 before | Expand all | Expand 10 after
1053 if (!has_content) { 1053 if (!has_content) {
1054 DestroyDelegatedContent(); 1054 DestroyDelegatedContent();
1055 } else { 1055 } else {
1056 SubmitCompositorFrame(std::move(frame)); 1056 SubmitCompositorFrame(std::move(frame));
1057 view_.GetLayer()->SetIsDrawable(true); 1057 view_.GetLayer()->SetIsDrawable(true);
1058 view_.GetLayer()->SetContentsOpaque(true); 1058 view_.GetLayer()->SetContentsOpaque(true);
1059 view_.GetLayer()->SetBounds(texture_size_in_layer_); 1059 view_.GetLayer()->SetBounds(texture_size_in_layer_);
1060 } 1060 }
1061 1061
1062 if (host_->is_hidden()) 1062 if (host_->is_hidden())
1063 RunAckCallbacks(cc::SurfaceDrawStatus::DRAW_SKIPPED); 1063 RunAckCallbacks();
1064 frame_evictor_->SwappedFrame(!host_->is_hidden()); 1064 frame_evictor_->SwappedFrame(!host_->is_hidden());
1065 1065
1066 // As the metadata update may trigger view invalidation, always call it after 1066 // As the metadata update may trigger view invalidation, always call it after
1067 // any potential compositor scheduling. 1067 // any potential compositor scheduling.
1068 OnFrameMetadataUpdated(std::move(metadata)); 1068 OnFrameMetadataUpdated(std::move(metadata));
1069 } 1069 }
1070 1070
1071 void RenderWidgetHostViewAndroid::OnSwapCompositorFrame( 1071 void RenderWidgetHostViewAndroid::OnSwapCompositorFrame(
1072 uint32_t output_surface_id, 1072 uint32_t output_surface_id,
1073 cc::CompositorFrame frame) { 1073 cc::CompositorFrame frame) {
(...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after
1330 DCHECK(!is_showing_); 1330 DCHECK(!is_showing_);
1331 StopObservingRootWindow(); 1331 StopObservingRootWindow();
1332 } 1332 }
1333 1333
1334 if (!host_ || host_->is_hidden()) 1334 if (!host_ || host_->is_hidden())
1335 return; 1335 return;
1336 1336
1337 if (overscroll_controller_) 1337 if (overscroll_controller_)
1338 overscroll_controller_->Disable(); 1338 overscroll_controller_->Disable();
1339 1339
1340 RunAckCallbacks(cc::SurfaceDrawStatus::DRAW_SKIPPED); 1340 RunAckCallbacks();
1341 1341
1342 // Inform the renderer that we are being hidden so it can reduce its resource 1342 // Inform the renderer that we are being hidden so it can reduce its resource
1343 // utilization. 1343 // utilization.
1344 host_->WasHidden(); 1344 host_->WasHidden();
1345 } 1345 }
1346 1346
1347 void RenderWidgetHostViewAndroid::AttachLayers() { 1347 void RenderWidgetHostViewAndroid::AttachLayers() {
1348 if (!content_view_core_) 1348 if (!content_view_core_)
1349 return; 1349 return;
1350 if (!view_.GetLayer()) 1350 if (!view_.GetLayer())
(...skipping 388 matching lines...) Expand 10 before | Expand all | Expand 10 after
1739 overscroll_controller_ = CreateOverscrollController( 1739 overscroll_controller_ = CreateOverscrollController(
1740 content_view_core_, ui::GetScaleFactorForNativeView(GetNativeView())); 1740 content_view_core_, ui::GetScaleFactorForNativeView(GetNativeView()));
1741 } 1741 }
1742 1742
1743 if (!sync_compositor_) { 1743 if (!sync_compositor_) {
1744 sync_compositor_ = SynchronousCompositorHost::Create( 1744 sync_compositor_ = SynchronousCompositorHost::Create(
1745 this, content_view_core_->GetWebContents()); 1745 this, content_view_core_->GetWebContents());
1746 } 1746 }
1747 } 1747 }
1748 1748
1749 void RenderWidgetHostViewAndroid::RunAckCallbacks( 1749 void RenderWidgetHostViewAndroid::RunAckCallbacks() {
1750 cc::SurfaceDrawStatus status) {
1751 while (!ack_callbacks_.empty()) { 1750 while (!ack_callbacks_.empty()) {
1752 ack_callbacks_.front().Run(); 1751 ack_callbacks_.front().Run();
1753 ack_callbacks_.pop(); 1752 ack_callbacks_.pop();
1754 } 1753 }
1755 } 1754 }
1756 1755
1757 void RenderWidgetHostViewAndroid::OnGestureEvent( 1756 void RenderWidgetHostViewAndroid::OnGestureEvent(
1758 const ui::GestureEventData& gesture) { 1757 const ui::GestureEventData& gesture) {
1759 blink::WebGestureEvent web_gesture = 1758 blink::WebGestureEvent web_gesture =
1760 ui::CreateWebGestureEventFromGestureEventData(gesture); 1759 ui::CreateWebGestureEventFromGestureEventData(gesture);
1761 // TODO(jdduke): Remove this workaround after Android fixes UiAutomator to 1760 // TODO(jdduke): Remove this workaround after Android fixes UiAutomator to
1762 // stop providing shift meta values to synthetic MotionEvents. This prevents 1761 // stop providing shift meta values to synthetic MotionEvents. This prevents
1763 // unintended shift+click interpretation of all accessibility clicks. 1762 // unintended shift+click interpretation of all accessibility clicks.
1764 // See crbug.com/443247. 1763 // See crbug.com/443247.
1765 if (web_gesture.type == blink::WebInputEvent::GestureTap && 1764 if (web_gesture.type == blink::WebInputEvent::GestureTap &&
1766 web_gesture.modifiers == blink::WebInputEvent::ShiftKey) { 1765 web_gesture.modifiers == blink::WebInputEvent::ShiftKey) {
1767 web_gesture.modifiers = 0; 1766 web_gesture.modifiers = 0;
1768 } 1767 }
1769 SendGestureEvent(web_gesture); 1768 SendGestureEvent(web_gesture);
1770 } 1769 }
1771 1770
1772 void RenderWidgetHostViewAndroid::OnContentViewCoreDestroyed() { 1771 void RenderWidgetHostViewAndroid::OnContentViewCoreDestroyed() {
1773 SetContentViewCore(NULL); 1772 SetContentViewCore(NULL);
1774 } 1773 }
1775 1774
1776 void RenderWidgetHostViewAndroid::OnCompositingDidCommit() { 1775 void RenderWidgetHostViewAndroid::OnCompositingDidCommit() {
1777 RunAckCallbacks(cc::SurfaceDrawStatus::DRAWN); 1776 RunAckCallbacks();
1778 } 1777 }
1779 1778
1780 void RenderWidgetHostViewAndroid::OnRootWindowVisibilityChanged(bool visible) { 1779 void RenderWidgetHostViewAndroid::OnRootWindowVisibilityChanged(bool visible) {
1781 TRACE_EVENT1("browser", 1780 TRACE_EVENT1("browser",
1782 "RenderWidgetHostViewAndroid::OnRootWindowVisibilityChanged", 1781 "RenderWidgetHostViewAndroid::OnRootWindowVisibilityChanged",
1783 "visible", visible); 1782 "visible", visible);
1784 DCHECK(observing_root_window_); 1783 DCHECK(observing_root_window_);
1785 if (is_window_visible_ == visible) 1784 if (is_window_visible_ == visible)
1786 return; 1785 return;
1787 1786
(...skipping 21 matching lines...) Expand all
1809 void RenderWidgetHostViewAndroid::OnAttachCompositor() { 1808 void RenderWidgetHostViewAndroid::OnAttachCompositor() {
1810 DCHECK(content_view_core_); 1809 DCHECK(content_view_core_);
1811 if (!overscroll_controller_) 1810 if (!overscroll_controller_)
1812 overscroll_controller_ = CreateOverscrollController( 1811 overscroll_controller_ = CreateOverscrollController(
1813 content_view_core_, ui::GetScaleFactorForNativeView(GetNativeView())); 1812 content_view_core_, ui::GetScaleFactorForNativeView(GetNativeView()));
1814 } 1813 }
1815 1814
1816 void RenderWidgetHostViewAndroid::OnDetachCompositor() { 1815 void RenderWidgetHostViewAndroid::OnDetachCompositor() {
1817 DCHECK(content_view_core_); 1816 DCHECK(content_view_core_);
1818 DCHECK(using_browser_compositor_); 1817 DCHECK(using_browser_compositor_);
1819 RunAckCallbacks(cc::SurfaceDrawStatus::DRAW_SKIPPED); 1818 RunAckCallbacks();
1820 overscroll_controller_.reset(); 1819 overscroll_controller_.reset();
1821 } 1820 }
1822 1821
1823 void RenderWidgetHostViewAndroid::OnVSync(base::TimeTicks frame_time, 1822 void RenderWidgetHostViewAndroid::OnVSync(base::TimeTicks frame_time,
1824 base::TimeDelta vsync_period) { 1823 base::TimeDelta vsync_period) {
1825 TRACE_EVENT0("cc,benchmark", "RenderWidgetHostViewAndroid::OnVSync"); 1824 TRACE_EVENT0("cc,benchmark", "RenderWidgetHostViewAndroid::OnVSync");
1826 if (!host_) 1825 if (!host_)
1827 return; 1826 return;
1828 1827
1829 if (outstanding_vsync_requests_ & FLUSH_INPUT) { 1828 if (outstanding_vsync_requests_ & FLUSH_INPUT) {
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
1996 case ui::MotionEvent::ACTION_UP: 1995 case ui::MotionEvent::ACTION_UP:
1997 case ui::MotionEvent::ACTION_POINTER_UP: 1996 case ui::MotionEvent::ACTION_POINTER_UP:
1998 UMA_HISTOGRAM_CUSTOM_COUNTS("Event.Latency.OS.TOUCH_RELEASED", 1997 UMA_HISTOGRAM_CUSTOM_COUNTS("Event.Latency.OS.TOUCH_RELEASED",
1999 delta.InMicroseconds(), 1, 1000000, 50); 1998 delta.InMicroseconds(), 1, 1000000, 50);
2000 default: 1999 default:
2001 return; 2000 return;
2002 } 2001 }
2003 } 2002 }
2004 2003
2005 } // namespace content 2004 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698