| Index: chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchPolicy.java | 
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchPolicy.java b/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchPolicy.java | 
| index c767ef34f3da6094670dce091260568e00f97027..3848c9dcfe3a3e05f61bd3e3b37916590d59058e 100644 | 
| --- a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchPolicy.java | 
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchPolicy.java | 
| @@ -259,6 +259,7 @@ class ContextualSearchPolicy { | 
| // Always completely reset the tap counter, since it just counts taps | 
| // since the last open. | 
| mPreferenceManager.setContextualSearchTapCount(0); | 
| +        mPreferenceManager.setContextualSearchTapQuickAnswerCount(0); | 
|  | 
| // Disable the "promo tap" counter, but only if we're using the Opt-out onboarding. | 
| // For Opt-in, we never disable the promo tap counter. | 
| @@ -273,6 +274,20 @@ class ContextualSearchPolicy { | 
| } | 
|  | 
| /** | 
| +     * Updates Tap counters to account for a quick-answer caption shown on the panel. | 
| +     * @param wasActivatedByTap Whether the triggering gesture was a Tap or not. | 
| +     * @param doesAnswer Whether the caption is considered an answer rather than just | 
| +     *                          informative. | 
| +     */ | 
| +    void updateCountersForQuickAnswer(boolean wasActivatedByTap, boolean doesAnswer) { | 
| +        if (wasActivatedByTap && doesAnswer) { | 
| +            int tapsWithAnswerSinceOpen = | 
| +                    mPreferenceManager.getContextualSearchTapQuickAnswerCount(); | 
| +            mPreferenceManager.setContextualSearchTapQuickAnswerCount(++tapsWithAnswerSinceOpen); | 
| +        } | 
| +    } | 
| + | 
| +    /** | 
| * @return Whether a verbatim request should be made for the given base page, assuming there | 
| *         is no exiting request. | 
| */ | 
| @@ -527,7 +542,9 @@ class ContextualSearchPolicy { | 
| * @return Whether the tap resolve/prefetch limit has been exceeded. | 
| */ | 
| private boolean isTapBeyondTheLimit() { | 
| -        return getTapCount() > getTapLimit(); | 
| +        // Discount taps that caused a Quick Answer since the tap may not have been totally ignored. | 
| +        return getTapCount() - mPreferenceManager.getContextualSearchTapQuickAnswerCount() | 
| +                > getTapLimit(); | 
| } | 
|  | 
| /** | 
|  |