Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(669)

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/tab/Tab.java

Issue 2380743003: Refactor ContentViewClient (2/6) (Closed)
Patch Set: tests Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698