| Index: chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
|
| index 2edbf6eaf404192a0a77899c15165133e9f358f4..8b6bfe967a6313911322882420ed1703d92acebc 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
|
| @@ -10,6 +10,7 @@ import android.content.Context;
|
| import android.graphics.Bitmap;
|
| import android.graphics.Canvas;
|
| import android.graphics.Rect;
|
| +import android.text.TextUtils;
|
| import android.view.ContextMenu;
|
| import android.view.LayoutInflater;
|
| import android.view.Menu;
|
| @@ -55,6 +56,8 @@ import org.chromium.ui.base.PageTransition;
|
|
|
| import java.util.concurrent.TimeUnit;
|
|
|
| +import jp.tomorrowkey.android.gifplayer.BaseGifImage;
|
| +
|
| /**
|
| * Provides functionality when the user interacts with the NTP.
|
| */
|
| @@ -87,6 +90,7 @@ public class NewTabPage
|
| private boolean mSearchProviderHasLogo;
|
| private final boolean mOptOutPromoShown;
|
| private String mOnLogoClickUrl;
|
| + private String mGifUrl;
|
| private FakeboxDelegate mFakeboxDelegate;
|
|
|
| // The timestamp at which the constructor was called.
|
| @@ -353,7 +357,17 @@ public class NewTabPage
|
| public void openLogoLink() {
|
| if (mIsDestroyed) return;
|
| if (mOnLogoClickUrl == null) return;
|
| - mTab.loadUrl(new LoadUrlParams(mOnLogoClickUrl, PageTransition.LINK));
|
| +
|
| + if (TextUtils.isEmpty(mGifUrl) || mNewTabPageView.isGifPlaying()) {
|
| + mTab.loadUrl(new LoadUrlParams(mOnLogoClickUrl, PageTransition.LINK));
|
| + } else {
|
| + mLogoBridge.getGif(new LogoBridge.GifListener() {
|
| + @Override
|
| + public void onGifDownloaded(byte[] bytes) {
|
| + mNewTabPageView.updateLogoGif(new BaseGifImage(bytes));
|
| + }
|
| + }, mGifUrl);
|
| + }
|
| }
|
|
|
| @Override
|
| @@ -364,6 +378,7 @@ public class NewTabPage
|
| public void onLogoAvailable(Logo logo, boolean fromCache) {
|
| if (mIsDestroyed) return;
|
| mOnLogoClickUrl = logo != null ? logo.onClickUrl : null;
|
| + mGifUrl = logo != null ? logo.gifUrl : null;
|
| logoObserver.onLogoAvailable(logo, fromCache);
|
| }
|
| };
|
|
|