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

Side by Side Diff: content/browser/web_contents/web_contents_view_aura.cc

Issue 12212114: overscroll: Disable overscroll by default. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 7 years, 10 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 | Annotate | Revision Log
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/web_contents/web_contents_view_aura.h" 5 #include "content/browser/web_contents/web_contents_view_aura.h"
6 6
7 #include "base/auto_reset.h" 7 #include "base/auto_reset.h"
8 #include "base/utf_string_conversions.h" 8 #include "base/utf_string_conversions.h"
9 #include "content/browser/renderer_host/dip_util.h" 9 #include "content/browser/renderer_host/dip_util.h"
10 #include "content/browser/renderer_host/overscroll_controller.h" 10 #include "content/browser/renderer_host/overscroll_controller.h"
(...skipping 710 matching lines...) Expand 10 before | Expand all | Expand 10 after
721 721
722 return ShouldNavigateForward(web_contents_->GetController(), 722 return ShouldNavigateForward(web_contents_->GetController(),
723 current_overscroll_gesture_) ? 723 current_overscroll_gesture_) ?
724 overscroll_window_.get() : GetContentNativeView(); 724 overscroll_window_.get() : GetContentNativeView();
725 } 725 }
726 726
727 gfx::Vector2d WebContentsViewAura::GetTranslationForOverscroll(int delta_x, 727 gfx::Vector2d WebContentsViewAura::GetTranslationForOverscroll(int delta_x,
728 int delta_y) { 728 int delta_y) {
729 if (current_overscroll_gesture_ == OVERSCROLL_NORTH || 729 if (current_overscroll_gesture_ == OVERSCROLL_NORTH ||
730 current_overscroll_gesture_ == OVERSCROLL_SOUTH) { 730 current_overscroll_gesture_ == OVERSCROLL_SOUTH) {
731 // Ignore vertical overscroll. 731 // For vertical overscroll, always do a resisted drag.
732 return gfx::Vector2d(); 732 const float threshold = GetOverscrollConfig(
733 OVERSCROLL_CONFIG_VERT_RESIST_AFTER);
734 int scroll = GetResistedScrollAmount(abs(delta_y),
735 static_cast<int>(threshold));
736 return gfx::Vector2d(0, delta_y < 0 ? -scroll : scroll);
733 } 737 }
734 738
735 // For horizontal overscroll, scroll freely if a navigation is possible. Do a 739 // For horizontal overscroll, scroll freely if a navigation is possible. Do a
736 // resistive scroll otherwise. 740 // resistive scroll otherwise.
737 const NavigationControllerImpl& controller = web_contents_->GetController(); 741 const NavigationControllerImpl& controller = web_contents_->GetController();
738 const gfx::Rect& bounds = GetViewBounds(); 742 const gfx::Rect& bounds = GetViewBounds();
739 if (ShouldNavigateForward(controller, current_overscroll_gesture_)) 743 if (ShouldNavigateForward(controller, current_overscroll_gesture_))
740 return gfx::Vector2d(std::max(-bounds.width(), delta_x), 0); 744 return gfx::Vector2d(std::max(-bounds.width(), delta_x), 0);
741 else if (ShouldNavigateBack(controller, current_overscroll_gesture_)) 745 else if (ShouldNavigateBack(controller, current_overscroll_gesture_))
742 return gfx::Vector2d(std::min(bounds.width(), delta_x), 0); 746 return gfx::Vector2d(std::min(bounds.width(), delta_x), 0);
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
834 RenderWidgetHostViewAura*>(view)); 838 RenderWidgetHostViewAura*>(view));
835 } 839 }
836 840
837 view->Show(); 841 view->Show();
838 842
839 // We listen to drag drop events in the newly created view's window. 843 // We listen to drag drop events in the newly created view's window.
840 aura::client::SetDragDropDelegate(view->GetNativeView(), this); 844 aura::client::SetDragDropDelegate(view->GetNativeView(), this);
841 845
842 RenderWidgetHostImpl* host_impl = 846 RenderWidgetHostImpl* host_impl =
843 RenderWidgetHostImpl::From(render_widget_host); 847 RenderWidgetHostImpl::From(render_widget_host);
844 if (host_impl->overscroll_controller() && 848 if (host_impl->overscroll_controller() && web_contents_->GetDelegate() &&
845 (!web_contents_->GetDelegate() || 849 web_contents_->GetDelegate()->CanOverscrollContent()) {
846 web_contents_->GetDelegate()->CanOverscrollContent())) {
847 host_impl->overscroll_controller()->set_delegate(this); 850 host_impl->overscroll_controller()->set_delegate(this);
848 if (!navigation_overlay_.get()) 851 if (!navigation_overlay_.get())
849 navigation_overlay_.reset(new OverscrollNavigationOverlay()); 852 navigation_overlay_.reset(new OverscrollNavigationOverlay());
850 } 853 }
851 854
852 return view; 855 return view;
853 } 856 }
854 857
855 RenderWidgetHostView* WebContentsViewAura::CreateViewForPopupWidget( 858 RenderWidgetHostView* WebContentsViewAura::CreateViewForPopupWidget(
856 RenderWidgetHost* render_widget_host) { 859 RenderWidgetHost* render_widget_host) {
(...skipping 428 matching lines...) Expand 10 before | Expand all | Expand 10 after
1285 event.location(), 1288 event.location(),
1286 gfx::Screen::GetScreenFor(GetNativeView())->GetCursorScreenPoint(), 1289 gfx::Screen::GetScreenFor(GetNativeView())->GetCursorScreenPoint(),
1287 ConvertAuraEventFlagsToWebInputEventModifiers(event.flags())); 1290 ConvertAuraEventFlagsToWebInputEventModifiers(event.flags()));
1288 if (drag_dest_delegate_) 1291 if (drag_dest_delegate_)
1289 drag_dest_delegate_->OnDrop(); 1292 drag_dest_delegate_->OnDrop();
1290 current_drop_data_.reset(); 1293 current_drop_data_.reset();
1291 return current_drag_op_; 1294 return current_drag_op_;
1292 } 1295 }
1293 1296
1294 } // namespace content 1297 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698