| Index: chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarPhone.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarPhone.java b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarPhone.java
|
| index a67ab2612805febda6e7962d0695a011bf615dda..4e47411d14e12fad5dae7730e8133f32d9d312de 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarPhone.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarPhone.java
|
| @@ -452,10 +452,23 @@ public class ToolbarPhone extends ToolbarLayout
|
| && mNtpSearchBoxScrollPercent != UNINITIALIZED_PERCENT) {
|
| return true;
|
| }
|
| +
|
| return super.onInterceptTouchEvent(ev);
|
| }
|
|
|
| @Override
|
| + public boolean onTouchEvent(MotionEvent ev) {
|
| + // Forward touch events to the NTP if the toolbar is moved away.
|
| + if (mNtpSearchBoxTranslation.y < 0) {
|
| + NewTabPage newTabPage = getToolbarDataProvider().getNewTabPageForCurrentTab();
|
| +
|
| + // No null check -- the toolbar should not be moved if we are not on an NTP.
|
| + return newTabPage.getView().dispatchTouchEvent(ev);
|
| + }
|
| + return super.onTouchEvent(ev);
|
| + }
|
| +
|
| + @Override
|
| public void onClick(View v) {
|
| if (mToggleTabStackButton == v) {
|
| // The button is clickable before the native library is loaded
|
| @@ -876,6 +889,7 @@ public class ToolbarPhone extends ToolbarLayout
|
| */
|
| private void resetNtpAnimationValues() {
|
| mLocationBarBackgroundNtpOffset.setEmpty();
|
| + mNtpSearchBoxTranslation.set(0, 0);
|
| mLocationBar.setTranslationY(0);
|
| if (!mUrlFocusChangeInProgress) {
|
| mToolbarButtonsContainer.setTranslationY(0);
|
| @@ -2076,6 +2090,8 @@ public class ToolbarPhone extends ToolbarLayout
|
| if (!visualStateChanged) {
|
| if (mVisualState == VisualState.NEW_TAB_NORMAL) {
|
| updateNtpTransitionAnimation();
|
| + } else {
|
| + resetNtpAnimationValues();
|
| }
|
| return;
|
| }
|
|
|