| 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 c1bd42325fb32eeb98d29f37e02f7bc07e306c8f..724d16acd3ac0420c8fea7eadb7c31a46776b88a 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
|
| @@ -220,6 +220,8 @@ public class FindToolbar extends LinearLayout
|
| mFindQuery.addTextChangedListener(new TextWatcher() {
|
| @Override
|
| public void onTextChanged(CharSequence s, int start, int before, int count) {
|
| + if (mFindInPageBridge == null) return;
|
| +
|
| mAccessibilityDidActivateResult = false;
|
| setPrevNextEnabled(s.length() > 0);
|
|
|
| @@ -260,6 +262,8 @@ public class FindToolbar extends LinearLayout
|
| public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
|
| if (event != null && event.getAction() == KeyEvent.ACTION_UP) return false;
|
|
|
| + if (mFindInPageBridge == null) return false;
|
| +
|
| // Only trigger a new find if the text was set programmatically.
|
| // Otherwise just revisit the current active match.
|
| if (mSearchKeyShouldTriggerSearch) {
|
| @@ -308,6 +312,8 @@ public class FindToolbar extends LinearLayout
|
| }
|
|
|
| private void hideKeyboardAndStartFinding(boolean forward) {
|
| + if (mFindInPageBridge == null) return;
|
| +
|
| final String findQuery = mFindQuery.getText().toString();
|
| if (findQuery.length() == 0) return;
|
|
|
| @@ -370,6 +376,8 @@ public class FindToolbar extends LinearLayout
|
| public void onFindResult(FindNotificationDetails result) {
|
| if (mResultBar != null) mResultBar.mWaitingForActivateAck = false;
|
|
|
| + assert mFindInPageBridge != null;
|
| +
|
| if ((result.activeMatchOrdinal == -1 || result.numberOfMatches == 1)
|
| && !result.finalUpdate) {
|
| // Wait until activeMatchOrdinal has been determined (is no longer
|
| @@ -571,6 +579,7 @@ public class FindToolbar extends LinearLayout
|
| }
|
|
|
| mFindInPageBridge.destroy();
|
| + mFindInPageBridge = null;
|
| mActive = false;
|
| }
|
|
|
| @@ -605,6 +614,8 @@ public class FindToolbar extends LinearLayout
|
| * Restores the last text searched in this tab, or the global last search.
|
| */
|
| private void initializeFindText() {
|
| + assert mFindInPageBridge != null;
|
| +
|
| mSettingFindTextProgrammatically = true;
|
| String findText = null;
|
| if (mSettingFindTextProgrammatically) {
|
| @@ -631,6 +642,8 @@ public class FindToolbar extends LinearLayout
|
| private void setResultsBarVisibility(boolean visibility) {
|
| if (visibility && mResultBar == null && mCurrentTab != null
|
| && mCurrentTab.getContentViewCore() != null) {
|
| + assert mFindInPageBridge != null;
|
| +
|
| mResultBar = new FindResultBar(getContext(), mCurrentTab, mFindInPageBridge);
|
| } else if (!visibility) {
|
| if (mResultBar != null) {
|
|
|