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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/widget/findinpage/FindToolbar.java

Issue 1871433002: Alternative fix for FindToolbar crash when reparenting. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix compile and rebase Created 4 years, 8 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: chrome/android/java/src/org/chromium/chrome/browser/widget/findinpage/FindToolbar.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/widget/findinpage/FindToolbar.java b/chrome/android/java/src/org/chromium/chrome/browser/widget/findinpage/FindToolbar.java
index 932f5986519dcafb64f2fad408632736021147e4..ccc4919c01a82248e3912ba1747e7e4f7d8ba15d 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/widget/findinpage/FindToolbar.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/widget/findinpage/FindToolbar.java
@@ -4,6 +4,7 @@
package org.chromium.chrome.browser.widget.findinpage;
+import android.animation.Animator;
import android.annotation.SuppressLint;
import android.content.ClipData;
import android.content.ClipboardManager;
@@ -45,6 +46,7 @@ import org.chromium.chrome.browser.tabmodel.TabModelSelectorObserver;
import org.chromium.chrome.browser.widget.TintedImageButton;
import org.chromium.chrome.browser.widget.VerticallyFixedEditText;
import org.chromium.ui.UiUtils;
+import org.chromium.ui.base.WindowAndroid;
/** A toolbar providing find in page functionality. */
public class FindToolbar extends LinearLayout
@@ -61,11 +63,12 @@ public class FindToolbar extends LinearLayout
private FindResultBar mResultBar = null;
- protected TabModelSelector mTabModelSelector;
+ private TabModelSelector mTabModelSelector;
private final TabModelSelectorObserver mTabModelSelectorObserver;
private final TabModelObserver mTabModelObserver;
private Tab mCurrentTab;
private final TabObserver mTabObserver;
+ private WindowAndroid mWindowAndroid;
private FindInPageBridge mFindInPageBridge;
private FindToolbarObserver mObserver;
@@ -489,6 +492,13 @@ public class FindToolbar extends LinearLayout
}
/**
+ * Sets the WindowAndroid in which the find toolbar will be shown. Needed for animations.
+ */
+ public void setWindowAndroid(WindowAndroid windowAndroid) {
+ mWindowAndroid = windowAndroid;
+ }
+
+ /**
* Handles updating any visual elements of the find toolbar based on changes to the tab model.
* @param isIncognito Whether the current tab model is incognito or not.
*/
@@ -588,6 +598,7 @@ public class FindToolbar extends LinearLayout
mFindInPageBridge.destroy();
mFindInPageBridge = null;
+ mCurrentTab = null;
mActive = false;
}
@@ -605,6 +616,13 @@ public class FindToolbar extends LinearLayout
setResultsBarVisibility(false);
}
+ /**
+ * @see WindowAndroid#startAnimationOverContent(Animator)
+ */
+ protected void startAnimationOverContent(Animator animation) {
+ mWindowAndroid.startAnimationOverContent(animation);
+ }
+
@VisibleForTesting
public FindResultBar getFindResultBar() {
return mResultBar;

Powered by Google App Engine
This is Rietveld 408576698