| Index: chrome/android/java/src/org/chromium/chrome/browser/TabBase.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/TabBase.java b/chrome/android/java/src/org/chromium/chrome/browser/TabBase.java
|
| index fa6a4742fac2c83a8e8da1be4b28faa9007c63bc..f89aa8248c4eb25d8f998367a93fb31c15e343b9 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/TabBase.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/TabBase.java
|
| @@ -15,6 +15,7 @@ import org.chromium.chrome.browser.infobar.AutoLoginProcessor;
|
| import org.chromium.chrome.browser.infobar.InfoBarContainer;
|
| import org.chromium.chrome.browser.profiles.Profile;
|
| import org.chromium.chrome.browser.ui.toolbar.ToolbarModelSecurityLevel;
|
| +import org.chromium.content.browser.CompositorProvider;
|
| import org.chromium.content.browser.ContentView;
|
| import org.chromium.content.browser.ContentViewClient;
|
| import org.chromium.content.browser.ContentViewCore;
|
| @@ -84,6 +85,11 @@ public abstract class TabBase implements NavigationClient {
|
| private ContentViewCore mContentViewCore;
|
|
|
| /**
|
| + * TabBase does not own CompositorProvider.
|
| + */
|
| + private CompositorProvider mCompositorProvider;
|
| +
|
| + /**
|
| * A list of TabBase observers. These are used to broadcast TabBase events to listeners.
|
| */
|
| private final ObserverList<TabObserver> mObservers = new ObserverList<TabObserver>();
|
| @@ -165,8 +171,9 @@ public abstract class TabBase implements NavigationClient {
|
| * @param context An instance of a {@link Context}.
|
| * @param window An instance of a {@link WindowAndroid}.
|
| */
|
| - public TabBase(boolean incognito, Context context, WindowAndroid window) {
|
| - this(INVALID_TAB_ID, incognito, context, window);
|
| + public TabBase(boolean incognito, Context context, WindowAndroid window,
|
| + CompositorProvider compositorProvider) {
|
| + this(INVALID_TAB_ID, incognito, context, window, compositorProvider);
|
| }
|
|
|
| /**
|
| @@ -176,7 +183,8 @@ public abstract class TabBase implements NavigationClient {
|
| * @param context An instance of a {@link Context}.
|
| * @param window An instance of a {@link WindowAndroid}.
|
| */
|
| - public TabBase(int id, boolean incognito, Context context, WindowAndroid window) {
|
| + public TabBase(int id, boolean incognito, Context context, WindowAndroid window,
|
| + CompositorProvider compositorProvider) {
|
| // We need a valid Activity Context to build the ContentView with.
|
| assert context == null || context instanceof Activity;
|
|
|
| @@ -186,6 +194,7 @@ public abstract class TabBase implements NavigationClient {
|
| mContext = context;
|
| mApplicationContext = context != null ? context.getApplicationContext() : null;
|
| mWindowAndroid = window;
|
| + mCompositorProvider = compositorProvider;
|
| }
|
|
|
| /**
|
| @@ -543,7 +552,8 @@ public abstract class TabBase implements NavigationClient {
|
| protected void initContentView(int nativeWebContents) {
|
| destroyNativePageInternal();
|
|
|
| - mContentView = ContentView.newInstance(mContext, nativeWebContents, getWindowAndroid());
|
| + mContentView = ContentView.newInstance(mContext, nativeWebContents, getWindowAndroid(),
|
| + mCompositorProvider);
|
|
|
| mContentViewCore = mContentView.getContentViewCore();
|
| mWebContentsDelegate = createWebContentsDelegate();
|
|
|