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

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

Issue 20045007: Use DidOverscrollParams in the browser (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase 2 Created 6 years, 7 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 "base/android/sys_utils.h" 9 #include "base/android/sys_utils.h"
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 28 matching lines...) Expand all
39 #include "content/browser/renderer_host/compositor_impl_android.h" 39 #include "content/browser/renderer_host/compositor_impl_android.h"
40 #include "content/browser/renderer_host/dip_util.h" 40 #include "content/browser/renderer_host/dip_util.h"
41 #include "content/browser/renderer_host/image_transport_factory_android.h" 41 #include "content/browser/renderer_host/image_transport_factory_android.h"
42 #include "content/browser/renderer_host/input/synthetic_gesture_target_android.h " 42 #include "content/browser/renderer_host/input/synthetic_gesture_target_android.h "
43 #include "content/browser/renderer_host/input/web_input_event_util.h" 43 #include "content/browser/renderer_host/input/web_input_event_util.h"
44 #include "content/browser/renderer_host/render_process_host_impl.h" 44 #include "content/browser/renderer_host/render_process_host_impl.h"
45 #include "content/browser/renderer_host/render_view_host_impl.h" 45 #include "content/browser/renderer_host/render_view_host_impl.h"
46 #include "content/browser/renderer_host/render_widget_host_impl.h" 46 #include "content/browser/renderer_host/render_widget_host_impl.h"
47 #include "content/common/gpu/client/gl_helper.h" 47 #include "content/common/gpu/client/gl_helper.h"
48 #include "content/common/gpu/gpu_messages.h" 48 #include "content/common/gpu/gpu_messages.h"
49 #include "content/common/input/did_overscroll_params.h"
49 #include "content/common/input_messages.h" 50 #include "content/common/input_messages.h"
50 #include "content/common/view_messages.h" 51 #include "content/common/view_messages.h"
51 #include "content/public/browser/devtools_agent_host.h" 52 #include "content/public/browser/devtools_agent_host.h"
52 #include "content/public/browser/render_view_host.h" 53 #include "content/public/browser/render_view_host.h"
53 #include "content/public/common/content_switches.h" 54 #include "content/public/common/content_switches.h"
54 #include "gpu/command_buffer/client/gles2_interface.h" 55 #include "gpu/command_buffer/client/gles2_interface.h"
55 #include "gpu/config/gpu_driver_bug_workaround_type.h" 56 #include "gpu/config/gpu_driver_bug_workaround_type.h"
56 #include "skia/ext/image_operations.h" 57 #include "skia/ext/image_operations.h"
57 #include "third_party/khronos/GLES2/gl2.h" 58 #include "third_party/khronos/GLES2/gl2.h"
58 #include "third_party/khronos/GLES2/gl2ext.h" 59 #include "third_party/khronos/GLES2/gl2ext.h"
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
207 } 208 }
208 209
209 210
210 bool RenderWidgetHostViewAndroid::OnMessageReceived( 211 bool RenderWidgetHostViewAndroid::OnMessageReceived(
211 const IPC::Message& message) { 212 const IPC::Message& message) {
212 bool handled = true; 213 bool handled = true;
213 IPC_BEGIN_MESSAGE_MAP(RenderWidgetHostViewAndroid, message) 214 IPC_BEGIN_MESSAGE_MAP(RenderWidgetHostViewAndroid, message)
214 IPC_MESSAGE_HANDLER(ViewHostMsg_StartContentIntent, OnStartContentIntent) 215 IPC_MESSAGE_HANDLER(ViewHostMsg_StartContentIntent, OnStartContentIntent)
215 IPC_MESSAGE_HANDLER(ViewHostMsg_DidChangeBodyBackgroundColor, 216 IPC_MESSAGE_HANDLER(ViewHostMsg_DidChangeBodyBackgroundColor,
216 OnDidChangeBodyBackgroundColor) 217 OnDidChangeBodyBackgroundColor)
218 IPC_MESSAGE_HANDLER(ViewHostMsg_DidOverscroll, OnDidOverscroll)
217 IPC_MESSAGE_HANDLER(ViewHostMsg_SetNeedsBeginFrame, 219 IPC_MESSAGE_HANDLER(ViewHostMsg_SetNeedsBeginFrame,
218 OnSetNeedsBeginFrame) 220 OnSetNeedsBeginFrame)
219 IPC_MESSAGE_HANDLER(ViewHostMsg_TextInputStateChanged, 221 IPC_MESSAGE_HANDLER(ViewHostMsg_TextInputStateChanged,
220 OnTextInputStateChanged) 222 OnTextInputStateChanged)
221 IPC_MESSAGE_HANDLER(ViewHostMsg_SmartClipDataExtracted, 223 IPC_MESSAGE_HANDLER(ViewHostMsg_SmartClipDataExtracted,
222 OnSmartClipDataExtracted) 224 OnSmartClipDataExtracted)
223 IPC_MESSAGE_UNHANDLED(handled = false) 225 IPC_MESSAGE_UNHANDLED(handled = false)
224 IPC_END_MESSAGE_MAP() 226 IPC_END_MESSAGE_MAP()
225 return handled; 227 return handled;
226 } 228 }
(...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after
508 void RenderWidgetHostViewAndroid::OnDidChangeBodyBackgroundColor( 510 void RenderWidgetHostViewAndroid::OnDidChangeBodyBackgroundColor(
509 SkColor color) { 511 SkColor color) {
510 if (cached_background_color_ == color) 512 if (cached_background_color_ == color)
511 return; 513 return;
512 514
513 cached_background_color_ = color; 515 cached_background_color_ = color;
514 if (content_view_core_) 516 if (content_view_core_)
515 content_view_core_->OnBackgroundColorChanged(color); 517 content_view_core_->OnBackgroundColorChanged(color);
516 } 518 }
517 519
520 void RenderWidgetHostViewAndroid::OnDidOverscroll(
521 const DidOverscrollParams& params) {
522 if (!content_view_core_ || !layer_ || !is_showing_)
523 return;
524
525 const float device_scale_factor = content_view_core_->GetDpiScale();
526 if (overscroll_effect_->OnOverscrolled(
527 content_view_core_->GetLayer(),
528 base::TimeTicks::Now(),
529 gfx::ScaleVector2d(params.accumulated_overscroll,
530 device_scale_factor),
531 gfx::ScaleVector2d(params.latest_overscroll_delta,
532 device_scale_factor),
533 gfx::ScaleVector2d(params.current_fling_velocity,
534 device_scale_factor))) {
535 content_view_core_->SetNeedsAnimate();
536 }
537 }
538
518 void RenderWidgetHostViewAndroid::SendBeginFrame( 539 void RenderWidgetHostViewAndroid::SendBeginFrame(
519 const cc::BeginFrameArgs& args) { 540 const cc::BeginFrameArgs& args) {
520 TRACE_EVENT0("cc", "RenderWidgetHostViewAndroid::SendBeginFrame"); 541 TRACE_EVENT0("cc", "RenderWidgetHostViewAndroid::SendBeginFrame");
521 if (!host_) 542 if (!host_)
522 return; 543 return;
523 544
524 if (flush_input_requested_) { 545 if (flush_input_requested_) {
525 flush_input_requested_ = false; 546 flush_input_requested_ = false;
526 host_->FlushInput(); 547 host_->FlushInput();
527 content_view_core_->RemoveBeginFrameSubscriber(); 548 content_view_core_->RemoveBeginFrameSubscriber();
(...skipping 763 matching lines...) Expand 10 before | Expand all | Expand 10 after
1291 1312
1292 void RenderWidgetHostViewAndroid::MoveCaret(const gfx::Point& point) { 1313 void RenderWidgetHostViewAndroid::MoveCaret(const gfx::Point& point) {
1293 if (host_) 1314 if (host_)
1294 host_->MoveCaret(point); 1315 host_->MoveCaret(point);
1295 } 1316 }
1296 1317
1297 SkColor RenderWidgetHostViewAndroid::GetCachedBackgroundColor() const { 1318 SkColor RenderWidgetHostViewAndroid::GetCachedBackgroundColor() const {
1298 return cached_background_color_; 1319 return cached_background_color_;
1299 } 1320 }
1300 1321
1301 void RenderWidgetHostViewAndroid::OnOverscrolled(
1302 gfx::Vector2dF accumulated_overscroll,
1303 gfx::Vector2dF current_fling_velocity) {
1304 if (!content_view_core_ || !layer_ || !is_showing_)
1305 return;
1306
1307 const float device_scale_factor = content_view_core_->GetDpiScale();
1308 if (overscroll_effect_->OnOverscrolled(
1309 content_view_core_->GetLayer(),
1310 base::TimeTicks::Now(),
1311 gfx::ScaleVector2d(accumulated_overscroll, device_scale_factor),
1312 gfx::ScaleVector2d(current_fling_velocity, device_scale_factor))) {
1313 content_view_core_->SetNeedsAnimate();
1314 }
1315 }
1316
1317 void RenderWidgetHostViewAndroid::DidStopFlinging() { 1322 void RenderWidgetHostViewAndroid::DidStopFlinging() {
1318 if (content_view_core_) 1323 if (content_view_core_)
1319 content_view_core_->DidStopFlinging(); 1324 content_view_core_->DidStopFlinging();
1320 } 1325 }
1321 1326
1322 void RenderWidgetHostViewAndroid::SetContentViewCore( 1327 void RenderWidgetHostViewAndroid::SetContentViewCore(
1323 ContentViewCoreImpl* content_view_core) { 1328 ContentViewCoreImpl* content_view_core) {
1324 RemoveLayers(); 1329 RemoveLayers();
1325 if (observing_root_window_ && content_view_core_) { 1330 if (observing_root_window_ && content_view_core_) {
1326 content_view_core_->GetWindowAndroid()->RemoveObserver(this); 1331 content_view_core_->GetWindowAndroid()->RemoveObserver(this);
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after
1501 // RenderWidgetHostView, public: 1506 // RenderWidgetHostView, public:
1502 1507
1503 // static 1508 // static
1504 RenderWidgetHostView* 1509 RenderWidgetHostView*
1505 RenderWidgetHostView::CreateViewForWidget(RenderWidgetHost* widget) { 1510 RenderWidgetHostView::CreateViewForWidget(RenderWidgetHost* widget) {
1506 RenderWidgetHostImpl* rwhi = RenderWidgetHostImpl::From(widget); 1511 RenderWidgetHostImpl* rwhi = RenderWidgetHostImpl::From(widget);
1507 return new RenderWidgetHostViewAndroid(rwhi, NULL); 1512 return new RenderWidgetHostViewAndroid(rwhi, NULL);
1508 } 1513 }
1509 1514
1510 } // namespace content 1515 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698