Remove embedded titlebar rendering

Bug: 5032345

During the zoom, the embedded titlebar doesn't get rendered
in the correct spot. Browser renders the titlebar differently
now, so the old code can be removed

Change-Id: I6affc9e6119dc17e89d15dad77e14e1cdf139662
This commit is contained in:
Michael Kolb
2012-04-02 16:16:16 -07:00
parent 0424716328
commit 8116da5ff6
3 changed files with 4 additions and 76 deletions

View File

@@ -1912,13 +1912,6 @@ public class WebView extends AbsoluteLayout
mProvider.getViewDelegate().onWindowVisibilityChanged(visibility);
}
@Override
protected boolean drawChild(Canvas canvas, View child, long drawingTime) {
// Not using short-circuit OR: provider does suppress base-class call.
return mProvider.getViewDelegate().drawChild(canvas, child, drawingTime) |
super.drawChild(canvas, child, drawingTime);
}
@Override
protected void onDraw(Canvas canvas) {
mProvider.getViewDelegate().onDraw(canvas);

View File

@@ -2014,7 +2014,7 @@ public final class WebViewClassic implements WebViewProvider, WebViewProvider.Sc
if (mWebView instanceof TitleBarDelegate) {
return ((TitleBarDelegate) mWebView).getTitleHeight();
}
return mTitleBar != null ? mTitleBar.getHeight() : 0;
return 0;
}
/**
@@ -2945,50 +2945,6 @@ public final class WebViewClassic implements WebViewProvider, WebViewProvider.Sc
computeRealVerticalScrollRange() + getTitleHeight());
}
/**
* A title bar which is embedded in this WebView, and scrolls along with it
* vertically, but not horizontally.
*/
private View mTitleBar;
/**
* the title bar rendering gravity
*/
private int mTitleGravity;
/**
* Add or remove a title bar to be embedded into the WebView, and scroll
* along with it vertically, while remaining in view horizontally. Pass
* null to remove the title bar from the WebView, and return to drawing
* the WebView normally without translating to account for the title bar.
*/
public void setEmbeddedTitleBar(View v) {
if (mWebView instanceof TitleBarDelegate) {
((TitleBarDelegate) mWebView).onSetEmbeddedTitleBar(v);
}
if (mTitleBar == v) return;
if (mTitleBar != null) {
mWebView.removeView(mTitleBar);
}
if (null != v) {
mWebView.addView(v, new AbsoluteLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT, 0, 0));
}
mTitleBar = v;
}
/**
* Set where to render the embedded title bar
* NO_GRAVITY at the top of the page
* TOP at the top of the screen
*/
public void setTitleBarGravity(int gravity) {
mTitleGravity = gravity;
// force refresh
invalidate();
}
/**
* Given a distance in view space, convert it to content space. Note: this
* does not reflect translation, just scaling, so this should not be called
@@ -4187,7 +4143,7 @@ public final class WebViewClassic implements WebViewProvider, WebViewProvider.Sc
// animate the title bar off screen slowly enough that the user can see
// it.
if (cx == 0 && cy == 1 && getScrollX() == 0 && getScrollY() == 0
&& mTitleBar != null) {
&& getTitleHeight() > 0) {
// FIXME: 100 should be defined somewhere as our max progress.
if (getProgress() < 100) {
// Wait to scroll the title bar off screen until the page has
@@ -4404,24 +4360,6 @@ public final class WebViewClassic implements WebViewProvider, WebViewProvider.Sc
}
}
@Override
public boolean drawChild(Canvas canvas, View child, long drawingTime) {
if (child == mTitleBar) {
// When drawing the title bar, move it horizontally to always show
// at the top of the WebView.
mTitleBar.offsetLeftAndRight(getScrollX() - mTitleBar.getLeft());
int newTop = 0;
if (mTitleGravity == Gravity.NO_GRAVITY) {
newTop = Math.min(0, getScrollY());
} else if (mTitleGravity == Gravity.TOP) {
newTop = getScrollY();
}
mTitleBar.setBottom(newTop + mTitleBar.getHeight());
mTitleBar.setTop(newTop);
}
return false; // We never call invalidate(), so unconditionally returning false.
}
private void drawContent(Canvas canvas) {
if (mDrawHistory) {
canvas.scale(mZoomManager.getScale(), mZoomManager.getScale());
@@ -4586,9 +4524,8 @@ public final class WebViewClassic implements WebViewProvider, WebViewProvider.Sc
.getUseWebViewBackgroundForOverscrollBackground()) {
drawOverScrollBackground(canvas);
}
if (mTitleBar != null) {
canvas.translate(0, getTitleHeight());
}
canvas.translate(0, getTitleHeight());
drawContent(canvas);
canvas.restoreToCount(saveCount);

View File

@@ -287,8 +287,6 @@ public interface WebViewProvider {
public void onWindowVisibilityChanged(int visibility);
public boolean drawChild(Canvas canvas, View child, long drawingTime);
public void onDraw(Canvas canvas);
public void setLayoutParams(LayoutParams layoutParams);