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

Unified Diff: content/browser/android/overscroll_glow.cc

Issue 17413016: Fix overscroll glow when the FIP dialog is active (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 7 years, 6 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 side-by-side diff with in-line comments
Download patch
Index: content/browser/android/overscroll_glow.cc
diff --git a/content/browser/android/overscroll_glow.cc b/content/browser/android/overscroll_glow.cc
index c8a972cceb1c304535caaa57c82bde961e0d0ac7..cf2f6f37d75adcad080a0f6d59cfcfe7090fdb94 100644
--- a/content/browser/android/overscroll_glow.cc
+++ b/content/browser/android/overscroll_glow.cc
@@ -89,7 +89,8 @@ void OverscrollGlow::EnsureResources() {
}
OverscrollGlow::OverscrollGlow(const SkBitmap& edge, const SkBitmap& glow)
- : horizontal_overscroll_enabled_(true),
+ : enabled_(true),
Ted C 2013/06/21 17:44:12 should this default to false?
+ horizontal_overscroll_enabled_(true),
vertical_overscroll_enabled_(true),
root_layer_(cc::Layer::Create()) {
for (size_t i = 0; i < EdgeEffect::EDGE_COUNT; ++i) {
@@ -108,6 +109,9 @@ OverscrollGlow::~OverscrollGlow() {
void OverscrollGlow::OnOverscrolled(base::TimeTicks current_time,
gfx::Vector2dF overscroll,
gfx::Vector2dF velocity) {
+ if (!enabled_)
+ return;
+
// The size of the glow determines the relative effect of the inputs; an
// empty-sized effect is effectively disabled.
if (size_.IsEmpty())
@@ -156,7 +160,7 @@ void OverscrollGlow::OnOverscrolled(base::TimeTicks current_time,
}
bool OverscrollGlow::Animate(base::TimeTicks current_time) {
- if (!IsActive())
+ if (!NeedsAnimate())
return false;
const gfx::SizeF sizes[EdgeEffect::EDGE_COUNT] = {
@@ -171,10 +175,22 @@ bool OverscrollGlow::Animate(base::TimeTicks current_time) {
}
}
- return IsActive();
+ return NeedsAnimate();
}
-bool OverscrollGlow::IsActive() const {
+void OverscrollGlow::SetEnabled(bool enabled) {
+ if (enabled_ == enabled)
+ return;
+ enabled_ = enabled;
+ if (!enabled_) {
+ for (size_t i = 0; i < EdgeEffect::EDGE_COUNT; ++i)
+ edge_effects_[i]->Finish();
+ }
+}
+
+bool OverscrollGlow::NeedsAnimate() const {
+ if (!enabled_)
+ return false;
for (size_t i = 0; i < EdgeEffect::EDGE_COUNT; ++i) {
if (!edge_effects_[i]->IsFinished())
return true;
@@ -182,11 +198,6 @@ bool OverscrollGlow::IsActive() const {
return false;
}
-void OverscrollGlow::Finish() {
- for (size_t i = 0; i < EdgeEffect::EDGE_COUNT; ++i)
- edge_effects_[i]->Finish();
-}
-
void OverscrollGlow::Pull(base::TimeTicks current_time,
gfx::Vector2dF overscroll_delta) {
overscroll_delta = ZeroSmallComponents(overscroll_delta);
« no previous file with comments | « content/browser/android/overscroll_glow.h ('k') | content/browser/renderer_host/render_widget_host_view_android.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698