Chromium Code Reviews| Index: chrome/android/java/src/org/chromium/chrome/browser/tab/Tab.java |
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/Tab.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/Tab.java |
| index 68a4bb306b176bc1746ca4c3aca01a4c5056f6a5..89ab3f2431625bf538bfb2be8f202208ae6a2748 100644 |
| --- a/chrome/android/java/src/org/chromium/chrome/browser/tab/Tab.java |
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/Tab.java |
| @@ -403,20 +403,6 @@ public class Tab implements ViewGroup.OnHierarchyChangeListener, |
| } |
| @Override |
| - public void onContextualActionBarShown() { |
| - for (TabObserver observer : mObservers) { |
| - observer.onContextualActionBarVisibilityChanged(Tab.this, true); |
| - } |
| - } |
| - |
| - @Override |
| - public void onContextualActionBarHidden() { |
| - for (TabObserver observer : mObservers) { |
| - observer.onContextualActionBarVisibilityChanged(Tab.this, false); |
| - } |
| - } |
| - |
| - @Override |
| public void onImeEvent() { |
| // Some text was set in the page. Don't reuse it if a tab is |
| // open from the same external application, we might lose some |
| @@ -431,26 +417,6 @@ public class Tab implements ViewGroup.OnHierarchyChangeListener, |
| } |
| @Override |
| - public boolean doesPerformWebSearch() { |
| - return true; |
| - } |
| - |
| - @Override |
| - public void performWebSearch(String searchQuery) { |
| - if (TextUtils.isEmpty(searchQuery)) return; |
| - if (getTabModelSelector() == null) return; |
| - String url = TemplateUrlService.getInstance().getUrlForSearchQuery(searchQuery); |
| - String headers = GeolocationHeader.getGeoHeader(getApplicationContext(), url, |
| - isIncognito()); |
| - |
| - LoadUrlParams loadUrlParams = new LoadUrlParams(url); |
| - loadUrlParams.setVerbatimHeaders(headers); |
| - loadUrlParams.setTransitionType(PageTransition.GENERATED); |
| - getTabModelSelector().openNewTab(loadUrlParams, |
| - TabLaunchType.FROM_LONGPRESS_FOREGROUND, Tab.this, isIncognito()); |
| - } |
| - |
| - @Override |
| public int getSystemWindowInsetLeft() { |
| ChromeActivity activity = getActivity(); |
| if (activity != null && activity.getInsetObserverView() != null) { |
| @@ -598,6 +564,7 @@ public class Tab implements ViewGroup.OnHierarchyChangeListener, |
| mThemedApplicationContext = context != null ? new ContextThemeWrapper( |
| context.getApplicationContext(), ChromeActivity.getThemeId()) : null; |
| mWindowAndroid = window; |
| + initWindowAndroidActionDelegate(); |
| mLaunchType = type; |
| if (mThemedApplicationContext != null) { |
| Resources resources = mThemedApplicationContext.getResources(); |
| @@ -1604,9 +1571,55 @@ public class Tab implements ViewGroup.OnHierarchyChangeListener, |
| */ |
| public void updateWindowAndroid(WindowAndroid windowAndroid) { |
| mWindowAndroid = windowAndroid; |
| + initWindowAndroidActionDelegate(); |
| if (mContentViewCore != null) mContentViewCore.updateWindowAndroid(mWindowAndroid); |
| } |
| + private void initWindowAndroidActionDelegate() { |
| + if (mWindowAndroid == null) return; |
| + mWindowAndroid.setActionDelegate(new WindowAndroid.ActionDelegate() { |
|
boliu
2016/09/30 22:34:16
ditto, you are overriding the old delegate with th
|
| + @Override |
| + public void onContextualActionBarShown() { |
| + for (TabObserver observer : mObservers) { |
| + observer.onContextualActionBarVisibilityChanged(Tab.this, true); |
| + } |
| + } |
| + |
| + @Override |
| + public void onContextualActionBarHidden() { |
| + for (TabObserver observer : mObservers) { |
| + observer.onContextualActionBarVisibilityChanged(Tab.this, false); |
| + } |
| + } |
| + |
| + @Override |
| + public void onStartContentIntent(Context context, String intentUrl, |
| + boolean isMainFrame) { |
| + WindowAndroid.startActivityForIntentUrl(context, intentUrl); |
| + } |
| + |
| + @Override |
| + public boolean isWebSearchSupported() { |
| + return true; |
| + } |
| + |
| + @Override |
| + public void performWebSearch(String searchQuery) { |
| + if (TextUtils.isEmpty(searchQuery)) return; |
| + if (getTabModelSelector() == null) return; |
| + String url = TemplateUrlService.getInstance().getUrlForSearchQuery(searchQuery); |
| + String headers = GeolocationHeader.getGeoHeader(getApplicationContext(), url, |
| + isIncognito()); |
| + |
| + LoadUrlParams loadUrlParams = new LoadUrlParams(url); |
| + loadUrlParams.setVerbatimHeaders(headers); |
| + loadUrlParams.setTransitionType(PageTransition.GENERATED); |
| + getTabModelSelector().openNewTab(loadUrlParams, |
| + TabLaunchType.FROM_LONGPRESS_FOREGROUND, Tab.this, isIncognito()); |
| + } |
| + }); |
| + } |
| + |
| /** |
| * @return Whether the tab is detached from its Activity and {@link WindowAndroid} for |
| * reparenting. Certain functionalities will not work until it is attached to a new activity |