0

Most web site pages works fine on Android 4.4 (and newer) Chromium based webview. But recently I found a website page behaves different between 4.4 (or newer) and earlier Android system.

The webview on earlier Android system works as expected but on KitKat not. I believe there must be some tricks inside the page. But after weeks I am still stuck on this issue.. :(

Would you please help? Thank you very much.

Here are the codes:

WebView WV_test = (WebView) findViewById(R.id.WV_query);
WV_test.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
WV_test.getSettings().setDomStorageEnabled(true);
WV_test.getSettings().setJavaScriptEnabled(true);
WV_test.setWebViewClient(new WebViewClient() {
 @Override
 public void onPageStarted(WebView view, String url, Bitmap favicon) {
  Log.v("attlog", "onPageStarted: url="+url);
  super.onPageStarted(view, url, favicon);
 }

 @Override
 public void onPageFinished(WebView view, String url) {
  Log.v("attlog", "onPageFinished: url="+url);
  super.onPageFinished(view, url);
 }
 @Override
 public void onLoadResource(WebView view, String url) {
  Log.v("attlog", "onLoadResource() url="+url);
  super.onLoadResource(view, url);
 }
});

String url="http://railway.hinet.net/ccancel_rt.jsp";
Log.v("attlog", "url="+url );
WV_test.loadUrl( url );

The result on earlier webkit (i.e. 4.1) works as expected:

url=http://railway.hinet.net/ccancel_rt.jsp
onPageStarted: url=http://railway.hinet.net/ccancel_rt.jsp
onLoadResource() url=http://railway.hinet.net/ccancel_rt.jsp
onLoadResource() url=http://railway.hinet.net/4QbVtADbnLVIc/c.FxJzG50F.js?D9PVtGL=a5c631
onPageFinished: url=http://railway.hinet.net/ccancel_rt.jsp
onPageStarted: url=http://railway.hinet.net/ccancel_rt.jsp?y7bRbP=VGpKrPbgT_Gvfun_k1ojGcgiy4_vWPRY
onLoadResource() url=http://railway.hinet.net/ccancel_rt.jsp?y7bRbP=VGpKrPbgT_Gvfun_k1ojGcgiy4_vWPRY
onPageFinished: url=http://railway.hinet.net/ccancel_rt.jsp?y7bRbP=VGpKrPbgT_Gvfun_k1ojGcgiy4_vWPRY
onPageStarted: url=http://railway.hinet.net/ccancel_rt.jsp?y7bRbP=VGpKrPbgTTsO9yRbWE8r.3PN0Bo5YqTE
onLoadResource() url=http://railway.hinet.net/ccancel_rt.jsp?y7bRbP=VGpKrPbgTTsO9yRbWE8r.3PN0Bo5YqTE
onLoadResource() url=http://railway.hinet.net/CssStyle/master.css
onLoadResource() url=http://railway.hinet.net/4QbVtADbnLVIc/d.FxJzG50F.js?D9PVtGL=a5c631
onLoadResource() url=http://railway.hinet.net/Images/title_08.jpg
onLoadResource() url=http://railway.hinet.net/Images/title_bg.jpg
onPageFinished: url=http://railway.hinet.net/ccancel_rt.jsp?y7bRbP=VGpKrPbgTTsO9yRbWE8r.3PN0Bo5YqTE
onLoadResource() url=http://railway.hinet.net/4QbVtADbnLVIc/jW39ezbWPr.js?65MRT9vNU1rhU6TUrOf4kG=z_qkPe3KO5xVeYHXURGyC2YnDCN9LkApa6fFzTFwRKxB8rgzZVI1f9oOmXb5gCrR4wmBCuVwxLbgQMAgUDev1iZgpQCdspYd

But the result on 4.4 and later Chromium based webkit looks like:

V/attlog: url=http://railway.hinet.net/ccancel_rt.jsp
W/EGL_genymotion: eglSurfaceAttrib not implemented
E/OpenGLRenderer: Getting MAX_TEXTURE_SIZE from GradienCache
E/OpenGLRenderer: MAX_TEXTURE_SIZE: 16384
E/OpenGLRenderer: Getting MAX_TEXTURE_SIZE from Caches::initConstraints()
E/OpenGLRenderer: MAX_TEXTURE_SIZE: 16384
D/OpenGLRenderer: Enabling debug mode 0
W/AwContents: nativeOnDraw failed; clearing to background color.
W/AwContents: nativeOnDraw failed; clearing to background color.
I/chromium: [INFO:simple_index_file.cc(437)] Simple Cache Index is being restored from disk.
V/attlog: onPageStarted: url=http://railway.hinet.net/ccancel_rt.jsp
V/attlog: onLoadResource() url=http://railway.hinet.net/ccancel_rt.jsp
V/attlog: onPageFinished: url=http://railway.hinet.net/ccancel_rt.jsp
V/attlog: onLoadResource() url=http://railway.hinet.net/favicon.ico
I/chromium: [INFO:async_pixel_transfer_manager_android.cc(60)] Async pixel transfers not supported
E/chromium: [ERROR:gles2_cmd_decoder_autogen.h(1082)] [GroupMarkerNotSet(crbug.com/242999)!:884AB3B7]GL ERROR :GL_INVALID_OPERATION : GetIntegerv: <- error from previous GL command
I/chromium: [INFO:async_pixel_transfer_manager_android.cc(60)] Async pixel transfers not supported
E/chromium: [ERROR:gles2_cmd_decoder_autogen.h(1082)] [GroupMarkerNotSet(crbug.com/242999)!:4872B4B7]GL ERROR :GL_INVALID_OPERATION : GetIntegerv: <- error from previous GL command

Appreciate.

agudoe2
  • 171
  • 1
  • 4

1 Answers1

0

Try to set a WebChromeClient on your WebView, maybe it is a Javascript problem. As discussed here, without setting a WebChromeClient Javascript execution is not enabled: Enabling general JavaScript in WebViewClient

WV_test.setWebChromeClient(new WebChromeClient());
WV_test.loadUrl(...);

Does this change anything?

Community
  • 1
  • 1
A.D.
  • 1,412
  • 2
  • 19
  • 37