Android WebView JellyBean -> Should not happen: no rect-based-test nodes found

Ostkontentitan picture Ostkontentitan · Aug 23, 2012 · Viewed 22.4k times · Source

My application is using a lot of webviews which are lying in fragments which are hold by a ViewPager.

Whenever i swipe through the app on my Galaxy Nexus with Jellybean on it i get the following console message again and again:

08-23 13:44:03.374: E/webcoreglue(21690): Should not happen: no rect-based-test nodes found

Can anyone explain to me what is going wrong here so that i might be able to fix the issue?

Answer

John Reck picture John Reck · Apr 19, 2013

The issue occurs because in some scenarios WebView fails to notice that its visible rect has changed, so as far as webkit is concerned the page is still not visible. Thus all touches fall outside of the window, and get rejected.

The cleanest fix is when you know the visibility of your WebView has changed (such as in response to a setPrimaryItem callback from a viewpager), call webview.onScrollChanged(webview.getScrollX(), webview.getScrollY());

You will need to subclass the webview to promote the protected onScrollChanged to a public method.