Skip to content

Commit 31f263d

Browse files
committed
Update zoom (aka display) density from WebView thread.
Fixes bug 5639675. Change-Id: I982ca0787f5c050c5d1a288cd8751299ee351214
1 parent 85c7394 commit 31f263d

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

core/java/android/webkit/WebView.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -738,6 +738,7 @@ public void onTrimMemory(int level) {
738738
static final int SCREEN_ON = 136;
739739
static final int ENTER_FULLSCREEN_VIDEO = 137;
740740
static final int UPDATE_SELECTION = 138;
741+
static final int UPDATE_ZOOM_DENSITY = 139;
741742

742743
private static final int FIRST_PACKAGE_MSG_ID = SCROLL_TO_MSG_ID;
743744
private static final int LAST_PACKAGE_MSG_ID = SET_TOUCH_HIGHLIGHT_RECTS;
@@ -793,7 +794,9 @@ public void onTrimMemory(int level) {
793794
"AUTOFILL_COMPLETE", // = 134;
794795
"SELECT_AT", // = 135;
795796
"SCREEN_ON", // = 136;
796-
"ENTER_FULLSCREEN_VIDEO" // = 137;
797+
"ENTER_FULLSCREEN_VIDEO", // = 137;
798+
"UPDATE_SELECTION", // = 138;
799+
"UPDATE_ZOOM_DENSITY" // = 139;
797800
};
798801

799802
// If the site doesn't use the viewport meta tag to specify the viewport,
@@ -8431,6 +8434,11 @@ public void handleMessage(Message msg) {
84318434
mZoomManager.updateZoomRange(viewState, getViewWidth(), viewState.mScrollX);
84328435
break;
84338436
}
8437+
case UPDATE_ZOOM_DENSITY: {
8438+
final float density = (Float) msg.obj;
8439+
mZoomManager.updateDefaultZoomDensity(density);
8440+
break;
8441+
}
84348442
case REPLACE_BASE_CONTENT: {
84358443
nativeReplaceBaseContent(msg.arg1);
84368444
break;

core/java/android/webkit/WebViewCore.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2337,7 +2337,8 @@ private void setupViewport(boolean updateViewState) {
23372337
/ mViewportDensityDpi;
23382338
}
23392339
if (adjust != mWebView.getDefaultZoomScale()) {
2340-
mWebView.updateDefaultZoomDensity(adjust);
2340+
Message.obtain(mWebView.mPrivateHandler,
2341+
WebView.UPDATE_ZOOM_DENSITY, adjust).sendToTarget();
23412342
}
23422343
int defaultScale = (int) (adjust * 100);
23432344

0 commit comments

Comments
 (0)