Index: chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorBase.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorBase.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorBase.java |
index bef75b3d8814207fcc6c75cf6388b17c6e854c47..76effa53cef32d2299f734b5446b1fe6bb812305 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorBase.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorBase.java |
@@ -8,6 +8,7 @@ import org.chromium.base.ObserverList; |
import org.chromium.chrome.browser.tab.Tab; |
import org.chromium.chrome.browser.tabmodel.TabModel.TabLaunchType; |
import org.chromium.chrome.browser.tabmodel.TabModel.TabSelectionType; |
+import org.chromium.content_public.browser.WebContents; |
import java.util.ArrayList; |
import java.util.Collections; |
@@ -51,6 +52,12 @@ public abstract class TabModelSelectorBase implements TabModelSelector { |
@Override |
public void didSelectTab(Tab tab, TabSelectionType type, int lastId) { |
notifyChanged(); |
+ |
+ Tab oldTab = getTabById(lastId); |
+ if (tab.getId() != lastId) { |
+ WebContents oldWebContents = (oldTab == null) ? null : oldTab.getWebContents(); |
+ nativeOnActiveTabChanged(oldWebContents, tab.getWebContents()); |
+ } |
} |
@Override |
@@ -231,4 +238,6 @@ public abstract class TabModelSelectorBase implements TabModelSelector { |
listener.onNewTabCreated(tab); |
} |
} |
+ |
+ static native void nativeOnActiveTabChanged(WebContents oldContents, WebContents newContents); |
} |