Index: chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerDocument.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerDocument.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerDocument.java |
index 6794f2b1f86eb1063cbf2ea8889bab265971f2bb..99fbef5e33ffc8318bb2e38855f8333a622fd458 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerDocument.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerDocument.java |
@@ -133,6 +133,8 @@ public class LayoutManagerDocument extends LayoutManager |
// Initialize Layouts |
mStaticLayout.setTabModelSelector(selector, content); |
+ mToolbarOverlay.setTabModelSelector(selector); |
+ |
// Initialize Contextual Search Panel |
mContextualSearchPanel.setManagementDelegate(contextualSearchDelegate); |
@@ -260,10 +262,13 @@ public class LayoutManagerDocument extends LayoutManager |
String url = tab.getUrl(); |
boolean isNativePage = url != null && url.startsWith(UrlConstants.CHROME_NATIVE_SCHEME); |
int themeColor = tab.getThemeColor(); |
+ boolean needsToolbarShadow = tab.getNativePage() == null |
+ ? true : tab.getNativePage().needsToolbarShadow(); |
boolean canUseLiveTexture = |
tab.getContentViewCore() != null && !tab.isShowingSadTab() && !isNativePage; |
- boolean needsUpdate = layoutTab.initFromHost(tab.getBackgroundColor(), tab.shouldStall(), |
- canUseLiveTexture, themeColor, ColorUtils.getTextBoxColorForToolbarBackground( |
+ boolean needsUpdate = layoutTab.initFromHost(needsToolbarShadow, tab.getBackgroundColor(), |
+ tab.shouldStall(), canUseLiveTexture, themeColor, |
+ ColorUtils.getTextBoxColorForToolbarBackground( |
mContext.getResources(), tab, themeColor), |
ColorUtils.getTextBoxAlphaForToolbarBackground(tab)); |
if (needsUpdate) requestUpdate(); |
@@ -276,7 +281,10 @@ public class LayoutManagerDocument extends LayoutManager |
boolean isTitleNeeded, float maxContentWidth, float maxContentHeight) { |
LayoutTab tab = mTabCache.get(id); |
if (tab == null) { |
- tab = new LayoutTab(id, incognito, mLastContentWidthDp, mLastContentHeightDp, |
+ boolean isNative = false; |
+ Tab realTab = getTabModelSelector().getTabById(id); |
+ if (realTab != null) isNative = realTab.isNativePage(); |
+ tab = new LayoutTab(id, incognito, isNative, mLastContentWidthDp, mLastContentHeightDp, |
showCloseButton, isTitleNeeded); |
mTabCache.put(id, tab); |
} else { |