Index: chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java |
index 4964cd706a6617ace637c5c6e78eb0c548e77186..49d94a65db23ae1f957b81169c0e7a1cd290ba69 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java |
@@ -112,7 +112,7 @@ |
private Tab mTabVisible; |
/** The currently attached View. */ |
- private TabContentViewParent mView; |
+ private View mView; |
private TabObserver mTabObserver; |
private boolean mEnableCompositorTabStrip; |
@@ -803,14 +803,19 @@ |
} |
} |
- CoordinatorLayout.LayoutParams layoutParams; |
- if (mView.getLayoutParams() != null) { |
- layoutParams = (CoordinatorLayout.LayoutParams) mView.getLayoutParams(); |
- } else { |
- layoutParams = new CoordinatorLayout.LayoutParams( |
- LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); |
+ CoordinatorLayout.LayoutParams layoutParams = new CoordinatorLayout.LayoutParams( |
+ LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); |
+ if (mView.getLayoutParams() instanceof MarginLayoutParams) { |
+ MarginLayoutParams existingLayoutParams = |
+ (MarginLayoutParams) mView.getLayoutParams(); |
+ layoutParams.leftMargin = existingLayoutParams.leftMargin; |
+ layoutParams.rightMargin = existingLayoutParams.rightMargin; |
+ layoutParams.topMargin = existingLayoutParams.topMargin; |
+ layoutParams.bottomMargin = existingLayoutParams.bottomMargin; |
} |
- layoutParams.setBehavior(mView.getBehavior()); |
+ if (mView instanceof TabContentViewParent) { |
+ layoutParams.setBehavior(((TabContentViewParent) mView).getBehavior()); |
+ } |
// CompositorView has index of 0; TabContentViewParent has index of 1; Snackbar (if |
// any) has index of 2. Setting index here explicitly to avoid TabContentViewParent |
// hiding the snackbar. |
@@ -858,7 +863,7 @@ |
private void setTab(Tab tab) { |
if (tab != null) tab.loadIfNeeded(); |
- TabContentViewParent newView = tab != null ? tab.getView() : null; |
+ View newView = tab != null ? tab.getView() : null; |
if (mView == newView) return; |
// TODO(dtrainor): Look into changing this only if the views differ, but still parse the |