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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarControlContainer.java

Issue 2752693003: chrome/android: Update toolbar drawing in native. (Closed)
Patch Set: fix math for tablets Created 3 years, 9 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/toolbar/ToolbarControlContainer.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarControlContainer.java b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarControlContainer.java
index 84a77aad5d304c0f1fb4d3f9512ec6115bdbf16b..d4a1474f1d6942e5e184d32f01dd517735358f1a 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarControlContainer.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarControlContainer.java
@@ -17,6 +17,7 @@ import android.widget.FrameLayout;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.compositor.layouts.eventfilter.EdgeSwipeHandler;
+import org.chromium.chrome.browser.compositor.resources.ResourceFactory;
import org.chromium.chrome.browser.contextualsearch.SwipeRecognizer;
import org.chromium.chrome.browser.util.ViewUtils;
import org.chromium.chrome.browser.widget.ClipDrawableProgressBar.DrawingInfo;
@@ -160,10 +161,12 @@ public class ToolbarControlContainer extends FrameLayout implements ControlConta
private static class ToolbarViewResourceAdapter extends ViewResourceAdapter {
private final int[] mTempPosition = new int[2];
+ private final Rect mLocationBarRect = new Rect();
+ private final Rect mToolbarRect = new Rect();
private final View mToolbarContainer;
private Toolbar mToolbar;
- private int mToolbarActualHeightPx;
+ private int mToolbarHeightPx;
mdjones 2017/03/16 21:01:47 This can be pulled directly from toolbar now.
Khushal 2017/03/17 23:02:58 Done.
private int mTabStripHeightPx;
/** Builds the resource adapter for the toolbar. */
@@ -182,10 +185,11 @@ public class ToolbarControlContainer extends FrameLayout implements ControlConta
if (mToolbar instanceof CustomTabToolbar) {
containerHeightResId = R.dimen.custom_tabs_control_container_height;
}
- mToolbarActualHeightPx = mToolbarContainer.getResources().getDimensionPixelSize(
- containerHeightResId);
+ int toolbarHeightMinusShadow =
+ mToolbarContainer.getResources().getDimensionPixelSize(containerHeightResId);
mTabStripHeightPx = mToolbarContainer.getResources().getDimensionPixelSize(
R.dimen.tab_strip_height);
+ mToolbarHeightPx = toolbarHeightMinusShadow - mTabStripHeightPx;
}
/**
@@ -227,16 +231,17 @@ public class ToolbarControlContainer extends FrameLayout implements ControlConta
}
@Override
- protected void computeContentPadding(Rect outContentPadding) {
- outContentPadding.set(0, mTabStripHeightPx, mToolbarContainer.getWidth(),
- mToolbarActualHeightPx);
- }
-
- @Override
- protected void computeContentAperture(Rect outContentAperture) {
- mToolbar.getLocationBarContentRect(outContentAperture);
+ public long createNativeResource() {
mToolbar.getPositionRelativeToContainer(mToolbarContainer, mTempPosition);
- outContentAperture.offset(mTempPosition[0], mTempPosition[1]);
+ mToolbarRect.set(mTempPosition[0], mTempPosition[1], mToolbarContainer.getWidth(),
+ mTempPosition[1] + mToolbarHeightPx);
+
+ mToolbar.getLocationBarContentRect(mLocationBarRect);
+ mLocationBarRect.offset(mTempPosition[0], mTempPosition[1]);
+
+ int shadowHeight = mToolbarContainer.getHeight() - mToolbarHeightPx - mTabStripHeightPx;
+ return ResourceFactory.createToolbarContainerResource(
+ mToolbarRect, mLocationBarRect, shadowHeight);
}
}

Powered by Google App Engine
This is Rietveld 408576698