| Index: chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/ToolbarSceneLayer.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/ToolbarSceneLayer.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/ToolbarSceneLayer.java
|
| index 148c8b68598da141ba9196b36af5e0febbede90c..4c1e4665618ce554c8fdc4dcba93d5ff90d5143b 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/ToolbarSceneLayer.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/ToolbarSceneLayer.java
|
| @@ -17,6 +17,8 @@ import org.chromium.chrome.browser.compositor.layouts.eventfilter.EventFilter;
|
| import org.chromium.chrome.browser.compositor.overlays.SceneOverlay;
|
| import org.chromium.chrome.browser.device.DeviceClassManager;
|
| import org.chromium.chrome.browser.fullscreen.ChromeFullscreenManager;
|
| +import org.chromium.chrome.browser.tab.Tab;
|
| +import org.chromium.chrome.browser.tabmodel.TabModelSelector;
|
| import org.chromium.chrome.browser.widget.ClipDrawableProgressBar.DrawingInfo;
|
| import org.chromium.chrome.browser.widget.ControlContainer;
|
| import org.chromium.ui.base.DeviceFormFactor;
|
| @@ -45,6 +47,9 @@ public class ToolbarSceneLayer extends SceneOverlayLayer implements SceneOverlay
|
| /** A LayoutRenderHost for accessing drawing information about the toolbar. */
|
| private LayoutRenderHost mRenderHost;
|
|
|
| + /** Used to get information about the current selected tab. */
|
| + private TabModelSelector mTabModelSelector;
|
| +
|
| /**
|
| * @param context An Android context to use.
|
| * @param provider A LayoutProvider for accessing the current layout.
|
| @@ -58,6 +63,13 @@ public class ToolbarSceneLayer extends SceneOverlayLayer implements SceneOverlay
|
| }
|
|
|
| /**
|
| + * @param tabModelSelector A TabModelSelector so this class can know about the current tab.
|
| + */
|
| + public void setTabModelSelector(TabModelSelector tabModelSelector) {
|
| + mTabModelSelector = tabModelSelector;
|
| + }
|
| +
|
| + /**
|
| * Update the toolbar and progress bar layers.
|
| *
|
| * @param topControlsBackgroundColor The background color of the top controls.
|
| @@ -94,9 +106,17 @@ public class ToolbarSceneLayer extends SceneOverlayLayer implements SceneOverlay
|
| useTexture = false;
|
| }
|
|
|
| + Tab currentTab = null;
|
| + if (mTabModelSelector != null) currentTab = mTabModelSelector.getCurrentTab();
|
| +
|
| + boolean needsToolbarShadow = true;
|
| + if (currentTab != null && currentTab.getNativePage() != null) {
|
| + needsToolbarShadow &= currentTab.getNativePage().needsToolbarShadow();
|
| + }
|
| +
|
| nativeUpdateToolbarLayer(mNativePtr, resourceManager, R.id.control_container,
|
| - topControlsBackgroundColor, R.drawable.textbox, topControlsUrlBarAlpha, offset,
|
| - useTexture, forceHideAndroidTopControls);
|
| + R.drawable.toolbar_shadow, topControlsBackgroundColor, R.drawable.textbox,
|
| + topControlsUrlBarAlpha, offset, useTexture, needsToolbarShadow);
|
|
|
| if (mProgressBarDrawingInfo == null) return;
|
| nativeUpdateProgressBar(mNativePtr,
|
| @@ -234,6 +254,7 @@ public class ToolbarSceneLayer extends SceneOverlayLayer implements SceneOverlay
|
| long nativeToolbarSceneLayer,
|
| ResourceManager resourceManager,
|
| int resourceId,
|
| + int shadowResourceId,
|
| int toolbarBackgroundColor,
|
| int urlBarResourceId,
|
| float urlBarAlpha,
|
|
|